Monthly Archives: June 2025
-
Maxim Mironjuk
-
Juni 30, 2025
Ohne systematische Betrugserkennung verlässt sich ein Magento-Shop im Checkout auf Zufall: Adressabweichungen, ungewöhnliche Bestellfrequenzen und Kartenländer-Mismatches bleiben unbemerkt, bis die Rückbuchung kommt. Dieser Artikel zeigt, wie ein eigener Risk-Scoring-Service als Service Contract konkrete Fraud-Signale bewertet, verdächtige Bestellungen per Order Hold statt hartem Blockieren zur manuellen Prüfung stellt und wie sich externe Fraud-Prevention-Dienste wie Signifyd, Riskified oder ClearSale sauber per Webhook anbinden lassen, ohne legitime Kunden durch Fehlalarme zu verlieren.
-
Maxim Mironjuk
-
Juni 30, 2025
Full Text Search ist einer der Bereiche, in denen der SQL Standard bewusst wenig vorschreibt und jede Datenbank eine eigene, proprietaere Loesung entwickelt hat. Dieser Artikel vergleicht die Volltextsuche-Implementierungen von PostgreSQL, MySQL und SQL Server, zeigt Indizierung und Relevanz-Ranking anhand konkreter Beispiele und ordnet ein, wo dedizierte Suchmaschinen wie Elasticsearch sinnvoller sind als Full Text Search direkt in der Datenbank.
-
Maxim Mironjuk
-
Juni 30, 2025
Eine Netzwerkpartition kann dazu fuehren, dass zwei Redis-Knoten sich gleichzeitig fuer den einzigen gueltigen Master halten und widerspruechliche Schreibzugriffe akzeptieren. Quorum-basierte Entscheidungen in Sentinel, die Absicherung ueber min-replicas-to-write und ein sauberes Verstaendnis der Failover-Mechanik verhindern, dass eine solche Split-Brain-Situation überhaupt entsteht oder unbemerkt Daten kostet.
-
Maxim Mironjuk
-
Juni 29, 2025
Öffnet ein Nutzer dieselbe Webanwendung in mehreren Tabs, laufen viele Hintergrundaufgaben unbemerkt parallel: Token-Refresh, Cache-Aufbau, Synchronisation mit dem Server. Die Web Locks API stellt mit navigator.locks eine exklusive Sperre über Origin-Grenzen zwischen Tabs bereit, mit der solche Aufgaben koordiniert und doppelte Ausführung zuverlässig verhindert werden.
-
Maxim Mironjuk
-
Juni 29, 2025
Ein HTTP-Security-Header wie die Content-Security-Policy oder der X-Frame-Options-Header wird meist einmalig, oft im Rahmen eines Security-Audits, sorgfältig konfiguriert und danach kaum noch angefasst. Genau diese Ruhe wird zur Falle, sobald ein späteres Refactoring des Webservers, ein neues CDN oder eine geänderte Nginx-Konfiguration den Header versehentlich verkürzt, entfernt oder falsch setzt, denn im normalen Betrieb eines Onlineshops merkt niemand sofort, dass ein Schutzmechanismus lautlos verschwunden ist. Wird die Prüfung der wichtigsten Security-Header stattdessen als feste Assertion in die ohnehin vorhandene End-to-End-Testsuite aufgenommen, fällt eine solche Regression bereits beim nächsten Testlauf auf, lange bevor sie in Produktion zu einem echten Sicherheitsproblem wird.
-
Maxim Mironjuk
-
Juni 29, 2025
Jede Volltextsuche in Elasticsearch steht und faellt mit dem Analyzer, der Text beim Indexieren und beim Suchen in vergleichbare Tokens zerlegt. Wer Character Filter, Tokenizer und Token Filter als Pipeline versteht, kann eigene Analyzer bauen und nachvollziehen, warum eine Suche Treffer liefert oder eben nicht.
-
Maxim Mironjuk
-
Juni 29, 2025
Lange Selektorlisten mit denselben Deklarationen sind ein Wartungsproblem jedes größeren Stylesheets. CSS :is() und :where() komprimieren solche Listen zu einer einzigen Regel, mit präziser Kontrolle über die Spezifität – und mit einem Fehlertoleranzverhalten, das klassische Komma-Listen nicht haben.
-
Maxim Mironjuk
-
Juni 29, 2025
Ein einzelner Web-Server ist selten die Realität in Magento-Produktionssystemen. Wenn Web-Server, Worker-Prozesse, Cron-Jobs und Queue-Consumer auf verschiedene Hosts verteilt sind, muss die GitLab-Pipeline diese Komplexität koordinieren – ohne Race Conditions, verwaiste Prozesse oder Teildeployments.
-
Maxim Mironjuk
-
Juni 29, 2025
Ein Fehler nach einem Deployment ist kein Zeichen schlechter Arbeit – er ist ein Signal. Wer systematisch vorgeht, findet die Ursache in Minuten statt Stunden. Wer improvisiert, sucht länger, macht mehr Nebenänderungen und riskiert, den Originalzustand zu überschreiben, bevor die Ursache klar ist.
-
Maxim Mironjuk
-
Juni 28, 2025
Ein Button mit 30 Tailwind-Klassen im Template ist kein Tailwind-Problem – es ist ein Architekturproblem. Vue und Tailwind lassen sich so kombinieren, dass Klassenlogik in computed-Properties lebt, Varianten durch cva verwaltet werden und Templates lesbar bleiben, ohne auf die Expressivität von Tailwind zu verzichten.
-