code.talks

In der vergangenen Woche fand das alljährliche "Klassentreffen der deutschen Entwicklerszene", die code.talks Konferenz, statt. 1500 Teilnehmer, darunter auch Sebastian Bergmann und Arne Blankerts von thePHP.cc, waren nach Hamburg gekommen, um bei Nachos und Popcorn (es gab aber auch richtiges Essen) in einem Multiplex-Kino Erfahrung und Wissen zu teilen.


Photo by Viktor Vogel

Caching löst ein Architekturproblem an der falschen Stelle

Webseiten müssen schnell sein, denn die Bereitschaft, auf das Laden einer Webseite zu warten, sinkt stetig. Folglich zählt jede Millisekunde, wenn es darum geht, Absprünge zu vermeiden. Egal ob reale Ladezeiten, gefühlte Dauer des Seitenaufbaus oder das Reaktionsverhalten im Browser – es gibt viele Stellen, an denen im Client gemessen und regelmäßig optimiert wird. Tauchen Engpässe hingegen im Backend auf, gilt scheinbar vor allem eine Parole: exzessives Caching! Blöd nur, wenn sich Inhalte so häufig ändern, dass ein Caching praktisch wirkungslos ist.

In ihrem Vortrag "Die Performance steigern wir dann später durch Caching?" stellten Arne Blankerts und Sebastian Heuer, Lead Developer PHP bei der Globetrotter Ausrüstung GmbH, eine moderne Architektur für E-Commerce Anwendungen vor, die nicht nur ohne Caching auskommt sondern auch noch performanter ist als traditionelle Architekturen mit Caching. Die vorgestellte Architektur wurde von thePHP.cc erarbeitet, um bei Globetrotter ein vorhandenes Altsystem durch eine Eigenentwicklung abzulösen.

Arne Blankerts und Sebastian Heuer: Die Performance steigern wir dann später durch Caching?

Big Data ist kein Spielkram!

Katrin Stamme und Martin Holtschneider von freiheit.com zeigten in ihrem Vortrag "Messung und Analyse des Benutzerverhaltens in sehr großen Internet-Systemen zur Optimierung der User Experience" eindrucksvoll, dass Standard-Lösungen wie Google Analytics nicht ausreichen, um Software-Funktionalitäten und Bedienabläufe systematisch zu verbessern. Für die Optimierung der User-Experience und damit auch der Conversion- und Retention-Rates benötigt man Rohdaten, die einem keine Standard-Lösung zur Verfügung stellt. Richtig ausgewertet können diese Daten ein Bild davon vermitteln, wie Kunden beispielsweise eine E-Commerce Plattform nutzen.

Der Vortrag "Big Game Data – Skalierbare und fehlertolerante Event-Tracking-Architektur" von Volker Janz stellte die skalierbare und fehlertolerante Plattform vor, mit der InnoGames die täglich über 200.000.000 von ihren Spielen erzeugten Events speichert, verwaltet und auswertet. Diese Plattform basiert auf den Ideen der Lambda-Architektur und wurde mit den Technologien Kestrel (Message Queue) sowie Apache Storm (Realtime Computation) und Apache Hadoop (Distributed Computing) umgesetzt. Der Vortrag zeigte anschaulich, dass Big Data wahrlich kein Spielkram ist, wohl aber eine Spielwiese sein kann, um sich als Entwickler mit neuen, spannenden Technologien auszutoben.

Neue Wege in der Code-Analyse

In seinem Vortrag "Datengetriebene Analyse und Verbesserung von Code" hat Andreas Dewes von QuantifiedCode, einer Ausgründung der Ludwig-Maximilians-Universität München, einen datengetriebenen Ansatz zur Bewertung von Code-Qualität vorgestellt. Mit einem lernfähigen Algorithmus sollen entsprechende Werkzeuge einmal in der Lage sein, anhand von Code-Beispielen selbständig neue Fehlerklassen zu erlernen und anschließend im Code aufzudecken.

Auch wenn die Ansätze von QuantifiedCode bislang nur für Python-Code umgesetzt wurden, so fanden wir den Vortrag von Andreas Dewes dennoch sehr spannend. Die Idee, den abstrakten Syntaxbaum eines Programms in einer Graphendatenbank abzulegen und mit entsprechenden Algorithmen darauf zu arbeiten, sollte sich problemlos auch für PHP adaptieren lassen.

"Mit welchem Tool soll ich testen?" ist die falsche Frage

Soll ich meine Software besser als Ganzes mit End-to-End Tests testen oder doch lieber im Kleinen mit Unit Tests? Und welchen Ansatz soll ich verfolgen? Acceptance Test-Driven (ATDD)? Behavior-Driven Development (BDD)? Test-Driven Development (TDD)? Diese und andere Diskussionen rund um das Testen von Software führen Entwicklerinnen und Entwickler leider allzu oft nur aus der Werkzeugsicht und verlieren dabei den eigentlichen Entwicklungsprozess aus den Augen.

In seinem Vortrag "Eine kurze Geschichte der Testpraktiken" erklärte Sebastian Bergmann nicht nur die unterschiedlichen Ansätze wie ATDD, BDD und TDD sondern ging auch der Frage nach, wann und in welchem Kontext sie ursprünglich erfunden beziehungsweise wiedergefunden wurden. Den Teilnehmern vermittelte er dabei ein Verständnis für die gängigen Prozessbausteine rund um das Testen, damit sie den für sie passenden Prozess ebenso wählen können wie die Werkzeuge, mit dem sie den Prozess umsetzen.

Sebastian Bergmann: Eine kurze Geschichte der Testpraktiken

Fazit

Die code.talks Konferenz steht für alles, was eine Entwicklerkonferenz ausmacht: Themen und Trends der Webentwicklung, interessante Vorträge, hochkarätige Speaker und regen Austausch zwischen den Teilnehmern. Wir möchten uns an dieser Stelle herzlich bei Tarek Müller und Sebastian Betz sowie Sarah Fitzke für die gelungene Organisation der Konferenz bedanken. Wir freuen uns schon aufs nächste Mal!

Über die Autoren

Sebastian Bergmann
Sebastian Bergmann
Twitter LinkedIn Xing

Sebastian Bergmann ist ein international gefragter Experte, der als Schöpfer von PHPUnit wesentlich zur Professionalisierung der PHP-Community beigetragen hat.

Arne Blankerts
Arne Blankerts
Twitter LinkedIn Xing

Arne Blankerts schuf schon vor Jahren IT-Lösungen, die ihrer Zeit weit voraus waren. Er spürt Sicherheitslücken mit fast magischer Intuition auf.

Stefan Priebsch
Stefan Priebsch
Twitter LinkedIn Xing

Stefan Priebsch findet seit über 20 Jahren mit einer einzigartigen Mischung aus neuen Ideen und erprobten Ansätzen für jedes Problem eine zukunftsfähige Lösung.

Artikel teilen
Brno PHP Conference Joomla PHPUnit Code Sprint