Berlin 24.-26. Oktober 2018
German flag

 

Konferenztag: 26. Oktober 2018

 

Zeit

Track 1

Track 2

09:00
09:10

Willkommen

10:50
11:20

Kaffeepause

12:55
14:25

Mittagspause

16:00
16:30

Kaffeepause

ab 18:05

Ankündigungen & Ende

im Anschluss

After Conference Drinks

Keynote: Symfony without the Framework Bundle (Englisch)

Tobias Nyholm

You may have heard people saying that ”Frameworks are bad” or ”Symfony is slow”. It is time to investigate why those people are saying that. We want to see if they are really smart or just stuck in the past. This talk will go over performance to see what you can do to make an application run faster. (There are no quick fixes) We will also see how we can build applications that responds in less that 15ms and then work towards even faster than that.

Eine Einführung in die Symfony Messenger-Komponente (Deutsch)

Denis Brumann

Eine der großen Neuerungen in Symfony 4.1 ist die Messenger-Komponente, die als experimentelles Feature zur Verfügung steht. In meinem Talk möchte ich die Komponente und ihre Funktionsweise vorstellen.

Doctrine - mehr als nur ein ORM (Deutsch)

Andreas Braun

Die meisten Entwickler denken beim Wort „Doctrine“ an das ORM, welches Teil der Symfony-Standard-Edition ist. Hinter dem ORM verstecken sich aber viele weitere Pakete, welche deutlich weiter verbreitet aber weniger bekannt sind. In diesem Talk wollen wir einen Blick auf diese Pakete werfen sowie darauf, wie sich diese Pakete in den nächsten Monaten weiter entwickeln werden: vollständige Migration auf PHP 7 inklusive strikter Typisierung sowie eine starke Nutzung von statischen Analysetools helfen uns, diese oft benutzten Pakete zu verbessern.

Ein leistungsfähiger Development Workflow mit Kubernetes (Deutsch)

Bastian Hofmann

Kubernetes ist ein sehr mächtiges Werkzeug um zu Orchestrieren, wo Services wie laufen. Aber das Bauen von Docker Images, das Schreiben und Updaten aller notwendigen YAML Dateien und das Anwenden dieser auf dem Cluster kann trotzdem zu einem nervigen Maintenance Overhead werden. In diesem Talk zeige ich, wie man mit Kubernetes und Tools wie Telepresence und Forge einen Development Workflow erstellen kann, der es erlaubt Services schnell und sicher zu bauen, zu testen und zu deployen.

Content & Master Data Management mit Pimcore (Deutsch)

Christoph Lühr

So gut wie jedes PHP-Projekt benötigt auch ein Backend-UI. Als Entwickler hat man nun die Möglichkeit, ein Interface entweder von Grund auf neu zu entwicklen - gegebenenfalls mittels Scaffolding - oder ein bestehendes CMS / spezielles (Produkt-) Informationsmanagementsystem auf die Anforderungen anzupassen. Dies ist umständlich, zeitaufwendig und / oder führt oft zu unbefriedigenden Ergebnissen. Die Open Source Pimcore Plattform basiert auf Symfony und wurde speziell dafür entwickelt, selbst komplexeste Datenstrukturen zu handhaben. Es ist einfach zu bedienen und schnell zu erweitern. Darüber hinaus enthält Pimcore umfassende CMS-, CRM-, E-Commerce- und Web2Print-Funktionen, mit denen auch leistungsstarke Frontends erstellt werden können. Dieser Einführungsvortrag gibt einen Überblick über die Funktionen der Plattform und wie man sie für eigene Projekte nutzt (Live Demo!).

How to f*ck up your Development team with Microservices (Deutsch)

Stephan Schulze

Microservices sind ein bekanntes Architektur Pattern. Dieser Talk zeigt anhand von realen Erfahrungen und Learnings, welche Dos and Don'ts Du bei ihrem Einsatz beachten solltest um weder Deine Teams noch Dein Projekt zu gefährden.

The How’s and Why’s of a Clean Git History (English)

Petr Heinz

We care about a clean and understandable history of changes as it makes our life easier. I’d like to share our best-practices with advanced git techniques, as well as explain the reasons we think it’s worth the extra effort to maintain it. What does a good commit look like? How to create a helpful commit message? For whom am I even writing the message? I’ll explain our workflow, amending commits, squashing, interactive rebasing, and creating aliases for frequently used commands and share real-world examples of how it helped us in the long run. You should be already familiar with the basics of git (commit, pull, push, merge) if you want to get the most from the talk.

Develop Yourself - Ein Plädoyer für mehr Software Handwerkskunst (Deutsch)

Ole Rößner

Softwareentwicklung ist mehr als stumpfes Code runter schreiben. Es vereint logisches Denken, Kreativität und handwerkliches Können. Handwerklich? Ja, unter dem Leitgedanken der Software Craftmanship Bewegung beleuchten wir den handwerklichen Teil der Softwareentwicklung, die Wichtigkeit bestimmter Tools und wie man im professionellen Umfeld regelmäßiges Training, in Form von Code Katas durchführen kann.

