Seite 146 - Mironsoft Blog
-
Maxim Mironjuk
-
Oktober 21, 2025
Seit dem iPhone X mit seiner Notch und dem iPhone 14 Pro mit dem Dynamic Island müssen Webentwickler sicherstellen, dass Inhalte nicht unter Hardware-Elementen verschwinden. CSS env() mit den safe-area-inset-* Variablen ist die standardisierte Lösung — für Browser, PWAs und native WebViews gleichermaßen.
-
Maxim Mironjuk
-
Oktober 20, 2025
Wenn die Suche im Shop falsche oder fehlende Ergebnisse liefert, hilft Raten selten weiter. Systematisches Such-Debugging beginnt mit dem Mitschnitt der tatsaechlichen Elasticsearch-Query, die Magento generiert, laesst diese Query direkt gegen den Cluster laufen und trennt so zuverlaessig, ob das Problem in der Magento-Logik oder im Elasticsearch-Index selbst liegt. Dieser Artikel beschreibt die Methodik Schritt fuer Schritt.
-
Maxim Mironjuk
-
Oktober 20, 2025
Eine langsame CI-Pipeline liegt selten nur an der YAML-Datei. Wie ein Team branched, committet und Pull Requests strukturiert, entscheidet maßgeblich darüber, wie effizient GitHub Actions arbeiten kann.
-
Maxim Mironjuk
-
Oktober 20, 2025
Performance-Regressionen entstehen selten durch eine einzelne dramatische Änderung, sondern durch viele kleine Verschlechterungen, die einzeln unter dem Radar bleiben. Eine CI-Pipeline, die Bundle-Größe und Lighthouse-Metriken bei jedem Pull Request automatisch gegen den Basis-Branch vergleicht, macht diese schleichende Verschlechterung sichtbar, bevor sie den Hauptzweig und damit die Produktion erreicht.
-
Maxim Mironjuk
-
Oktober 20, 2025
Eine PHPUnit-Suite, die zwanzig Minuten läuft, wird im Team ignoriert. Tests werden nicht mehr lokal ausgeführt, Feedback-Loops werden länger und die Qualitätssicherung landet ausschließlich in der CI-Pipeline – zu spät. Dieser Artikel zeigt, wo die Zeit in PHPUnit-Suites wirklich verloren geht und wie man durch Bootstrap-Optimierung, pcov, schlanke Fixtures und Test-Splitting messbare Gewinne erzielt.
-
Maxim Mironjuk
-
Oktober 20, 2025
Wer Swatches für konfigurierbare Produkte nur als Farb-Kästchen ohne durchdachtes State-Management umsetzt, baut sich Preis-, Galerie- und Bestandsfehler auf der Produktdetailseite ein. Eine saubere Alpine.js-State-Machine, ein passendes ViewModel und ein GraphQL-taugliches Datenmodell machen Hyvä-Swatches robust, barrierefrei und cachefreundlich zugleich.
-
Maxim Mironjuk
-
Oktober 20, 2025
Reine Union Types beschreiben ein Entweder-Oder, reine Intersection Types ein Sowohl-als-auch, aber manche Signaturen brauchen beides gleichzeitig. Disjunctive Normal Form Types erlauben seit PHP 8.2 genau diese Kombination mit einer klaren, aber strikt reglementierten Klammersyntax.
-
Maxim Mironjuk
-
Oktober 20, 2025
Wer für jeden Modal-Dialog im Hyvä-Theme eine eigene Alpine-Komponente baut, vervielfacht Wartungsaufwand und Bugs bei Fokus-Handling, Escape-Taste und z-index. Dieser Artikel zeigt, wie eine einzige generische Alpine-Modal-Komponente per Alpine.store gleichzeitig ein Login-Popup und eine Produkt-Größentabelle auf der PDP steuert, inklusive x-teleport gegen Overflow-Clipping, Focus-Trap, Escape- und Klick-außerhalb-Handling sowie CSP-sicherer Umsetzung mit registerInlineScript.
-
Maxim Mironjuk
-
Oktober 20, 2025
Ein Magento-Upgrade, das plötzlich eigene Module zerlegt, liegt fast immer an derselben Ursache: irgendwo im Code wurde eine Klasse erweitert oder überschrieben, die Adobe nie als stabile Schnittstelle zugesagt hat. Wer versteht, was das @api-Tag bedeutet und warum Plugins die sichere Erweiterungsmethode sind, baut Module, die Magento-Updates ohne böse Überraschungen überstehen.
-
Maxim Mironjuk
-
Oktober 20, 2025
x-intersect ist die Alpine.js-Direktive, die den IntersectionObserver Browser-API in eine deklarative HTML-Direktive verwandelt. Damit werden Scroll-Animationen, Lazy Loading von Bildern, einmalige Trigger und beobachtete Sektionen zur reinen HTML-Aufgabe – ohne eine Zeile manuellen JavaScript-Observer-Code.
-