Seite 154 - Maxim Mironjuk
-
Maxim Mironjuk
-
Oktober 10, 2025
Generated Columns berechnen einen Wert automatisch aus anderen Spalten derselben Zeile und lassen sich, anders als reine Ausdrücke in der WHERE-Klausel, direkt indexieren. Dieser Artikel erklärt den Unterschied zwischen STORED und VIRTUAL, zeigt Indexierungsstrategien und konkrete Anwendungsfälle für JSON-Extraktion und berechnete Summen in MySQL 8.
-
Maxim Mironjuk
-
Oktober 10, 2025
Langsame Kataloge entstehen fast nie durch zu wenig Hardware, sondern durch Queries ohne passenden Index, unnötig breite SELECT-Statements und fehlendes Caching. Dieser Artikel zeigt, wie man EXPLAIN-Pläne liest, fehlende Indizes diagnostiziert, Connection-Overhead reduziert und MySQL/MariaDB gezielt für katalogschwere PHP-Anwendungen konfiguriert.
-
Maxim Mironjuk
-
Oktober 10, 2025
Die Wahl des Runner-Typs ist keine Komfortfrage — sie ist eine Sicherheitsentscheidung. Shared Runner sind praktisch, aber ihr Sicherheitsmodell ist für Magento-Produktions-Deployments mit SSH-Keys und Datenbank-Credentials oft nicht ausreichend. Dieser Artikel zeigt, wo die Grenzen liegen und was Self-Hosted Runner leisten können.
-
Maxim Mironjuk
-
Oktober 09, 2025
Ein grüner jest-axe-Report bedeutet nicht, dass eine React-Anwendung mit NVDA oder VoiceOver tatsächlich bedienbar ist. Automatisierte Tools finden strukturelle ARIA-Fehler, aber keine verwirrende Ankündigungsreihenfolge oder unlogische Fokus-Sprünge. Dieser Guide zeigt, wie man Screenreader-Tests für React-Apps systematisch mit beiden Ebenen aufbaut.
-
Maxim Mironjuk
-
Oktober 09, 2025
@testing-library/user-event simuliert komplette Interaktionsabfolgen wie ein echter Browser, während fireEvent ein einzelnes DOM-Event synchron auslöst. Der Unterschied wirkt klein, entscheidet aber häufig darüber, ob ein Test reale Bugs findet oder blind daran vorbeiläuft.
-
Maxim Mironjuk
-
Oktober 09, 2025
Eine reine Validierungsfunktion, die nur true oder false zurückgibt, verwirft die einzige Information, die sie durch die Prüfung gewonnen hat, und zwingt den restlichen Code, dieselbe Prüfung an jeder weiteren Stelle zu wiederholen. Dieser Artikel erklärt das Prinzip Parsing statt Validieren, bekannt als Parse, Don't Validate, und zeigt anhand von Refinement Types, verschachtelten Parsern und praktischen TypeScript-Beispielen, wie sich unknown-Zustände dauerhaft aus einer Codebasis entfernen lassen, statt sie immer wieder neu zu prüfen.
-
Maxim Mironjuk
-
Oktober 09, 2025
Progressive Web Apps versprechen App-ähnliche Geschwindigkeit für Magento-Shops, doch ohne sauberes Manifest, durchdachte Service-Worker-Caching-Strategien und eine klare App-Shell-Architektur bleibt der Effekt aus. Dieser Artikel zeigt, wie Installierbarkeit, Offline-Fallbacks und Install-Prompts technisch korrekt umgesetzt werden und wo ein gut optimierter, serverseitig gerenderter Hyvä-Storefront der PWA tatsächlich überlegen bleibt.
-
Maxim Mironjuk
-
Oktober 09, 2025
Promises kapseln das Ergebnis einer asynchronen Operation, bevor dieses Ergebnis überhaupt vorliegt, während ein Deferred Object die Kontrolle über Auflösung und Ablehnung von außen bereitstellt. Wer die drei Zustände eines Promise, die Regeln der Verkettung und die gängigen Kombinatoren versteht, kann komplexe asynchrone Workflows in PHP strukturieren, egal ob mit ReactPHP, Amp oder einer eigenen minimalen Implementierung.
-
Maxim Mironjuk
-
Oktober 09, 2025
Der --squash Build-Flag fasst alle Layer eines Images zu einem einzigen zusammen und schafft damit kleinere, aufgeraeumte Images, kostet dabei aber das Layer-Caching zwischen Builds, das viele CI-Pipelines beschleunigt.
-
Maxim Mironjuk
-
Oktober 09, 2025
React 19 bringt neue Hooks und verfeinert bestehende – doch das größte Problem in der Praxis ist nicht Unkenntnis, sondern falsche Wahl: useEffect wo useRef reicht, useMemo wo kein Memoizing nötig ist. Dieses Cheatsheet gibt klare Entscheidungsregeln, wann welcher React Hook der richtige ist.
-