Seite 232 - Mironsoft Blog
-
Maxim Mironjuk
-
Juni 21, 2025
Ein Thread pro Verbindung funktioniert gut, solange die Anzahl gleichzeitiger Verbindungen überschaubar bleibt. Sobald PHP-FPM-Pools oder ähnliche Setups tausende parallele Verbindungen erzeugen, kippt dieses Modell und der Server verliert Durchsatz, statt mehr zu leisten. Das Thread-Pool-Plugin begrenzt die tatsächlich gleichzeitig arbeitenden Threads gezielt.
-
Maxim Mironjuk
-
Juni 21, 2025
Dieselben drei Punkte bedeuten in einer Funktionssignatur etwas anderes als bei einem Funktionsaufruf, und wer das nicht klar trennt, verwechselt schnell Definition und Verwendung. Wir zeigen, wie Variadic-Parameter und der Spread-Operator beim Aufruf zusammenspielen, wie Named Arguments mit Variadics kombiniert werden und wo sich Wrapper-Funktionen sowie Fluent-Builder mit variabler Argumentzahl in der Praxis lohnen.
-
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.
-