Seite 22 - Maxim Mironjuk
-
Maxim Mironjuk
-
April 14, 2026
Wer per HTTPS pusht, kennt die ständige Passwortabfrage. Credential Helper lösen das Problem, unterscheiden sich aber stark in Sicherheit, Persistenz und Plattform-Unterstützung.
-
Maxim Mironjuk
-
April 14, 2026
Sterne-Bewertungen im Google-Suchergebnis erhöhen die Klickrate spürbar, doch Googles Richtlinien für Review-Schema sind streng und werden aktiv durchgesetzt. Wer Bewertungen ohne sichtbaren Inhalt oder mit fremden Drittanbieter-Daten markiert, riskiert den Verlust der Rich-Result-Berechtigung. Dieser Beitrag zeigt, wie Review- und AggregateRating-Schema korrekt aufgebaut, in
Magento integriert und dauerhaft richtlinienkonform betrieben wird.
-
Maxim Mironjuk
-
April 13, 2026
FROM orders o, customers c WHERE o.customer_id = c.id sieht auf den ersten Blick wie eine harmlose Abkürzung für einen Join aus, und syntaktisch ist es auch nichts anderes. Die implizite Komma-Syntax stammt aus einer Zeit vor dem heute üblichen JOIN-Schlüsselwort und funktioniert in den meisten Datenbanksystemen bis heute unverändert. Der entscheidende Unterschied zur expliziten JOIN-Syntax liegt nicht im Ergebnis einer korrekt geschriebenen Abfrage, sondern in dem, was passiert, wenn ein Entwickler einen Fehler macht: Bei der Komma-Syntax verwandelt sich eine vergessene WHERE-Bedingung ohne jede Fehlermeldung in ein kartesisches Produkt. Dieser Artikel erklärt, warum das strukturell riskanter ist, wo die Komma-Syntax noch auftaucht, und warum explizites JOIN bei komplexen Abfragen auch die Lesbarkeit deutlich verbessert.
-
Maxim Mironjuk
-
April 13, 2026
content bei ::before und ::after wird oft nur fuer leere dekorative Elemente genutzt, kann aber deutlich mehr: attr() liest HTML-Attribute direkt aus, counter() nummeriert Listen und Kapitel automatisch, und content: url() bindet Bild-Icons ein, ganz ohne zusaetzliches Markup. Wer diese Moeglichkeiten kennt, spart HTML-Elemente, muss dabei aber die Zugaenglichkeits-Grenzen von generiertem Inhalt genau verstehen.
-
Maxim Mironjuk
-
April 13, 2026
Der
Symfony Configuration Tree Builder ist das Werkzeug, mit dem ein Bundle definiert, welche Konfiguration erlaubt ist, welche Werte Pflicht sind und wie fehlerhafte Eingaben abgefangen werden. Dieser Artikel geht durch Knotentypen, Default-Werte, Normalisierung und eigene Validierungsregeln anhand eines vollstaendigen Beispiels.
-
Maxim Mironjuk
-
April 13, 2026
Die häufigste Erfahrung in PHP-Projekten: Tests sind schwierig zu schreiben, weil der Produktionscode es schwierig macht. Neue Abhängigkeiten direkt instanziiert, globaler State, zu viele Aufgaben in einer Klasse. Testbarkeit ist kein Zufallsprodukt – sie ist das Ergebnis konkreter Designentscheidungen im Produktionscode.
-
Maxim Mironjuk
-
April 13, 2026
Ein Upload-Formular mit loading, error, success und retry als vier separate boolesche Flags erzeugt schnell unmögliche Kombinationen. Ein State-Machine-Pattern in
Alpine.js ersetzt diese Flags durch einen einzigen, benannten Zustand mit klar definierten Übergängen und macht komplexe UI-Zustände dadurch vorhersagbar und wartbar.
-
Maxim Mironjuk
-
April 13, 2026
Sobald zwei oder mehr Module dieselbe Methode patchen, entscheidet die Plugin-Sortierreihenfolge über das tatsächliche Verhalten der Anwendung, oft ohne dass ein Entwickler das bemerkt. sortOrder-Konflikte zeigen sich selten als klarer Fehler, sondern als subtil falsches Verhalten, das sich erst mit dev:di:info und einem klaren Verständnis der Interceptor-Ausführung sauber diagnostizieren lässt.
-
Maxim Mironjuk
-
April 13, 2026
Wer
Magento Shops auf mehreren Applikationsservern betreibt, kennt das Problem: Ein Fehler taucht irgendwo zwischen Loadbalancer, Nginx, PHP-FPM und Datenbankserver auf, und die relevanten Zeilen liegen verteilt auf drei oder vier verschiedenen Maschinen. rsyslog löst dieses Problem, indem es Logs mehrerer Server über das Netzwerk an einen zentralen Server weiterleitet, dort konsolidiert und für die Auswertung an einem einzigen Ort verfügbar macht, wahlweise verschlüsselt und mit Zustellgarantie.
-
Maxim Mironjuk
-
April 13, 2026
Ein
Symfony-Major-Upgrade scheitert selten an Symfony selbst, sondern an Composer-Abhaengigkeiten, die noch nicht kompatibel sind. Mit composer why-not, gezielt gelockerten Constraints und einer sauberen CI-Pipeline lassen sich diese Konflikte systematisch aufloesen, statt sie mit riskanten --ignore-platform-reqs-Flags zu uebertuenchen.
-