Wir machen Kopfstand mit den Abhängigkeiten in Deiner Software. Das eröffnet völlig neue Perspektiven.
Explore our upcoming training sessions
for all developers
Learn best practices for dealing with dependencies so that updates no longer scare you.
Für Interessierte auf allen Ebenen
Wir machen Kopfstand mit den Abhängigkeiten in Deiner Software. Das eröffnet völlig neue Perspektiven.
für Entwickler auf allen Ebenen
Ohne verschlüsselte Übertragungen geht heute nichts mehr.
for developers at all levels
Cross-site scripting can be effectively prevented, not least by using a Content Security Policy (CSP).
für alle, die mit PHPUnit loslegen wollen
Sichere zukünftige Änderungen an Deiner Software durch Tests ab! Lerne, wie Du mit PHPUnit loslegen kannst.
für Entwickler auf allen Ebenen
Viele Container-Images sind überdimensioniert und enthalten oft unnötige oder gefährliche Komponenten.
For developers at all levels
Master method and property visibility in PHP, taking latest developments in PHP 7 and PHP 8 into account.
für Entwickler auf allen Ebenen
Schlechte Performance und Fehler nach Änderungen: Zunehmende Komplexität ist der natürliche Feind schneller und stabiler Software.
Für Interessierte auf allen Ebenen
... machen wir passend unter Einsatz des Adapter-Patterns, um Legacy- und Third-Party-Code. Ohne starke Kopplung.
Requires programming experience
Intensive workshop on event sourcing: modeling, implementation, CQRS integration, and practical applications.
for developers and administrators at all levels
NGINX and PHP-FPM have established themselves as runtime environments for PHP applications in everyday life.
für alle Entwickler:innen
Hier lernst Du, wie Datenbankinteraktion testbar implementiert wird und getestet werden kann.
Für Interessierte auf allen Ebenen
Wie ein Magier seine Tricks verbirgt, schützt Information Hiding die Geheimnisse des Codes.
für alle, die ihr PHPUnit-Wissen vertiefen wollen
Erfolgreiche Testautomation im Projektalltag mit Lösungen auch für besonders knifflige Probleme.
für Entwickler auf allen Ebenen
Zu einem modernen Login gehört mehr als nur eine klassische Passwort-Abfrage. Lerne, wie man eine sichere Anmeldung umsetzt.
für alle Entwickler:innen
Wir müssen beim Testen von Code auch mit Zufall und Zeit arbeiten. Wie machen wir das richtig?
for developers at all levels
Whether accessing the database or using external interfaces: Does your application cope with manipulated inputs and outputs?
für Entwickler und Administratoren auf allen Ebenen
Sicherer, ohne Root-Rechte & dennoch voll kompatibel! Erfahre, warum Podman die bessere Docker-Alternative ist.
for developers at all levels
Away from chaos & regex hell - towards an efficient logging strategy!
Für Interessierte auf allen Ebenen
Das Facade Design Pattern ist wie ein Reiseführer – es vereinfacht komplexe Systeme für den Nutzer.
Not only for developers
Learn to visualize workflows, establish shared understanding, and drive development success.
für alle Entwickler:innen
Entwickele Software zielgerichtet! Die bewährte Arbeitsweise der testgetriebenen Entwicklung (TDD) hilft Dir dabei.
für Entwickler auf allen Ebenen
Unzureichender Zugriffsschutz, Rechteausweitung oder indirekte, unautorisierte Zugriffe: Lerne Fehler bei Autorisierung zu vermeiden.
for all developers
Find errors before your program is executed! Modern development tools will help you.
Für Interessierte auf allen Ebenen
Lerne, das Open-Closed-Prinzip richtig anzuwenden, damit Deine Software modular und anpassungsfähig bleibt.
Requires programming experience
We'll recreate the classic game Battleship while exploring best practices. Bring your IDE, everybody gets a task.
for developers at all levels
For optimum security, browsers today expect a large number of additional headers
für Entwickler auf allen Ebenen
Der SBOM-Standard: Wesentlich für Sicherheit und Transparenz beim Abhängigkeitsmanagement.
For everybody interested
Auch in gutem Code sind Fehler unvermeidlich. Behandle sie richtig und mache Deine Software robuster.
für alle Entwickler:innen
Legacy Code ist wertvoll, hat sich über Jahre bewährt, ist aber meist nicht ausreichend getestet. Wie können wir das ändern?
Für Interessierte auf allen Ebenen
Wir speichern unveränderliche Ereignisse und erzeugen daraus wieder Geschäftsobjekte und Projektionen.
Für Interessierte auf allen Ebenen
Dependency Injection, Factory, Service Container: woher kommen in meiner Anwendung eigentlich die Objekte?
for developers at all levels
In an API-driven world, constant availability is critical. Instead of adding more servers, simply rate limit access to the API
Für Interessierte auf allen Ebenen
Vermeide dumme Datenklumpen! Dank Tell, Don't Ask vereinst Du Daten und Verhalten zu selbstbestimmten Objekten.
für Entwickler auf allen Ebenen
Cross-Origin Resource Sharing ist ein Standard-Mechanismus zur kontrollierten Integration von verteilten Webanwendungen. Lerne, wie man ihn richtig und sicher implementiert.
Für Interessierte auf allen Ebenen
Das Mediator-Pattern reduziert Abhängigkeiten und vereinfacht die Kommunikation zwischen Komponenten.
for developers at all levels
Session confidentiality is a fundamental core element of most web applications. It's time to protect it properly.
für alle PHPUnit-Anwender:innen
Domain-Driven Design schafft gemeinsames Verständnis im Team und bildet dies im Code ab. Was bedeutet das für die Tests?
for all developers
Develop software goal-oriented! The proven method of test-driven development (TDD) will help you.
für Entwickler auf allen Ebenen
Über das Internet erreichbare, automatisierte Schnittellen erfordern ein besonderes Maß an Sicherheit
for developers at all levels
Today, nothing works without encrypted transmissions.
for all who want to deepen their knowledge of Git
Improve your development process! Learn best practices for Git and common problems in everyday programming.
für Entwickler auf allen Ebenen
Änderungen an der Datenbank ohne Downtime? Wie’s geht – und warum’s heute kein Problem mehr sein muss.
Für Interessierte auf allen Ebenen
Lerne das Gesetz der Demeter kennen, das auch als 'Prinzip des geringsten Wissens' bezeichnet wird.
Requires programming experience
Fire up your IDE to reuse existing chess software. Continue the implementation, coached by your trainer.
for developers and administrators at all levels
Whether time or event-controlled - modern applications work distributed in the background
Für Interessierte auf allen Ebenen
Das Specification-Entwurfsmuster ermöglicht die flexible Kombination von Geschäftsregeln durch boolsche Logik.
Not only for developers
Explore software architecture fundamentals, styles, and communication strategies.
setzt Programmiererfahrung voraus
Entwerfe und implementiere skalierbare, eventbasierte Systeme – einfach, flexibel und ohne unnötige Komplexität.
Requires programming experience
Master metadata with PHP attributes to streamline code, enhance readability, and enable efficient runtime processing.
Not only for developers
Clarify feature requirements through collaborative discovery of rules and constraints.
für alle Entwickler:innen
Wartbare Software ist zukunftssicher. Tests sind dafür wichtig, klar. Aber was macht Code testbar?
Für Interessierte auf allen Ebenen
DRY mit Twist: Wiederhole dich einmal bewusst, um Muster zu erkennen, bevor Du eine Abstraktion schaffst.
für Entwickler auf allen Ebenen
Die DSGVO stellt hohe Ansprüche an die Sicherheit von Servern, Anwendungen und an die Datenhaltung.
Für Interessierte auf allen Ebenen
Das Strategie-Pattern ermöglicht den Austausch von Algorithmen und fördert so die Modularität Deiner Anwendung.
Not only for developers
Master Domain-Driven Design principles to create solutions that truly align with business needs.
for developers at all levels
A modern login involves more than just a classic password request. Learn how to implement a secure login today.
Für Interessierte auf allen Ebenen
Grundlagen der Softwarearchitektur für komplexe IT-Systeme, die funktionale und qualitative Anforderungen erfüllen.
für Entwickler und Administratoren auf allen Ebenen
Testen wie im Live-System: E-Mail-Versand auch während der Entwicklung unter Kontrolle behalten.
For everybody interested
Everyone uses it. But how does it work in the first place? Let's explore the do's and don'ts of autoloading in PHP.
für alle PHPUnit-Anwender:innen
Hast Du genug Tests für Deinen Code? Hier lernst Du, wie Du die Antwort findest.
for developers at all levels
Most container images are oversized and often contain unnecessary or dangerous components.
A tasty treat for everyone
It's Halloween, which must confuse Stefan. In this live-coding session, he gets everything wrong. Rescue him!
für alle Entwickler:innen
Verbessere Deinen Entwicklungsprozess! Lerne Best Practices für Git und häufige Probleme im Programmieralltag.
für Entwickler auf allen Ebenen
Sicheres Deployment und Verwaltung von Zugangsdaten: Nur zwei von vielen Fragen auf dem Weg in den Live-Betrieb.
for developers at all levels
Insufficient access protection, privilege escalation or indirect, unauthorized access: Learn how to avoid authorization mistakes.
für alle Entwickler:innen
Softwaretests gibt es in unterschiedlichen Formen und Größen. Welche davon passen für Dein Projekt?
setzt Programmiererfahrung voraus
Lerne, Anwendungen im laufenden Betrieb in moderne, zukunftssichere Lösungen zu transformieren.
für Entwickler und Administratoren auf allen Ebenen
Caddy Server ist ein moderner Webserver, der aufgrund seiner Einfachheit und der automatischen HTTPS-Funktionen immer beliebter wird. Zeit, ihn besser kennen zu lernen.
Für Interessierte auf allen Ebenen
Erreiche dank KISS (Keep it simple, stupid!) mehr Einfachheit und Effizienz in der Programmierung.
Für Interessierte auf allen Ebenen
... das verschieben wir auf morgen. Die späte Initialisierung (lazy initialization) von Objekten hat viele Vorteile.
for all developers
New year, new PHP version! Here you will learn all the relevant improvements.
for developers and administrators at all levels
More secure, without root rights & yet fully compatible! Find out why Podman is the better Docker alternative.
For everybody interested
PHP has no proper async support. Or has it? Let's dive into some of the amazing things that PHP 8 can do.
Nicht nur für Entwickler
DDD stellt die Fachlichkeit in den Mittelpunkt und ermöglicht die Zusammenarbeit aller Beteiligten.
für Entwickler auf allen Ebenen
Egal ob Patch-Management oder Monitoring: Es gibt viel, worauf man neben der Weiterentwicklung im Betrieb achten sollte.
Für Interessierte auf allen Ebenen
Implementiere nur das, was wirklich gebraucht wird für weniger technische Schulden, denn: you ain't gonna need it!
For everybody interested
In this ensemble live coding session, we will jointly solve common coding problems with design patterns.
for developers at all levels
Cross-Origin Resource Sharing is a standard mechanism for the controlled integration of distributed web applications. Learn how to implement it correctly and securely.
für alle Entwickler:innen
Lerne Best Practices für den Umgang mit Abhängigkeiten, damit Updates Dir keine Angst mehr machen.
For everybody interested
Finally fully standard-compliant: The new and improved DOM Implementation of PHP 8.4
Für Interessierte auf allen Ebenen
Manchmal müssen wir auch darüber reden, wie wir es nicht machen sollten. Wir zeigen eine sinnvolle Alternative zum Singleton.
Requires programming experience
Learn how PHP works under the hood by understanding how the JIT works. We will also discuss whether it should be used.
für alle Entwickler:innen
Auch Testcode muss sauber sein! Heute steigern wir die Qualität Deiner Tests.
für Entwickler auf allen Ebenen
Cross-Site-Scripting lässt sich effektiv verhindern, nicht zuletzt durch Einsatz einer Content Security Policy (CSP).
Für Interessierte auf allen Ebenen
Erfahre, wie das Integration/Operation Segregation-Prinzip eine klare Trennung von Logik und Integration fördert.
für Entwickler und Administratoren auf allen Ebenen
NGINX und PHP-FPM haben sich als Laufzeitumgebung für PHP-Anwendungen im Alltag etabliert.
Für Interessierte auf allen Ebenen
Lerne das State Design Pattern kennen, mit dem Du zustandsabhängiges Verhalten elegant umsetzen kannst.
Requires programming experience
A comprehensive exploration of object orientation, equipping you with the skills to excel in modern software development.
for anyone who wants to get started with PHPUnit
Safeguard future changes to your software with tests! Learn how to get started with PHPUnit.
für Entwickler auf allen Ebenen
Durch die Automatisierung aller Build-Prozesse behältst Du den Überblick, vermeidest Fehler und gewinnst Zeit für die Weiterentwicklung Deiner Software.
For everybody interested
A long time ago, in a codebase far, far away ... type safety awakens, bringing order to the galaxy.
Requires programming experience
In this live coding demonstration, the audience chooses a chess piece, and the trainer tries to implement its rules.
für alle PHPUnit-Anwender:innen
Tests können lügen und ein falsches Gefühl von Sicherheit geben. Dank Feedback von PHPUnit gehst Du mit diesen riskanten Tests richtig um.
für Entwickler auf allen Ebenen
Egal ob beim Zugriff auf die Datenbank oder Verwendung von externen Schnittstellen: Kommt Ihre Anwendung mit manipulierten Ein- und Ausgaben klar?
Für Interessierte auf allen Ebenen
Lerne, wie das Favour Composition over Inheritance-Prinzip Deinen Code besser wartbar macht.
Not only for developers
Experience collaborative modeling to visually understand business processes and develop innovative solutions.
for all developers
New year, new PHPUnit version! Here you will learn all the relevant improvements.
für Entwickler auf allen Ebenen
Weg von Chaos & Regex-Hölle – hin zu einer effizienten Logging-Strategie!
Für Interessierte auf allen Ebenen
In einer Chain of Responsibility entscheiden Objekte eigenständig, ob sie eine Anfrage bearbeiten.
für alle PHPUnit-Anwender:innen
Oft passt die Standardfunktionalität von PHPUnit. Mit Erweiterungen passt Du sie deinen Bedürfnissen an.
for all who want to deepen their knowledge of PHPUnit
Successful test automation in everyday projects, with solutions for even the trickiest of problems.
auch für Quereinsteiger
Tauche ein in die Welt der OOP und werde dank modernem PHP ein besserer Software-Entwickler.
für Entwickler auf allen Ebenen
Die Einführung von CI hat viel verändert, aber da geht noch mehr: Zunehmend komplexe Workflows wollen optimiert und Build-Zeiten reduziert werden.
For everybody interested
Make your code more concise and type-safe with enumerations, available since PHP 8.1.
für Entwickler auf allen Ebenen
Für optimale Sicherheit erwarten Browser heute eine Vielzahl an zusätzlichen Headern
für alle Entwickler:innen
Finde Fehler, bevor Dein Programm ausgeführt wird! Moderne Entwicklungswerkzeuge helfen Dir dabei.
für Entwickler auf allen Ebenen
Statt mehr zu zahlen, einfach den Zugriff auf die API begrenzen und die Erreichbarkeit sichern.
Für Interessierte auf allen Ebenen
Mit Single Level of Abstraction schreibst Du Code wie einen Zeitungsartikel: Wichtiges zuerst, Details später.
Für Interessierte auf allen Ebenen
Lerne die vielfältigen Möglichkeiten kennen, Objektzugriff durch das Proxy-Pattern zu kontrollieren.
Requires programming experience
Master five crucial principles that are essential for crafting clean, maintainable, and highly flexible object-oriented code.
für alle PHPUnit-Anwender:innen
PHPUnit bietet flexible Möglichkeiten, eine Testsuite zu strukturieren. Welche ist die richtige für Dein Projekt?
für Entwickler auf allen Ebenen
Neue Softwareversionen schnell, stabil und reproduzierbar in Betrieb nehmen.
Requires programming experience
Lost in code jungle? A navigation device called PHP namespaces will show the way home. Find out how and why.
setzt Programmiererfahrung voraus
Vertiefe Deine OOP-Kenntnisse! Lerne fortgeschrittene Techniken, mit deren Du schneller und besser programmierst.
für Entwickler auf allen Ebenen
Die Vertraulichkeit der Session ist elementares Kernstück der meisten Webanwendungen. Höchste Zeit, sie richtig zu schützen.
Für Interessierte auf allen Ebenen
Eine Fernbedienung für alles, das klingt praktisch. Bis der Staubsauger losfährt, nur weil Du den Fernseher einschaltest.
Requires programming experience
Learn event sourcing with practical examples and live coding. We will start from scratch in the IDE.
für Entwickler und Administratoren auf allen Ebenen
Egal ob Zeit- oder Ereignisgesteuert - Moderne Anwendungen arbeiten verteilt im Hintergrund
Für Interessierte auf allen Ebenen
Entdecke die Unveränderlichkeit und verwende Wertobjekte als Bausteine einer robusten Softwarearchitektur.
Not only for developers
Visualize user journeys and prioritize features to build a cohesive product that aligns stakeholder goals and user needs.
für alle Entwickler:innen
Entdecke Infection: mutiere PHP-Code, optimiere Tests, steigere die Qualität.
für Entwickler auf allen Ebenen
Containerisierung wird oft als kompliziert angesehen, aber für den produktiven Einsatz sind keine komplexen Lösungen wie Kubernetes oder Cloud-Dienste erforderlich.
für alle PHPUnit-Anwender:innen
Wie gehen wir beim Testen von Code mit dessen Abhängigkeiten um? Hier lernst Du alles über Test Stubs und Mock Objects.