Seite 282 - Mironsoft Blog
-
Maxim Mironjuk
-
April 18, 2025
Wer heute noch produktiv mit PHP 7.4 arbeitet, betreibt eine Version ohne Sicherheitsupdates auf einem Stand, den kaum ein modernes Composer-Paket noch unterstützt. Die Migration von PHP 7 auf PHP 8 ist technisch überschaubar, wenn man Typsystem-Änderungen, entfernte Funktionen und String-Vergleiche kennt, und mit PHPStan sowie Rector systematisch statt improvisiert vorgeht.
-
Maxim Mironjuk
-
April 17, 2025
Ein System-Prompt legt fest, wie ein KI-Coding-Assistent während der gesamten Konversation antwortet, welche Rolle er einnimmt, welche Coding-Regeln gelten und welche Grenzen er respektiert. Dieser Artikel zeigt anhand praktischer Beispiele aus der Magento- und Hyvä-Entwicklung, wie System-Prompts wirksam formuliert werden und warum zu viele Detailregeln die Zuverlässigkeit eines Assistenten eher schwächen als stärken.
-
Maxim Mironjuk
-
April 17, 2025
Ein guter Schritt-Indikator zeigt jederzeit, wo im Formular-Wizard man sich befindet, welche Schritte bereits erledigt sind und wie viele noch folgen. Mit Tailwind CSS und Alpine.js lässt sich dieser Indikator konsequent aus wenigen wiederverwendbaren Zuständen aufbauen, statt für jeden Schritt eigenes Markup zu pflegen.
-
Maxim Mironjuk
-
April 17, 2025
In den meisten Anwendungen gibt es drei, vier verschiedene Bibliotheken für Benachrichtigungen: eine für E-Mails, eine für Slack, eine für SMS, eine für Push-Notifications. Symfony Notifier vereint alle Kanäle hinter einem einzigen Interface und einer einzigen Dispatch-Methode — mit konfigurierbarem Routing, kanalspezifischen Nachrichten und der Möglichkeit, eigene Bridges für interne Systeme zu schreiben.
-
Maxim Mironjuk
-
April 17, 2025
Vue Server Components sind ein noch experimentelles Konzept, das Komponenten beschreibt, die vollständig auf dem Server gerendert werden und dabei keinerlei eigenes JavaScript an den Client ausliefern, nicht einmal für die Hydration. Dieser Artikel ordnet das Konzept ein, grenzt es von klassischem SSR ab, zeigt den aktuellen Entwicklungsstand und vergleicht die Idee mit den bereits produktiv genutzten React Server Components.
-
Maxim Mironjuk
-
April 17, 2025
Das JavaScript Interface, JSI, verbindet JavaScript Runtime und nativen C++ Code direkt, ganz ohne JSON-Serialisierung oder asynchronen Bridge-Round-Trip. Wer ein eigenes HostObject baut, lernt, wie synchrone native Bindings in der Praxis funktionieren, warum der Performance-Gewinn vor allem bei häufigen Aufrufen zählt und wo die Grenzen dieses Ansatzes liegen.
-
Maxim Mironjuk
-
April 17, 2025
requestAnimationFrame ist die einzige korrekte Methode, um Animationen im Browser zu implementieren. Wer setTimeout oder setInterval nutzt, kämpft gegen den Rendering-Zyklus statt mit ihm. Dieser Artikel zeigt, wie rAF funktioniert, wie man einen robusten Render-Loop baut und welche Fallen den Frame-Rhythmus zerstören.
-
Maxim Mironjuk
-
April 17, 2025
Ein einzelner Node-Prozess kann tausende WebSocket-Verbindungen für GraphQL Subscriptions halten, doch sobald mehrere Server-Instanzen hinter einem Load Balancer laufen, verliert ein Publish-Event den Kontakt zu Clients auf anderen Prozessen. Redis Pub/Sub, Kafka und ein sauberes Verbindungsmanagement lösen dieses Fan-Out-Problem und machen GraphQL Subscriptions horizontal skalierbar.
-
Maxim Mironjuk
-
April 17, 2025
Wer TypeScript in einem Monorepo ohne Project References einsetzt, wartet bei jeder Änderung auf eine komplette Neuprüfung des gesamten Codes und verliert echte Typsicherheit zwischen Paketen. Project References, composite Builds und eine gemeinsame Basis-Konfiguration schaffen einen klaren Abhängigkeitsgraphen, schnelle inkrementelle Builds und verlässliche Grenzen zwischen Paketen, auch bei wachsender Paketanzahl.
-
Maxim Mironjuk
-
April 16, 2025
Eine GraphQL-API, die im Entwicklungsmodus funktioniert, ist noch keine produktionsreife API. Performance-Fallen, Sicherheitslücken und fehlende Observability machen sich erst unter Last bemerkbar — dann, wenn der Handlungsspielraum klein ist. Diese Checkliste schließt die Lücken, bevor sie zum Problem werden.
-