Seite 16 - Monthly Archives: March 2025
-
Maxim Mironjuk
-
März 11, 2025
Seit TypeScript 5.0 lassen sich Typparameter mit dem const Modifier versehen. Damit leitet der Compiler bei jedem Aufruf automatisch die engstmöglichen Literal-Typen ab, ohne dass der Aufrufer selbst as const schreiben muss.
-
Maxim Mironjuk
-
März 11, 2025
Reproduzierbare Docker Builds erzeugen aus identischem Quellcode und identischer Konfiguration bei jedem Build denselben Image-Digest, unabhängig davon, wann oder auf welcher Maschine gebaut wurde. SOURCE_DATE_EPOCH eliminiert das größte Rauschquelle für Nicht-Determinismus, den eingebetteten aktuellen Zeitstempel in jedem Layer.
-
Maxim Mironjuk
-
März 11, 2025
Named Volumes sind der Standardweg, um persistente Daten aus Containern herauszuhalten, doch ohne durchdachte Backup-Strategie bleiben sie ein blinder Fleck im Betrieb. Snapshot-Container, tar-Archive und deduplizierende Werkzeuge wie restic sichern Volumes konsistent, platzsparend und nachvollziehbar ab, mit Retention-Policies und regelmaessigen Restore-Tests statt ungeprueften Vertrauens.
-
Maxim Mironjuk
-
März 11, 2025
Die Wahl der richtigen CSS Methodik entscheidet über Wartbarkeit, Onboarding-Zeit und Refactoring-Aufwand eines Projekts über Jahre hinweg. BEM, Utility First und CSS Modules lösen dasselbe Grundproblem, nämlich Namenskollisionen und unkontrollierte Kaskade, mit fundamental unterschiedlichen Kompromissen bei Lesbarkeit, Build-Komplexität und Teamdisziplin.
-
Maxim Mironjuk
-
März 10, 2025
Ein Testfall, der ein komplexes Objekt mit zwanzig Feldern vollständig und explizit aufbaut, obwohl für den konkreten Test nur ein einziges dieser Felder tatsächlich relevant ist, verschleiert die eigentliche Testabsicht hinter einer Wand irrelevanter Boilerplate-Daten und macht es für eine spätere Leserin oder einen späteren Leser schwer zu erkennen, welche der zwanzig Werte für das tatsächliche Testergebnis ausschlaggebend sind. Das Test-Data-Builder-Pattern löst dieses Problem, indem es sinnvolle, realistische Standardwerte für alle Felder bereitstellt und nur die für den jeweiligen Test tatsächlich relevanten Werte explizit überschreibbar macht.
-
Maxim Mironjuk
-
März 10, 2025
Suchfelder, die während der Eingabe Ergebnisse laden. Formulare, die Felder in Echtzeit validieren. Warenkorb-Komponenten, die auf Klicks reagieren ohne Seitenreload. Das alles mit PHP und Twig — Symfony UX Live Component macht PHP-Komponenten reaktiv, ohne React oder Vue zu brauchen.
-
Maxim Mironjuk
-
März 10, 2025
Beide Konstrukte typisieren Objekte mit mehreren gleichartigen Werten, doch sie geben dem Compiler grundlegend verschiedene Versprechen. Wer { [key: string]: T } und Record für austauschbar hält, produziert entweder zu laxe Typen, die jeden Tippfehler durchwinken, oder zu strenge Typen, die an der Laufzeitrealität scheitern. Dieser Artikel zeigt Syntax, Semantik und die konkrete Entscheidungshilfe für den Alltag.
-
Maxim Mironjuk
-
März 10, 2025
Alpine.js v3 bietet 15 Direktiven, 6 magische Properties und 3 globale Methoden. Wer alle davon kennt und den richtigen Einsatzort versteht, schreibt interaktive UIs ohne Build-Step, ohne Virtual DOM und ohne die Komplexität großer Frameworks – direkt im HTML, reaktiv und wartbar.
-
Maxim Mironjuk
-
März 10, 2025
Ein Event-Handler ohne korrekten Typ verleitet fast automatisch zu any oder zu wiederholten Typumwandlungen, sobald auf event.target.value zugegriffen wird. React Event Handler Types lösen dieses Problem an der Wurzel: SyntheticEvent, ChangeEvent und die passenden Handler-Typen wie MouseEventHandler kennen exakt, welches Element ein Event ausgelöst hat und welche Eigenschaften darauf verfügbar sind. Dieser Artikel zeigt, wie man Event Handler Types in React systematisch und ohne any einsetzt.
-
Maxim Mironjuk
-
März 10, 2025
Ein React Native Monorepo mit Turborepo bündelt mehrere Apps, geteilte Packages und Build-Caching in einem einzigen Repository. Dieser Artikel zeigt den Aufbau mit pnpm Workspaces, die Turborepo-Pipeline-Konfiguration und die Metro-Anpassungen, die für ein stabiles Monorepo notwendig sind.
-