PHPGangsta - Der praktische PHP Blog

PHP Blog von PHPGangsta


Die IPC geht zu Ende: Der letzte Tag

with 3 comments

Nach 6 Stunden Schlaf klingelte der Wecker, schnell aus den Federn, Sachen packen und im Auto verstauen. Das Frühstück noch mitnehmen und dann wieder via Bus, Bahn und Fußweg Richtung Konferenz.

Dort angekommen direkt in den Talk über Doctrine 2, da mir CSS/CSRF bereits bekannt waren. Der Talk soll allerdings auch sehr interessant gewesen sein, ich weiß noch nicht ob das aufgezeichnet wurde oder ob es Slides gibt.

Doctrine jedenfalls wurde erstaunlich tiefgreifend vorgestellt, mit vielen Codebeispielen und Vorteilen gegenüber Version 1.x . Aktuell benutze ich immer Zend_Db_Table wenn es um den Datenbankzugriff geht, aber man hört ja immer mehr von Doctrine und Propel, sodass da vielleicht bald ein Umstieg ansteht. Etwas skeptisch bin ich jedoch, denn am Vorabend erklärte sich Kris Köhntopp als Gegner von ORM: Zuviel Overhead und zu wenig Kontrolle. Ich weiß noch nicht, spätestens wenn Doctrine in das Zend Framework integriert werd ich mir es im Detail anschauen. Ich habe meistens nicht so komplexe Datenbankstrukturen als dass sich ORM lohnen würde, ist jedenfalls mein aktueller Stand.

Da ich Fabien Potencier mal live sehen wollte habe ich mir die Session über Dependency Injection (DI) angeschaut. Leider waren die Folien bereits bekannt da sie seit 2 Monaten exakt so bei Slideshare stehen, aber als Auffrischung von DI und DI Containern nicht schlecht, hätte ich mir aber auch sparen und einen der anderen Talks anschauen können.

Vor dem Mittagessen kam der gestern bereits angesprochene Talk von Ulf Wendel über mysqlnd-Plugins. mysqlnd ist seit PHP 5.3 mit dabei als Ersatz für libmysql und bietet die Möglichkeit, Hooks für nahezu alle Funktionen zu erstellen und so beispielsweise die query() Funktion von mysql, mysqli oder pdo_mysql abzufangen und beliebige Dinge damit anzustellen. Da wir uns auf der C-Ebene befinden wird aktuell eine Möglichkeit gesucht, mittels einer weiteren PHP-Extension diese Hooks auf die PHP-Ebene zu heben, sodass man dann Plugins in PHP schreiben kann. Damit wären dann Monitoring-Plugins, Auditing-Plugins, Loadbalancing, Caching etc. auf dieser Ebene möglich, völlig transparent zu den PHP-Applikationen (WordPress, phpbb usw.). Das könnte toll werden, mal abwarten ob jemand eine solche Extension baut.

Über die anschließende Keynote will ich nicht soviel sagen, es war aus meiner Sicht (und bei Twitter konnte man ähnliche Meinungen auch von anderen verfolgen) an der Realität vorbei und sehr überspitzt. Es wurde ausführlich über die großen Probleme zwischen Designern und Programmierern gesprochen, häufig wäre da „das neue Medium Internet“ noch nicht ganz verstanden und es würde versucht, Print-Design ins Web zu bringen. Die Designer würden auf eine pixelgenaue Darstellung im Web bestehen, die Programmierer sehen eher den Workflow und die Muster dahinter, und das würde alles nicht klappen und häufig den Respekt voreinander zerstören.

Ich weiß ja nicht, das mag in alten Verlagshäusern noch der Fall sein, aber ich gehe davon aus dass in Firmen, die im Internet angekommen sind, diese „Probleme“ mittels Kommunikation und speziell für das Web erstellten Designs behoben haben. Dieser Panel-Talk war jedenfalls überflüssig in meinen Augen.

