Archive: 2026-01 | Seite 18
Archive: January 2026
-
07.01.2026
Eine REST-API ohne Teststrategie ist ein Versprechen ohne Garantie. Symfony bietet mit HttpClient, Panther und PHPUnit ein vollständiges Ökosystem für alle Testebenen – von schnellen Unit-Tests für Validierungslogik bis zu Contract Tests, die sicherstellen, dass API-Konsumenten und API-Anbieter dieselbe Schnittstellenspezifikation sprechen.
-
07.01.2026
Tailwind CSS erzeugt in der Produktion winzige CSS-Dateien – wenn die Konfiguration stimmt. Falsch gesetzte Content-Pfade, eine unkontrollierte Safelist oder ein fehlender Minifier lassen das Bundle unnötig wachsen. Dieser Artikel zeigt, wie man das Tailwind CSS Performance-Potenzial vollständig ausschöpft und ein CSS-Bundle unter 10 KB erreicht.
-
07.01.2026
Eine Testsuite, die formal mit 99 Prozent Erfolgsquote durchläuft, kann trotzdem massive, verborgene Probleme haben, etwa wenn dieselben drei Tests jede Woche wegen echter Flakiness manuell neu gestartet werden müssen oder die Gesamtlaufzeit über Monate hinweg unbemerkt von fünf auf fünfundvierzig Minuten gewachsen ist. Wer ausschließlich auf die binäre Grün-Rot-Anzeige eines einzelnen Laufs schaut, übersieht genau die Trends, die langfristig über die tatsächliche Nützlichkeit und Vertrauenswürdigkeit einer Testsuite entscheiden, weshalb ein durchdachtes Set an Metriken jenseits des reinen Bestehen-oder-Scheitern-Signals notwendig ist.
-
07.01.2026
Magento MySQL-Konfiguration: sql_mode, innodb_buffer_pool_size, max_connections, tmp_table_size und max_allowed_packet – warum jede dieser Einstellungen kritisch ist und wie ein vollständiges my.cnf für einen 16-GB-Server aussieht.
-
07.01.2026
Hasura verwandelt eine bestehende PostgreSQL-Datenbank in Sekunden in eine vollständige GraphQL-API, inklusive Filtern, Sortierung, Pagination und Beziehungen, ganz ohne einen einzigen Resolver zu schreiben. Der Ansatz eignet sich hervorragend für bestimmte Szenarien und ist für andere komplett ungeeignet. Dieser Artikel zeigt konkret, wo die Grenze verläuft.
-
07.01.2026
Ein composer install in CI, der manchmal andere Pakete installiert als erwartet, der bei jedem Run 200 Pakete neu herunterlädt, oder der auf Production andere Dependencies produziert als auf Staging – das sind lösbare Probleme. Dieser Artikel erklärt, wie composer install in GitLab CI reproduzierbar, schnell und korrekt ausgeführt wird.
-
06.01.2026
Storybook und Tailwind CSS sind eine natürliche Kombination: Tailwind liefert das Design-System-Fundament über Utility-Klassen, Storybook macht es für das gesamte Team sichtbar, testbar und dokumentiert. Das Ergebnis ist ein lebendiges Komponentenverzeichnis, das mit dem Code synchron bleibt.
-
06.01.2026
Die color-contrast() Funktion aus CSS Color Level 5 lässt den Browser selbst entscheiden, welche von mehreren Textfarben zum jeweiligen Hintergrund den besten WCAG-Kontrast liefert. Das reduziert manuelle Kontrastberechnung und macht dynamisch generierte Hintergründe automatisch barrierefrei lesbar.
-
06.01.2026
Cross Site Request Forgery gilt in vielen Teams als gelöstes Problem, sobald eine Anwendung auf eine Single Page Architektur mit Fetch statt klassischer Formulare umsteigt. Tatsächlich verschiebt sich das Risiko nur, sobald Session Cookies für authentifizierte API Aufrufe im Spiel sind, bleibt aber real und erfordert eine bewusste Kombination aus Double-Submit-Cookie, SameSite-Attribut und Custom Headern.
-
06.01.2026
Der teuerste Fehler in einer Multi-Tenant-API ist nicht ein fehlendes Feature, sondern eine einzige vergessene WHERE-Klausel, die Daten eines Mandanten an einen anderen ausliefert. Dieser Artikel vergleicht die drei etablierten Isolationsmodelle, Row-Level-Isolation, Schema-per-Tenant und Database-per-Tenant, zeigt, ob die Tenant-ID besser im JWT, im Header oder in der URL steht, und beschreibt, wie sich Cross-Tenant-Zugriffe in einem Symfony-Projekt strukturell verhindern lassen, statt sich auf die Disziplin jedes einzelnen Entwicklers zu verlassen.