PHPGangsta - Der praktische PHP Blog

PHP Blog von PHPGangsta


Tag 1 in Amsterdam: Dutch PHP Conference 2012!

with one comment

4:30 Uhr, eine absolut unchristliche Zeit, aber was tut man nicht alles für eine Reise zu einer Konferenz! Zum ersten Mal bin ich auf der Dutch PHP Conference in Amsterdam und freue mich schon sehr darauf wieder in die Niederlande zu fahren, wenn es keinen Stau gibt dürfte ich gegen 8 Uhr dort sein.

Kurz nach 8 angekommen scheine ich der erste zu sein, die große Empfangshalle mit den vielen roten Stehtischen ist komplett leer, ich muss warten bis die Empfangsdamen die Badges aufgebaut haben und ich mich offiziell einbuchen kann. Das WiFi läuft bereits, ca. 16Mbit up&down versprechen schnelles Internet, mal abwarten was passiert wenn sich hier einige hundert Leute mit ihren mobilen Geräten eingewählt haben.

Nun sitze ich hier an einem der Tische, trinke Tee, schreibe ein paar Sätze und schaue mir nochmal das heutige Programm an, vielleicht ändere ich ja doch noch meinen Session-Plan? Da sitze ich einige Minuten und schon sehe ich einige bekannte Gesichter. @bergelmir setzt sich zu mir, ich sehe @lornajane, @weierophinney, @auroraeosrose.

Die offizielle Konferenz beginnt mit einer kurzen Eröffnung mit sehr cool gemachtem Stop-Motion-Video sowie einem Überblick des Tages, Hashtags die zu nutzen sind, und kurzer Vorstellung des Social-Events am Abend.

DPC & DMC Opening 2012 from Ibuildings on Vimeo.

Wenige Minuten später steht Douglas Crockford auf der Bühne, der Javascript-Veteran hat einige nette Schoten über Javascript auf Lager und beschreibt das Programmieren mit Kopf und Bauchgefühl. Auf einige der wichtigen und richtigen Bemerkungen wird im Laufe des Tages immer wieder verwiesen, und Douglas versteht es das Programmieren als schwierigste Handwerksdisziplin darzustellen die (noch) keine künstliche Intelligenz auch nur im Ansatz für uns erledigen kann. Der zweite Teil des Vortrags beschäftigt sich eher mit dem Thema Code-Style. Ob geschweifte Klammern an das Ende der Zeile gehören oder in eine neue Zeile ist eigentlich total egal, außer man erwischt einen Sonderfall bei dem die Klammer in einer neuen Zeile ein nicht erwartetes Verhalten provoziert. Wichtig ist bei Style dass er konsistent ist, denn Code wird hauptsächlich für Menschen geschrieben, ansonsten könnten wir auch ohne Punkt und Komma schreiben, Computer könnten das lesen, aber wartbar wäre das nicht. Sehr gelungener allgemeiner lustiger Einstieg in die Konferenz.

Die erste Session verschlägt mich zu Elizabeth M. Smith mit dem Thema „SPL in the Wild“. Elizabeth zeigt die wichtigsten Teile der Standard PHP Library (SPL), darunter natürlich die verschiedenen Exceptions und Iteratoren, aber auch die Autoloading-Funktionen, die File-Objekte (u.a. SplFileInfo), wichtige Interfaces wie ArrayAccess, Countable, Traversable usw. Gegen Ende kommt sie noch auf die Datenstrukturen zu sprechen wie SplHeap, DoublyLinkedLIst, SplQueue und SplStack. Bei Performance-Problemen beim verwalten von großen Datenmengen mag die Nutzung hier und da einige an Performance bringen, sie sind aber kein Allheilmittel. Das interessante an dem Talk ist dass zu jedem Feature der SPL immer auch ein Link zu GitHub enthalten ist wo man sehen kann wie es „in the wild“ genutzt wird.

Der zweite Talk den ich mir anschaue ist von Matthew Weier O’Phinney: Designing Beautiful Software. Matthew zeigt anhand eines einfachen Beispiels, nämlich dem Versand einer E-Mail, wie man von ein paar unflexiblen Zeilen Code mit einem fixen mail() Aufruf zu einer schönen, flexiblen aber trotzdem noch einfachen Umsetzung kommt, die stark an die Mail-Klassen des Zend-Frameworks erinnern, mit Headern und Transports. Da der Code in vielen kleinen Schritten verbessert wurde und immer wieder kleine Probleme gelöst wurden sieht man wie man zu „schönem“ Code gelangt, der wartbar und flexibel ist.

