Seite 259 - Mironsoft Blog
-
Maxim Mironjuk
-
Mai 18, 2025
Wer match-Expression und switch als austauschbar behandelt, übersieht handfeste Unterschiede: match vergleicht strikt mit ===, kennt keinen Fallthrough und wirft bei einem unbehandelten Fall eine UnhandledMatchError, während switch lose mit == vergleicht und ohne Treffer einfach nichts tut. Dieser Artikel zeigt anhand von PHP 8.4 Codebeispielen, wann die match-Expression die robustere Wahl ist und wo switch weiterhin seinen Platz hat.
-
Maxim Mironjuk
-
Mai 18, 2025
Wer Container Ressourcenlimits wie Docker --memory oder Kubernetes resources.limits nur als CLI Flag kennt, versteht selten, was darunter tatsächlich passiert. Beide Mechanismen sind lediglich dünne Wrapper um die cgroups v2 Controller cpu, memory und io, deren direkte Bedienung über systemd deutlich mehr Kontrolle bietet als jedes Container Tool an der Oberfläche zeigt.
-
Maxim Mironjuk
-
Mai 18, 2025
Wer Cypress- oder Playwright-Suiten naiv in GitLab CI einbindet, bekommt langsame Pipelines, flackernde Tests und Merge Requests, die niemand mehr ernst nimmt. Mit den richtigen Docker-Images, Caching-Strategien, Review-App-Setups, Artefakt-Regeln, Parallelisierung und Retry-Mechanismen werden E2E-Tests zu einem verlässlichen Gate statt zu einem gefürchteten Flaschenhals im Entwicklungsprozess.
-
Maxim Mironjuk
-
Mai 18, 2025
Ein fehlgeschlagener parametrisierter Test, der nur 'Data set #7' meldet, zwingt zum Aufklappen des Data Providers und manuellen Nachzählen. Mit benannten Arrays statt nummerierter Indizes zeigt PHPUnit stattdessen sofort, welcher fachliche Fall gescheitert ist. Dieser Artikel zeigt an einem echten Vorher-Nachher-Beispiel, wie sich Named Datasets etablieren und was dabei an Fallstricken lauert.
-
Maxim Mironjuk
-
Mai 18, 2025
Seit dem 1. Januar 2025 gilt in Deutschland eine neue Pflicht rund um Rechnungen zwischen Unternehmen.
Sie betrifft nicht nur große Konzerne, sondern grundsätzlich jedes Unternehmen, auch kleine Onlineshops und Kleinunternehmer.
Wir erklären in einfachen Worten, was sich ändert, seit wann genau, und was Sie jetzt konkret tun sollten, ohne dass Sie dafür selbst zum Steuerexperten werden müssen.
Am Ende dieses Beitrags wissen Sie genau, wo Sie stehen und welchen nächsten Schritt Sie angehen sollten.
-
Maxim Mironjuk
-
Mai 18, 2025
Ein PIM-System löst genau das Problem, das viele Magento-Shops mit gepflegten, aber inkonsistenten Produktdaten quälen. Eine durchdachte PIM-Integration mit klarem Attribut-Mapping zwischen dem PIM und Magentos EAV-Struktur macht den Unterschied zwischen einem Katalog voller Lücken und einem, der in jeder Sprache und jedem Kanal vollständig und aktuell ist.
-
Maxim Mironjuk
-
Mai 17, 2025
Viele Legacy-Tools und einfache Konfigurationsdateien nutzen bis heute das INI-Format: Sections in eckigen Klammern, darunter Key-Value-Paare. Bash bringt genug Bordmittel mit, um ein solches Format zuverlässig einzulesen, solange man Kommentare, Whitespace und Quoting-Fallstricke von Anfang an einplant statt nachträglich zu flicken.
-
Maxim Mironjuk
-
Mai 17, 2025
Der Oxide Compiler ist die technische Grundlage von Tailwind CSS v4. In Rust geschrieben, ersetzt er den bisherigen JavaScript-Compiler vollständig und bringt dramatische Build-Beschleunigung – mit automatischer Datei-Erkennung und eingebautem CSS-Parser.
-
Maxim Mironjuk
-
Mai 17, 2025
Seit Redis 6 steht mit RESP3 eine überarbeitete Version des Redis-Protokolls zur Verfügung, die deutlich mehr strukturierte Datentypen kennt als das seit Jahrzehnten etablierte RESP2. Für Anwendungen, die Redis nur über eine ausgereifte Client-Bibliothek ansprechen, bleibt vieles davon unsichtbar, doch wer eigene Serialisierung schreibt, Client-Side Caching nutzen möchte oder einfach verstehen will, warum manche Werte plötzlich als Double statt als String zurückkommen, sollte die praktischen Unterschiede kennen. Dieser Artikel zeigt, welche neuen Datentypen RESP3 einführt, wie es um die Kompatibilität der Client-Bibliotheken steht und was sich bei einer Umstellung konkret ändert.
-
Maxim Mironjuk
-
Mai 17, 2025
Ein Health Check, der nur prüft, ob der Webserver antwortet, meldet einen Shop als gesund, obwohl die Datenbank blockiert, die Suche down ist oder die Message Queue voll läuft. Ein durchdachter Health Check Endpoint prüft echte Abhängigkeiten und verhindert, dass ein Load Balancer weiter Traffic auf einen defekten Node schickt.
-