Seite 7 - Monthly Archives: February 2025
-
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.
-
Maxim Mironjuk
-
Februar 20, 2025
Ein Performance-Problem, das nur bei fünf Prozent der Nutzer auf bestimmten Gerätemodellen auftritt, fällt im lokalen Profiling nie auf, kostet aber messbar App-Store-Bewertungen und Retention. Firebase Performance Monitoring und New Relic Mobile schließen diese Lücke, indem sie Leistungsdaten kontinuierlich aus der echten Produktionsflotte sammeln. Dieser Artikel zeigt, welche Kennzahlen beide Werkzeuge automatisch erfassen, wie sich benutzerdefinierte Traces für kritische Nutzerflows wie Checkout oder Login einrichten lassen, und wie sinnvolle Alerting-Schwellenwerte für eine Produktions-App aussehen.
-
Maxim Mironjuk
-
Februar 20, 2025
Die CSS Cascade ist kein Zufallsmechanismus, sondern ein präzise definierter Algorithmus. Wer versteht, wie der Browser Herkunft, Wichtigkeit, Spezifität und Reihenfolge abwägt, schreibt Stylesheets, die berechenbar funktionieren — statt mit !important gegen die eigenen Regeln zu kämpfen.
-
Maxim Mironjuk
-
Februar 19, 2025
Technische Schulden mit KI einzuschätzen bedeutet, Claude die gesamte Codebasis systematisch nach Risikoindikatoren durchsuchen zu lassen, statt sich auf das Bauchgefühl einzelner Entwickler zu verlassen. Claude findet veraltete Abhängigkeiten, fehlende Tests in kritischen Pfaden und architektonische Erosion, priorisiert nach tatsächlichem Geschäftsrisiko statt nach subjektivem Ärgernis.
-