Archive for the ‘PHP’ Category
International PHP Conference 2011: Tag 3
Der schon letzte Tag der International PHP Conference bricht an. Direkt der erste Slot um 9:00 Uhr war ein lang erwarteter: Nachdem ich den Vortrag auf der Unconference in Hamburg nicht gesehen habe ging mein erster Weg zu Nils Langner und Mike Lohmann und ihrem Vortrag „Redaktionelle Hochlastwebseiten am Beispiel von stern.de“. Vor allem die Zahlen waren für mich interessant, die eingesetzten Caching-Techniken (HTTP Accelerator, Bytecode Cache, Memcached) und Auswirkungen waren bereits gut bekannt. Edge Side Includes (ESI) könnte man sich mal im Detail noch näher anschauen, mit seinen Vor- und Nachteilen, Nils hatte ja bereits ein wenig dazu in seinem Blog angerissen, aber eigene Praxis ist immer besser als Theorie. Fazit: Auch Gruner kocht nur mit Wasser, gelungener Vortrag!
In seinem Talk „This Way or the other Way?“ ist Stefan Priebsch auf A/B Testing bzw. Multivarianten Tests eingegangen, der neue Begriff „Experiment Driven Development“ kommt langsam ans Tageslicht. Mit Codebeispielen (die er noch hochladen wollte 😉 ) wurde gezeigt wie man Experimente einbauen, definieren, aktivieren und auswerten könnte. Ob eine Änderung bzw. ein neues Features gut oder schlecht ankommt kann man nur in der Praxis bei den Usern herausfinden, das kann niemand voraussagen. Deshalb schaltet man neue Experimente für eine Untermenge der Benutzerschaft frei und schaut sich an was passiert. Ein Experiment ist in diesem Fall nur eine oder ein Satz von ausgetauschten Klassen mit den neuen Funktionalitäten. Der User sollte dann natürlich beim nächsten Request immer noch dieses Experiment sehen, man muss sich also mindestens in der Session merken wie die Konstellation für den User aussieht.
International PHP Conference 2011: Tag 2
Tag 2 der IPC. Diesmal ausgeschlafener und nach einem guten Frühstück im Hotel begann die Konferenz mit der Keynote „A cloudy blue-sky Brainstorm“ von Michiel de Jong. Eigentlich sollte der Begriff „Cloud“ ein wenig beleuchtet werden, aber ich fand es war eher eine Hommage auf diverse Open-Source-Produkte und -Firmen, für mich nicht wirklich hilfreich und eher uninteressant, schade.
Etwas besser war die erste Session „Web Performance – Test und Analyse automatisieren“, in der Klaus Enzenhofer über die dynatrace Ajax Edition gesprochen hat. Er hat gezeigt wie man funktionale Tests mit JUnit erstellt, mit dynatrace Performance-Daten im Browser erhebt und dann über die Zeit automatisiert Veränderungen in den Performancewerten bemerken kann. Leider funktioniert es nur unter Windows und hat noch einige andere Macken, von denen einige in der kommerziellen Version behoben sind. Insgesamt interessant gehört zu haben, wird aber bei mir/uns wohl nicht zum Einsatz kommen.
International PHP Conference 2011: Tag 1
Es gibt nicht viele Tage im Jahr wo ich so früh aufstehe wie heute: 4:30 Uhr (Nachts!). Aber heute ist der erste reguläre Tag der International PHP Conference 2011 (IPC11) wenn man vom Workshop-Tag am Sonntag absieht, und dafür stehe ich auch nach 3 Stunden Schlaf wieder auf.
Trotz vieler Baustellen auf den 300km Strecke bis nach Mainz bin ich 8:50 Uhr an der Rheingoldhalle und kann einchecken. Kurz darauf beginnt bereits die Opening-Keynote. Die erste Session ist für mich „Client Security im Web 2.0 und mit HTML5“, vorgetragen von Carsten Eilers, einem Consultant, Trainer und Autor spezialisiert auf IT-Sicherheit. Im Talk geht es um Probleme mit dem Local Storage, Session Storage, Clickjacking, Buttonjacking, Framebuster, und natürlich am Rande um XSS und CSRF. Insgesamt eine solide Session mit einigen neuen Sicherheitsproblemen über die ich noch nicht nachgedacht habe. Bin ja auch eigentlich kein Frontendler 😉
Linkpool Nummer 23
Dinge die man mit curl machen kann:
PHP 5.4 Traits:
Interessante „open-source cloud storage and filesharing application“:
Gute Artikelserie, die den Umstieg von Apache auf nginx beschreibt:
APC Statistiken und Monitoring Script für Nagios:
Security Audit Ergebnisse von Symfony 2:
Ein Brainfuck-Interpreter in PHP:
PHPs Interaktive Shell
Um mal eben schnell eine kurzes Snippet auszuprobieren gibt es mehrere Möglichkeiten, die wohl geläufigste ist eine neue PHP-Datei anzulegen im Document Root, sie mit seiner IDE oder zur Not auch Notepad/Textedit/vi zu öffnen und die Zeilen zu schreiben, abzuspeichern, den Browser öffnen und die URL eintippen, dann sollte man das Ergebnis sehen.
Nehmen wir an wir wollen testen was der zweite Parameter von md5() so hergibt. Der Inhalt der Datei ist also
<? var_dump(md5('Michael Kliewe')); var_dump(md5('Michael Kliewe', true));
Im Browser sieht man dann die Ausgabe:
string(32) "e10492e362d887c6c00c12d17ca209b5" string(16) "XXXJEDEMENGEKOMISCHEBYTESXXX"
Einfacher ist jedoch die Verwendung der Kommandozeile. Die Datei wird nach wie vor mit dem Editor erstellt, da es nur ein Test ist legt man sie wahrscheinlich unter /tmp/ ab und ruft sie auf:
php /tmp/test01.php
Ausgabe:
string(32) "e10492e362d887c6c00c12d17ca209b5" string(16) "XXXXXX XXXJEDEMENGEKOMISCHEBYTESXXX"
Noch einfacher und schneller geht es mit dem „run“ Parameter (-r), dann kommt man komplett ohne Datei aus: