Berlin 25.-27. Oktober 2017
German flag

 

Konferenztag: 27. Oktober 2017

 

Zeit

Track 1

Track 2

10:00
10:30

Kaffeepause

12:15
14:00

Mittagspause

15:45
16:15

Kaffeepause

18:00
18:15

Ende & Ankündigungen

18:15
19:15

After Conference Drinks

ab 19:15

Keynote - Using Open Source for Fun and Profit (Englisch)

Gary Hockin

10 years ago I was a lonely developer sitting in a small room quietly turning out code between 9am and 5pm, Monday to Friday. Fast-forward to now and you'll see me standing in front of audiences all around the world talking to developers about numerous topics."Why are you bragging like that at me?" I hear you ask. Because it could happen to you too.

The question I always ask myself is "How the hell did that happen?!?!".

The truth is that the only reason I've managed to advance my career so far in a decade is because of the people that make up the communities of open source projects. Not only do open source projects save you time and money, but the friendships and support groups that can be made within these communities is, frankly, staggering.

Join me as I chart my journey from daily grind to conference speaker, and look at how you can leverage the power of open source to make real friends, real money, and real happiness.

Symfony Dependency Injection in 2017 (Deutsch)

Alexander Turek

Die Dependency-Injection-Komponente hat in Symfony 3.3 eine bemerkenswerte Überarbeitung erfahren. Insbesondere die Funktionalitäten Autowiring und Service Discovery über PSR-4 sorgen dafür, dass unsere Service-Konfigurationen auf das wesentliche eingedampft werden können. Ein ehemaliger Autowiring-Skeptiker erklärt, wie er missioniert wurde.

CQRS und Event Sourcing Basics (Deutsch)

Alexander Miertsch

Moderne Web-Applikationen und Microservices in der Cloud stellen hohe Anforderungen an Entwickler und Systemarchitekten. CQRS und Event Sourcing helfen dabei die Komplexität verteilter Softwaresysteme zu meistern. Der Talk zeigt, wie PHP Entwickler mittels asynchroner Service-Kommunikation, klarer Kontextgrenzen und Domain-Driven Design robuste Applikationen mit einem hohen Business-Value entwickeln können, die skalierbar und leicht erweiterbar sind. Die prooph components bieten dafür die richtigen Werkzeuge und zusammen mit dem Symfony-Framework bilden sie ein perfektes Team.

Domain-Specific Assertions (Deutsch)

Sebastian Bergmann

Eine gemeinsame Sprache, die sowohl von den technischen, als auch von nicht-technischen Stakeholdern verstanden wird, ist unverzichtbar für die effektive Kommunikation in einem Software Projekt. Wenn man Ansätze aus dem Domain Driven Design und Test Driven Development kombiniert, kann diese "Ubiquitous Language" nicht nur im Businesscode, sondern auch in den Tests zur Anwendung kommen.

In diesem Vortrag wird vermittelt, wie man Tests erstellt, die einfach zu schreiben und schnell auszuführen sind, und die zuverlässige Ergebnisse liefern. Das Publikum lernt, wie man eigene, angepasste Assertions implementiert, welche die Ubiquitous Language des Projektes verwenden.

Build, provision & deploy in the Cloud with Packer, Ansible & Terraform (Englisch)

Thijs Feryn

In a continuous integration and continuous delivery context, it is hard to reliably deploy code to an environment. When code commits also imply changes to your stack, it gets even more tricky. In this presentation I'll show you how to build vendor-agnostic cloud images using Packer and how to provision the necessary software dependencies using Ansible, including your Symfony application. Once the image is in place, we'll use Terraform to deploy these images and create loadbalanced computing instances on various cloud environments in a single configuration format.

Symfony Flex in Action (Deutsch)

Christian Flothmann & Christopher Hertel

Symfony Flex ist der neue heiße Scheiß in der Symfony Welt und ändert die Art und Weise wie Anwendungen gebaut werden. Als Entwickler muss ich mich jetzt genauer mit meinen Abhängigkeiten auseinander setzen, kann diese aber auch besser auf meine Anwendung abstimmen. Wir haben Symfony bei dem Schritt in die neue Flex-Epoche begleitet und zeigen Euch an einem konkreten Beispiel wie Anwendungsentwicklung jetzt aussehen kann.

Volltextsuche in Theorie und Praxis (Deutsch)

Philipp Krenn

Von aktuellen Anwendungen wird erwartet, dass sie eine leistungsstarke Volltextsuche zur Verfügung stellen. Doch wie funktioniert Suche überhaupt und wie integriere ich sie in meine Webseite oder Applikation? So schwierig ist das gar nicht und der Vortrag gliedert sich dafür in drei Teile:

  • Wie Volltextsuche generell funktioniert und was die Unterschiede zu Datenbanken sind.
  • Wie der Score beziehungsweise die Qualität von Suchresultaten berechnet wird.
  • Wie Indizierung und Abfrage verschiedener Sprachen, die Suche nach Terms und Phrasen, boolsche Queries, Suggestions, Ngrams und mehr mit Elasticsearch funktionieren.

