Seite 11 - Monthly Archives: August 2025
-
Maxim Mironjuk
-
August 17, 2025
Environment-Variablen trennen Konfiguration von Code, doch derselbe Mechanismus, der Secrets flexibel macht, macht sie auch angreifbar. Erreichbare phpinfo()-Aufrufe, ins Docker-Image gebackene Zugangsdaten und ungeschützte env.php-Dateien zählen zu den häufigsten Ursachen für Datenlecks in PHP- und Magento-Projekten. Dieser Artikel zeigt konkrete Gegenmaßnahmen für Docker, CI/CD und Magento.
-
Maxim Mironjuk
-
August 17, 2025
Wer das Luma-Newsletter-Widget einfach in ein Hyvä-Theme kopiert, kollidiert mit der strikten Content Security Policy und bekommt ein Formular, das im Browser lautlos versagt. Eine saubere Newsletter-Integration braucht stattdessen registerInlineScript(), eine schlanke Alpine.js-Komponente mit fetch(), einen korrekt kommunizierten Double-Opt-in-Flow und eine serverseitig geprüfte DSGVO-Consent-Checkbox, sauber über Layout-XML in Footer, Checkout-Success und CMS-Block platziert.
-
Maxim Mironjuk
-
August 17, 2025
Wer in Symfony-Controllern noch manuell $request->query->get() und json_decode($request->getContent()) schreibt, verschenkt Typsicherheit und Validierung. MapQueryString und MapRequestPayload mappen Query-Parameter und Request-Body seit Symfony 6.3 direkt in typisierte DTOs — automatisch deserialisiert, validiert und einsatzbereit.
-
Maxim Mironjuk
-
August 17, 2025
JavaScript läuft in Browsern auf einem einzigen Main Thread, der Rendering, Layout und Nutzereingaben gemeinsam verarbeitet. Dieser Artikel erklärt Call Stack, Task Queue und Microtask Queue im Detail, zeigt warum Tasks über fünfzig Millisekunden Rendering und Klicks blockieren, und liefert konkrete Techniken wie Chunking, requestIdleCallback und scheduler.yield, um lange Aufgaben in reaktionsfreundliche Häppchen aufzuteilen.
-
Maxim Mironjuk
-
August 17, 2025
Ein funktionaler E2E-Test bestätigt, dass ein Checkout mit einem einzelnen, isolierten Nutzer korrekt abläuft, sagt aber nichts darüber aus, was passiert, wenn zweihundert Nutzerinnen und Nutzer gleichzeitig denselben Checkout durchlaufen. Genau diese Lücke schließt Lasttesting mit k6, einem quelloffenen, skriptbasierten Lasttest-Werkzeug, das realistische, parallele Nutzerlast simuliert und dabei präzise Kennzahlen zu Antwortzeiten, Fehlerraten und Durchsatz liefert, lange bevor ein echter Sale-Ansturm diese Grenzen im Produktivbetrieb schmerzhaft aufdeckt.
-
Maxim Mironjuk
-
August 17, 2025
AbortSignal.timeout() ersetzt die manuelle setTimeout-plus-AbortController-Kombination durch einen Einzeiler, und AbortSignal.any() führt mehrere Abbruchquellen zu einem einzigen Signal zusammen. Zusammen lösen beide Methoden eines der hartnäckigsten Boilerplate-Probleme in modernen Fetch-basierten Anwendungen.
-
Maxim Mironjuk
-
August 17, 2025
Wer mehrere Feature-Branches gleichzeitig prüfen muss, stößt schnell an die Grenzen eines einzelnen Docker-Compose-Stacks: Portkonflikte, geteilte Datenbanken und Namenskollisionen bei Containern und Netzwerken. COMPOSE_PROJECT_NAME in Kombination mit Profiles löst genau dieses Problem, indem jede Umgebung sauber isoliert nebeneinander läuft.
-
Maxim Mironjuk
-
August 17, 2025
Wer denselben Code in mehreren Symfony-Projekten wiederholt, sollte ein eigenes Symfony Bundle bauen. Dieser Artikel zeigt die vollstaendige Verzeichnisstruktur, die Bundle-Klasse, das Composer-Paket und die Registrierung im Kernel, damit aus wiederkehrender Logik eine gepflegte, testbare Komponente wird.
-
Maxim Mironjuk
-
August 17, 2025
Lottie bringt von Designern in After Effects gebaute Animationen als kompaktes JSON in die App und spielt sie nativ auf iOS und Android ab, ohne Video-Datei und ohne handgeschriebenen Animationscode. Dieser Artikel zeigt die JSON-Pipeline, die programmatische Steuerung über Play, Pause und dynamische Farben sowie die Grenzen von Lottie gegenüber selbst programmierten Reanimated-Animationen.
-
Maxim Mironjuk
-
August 17, 2025
Der atomare Symlink-Wechsel ist der technische Kern von Zero-Downtime-Deployments für Magento. Statt Dateien direkt zu überschreiben – was Inkonsistenz erzeugt – wird das neue Release vollständig vorbereitet und dann in einem einzigen Kernel-Systemcall als current aktiviert. Rollback ist damit kein Notfallplan, sondern eine Millisekunden-Operation.
-