Seite 4 - Monthly Archives: January 2025
-
Maxim Mironjuk
-
Januar 29, 2025
Ohne saubere Fixtures sind Integrationstests fragil: Tests erzeugen Testdaten, die den nächsten Test beeinflussen, Rollbacks schlagen fehl und das Fixture-Skript ist an einem anderen Pfad als erwartet. Das Magento Test Framework bietet ein ausgefeiltes Fixture-System – vorausgesetzt, man versteht die Mechanismen dahinter.
-
Maxim Mironjuk
-
Januar 28, 2025
Der Symfony-Profiler zeigt, was in einem Request passiert ist, aber Blackfire zeigt, warum es so lange gedauert hat. Mit Callgraphs, Referenz-Profilen und CI-Integration deckt Blackfire Profiling exakt jene Funktionsaufrufe auf, die eine Symfony-Anwendung wirklich ausbremsen.
-
Maxim Mironjuk
-
Januar 28, 2025
Wer Linux-Server mit gemeinsam genutzten Zugängen und ungepflegten Konten betreibt, riskiert Sicherheitslücken, die erst nach einem Vorfall auffallen. Dieser Artikel erklärt useradd, usermod und groupadd von Grund auf, zeigt das Prinzip des dedizierten unprivilegierten Benutzers pro Anwendung und liefert ein praxisnahes Vorgehen, um bestehende Benutzer und Gruppen auf einem Server systematisch zu auditieren.
-
Maxim Mironjuk
-
Januar 28, 2025
Magento 2 bringt seit einigen Versionen ein solides, natives Zwei-Faktor-Modul mit, doch dieses schützt ausschließlich den Admin-Bereich. Für Kundenkonten existiert keine vergleichbare eingebaute Lösung, obwohl gerade Shops mit gespeicherten Zahlungsdaten, Guthabenkonten oder sensiblen B2B-Bestelldaten ein legitimes Interesse an einer zusätzlichen Absicherung des Storefront-Logins haben. Dieser Artikel zeigt, wie sich eine eigene TOTP-basierte Zwei-Faktor-Authentifizierung für Kundenkonten sauber in den bestehenden Authentifizierungs-Flow einhängen lässt, inklusive der UX-Abwägung zwischen Pflicht und Opt-in sowie einem durchdachten Recovery-Code-Konzept.
-
Maxim Mironjuk
-
Januar 28, 2025
Statisch getippte Frontends verlassen sich oft blind auf handgeschriebene Interfaces, während sich die API im Hintergrund längst weiterentwickelt hat. Aus einer einzigen OpenAPI-Spezifikation generierte TypeScript-Typen, kombiniert mit Laufzeitvalidierung durch zod, schließen genau diese Lücke und halten Backend und Headless-Frontend in Magento- und PWA-Projekten dauerhaft synchron.
-
Maxim Mironjuk
-
Januar 28, 2025
tsconfig.json ist die zentrale Steuerzentrale jedes Projekts mit TypeScript und entscheidet über Kompatibilität, Fehlerstrenge und Buildgeschwindigkeit. Dieser Artikel erklärt die wichtigsten Optionen wie target, module, strict, esModuleInterop und skipLibCheck im Detail, liefert eine sinnvolle Basiskonfiguration für neue Projekte und zeigt, wie sich Konfiguration mit extends sauber über ein Monorepo teilen lässt.
-
Maxim Mironjuk
-
Januar 28, 2025
Masonry-Layout packt Karten unterschiedlicher Höhe platzsparend zusammen, subgrid richtet innere Elemente präzise an den Spurenrastern eines übergeordneten Grids aus. Kombiniert lösen beide Techniken ein Problem, das reines Flexbox oder ein einfaches Grid allein nicht schafft, allerdings nur unter genauer Kenntnis dessen, was Masonry heute wirklich unterstützt und was nicht.
-
Maxim Mironjuk
-
Januar 28, 2025
Ein einzelner Systemcron reicht fuer einen Magento Shop mit dutzenden Hintergrundjobs nicht aus. Erst durchdachte Cron Job Scheduling Strategien mit klar getrennten Cron Gruppen, sinnvollen Intervallen und individuellen Zeitplaenen verhindern, dass sich lange laufende Jobs gegenseitig blockieren und kritische Aufgaben verzoegert werden.
-
Maxim Mironjuk
-
Januar 28, 2025
Wer Anwendungen zwischen PostgreSQL und MySQL migriert oder beide Systeme parallel betreibt, stoesst schnell auf Syntax-Unterschiede, die auf den ersten Blick harmlos wirken, aber ganze Migrationen verzoegern koennen. Dieser Artikel vergleicht Datentypen, Auto-Increment, JSON-Unterstuetzung, Pagination und Upsert Syntax zwischen PostgreSQL und MySQL anhand lauffaehiger Beispiele.
-
Maxim Mironjuk
-
Januar 28, 2025
Warum echtes DELETE bei referenzierten Daten oft die falsche Wahl ist und wie du mit einem Doctrine-Filter, einer deletedAt-Spalte und sauberen Unique-Constraints ein robustes Soft-Delete-Pattern baust.
-