Magento Blog: Anleitungen und Praxiswissen | Seite 237 | mironsoft
Magento Blog
-
24.06.2025
Die Frage ist nicht "OpenAPI oder GraphQL?" — sie ist "Wofür eignet sich welches Modell, und wann macht es Sinn, beide im selben System zu betreiben?" Wer beide Modelle kennt und ihre Stärken versteht, trifft bessere API-Architekturentscheidungen.
-
24.06.2025
Insert oder Update in einer einzigen Anweisung klingt nach einem einfachen Problem, doch jede Datenbank loest es mit eigener Syntax, eigener Atomaritaet und eigenen Fallstricken. Wer Upsert-Code zwischen MySQL, PostgreSQL, SQL Server, Oracle und SQLite portabel halten will, muss die Unterschiede kennen, bevor der erste produktive Wechsel ansteht.
-
24.06.2025
Ein MySQL-Major-Version-Upgrade ist kein einfacher Paket-Update-Befehl, sondern eine Einbahnstraße mit mehreren stillen Verhaltensänderungen, die erst nach dem Upgrade sichtbar werden. Zwischen MySQL 5.7 und 8.0 liegen Änderungen am Optimizer, an der Standard-Zeichenkodierung, an der Authentifizierung und am gesamten Query-Cache-Subsystem, die einen produktiven Magento-Shop empfindlich treffen können, wenn sie vor dem Upgrade nicht bekannt sind.
-
24.06.2025
Lange bevor PHP Reflection oder Attribute kannte, gab es bereits die Möglichkeit, Funktionsnamen und Variablennamen selbst zur Laufzeit als Werte zu behandeln. Variable Funktionen und variable Variablen sind die älteste Form der Metaprogrammierung in PHP, mächtig und riskant zugleich, und bis heute die Grundlage vieler dynamischer Dispatcher.
-
24.06.2025
Ein Deploy-Fehler, der sich nicht reproduzieren lässt, ist kein gelöster Fehler – er ist aufgeschobenes Chaos. set -x, trap ERR, LINENO und strukturierte Logfiles machen jeden Fehler in Deploy-Skripten nachvollziehbar, reproduzierbar und als Grundlage für Post-Mortem-Analysen nutzbar.
-
23.06.2025
Ein frisches Hyvä-Theme liefert im Entwicklungsmodus ein CSS-Bundle von mehreren Megabyte aus, weil Tailwind CSS im Watch-Modus bewusst nicht purged. Der CSS-Purge-Schritt im Production-Build scannt jede phtml- und Alpine.js-Datei nach tatsächlich verwendeten Klassennamen und reduziert das Stylesheet dadurch auf wenige Kilobyte, sofern dynamische Klassennamen korrekt behandelt und die Deploy-Sequenz sauber ausgeführt wird.
-
23.06.2025
Ein Klon der Produktivdatenbank ist für Tests verlockend praktisch: realistische Datenmengen, echte Kantenfälle, keine mühsame Testdatenerstellung. Genau das macht ihn aber zum Compliance-Risiko, sobald echte Kundendaten in einer Umgebung mit schwächerer Zugriffskontrolle und breiterem Nutzerkreis landen. Dieser Artikel zeigt, wie sich Staging-Datenbanken systematisch anonymisieren lassen, ohne dass Tests an Aussagekraft verlieren, und wie referenzielle Konsistenz über Fremdschlüssel hinweg dabei erhalten bleibt.
-
23.06.2025
Seit dem Helpful Content Update bewertet Google systematisch, ob Inhalte für Menschen oder für Suchmaschinen geschrieben wurden. Dieser Artikel erklärt Googles Selbstbewertungsfragen, typische Signale unhilfreichen Contents und zeigt, wie ihr eine bestehende Content-Bibliothek praktisch auf People-First-Qualität prüft und dauerhaft dort hält.
-
23.06.2025
String-Aggregation fasst mehrere Zeilen einer Gruppe zu einer einzigen, kommagetrennten Textliste zusammen, etwa alle Tags eines Produkts in einer Zeile statt in mehreren Zeilen. MySQL nutzt dafür GROUP_CONCAT, PostgreSQL und SQL Server STRING_AGG, Oracle LISTAGG. Dieser Artikel zeigt Syntax, Reihenfolge, Trennzeichen und Längenlimits aller vier Systeme im direkten Vergleich.
-
23.06.2025
Ein falsch gewaehlter Join-Typ liefert entweder zu wenige Zeilen, weil unpassende Datensaetze stillschweigend verschwinden, oder zu viele Zeilen, weil eine fehlende Join-Bedingung ein kartesisches Produkt erzeugt. Inner Join, Left Join, Right Join und Full Join unterscheiden sich genau darin, welche Zeilen aus den beteiligten Tabellen in der Ergebnismenge landen, wenn eine Bedingung nicht erfuellt ist, und wer das nicht versteht, baut Reports mit stillschweigend falschen Zahlen.