PHP_CodeSniffer oder PHP-CS-Fixer?
Sollte PHP_CodeSniffer oder PHP-CS-Fixer verwendet werden, um Code "in Form" zu bringen? Sollten gar beide Werkzeuge zusammen verwendet werden?
PCOV oder Xdebug?
Sollte PCOV oder Xdebug verwendet werden, um Code Coverage-Daten zu sammeln? Sebastian Bergmann gibt eine persönliche Antwort.
PHPUnit Code Sprint: März 2024
Sebastian Bergmann berichtet seine Erfahrungen vom letzten Code-Sprint des PHPUnit-Projekts.
O Brother, where art thou?
Warum bringen einzelne Veränderungen nicht den gewünschten Erfolg?
Domain-Driven Design mit PHP
Mehr Fachlichkeit statt Technologie-Details: Diese Entwurfsmuster aus dem Domain-Driven Design sollten Sie kennen und anwenden können.
PHP 7: Security-Support endet. Was nun?
Der Security-Support für PHP 7 ist beendet. Was bedeutet das für Sie?
Wie ich Testinventar verwalte
Eine Best Practice im Wandel der Zeit: eine Reflektion über alte und neue Wege, um die Testumgebung für einen Unit-Test zu erzeugen.
Wie heißen Deine Konstruktoren?
PHP unterstützt kein Überladen von Konstruktoren. Named Constructors schaffen Abhilfe. Doch wie benennen wir diese am besten?
A Friday for Green IT
Was trägt die IT-Branche zum Klimawandel bei? Eine Panel-Diskussion auf unserer Konferenz lieferte zu dieser Frage interessante Erkenntnisse.
Gemeinsam
Es war schon immer da, aber wir haben es nicht gesehen. Vielleicht wollten wir es auch nicht sehen.
Bereit oder nicht: es geht los
Ist Ihre Software bereit für PHP 8.1? Jetzt ist es an der Zeit, das herauszufinden.
Ketchup oder Mayo?
In einer Pommesbude gibt es ein paar Speisen und dazu Getränke. Da kann Gründen ja nicht besonders schwierig sein.
Software-Entwicklung und Profisport
Der Vergleich zwischen Software-Entwicklung und Profisport kann erschrecken. Es geht hier allerdings nicht um Bewegungsmangel bei Entwicklern.
Mocke nicht, was Dir nicht gehört
Abstraktion ist ein zentrales Themen beim Programmieren. Gibt jedoch ein Drittanbieter eine Abstraktion vor, kann es beim Testen Probleme geben.
Migration auf PHPUnit 9
Im Spannungsfeld zwischen Rückwärtskompatibilität und Fortschritt darf eine gute Developer Experience nicht zu kurz kommen.
Mit Cache wird alles schneller. Oder?
Sebastian Bergmann berichtet von einem spannenden Problem, das bei der Arbeit an PHPUnit aufkam.
Wir haben gar kein Framework im Einsatz
Ist ein eigenes Framework besser als eine Standardlösung? Oder kann man auf ein Framework ganz verzichten?
Entwickler gesucht, Maintainer gefunden
Es ist sehr schwierig, gute Entwickler zu finden. Schon mal versucht, stattdessen einen Maintainer zu suchen?
Scheiternde IT-Projekte
Sebastian Bergmann erklärt, wie man aus gescheiterten IT-Projekten lernen kann.
Kaputt gespart
Arne Blankerts erklärt, warum man seine Abhängigkeiten aktuell halten sollte.
Wer hat an der Uhr gedreht?
Sebastian Bergmann erklärt, warum PHPUnit nicht mehr auf die Uhr schaut.
Adieu, IT-Konferenz
Das Coronavirus verändert unser Leben. Welche Auswirkungen hat die Pandemie auf die Zukunft von IT-Konferenzen?
Besseres Design dank CQRS
Getter lesen und Setter schreiben. Was passiert, wenn man diese Idee auf die Architektur einer Anwendung anwendet?
Automation und Edge Cases
Die Corona-Pandemie zwingt uns zu neuen Auslegungen des Begriffs "Edge Case". Das führt zu interessanten IT-Problemen.
PHPUnit: Ein Sicherheitsrisiko?
Sebastian Bergmann erklärt, warum PHPUnit auf einem Webserver nichts zu suchen hat.
Hilfe! Meine Tests funktionieren nicht mehr
Tests auf Knopfdruck ausführen ist eine tolle Sache. Das Testwerkzeug auf Knopfdruck aktualisieren klingt ebenfalls vielversprechend - oder vielleicht doch nicht?
Schatten der Vergangenheit
Installationprogramme sind lohnende Angriffsziele, auch wenn sie keiner mehr benutzt. Hintergründe zum Einbruch in die PEAR-Infrastruktur des PHP-Projekts.
Wer zahlt für PHP?
Da es keine Unterstützung durch ein Unternehmen oder eine gemeinnützige Organisation gibt, wer bezahlt die Entwicklung und Wartung von PHP - und wie?
Schnellere Code Coverage
Sebastian Bergmann und Sebastian Heuer erzählen, wie sie die Code Coverage-Funktionalität von PHPUnit schneller gemacht haben.
Die Zukunft von Zend
Einige Schlüsselpersonen haben angekündigt, dass sie Rogue Wave verlassen werden. Gefährdet das die Zukunft von PHP?
Microservices in der Mittagspause
Die richtige Dekomposition ist ein entscheidender Erfolgsfaktor für Microservice-Architekturen. Hier ist der Grund dafür.
Konferenzen: zum Spaß oder für Geld?
Wie viel Geld Konferenzsprecher in der PHP-Community tatsächlich verdienen.
Warum Entwickler Code schreiben
Wenn sie nicht gerade in Meetings sind, schreiben Entwickler oft Programmcode. Warum ist dieser eigentlich immer so schwer zu verstehen?
Testen hält mich von der Arbeit ab
Das Schreiben von Unit Tests braucht Zeit. Lohnt sich dieser Aufwand wirklich?
Der Todesstern
Sebastian Bergmann erklärt, warum die Verwendung einer zu offenen Versionsbeschränkung zu Problemen führen kann.
PHP 5: Aktiver Support endet. Was nun?
Der aktive Support für PHP 5 ist beendet. Was bedeutet das für Sie?
PHPUnit: Best Practices hinterfragen
Best Practices sind nicht in Stein gemeißelt und müssen von Zeit zu Zeit hinterfragt und gegebenenfalls angepasst werden.
Wie man Daten validiert
Die Validierung von Daten scheint eine der wichtigsten Aufgaben einer Anwendung zu sein. Schließlich kann man Daten aus externen Quellen nicht vertrauen.
Über Hackathons
Hackathons machen Spaß können sehr lehrreich sein. Aber vermitteln sie den Teilnehmern auch die richtigen Werte?
Versteckte Abhängigkeiten
Das Herumreichen eines Service-Locators ist eine schlechte Idee, weil es Abhängigkeiten verschleiert. Aber wie können wir es vermeiden?
Von .phtml zu Domain-Driven Design
Arne Blankerts erinnert sich, wie er zum ersten Mal mit PHP in Kontakt kam.
Wird das WWW das next big thing?
Von Enterprise-Software zu Skriptsprachen: Stefan Priebsch erinnert sich, warum und wie er vor über 15 Jahren das erste Mal mit PHP in Kontakt kam.
Vom Amiga über Perl zu PHP
Sebastian Bergmann erinnert sich, wie er zum ersten Mal mit PHP in Kontakt kam.
Den Wandel vorantreiben
Sie sind nicht ganz zufrieden damit, wie es in Ihrem Team oder Ihrer Organisation läuft? Es gibt einen einfachen Weg, um Veränderungen anzustoßen.
PHP 7 bricht Abwärtskompatibilität
Wie im Rahmen eines neuen Major-Releases wie PHP 7 zu erwarten ist, gibt es Brüche in der Abwärtskompatibilität. Wie ist damit umzugehen?
Bessere Tests für Joomla
In einem Code Sprint zur Verbesserung der Joomla-Testumgebung wurden Fehler in PHPUnit und PHP selbst gefunden und beseitigt.
Bessere PHPUnit-Unterstützung in TYPO3
Sebastian Bergmann hat an einem Code Sprint teilgenommen, um die PHPUnit TYPO3 Extension zu verbessern.
Desintegrationstests
Sebastian Bergmann nutzt den Mars Climate Orbiter der NASA als Aufhänger, um verschiedene Testarten zu diskutieren.
Lohnt sich kontinuierliche Integration?
Ab welcher Projektgröße lohnt sich kontinuierliche Integration in PHP-Projekten?
Man ist, was man isst
Sebastian Bergmann verwendet das Personal einer Profiküche als Metapher für ein Entwicklungsteam, das qualitativ hochwertige Software liefern will.
Neugier und Perfektionismus
Ein Vater von dreijährigen Zwillingen sieht erstaunliche Parallelen zwischen heranwachsenden Kindern und Software-Entwicklung.
Integrationstests - das fehlende Bindeglied
Systemtests geben wenig Hinweise auf Fehlerursachen. Unit-Tests dagegen machen keine Aussage über das Verhalten einer Anwendung. Integrationstests schließen diese Lücke.
Unsere Adserver sind sicher
Online-Werbung ist nicht nur lästig, sondern sie wirft auch eine Reihe von technischen Problemen auf.
Großstadtlegenden und Fehlerbehandlung
Wir alle kennen Geschichten, die mit "Ich habe von jemandem gehört" beginnen. Sind sie wahr, oder nur eine Großstadtlegende?
Betrugserkennung im Alltag
Wenn man sich anschaut, wie Kreditkarten im Alltag verwendet werden, ist es erstaunlich, dass ein so inhärent unsicheres System überlebt hat, da es gegen fast jede Regel verstößt, die es in Bezug auf Sicherheit gibt.
Blindes Vertrauen
Ein Kurztrip zum Bahnhof wird zu einer Odyssee. Was sich daraus über Testautomation, technische Schulden und Qualitätsziele lernen lässt.
Experimentelle Bahnübergänge
Welchen Einfluss wird ein beschrankter Bahnübergang auf den Verkehrsfluss einer Kleinstadt haben? Darüber kann man streiten oder ein kontrolliertes Experiment durchführen.
Das schwächste Glied in der Kette
Arne Blankerts analysiert einen Einbruch in seine eigene Wohnung, um daraus Erkenntnisse für die Härtung von PHP-Systemarchitekturen zu gewinnen.
Software Development Fluxx
Sebastian Bergmann nutzt das Kartenspiel Star Fluxx als Metapher, um über agile Softwareentwicklung, objektorientiertes Design und Qualitätssicherung zu diskutieren.
Daten, Persistenz und meine Bratpfanne
Stefan Priebsch verwendet die Bratpfanne als Metapher, um den Unterschied zwischen relationalen und nicht-relationalen Datenbanken zu erklären.
Einfahrt verboten!
Arne Blankerts verwendet Verkehrsregeln als Metapher, um den Unterschied zwischen dem bloßen Vorhandensein von Regeln für die Sicherheit und ihrer tatsächlichen Durchsetzung zu erklären.
Wenn es heiß wird
Wenn die Klimaanlage nicht funktioniert, kann es an Bord eines ICE im Sommer so richtig heiß werden. Ein Plädoyer für Qualitätsziele.
Fußball für Projektmanager
Stefan Priebsch zeigt anhand der Metapher Fußball, wie man Projekte so managen kann, dass man auf die Hindernisse, die einem begegnen können, vorbereitet ist.
Spaces oder Tabs?
Entwickler fragt man besser nicht, welches Betriebssystem das Beste ist. Oder ob man mit Tabulatoren oder Leerzeichen einrücken soll.
Haben Sie unsere Kundenkarte?
Sammeln Sie Meilen? Sind Sie Mitglied in unserem Bonusprogramm? So langsam nervt es wirklich, dass man bei jedem Einkauf so etwas gefragt wird.
Sechzig Prozent Qualität
Sebastian Bergmann verwendet Hotelbewertungen als Metapher, um Qualitätsziele für Softwareprojekte zu erklären.
Das große Ganze sehen
Die Menschheit baut schon seit über 5000 Jahren Gebäude. Software-Entwicklung dagegen ist eine noch sehr junge Disziplin.
Annahmen
Die Mehrheit der Entscheidungen, die wir jeden Tag treffen, und damit der Kern unserer Interaktionen basiert fast immer auf Annahmen.