Seite 141 - Mironsoft Blog
-
Maxim Mironjuk
-
Oktober 27, 2025
Deployment-Keys, die zu breit berechtigt sind oder ohne Rotation jahrelang im Einsatz bleiben, sind ein unterschätztes Risiko. Ed25519-Schlüsselpaare, GitLab Deploy Keys, korrekte Known-Hosts-Verwaltung und sichere Rotation sind die Bausteine für auditierbare, widerrufbare SSH-Verbindungen in automatisierten Magento-Deployments.
-
Maxim Mironjuk
-
Oktober 26, 2025
In einem gemeinsam genutzten Elasticsearch-Index liegen häufig Dokumente, die nicht jede Nutzerrolle vollständig sehen darf. Ein Produktdokument enthält neben öffentlichen Feldern wie Name und Beschreibung oft auch interne Daten wie Einkaufspreise, Lieferantenkonditionen oder Margenkalkulationen, die ausschließlich für bestimmte Abteilungen bestimmt sind. Getrennte Indizes für jede Sichtbarkeitsstufe zu pflegen ist aufwendig und fehleranfällig, sobald sich Rollen oder Datenmodelle ändern. Die Security-API von Elasticsearch bietet dafür zwei ergänzende Mechanismen direkt auf Rollenebene: Field-Level Security blendet einzelne Felder für bestimmte Rollen aus der Antwort aus, während Document-Level Security ganze Dokumente über einen Query-Filter unsichtbar macht, bevor sie überhaupt in die Trefferliste gelangen. Wie beide Mechanismen konfiguriert werden, wie sie sich kombinieren lassen und welche Fallstricke bei Aggregationen und Performance lauern, zeigt dieser Artikel an einem praxisnahen
-
Maxim Mironjuk
-
Oktober 26, 2025
Eine einzelne Redis-Instanz reicht für die meisten Magento-Shops lange aus, stößt aber bei sehr hohem Traffic irgendwann an klare Grenzen, sowohl bei der verfügbaren Speichermenge als auch beim maximal möglichen Durchsatz auf einem einzelnen Prozess. Redis Cluster löst dieses Problem durch horizontale Verteilung der Daten auf mehrere Knoten, bringt dabei aber eigene Tuning-Fragen mit, die bei einer einzelnen Instanz gar nicht existieren. Dieser Artikel geht auf die Sharding-Strategie und die Hash-Slot-Verteilung ein, zeigt, wie Speicher-Eviction-Policies richtig gewählt werden, und erklärt, wie sich ungleichmäßig verteilte Last auf einzelne Shards zuverlässig erkennen lässt.
-
Maxim Mironjuk
-
Oktober 26, 2025
Ein Barcode-Scanner direkt im Browser klingt nach einer nativen App-Funktion, lässt sich aber mit der MediaDevices-API und einer schlanken Alpine-Komponente vollständig im Web umsetzen. Dieser Artikel zeigt am Beispiel einer Produktsuche per Barcode-Scan, wie Kamerazugriff angefordert wird, wie sich die native BarcodeDetector-API und eine JS-Bibliothek als Fallback ergänzen und wie Berechtigungs-Verweigerung sauber abgefangen wird.
-
Maxim Mironjuk
-
Oktober 26, 2025
SSH-Tunneling verwandelt eine einzige verschlüsselte Verbindung in einen sicheren Kanal für beliebige TCP-Dienste, die sonst nur lokal auf einem Server erreichbar sind. Dieser Artikel erklärt lokale, entfernte und dynamische Portweiterleitung an konkreten Beispielen, zeigt den Tunnel zu einer nur serverintern erreichbaren Datenbank, den Einsatz von autossh für dauerhaft stabile Verbindungen und die Sicherheitsrisiken offen gelassener Tunnel.
-
Maxim Mironjuk
-
Oktober 26, 2025
Wer dieselben Bash-Funktionen für Logging, Retry-Logik und Benachrichtigungen in jedem Repository neu schreibt, produziert Wartungsaufwand, den eine einzige, geteilte Library-Datei vermeidet. Richtig gebaut, versioniert und getestet wird eine solche Bash-Bibliothek zum stabilen Fundament für alle CI-Pipelines eines Teams, statt zur nächsten Quelle für Copy-Paste-Bugs.
-
Maxim Mironjuk
-
Oktober 26, 2025
Ein Type-Ahead-Feld, das bei jedem Tastenanschlag eine neue Query an Elasticsearch feuert, kann einen Cluster unter reale Last bringen, lange bevor der eigentliche Trefferindex überhaupt groß ist. search_as_you_type liefert die Datenstruktur für performantes Prefix-Matching, aber erst die richtige Kombination aus Query-Design, Shard-Verteilung und Frontend-Debouncing macht daraus eine Suche, die auch unter Last stabil bleibt.
-
Maxim Mironjuk
-
Oktober 26, 2025
Eine Polymorphic Association verspricht eine einzige Kommentar-Tabelle fuer Beitraege, Fotos und Videos gleichzeitig, doch der generische Fremdschluessel dahinter bricht die referentielle Integritaet der Datenbank. Dieser Beitrag zeigt, wie das klassische type-plus-id-Muster entsteht, warum es zu verwaisten Datensaetzen fuehrt, und mit welchen drei Alternativen sich dasselbe Problem loesen laesst, ohne auf Fremdschluessel-Constraints zu verzichten.
-
Maxim Mironjuk
-
Oktober 26, 2025
Ein internationaler Magento-Shop mit Hyvä-Theme braucht selten eine vollwertige i18n-Bibliothek wie vue-i18n oder react-intl, denn ein Großteil der übersetzbaren Texte kommt bereits über Magentos eigene Übersetzungsmechanik aus PHP. Für rein clientseitige Alpine-Interaktionen, etwa eine Filterleiste oder ein Mengen-Auswahlfeld, reicht dagegen oft ein deutlich schlankeres Pattern aus einem einfachen Übersetzungsobjekt und Alpine.store(). Dieser Artikel zeigt den Aufbau dieses Patterns, den Umgang mit Pluralformen und Platzhaltern, und wo die Grenze zu einer echten i18n-Bibliothek liegt.
-
Maxim Mironjuk
-
Oktober 26, 2025
Ein einzelner KI-Review-Durchlauf versucht meist, Sicherheit, Performance, Stil und Architektur gleichzeitig zu bewerten, und bleibt dabei in jedem einzelnen Bereich oberflächlich. Parallele Code Reviews mit spezialisierten Agenten, die jeweils nur einen Aspekt gründlich prüfen, liefern tiefere Erkenntnisse in kürzerer Wartezeit, sofern die Ergebnisse anschließend sauber zusammengeführt werden.
-