Seite 201 - Mironsoft Blog
-
Maxim Mironjuk
-
August 07, 2025
Von mysqldump über XtraBackup bis Point-in-Time-Recovery: Wie du ein wasserdichtes MySQL-Backup-Konzept für Magento 2 aufbaust, das auch im Ernstfall hält.
-
Maxim Mironjuk
-
August 07, 2025
Das Tag :latest verschleiert, welcher Code tatsaechlich in einem Container laeuft, und macht Rollbacks zum Ratespiel. Mit SemVer-, Git-SHA- und Datums-Tags, sinnvoll kombiniert, wird jeder Deploy nachvollziehbar und reproduzierbar.
-
Maxim Mironjuk
-
August 07, 2025
Viele Magento-Probleme sehen auf den ersten Blick wie Daten- oder Indexerfehler aus, sind in Wirklichkeit aber Cron-Probleme. Wer Cron Jobs in Magento 2 sauber plant und beobachtet, verhindert stille Ausfälle bei E-Mails, Reindex, Synchronisationen und Imports.
-
Maxim Mironjuk
-
August 06, 2025
Das Async/Await Pattern erlaubt es, asynchronen PHP Code so zu schreiben, dass er wie gewöhnlicher, sequenzieller Code aussieht, obwohl er unter der Haube nicht blockiert. Amp baut dieses Pattern auf PHP Fibers auf und ersetzt verschachtelte Callback Ketten durch einfache async und await Aufrufe, ohne die Vorteile echter Nebenläufigkeit zu opfern.
-
Maxim Mironjuk
-
August 06, 2025
Sobald eine Anwendung mehr als ein Modal gleichzeitig anzeigen muss, etwa einen Bestätigungsdialog über einem bereits geöffneten Detail-Modal, reicht ein einfaches Boolean-Flag nicht mehr aus. Dieser Artikel zeigt, wie ein globaler Alpine-Store einen echten Stack offener Dialoge verwaltet, welche Z-Index- und Fokus-Regeln pro Ebene gelten und wie der Fokus beim Schließen des obersten Modals korrekt zum auslösenden Element zurückkehrt.
-
Maxim Mironjuk
-
August 06, 2025
Self-signed Zertifikate erzeugen ständig Browser-Warnungen und lassen sich nicht für APIs und Service-Worker nutzen. mkcert kombiniert mit einem Docker-Reverse-Proxy löst das Problem vollständig: lokale Domains mit echtem vertrauenswürdigen HTTPS – ohne Cloud, ohne Let's Encrypt, ohne Klickorgien.
-
Maxim Mironjuk
-
August 06, 2025
Eine öffentlich erreichbare API ohne Ratenbegrenzung ist eine offene Einladung für Brute-Force-Angriffe, Credential Stuffing und automatisierte Datenabfragen. Der Symfony Rate Limiter bietet drei verschiedene Algorithmen – Token Bucket, Sliding Window und Fixed Window – und lässt sich in Minuten in jeden Controller, Service oder Event-Listener integrieren.
-
Maxim Mironjuk
-
August 06, 2025
Faceted Navigation lebt von Terms-Aggregationen auf Produktattributen, aber diese Aggregationen sind nur so schnell wie das darunterliegende Mapping. Wer Attribute als analysierten text-Typ statt als keyword indexiert, bekommt zerstückelte Filterwerte, doppelte Facetten und Aggregationen, die bei jeder Kategorieseite unnötig viel Speicher und Rechenzeit verbrauchen.
-
Maxim Mironjuk
-
August 06, 2025
Eine initiale Katalog-Indexierung mit mehreren Millionen Produktdokumenten läuft mit den Standardeinstellungen von Elasticsearch spürbar langsamer, als es die zugrunde liegende Hardware eigentlich hergeben würde. Die Bulk-API selbst ist dabei selten der Engpass, sondern das Zusammenspiel aus Batch-Größe, Refresh-Interval, Replica-Anzahl und Thread-Pool-Konfiguration, das bei den Standardwerten auf einen ausgewogenen Dauerbetrieb optimiert ist, nicht auf einen kurzen, intensiven Massenimport. Dieser Artikel zeigt, wie sich die optimale Batch-Größe systematisch ermitteln lässt, welche temporären Einstellungsänderungen während einer Massenindexierung den größten Effekt haben, und wie eine praktische Tuning-Checkliste für die initiale Indexierung eines großen Katalogs aussieht.
-
Maxim Mironjuk
-
August 06, 2025
Wer assertEquals schreibt, wo assertSame gemeint ist, schreibt Tests, die bestehen, obwohl die Software fehlerhaft ist. Assertions sind keine Boilerplate – sie sind die Sprache, in der ein Test beschreibt, was korrekt bedeutet. Die richtige Wahl zwischen Gleichheit, Identität, Typ und Struktur entscheidet darüber, ob ein Test ein Sicherheitsnetz ist oder falsche Sicherheit vermittelt.
-