Zu einem modernen Login gehört mehr als nur eine klassische Passwort-Abfrage. Lerne, wie man eine sichere Anmeldung umsetzt.
Unsere nächsten Schulungsangebote
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?
für Entwickler und Administratoren auf allen Ebenen
Sicherer, ohne Root-Rechte & dennoch voll kompatibel! Erfahre, warum Podman die bessere Docker-Alternative ist.
Für Interessierte auf allen Ebenen
Das Facade Design Pattern ist wie ein Reiseführer – es vereinfacht komplexe Systeme für den Nutzer.
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.
Für Interessierte auf allen Ebenen
Lerne, das Open-Closed-Prinzip richtig anzuwenden, damit Deine Software modular und anpassungsfähig bleibt.
für Entwickler auf allen Ebenen
Der SBOM-Standard: Wesentlich für Sicherheit und Transparenz beim Abhängigkeitsmanagement.
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?
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.
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?
für Entwickler auf allen Ebenen
Über das Internet erreichbare, automatisierte Schnittellen erfordern ein besonderes Maß an Sicherheit
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.
Für Interessierte auf allen Ebenen
Das Specification-Entwurfsmuster ermöglicht die flexible Kombination von Geschäftsregeln durch boolsche Logik.
setzt Programmiererfahrung voraus
Entwerfe und implementiere skalierbare, eventbasierte Systeme – einfach, flexibel und ohne unnötige Komplexität.
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.
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.
für alle PHPUnit-Anwender:innen
Hast Du genug Tests für Deinen Code? Hier lernst Du, wie Du die Antwort findest.
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.
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.
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!
für alle Entwickler:innen
Lerne Best Practices für den Umgang mit Abhängigkeiten, damit Updates Dir keine Angst mehr machen.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.