Seite 12 - Monthly Archives: January 2025
-
Maxim Mironjuk
-
Januar 19, 2025
Ein Tooltip, der nur bei Mausbewegung erscheint, bleibt für Tastaturnutzer und Screenreader unsichtbar. Barrierefreie Tooltips mit Tailwind CSS verknüpfen Zusatzinformationen über aria-describedby, reagieren auf Hover und Fokus gleichermaßen und schließen sich zuverlässig per Escape.
-
Maxim Mironjuk
-
Januar 19, 2025
Nicht jede Zufallszahl in PHP ist gleich sicher. Während rand() und mt_rand() für Spiele und Simulationen ausreichen, sind sie für Tokens, Passwort-Reset-Links oder kryptographische Schlüssel gefährlich vorhersagbar. random_bytes, random_int und die Randomizer-Klasse aus PHP 8.2 liefern echte, kryptographisch sichere Zufallswerte für genau diese Fälle.
-
Maxim Mironjuk
-
Januar 19, 2025
Eine Teststrategie, die nur im Wiki dokumentiert ist, verändert das Verhalten eines Teams nicht von selbst. Erst wenn Pyramidendenken im Code Review, in der Definition of Done und in einer schrittweisen Migration bestehender Tests verankert wird, entsteht eine gesunde Verteilung zwischen schnellen Unit Tests und teuren End to End Tests, die auch unter Zeitdruck Bestand hat.
-
Maxim Mironjuk
-
Januar 19, 2025
Eine Pipeline für Magento 2 soll nicht nur hübsch aussehen, sondern echte Risiken früh stoppen und trotzdem schnell genug bleiben, damit das Team sie nicht als Bremsklotz empfindet. Genau diese Balance entscheidet, ob GitHub Actions im Projekt wirklich trägt.
-
Maxim Mironjuk
-
Januar 18, 2025
Ein isolierter Observer-Test ruft die Observer-Klasse direkt auf und prueft nie, ob das Event ueberhaupt in events.xml korrekt verdrahtet ist. Ein end-to-end Test ueber den echten Event-Dispatch deckt genau diese Luecke ab.
-
Maxim Mironjuk
-
Januar 18, 2025
Wenn eine PHP-Anwendung an eine harte Rechenleistungsgrenze stößt, führte der klassische Weg früher immer über eine eigene C-Erweiterung mit eigenem Build-Prozess. FFI erlaubt es, bestehende native Bibliotheken direkt aus PHP-Code heraus anzusprechen, ganz ohne Compiler-Toolchain im Deployment, und macht damit performancekritischen Code für viel mehr Projekte praktikabel als früher.
-
Maxim Mironjuk
-
Januar 18, 2025
Der Symfony Profiler ist mehr als die Debug-Leiste am Seitenrand. Er zeigt präzise, welche Datenbankabfragen eine Seite ausbremsen, wo Event-Listener übermäßig viel Zeit verbrauchen, welche Caches nicht greifen und wie viel Memory ein Request verbraucht – alles auf Knopfdruck, ohne einen einzigen Code-Änderung.
-
Maxim Mironjuk
-
Januar 18, 2025
Formulare sind der kritischste Berührungspunkt jeder Website für Menschen mit Screenreadern, denn ohne korrekte label-Zuordnung, sinnvolle fieldset- und legend-Gruppierung und eindeutig kommunizierte Pflichtfelder bleibt ein Checkout schlicht unbedienbar. Dieser Artikel zeigt anhand eines praktischen Adressformulars, wie Magento- und Hyvä-Entwickler Formulare semantisch korrekt aufbauen, Fehler barrierefrei kommunizieren und WCAG-konforme Eingabehilfen umsetzen.
-
Maxim Mironjuk
-
Januar 18, 2025
Composer und npm neu von null zu starten kostet in jedem Build Minuten. Die gute Nachricht: beide Package-Manager haben robuste lokale Caches, die zwischen Docker-Builds persistent gehalten werden können, ohne die Image-Größe zu erhöhen. Der Schlüssel liegt in der richtigen Trennung von Lock-File-Layer, Vendor-Layer und Cache-Mount — und in dem Verständnis, wann welcher Cache-Typ der richtige ist.
-
Maxim Mironjuk
-
Januar 18, 2025
Wer ein eigenes Dropdown oder eine Combobox baut statt ein natives HTML-Element zu nutzen, übernimmt die volle Verantwortung für Tastaturbedienung, Fokus und Screenreader-Ankündigung. Dieser Artikel zeigt Schritt für Schritt, wie ein barrierefreies Custom Widget nach den WAI-ARIA Authoring Practices entsteht, mit korrektem role, aria-expanded, aria-activedescendant und echten Tests mit einem Screenreader vor dem Release.
-