Ein Termin verschiebt sich um eine Stunde, ein Monat wird plötzlich falsch angezeigt, ein Report zeigt in der Nacht der Zeitumstellung ein doppeltes Datum. Zeitzonen und Datum gehören zu den Bereichen von JavaScript, in denen kleine Missverständnisse große, schwer reproduzierbare Bugs erzeugen. Dieser Artikel zeigt die konkreten Fallstricke und wie man sie zuverlässig umgeht.
Elasticsearch und OpenSearch tunen Synonyme, Booster, Filter
Eine gute Suche in Magento 2 entsteht nicht allein durch einen laufenden Search-Server. Erst wenn Synonyme, Relevanz, Filterlogik und Katalogdaten fachlich sauber zusammenspielen, liefert die Suche Ergebnisse, die Nutzer wirklich als hilfreich empfinden.
Elasticsearch Magento 2 oder OpenSearch Magento 2 zu betreiben reicht nicht, um eine gute Produktsuche zu erhalten. Ein Search-Server kann schnell und korrekt antworten und trotzdem die falschen Produkte
Bei einer Bibliothek entscheidet ein Entwickler beim Release, ob eine Änderung breaking ist, und setzt die Versionsnummer entsprechend hoch. Bei einer REST-API reicht das nicht: Der Vertrag zwischen Server und Dutzenden unbekannten Clients ändert sich, sobald sich die OpenAPI-Spezifikation ändert, und niemand im Team kann von Hand überblicken, welche der zehn parallel laufenden Feature-Branches gerade ein Pflichtfeld entfernt. Dieser Artikel zeigt, wie man Breaking Changes aus OpenAPI-Diffs automatisiert erkennt und den Versionssprung per CI erzwingt, statt ihn dem guten Willen einzelner Entwickler zu überlassen.
Postman Collections sind für viele Entwicklerteams die erste Anlaufstelle, um eine REST-API praktisch auszuprobieren, noch vor dem Lesen der eigentlichen Dokumentation. Eine Collection, die manuell parallel zur eigentlichen API-Entwicklung gepflegt wird, veraltet aber fast zwangsläufig, sobald ein Entwickler unter Zeitdruck vergisst, sie nach einer API-Änderung zu aktualisieren, weshalb automatisierte Generierung aus derselben OpenAPI-Spezifikation, die auch für SDKs und Server-Validierung genutzt wird, der einzig zuverlässige Weg ist, dauerhafte Synchronität sicherzustellen.
SearchCriteria-Abfragen, Collection-Filter und EAV-Attribute sind die drei häufigsten Datenzugriffsmuster in Magento – und gleichzeitig die drei häufigsten Stellen, an denen Tests entweder fehlen oder falsch strukturiert sind. Dieser Artikel zeigt, welcher Testtyp für welchen Zugriff geeignet ist und wie man jeden korrekt absichert.
Redux Toolkit hat klassisches Redux mit seinen endlosen Switch Statements und Action Type Konstanten weitgehend abgelöst. Mit createSlice, RTK Query und Entity Adapter lässt sich globaler State in React Anwendungen mit deutlich weniger Code, dafür mit mehr Typsicherheit und eingebautem Server State Caching abbilden.
Wer Value Objects nur als hübschere Datenklassen versteht, verschenkt ihren eigentlichen Nutzen: Ein Value Object kapselt Gleichheit, Gültigkeit und Unveränderlichkeit an genau einer Stelle im Code, statt diese Regeln über Services, Controller und Formulare zu verstreuen. Dieser Artikel zeigt in reinem, frameworkunabhängigem PHP 8.4, wie man equals() statt naivem Vergleich einsetzt, Invarianten im Constructor erzwingt und mit readonly-Properties echte Unveränderlichkeit erreicht, ohne dabei die Balance zwischen zu kleinen und zu großen Objekten zu verlieren.
Modul-Abhängigkeiten in Magento existieren auf zwei getrennten Ebenen: composer.json steuert, welches Paket überhaupt installiert wird, und module.xml sequence steuert, in welcher Reihenfolge es geladen wird. Wer beides vermischt, baut zirkuläre Abhängigkeiten, die erst bei setup:upgrade auffallen und sich ohne sauberes Refactoring kaum mehr entwirren lassen.
rsync vergleicht Dateien Datei für Datei und kostet bei Millionen kleiner Dateien wertvolle Zeit allein für den Vergleich. Btrfs Send und Receive umgeht dieses Problem vollständig, indem es direkt die Unterschiede zwischen zwei Snapshots auf Blockebene ermittelt und überträgt, ohne den Dateibaum überhaupt durchlaufen zu müssen.
chmod kennt nur einen Besitzer und eine einzige Gruppe pro Datei, doch reale Serverumgebungen brauchen oft mehrere Zugriffsebenen gleichzeitig. Dieser Leitfaden erklärt setfacl und getfacl, zeigt an einem Deploy-User-Beispiel granulare Zugriffskontrolle jenseits von rwx und erläutert Default-ACLs, die neue Dateien automatisch mit den richtigen Rechten versehen.