Seite 267 - Mironsoft Blog
-
Maxim Mironjuk
-
Mai 09, 2025
Dashboards und Diagramme in Symfony erfordern normalerweise eigenes JavaScript: Chart.js initialisieren, Daten per AJAX laden, Optionen konfigurieren. Das Symfony UX Chart.js-Paket übernimmt das vollständig — Charts entstehen aus PHP-Objekten, werden als Twig-Komponenten eingebettet und von Symfony UX automatisch initialisiert.
-
Maxim Mironjuk
-
Mai 09, 2025
Dragonfly ist ein 2022 vorgestellter In-Memory-Datenspeicher, der sich als kompatibler Ersatz für Redis positioniert, dabei aber intern eine komplett andere Architektur verfolgt. Statt eines einzigen Threads verteilt Dragonfly Arbeit über einen Shared-Nothing-Ansatz auf mehrere Kerne, verwendet eine eigene Speicherstruktur namens Dashtable und verspricht deutlich schnellere Snapshots als Redis' forkbasiertes RDB-Verfahren. Dieser Artikel ordnet ein, wie diese Architektur technisch funktioniert, wie belastbar die Performance-Versprechen sind und für welche Magento-Betriebsszenarien ein Testeinsatz heute schon sinnvoll erscheint.
-
Maxim Mironjuk
-
Mai 09, 2025
Ein Bild, das erst nach dem restlichen Layout nachlaedt, verschiebt sichtbare Inhalte und verschlechtert den Cumulative-Layout-Shift-Wert. Mit React Suspense laesst sich das Rendern einer Bildkomponente gezielt zurueckhalten, bis die Bilddatei tatsaechlich im Browser-Cache liegt. Dieser Artikel zeigt ein eigenes Preload-Pattern auf Basis von Promise-Wrapping, inklusive Caching, Fehlerbehandlung und Grenzen des Ansatzes.
-
Maxim Mironjuk
-
Mai 09, 2025
EAS Build kompiliert React Native und Expo Apps in der Cloud zu installierbaren iOS- und Android-Binaries, verwaltet Zertifikate, Provisioning Profiles und Keystores automatisch und macht Builds über eas.json reproduzierbar. Dieser Leitfaden erklärt Build-Profile, Umgebungsvariablen, Config Plugins für native Module und den Weg vom Build bis zur Einreichung mit eas submit.
-
Maxim Mironjuk
-
Mai 09, 2025
Ein Deployment, das ohne Fehler abgeschlossen wird, muss nicht korrekt funktionieren. Der Symlink wurde gesetzt, der Cache geleert — aber lädt die Startseite? Antwortet der Checkout? Ist der Cache-Status grün? Smoke Tests schließen diese Lücke und geben dem Deployment-Prozess einen fachlichen Abschluss statt nur einen technischen.
-
Maxim Mironjuk
-
Mai 08, 2025
Chat-Buttons, die per Tastatur nicht erreichbar sind, Fokus-Fallen beim Öffnen des Chat-Fensters und Nachrichten, die Screenreadern verborgen bleiben: Live-Chat-Widgets gehören zu den am häufigsten übersehenen Barrieren im E-Commerce-Frontend.
-
Maxim Mironjuk
-
Mai 08, 2025
Wendet man einen Conditional Type auf einen Union-Typ an, wird die Bedingung standardmäßig auf jedes Mitglied der Union einzeln angewendet, nicht auf die Union als Ganzes. Dieses Verhalten heißt Distribution und ist die stille Grundlage von Utility-Typen wie Exclude und Extract. Wer die Naked-Type-Parameter-Regel nicht kennt, stolpert über unerwartete Ergebnisse, sobald ein eigener Utility-Typ Distribution bewusst verhindern soll.
-
Maxim Mironjuk
-
Mai 08, 2025
Die Magento CatalogSearch-Architektur wirkt von aussen wie eine Blackbox: Man aktualisiert ein Attribut, wartet auf den Reindex und hofft, dass die Suche das richtige Ergebnis liefert. Wer versteht, wie Indexer, Fulltext-Scope-Tabellen und der Elasticsearch-Adapter zusammenspielen, kann gezielt debuggen, erweitern und Performance-Probleme an der richtigen Stelle loesen statt am Symptom.
-
Maxim Mironjuk
-
Mai 08, 2025
Wer bei jeder neuen Anforderung neu diskutiert, ob eine Preference oder ein Plugin die richtige Wahl ist, verliert Zeit im Code Review und riskiert Konflikte mit Fremdmodulen. Diese Entscheidungsregel liefert eine feste Checkliste mit Scoring, angewendet auf vier reale Magento-2.4.8-Szenarien, die in der Agentur-Praxis regelmäßig vorkommen.
-
Maxim Mironjuk
-
Mai 08, 2025
Ein Modal, das optisch alles überlagert, aber den Tastaturfokus frei durch die dahinterliegende Seite wandern lässt, ist für Tastatur- und Screenreader-Nutzer keine wirkliche Überlagerung. Sie tabben durch Navigation, Header und Footer der Hintergrundseite, während der Dialog optisch im Vordergrund schwebt, unsichtbar für den eigenen Fokus-Cursor. Ein korrekt implementierter Focus-Trap sorgt dafür, dass der Tastaturfokus exakt dort bleibt, wo er visuell auch erscheint: innerhalb des Dialogs, bis dieser bewusst geschlossen wird.
-