Seite 7 - Monthly Archives: June 2025
-
Maxim Mironjuk
-
Juni 21, 2025
Wenn ein PHP-FPM-Worker scheinbar grundlos hängt oder eine Anwendung mysteriöse Datei-Fehler wirft, liefert die Anwendungslogik oft keine brauchbaren Hinweise mehr. strace macht die Kommunikation eines Prozesses mit dem Kernel sichtbar, Syscall für Syscall, und zeigt damit oft in Sekunden, woran ein Prozess wirklich scheitert.
-
Maxim Mironjuk
-
Juni 21, 2025
SolidJS verzichtet auf einen virtuellen DOM und aktualisiert stattdessen einzelne DOM-Knoten direkt über ein feingranulares Signal-System. TypeScript begleitet dieses Modell mit präzisen Typen für Signal-Zugriff, Komponenten-Props und typisierten Kontrollfluss-Komponenten.
-
Maxim Mironjuk
-
Juni 21, 2025
Ein verteiltes GraphQL-Schema ohne zentrale Kontrollstelle wird irgendwann von einem einzelnen Team unbemerkt gebrochen. Ein GraphQL Schema Registry macht jede Schema-Änderung sichtbar, prüfbar und blockierbar, bevor sie produktiven Traffic erreicht, egal ob mit Apollo Studio als verwaltetem Dienst oder mit Hive als selbst gehosteter Open-Source-Alternative.
-
Maxim Mironjuk
-
Juni 21, 2025
Die Alpine.js Modifier debounce und throttle verhindern, dass ein Event Listener bei jedem einzelnen Tastendruck oder jedem einzelnen Scroll-Pixel unnötig aufgerufen wird. Wer den Unterschied zwischen beiden Drosselungsstrategien versteht, baut Live-Suchen, Scroll-Handler und Resize-Reaktionen, die spürbar performanter laufen als ungedrosselte Handler.
-
Maxim Mironjuk
-
Juni 21, 2025
Nicht jedes Git-Projekt läuft über ein zentrales Forge mit Pull-Request-Oberfläche. git format-patch erzeugt aus einer Reihe von Commits versendbare Patch-Dateien, die Empfänger mit git am wieder zu vollständigen Commits zusammensetzen können, ganz ohne GitHub, GitLab oder ein anderes Web-Interface dazwischen. Dieser Artikel zeigt, wie sich Patch-Serien erzeugen, mit einem Cover Letter versehen, versionieren und über git send-email verschicken lassen, und wann sich dieser Workflow gegenüber Pull Requests tatsächlich lohnt.
-
Maxim Mironjuk
-
Juni 21, 2025
Ein langes Formular, das beim versehentlichen Schließen des Tabs verloren geht, kostet Nutzer Zeit und Nerven. Ein Autosave-Pattern in Alpine.js speichert den Entwurf automatisch im localStorage, mit Debounce, sichtbarem Speicherstatus und sauberer Konflikterkennung zwischen mehreren geöffneten Tabs.
-
Maxim Mironjuk
-
Juni 21, 2025
Wer React Native Hintergrundprozesse wie einen Dauerprozess auf einem Server plant, stößt schnell an die Grenzen von iOS und Android: Beide Betriebssysteme unterbrechen Apps im Hintergrund aggressiv, um Akku zu sparen. Dieser Artikel zeigt, wie BGTaskScheduler, WorkManager und react-native-background-fetch zusammenspielen, damit Background Tasks zuverlässig und batteriefreundlich funktionieren.
-
Maxim Mironjuk
-
Juni 20, 2025
Ein TypeScript-Monorepo ohne Build-Orchestrierung baut bei jedem Commit alle Pakete neu, auch wenn sich nur eine Zeile in einem einzigen Paket geändert hat. Nx und Turborepo lösen dieses Problem mit Task-Graphen, Caching und Affected-Detection, aber mit unterschiedlicher Philosophie und unterschiedlichem Funktionsumfang.
-
Maxim Mironjuk
-
Juni 20, 2025
Wer Branches und Deployment-Umgebungen nicht sauber trennt, deployt irgendwann versehentlich ungetesteten Code auf die Produktion. Dieser Artikel zeigt, wie Magento-Teams Branches eindeutig auf dev, staging und prod abbilden, Code per Merge und Tag statt per Rebase durch die Umgebungen befördern, Konfiguration sauber aus der Historie heraushalten und Branches sowie Pipelines pro Umgebung gezielt absichern.
-
Maxim Mironjuk
-
Juni 20, 2025
Ein TypeScript-Typ, der fehlerfrei kompiliert, ist nicht automatisch korrekt. Komplexe generische und bedingte Typen können sich unbemerkt zu any verbreitern, ungültige Formen akzeptieren oder in einem Zweig falsch verengen. Tools wie tsd, expect-type und Vitests expectTypeOf machen genau dieses Verhalten testbar, rein zur Kompilierzeit, ohne dass ein einziger Runtime-Test dafür nötig ist.
-