Wir probieren sämtliche Queries live aus und sehen uns an, welche Möglichkeiten dir für deinen Anwendungsfall zur Verfügung stehen.

Monitoring und Metriken im Wunderland (Deutsch)

Paul Seiffert & Dennis Benkert

Bei Jimdo sammeln wir jede Menge Metriken über alle Teile unseres Systems. Dabei fallen Daten auf allen Ebenen des Systems an: Infrastruktur, System und Applikation. Wichtig ist, dass alle Entwickler zu jedem Zeitpunkt Einblick in die Echtzeit-Metriken ihrer Services nehmen können. Um das zu garantieren, haben wir uns einige Zeit mit der Integration von Prometheus in unsere Systeme beschäftigt.

In unserem Talk werden wir sowohl über den Betrieb von Prometheus als auch über die Integrationen mit dem Rest der Jimdo-Plattform sprechen. Wir werden von Stolpersteinen und Tricks berichten, die wir gelernt haben, sowie einen Einblick in unserer Tool-Landschaft geben.

Praktische Anwendung des Specification Pattern mit Doctrine (Deutsch)

Matthias Pigulla

Aus Performancegründen ist es beim Einsatz von Doctrine oft notwendig, sich die einzelnen Use Cases der Anwendung näher anzuschauen und darauf optimiertes DQL zu schreiben. Das führt schnell zu großen Repository-Klassen. Oft enthalten sie für bestimmte Details auch duplizierten Code, und so ist schon bald nicht mehr klar, welche Methode eigentlich wofür genau gedacht war. Wenn sich dann noch die Anforderungen mit Auswirkung auf das DQL ändern, geht der Überblick komplett verloren und Business Rules werden nicht mehr konsistent angewendet.

Einen möglichen Ausweg bietet das von Eric Evans und Martin Fowler beschriebene ""Specification Pattern"". Anhand von Beispielen aus Praxisprojekten möchte ich zeigen, wie wir durch die Einführung von Specifications den Wildwuchs in Repositories zurückschneiden konnten. Dabei gehe ich auch darauf ein, wie sich Unit Tests für die Specifications schreiben lassen und welche Strategien für das *Eager Loading* zur Verfügung stehen.

Darüberhinaus ermöglichen Specifications strukturierte Suchabfragen in DQL auf Basis (komplexer) Formulare. In mandantenfähiger Software oder wiederverwendbaren Bundles helfen über den DI-Container eingesetzte Specifications dabei, das Kernmodell von kunden- und projektspezifischen Belangen freizuhalten.

Caching in Symfonyanwendungen - Ein Überblick (Deutsch)

Denis Brumann

Seit Version 3.1 hat Symfony eine eigene Cache-Komponente, die später um Tags und den Simple Cache erweitert wurde. In meinem Talk möchte ich die zugehörigen PSR-Standard kurz vorstellen und praxisnah zeigen, die Cache-Komponente vorstellen. Zusätzlich möchte ich das bereits etablierte HTTP-Caching vorstellen.

Protecting your API - The Past, The Present and The Future (Englisch)

Armen Mkrtchyan

Building a secure API is one of the most common requirements in the market nowadays. Yet there are many strategies with their strengths and fallbacks, some simple, some complex. Let’s together walk through the existing strategies and take a look at a solution, that could, potentially, end this discussion once and for all.

Lessons Learned After 10 Years of Testing (Englisch)

Chris Hartjes

Back when I was learning about how to test PHP code, I had to walk both ways uphill in the snow to get the information I needed. Over the past 10 years (has it really been that long?!?) I’ve learned a lot about not just testing but about code and people. In this talk I want to share what I wished I knew 10 years ago so you don’t have to suffer like I did.

Sulu - ein CMS auf Basis von Symfony (Deutsch)

Thomas Schedler

Es gibt immer mehr CMS, die Symfony Komponenten einbauen oder gleich auf dem kompletten Stack aufbauen. Sulu gehört zu den letzteren und erfreut sich immer grösserer Beliebtheit. Soweit so gut, nur was sind die Vorteile für die Entwickler? Wie können sie das Potential wirklich nutzen? Genau diese Fragen sollten nach diesem Vortrag beantwortet sein. Anhand von Sulu werden die unterschiedlichen Schnittstellen in das Symfony Ökosystem und deren Verwendung erklärt.

Im Detail werden wir uns dem Thema Routing, Controllers und Events im Umfeld Symfony und Sulu widmen. Des Weiteren spielt der Service Container inklusive Compiler Pass, welches wohl eines der Hidden Features in Symfony ist, eine grosse Rolle, um das Zusammenspiel reibungslos zu ermöglichen.