Nach dem wieder sehr leckeren Mittagessen ging es in den Endspurt. PHP 5.3 wurde unter die Lupe genommen, und nach einer kurzen Übersicht der Neuerungen wurde das Thema Lambdas/Closures/AOP ordentlich beleuchtet. Anhand von Praxisbeispielen aus dem Lithium-Framework (früher CakePHP) wurde schön gezeigt, wie elegant und flexibel man damit programmieren kann, zum Beispiel Hooks, Filter, Pre- und Postprozessor-Funktionen etc. Die Syntax ist gewöhnungsbedürftig, wer aber in Javascript bereits etwas größere Dinge gemacht hat erkennt die Vorgehensweise sofort wieder.

In die Top 5 hat es bei mir auch die Session über Realtime-Communication geschafft. Hier wurden die verschiedenen Techniken vorgestellt, wie man dem User neue Informationen anzeigen kann mit möglichst wenig Traffic und Ressourcenverbrauch auf dem Server. Verglichen wurden Refresh, Short-Polling, Long-Polling und Websockets. Natürlich haben die Websockets gewonnen, im Beispiel mit einer 1000-fach höheren Traffic-Effizienz als die Refresh-Methode, von Echtzeitvorteilen gar nicht zu sprechen. Wir können alle nur hoffen dass die Verbreitung bald stark ansteigt, sodass es sich lohnt sie zu nutzen. Aber leider müssen wir auch immer noch eine Fallback-Methode implementieren (meistens dann Long Polling: node.js, Comet etc.), denn Altlasten im Browserbereich zwingen uns dazu, um keine User auszusperren. Auch über dieses Thema gibt es auf jeden Fall noch einige Blogartikel.

Ich sammle gerade alle Präsentationen und öffentlich zugänglichen Materialien, sodass diejenigen die nicht da sein konnten, die für sie interessanten Dinge nachlesen können.

Die Konferenz ist vorbei, ich möchte mich bei den Veranstaltern, den Speakern und Mitbesuchern bedanken, waren tolle 3 Tage mit interessanten Informationen und Kontakten. Ein großes Dankeschön natürlich auch an meinen Chef Fabian, der das alles möglich gemacht hat. Ich freue mich schon sehr auf die PHP Unconf Hamburg im September!

Written by Michael Kliewe

Juni 3rd, 2010 at 1:20 pm

3 Responses to 'Die IPC geht zu Ende: Der letzte Tag'

Subscribe to comments with RSS or TrackBack to 'Die IPC geht zu Ende: Der letzte Tag'.

  1. Bzgl. der CSS/CSRF-Slides ist es bei der IPC immer so, dass Du einige Zeit nach der Konferenz immer sämtliche Präsentationen auf CD zugeschickt bekommst.

    Eruvaer

    3 Jun 10 at 13:51

  2. „Ich weiß ja nicht, das mag in alten Verlagshäusern noch der Fall sein, aber ich gehe davon aus dass in Firmen, die im Internet angekommen sind, diese “Probleme” mittels Kommunikation und speziell für das Web erstellten Designs behoben haben.“

    Ich arbeite für eine (kleine) Print-/Web-Agentur, und ich zumindest kann nicht behaupten, dass das der Fall ist. Egal wie oft ich da schon die Vorteile von fluiden Layouts gepredigt habe und egal wie oft die Designer zugestimmt haben, dass das alles ja viel mehr Sinn machen würde, am Ende kommt doch immer wieder ein „Und hier will ich drei Blöcke á 400, 200 und 200 Pixel haben“.

    Da hilft kein argumentieren, wenn die Designer es so haben wollen dann wollen sie es so haben – was mit dran liegt, dass der Chef selber einer ist, und wenn der Papa das so sagt, dann wird das so gemacht.

    Ich kann die Grundlage der Diskussion also durchaus verstehen…

    m.a.

    5 Jun 10 at 21:59

  3. Bei der Sache Print contra Web ging es ja auch um das spezielle Beispiel der Situation bei 1&1, das war nicht generell gemeint.

    tofuwurst

    7 Jun 10 at 16:23

Leave a Reply

You can add images to your comment by clicking here.