Termine und Veranstaltungen
Februar 2025
Clean Code-Prinzipien: Favour Composition over Inheritance
Wir erläutern jeden Monat ein Clean Code-Prinzip und zeigen, wann und wie man es richtig anwendet. Vererbung ist ein umstrittenes OOP-Prinzip, da eine Vererbungsbeziehung die stärkste Kopplung ist, die es in der Objektorientierung gibt. Heute lernen wir, wie wir Vererbung vermeiden und stattdessen auf Komposition setzen können.
Details AnmeldungModelling: Event Storming
Collaborative modeling might be the next big thing in software development. Let's explore popular modeling methods, one by one. Event Storming is well-suited for collaborative exploration of complex business domains. It's also a great process modelling tool.
Live Demo: PHPUnit 12
No textbook, blog post, or tutorial can replace real practice. Join Sebastian Bergmann to celebrate the release of PHPUnit 12, learn the motivation behind the changes in this new major version, and experience new features in live coding.
Details AnmeldungDevOps: Logging Strategie
Damit die erstellte Software ihr volles Potenzial entfalten kann, bedarf es einer geeigneten Betriebsumgebung. Denn nur wenn alle Komponenten gut aufeinander abgestimmt sind und man die Kontrolle über alle Systeme hat, steht dem Erfolg nichts mehr im Wege. Klassische Logging-Ansätze erzeugen fast immer eine unstrukturierte Datenflut mit unangemessenem Detaillierungsgrad. In dieser Session werden wir die Logging-Strategie überdenken und mit Hilfe von JournalD überschaubar und durchsuchbar machen.
Design Patterns: Chain of Responsibility
Jeden Monat lernen wir in 45 Minuten durch Live-Coding ein Entwurfsmuster kennen und richtig einzusetzen. Heute üben wir lose Kopplung durch Verkettung von Objekten.
Details AnmeldungTester's Corner: PHPUnit anpassen und erweitern
Jeden Monat behandeln wir kurz und prägnant ein Thema rund um das automatisierte Testen von Software.
Details AnmeldungAdvanced PHPUnit
Successful test automation in everyday project work with solutions even for particularly tricky problems.
Details AnmeldungRichtig OOP
Ein solides Verständnis für Objektorientierte Programmierung ist eine der wichtigsten Voraussetzungen für den professionellen PHP-Einsatz.
Gitlab CI für Fortgeschrittene
Pipelines im Projektalltag optimieren - mit Lösungen auch für knifflige Probleme.
Modern PHP: Enums
A closer look into new and rarely used PHP features. Since PHP 8.1, we have enumerations, but they are not yet widely used. Let's change that.
März 2025
Web Security 360: Sicherheitsrelevante Header
Internet-Anwendungen werden rund um die Uhr angegriffen. Sicherheit sollte daher nicht nur eine Nebenrolle spielen. Für optimale Sicherheit erwarten Browser heute eine Vielzahl an zusätzlichen Headern. Arne Blankerts zeigt, welche man kennen sollte.
Details AnmeldungTypsicheres PHP
Durch automatische Typprüfungen lassen sich viele Fehler finden, bevor ein Programm überhaupt ausgeführt wird.
Details AnmeldungDevOps: Rate Limiting APIs
Damit die erstellte Software ihr volles Potenzial entfalten kann, bedarf es einer geeigneten Betriebsumgebung. Denn nur wenn alle Komponenten gut aufeinander abgestimmt sind und man die Kontrolle über alle Systeme hat, steht dem Erfolg nichts mehr im Wege. In einer API-gesteuerten Welt ist ständige Verfügbarkeit von entscheidender Bedeutung. Anstatt bei hoher Auslastung weitere Server hinzuzufügen, ist es kosteneffizienter, den API-Zugriff angemessen zu beschränken.
Clean Code-Prinzipien: Single Level of Abstraction
Wir erläutern jeden Monat ein Clean Code-Prinzip und zeigen, wann und wie man es richtig anwendet. Das Konzept der einheitlichen Abstraktionsebene für Klassen und Methoden ist ein wichtiges Prinzip in der Softwareentwicklung, das zu besserem Code-Design und erhöhter Wartbarkeit führt.
Details AnmeldungDesign Patterns: Proxy
Jeden Monat lernen wir in 45 Minuten durch Live-Coding ein Entwurfsmuster kennen und richtig einzusetzen. Heute trennen wir unterschiedliche Belange.
Details AnmeldungSOLID Deep Dive
Want to learn how to create robust, maintainable, and scalable applications? Take your coding to the next level by joining our one-day class on SOLID principles.
Tester's Corner: Testsuites strukturieren
Jeden Monat behandeln wir kurz und prägnant ein Thema rund um das automatisierte Testen von Software.
Details AnmeldungRichtiges Deployment
Neue Softwareversionen schnell, stabil und reproduzierbar in Betrieb nehmen.
Details AnmeldungModern PHP: Namespaces
A closer look into new and rarely used PHP features. Namespaces is not a new feature in PHP, but it's misused so often we felt a session in what namespaces are and how to use them properly would be in order.
April 2025
Fortgeschrittene OOP
Mit objektorientierter Programmierung behalten Sie auch in umfangreichen Anwendungen den Überblick.
Details AnmeldungWeb Security 360: Angriff auf die Session
Internet-Anwendungen werden rund um die Uhr angegriffen. Sicherheit sollte daher nicht nur eine Nebenrolle spielen. Die Vertraulichkeit der Session ist elementares Kernstück der meisten Webanwendungen. Höchste Zeit, sie richtig zu schützen.
Details AnmeldungClean Code-Prinzipien: Interface Segregation Principle
Wir erläutern jeden Monat ein Clean Code-Prinzip und zeigen, wann und wie man es richtig anwendet. Das Interface Segregation Principle (ISP) ist eines der fünf SOLID-Prinzipien. Es besagt, dass Interfaces nicht mehr Methoden enthalten sollen, als für implementierende Klassen erforderlich sind. Aber was bedeutet das in der Praxis?
Details AnmeldungLive Coding: Event Sourcing
No textbook and no training can replace programming practice. Join us in our live coding sessions, where we teach you how to code like a pro. Heard about Event Sourcing? Join us to find out how it's done in code.
DevOps: Daemons with PHP & Systemd
Damit die erstellte Software ihr volles Potenzial entfalten kann, bedarf es einer geeigneten Betriebsumgebung. Denn nur wenn alle Komponenten gut aufeinander abgestimmt sind und man die Kontrolle über alle Systeme hat, steht dem Erfolg nichts mehr im Wege. Viele komplexe Aufgaben sollten außerhalb des Web-Requests verarbeitet werden, da ihre Verarbeitung die Antwortzeit verschlechtert. In dieser Session werden wir daher SystemD zur Steuerung verwenden und die Aufgaben effizient in den Hintergrund verschieben und verteilen.
Design Patterns: Value Object
Jeden Monat lernen wir in 45 Minuten durch Live-Coding ein Entwurfsmuster kennen und richtig einzusetzen. Heute praktizieren wir die wundersame Geldvermehrung.
Details AnmeldungModelling: User Story Mapping
Collaborative modeling might be the next big thing in software development. Let's explore popular modeling methods, one by one. User story mapping is a visual technique that prioritizes features by mapping out the customer journey, enabling teams to align development efforts with user needs effectively.
Live-Vorführung: Infection
Die echte Praxis ist durch kein Lehrbuch, einen Blogpost oder ein Tutorial ersetzbar. Die echte Praxis ist durch kein Lehrbuch, einen Blogpost oder ein Tutorial ersetzbar. Heute stellt Sebastian Bergmann Infection als Werkzeug vor, um die Qualität von Tests zu beurteilen und bislang unentdeckte Fehler zu finden.
Details AnmeldungContainerisierte Anwendungen betreiben
Containerisierung wird oft als kompliziert angesehen, aber für den produktiven Einsatz sind keine komplexen Lösungen wie Kubernetes oder Cloud-Dienste erforderlich.
Dependency Management
You can't do without dependencies. But how do we deal with them properly?
Details AnmeldungTester's Corner: Kollaborierende Objekte testen
Jeden Monat behandeln wir kurz und prägnant ein Thema rund um das automatisierte Testen von Software.
Details AnmeldungClean Code-Prinzipien: Dependency Inversion Principle
Wir erläutern jeden Monat ein Clean Code-Prinzip und zeigen, wann und wie man es richtig anwendet. Dependency Inversion ist das vermutlich wichtigste SOLID-Prinzip. Wir erläutern, wie Du damit die Abhängigkeiten zwischen Softwaremodulen reduzieren kannst, um flexible und wartbare Systeme zu schaffen.
Details AnmeldungMai 2025 - Juli 2025
- Web Security 360: Transport Security
- Testautomation mit PHPUnit
- DevOps: Sichere Container
- Modern PHP: Visibility Revisited
- Komplexität vermeiden
- Design Patterns: Adapter
- Event Sourcing Deep Dive
- Tester's Corner: Code testen, der mit der Datenbank spricht
- Clean Code-Prinzipien: Information Hiding Principle
- PHPUnit für Fortgeschrittene
- Web Security 360: Authentifizierung
- Tester's Corner: Testen von Zufall und Zeit
- DevOps: Podman statt Docker
- Design Patterns: Facade
- Modelling: Domain Storytelling
- Web Security 360: Autorisierung
- Type-Safe PHP
- Clean Code-Prinzipien: Open Closed Principle
- Live Coding: Battleship
- Live-Vorführung: PHP-Parser
- DevOps: Software Bill of Materials (SBOM)
- Modern PHP: Exceptions
- Tester's Corner: Testen von Legacy Code
- Event Sourcing
- Design Patterns: Factory
- Clean Code-Prinzipien: Tell, don’t ask
August 2025 - Oktober 2025
- Web Security 360: Cross-Origin Resource Sharing (CORS)
- Design Patterns: Mediator
- Tester's Corner: Domänenspezifische Zusicherungen
- Testgetriebene Entwicklung
- Web Security 360: API Security
- Git für Fortgeschrittene
- DevOps: Content Security Policy einführen
- Clean Code-Prinzipien: Law of Demeter
- Live Coding: Chess, Revisited
- Design Patterns: Specification
- Architecture Deep Dive
- Eventgetriebene Entwicklung
- Modern PHP: Attributes
- Modelling: Example Mapping
- Tester's Corner: Was testbaren Code ausmacht
- Clean Code-Prinzipien: Don't Repeat Yourself
- Web Security 360: DSGVO & Co
- Design Patterns: Strategy
- DDDeep Dive
- Vom Software-Entwickler zum Software-Architekten
- DevOps: Mail Sending Capture
- Modern PHP: Autoload
- Tester's Corner: Code Coverage richtig einsetzen
- Live Coding: Coding Nightmares
November 2025 - Januar 2026
- Web Security 360: Auf dem Weg in Produktion
- Tester's Corner: Die Form und Größe von Tests
- Software-Modernisierung
- DevOps: CaddyServer: First Contact
- Clean Code-Prinzipien: Keep it simple, stupid
- Design Patterns: Lazy Initialization
- What is new in PHP?
- Modern PHP: Async PHP
- Domain-Driven Design
- Web Security 360: Nach dem Launch
- Clean Code-Prinzipien: You Ain't Gonna Need It
- Live Coding: Design Patterns
- Dependency Management
- Modern PHP: HTML5 & XML with PHP 8.4
- Design Patterns: Singleton
- Modern PHP: The Just-in-time Compiler (JIT)
- Tester's Corner: Übelriechende Tests
- Tester's Corner: Riskante Tests erkennen und behandeln