Seite 337 - Mironsoft Blog
-
Maxim Mironjuk
-
Februar 02, 2025
Ein selbstgeschriebenes CLI-Tool wirkt erst richtig fertig, wenn die Tab-Taste Unterbefehle, Optionen und Argumente vorschlägt, genau wie bei git oder docker. Das Bash-Builtin complete zusammen mit compgen macht das ohne externe Abhängigkeiten möglich, von einer einfachen Wortliste bis zu dynamisch aus einer Datenbank oder API geladenen Vorschlägen.
-
Maxim Mironjuk
-
Februar 02, 2025
Magento Cron und Message Queue Consumer laufen in Containern anders als auf einem klassischen Server mit Host-Crontab. Ohne dedizierte Container, klares Locking und sauberes Signal Handling entstehen doppelte Jobs, hängende Consumer und verlorene Nachrichten. Dieser Artikel zeigt, wie Magento Cron und Consumer als eigenständige, überwachte Container zuverlässig betrieben werden.
-
Maxim Mironjuk
-
Februar 02, 2025
Wer Benutzereingaben nur gegen bekannte Angriffsmuster prüft, übersieht zwangsläufig die nächste Variante. Dieser Artikel zeigt, warum Allowlist-Validierung jede Blacklist schlägt, wie PHPs filter_var Funktion richtig eingesetzt wird, welche Fallstricke Magentos Formularvalidierung bereithält und warum Validierung und Sanitization strikt getrennte Aufgaben mit unterschiedlichen Zielen sind.
-
Maxim Mironjuk
-
Februar 01, 2025
Ein neuer Codepfad in einem produktiv genutzten Bash-Skript ist immer ein Risiko, egal wie sorgfältig er getestet wurde. Ein Feature Flag verwandelt dieses Alles-oder-Nichts-Risiko in eine steuerbare Entscheidung: Der neue Pfad existiert im Skript, ist aber standardmäßig aus, lässt sich gezielt für einzelne Läufe aktivieren und im Ernstfall mit einem einzigen Wert wieder abschalten.
-
Maxim Mironjuk
-
Februar 01, 2025
Welche Requests gehen an MySQL, welche an OpenSearch? Wie synchronisiert Magento Produktdaten, warum kommen Layered-Navigation-Filter aus OpenSearch — und wie debuggt man fehlende Produkte in der Suche?
-
Maxim Mironjuk
-
Februar 01, 2025
Für ein einfaches Autocomplete auf Marken- oder Kategorienamen ist ein vollwertiger Completion-Suggester mit eigenem Suggest-Index und dediziertem Mapping häufig überdimensioniert. Die Terms-Enum-API bietet dafür eine deutlich leichtgewichtigere Alternative: Sie liest die im Termindex eines Feldes bereits vorhandenen, eindeutigen Werte direkt aus und liefert Präfix-Treffer, ohne eine vollständige Suchanfrage mit Scoring, Relevanzberechnung oder Dokumentabruf auszuführen. Damit eignet sie sich hervorragend für schnelle Vorschlagslisten auf niedrig-kardinalen keyword-Feldern wie Marken- oder Kategorienamen. Wie die Terms-Enum-API technisch funktioniert, worin sie sich vom Completion-Suggester unterscheidet und wie sich ein praktisches Marken-Autocomplete damit umsetzen lässt, zeigt dieser Artikel.
-
Maxim Mironjuk
-
Februar 01, 2025
Bundle-Produkte gehören zu den komplexesten Produkttypen in Magento 2: Sie kombinieren ein eigenes Tabellenmodell aus Optionen und Selections, zwei grundverschiedene Preislogiken für Fixed und Dynamic Pricing, eine mehrstufige Lagerverknüpfung über Multi Source Inventory und einen eigenen Preisindex. Dieser Beitrag erklärt Datenmodell, Preisberechnung, Lagerverknüpfung, Hyvä-Frontend und Performance-Strategien für Bundle-Produkte anhand von echtem PHP 8.4 Code, Service Contracts und deklariertem Schema.
-
Maxim Mironjuk
-
Februar 01, 2025
Jede Symfony-Anfrage kompiliert ohne Preloading dieselben tausend Klassen erneut aus dem OPcache-Bytecode. Mit opcache.preload und einem sauberen preload.php landen Container, Router und Kernel-Klassen dauerhaft im Speicher jedes PHP-FPM-Workers, bevor die erste Anfrage überhaupt ankommt.
-
Maxim Mironjuk
-
Februar 01, 2025
Wenn StreamHandler und RotatingFileHandler nicht mehr ausreichen, zeigen wir, wie du in Symfony eigene Monolog-Handler für Slack-Alerts und Processor für automatischen Log-Kontext schreibst.
-
Maxim Mironjuk
-
Februar 01, 2025
VueUse bündelt über zweihundert fertige Composables für Storage, Sensoren, Zeitgeber und Browser-APIs. Wer diese Bibliothek gezielt statt pauschal einsetzt, spart nicht nur Zeit beim Schreiben eigener Utility-Funktionen, sondern reduziert auch Bugs bei Edge-Fällen wie SSR, Cleanup und Reaktivität, die in selbst geschriebenen Composables leicht übersehen werden.
-