Seite 182 - Mironsoft Blog
-
Maxim Mironjuk
-
August 31, 2025
Distroless Images enthalten weder Shell noch Paketmanager noch überflüssige Systembibliotheken und reduzieren dadurch die Angriffsfläche eines PHP-Containers drastisch. Mit Static-PHP-CLI oder FrankenPHP als Basis lässt sich eine komplette PHP-Laufzeit in ein Distroless-Image kompilieren, ohne die klassische PHP-FPM-Distribution zu benötigen.
-
Maxim Mironjuk
-
August 31, 2025
Sobald ein Magento Shop mit Microservices, externen APIs und asynchronen Queues arbeitet, verliert klassisches Logging jede Anfrage aus den Augen, sobald sie eine Systemgrenze überschreitet. Distributed Tracing mit OpenTelemetry verbindet jeden Teilschritt zu einer einzigen, durchgängigen Kette und macht sichtbar, wo genau Latenz entsteht.
-
Maxim Mironjuk
-
August 30, 2025
MySQL bringt mit dem Event Scheduler einen eingebauten Mechanismus mit, um wiederkehrende SQL-Anweisungen direkt im Datenbankserver auszuführen, ganz ohne externen Cron-Daemon. Dieser Artikel zeigt die CREATE-EVENT-Syntax und die verfügbaren Scheduling-Optionen, grenzt den Event Scheduler klar von Magentos eigenem Cron und dem Betriebssystem-Cron ab und erklärt, wie man fehlgeschlagene Events überwacht, bevor sie unbemerkt deaktiviert bleiben.
-
Maxim Mironjuk
-
August 30, 2025
Video- und Audio-Wiedergabe in React Native ist kein einheitliches Problem: Ein kurzer Video-Feed im TikTok-Stil, ein Podcast-Player mit Lock-Screen-Steuerung und ein On-Demand-Video-Player mit adaptivem Streaming brauchen unterschiedliche technische Grundlagen. Die Wahl zwischen expo-video, react-native-video und react-native-track-player entscheidet direkt darüber, ob Background-Audio, DRM-Schutz und Speicherverwaltung zuverlässig funktionieren.
-
Maxim Mironjuk
-
August 30, 2025
Block-Cache und Full Page Cache sind zwei unabhängige Cache-Ebenen, und wer sie verwechselt, produziert entweder Daten-Lecks zwischen Kunden oder einen Cache, der bei jeder Kleinigkeit komplett neu aufgebaut wird. Diese Hyvä Block-Cache-Strategie zeigt, wie cache_lifetime, getIdentities() und gezielte Invalidierung in Magento 2.4.8 mit PHP 8.4 sauber zusammenspielen, ohne den Full Page Cache zu brechen.
-
Maxim Mironjuk
-
August 30, 2025
Validierungsfehler, die als rohe HTML-Seite oder als unstrukturiertes JSON-Array ankommen, kosten Frontend-Teams Zeit. RFC 7807 Problem Details definieren ein maschinenlesbares Format, das Symfony mit wenig Aufwand aus der ConstraintViolationList erzeugt – konsistent, dokumentierbar und ohne Framework-Lock-in.
-
Maxim Mironjuk
-
August 30, 2025
Dass fopen, file_get_contents und file_put_contents nicht nur mit lokalen Pfaden, sondern auch mit Präfixen wie http:// oder php:// umgehen können, liegt an einem einzigen Mechanismus: der Stream-Wrapper-Registry. Wer versteht, wie stream_wrapper_register funktioniert und welche Methoden eine Wrapper-Klasse implementieren muss, kann eigene Protokolle registrieren, sei es für einen Cloud-Speicher oder ein In-Memory-Dateisystem, das Dateizugriff in Unit-Tests ohne echte Festplatte testbar macht.
-
Maxim Mironjuk
-
August 30, 2025
Ohne durchdachte API-Versionierung wird jeder Breaking Change zum Krisenmeeting mit externen Integratoren. In PHP stehen drei etablierte Ansätze zur Auswahl: Versionsnummer in der URI, ein eigener Versions-Header oder Versionierung über den Accept-Header per Content-Negotiation. Welche API-Versionierung passt, hängt von Kundenstruktur, Release-Rhythmus und der Zahl parallel unterstützter Versionen ab.
-
Maxim Mironjuk
-
August 30, 2025
Ein visuell ansprechendes Modal ist nur die halbe Arbeit. Wer Barrierefreiheit nach WCAG 2.1 ernst nimmt, muss Fokus-Management, korrekte ARIA-Rollen und vollständige Keyboard-Navigation implementieren. Alpine.js macht das möglich – ohne jQuery, ohne externe Bibliotheken.
-
Maxim Mironjuk
-
August 29, 2025
Kurzlebige Toast-Meldungen wie „Zum Warenkorb hinzugefügt“ verschwinden oft, bevor ein Screenreader sie überhaupt vollständig vorgelesen hat, und verletzen damit regelmäßig WCAG 2.2.1 zur einstellbaren Anzeigedauer.
-