Seite 2 - Monthly Archives: March 2025
-
Maxim Mironjuk
-
März 30, 2025
Top-Level Await war einer der meistgewünschten Features in JavaScript-Modulen: Direkt im Modul-Scope auf asynchrone Initialisierung warten, ohne das gesamte Modul in eine async-Funktion zu hüllen. Die Auswirkungen auf den Modul-Graphen und mögliche Deadlocks verstehen die wenigsten — dieser Guide erklärt beides.
-
Maxim Mironjuk
-
März 29, 2025
Jeder kann git config user.name und user.email auf einen beliebigen Namen setzen und Commits im Namen eines Kollegen erstellen, ohne dass Git das verhindert. Dieser Artikel zeigt, wie GPG- und SSH-basierte Commit-Signaturen kryptographisch beweisen, wer einen Commit tatsächlich erstellt hat, wie man Schlüssel einrichtet, Signaturen verifiziert und signierte Commits über Branch-Protection-Regeln im Team erzwingt.
-
Maxim Mironjuk
-
März 29, 2025
Ein Projekt, das jahrelang ohne strictNullChecks gewachsen ist, hat mit hoher Wahrscheinlichkeit hunderte oder tausende Stellen, an denen null oder undefined nicht behandelt werden. Die Option strictNullChecks nachträglich einzuschalten, bricht in so einem Projekt meist sofort den Build mit einer erdrückenden Fehlerliste, weshalb eine schrittweise, ordnerweise Migration fast immer der einzig realistische Weg ist.
-
Maxim Mironjuk
-
März 29, 2025
Nuxt 3 mit Nitro bietet mehrere Caching-Schichten, die unabhängig voneinander konfiguriert werden können — Server-seitiger Nitro-Cache, ISR mit Stale-While-Revalidate, CDN-Cache-Control-Headers und Edge-Deployment. Die richtige Kombination dieser Schichten macht den Unterschied zwischen einer Anwendung mit 800 ms TTFB und einer mit 40 ms.
-
Maxim Mironjuk
-
März 29, 2025
JavaScript Proxy erlaubt es, einen Stellvertreter vor ein Objekt zu schalten, der jeden Lese-, Schreib-, Lösch- und Funktionsaufruf abfängt. Reflect ist das symmetrische Gegenstück: Es ruft die Standardverhalten der Sprache als erstklassige Funktionen auf. Zusammen bilden sie die Grundlage für reaktive Datensysteme, Validierungsschichten, Logging-Proxies und virtuelle Objekte in modernem JavaScript.
-
Maxim Mironjuk
-
März 29, 2025
Ein Claude Code Workflow im Team scheitert selten an der KI selbst, sondern an fehlenden gemeinsamen Regeln. Dieser Artikel zeigt, wie eine geteilte CLAUDE.md, klare Review-Erwartungen für KI-unterstützte Änderungen und ein strukturiertes Onboarding verhindern, dass jeder Entwickler Claude Code anders nutzt und Codequalität sowie Nachvollziehbarkeit darunter leiden.
-
Maxim Mironjuk
-
März 29, 2025
Alpine.js-Komponenten zu testen ist nicht offensichtlich: Das Framework ist eng an das DOM gekoppelt, was spezielle Test-Setups erfordert. Mit Vitest, jsdom und @testing-library/dom lassen sich reaktive Alpine-Komponenten zuverlässig, wartbar und schnell testen.
-
Maxim Mironjuk
-
März 28, 2025
Wer in einem Composable mehrere watch, watchEffect und computed anlegt, muss beim Aufräumen jeden einzeln stoppen. Ein Effect Scope bündelt alle diese Effekte in einer Gruppe und beendet sie mit einem einzigen stop() Aufruf, ganz gleich ob innerhalb oder außerhalb einer Komponente.
-
Maxim Mironjuk
-
März 28, 2025
Wer GraphQL-Filter in Magento naiv über rohes SQL oder direkte Modell-Abfragen löst, baut technische Schulden auf. Der korrekte Weg führt über den SearchCriteriaBuilder — mit typsicheren Argumenten im Schema, sauberer Delegation im Resolver und testbarer Filterlogik im Service Contract.
-
Maxim Mironjuk
-
März 28, 2025
Eine falsch konfigurierte Elasticsearch oder OpenSearch Installation bremst jede Kategorieseite und jede Facettensuche in Magento spürbar aus. Dieser Artikel zeigt, wie Index-Mapping, Shard-Größen, JVM-Heap und Query-Muster die tatsächliche Antwortzeit bestimmen, wie man mit der Explain API und Cluster-Health-Checks Engpässe findet, und wie man teure Wildcard- und Fuzzy-Queries in der Layered Navigation vermeidet.
-