Seite 12 - Mironsoft Blog
-
Maxim Mironjuk
-
April 27, 2026
Ein einzelner Freigabeprozess für alle Codeänderungen behandelt ein generiertes CRUD-Formular genauso wie eine Änderung an der Zahlungsabwicklung. Ein risikobasierter Freigabeprozess für KI-generierten Code unterscheidet nach Systembereich, verlangt Pflicht-Reviewer für kritische Pfade und verankert automatisierte Gates in der CI-Pipeline, statt sich auf gute Absichten zu verlassen.
-
Maxim Mironjuk
-
April 27, 2026
Ohne klare Hyvä Theme CSS Architektur wächst jedes Magento Frontend zu einer Sammlung wiederholter Utility Ketten heran, die niemand mehr sauber pflegen kann. Cascade Layers, Design Tokens und modulare CSS Partials geben der Architektur eine Struktur, die mit dem Shop mitwächst statt gegen ihn zu arbeiten.
-
Maxim Mironjuk
-
April 27, 2026
Ein Bash-Skript, das als Daemon oder langlaufender Prozess läuft, muss auf SIGINT, SIGTERM und SIGHUP reagieren können, ohne verwaiste Sperrdateien oder halb geschriebene Ausgaben zu hinterlassen. Ein einziger trap-Aufruf kann denselben Handler für mehrere Signale registrieren, doch wer im Handler wissen will, welches Signal konkret ausgelöst hat, und Doppelläufe beim Zusammenspiel mit einem EXIT-Trap vermeiden will, braucht ein paar zusätzliche Kniffe.
-
Maxim Mironjuk
-
April 27, 2026
Ein zu knapp bemessener Redis-Server fuehrt zu haeufiger Eviction, sinkenden Trefferquoten und im schlimmsten Fall zu Out-of-Memory-Fehlern mitten im Checkout. Sauberes Memory-Sizing bedeutet, den Speicherbedarf von Cache, Session und Full-Page-Cache anhand von Katalog-Groesse und Traffic realistisch abzuschaetzen, statt sich auf grob geschaetzte Standardwerte zu verlassen, die weder Wachstum noch Lastspitzen beruecksichtigen.
-
Maxim Mironjuk
-
April 27, 2026
Wer für Dev, Test und CI drei separate Compose-Dateien pflegt, schreibt Konfiguration dreifach und vergisst regelmäßig, Änderungen zu synchronisieren. Docker Compose Profiles lösen dieses Problem: Services werden nur dann gestartet, wenn das passende Profil aktiv ist – eine Datei, alle Umgebungen.
-
Maxim Mironjuk
-
April 27, 2026
Wer Produktionsserver direkt aus GitLab-Runnern erreichbar macht, baut Angriffsfläche auf. SSH-Bastion-Server, Jump Hosts und dedizierte Deployment-User trennen Zugriffspfade sauber und machen Deployment-Verbindungen auditierbar, widerrufbar und ohne Personal-SSH-Keys umsetzbar.
-
Maxim Mironjuk
-
April 26, 2026
CSS konnte über Jahrzehnte kein Eltern-Element anhand des Zustands eines seiner Kinder auswählen. Der :has()-Selektor schließt genau diese Lücke und macht Formular-Wrapper, Fieldsets und ganze Formularabschnitte reaktiv auf :invalid, :user-invalid und :checked, komplett ohne eine einzige Zeile JavaScript.
-
Maxim Mironjuk
-
April 26, 2026
Verschachtelte Grid-Elemente an den Tracks des Eltern-Grids ausrichten — ohne JavaScript, ohne Workarounds. CSS Grid Subgrid löst das jahrelang offene Ausrichtungsproblem in Karten-Layouts, Formularen und Multi-Column-Designs auf elegante, deklarative Weise.
-
Maxim Mironjuk
-
April 26, 2026
Eine produktionsreife Symfony REST API entsteht nicht durch das Zusammenstecken einzelner Komponenten – sie erfordert eine klare Architektur, die alle Teile konsistent verbindet: Request-Deserialisierung, Validierung, Business-Logik, Response-Serialisierung und einheitliches Error Handling. Dieser Guide zeigt den vollständigen Aufbau mit Symfony 7 und PHP 8.4.
-
Maxim Mironjuk
-
April 25, 2026
Eine gute Commit-Message erklärt, warum eine Änderung nötig war, nicht nur was sich im Code verändert hat, denn das zeigt der Diff ohnehin. Mit der 50/72-Regel, dem Imperativ in der Betreffzeile, sauberen Trailern für Ticket-Referenzen und optional Conventional Commits wird aus der Git-Historie ein durchsuchbares Archiv, das Debugging und Code-Archäologie Monate später erheblich beschleunigt.
-