Seite 205 - Maxim Mironjuk
-
Maxim Mironjuk
-
August 02, 2025
Die cursor-Property kann mehr als eine Handvoll Systemsymbole umschalten: Mit url() lassen sich eigene Cursor-Bilder einbinden, mit mehrstufigen Fallback-Ketten bleibt die Bedienung auch dann verstaendlich, wenn eine Grafik nicht laedt. Wer eigene Cursor einsetzt, muss aber genau wissen, wo sie einen echten Mehrwert bringen und wo sie nur die Usability verschlechtern.
-
Maxim Mironjuk
-
August 02, 2025
Die häufigste Fehlinvestition in der Testautomatisierung: zu viele langsame End-to-End-Tests und zu wenige schnelle Unit-Tests. Die Test-Pyramide gibt die richtige Gewichtung vor – drei Stufen mit klar getrennten Aufgaben, die zusammen eine zuverlässige Teststrategie ergeben.
-
Maxim Mironjuk
-
August 01, 2025
Eine offene Security-Group, die versehentlich Zugriff aus dem gesamten Internet erlaubt, oder ein Storage-Bucket ohne Verschlüsselung entsteht selten aus böser Absicht, sondern meist aus einem übersehenen Standardwert in einer Terraform-Datei. Infrastructure-as-Code-Security-Scanning prüft genau solche Konfigurationen automatisiert, bevor sie überhaupt angewendet werden, und verhindert so, dass Fehlkonfigurationen erst durch einen manuellen Audit oder, schlimmer, durch einen tatsächlichen Vorfall auffallen.
-
Maxim Mironjuk
-
August 01, 2025
Offset-Pagination mit OFFSET und LIMIT wirkt auf den ersten Blick simpel, liefert aber bei sich ändernden Datenmengen zwischen zwei Anfragen verschobene, doppelte oder übersprungene Einträge. Cursor-basierte Pagination (auch Keyset-Pagination genannt) löst dieses Problem strukturell, indem jede Seite an einen konkreten Datensatz statt an eine numerische Position gebunden wird, über ein opakes Token aus Sortierschlüssel und eindeutiger ID.
-
Maxim Mironjuk
-
August 01, 2025
Wer Live-Bestellstatus, Benachrichtigungen oder Chat-Nachrichten im Browser anzeigen will, denkt oft sofort an WebSockets — mit allem was dazugehört: eigener Server, Verbindungsmanagement, Protokoll-Handling.
Symfony Mercure und Server-Sent Events lösen 80 % dieser Anwendungsfälle einfacher, mit weniger Infrastruktur und nativem Browser-Support ohne externe Bibliotheken.
-
Maxim Mironjuk
-
August 01, 2025
Ein Netzausfall darf keine tote App bedeuten. Mit Cache Persistence, einer Mutation-Queue für ausstehende Änderungen und durchdachter Konfliktauflösung lässt sich eine GraphQL-Anwendung so bauen, dass Nutzer weiterlesen, weiterarbeiten und Änderungen vornehmen können, während im Hintergrund auf die Rückkehr der Verbindung gewartet wird.
-
Maxim Mironjuk
-
August 01, 2025
Wer
Magento-Module ohne Integrationstests entwickelt, merkt Regressionen erst im Staging oder in der Produktion. Das Magento Test Framework bietet eine vollständige Umgebung mit echter Datenbankisolation, automatischer Fixture-Verwaltung und dem gesamten Magento-DI-Container – vorausgesetzt, man richtet es korrekt ein.
-
Maxim Mironjuk
-
Juli 31, 2025
Sobald zwei Geräte denselben Datensatz offline bearbeiten und beide anschließend synchronisieren, entsteht zwangsläufig ein Konflikt, den die App auflösen muss. Dieser Artikel zeigt, wie solche Konflikte technisch entstehen, welche Auflösungsstrategien sich in der Praxis bewährt haben und wo automatische Lösungen an ihre Grenzen stoßen.
-
Maxim Mironjuk
-
Juli 31, 2025
Eine Common Table Expression benennt eine Teilabfrage mit der WITH-Klausel und macht sie im Hauptquery wie eine Tabelle referenzierbar. Statt Subqueries mehrfach zu verschachteln, entsteht eine Abfrage, die von oben nach unten lesbar ist, Logik nur einmal formuliert und sich in Schritten nachvollziehen laesst, egal ob in PostgreSQL, MySQL, SQL Server oder Oracle.
-
Maxim Mironjuk
-
Juli 31, 2025
Eine
OpenAPI-Spezifikation, die nicht mehr mit der Implementierung übereinstimmt, ist schlechter als gar keine Dokumentation – sie täuscht. Contract-Testing schließt diese Lücke automatisch: Tests prüfen bei jedem Commit, ob die Backend-Implementierung noch dem Vertrag entspricht, den die Spezifikation definiert.
-