Seite 14 - Monthly Archives: September 2025
-
Maxim Mironjuk
-
September 12, 2025
Ein einzelner, unbegrenzt wachsender Index ist selten die richtige Antwort auf kontinuierliche Datenzuflüsse. Die Rollover-API löst dieses Problem, indem sie einen Schreibalias transparent auf einen neuen, physischen Index umhängt, sobald definierte Bedingungen wie Größe, Dokumentanzahl oder Alter erfüllt sind. Richtig konfiguriert bemerkt die Anwendung davon nichts, sie schreibt weiterhin gegen denselben Alias, während im Hintergrund kontinuierlich neue, überschaubare Indizes entstehen.
-
Maxim Mironjuk
-
September 12, 2025
Sobald ein Formular eine variable Anzahl gleichartiger Unterformulare verwalten soll, etwa Positionen einer Bestellung oder Tags eines Artikels, reicht ein einzelnes Feld nicht mehr aus. CollectionType löst genau dieses Problem, erfordert aber ein Zusammenspiel aus allow_add/allow_delete, korrektem Entity-Mapping, Prototype-basiertem JavaScript und gezielten PRE_SET_DATA- sowie PRE_SUBMIT-Event-Listenern, um robust und sicher zu funktionieren.
-
Maxim Mironjuk
-
September 11, 2025
Ein neues Akzentblau im Design-Token-Set kann still einen bestehenden Button unlesbar machen, ohne dass es jemand vor dem Release bemerkt. Farbkontrast-Tooling für React-Design-Systeme automatisiert genau diese Prüfung: von der Token-Definition über Storybook bis zur CI-Pipeline, damit WCAG-Verstöße auffallen, bevor sie in Produktion landen.
-
Maxim Mironjuk
-
September 11, 2025
Claude kann in CI/CD-Pipelines automatisierte Pull-Request-Zusammenfassungen erstellen, Changelog-Entwürfe aus der Commit-Historie ableiten und verdächtige Diffs für eine zusätzliche menschliche Prüfung markieren. Der Artikel zeigt, wie ein solcher KI-Schritt nicht interaktiv mit klaren Berechtigungsgrenzen läuft und wie sich Kosten und Latenz kontrollieren lassen, wenn die Pipeline bei jedem Commit ausgelöst wird.
-
Maxim Mironjuk
-
September 11, 2025
Die Hero Section entscheidet in den ersten drei Sekunden, ob ein Besucher bleibt oder geht. Dieser Artikel zeigt zehn konkrete Tailwind CSS Hero-Varianten – von einfachen Gradients bis zu Video-Hintergründen und Glassmorphism – mit vollständigem Code und Design-Begründung.
-
Maxim Mironjuk
-
September 11, 2025
In Magento 2 gibt es drei grundlegend verschiedene Test-Typen mit sehr unterschiedlichen Laufzeiten, Wartungskosten und Einsatzbereichen. PHPUnit für Unit- und Integrationstests, MFTF für End-to-End-Browser-Tests und REST-API-Tests für die Webservice-Schicht. Die häufigsten Fehler in Magento-Test-Strategien: zu viele MFTF-Tests, zu wenige Unit Tests, und API-Tests, die eigentlich Logik-Tests sein sollten.
-
Maxim Mironjuk
-
September 11, 2025
Eventual Consistency ist kein Kompromiss fuer schlecht gebaute Systeme, sondern eine bewusste Konsequenz des CAP-Theorems bei jedem verteilten System, auch bei Read-Replicas in relationalen Datenbanken. Wer Konsistenzmodelle, Konfliktaufloesung und Replikations-Lag konkret versteht, trifft bessere Entscheidungen darueber, wo eine kurze Verzoegerung akzeptabel ist und wo nicht.
-
Maxim Mironjuk
-
September 11, 2025
Der Doctrine Second Level Cache reduziert wiederkehrende Datenbankzugriffe, indem er hydratisierte Entities über Requests hinweg im Cache hält. Richtig konfiguriert mit Cache-Regions, Concurrency-Strategien und einem Redis-Adapter sinkt die Datenbanklast spürbar, ohne dass Konsistenzprobleme entstehen.
-
Maxim Mironjuk
-
September 10, 2025
Wer bei einem laufenden Magento-Shop eine Spalte hinzufuegt oder einen Index auf einer Millionen-Zeilen-Tabelle aendert, riskiert lange Tabellensperren und einen sichtbaren Ausfall im Checkout. Eine durchdachte Zero-Downtime-Migration kombiniert declarative Schema-Deployments mit Online-Schema-Change-Tools wie gh-ost und pt-online-schema-change, damit Kunden von Schema-Aenderungen nichts bemerken.
-
Maxim Mironjuk
-
September 10, 2025
GraphQL und Caching gelten oft als schwieriges Paar – weil alle Anfragen auf denselben Endpunkt zeigen und POST-Requests von CDNs standardmäßig nicht gecacht werden. Mit der richtigen Kombination aus Resolver-Caching auf Applikationsebene und Edge-Caching über Persisted Queries lässt sich das Problem systematisch lösen.
-