Magento Blog: Anleitungen und Praxiswissen | Seite 309 | mironsoft
Magento Blog
-
22.03.2025
Ein Kanban Board mit Spalten, verschiebbaren Karten und persistentem Zustand lässt sich vollständig mit Alpine.js und der nativen HTML5 Drag and Drop API umsetzen. Kein SortableJS, kein jQuery UI, kein zusätzliches Kilobyte JavaScript, dafür volle Kontrolle über Verhalten, Barrierefreiheit und Darstellung des Boards.
-
21.03.2025
Die vier Isolation Levels in MySQL klingen in der Dokumentation ähnlich, verhalten sich unter Last aber fundamental anders. Dieser Artikel erklärt READ UNCOMMITTED, READ COMMITTED, REPEATABLE READ und SERIALIZABLE konkret in InnoDB, mit besonderem Fokus auf den Standard-Isolation-Level REPEATABLE READ und dessen Snapshot-basiertes Consistent-Read-Verhalten.
-
21.03.2025
Das Memory-System von Claude Code legt automatisch strukturierte Notizen zu Projekten und Nutzerpraeferenzen an, die ueber einzelne Sessions hinweg erhalten bleiben, unabhaengig vom aktuellen Kontextfenster. Anders als eine manuell gepflegte CLAUDE.md-Datei entsteht Memory oft beilaeufig aus Feedback und wiederkehrenden Korrekturen, was Kontrolle, Nachvollziehbarkeit und Datenschutz zu zentralen Fragen macht.
-
21.03.2025
Eine .gitlab-ci.yml, die nur drei Jobs hat und keine Stages definiert, ist kein Deployment-Prozess – sie ist ein Skript, das irgendwann bricht. Wer Magento sauber deployt, braucht eine vollständige Pipeline-Struktur: reproduzierbare Build-Artefakte, definierte Freigaben, serverseitige Release-Verzeichnisse, kontrollierte Magento-Schritte und einen fachlich abgeschlossenen Verify-Job.
-
20.03.2025
Wer für jede Eingabevariante eine eigene Testmethode schreibt, vervielfacht Wartungsaufwand statt Testabdeckung. Der Data Provider von PHPUnit trennt Testlogik von Testdaten und macht aus zehn fast identischen Methoden eine einzige, klar lesbare Testmethode mit einem Dutzend Datensätzen.
-
20.03.2025
PHP-Entwickler kennen die meisten Konzepte von TypeScript bereits, nur unter anderen Namen und mit anderen Garantien. Dieser Artikel ordnet Union Types, Interfaces, Immutability, Enums und Generics aus der PHP-Welt ihren TypeScript-Entsprechungen zu, zeigt konkret, wo nominale und strukturelle Typisierung auseinanderlaufen, und vergleicht ein typisches Value Object Zeile für Zeile in beiden Sprachen.
-
20.03.2025
Sobald eine Symfony-Anwendung mehr als eine Sprache bedient, stellt sich die Frage, wie sich das in der URL-Struktur widerspiegeln soll. Der eingebaute {_locale}-Routing-Parameter deckt den Grundfall ab, reicht aber nicht aus, sobald auch die Pfade selbst übersetzt werden sollen, etwa /de/produkte gegenüber /en/products. Wer diese Struktur von Anfang an sauber plant, spart sich später aufwendige Refactorings und vermeidet SEO-Probleme durch fehlende oder falsche Hreflang-Angaben.
-
20.03.2025
Jede Animation durchläuft im Browser die Rendering-Pipeline aus Layout, Paint und Composite, und wer width, top oder margin animiert, zwingt den Browser bei jedem einzelnen Frame zu teuren Neuberechnungen. Dieser Artikel zeigt, warum transform und opacity fast kostenlos auf dem Compositor-Thread laufen, wie will-change korrekt eingesetzt wird und wie sich bestehende Animationen gezielt refactoren lassen.
-
20.03.2025
Ein Skript mit #!/bin/sh laeuft auf dem eigenen Rechner problemlos und scheitert auf dem Debian Server mit einer kryptischen Fehlermeldung. Der Grund ist der Unterschied zwischen Dash und Bash: zwei Shells mit gemeinsamer POSIX Basis, aber sehr unterschiedlichem Funktionsumfang.
-
20.03.2025
Wer free -h zum ersten Mal sieht, hält den Arbeitsspeicher oft fälschlich für knapp, weil buff/cache als belegt erscheint. Dieser Artikel erklärt, wie der Page Cache brachliegenden RAM für Performance nutzt, warum Swap ein Overflow-Mechanismus statt primärer Speicher ist, und wie sich der tatsächliche Speicherzustand über proc meminfo präzise beurteilen lässt.