Seite 245 - Maxim Mironjuk
-
Maxim Mironjuk
-
Juni 06, 2025
Ein main-Branch ohne Schutz ist nur einen falschen Force-Push von einem Totalschaden entfernt. Dieser Artikel zeigt, was Protected Branches auf GitHub und GitLab wirklich verhindern, wie Required Status Checks und Approval-Regeln funktionieren, welche Rolle CODEOWNERS spielt und mit welcher Baseline Magento- und Hyvä-Agenturen ihren main-Branch praxistauglich absichern, ohne das Team auszubremsen.
-
Maxim Mironjuk
-
Juni 06, 2025
Ein Skeleton Screen, also ein Platzhalter-Layout aus grauen Boxen und Balken, das während des Ladens anstelle des eigentlichen Inhalts angezeigt wird, hat sich in den letzten Jahren als Standardmuster für wahrgenommene Ladezustände etabliert. Der entscheidende Punkt, der dabei oft übersehen wird, ist, dass ein Skeleton Screen die gefühlte Wartezeit verkürzt, ohne die technischen Core-Web-Vitals-Werte wie Largest Contentful Paint tatsächlich zu verbessern, und unter bestimmten Umständen sogar den Cumulative-Layout-Shift-Wert verschlechtern kann. Dieser Artikel erklärt, warum Skeleton Screens psychologisch wirken, wo ihre technischen Grenzen liegen, wie sich das CLS-Risiko beim Übergang zum echten Inhalt vermeiden lässt und wann ein einfacher Spinner die pragmatischere Wahl ist.
-
Maxim Mironjuk
-
Juni 05, 2025
Ein GraphQL-Schema ohne Review-Prozess entwickelt sich unkontrolliert: Breaking Changes, inkonsistente Namenskonventionen und fehlende Dokumentation schleichen sich ein. Dieser Artikel zeigt, welche Punkte vor jedem Merge geprüft werden sollten – manuell und automatisch mit Tooling.
-
Maxim Mironjuk
-
Juni 05, 2025
Seit dem Lizenzwechsel von Elasticsearch und Kibana im Januar 2021 entwickeln sich OpenSearch Dashboards und Kibana als zwei eigenständige Projekte auseinander. Für Magento-Betreiber, die Suchanalysen, Layered-Navigation-Auswertungen oder Reindex-Monitoring visualisieren wollen, stellt sich damit die Frage, welches Werkzeug langfristig die passendere Basis ist.
-
Maxim Mironjuk
-
Juni 05, 2025
Shell-Befehle aus PHP mit exec() oder shell_exec() auszuführen ist gefährlich, schwer zu testen und bietet keine Kontrolle über Timeouts oder Ausgabe-Streaming. Die Symfony Process Component löst alle diese Probleme – mit einer klaren API für Shell-Prozesse, die in Tests mockbar ist und in der Produktion zuverlässig läuft.
-
Maxim Mironjuk
-
Juni 05, 2025
Eine klassische Redis-ACL-Regel legt für einen Nutzer eine Liste erlaubter Befehle und ein einziges Key-Pattern fest. Das reicht für einfache Rollen, scheitert aber, sobald ein Nutzer je nach Befehlsgruppe unterschiedliche Zugriffsrechte auf unterschiedliche Schlüsselbereiche braucht. ACL Selectors lösen genau dieses Problem, indem sie mehrere unabhängige Berechtigungsregeln innerhalb desselben Nutzers erlauben. Wie Selectors technisch funktionieren und wie sich damit ein realistisches Multi-Team-Setup abbilden lässt, zeigt dieser Artikel.
-
Maxim Mironjuk
-
Juni 05, 2025
Ohne klare Repository-Governance sind selbst gut geschriebene Pipelines organisatorisch fragil. Projekte, Gruppen, Zugriffsrollen und Protected Branches bilden das Fundament, auf dem sichere Magento-Deployment-Serien aufgebaut werden können.
-
Maxim Mironjuk
-
Juni 05, 2025
PHP-Teams schreiben täglich dieselben Boilerplate-Muster: ViewModels mit Constructor Property Promotion, Service-Interfaces mit Repository-Konventionen, PHPDoc-Blöcke für Magento-Klassen. Live Templates und Postfix Templates in PhpStorm reduzieren diese repetitiven Schreibaufgaben auf wenige Tastendrücke – und können als Team-Bibliothek geteilt werden.
-
Maxim Mironjuk
-
Juni 04, 2025
Jede Textzeile im Browser trägt unsichtbaren Leerraum über und unter den eigentlichen Buchstaben, eine Folge der Schriftart-Metriken, die für den Zeilenabstand reserviert werden. Mit text-box-trim und text-box-edge lässt sich dieser Leerraum gezielt kappen, ohne die fragilen negative Margin Tricks, die Layouts bei jedem Font-Wechsel neu justieren mussten.
-
Maxim Mironjuk
-
Juni 04, 2025
Ein einzelner DEL-Befehl wirkt harmlos, kann bei einer Collection mit Millionen Elementen aber den gesamten Redis-Server für mehrere hundert Millisekunden einfrieren. Lazy Freeing verlagert die eigentliche Speicherfreigabe in einen Hintergrund-Thread und macht das Löschen großer Keys unabhängig von ihrer internen Größe spürbar schnell.
-