Seite 7 - Monthly Archives: January 2026
-
Maxim Mironjuk
-
Januar 24, 2026
Tests, die nur lokal ausgeführt werden, schützen das Projekt nicht. Erst die Integration in CI/CD macht Testautomatisierung zum Qualitätsgatter – jeder Pull Request wird automatisch geprüft, Coverage-Berichte werden als Artefakte gespeichert und Fehler werden dort gemeldet, wo sie entstehen: im Code, nicht erst beim Deploy. Dieser Artikel zeigt die vollständige CI/CD-Integration von PHPUnit für beide großen Plattformen.
-
Maxim Mironjuk
-
Januar 24, 2026
Eine einzelne offen gebliebene Transaktion kann den Undo-Log von InnoDB unkontrolliert wachsen lassen, Sperren über Minuten halten und Replikation verzögern, ohne dass eine einzige Fehlermeldung erscheint. Dieser Artikel erklärt, wie Long-Running Transactions in MySQL entstehen, wie man sie mit information_schema.innodb_trx zuverlässig aufspürt und mit welchen Timeout- und Batch-Strategien man sie im Anwendungscode von vornherein verhindert.
-
Maxim Mironjuk
-
Januar 24, 2026
Ein --help-Text verschwindet, sobald das Terminal geschlossen wird, eine man-Page bleibt als durchsuchbares, jederzeit über man abrufbares Dokument im System erhalten. Mit pandoc aus einem Markdown-Dokument oder mit help2man direkt aus der --help-Ausgabe lässt sich diese Lücke für ein eigenes Bash-Skript ohne troff-Handarbeit schließen.
-
Maxim Mironjuk
-
Januar 23, 2026
PHP-Arrays akzeptieren als Schlüssel nur Integer und Strings, Objekte werden dabei stillschweigend in Fehler oder in einen unbrauchbaren String konvertiert. SplObjectStorage schließt diese Lücke, indem sie Objekte per Identität als Schlüssel zulässt. Wir zeigen anhand von Objekt-Metadaten und Graph-Traversal, wo das im Alltag wirklich hilft.
-
Maxim Mironjuk
-
Januar 23, 2026
Ein sauberes Toast-System zeigt Erfolg, Fehler und Warnungen konsistent an, verschwindet nach der richtigen Zeitspanne von selbst und bleibt auch für Screenreader-Nutzer verständlich. Mit Tailwind CSS für die Varianten und Alpine.js für Stacking und Timer entsteht daraus eine einzige, projektweit wiederverwendbare Komponente.
-
Maxim Mironjuk
-
Januar 23, 2026
Die Konsole gibt 0.30000000000000004 aus, ein Preisvergleich schlägt fehl, eine Summe von Rechnungsposten weicht um einen Cent ab. Gleitkomma-Präzision ist keine Eigenheit von JavaScript, sondern eine Konsequenz von IEEE 754, betrifft aber gerade JavaScript-Entwickler besonders oft, weil die Sprache nur einen einzigen Zahlentyp kennt. Dieser Artikel erklärt die Ursache und zeigt robuste Lösungen.
-
Maxim Mironjuk
-
Januar 23, 2026
Swiper.js und Slick kommen mit Hunderten von Kilobytes und eigenen JavaScript-Ökosystemen. Ein produktionsreifer Carousel-Slider für Hyvä braucht weder das eine noch das andere – Alpine.js reicht aus für Touch, Keyboard, Auto-Play und ARIA.
-
Maxim Mironjuk
-
Januar 23, 2026
Hinter jedem reactive()-Aufruf steckt ein ES2015-Proxy mit get- und set-Traps, ein WeakMap-Dependency-Graph und ein feingranulares track/trigger-System. Wer die Proxy-Reaktivität von Vue 3 wirklich versteht, erkennt sofort, warum Destrukturierung Reaktivität zerstört und warum manche Objekte niemals reaktiv werden.
-
Maxim Mironjuk
-
Januar 23, 2026
Eine Datenbank Anbindung direkt in Nuxt Server Routes spart ein separates Backend Projekt, bringt aber eigene Fallstricke mit: Connection Pooling in Serverless Umgebungen, Migrations Workflows und die Wahl zwischen Drizzle und Prisma entscheiden über Wartbarkeit und Performance der gesamten Anwendung.
-
Maxim Mironjuk
-
Januar 22, 2026
Drag-and-Drop fühlt sich für Sehende mit Maus intuitiv an: Element greifen, verschieben, loslassen. Für Tastaturnutzer und Screenreader-Anwender existiert dieser Vorgang meist überhaupt nicht, weil er ausschließlich auf Mouse- und Touch-Events aufbaut, ohne dass ein einziges der beteiligten Elemente per Tab erreichbar oder per Enter aktivierbar ist. Wer Produktsortierung im Admin oder eine Wishlist-Reihenfolge ausschließlich per Drag-and-Drop anbietet, schließt damit eine ganze Nutzergruppe faktisch von der Funktion aus.
-