Magento Blog: Anleitungen und Praxiswissen | Seite 269 | mironsoft
Magento Blog
-
15.05.2025
Bun führt TypeScript-Dateien direkt aus, ohne dass vorher tsc oder ein Bundler laufen muss, was Entwicklungsschleifen spürbar verkürzt. Wichtig zu verstehen ist dabei, dass Bun TypeScript nur transpiliert, also Typen entfernt und Syntax übersetzt, aber keine Typprüfung durchführt, diese Verantwortung bleibt weiterhin bei einem separaten tsc-Aufruf oder der IDE.
-
15.05.2025
Tailwind CSS v4 ist kein inkrementelles Update – es ist ein Paradigmenwechsel. Die JavaScript-Konfigurationsdatei weicht einer reinen CSS-Konfiguration, PostCSS wird durch Lightning CSS ersetzt und das Design-Token-System arbeitet direkt über CSS Custom Properties. Diese Anleitung zeigt, wie die Migration von v3 zu v4 strukturiert und ohne Regressionen gelingt.
-
15.05.2025
Ein Design System ohne lebende Dokumentation ist nach sechs Monaten veraltet. Storybook 8 verbindet Component-Driven Development, automatisch generierte Docs und visuelles Regressionstesting zu einem Workflow, der tatsächlich durchgehalten wird – von der ersten Button-Komponente bis zur produktionsreifen Bibliothek.
-
15.05.2025
Viele Entwickler setzen declare(strict_types=1) an den Anfang jeder Datei und glauben damit, ihr Code sei vollständig gegen die berüchtigten Type-Juggling-Überraschungen von PHP abgesichert. Tatsächlich deckt strict_types nur einen Teil des Problems ab, nämlich Funktionsargumente und Rückgabewerte. Interne Vergleiche mit == bleiben davon vollkommen unberührt und lose typisiert. Dieser Artikel zeigt die Grenzen von strict_types genau auf und beschreibt konkrete Fallstricke, denen erfahrene PHP-Entwickler trotzdem regelmässig begegnen.
-
15.05.2025
Magentos DI-Container erstellt standardmäßig Shared Objects – das ist Singleton-Verhalten. Wo es nützlich ist, wo es Probleme verursacht und wie du Legacy-Singletons sauber refaktorierst.
-
15.05.2025
Ob Bestellverlauf, Audit-Log oder Aktivitäts-Feed eines Projekts: Chronologisch geordnete Ereignisse gehören zu den häufigsten wiederkehrenden UI-Mustern in Webanwendungen. Optisch stecken darin mehr Details als es zunächst scheint, von der vertikalen Verbindungslinie zwischen den Ereignissen über Icon-Badges pro Ereignistyp bis zum Umgang mit unterschiedlich langen Beschreibungstexten, die das Raster nicht durcheinanderbringen dürfen. Dieser Artikel zeigt, wie sich eine Timeline-Komponente mit reinem Tailwind CSS strukturiert aufbauen lässt und wo sich eine kompakte Activity-Liste von einer ausführlichen Timeline-Ansicht unterscheidet.
-
15.05.2025
Wer in Symfony Event Listener bisher über services.yaml mit Tags und Methodennamen registriert hat, kennt die Pflege mehrerer Dateien für eine einzige Klasse. Das PHP-Attribut #[AsEventListener] eliminiert diese YAML-Konfiguration vollständig — der Listener ist direkt an der Klasse oder Methode deklariert, typsicher und sofort lesbar.
-
15.05.2025
Logs in Bash zu verarbeiten bedeutet mehr als grep und ein Auge drauf werfen. Zeitfenster-Filterung, strukturiertes Fehler-Reporting, Frequenzanalysen und die Kombination von grep, awk, sed und jq in effizienten Pipelines machen den Unterschied zwischen reaktiver Fehlersuche und proaktivem Log-Monitoring.
-
15.05.2025
Eine WebSocket-Verbindung unterscheidet sich fundamental von einer klassischen HTTP-Anfrage, weil sie nicht eine einzelne Anfrage mit genau einer Antwort darstellt, sondern eine dauerhafte, bidirektionale Verbindung, über die zu unvorhersehbaren Zeitpunkten mehrere Nachrichten in beide Richtungen fliessen. Diese fundamentale Eigenschaft macht klassische Request-Response-Testmuster ungeeignet und verlangt nach eigenen Testansätzen für Verbindungsaufbau, laufenden Nachrichtenaustausch und das Verhalten bei einem unerwarteten Verbindungsabbruch.
-
15.05.2025
Wer in einem größeren Team mit GitLab CI/CD arbeitet, kennt das Phänomen: Jobs landen in der Queue, obwohl die Pipeline schon längst abgeschickt wurde. Die Ursache liegt fast immer in zu niedrig konfigurierten concurrent-Limits, fehlenden Runner-Tags oder unausgewogener Lastverteilung zwischen Build-, Test- und Deploy-Jobs.