Artikel mit Tag webentwicklung
mit einigen, wirklich schönen neuen Features. Etwa zf für das schnelle erstellen von neuen Anwendungen:
../bin/zf.sh create project test
Creating project at /home/joern/ZendFramework-1.8.1/test/test
Und fertig ist ein komplettes Gerüst. Und zf kann auch actions etc. erstellen.
Einziges Manko:
Notice: Zend_Loader::Zend_Loader::registerAutoload is deprecated
as of 1.8.0 and will be removed with 2.0.0; use Zend_Loader_Autoloader
instead in...
Man kann nicht einfach so updaten, sondern muss im Code
require_once "Zend/Loader.php";
Zend_Loader::registerAutoload();
durch
require_once 'Zend/Loader/Autoloader.php';
$loader = Zend_Loader_Autoloader::getInstance();
$loader->setFallbackAutoloader(true);
ersetzen. Dann "läuft" auch bei älteren Projekten alles.
"Neue Zend Framework Version" vollständig lesen
Eigentlich ist es ja eine tolle Sache, Webseiten komprimiert auszuliefern. Eigentlich. Scheinbar gibt es allerdings im IE 6 einen Bug, der nur dann auftritt, wenn man Sessions unter PHP nutzt. Es wird nur eine weiße Seite angezeigt. Drück man Reload ist alles gut, die Seite wird korrekt angezeigt. Der Fehler scheint nicht immer aufzutreten und kann (IE
) dadurch behoben werden, dass man mod_deflate für dieses Verzeichnis per .htaccess deaktiviert:
SetEnv no-gzip
"Kompression für ein Verzeichnis ausschalten" vollständig lesen
"Komprimiert?" vollständig lesen
"Framework" vollständig lesen
YSlow (geniales Tool, eine Erweiterung zu Firebug welches ebenso genial ist) bemängelte die fehlende gzip-Komprimierung (Content wird vor dem Ausliefern vom Webserver komprimiert und vom Browser entpackt) und fehlende Angaben, wie lange einzelne Inhalte vom Browser gecacht werden dürfen.
Abhilfe: mod_deflate und mod_expires:
mod_expires wird, wie beim Apachen üblich mittels a2enmod expires aktiviert. Die (globale) Konfiguration liegt bei mir unter /etc/apache2/mods-enabled/expires.conf. Dort kann für jeden Dateitypen eingestellt werden, wie lange er zwischengespeichert werden darf (in Minuten, Stunden, Tagen, Wochen usw. und nach dem letzten Laden oder der letzen Veränderung):
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType text/html "access plus 2 houres "
ExpiresByType text/xml "access plus 2 houres"
ExpiresByType image/gif "access plus 3 weeks"
ExpiresByType image/jpg "access plus 2 weeks"
ExpiresByType image/png "access plus 3 weeks"
ExpiresByType video/quicktime "access plus 2 months"
ExpiresByType audio/mpeg "access plus 2 months"
ExpiresByType application/pdf "access plus 2 weeks"
ExpiresByType application/ps "access plus 2 weeks"
ExpiresByType application/xml "modification plus 2 weeks"
</IfModule>
mod_deflate wird analog mittels a2enmod deflate aktiert. Die Konfiguration (/etc/apache2/mods-enabled/deflate.conf) ist von aptgetupdate.de übernommen, ausser dass bei mir keine jpegs kompriert werden - das bringt hier nix und erzeugt nur mehr CPU Last:
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css application/x-javascript image/gif
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678]no-gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html
DeflateCompressionLevel 5
SetEnvIf User-Agent “.*MSIE.*” nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0
</IfModule>
Am Ende nicht vergessen apache die neue Konfiguration einlesen zu lassen: /etc/init.d/apache2 force-reload
"Schneller durch mod_deflate und mod_expires" vollständig lesen
Schön automatisch mit ImageMagick mit diesem Befehl:
EINGABEBILD.JPG und AUSGABEDATEI.jpg sollten sich selbst erklären, als Hintergrundfarbe wird #F0F0F0 verwendet, Größe des Bildes ist 811X138 Pixel.convert -size 811x138 xc:none -fill white -draw "roundRectangle 0,0 811,138 40,40" EINGABEBILD.JPG -shave 17%x17% -resize 811x811 -compose srcin -composite -size 811x138 xc:"#F0F0F0" -compose dst-over -composite AUSGABEDATEI.jpg
"Runde Ecken für Bilder" vollständig lesen
header ("Content-Type: image/jpeg");
header ("Content-Length: ".$filesize);
header ("Cache-control: max-age=90");
Mehr Informationen zu den http Headern im RFC 2616 und kurz Zusammengefasst hier. Headersniffer zum ansehen der Header gibts hier und dort.
"HTTP-Header" vollständig lesen
"PHP-Link" vollständig lesen

Mit RailRoad lassen sich Klassen- und Modelldiagramme einfach und schnell erstellen. RailRoad wird mittels
gem install railroad
installieren. Danach wird es einfach im Verzeichnis der Rails-Anwendung aufgerufen.
Das Diagramm für die Modelle wird erstellt durch:
railroad -i -l -a -m -M | dot -Tsvg | sed 's/font-size:14.00/font-size:11.00/g' > doc/models.svg
für das Klassendiagramm:
railroad -i -l -C | neato -Tsvg | sed 's/font-size:14.00/font-size:11.00/g' > doc/controllers.svg
"Automagische Klassendiagramme für Ruby" vollständig lesen
"Grün und Blau " vollständig lesen









