Magento Blog: Anleitungen und Praxiswissen | Seite 361 | mironsoft
Magento Blog
-
14.01.2025
Wer Testdaten als lose getippte Objektliterale schreibt, riskiert stillen Verfall, sobald sich der zugrunde liegende Domain-Type ändert und ein neues Pflichtfeld entsteht. Typsichere Factory-Funktionen mit Partial-T und sinnvollen Defaults zentralisieren Testdaten an einer Stelle, erzwingen Synchronität mit dem echten Interface und halten Vitest-Suiten über hunderte Testdateien hinweg wartbar und konsistent.
-
13.01.2025
Eine belastbare Amazon- und eBay-Anbindung ist mehr als ein Produkt-Export: Magento muss als Single Source of Truth für Produktdaten funktionieren, während der Marketplace bei Bestellungen führt. Dieser Artikel zeigt die Architektur einer selbstgebauten Marketplace-Integration mit Service Contracts, Queue-basiertem Bestell-Sync und Rate-Limit-Handling für Amazon SP-API und eBay Trading API.
-
13.01.2025
Wenn ein Produktionssystem unerwartetes Verhalten zeigt, entscheidet die Qualität der Diagnose-Werkzeuge über Minuten oder Stunden Ausfallzeit. ps, top, ss, lsof und journalctl liefern zusammen ein vollständiges Bild – vorausgesetzt, man kennt die richtigen Flags und kombiniert sie zu gezielten Bash-Helfern.
-
13.01.2025
Das infer Schlüsselwort ist der Schlüssel zu vielen TypeScript Utility Types und erlaubt es, Teiltypen wie das Resultat eines Promise oder die Parameter einer Funktion direkt aus einem bestehenden Typ zu extrahieren, ohne sie manuell zu duplizieren. Wer versteht, wie infer innerhalb conditional types arbeitet, kann eigene Utility Types bauen, Duplikate vermeiden und Typen automatisch synchron zu ihrer Quelle halten.
-
13.01.2025
Ein MySQL Failover, der im Ernstfall Daten verliert oder die Anwendung minutenlang blockiert, ist kein Sicherheitsnetz, sondern ein zusätzliches Risiko. Wer geplanten von ungeplantem Failover unterscheidet, GTID konsequent nutzt und Failover regelmäßig testet, verwandelt einen abstrakten Notfallplan in einen verlässlichen operativen Prozess.
-
13.01.2025
Redis Keyspace Notifications verwandeln jede Schreiboperation und jeden Key-Ablauf in ein Pub/Sub-Event, auf das beliebig viele Consumer reagieren koennen. Statt teures Polling gegen den Datenbestand zu betreiben, abonniert eine Anwendung genau die Aenderungen, die sie interessieren, und baut so reaktive Architekturen ohne zusaetzliche Message-Queue.
-
13.01.2025
Ein Commit ist nach dem Erstellen inhaltlich unveränderlich, jede nachträgliche Aenderung der Commit Message erzeugt einen neuen Hash. Git Notes lösen dieses Problem, indem sie zusätzliche Informationen in einem separaten, referenzierten Namespace speichern, der lose mit dem Commit verknüpft ist, ohne dessen Identität zu berühren.
-
13.01.2025
ObjectManager::getInstance()->get() versteckt Abhängigkeiten, macht Tests unmöglich und verhindert statische Analyse. Alles über das Service Locator Anti-Pattern – und die korrekte Alternative.
-
12.01.2025
Viele Teams verlassen sich fast nur auf langsame End to End Tests und manuelle Klicktests, weil eine Unit Test Kultur nie entstanden ist. Dieses Ice Cream Cone Anti Pattern kehrt die klassische Testpyramide um und führt zu trägen CI Pipelines, hoher Flakiness und später Fehlererkennung. Dieser Artikel zeigt, wie Teams das Muster erkennen und mit einem praktischen Migrationspfad zu einer schnellen, verlässlichen Testpyramide zurückfinden.
-
12.01.2025
Eine dynamische Proxy-Klasse steht stellvertretend für ein echtes Objekt und fängt Methodenaufrufe ab, bevor sie beim eigentlichen Objekt ankommen. Mit __call, eval()-basierter Codegenerierung und Reflection lassen sich in PHP Proxy-Klassen bauen, die Lazy Loading, Logging und Zugriffskontrolle ermöglichen, ganz ohne die Klasse selbst anzufassen oder ein komplettes ORM einzubinden.