Seite 322 - Mironsoft Blog
-
Maxim Mironjuk
-
Februar 22, 2025
Ein Datei-Upload, der nur eine graue Datei-Auswahl-Schaltfläche zeigt, lässt Nutzer bei großen Bildern oder Dokumenten im Ungewissen. Mit FileReader, Drag and Drop und XMLHttpRequest baust du einen Datei-Upload mit sofortiger Bildvorschau, sauberer Validierung und einem Fortschrittsbalken, der echte Upload-Bytes anzeigt statt einer simulierten Animation.
-
Maxim Mironjuk
-
Februar 21, 2025
Viele Dockerfiles wachsen organisch und akkumulieren dabei Muster, die Images aufblähen, die Build-Zeit verdoppeln oder die Sicherheit des Containers untergraben. Ein strukturierter Dockerfile-Review deckt diese Anti-Patterns auf – bevor sie in der Produktion zum Problem werden.
-
Maxim Mironjuk
-
Februar 21, 2025
Eine REST-API, die im Büro über eine stabile WLAN-Verbindung getestet wurde, verhält sich auf einem Smartphone in einem Zug mit wechselnder Netzabdeckung fundamental anders. Große Payloads, viele einzelne Requests und fehlendes Offline-Verhalten, die im Büro kaum auffallen, werden auf mobilen Netzwerken zu echten Nutzungsproblemen, die gezielte, mobile-spezifische API-Designentscheidungen erfordern.
-
Maxim Mironjuk
-
Februar 20, 2025
Ein Spinner zeigt, dass ein Skript aktiv ist, selbst wenn die Dauer eines Schritts unbekannt ist und sich kein Prozentwert berechnen lässt. Dieser Artikel zeigt, wie eine Spinner-Animation als Hintergrundprozess in Bash entsteht, wie sie sauber mit einem laufenden Befehl synchronisiert wird und wie trap dafür sorgt, dass kein Spinner-Prozess verwaist zurückbleibt.
-
Maxim Mironjuk
-
Februar 20, 2025
Ein einzelner Benutzer oder Dienst, der unkontrolliert Speicherplatz verbraucht, kann einen ganzen Server lahmlegen. Dateisystem-Quotas begrenzen Speicherplatz und Dateianzahl pro Benutzer oder Gruppe, mit Soft-Limits als Frühwarnung und Hard-Limits als harter Stopp.
-
Maxim Mironjuk
-
Februar 20, 2025
Eine rollen-basierte Zugriffskontrolle mit ROLE_ADMIN und ROLE_USER reicht in der Praxis selten aus. Wenn ein Benutzer nur seine eigenen Ressourcen bearbeiten darf, nur Mitglieder seines Teams Zugriff haben oder Berechtigungen von Zustand des Objekts abhängen, ist der Symfony Security Voter die richtige Antwort.
-
Maxim Mironjuk
-
Februar 20, 2025
Ein einzelner Applikationsserver skaliert nicht unbegrenzt und ist bei einem Ausfall sofort offline. HAProxy verteilt Anfragen auf mehrere Backend-Server, erkennt ausgefallene Instanzen über Health-Checks automatisch und macht so aus mehreren einzelnen Servern eine ausfallsichere, horizontal skalierbare Einheit.
-
Maxim Mironjuk
-
Februar 20, 2025
Playwright Fixtures ersetzen fragile beforeEach Blöcke und globalen Testzustand durch klar definierte, wiederverwendbare Bausteine für Setup und Teardown. Wer eingebaute Fixtures wie page, context und browser versteht und eigene Fixtures mit test.extend erstellt, erhält Tests, die parallel laufen, sich niemals gegenseitig beeinflussen und trotzdem kaum Code duplizieren. So bleibt jede Testdatei unabhängig lesbar und wartbar.
-
Maxim Mironjuk
-
Februar 20, 2025
Ein Covering-Index enthält alle Spalten, die eine Abfrage benötigt, sodass der Server niemals die eigentliche Tabelle anfassen muss. Wer diese Technik gezielt einsetzt, verwandelt teure Random-I/O-Zugriffe auf die Tabelle in reine, sequenzielle Index-Only-Scans und spart damit oft mehr Zeit als jede zusätzliche Hardware.
-
Maxim Mironjuk
-
Februar 20, 2025
Ein FAQ Akkordeon und das dazugehörige FAQPage Schema Markup werden in der Praxis fast immer getrennt gepflegt, was fast zwangsläufig zu Abweichungen zwischen sichtbarem Inhalt und strukturierten Daten führt. Mit Alpine.js entsteht ein FAQ Akkordeon, das dieselbe Datenquelle für die sichtbare Anzeige und für das generierte JSON-LD nutzt, wodurch beide garantiert synchron bleiben und Rich Snippets zuverlässig funktionieren.
-