Wer Reports, Rechnungen oder Zertifikate als PDF erzeugen muss, kann dafür dieselbe Tailwind-CSS-Vorlage nutzen, die auch im Browser läuft. Puppeteer steuert Headless Chrome fern und ruft page.pdf() auf, wodurch das Layout inklusive Flexbox, Grid und Custom Properties originalgetreu ins PDF übernommen wird.
Full Page Cache Lochpunkte finden und selektiv invalidieren
Der Full Page Cache ist einer der größten Performancehebel in Magento 2, aber auch eine häufige Fehlerquelle. Wer dynamische Inhalte falsch einbaut oder den Cache zu grob invaldiert, verliert Trefferquote, Geschwindigkeit und oft auch fachliche Korrektheit.
Der Full Page Cache Magento 2 speichert vollständige Seitenausgaben, damit identische Requests nicht jedes Mal das gesamte Rendering, Datenladen und Blocksystem erneut durchlaufen
PhpStorm mit einem Magento-2-Projekt und hunderttausend Vendor-Dateien kann sich wie ein träges Werkzeug anfühlen. Der Grund ist fast immer derselbe: zu viele Dateien im Index, zu wenig Heap-Speicher, zu viele aktive Plugins. Mit systematischer Diagnose wird das Problem in einer Stunde behoben.
Auf einem lokalen Rechner nutzt Docker den Layer-Cache selbstverstaendlich, doch auf fluechtigen CI-Runnern fehlt er meist komplett. Mit --cache-from und --cache-to laesst sich der BuildKit-Cache extern in einer Registry oder im GitHub Actions Cache ablegen und ueber Laeufe und Runner hinweg wiederverwenden.
Ein Inhaltsverzeichnis, das automatisch den Link zur gerade gelesenen Sektion hervorhebt, gehört bei längeren Artikeln und Dokumentationsseiten inzwischen zum Standard. Früher wurde dieses Verhalten häufig mit einem eigenen scroll-Event-Listener und manueller Positionsberechnung umgesetzt, was auf vielen Geräten spürbar ruckelte, weil scroll-Events sehr häufig feuern und jede einzelne Berechnung den Hauptthread belastet. Mit der Intersection Observer API und Alpines x-intersect-Plugin lässt sich derselbe Effekt deutlich effizienter erreichen, weil der Browser die Sichtbarkeitsprüfung selbst übernimmt, statt sie bei jedem Scroll-Ereignis manuell im JavaScript zu wiederholen.
Docker-Container laufen im Test meist stabil, doch im Dauerbetrieb entscheiden Log-Rotation, die richtige Storage-Driver-Wahl, saubere systemd-Integration und klare Ressourcen-Limits darüber, ob ein einzelner Container den gesamten Server lahmlegt oder stabil im Hintergrund läuft. Dieser Artikel zeigt, wie Administratoren den Docker-Daemon produktionstauglich konfigurieren, Container zuverlässig automatisch starten lassen und ihren Gesundheitszustand kontinuierlich überwachen.
Alpine.js Re-Renders funktionieren grundlegend anders als in React oder Vue, weil kein virtueller DOM verglichen wird, sondern jede reaktive Property einzeln über einen Proxy verfolgt wird. Genau diese Feinkörnigkeit macht das Profiling wichtig: überflüssige Effect Ausführungen bleiben oft unbemerkt, bis eine komplexe Komponente spürbar ruckelt und die genaue Ursache gesucht werden muss.
Der eingebaute HTTP Client von PhpStorm ist fuer viele PHP- und Magento-Entwickler das schnellste Werkzeug, um REST- und GraphQL-Endpunkte direkt aus der IDE heraus zu testen. Wer dabei Admin-Token, API-Keys oder Datenbank-Zugangsdaten in Klartext in die .http-Datei schreibt, riskiert frueher oder spaeter, dass genau diese Werte im naechsten Commit landen. Dieser Artikel zeigt, wie Sie mit http-client.env.json und http-client.private.env.json oeffentliche und private Umgebungsvariablen sauber trennen, damit das ganze Team dieselben Requests nutzen kann, ohne dass jeder dieselben Secrets sieht.
Die meisten TypeScript-Style-Guides landen als lange Wiki-Seite, die einmal geschrieben und danach nie wieder gelesen wird. Ein Style Guide, der tatsächlich wirkt, definiert einen klaren Scope, setzt Regeln automatisiert mit ESLint durch und zeigt Konventionen an echten Beispielen statt in abstrakter Prosa.
Negotiable Quotes verwandeln den Magento-Warenkorb in einen mehrstufigen Verhandlungsprozess zwischen Firmenkunde und Vertrieb, mit eigener Statusmaschine, eigenen Berechtigungen und eigenem Datenmodell. Wer das Feature erweitern will, muss verstehen, wie ein Quote durch NegotiableQuoteManagement wandert und wo sich eigene Statusübergänge und Benachrichtigungen sauber einhängen lassen.