Nach dem Mittagessen, das aus Hotdogs und leckeren belegten Brötchen bestand, setzte ich mich in die Zend Framework 2 Einführung von Enrico Zimuel. Ich bin mir nicht sicher ob ich nicht hätte etwas anderes hätte schauen können, denn das meiste war mir dann doch schon bekannt, nur wenige Dinge die sich in Beta3 und Beta4 noch geändert hatten waren mir neu. Aber nichtsdestotrotz war es gut da nochmal einen Überblick zu bekommen, denn „Ende des Sommers“ soll es einen ersten Release-Kandidaten geben, sodass Anfang nächsten Jahres mit der Version 2 gerechnet werden kann, und da werden wir es brauchen, neue Projekte damit umsetzen und bestehende Projekte migrieren.

Über „The API Dilemma“ berichtete Chris Cornutt. Bei der Planung und Umsetzung einer API gibt es viele Dinge zu beachten, darunter natürlich Konsistenz, funktionierende Features, und vor allem auf das Feedback der User zu hören. Chris ist sich auch sicher dass APIs noch wichtiger werden als sie es eh bereits sind, immer mehr Mashups entstehen, Dienste werden von Drittanbietern eingebunden und genutzt, und ohne API wird man in Zukunft kein großes Projekt mehr auf den Markt bringen können, andere Entwickler erwarten dass die Daten zur Verfügung stehen. Man merkte dass Chris nur an der Oberfläche kratzen konnte, denn Dinge wie Versionierung, Authentifizierung oder Rate Limiting kamen nur mit einem Stichwort vor, darüber hätte ich gern mehr erfahren. Wohl das wichtigste ist es mit den leichten wichtigen Dingen anzufangen und dann weiterzuentwickeln, auf Feedback hören und nicht von Anfang an die eierlegende Wollmilchsau erstellen zu wollen. Wichtig ist es die API konsistent zu halten, nichts ärgert andere Entwickler mehr als sich dauernd ändernde Aufrufe mit eventuell dazu kommenden fehlenden oder wenig aussagekräftigen Fehlermeldungen. Man muss sich bei der Planung gut in die Nutzer der API reinversetzen können, von Anfang an die Performance beobachten und sehr gut planen, dauernd alles zu ändern oder zu komplizierte Aufrufe bereitzustellen vergrault die Entwickler, und die kommen evtl. nicht wieder.

In der kurzen Kaffeepause gab es Popcorn, yay!

Ross Tuck hat mich mit seinem Vortrag zu Redis sehr inspiriert mir diese NoSQL-Datenbank doch näher anzuschauen, sie hat einige sehr coole Features, bald serverseitiges Scripting via LUA, und soll nur sehr wenig Performance-Einbußen gegenüber Memcached beinhalten, sodass er empfiehlt beim nächsten Mal Redis statt Memcached zu benutzen wenn es um einen Cache oder einen Session-Storage geht, denn wenn man dann Redis laufen hat wird man sehr schnell andere Aufgaben finden die Redis sehr gut erledigen kann. Vor allem werde ich mich mal einlesen in die Clusterfähigkeit und die Persistenz, die nur in einem Nebensatz genannt wurden, aber heutzutage je nach Aufgabe wichtig sind. Auf jeden Fall ein gelungener Einstieg in das Thema!

Mit dem Thema „Scalability issues: cure first, prevent later“ von Thijs Feryn endete der erste Tag. Thijs berichtete aus dem Alltagsgeschäft eines Hosters, Best Practices um kurzfristig Probleme zu beheben wie sie entstehen wenn plätzlich eine Plattform überrannt wird und man wenigstens 50% der Nutzer bedienen möchte statt komplett offline zu sein. Themen die angesprochen wurden waren Caching mittels verschiedenster Techniken (APC, Varnish/nginx, Memcached), horizontales und vertikales Skalieren und einige Lebensretter-20-Zeilen-Skripte für den Notfall. Vor allem ging es darum ein brennendes System schnell zu retten, sprich kurzfristige Helfer, mehr Hardware auf das Problem werden, und dann langfristig über andere Architekturen bzw. eventuell ein Rewrite nachzudenken wenn Zeit+Geld da sind.

Das war der erste Tag, freue mich schon sehr auf den zweiten!

Written by Michael Kliewe

Juni 9th, 2012 at 7:26 am

One Response to 'Tag 1 in Amsterdam: Dutch PHP Conference 2012!'

Subscribe to comments with RSS or TrackBack to 'Tag 1 in Amsterdam: Dutch PHP Conference 2012!'.

  1. […] – Der praktische PHP Blog Präsentationen der Dutch PHP Conference 2012without commentsWie ihr ja schon gelesen habt war ich dieses Jahr zum ersten Mal auf der Dutch PHP Conference. Für alle die nicht dabei […]

Leave a Reply

You can add images to your comment by clicking here.