Seite 22 - Monthly Archives: December 2025
-
Maxim Mironjuk
-
Dezember 04, 2025
PHPStan ist der mächtigste statische Analyzer für PHP — aber in Symfony-Projekten stoßen Teams schnell auf Grenzen: magische Methoden in Repositories, Doctrine-Spaltentypen die sich von PHP-Typen unterscheiden, Container-Parameter ohne Typen und komplexe Generic-Annotierungen. Dieser Beitrag zeigt, wie man PHPStan in Symfony systematisch auf Level 9 bringt.
-
Maxim Mironjuk
-
Dezember 04, 2025
PHP-FPM verarbeitet jeden Request in einem eigenen, synchronen Worker-Prozess, der erst dann wieder für den nächsten Request zur Verfügung steht, wenn die aktuelle Anfrage vollständig abgeschlossen ist. Blockierende Redis-Commands wie BLPOP, BRPOP oder XREAD BLOCK warten aktiv auf ein Ereignis, bevor sie zurückkehren, und passen damit fundamental nicht zu diesem Modell: Ein einzelner solcher Aufruf innerhalb eines Magento-Controllers oder Plugins kann einen kompletten PHP-FPM-Worker für Sekunden oder gar Minuten belegen, während andere Besucher auf freie Worker warten müssen. Dieser Artikel zeigt, warum diese Commands in Webprozessen problematisch sind, wo sie in der Praxis versehentlich landen können und welche Alternativen für ereignisgesteuerte Abläufe in einer synchronen PHP-Architektur tatsächlich funktionieren.
-
Maxim Mironjuk
-
Dezember 04, 2025
scroll-behavior: smooth verwandelt Sprünge zu Anker-Zielen in eine animierte Bewegung, aber genau diese Animation kann bei Menschen mit vestibulären Störungen echte körperliche Beschwerden auslösen. Das robuste Pattern aktiviert smooth scrolling ausschließlich innerhalb von @media (prefers-reduced-motion: no-preference), sodass die explizite Entscheidung des Betriebssystems immer gewinnt.
-
Maxim Mironjuk
-
Dezember 04, 2025
Ein zu breiter INT, ein VARCHAR-Feld, das eigentlich TEXT sein sollte, oder FLOAT statt DECIMAL für Geldbeträge summieren sich in großen Tabellen zu erheblichem, oft übersehenem Speicherplatzbedarf und Performance-Verlust. Die Wahl des richtigen Datentyps ist eine der günstigsten Optimierungen im gesamten Datenbankdesign. Dieser Artikel erklärt die wichtigsten Datentyp-Entscheidungen mit konkreten Sizing-Regeln.
-
Maxim Mironjuk
-
Dezember 04, 2025
Eine eigene GraphQL Mutation in Magento 2 ist mehr als ein neuer Endpunkt: sie verbindet Schema-Deklaration, Resolver-Logik, Validierung, Transaktionssicherheit und Cache-Invalidierung zu einem konsistenten Ganzen. Wer diese Bausteine sauber trennt, bekommt eine Mutation, die sich wie ein natives Magento-Feature anfühlt und in produktiven Storefronts zuverlässig läuft.
-
Maxim Mironjuk
-
Dezember 04, 2025
Jahrelang war eine Transition von oder zu einem auto-Wert in CSS schlicht nicht möglich, weil der Browser keinen numerischen Zwischenwert für auto berechnen konnte. Mit calc-size() und der Eigenschaft interpolate-size ändert sich das grundlegend: Der Browser darf jetzt selbst einen numerischen Anfangs- oder Endwert für auto ermitteln und dazwischen sauber animieren, ganz ohne JavaScript-Messungen oder feste Pixelwerte.
-
Maxim Mironjuk
-
Dezember 03, 2025
Claude Code fragt vor jeder Datei-Änderung und jedem Bash-Befehl um Erlaubnis, sofern niemand bewusst andere Regeln festlegt. Dieser Artikel erklärt die Permission-Modi, zeigt anhand von settings.json- und Hook-Beispielen, welche Aktionen sich sicher automatisieren lassen, und wo eine bewusste Bestätigung vor destruktiven Befehlen und Remote-Pushes unverzichtbar bleibt.
-
Maxim Mironjuk
-
Dezember 03, 2025
Ein Deadlock in InnoDB ist kein Bug, sondern eine unvermeidliche Konsequenz paralleler Transaktionen, die sich gegenseitig blockieren. Dieser Artikel zeigt, wie man den Deadlock-Report von SHOW ENGINE INNODB STATUS liest, welche Muster in der Praxis immer wieder auftreten, und wie Retry-Logik zusammen mit konsistenter Lock-Reihenfolge Deadlocks systematisch reduziert.
-
Maxim Mironjuk
-
Dezember 03, 2025
Nach jedem Deployment und nach jedem manuellen Cache-Flush startet ein Magento-Shop mit einem vollständig leeren Full-Page-Cache, und genau in diesem Moment treffen die ersten echten Besucher auf einen Server, der jede Seite frisch aus PHP und Datenbank rendern muss. Bei einem Shop mit nennenswertem Traffic entsteht dadurch ein klassisches Thundering-Herd-Problem, bei dem viele parallele Requests gleichzeitig auf dieselbe ungecachte Ressource treffen und den Server unnötig unter Last setzen. Dieser Artikel zeigt, wie sich kritische Seiten wie Startseite, Top-Kategorien und Bestseller systematisch per Skript vorwärmen lassen, bevor echte Besucher betroffen sind, und wo der Unterschied zwischen reaktivem und proaktivem Cache-Warmup liegt.
-
Maxim Mironjuk
-
Dezember 03, 2025
Die Google Search Console liefert täglich neue Daten, doch die meisten Shops nutzen nur einen Bruchteil davon. Dieser Artikel zeigt, wie Performance-, Coverage-, Core-Web-Vitals-, Links- und Sitemaps-Berichte korrekt gelesen werden und wie E-Mail-Alerts frühzeitig vor Rankingverlusten warnen, damit Magento-Shops fundierte SEO-Entscheidungen treffen.
-