Seite 14 - Monthly Archives: May 2025
-
Maxim Mironjuk
-
Mai 16, 2025
Breadcrumb-Schema ersetzt die angezeigte URL in den Google-Suchergebnissen durch den tatsächlichen Navigationspfad einer Seite und verbessert damit Klickrate und Nutzerorientierung. Dieser Artikel erklärt die BreadcrumbList-Struktur, warum sie eng mit der sichtbaren Magento-Breadcrumb-Navigation verzahnt sein muss, wie sich JSON-LD sauber per ViewModel einhängen lässt und welche Implementierungsfehler Rich-Snippet-Verluste verursachen.
-
Maxim Mironjuk
-
Mai 15, 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.
-
Maxim Mironjuk
-
Mai 15, 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.
-
Maxim Mironjuk
-
Mai 15, 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.
-
Maxim Mironjuk
-
Mai 15, 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.
-
Maxim Mironjuk
-
Mai 15, 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.
-
Maxim Mironjuk
-
Mai 15, 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.
-
Maxim Mironjuk
-
Mai 15, 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.
-
Maxim Mironjuk
-
Mai 15, 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.
-
Maxim Mironjuk
-
Mai 15, 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.
-