Security Testing (Deutsch)

Prof. Dr. Jan Jürjens

Sicherheit von Webanwendungen ist nach wie vor ein brennendes Thema. Angriffe werden immer komplexer und Anwendungen müssen entsprechend geschützt werden. Symfony als Framework erleichtert Entwicklern die Umsetzung von Dingen wie Authentifikation und bietet einige Sicherheitsfeatures. Nur wenn diese richtig eingesetzt werden, resultiert dies auch in eine sichere Webanwendung.

Success of Blackfire and Continuos PHP performance monitoring at trivago (English)

Jorge Luis Betancourt Gonzalez

At trivago, we love measuring everything. Collecting metrics and making decisions based on them is natural to our engineers. We follow this workflow also with performance, which is key to succeed in the modern Internet. In this talk, we're going to describe how we integrated Blackfire profiling into the daily workflow of QA Engineers and Software Developers alike. How our own tooling around Blackfire has helped us to keep (and improve) performance over the last year. We will discuss the benefits of enforcing backend performance budgets. Also, we will explain our entire pipeline for PHP continuous monitoring.

Nomen est Omen - Naming things considered hard (Deutsch)

Anne-Julia Seitz

For us developers it is a constant struggle to find the right words to describe things. Naming classes, functions and variables correctly and giving them context helps to create a meaning, and to convey that meaning to other developers. In this talk we will discuss guidelines to find good names for the buildings blocks we use, to aid in our daily challenge to transport our knowledge by leveraging well worded sourcecode.

Webpack Encore - Asset Management für den Rest von uns (Deutsch)

Stefan Adolf

Wer moderne Frontend-Technologie in seinen Projekten einsetzt, kommt an Webpack nicht vorbei. Obwohl die halbe Welt diesen mächtigen Bundler zum Bauen von Assets einsetzt, kann dessen Konfiguration akademische Kenntnisse der Interna erfordern; Symfony bietet mit Encore einen schmalen Wrapper um Webpack an, mit dem Asset Building auch für mehrere Environments “einfach nur funktioniert”. Die Transpilation und das Packaging von Babel, ES6-, Typescript-, Vue- oder React-Code gelingt in weniger als 20 Zeilen Code inklusive Symfony-kompatiblen Asset Manifests. Dieser Talk demonstriert anhand einer iterativ gestalteten Demo, wie man Webpack oder Assetic mit Encore ersetzt und damit ein React-basiertes Frontend für eine Symfony-Applikation entwickelt. Er geht auch auf komplexere Anforderungen wie die Verwendung von Plugins, Sourcemaps oder Chunks ein.

The Silex Sunset (Deutsch)

Alexander M. Turek

Silex, the micro-framework side-project of Symfony, will reach its end of life soon. However, there are still many applications out there that have been built against Silex and that need to be maintained beyond that point. A migration to Symfony appears to be the best option, so let's have a look at how the migration path could look like.

Using Symfony Forms with Rich Domain Models (Deutsch)

Christian Flothmann & Christopher Hertel

Mit der steigenden Popularität von DDD setzen sich mehr und mehr Rich Domain Models mit Methoden, die den State Change explizit benennen, gegenüber anemischen Models mit simplen Gettern und Settern durch. Allerdings gibt es beim Zusammenspiel mit der Symfony Form Komponente einige Hindernisse. Unsere Domain Models sollten niemals invalid sein, was jedoch im Gegensatz zum allgemeinen User-Input steht. Ein einfacher Ansatz, um dieses Problem zu umgehen, sind sogenannte DTOs, so dass unser Form nicht mehr direkt mit unserem Model, sondern einem Zwischenlayer arbeitet. Das führt allerdings zu einem Overhead an Mapping- und Glue-Code, den wir schreiben und maintainen müssen. eht das nicht einfacher? Wir werden uns in diesem Talk mit diesen Herausforderungen auseinandersetzen, die unterschiedlichen Lösungsstrategien vergleichen und zeigen, wie wir das Problem eleganter lösen können.

Besucherspezifische Inhalte rasend schnell mit HTTP-Caching und Sulu (Deutsch)

Thomas Schedler

In unserer heutigen, besonders schnelllebigen Gesellschaft ist Zeit unheimlich wertvoll. Auf Inhalte warten, ist inakzeptabel und somit ist Caching von dynamischen Seiten ohne Zweifel ein Muss. Gleichzeit sollte der Inhalt auf den Besucher angepasst sein, um diesem das bestmögliche Erlebnis auf der Seite zu bieten. Ein nicht ganz einfacher Balanceakt. Wie Sulu mit Hilfe von unterschiedlichen HTTP-Caches, wie Symofny oder Varnish dies ermöglicht, werden wir uns im Detail anschauen. Vom Full-Page Cache inklusive Expiring über Tagging und ESI bis hin zu Context based Caching führt die Reise und sollte etwas Licht in eines der komplexesten Themen wie HTTP-Caching bringen.