Seite 18 - Monthly Archives: February 2026
-
Maxim Mironjuk
-
Februar 04, 2026
Wer Inhalte für Screenreader bereitstellen will, ohne sie visuell anzuzeigen, greift oft reflexartig zu display:none. Das entfernt den Text aber komplett aus dem Accessibility Tree. Das sr-only Utility in Tailwind CSS löst genau dieses Problem: visuell unsichtbar, für assistive Technologien vollständig lesbar. Dieser Artikel zeigt, wie sr-only technisch funktioniert und wo es in echten Projekten den Unterschied macht.
-
Maxim Mironjuk
-
Februar 04, 2026
Vue 3 Reaktivität ist keine Magie — sie ist ein präzises System aus JavaScript Proxy, Dependency-Tracking und Scheduling. Wer versteht, wie ref(), reactive(), computed() und watch() intern arbeiten, macht keine Reaktivitätsfehler mehr, wählt das richtige Tool für jeden Anwendungsfall und weiß sofort, warum eine Komponente sich nicht neu rendert. Dieser Artikel erklärt das Reaktivitätssystem vollständig und praxisnah.
-
Maxim Mironjuk
-
Februar 04, 2026
Ein gewöhnliches Array als Cache mit Objekten als Schlüsseln oder Werten verhindert, dass diese Objekte jemals vom Garbage Collector eingesammelt werden, solange der Cache selbst existiert, und genau das führt in lang laufenden Prozessen zu schleichenden Memory Leaks. WeakMap löst dieses Problem strukturell, indem der Cache selbst keinen Einfluss mehr auf die Lebensdauer der referenzierten Objekte nimmt.
-
Maxim Mironjuk
-
Februar 04, 2026
Ein eigenes Observer-Pattern hat fast jeder PHP-Entwickler schon einmal gebaut, meist mit einer Subject-Klasse und einer Liste von Callbacks. PSR-14 formalisiert dieses Muster in zwei klar getrennte Verträge. Wir implementieren beide selbst, inklusive Stoppable Events, und bauen daraus einen praktischen Domain-Event-Mechanismus ohne Framework.
-
Maxim Mironjuk
-
Februar 04, 2026
Ein gewöhnliches PHP-Array ist intern eine geordnete Hashtabelle mit erheblichem Overhead pro Element, selbst wenn ausschließlich fortlaufende Integer-Schlüssel verwendet werden. SplFixedArray, SplStack, SplQueue und SplHeap bieten spezialisierte, speichereffiziente Datenstrukturen, die diesen Overhead bei großen, klar strukturierten Datenmengen spürbar reduzieren.
-
Maxim Mironjuk
-
Februar 04, 2026
JSON-Spalten geben einer relationalen Datenbank genau die Modellierungsfreiheit, die sonst als Argument fuer einen NoSQL-Wechsel dient, ohne auf Transaktionen, Joins und referentielle Integritaet zu verzichten. Wer JSONB in PostgreSQL oder JSON in MySQL richtig indiziert, abfragt und validiert, deckt viele semi-strukturierte Anwendungsfaelle innerhalb der bestehenden Datenbank ab.
-
Maxim Mironjuk
-
Februar 04, 2026
x-model synchronisiert Eingabefelder mit Alpine-Daten – aber standardmäßig bei jedem Tastendruck. Mit .lazy, .debounce und .number wird aus einem einfachen Two-Way-Binding ein präzises Werkzeug für API-Calls, Zahleneingaben und performance-optimierte Formulare.
-
Maxim Mironjuk
-
Februar 04, 2026
DATE_FORMAT, ISO-Wochen, Lücken im Datumsverlauf füllen, UTC-Konvertierung und Vorjahresvergleiche – die häufigsten Fallstricke bei zeitbasierten SQL-Auswertungen.
-
Maxim Mironjuk
-
Februar 04, 2026
Ein eigener GitLab Runner gibt Teams volle Kontrolle über Build-Umgebung, Sicherheit und Zugriffspfade. Dieser Artikel erklärt die Installation auf Linux, die Registrierung mit Docker-Executor, Tags, Sicherheitseinstellungen und die Magento-spezifische Konfiguration — Schritt für Schritt und vollständig.
-
Maxim Mironjuk
-
Februar 03, 2026
Wer Rechnungen als PDF individuell gestalten will, landet unweigerlich bei Pdf\AbstractPdf, Pdf\Invoice und Zend_Pdf, nicht bei der Sales-Business-Logik. Dieser Artikel zeigt, wie eine gezielte Preference statt einer vollstandigen Klassenkopie die PDF-Generierung erweitert, wie eigene Renderer per di.xml registriert werden und wie sich Rechnungen als PDF performant per CLI-Batch oder Message Queue statt synchron im Checkout erzeugen lassen.
-