Seite 185 - Maxim Mironjuk
-
Maxim Mironjuk
-
August 27, 2025
Wer eigene PHP-Anwendungen ohne
Symfony oder
Laravel betreibt, muss CSRF-Schutz selbst bauen. Mit random_bytes für die Token-Generierung, hash_equals für den zeitkonstanten Vergleich und einer sauberen Session-Bindung lässt sich ein robuster CSRF-Schutz in wenigen Zeilen PHP umsetzen, ganz ohne fremde Abhängigkeit.
-
Maxim Mironjuk
-
August 27, 2025
API Reviews ohne systematische Checkliste übersehen konsistent dieselben Kategorien: Security-Aspekte, Fehlerformate, Performance und Testabdeckung werden im Zeitdruck gerne übersprungen. Eine strukturierte Checkliste macht Reviews schneller, vollständiger und wiederholbar – und stellt sicher, dass kein PR mit einer kritischen Lücke gemergt wird.
-
Maxim Mironjuk
-
August 27, 2025
Common Table Expressions strukturieren komplexe SQL-Abfragen in benannte, wiederverwendbare Schritte — lesbarer als verschachtelte Subqueries, mächtiger als Views für Einmalabfragen.
-
Maxim Mironjuk
-
August 27, 2025
KI-Assistenten wie Claude erzeugen gelegentlich Code, der plausibel aussieht, aber auf erfundenen Funktionen, Klassen oder Paketen beruht, die es nie gab. Anders als Fehler in Fließtext fallen solche Halluzinationen im Code entweder sofort laut beim Ausführen auf oder schleichen sich unbemerkt als stilles Fehlverhalten ein. Dieser Artikel zeigt konkrete Erkennungsmuster und Verifikationsgewohnheiten, bevor solcher Code in Produktion landet.
-
Maxim Mironjuk
-
August 27, 2025
Warum Models und DataObjects nicht in Konstruktoren injiziert werden dürfen, wie Factories das lösen, und was genau der DI-Container als "injectable" einstuft.
-
Maxim Mironjuk
-
August 27, 2025
Eine Standard-PhpStorm-Installation ist kein produktiver PHP-Arbeitsplatz. Erst wenn der PHP-Interpreter korrekt eingebunden ist, das Indexing auf das Wesentliche begrenzt wurde, PHPStan und phpcs inline warnen und das Heap-Limit der tatsächlichen Projektgröße entspricht, arbeitet PhpStorm so, wie eine moderne PHP-IDE arbeiten sollte.
-
Maxim Mironjuk
-
August 26, 2025
Während ein regulärer Lasttest die Last über mehrere Minuten schrittweise erhöht, bildet ein Spike-Test bewusst das Gegenteil ab: einen plötzlichen, binnen Sekunden auftretenden Sprung von normaler Alltagslast auf ein Vielfaches davon, genau wie es beim Versand eines großen Newsletters mit einem zeitlich begrenzten Rabattcode oder beim Start eines Black-Friday-Sales tatsächlich geschieht. Dieses abrupte Lastprofil stellt an ein System völlig andere Anforderungen als eine langsam ansteigende Last, da Mechanismen wie Auto-Scaling oder aufwärmende Caches schlicht keine Zeit haben, sich gradüll anzupassen.
-
Maxim Mironjuk
-
August 26, 2025
Falsch implementiertes hreflang führt dazu, dass Google Nutzern die falsche Sprachversion einer Seite anzeigt und mehrsprachige Inhalte fälschlich als Duplicate Content einstuft. Dieser Artikel erklärt Syntax und Rückverlinkungspflicht von hreflang, den korrekten Einsatz von x-default sowie die häufigsten Fehlerquellen und zeigt anhand des mironsoft.de Blogs, wie eine saubere Implementierung in der Praxis aussieht.
-
Maxim Mironjuk
-
August 26, 2025
Bevor man ReactPHP oder Swoole produktiv einsetzt, lohnt sich ein Blick auf das, was darunter tatsächlich passiert. Non-Blocking I/O in PHP basiert auf denselben Betriebssystem-Primitiven wie in jeder anderen Sprache: Sockets, die im Non-Blocking-Modus laufen, und stream_select, das signalisiert, welche Sockets bereit sind. Wer diese Grundlagen versteht, durchschaut jedes Async-Framework auf Anhieb.
-
Maxim Mironjuk
-
August 26, 2025
Der ReactPHP Event Loop ist das Herzstück jeder asynchronen PHP Anwendung mit React: ein einzelner Thread, der Timer verwaltet, Dateideskriptoren überwacht und Callbacks in einer klaren Reihenfolge ausführt. Wer den Tick Zyklus, die Timer Warteschlange und das Zusammenspiel mit Streams und Promises versteht, schreibt Code, der wirklich nicht blockiert, statt nur so auszusehen.
-