Seite 344 - Mironsoft Blog
-
Maxim Mironjuk
-
Januar 25, 2025
Auf Multi-Core-Servern landen Netzwerkkarten-Interrupts ohne gezielte IRQ-Affinity oft alle auf demselben CPU-Kern, waehrend die restlichen Kerne unbeteiligt bleiben. Bei hoher Paketrate wird dieser eine Kern zum Flaschenhals, lange bevor die Gesamt-CPU-Auslastung des Servers auch nur annaehernd ausgereizt ist.
-
Maxim Mironjuk
-
Januar 25, 2025
Minifiziertes JavaScript ohne Source Maps macht jeden Produktionsfehler zu einer Rätselraterei aus kryptischen Zeilennummern. Wer Source Maps aber einfach öffentlich neben dem Bundle ausliefert, legt seinen kommentierten TypeScript-Quellcode für jeden Besucher offen. Hidden Source Maps und ein kontrollierter Upload an Error-Tracking-Dienste lösen dieses Dilemma sauber.
-
Maxim Mironjuk
-
Januar 25, 2025
Abstände zwischen Flex-Items über margin zu setzen bedeutet fast immer, im Anschluss den Rand-Effekt an den äußeren Kanten wieder mit einem Selektor wie :last-child auszugleichen. Die CSS-Eigenschaft gap löst dieses Problem an der Wurzel: Sie erzeugt Abstand ausschließlich zwischen den Items, niemals an den äußeren Rändern des Containers, und macht damit einen der am häufigsten wiederholten CSS-Hacks überflüssig.
-
Maxim Mironjuk
-
Januar 25, 2025
Kaum ein Performance-Problem trifft GraphQL-APIs so zuverlässig wie das N+1-Problem: Eine harmlos aussehende, verschachtelte Anfrage löst im Hintergrund hunderte einzelne Datenbankabfragen aus. Das DataLoader-Pattern löst dieses Problem systematisch durch Batching und Request-scoped Caching.
-
Maxim Mironjuk
-
Januar 25, 2025
Rechtecke und Border-Radius sind nicht die einzigen Formen im Tailwind-Designraum. Mit clip-path lassen sich Polygone, Kreise, Schrägschnitte und komplexe Masken direkt in CSS definieren – ohne SVG-Wrapper, ohne JavaScript, und mit Animations-Support durch einfache CSS-Transitions.
-
Maxim Mironjuk
-
Januar 25, 2025
Klassisches PHP im shared-nothing Modell kennt keinen echten Connection Pool im Speicher eines einzelnen Prozesses. Wer trotzdem den Overhead ständiger Neuverbindungen vermeiden will, braucht entweder persistente Verbindungen mit klaren Grenzen, einen externen Connection Pooler wie ProxySQL, oder ein Long-Running-Prozessmodell wie Swoole.
-
Maxim Mironjuk
-
Januar 25, 2025
TypeScript leitet die meisten Typen automatisch aus Literalen, Rückgabewerten und dem umgebenden Kontext ab, ohne dass Entwickler jede Variable manuell annotieren müssen. Dieser Artikel zeigt, wie die Inferenz-Engine des Compilers tatsächlich arbeitet, wann automatisch abgeleitete Typen ausreichen und wann explizite Annotationen die Codequalität und Wartbarkeit spürbar verbessern.
-
Maxim Mironjuk
-
Januar 25, 2025
Ein Toast, der lautlos erscheint und wieder verschwindet, existiert für Screenreader Nutzer schlicht nicht. ARIA Live Regions lösen dieses Problem: Mit aria-live, role status und aria-atomic werden dynamische Inhalte in Tailwind CSS Anwendungen zuverlässig angekündigt, ohne den Lesefluss zu stören.
-
Maxim Mironjuk
-
Januar 25, 2025
NULL-Werte in Aggregatfunktionen werden von COUNT, SUM und AVG unterschiedlich behandelt, und genau diese Unterschiede führen regelmäßig zu falschen Durchschnittswerten und missverständlichen Reports. Dieser Artikel erklärt, warum COUNT(*) und COUNT(spalte) verschiedene Ergebnisse liefern, wie AVG durch NULL verzerrt werden kann, und wie COALESCE, NULLIF und bewusstes GROUP BY das NULL-Verhalten gezielt steuern.
-
Maxim Mironjuk
-
Januar 24, 2025
Visual-Regression-Tests versprechen, jede unbeabsichtigte optische Änderung an einer Seite zuverlässig aufzudecken, indem ein aktueller Screenshot automatisiert mit einer gespeicherten Referenzaufnahme verglichen wird. In der praktischen Anwendung zeigt sich jedoch schnell, dass der zugrunde liegende Diffing-Algorithmus über Erfolg oder Misserfolg dieses Ansatzes entscheidet: Ein zu einfacher, strikter Pixel-für-Pixel-Vergleich meldet bei jedem Testlauf Dutzende belangloser Abweichungen durch Anti-Aliasing und Sub-Pixel-Rendering, während ein zu großzügiger Vergleich echte, relevante Regressionen unbemerkt durchwinkt.
-