Dates and Events
March 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 RegistrationTypsicheres PHP
Durch automatische Typprüfungen lassen sich viele Fehler finden, bevor ein Programm überhaupt ausgeführt wird.
Details RegistrationDevOps: 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 RegistrationDesign Patterns: Proxy
Jeden Monat lernen wir in 45 Minuten durch Live-Coding ein Entwurfsmuster kennen und richtig einzusetzen. Heute trennen wir unterschiedliche Belange.
Details RegistrationSOLID 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 RegistrationRichtiges Deployment
Neue Softwareversionen schnell, stabil und reproduzierbar in Betrieb nehmen.
Details RegistrationModern 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 RegistrationWeb 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 RegistrationClean 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 RegistrationLive 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 RegistrationModelling: 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 RegistrationContainerisierte 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 RegistrationTester's Corner: Kollaborierende Objekte testen
Jeden Monat behandeln wir kurz und prägnant ein Thema rund um das automatisierte Testen von Software.
Details RegistrationClean 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 RegistrationMay 2025 - July 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 - October 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 - January 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