Seite 197 - Mironsoft Blog
-
Maxim Mironjuk
-
August 11, 2025
Praxisfertige SQL-Abfragen für systematisches MySQL Monitoring — von der Buffer Pool Hit Ratio über hängende Transaktionen bis zum Replikations-Lag. Direkt einsetzbar in Monitoring-Systemen und für manuelle Diagnose.
-
Maxim Mironjuk
-
August 10, 2025
TypeScript erlaubt Generics über konkreten Typen, aber keine Generics über Typkonstruktoren selbst. Eine Funktion, die für jeden beliebigen Container-Typ wie Array, Option oder Promise gleichermaßen funktioniert, lässt sich deshalb nicht direkt schreiben. Über eine Technik namens Defunctionalization, bekannt als URI-Pattern aus fp-ts, lässt sich dieses fehlende Feature dennoch praktikabel simulieren.
-
Maxim Mironjuk
-
August 10, 2025
Ein falsch dimensioniertes Connection-Pooling führt entweder zu Too-many-connections-Fehlern unter Last oder zu verschwendeten Ressourcen durch tausende ungenutzte Leerlaufverbindungen. Dieser Artikel zeigt, wie max_connections richtig dimensioniert wird, wie wait_timeout und interactive_timeout zusammenspielen, wie PHP-FPM-Pool-Größe und MySQL-Verbindungslimit aufeinander abgestimmt werden und wann ein externer Connection Pooler wie ProxySQL sinnvoll ist.
-
Maxim Mironjuk
-
August 10, 2025
Ein Projekt ohne Compiler-Fehler ist nicht automatisch typsicher. any breitet sich unbemerkt aus, über externe Bibliotheken ohne Typen, über JSON.parse und über implizit inferierte Parameter. Type Coverage macht diese Lücken sichtbar, quantifiziert sie in einer einzigen Kennzahl und lässt sich als CI-Gate gegen schleichende Verschlechterung absichern.
-
Maxim Mironjuk
-
August 10, 2025
Wiederkehrender, gut verstandener Code wie Data Transfer Objects, CRUD-Scaffolding und Testfixtures lässt sich mit Claude schnell und zuverlässig generieren, weil die Muster bekannt und die Fehlerflächen klein sind. Dieser Artikel erklärt, warum Boilerplate-Generierung risikoärmer ist als das Erzeugen neuer Geschäftslogik, und zeigt das Vorgehen an einer echten Magento-Repository-Interface-Implementierung.
-
Maxim Mironjuk
-
August 10, 2025
PHPUnit 10 hat den jahrelang gewachsenen TestListener durch eine sauber typisierte Extension API ersetzt. Wer eigenes Logging, Slack-Benachrichtigungen bei Fehlschlägen oder projektspezifische Regeln in die Testsuite einbauen will, findet hier den Umstieg mit lauffähigen Beispielen.
-
Maxim Mironjuk
-
August 10, 2025
Konversationelle Suche unterscheidet sich fundamental von der klassischen Suchmaschinenabfrage, weil jede Folgefrage die ursprüngliche Absicht neu formt statt sie nur zu präzisieren. Wer Content weiterhin für isolierte Keywords plant, übersieht, dass ChatGPT, Perplexity und Gemini Nutzerinnen und Nutzer durch mehrstufige Dialoge führen, in denen sich die eigentliche Suchintention erst im dritten oder vierten Turn zeigt.
-
Maxim Mironjuk
-
August 10, 2025
Template Literal Types kombinieren String-Literal-Typen zu neuen Literal-Typen und machen aus laxen string-Parametern präzise, überprüfbare Vertragsformen. Event-Namen, CSS-Klassenkombinationen, Routen-Pfade und Konfigurationsschlüssel lassen sich damit bereits beim Kompilieren validieren, lange bevor ein falscher String zur Laufzeit einen stillen Bug erzeugt oder ein Kunde einen kaputten Link anklickt.
-
Maxim Mironjuk
-
August 10, 2025
Mehrere Marken über eine einzige Hyvä-Codebasis auszuliefern, klingt einfach, solange es nur um ein anderes Logo geht. Sobald Farbpaletten, Schriftgroessen und ganze Abstandssysteme pro Marke variieren sollen, entscheidet die Wahl zwischen CSS-Variablen und separaten Tailwind-Configs darueber, wie wartbar das Setup in einem Jahr noch ist.
-
Maxim Mironjuk
-
August 10, 2025
Eine Umgebungsvariable, die in der Shell des Administrators funktioniert, aber im PHP-FPM-Prozess einer Magento-Anwendung schlicht fehlt, ist eines der häufigsten Rätsel im Serveralltag. Der Grund liegt fast immer im Scope: Umgebungsvariablen werden nur an Kindprozesse vererbt, niemals rückwärts oder quer zu unabhängigen Prozessbäumen, und systemweiter Scope funktioniert grundlegend anders als benutzerspezifischer Scope.
-