Magento Blog: Anleitungen und Praxiswissen | Seite 318 | mironsoft
Magento Blog
-
10.03.2025
Beide Konstrukte typisieren Objekte mit mehreren gleichartigen Werten, doch sie geben dem Compiler grundlegend verschiedene Versprechen. Wer { [key: string]: T } und Record<K, V> für austauschbar hält, produziert entweder zu laxe Typen, die jeden Tippfehler durchwinken, oder zu strenge Typen, die an der Laufzeitrealität scheitern. Dieser Artikel zeigt Syntax, Semantik und die konkrete Entscheidungshilfe für den Alltag.
-
10.03.2025
Alpine.js v3 bietet 15 Direktiven, 6 magische Properties und 3 globale Methoden. Wer alle davon kennt und den richtigen Einsatzort versteht, schreibt interaktive UIs ohne Build-Step, ohne Virtual DOM und ohne die Komplexität großer Frameworks – direkt im HTML, reaktiv und wartbar.
-
10.03.2025
Ein Event-Handler ohne korrekten Typ verleitet fast automatisch zu any oder zu wiederholten Typumwandlungen, sobald auf event.target.value zugegriffen wird. React Event Handler Types lösen dieses Problem an der Wurzel: SyntheticEvent, ChangeEvent und die passenden Handler-Typen wie MouseEventHandler kennen exakt, welches Element ein Event ausgelöst hat und welche Eigenschaften darauf verfügbar sind. Dieser Artikel zeigt, wie man Event Handler Types in React systematisch und ohne any einsetzt.
-
10.03.2025
Ein React Native Monorepo mit Turborepo bündelt mehrere Apps, geteilte Packages und Build-Caching in einem einzigen Repository. Dieser Artikel zeigt den Aufbau mit pnpm Workspaces, die Turborepo-Pipeline-Konfiguration und die Metro-Anpassungen, die für ein stabiles Monorepo notwendig sind.
-
10.03.2025
Screenreader-Nutzer orientieren sich nicht durch Scrollen, sondern durch gezielte Sprünge zwischen Landmarks wie header, nav, main, aside und footer. Wer diese HTML5-Elemente korrekt und sparsam einsetzt, verschafft blinden und sehbehinderten Besuchern eine schnelle Übersicht über jede Seite und ermöglicht direkten Zugriff auf Inhalte, während überflüssige oder unbeschriftete Landmarks genau das Gegenteil bewirken und die Navigation spürbar erschweren.
-
10.03.2025
Ein Test, der prüft, ob eine Nachricht auf einem Bus gelandet ist, sagt nichts darüber aus, ob der zugehörige Handler das Richtige tut. Mit InMemoryTransport und TraceableMessageBus lassen sich Symfony Messenger Handler synchron, deterministisch und ohne RabbitMQ oder Redis in der Pipeline testen.
-
10.03.2025
Klassische CSS-Custom-Properties sind reine Zeichenketten ohne Typ, weshalb der Browser sie nicht animieren kann, selbst wenn der Wert wie eine Zahl oder ein Winkel aussieht. Mit der @property-Regel lassen sich Custom Properties dagegen mit einem echten Syntax-Typ, einem Vererbungsverhalten und einem Initialwert registrieren, wodurch sie plötzlich animierbar werden. Dieser Artikel zeigt, wie sich @property sinnvoll mit Tailwind CSS kombinieren lässt, mit einem praktischen Beispiel für eine animierte Gradient-Winkel-Rotation.
-
10.03.2025
Manuelle Snapshots funktionieren so lange gut, bis jemand vergisst, sie auszuführen, oder bis niemand mehr weiß, welcher Snapshot tatsächlich brauchbar ist. Snapshot Lifecycle Management löst dieses Problem, indem es Snapshots nach einem festen Zeitplan erstellt, alte Snapshots automatisch nach klaren Aufbewahrungsregeln bereinigt und den gesamten Prozess über eine zentrale Richtlinie steuerbar macht. Trotzdem bleibt ein Backup nur so gut wie sein letzter erfolgreicher Restore-Test, den auch SLM niemandem abnimmt.
-
09.03.2025
Doctrine Repositories mit reinen Mocks zu testen prüft selten die eigentliche Query. Eine In-Memory-SQLite-Datenbank führt DQL und Query-Builder-Aufrufe echt aus, ganz ohne Datenbankserver, und macht Repository-Tests in Millisekunden statt Sekunden lauffähig.
-
09.03.2025
Magento speichert Such-Synonyme store-view-spezifisch in einer eigenen Datenbanktabelle und uebersetzt sie beim Indexaufbau in einen Elasticsearch synonym Filter. Wer diesen Mechanismus nicht versteht, pflegt Synonyme, die nie wirken, weil ein Reindex fehlt, oder die den falschen Store View treffen. Dieser Artikel erklaert den kompletten Weg von der Admin-Oberflaeche bis zur Analyzer-Konfiguration im Elasticsearch-Index.