Sat 10 May 2008
Wordpress wählt Nginx
Posted by Alrond | Tags: nginx :
Ich arbeite mit dem Web-Server Nginx schon mehr als seit drei Jahren, und bin sehr mit dem zufrieden. Ich werde alle seine Vorteile nicht aufzählen, es gibt genug Informationen im Internet. Im März hat die Anzahl der Web-Server, die Nginx verwenden 1 million überschritten.
Seit einiger Zeit haben ihn auch die grossen Unternehmen bemerkt, außer Rambler (da wird er von Igor Sysoev entwickelt und von der Firma selbst sehr aktiv verwendet), es sind solche wie Google und noch zwei Gesellschaften aus TOP100.
Vor kurzem hat auch Wordpress mitgeteilt, nun benutzt WP Nginx in eigenen Proxi-Server. Er ist der Einzige, der fähig ist 8000 Anfragen in die Sekunde zu bearbeiten. Nachdem ist die Belastung auf die Prozessoren deutlich gesunken, daran lässt sich nicht zweifeln :-)
Seit einiger Zeit haben ihn auch die grossen Unternehmen bemerkt, außer Rambler (da wird er von Igor Sysoev entwickelt und von der Firma selbst sehr aktiv verwendet), es sind solche wie Google und noch zwei Gesellschaften aus TOP100.
Vor kurzem hat auch Wordpress mitgeteilt, nun benutzt WP Nginx in eigenen Proxi-Server. Er ist der Einzige, der fähig ist 8000 Anfragen in die Sekunde zu bearbeiten. Nachdem ist die Belastung auf die Prozessoren deutlich gesunken, daran lässt sich nicht zweifeln :-)
Sat 3 May 2008
Trunk ist mit brunch Queryset-refactor ergänzt, der die Django-Modelle ganz einfach zu vererben lässt. Es ist längst bekannt. Die Vererbung ist aber keine einzelne Möglichkeit, es gäbe noch Monkey patching.
Die Idee ist, dass Monkey patching erlaubt genauso nicht nur die Felder, sondern auch die Funktionen hinzufügen.
Zum Beispiel, so wird das Modell User mit dem Feld OpenID ergänzt, dazu kommt noch die Funktion, die Nickname zurück gibt, falls es keinen Namen gab
keine weiteren Tabellen werden geschafft
man arbeitet mit dem Modell mit allen Django-Standardmittel
Die Idee ist, dass Monkey patching erlaubt genauso nicht nur die Felder, sondern auch die Funktionen hinzufügen.
Zum Beispiel, so wird das Modell User mit dem Feld OpenID ergänzt, dazu kommt noch die Funktion, die Nickname zurück gibt, falls es keinen Namen gab
from django.contrib.auth.models import User
User.add_to_class('openid', models.CharField(max_length=250,blank=True))
def get_user_name(self):
if self.first_name or self.last_name:
return self.first_name + " " + self.last_name
return self.username
User.add_to_class("get_user_name",get_user_name)
Die deutlichen Vorteile der Methode:keine weiteren Tabellen werden geschafft
man arbeitet mit dem Modell mit allen Django-Standardmittel
Wed 23 Apr 2008
Aufbewahrung in Django der Boolean-Zustände mit Hilfe der Bitmasken
Posted by Alrond | Tags: Django :
Für die Aufbewahrung der Zustände der Elementen werden manchmal die Bitmasken verwendet. Zum Beispiel, als Zustände - gelesener/ungelesener Kommentar zu einem Artikel für einzelnen Benutzer. Obwohl es für diesen konkreten Fall besser wäre, die Uhrzeit/das Datum des letzten Besuchs eines Artikels aufzubewahren, hier können aber auch andere Aufgaben aufkommen, in denen man sich die binären Angaben für die Elemente merken muss, die kein Datum enthalten.
Man kann die M2M-Verbindung zwischen einem User und Objekt verwenden. Ein großer Nachteil ist aber wesentliche Ressourcen für Index und die Einträgeanzahl, wenn es viele Benutzer und Beobachtungsobjekte gibt. Hier ist es sinnvoll die Bitmasken zu verwenden, sie haben keinen solchen Nachteil.
Man kann die M2M-Verbindung zwischen einem User und Objekt verwenden. Ein großer Nachteil ist aber wesentliche Ressourcen für Index und die Einträgeanzahl, wenn es viele Benutzer und Beobachtungsobjekte gibt. Hier ist es sinnvoll die Bitmasken zu verwenden, sie haben keinen solchen Nachteil.
Sat 23 Feb 2008
Jared Kuolt hat den StaticGenerator für Django - ein Cache-Script geschafft. Es ist kompakt und einfach zu bedienen. Das Skript aber und die von Jared gezeigte nginx-Konfiguration haben ein paar Nachteile:
1) aktuell nur für die Websites ohne Registrierung;
2) geeignet für die Arbeit mit nur einfachen Links;
3) Generierung ist nur bei der Veränderung/Ergänzung des Kontents und/oder der Kommentare.
Ich habe dies korrigiert, noch etwas zugefügt, daraus ist StaticGenerator Pro gekommen.
1) aktuell nur für die Websites ohne Registrierung;
2) geeignet für die Arbeit mit nur einfachen Links;
3) Generierung ist nur bei der Veränderung/Ergänzung des Kontents und/oder der Kommentare.
Ich habe dies korrigiert, noch etwas zugefügt, daraus ist StaticGenerator Pro gekommen.
Sun 10 Feb 2008
Ein kleiner Artikel darüber, wie kann man auf die Daten direkt, ohne Anfrage zum Web Server, zugreifen z.B. für das Bekommen und Aktualisierung der Daten per cron.
English
Deutsch

