Seite 2 - Monthly Archives: November 2025
-
Maxim Mironjuk
-
November 29, 2025
Viewport-Breakpoints reichen nicht – Komponenten müssen auf ihre eigene Größe reagieren, nicht auf die Fensterbreite. x-resize bringt den ResizeObserver deklarativ in Alpine.js, ohne eine Zeile Boilerplate-Code.
-
Maxim Mironjuk
-
November 29, 2025
Seit MySQL 8 lassen sich Baumstrukturen und andere hierarchische Daten über WITH RECURSIVE direkt in SQL auflösen, ohne dafür rekursive Anwendungslogik oder eine feste Anzahl von Self-Joins zu benötigen. Die grundlegende Syntax folgt dem SQL-Standard, doch MySQL bringt einige eigene Implementierungsdetails mit, von der internen Umsetzung als UNION-Schleife bis zum konfigurierbaren Endlosschleifen-Schutz über cte_max_recursion_depth. Dieser Artikel zeigt, wie rekursive CTEs in MySQL intern arbeiten, wo typische Fallstricke liegen und wie sich ein Magento-Kategoriebaum damit praktisch und performant auflösen lässt.
-
Maxim Mironjuk
-
November 29, 2025
env() ist den meisten nur über die vier Safe-Area-Insets bekannt, mit denen sich Layouts an Notch oder Dynamic Island anpassen, dabei ist es ein allgemeiner Mechanismus für Environment-Variablen, die Browser oder Betriebssystem bereitstellen. Hier steht, was darüber hinaus existiert, einschließlich autoren-definierter Variablen, Viewport Segments für faltbare Geräte, und eine klare Abgrenzung zu Custom Properties.
-
Maxim Mironjuk
-
November 28, 2025
Einen Submit-Button in einer tief verschachtelten Formular-Komponente zu deaktivieren, während das Formular abgeschickt wird, erfordert bislang Prop-Drilling oder externen State. useFormStatus macht diesen Zustand ohne beides zugänglich.
-
Maxim Mironjuk
-
November 28, 2025
Seit iOS 14.5 muss jede App, die einen Nutzer geräteübergreifend zu Werbezwecken verfolgen will, vorher explizit um Zustimmung fragen. Wird der Prompt falsch eingebunden oder zur falschen Zeit gezeigt, verlieren Analytics- und Werbe-SDKs wertvolle Signale. Dieser Artikel zeigt die technische Funktionsweise, die praktische Einbindung und die konkreten Folgen einer Ablehnung.
-
Maxim Mironjuk
-
November 28, 2025
Pagination entscheidet über Ladezeit und Konsistenz jedes Listen-Endpunkts. Dieser Artikel zeigt, warum klassische Offset-Pagination bei wachsenden Tabellen langsam wird, wie Cursor-basierte Keyset-Pagination in PHP funktioniert und wie opake Cursor-Tokens robust kodiert werden.
-
Maxim Mironjuk
-
November 27, 2025
In Magento-Projekten mit mehreren parallel arbeitenden Entwicklern und regelmäßigen Modul-Updates gehört ein Merge-Konflikt in composer.lock zu den häufigsten und gleichzeitig am häufigsten falsch gelösten Git-Problemen. Die Datei ist maschinengeneriert, mehrere tausend Zeilen lang und enthält einen Hash, der zur eigentlichen composer.json passen muss, weshalb ein manuelles Zusammenführen der Konfliktmarker fast immer zu einer inkonsistenten, aber scheinbar gültigen Datei führt. Dieser Artikel zeigt den korrekten Lösungsweg und wie sich solche Konflikte im Team von vornherein reduzieren lassen.
-
Maxim Mironjuk
-
November 27, 2025
Ein guter Code-Review-Workflow in GitLab lebt nicht von guten Vorsaetzen, sondern von den richtigen Werkzeugen: anwendbare Suggestions, sauber aufgeloeste Diskussions-Threads und Strategien, um auch grosse Diffs in vertretbarer Zeit zu pruefen.
-
Maxim Mironjuk
-
November 27, 2025
map(), filter(), take(), drop() und reduce() gibt es jetzt direkt auf Iteratoren, mit Lazy Evaluation statt vollstaendiger Materialisierung als Array.
-
Maxim Mironjuk
-
November 27, 2025
Swoole Coroutines erlauben es, in PHP tausende gleichzeitige Aufgaben effizient zu bearbeiten, ohne Threads oder zusätzliche Prozesse zu starten. Wer versteht, wie der Coroutine-Scheduler kooperativ arbeitet und wie Channels und WaitGroup Ergebnisse synchronisieren, kann mit Swoole Coroutines echte Parallelität in PHP nutzen, ohne die klassischen Fallstricke von Threading zu erben.
-