Termine und Veranstaltungen
Dezember 2024
Design Patterns: Singleton
Jeden Monat lernen wir in 45 Minuten durch Live-Coding ein Entwurfsmuster kennen und richtig einzusetzen. Heute beenden wir den Jahreszyklus mit einem Antipattern.
Details AnmeldungWeb Security 360: Nach dem Launch
Internet-Anwendungen werden rund um die Uhr angegriffen. Sicherheit sollte daher nicht nur eine Nebenrolle spielen. Egal ob Patch-Management oder Monitoring: Es gibt viel, worauf sie neben der Weiterentwicklung im Betrieb achten sollten
Details AnmeldungTester's Corner: Übelriechende Tests
Jeden Monat behandeln wir kurz und prägnant ein Thema rund um das automatisierte Testen von Software.
Details AnmeldungClean Code-Prinzipien: You Ain't Gonna Need It
Wir erläutern jeden Monat ein Clean Code-Prinzip und zeigen, wann und wie man es richtig anwendet.
Details AnmeldungJanuar 2025
Web Security 360: XSS & die Content Security Policy
Internet-Anwendungen werden rund um die Uhr angegriffen. Sicherheit sollte daher nicht nur eine Nebenrolle spielen. Cross-Site-Scripting lässt sich effektiv verhindern - nicht zuletzt durch Einsatz der Content Security Policy
Details AnmeldungClean Code-Prinzipien: Integration Operation Segregation Principle
Wir erläutern jeden Monat ein Clean Code-Prinzip und zeigen, wann und wie man es richtig anwendet. Eine klare Trennung von Aufgaben und Verantwortlichkeiten verbessert den Softwareentwurf. Heute geht es um die viel zu wenig beachtete Aufteilung des Codes in Integrationen und Operationen.
Details AnmeldungDevOps: Hardening Nginx & PHP-FPM
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. NGINX und PHP-FPM haben sich als Laufzeitumgebung für PHP-Anwendungen im Alltag etabliert. In dieser Session werfen wir daher einen Blick auf optimierte und gehärtete Einstellungen, die einen sicheren Betrieb des Gesamtsystems gewährleisten.
Design Patterns: State
Jeden Monat lernen wir in 45 Minuten durch Live-Coding ein Entwurfsmuster kennen und richtig einzusetzen. Heute lernen wir, zustandsabhängig unterschiedliches Verhalten eines Objekts abzubilden.
Details AnmeldungOOP Deep Dive
Elevate your programming skills by mastering Object-Oriented Development in our one-day intensive class. We will cover essential principles and best practices that will empower you to build robust, scalable software solutions.
Details AnmeldungTest Automation with PHPUnit
Automated tests save costs and safeguard future changes and enhancements to the software.
Details AnmeldungEinführung in die kontinuierliche Integration
Durch die Automatisierung aller Build-Prozesse behalten Sie den Überblick und gewinnen Zeit für die Weiterentwicklung Ihrer Software.
Modern PHP: Type Safety
A closer look into new and rarely used PHP features. Since PHP 8, PHP can optionally be used as a type-safe language. Let's explore the advantages.
Live Coding: Chess
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. Moving a piece on a chess board can't be difficult to implement. Or can it?
Tester's Corner: Riskante Tests erkennen und behandeln
Jeden Monat behandeln wir kurz und prägnant ein Thema rund um das automatisierte Testen von Software.
Details AnmeldungFebruar 2025
Web Security 360: Injektion Angriff
Internet-Anwendungen werden rund um die Uhr angegriffen. Sicherheit sollte daher nicht nur eine Nebenrolle spielen. Egal ob beim Zugriff auf die Datenbank oder Verwendung von externen Schnittstellen: Kommt Ihre Anwendung mit manipulierten Ein- und Ausgaben klar?
Details AnmeldungClean 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-Vorführung: PHPUnit 12
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 erklärt Sebastian Bergmann die Motivation hinter den wichtigsten Änderungen in PHPUnit 12 und führt sie im Live Coding vor.
Details AnmeldungAdvanced PHPUnit
Successful test automation in everyday project work with solutions even for particularly tricky problems.
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 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 - Mai 2025
- Web Security 360: Sicherheitsrelevante Header
- Typsicheres PHP
- DevOps: Rate Limiting APIs
- Clean Code-Prinzipien: Single Level of Abstraction
- Design Patterns: Proxy
- SOLID Deep Dive
- Tester's Corner: Testsuites strukturieren
- Richtiges Deployment
- Modern PHP: Namespaces
- Fortgeschrittene OOP
- Web Security 360: Angriff auf die Session
- Clean Code-Prinzipien: Interface Segregation Principle
- Live Coding: Event Sourcing
- DevOps: Daemons with PHP & Systemd
- Design Patterns: Value Object
- Modelling: User Story Mapping
- Live-Vorführung: Infection
- Containerisierte Anwendungen betreiben
- Tester's Corner: Kollaborierende Objekte testen
- Clean Code-Prinzipien: Dependency Inversion Principle
- 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
Juni 2025 - August 2025
- 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
- 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
- Web Security 360: Cross-Origin Resource Sharing (CORS)
- Design Patterns: Mediator
- Tester's Corner: Domänenspezifische Zusicherungen
- Testgetriebene Entwicklung
September 2025 - November 2025
- 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
- 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
- Was ist neu in PHP?
- Modern PHP: Async PHP