Seite 7 - Monthly Archives: April 2026
-
Maxim Mironjuk
-
April 22, 2026
Sobald ein Magento-Shop auf mehrere Applikationsserver skaliert und Cron-Jobs auf jedem dieser Server laufen, kann derselbe Indexer theoretisch gleichzeitig von zwei Prozessen angestossen werden. Magentos eingebautes, datenbankbasiertes Locking verhindert das innerhalb einer einzelnen MySQL-Instanz zuverlässig, stößt aber an praktische Grenzen, sobald Koordination über mehrere unabhängige Cron-Worker mit eigener Prozessverwaltung hinweg nötig ist, etwa bei containerisierten Deployments mit mehreren gleichwertigen Worker-Pods. Redis bietet sich als schnelle, bereits vorhandene Infrastrukturkomponente an, um verteilte Locks nach dem Prinzip des Redlock-Algorithmus umzusetzen und damit Indexer-Kollisionen zuverlässig zu vermeiden.
-
Maxim Mironjuk
-
April 22, 2026
REST-Endpunkte zu ersetzen ist nicht das Ziel von GraphQL – das Ziel ist, genau die Daten zu laden, die eine Komponente braucht, und sie im richtigen Moment zu cachen. Wer Vue GraphQL ohne Cache-Strategie betreibt, lädt dieselben Daten mehrfach und verliert den größten Vorteil des Ansatzes.
-
Maxim Mironjuk
-
April 22, 2026
Optimistic Locking loest gleichzeitige Schreibzugriffe ohne Datenbank-Sperren, indem jede Zeile eine Versionsspalte traegt und ein UPDATE nur dann erfolgreich ist, wenn die Version beim Schreiben noch mit der beim Lesen gesehenen Version uebereinstimmt. Weicht die Anzahl betroffener Zeilen von eins ab, hat eine andere Transaktion zwischenzeitlich geschrieben, und die Anwendung muss den Konflikt gezielt behandeln.
-
Maxim Mironjuk
-
April 21, 2026
Die Wahl des Primaerschluessels ist eine der folgenreichsten Entscheidungen beim Tabellenentwurf: ein fachlicher Natural Key wie eine E-Mail-Adresse oder eine Produkt-SKU traegt Bedeutung, ein kuenstlicher Surrogate Key wie ein Auto-Increment-Wert oder eine UUID ist stabil und bedeutungslos. Dieser Beitrag vergleicht beide Strategien konkret, zeigt zusammengesetzte Schluessel als dritte Option und liefert einen praktischen Entscheidungsleitfaden.
-
Maxim Mironjuk
-
April 21, 2026
Eine CLAUDE.md ist die zentrale Kontextdatei, mit der Claude Code Projektkonventionen, Tech-Stack und Befehle kennt, bevor der erste Prompt geschrieben wird. Richtig gepflegt spart sie wiederholte Erklärungen und verhindert Regelverstöße. Falsch gepflegt wird sie zur veralteten Textwüste, die niemand mehr liest und die Claude aktiv in die Irre führt.
-
Maxim Mironjuk
-
April 21, 2026
line-clamp begrenzt Textblöcke auf eine feste Zeilenanzahl und ersetzt überschüssigen Inhalt durch eine Ellipsis, ganz ohne JavaScript-Messung der Textbreite. Für Karten, Produktlisten und Vorschau-Snippets ist das der zuverlässigste Weg, konsistente Layouts zu bauen, solange Fallbacks und Zugänglichkeit von Anfang an mitgedacht werden.
-
Maxim Mironjuk
-
April 21, 2026
Ein PHP-Array kann als Stack, Queue und fast alles andere dienen, das ist seine große Stärke und gleichzeitig seine größte Schwäche. Die SPL bringt mit SplStack, SplQueue und SplPriorityQueue spezialisierte Strukturen mit, die nicht nur klarere Absicht im Code ausdrücken, sondern bei bestimmten Operationen auch messbar schneller arbeiten. Wir zeigen, wann sich der Umstieg lohnt.
-
Maxim Mironjuk
-
April 21, 2026
Module Federation in Webpack 5 löst das bisher schwierigste Problem bei Micro-Frontend-Architekturen: Wie mehrere unabhängige Teams ihre JavaScript-Bundles zur Laufzeit kombinieren, ohne gemeinsame Dependencies mehrfach zu laden oder eine zentrale Build-Pipeline zu teilen.
-
Maxim Mironjuk
-
April 21, 2026
Wenn top nur zeigt, dass die CPU beschäftigt ist, aber nicht womit, hilft klassisches Monitoring nicht weiter. Kernel-Tracing mit ftrace und perf macht sichtbar, welche Funktion im Kernel wie lange läuft, welcher Syscall blockiert und wo genau die Zeit in einem scheinbar einfachen Request verschwindet.
-
Maxim Mironjuk
-
April 21, 2026
Log-Tabellen wie report_event, customer_visitor und catalog_compare_item protokollieren Besucherverhalten und wachsen bei jedem Seitenaufruf, oft schneller als jede andere Tabellengruppe im Shop. Wer das eingebaute Log Cleaning richtig konfiguriert und für Tabellen ohne automatische Bereinigung eigene Skripte baut, hält die Datenbank schlank, ohne auf wichtige Reporting-Daten zu verzichten.
-