Hier finden Kurs und Schulung statt
Open Source Schulung:

Professionelles Entwickeln mit PHP

Getestete und qualitativ hochwertige PHP-Anwendungen entwickeln

In agilen Teams und schnelllebigen Arbeitsumgebungen ist es eine Herausforderung für ständig funktionierende Software zu sorgen. Von Web-Applikations-Entwicklern wird erwartet, dass sie schnell neue Features entwickeln können und Fehler zeitnah beheben. Anschließend sollen diese Änderungen innerhalb von Minuten einem globalen Publikum zu Verfügung gestellt werden. Wie kann man das erreichen?

Kontinuierliches & automatisiertes Testen ist dabei essentiell für die Entwicklung moderner Software. Das reduziert die Anzahl von Fehlern in Software drastisch. Später im Entwicklungs-Prozess ist es viel aufwändiger und teurer einen Fehler zu beheben. Bei einem Bug der während der Anforderungs- oder Architektur-Phase eingeführt wird kostet die Behebung in Produktion schnell hundertmal so viel wie eine sofortige Behebung. Entsprechend müssen so viele Probleme wie möglich so früh wie möglich erkannt und behoben werden.

Continuous Integration bedeutet, dass die Software kontinuierlich überprüft wird ohne das der Entwickler dazu selbst handeln muss. Nach jedem Commit, nach jedem Push. Das gibt Entwicklern und Product Owner ein gutes Gefühl für die Stabilität der eigenen Software und das Wissen sie jederzeit releasen zu können.

Die Verwendung von Continuous Delivery Methoden wie Versionskonktrolle, Continuous Integration und Test-Automatisierung führen zu besserer IT-Performance. Kurz: Continuous Delivery senkt messbar den Schmerz beim Entwickeln und Team-Burnout.

In dieser Schulung lernen Sie die Tools kennen, die Sie und Ihr Team bei Continuous Delivery unterstützen. Und wie diese Tools bei der Entwicklung von Webanwendungen und -services mit PHP zusammenspielen und damit produktiver machen.

Preis

5 Tage, 1.800,00 € + 19% MwSt. = 2.142,00 €

Volle 8 Zeitstunden pro Tag, komplette Grundausstattung an Originalliteratur, freier Internetzugang überall, Leihnotebook, Vollpension, Getränke (besondere Weinsorten werden separat abgerechnet), Gebäck, selbstgebackene Kuchen, Sauna, Rahmenprogramm.

Zusatz- oder Minderleistungen auf Wunsch:

Aufpreis für Übernachtung im Zweibettzimmer (großes, komfortables Zimmer) 59,00 € + 7% MwSt. = 63,13 €pro Nacht
Aufpreis für Übernachtung in der Linuxhotel-WG 83,00 € + 7% MwSt. = 88,81 €pro Nacht
Aufpreis für Einzelzimmer (nach Verfügbarkeit, bitte rechtzeitig buchen) 129,00 € + 7% MwSt. = 138,03 €pro Nacht
Preisnachlaß bei Verzicht auf die Vollpension -29,41 € + 19% MwSt. = -35,00 €pro Tag
Preisnachlaß bei Verzicht auf das Rahmenprogramm -8,40 € + 19% MwSt. = -10,00 €pro Abend

Steuerliche Absetzbarkeit * Stornobedingungen

Termine

11.09 - 15.09.17 KW 37 Anmeldung Professionelles Entwickeln mit PHP
oder
nennen Sie uns Ihren Wunschtermin

Dozenten

Qafoo betreut Kunden, von kleinen Agenturen bis zu großen Konzernen, in der Umsetzung von Tests & Refactorings bis hin zu Continuous Delivery. Wir haben viele Jahre Erfahrung in der Umsetzung der verschiedenen Test-Strategien und deren effiziente Integration in den Arbeitsalltag.

Teilnahmevoraussetzungen

Der Kurs richtet sich an Programmierer, die bereits mit PHP vertraut sind und die Sprache als Entwicklungsbasis für den "täglichen Gebrauch" nutzen.

Der Kurs wird keine Grundlagen vermitteln, auch Kenntnisse der Objektorientierten Programmierung mit PHP werden vorausgesetzt. Die Verwendung von Versionskontrollsystemen sollte ebenfalls bekannt sein, ansonsten ist ein Kurs zu Subversion oder Git empfehlenswert.

Falls Sie hier unsicher sind, beraten wir Sie gerne, per Mail oder telefonisch.

Kursinhalt

Test-Strategien und PHPUnit

Wir beginnen mit einem Überblick über verschiedene Test-Strategien und setzen uns anschließend intensiv mit Unit-Tests in PHPUnit auseinander. Mit diesem Wissen wird neue selbstgeschriebene Software getestet.

S.O.L.I.D., Clean Code

Nach dem Verstehen von Unit-Tests zeigt sich dass existierende Software oft nicht einfach mit Unit-Tests testbar ist weil sie nicht den Prinzipien des Objektorientierten Designs folgt. Daher schauen wir uns jetzt S.O.L.I.D. und Clean Code und die Ideen dahinter an. Wenn diese Prinzipien auf realen existierenden Code angewandt werden, realisieren die Entwickler schnell dass diese Art zu programmieren sie effektiver macht – insbesondere in Projekten mit langer Laufzeit. Der Workshop folgt dabei der folgenden Agenda:

Funktionale Tests

Dann zeigen wir eine Alternative zu Unit-Tests auf: Funktionale Tests. Dabei werden Browser instrumentiert um das Frontend direkt zu testen. Dies ist einmal eine gute Grundlage um Geschäftsprozesse zu validieren. Aber auch eine gute Basis für die Refaktorisierung bestehender Applikationen.

Refaktorisieren

Bisher wurde im Verlaufe des Kurses gezeigt, wie saubere und testbare Software entwickelt werden kann. Doch in den seltensten Fällen wird Software vollständig neu entwickelt, sondern existierende Software wird modifiziert wird. Daher zeigen wir nun, wie wir Software so refaktorisieren können, dass diese den neuen Ansrprüchen genügt.

Mit Refaktorisieren ist die Technik gemeint, die internen Strukturen von Source-Code zu verbessern ohne das Verhalten der Software zu ändern. Wir können so Probleme beheben und Seiteneffekte ausräumen, während die Software weiter wie zuvor ihren Dienst verrichtet. Der positive Effekt sind einfachere Änderungen und entsprechend günstigere Weiterentwicklung der Software – und oft sogar schnellerer Code.

Continuous Delivery

Continuous Delivery baut auf Continuous Integration auf und bedeutet, dass die Software regelmäßig automatisch oder halb-automatisch deployed wird. In vielen Szenarios ist es möglich, dass die Software mehrfach täglich oder sogar mehrfach pro Stunde live geht. Dafür müssen die in den letzten Tagen entwickelten Tests automatisch auf einem sogenannten Build-Server ausgeführt werden. Der von uns im Workshop nachvollzogene Weg ist:

Zeitlicher Ablauf