Seite 17 - Monthly Archives: February 2025
-
Maxim Mironjuk
-
Februar 08, 2025
CQRS trennt lesende von schreibenden Operationen, aber diese Trennung bleibt halbherzig, solange beide über denselben Messenger-Bus mit identischer Middleware laufen. Zwei separate Busse, command.bus und query.bus, mit jeweils eigenem Middleware-Stack machen die Trennung nicht nur konzeptionell, sondern auch technisch konsequent und verhindern, dass Query-Handler unnötig in Transaktionen laufen oder Command-Handler ohne Validierung durchrutschen.
-
Maxim Mironjuk
-
Februar 07, 2025
App Clips unter iOS und Instant Apps unter Android liefern kleine, klar abgegrenzte Teile einer App aus, ausgelöst per QR-Code oder Link, ganz ohne vollständige Installation. Dieser Artikel zeigt Architektur, Größenlimits und die praktische Machbarkeit mit React Native.
-
Maxim Mironjuk
-
Februar 07, 2025
Manuell geschriebene Testfälle prüfen fast immer nur die Eingaben, die sich ein Entwickler vorstellen kann, während echte Angreifer systematisch nach genau den Eingaben suchen, an die niemand gedacht hat. Fuzzing schließt diese Lücke, indem es automatisiert riesige Mengen zufälliger oder gezielt mutierter Eingaben gegen eine Anwendung feuert und dabei nach Abstürzen, Speicherfehlern oder unerwartetem Verhalten sucht, das auf eine tatsächliche Sicherheitslücke hindeutet, statt sich auf die begrenzte Vorstellungskraft eines einzelnen Testautors zu verlassen.
-
Maxim Mironjuk
-
Februar 07, 2025
Eine umbenannte Datei wirkt für git log wie eine neue Datei. Mit --follow bleibt die vollständige Historie sichtbar, allerdings nur unter bestimmten Bedingungen.
-
Maxim Mironjuk
-
Februar 07, 2025
Die Mehrheit des E-Commerce-Traffics kommt heute von mobilen Geraeten, doch die meisten E2E-Testsuiten simulieren Mobile nur durch eine kleinere Browserbreite. Diese Strategie zeigt, wie Touch-Gesten, Hamburger-Navigation, Checkout-Formulare mit korrekten Tastaturtypen und mobile Core Web Vitals gezielt mit Cypress und Playwright abgesichert werden, statt Mobile-Bugs erst live zu entdecken.
-
Maxim Mironjuk
-
Februar 07, 2025
Der Symfony RateLimiter schützt Endpunkte zuverlässig vor Missbrauch, aber nur, wenn der gewählte Storage-Backend zur tatsächlichen Infrastruktur passt. In-Memory-Storage ist für Tests gedacht und zählt Anfragen nur innerhalb eines einzelnen PHP-Prozesses, was hinter einem Load Balancer mit mehreren Server-Instanzen faktisch bedeutet, dass ein Angreifer das Limit einfach mit der Anzahl der Instanzen multiplizieren kann. Dieser Artikel vergleicht In-Memory-Storage, den generischen Cache-Adapter und Redis als geteilten Zustand, zeigt die konkrete Konfiguration der RateLimiterFactory und erklärt den praktischen Unterschied zwischen Sliding-Window- und Token-Bucket-Policy.
-
Maxim Mironjuk
-
Februar 07, 2025
ACID-Eigenschaften sind das Versprechen jeder relationalen Datenbank, dass eine Transaktion entweder vollstaendig oder gar nicht wirkt, dass Integritaetsregeln immer gelten, dass parallele Transaktionen sich nicht gegenseitig korrumpieren und dass bestaetigte Daten einen Absturz ueberleben. Wer versteht, was ohne jede einzelne dieser vier Eigenschaften konkret schiefgeht, trifft bessere Entscheidungen beim Transaktionsdesign.
-
Maxim Mironjuk
-
Februar 07, 2025
SQL-Queries aus der Hand tippen kostet Zeit, besonders bei mehrstufigen JOINs, Fensterfunktionen und Aggregationen über mehrere Tabellen. Claude generiert aus einem klar beschriebenen Schema korrekte, lesbare Abfragen und prüft bestehende Queries im Review auf Performance-Fallen und Sicherheitslücken, bevor sie in Produktion laufen. Dieser Artikel zeigt den kompletten Workflow von Schema-Kontext bis EXPLAIN-Analyse.
-
Maxim Mironjuk
-
Februar 07, 2025
Wer responsive Layouts testet, indem er wahllos Dutzende Viewport-Breiten durchprobiert, verschwendet Testzeit und übersieht trotzdem die kritischen Stellen. Die Bugs entstehen fast immer exakt an den Breakpoint-Grenzen aus dem Tailwind-Design-System, dort wo Navigation, Grid-Spalten und Schriftgrößen umschalten. Mit gezielten Boundary-Tests in Cypress und Playwright lassen sich genau diese Übergänge automatisiert und zuverlässig absichern.
-
Maxim Mironjuk
-
Februar 07, 2025
Wer Bash-Skripte als monolithischen Block schreibt, kann sie kaum sinnvoll testen. Erst die Trennung in reine, isolierte Funktionen macht Unit-Tests fuer Bash ueberhaupt moeglich, und mit bats-core lassen sich Rueckgabewerte, stdout und Fehlerpfade genauso strukturiert pruefen wie in jeder anderen Programmiersprache.
-