Page 19 - Monthly Archives: November 2025
-
Maxim Mironjuk
-
November 05, 2025
A hundred percent code coverage says nothing about whether tests would actually catch bugs. Mutation testing with Infection artificially injects small faults into Symfony code and checks whether the test suite reliably catches every single one of them.
-
Maxim Mironjuk
-
November 05, 2025
Synthetic tests only show a simulated snapshot, yet real customers experience Magento and Hyvä stores on wildly different devices, networks, and connection qualities. This article shows, in technical depth, how to integrate the web-vitals library, ship measurements efficiently via sendBeacon, sample sensibly under heavy traffic, build a minimal ingestion backend, and stay privacy compliant throughout.
-
Maxim Mironjuk
-
November 05, 2025
Local History saves every stored change in PhpStorm without gaps, with no commit required. Git, by contrast, only stores what was deliberately committed, but does so in a way that works across a team and lasts forever. Knowing both tools and using them correctly means losing work far less often, whether from a broken refactoring step or an IDE crash.
-
Maxim Mironjuk
-
November 05, 2025
Without dedicated GraphQL performance monitoring, every nested storefront query remains a blackbox: which resolver is slow, which query grows too complex, and which trend builds up over weeks can only be guessed at without measurement. Resolver tracing, query complexity limits, and a connected APM system make exactly these questions answerable.
-
Maxim Mironjuk
-
November 04, 2025
Anyone who wants to automatically rewrite, check or generate PHP code cannot avoid AST manipulation. The nikic/php-parser library turns source code into a searchable node tree that custom NodeVisitor classes can read and modify precisely, before the code is printed back out as clean, valid PHP source.
-
Maxim Mironjuk
-
November 04, 2025
Prepared statements stop classic SQL injection at the input field, but far from every vector runs through a single form field. Second-order injection, blind injection without a visible error message, out-of-band exfiltration via DNS, and injection in identifier contexts such as ORDER BY bypass exactly the safeguards teams usually rely on.
-
Maxim Mironjuk
-
November 04, 2025
TypeScript compiles down to plain JavaScript, but it catches entire classes of mistakes at compile time, before they ever show up in a browser or on a server. Static types, reliable autocomplete, and safe refactoring noticeably change everyday development, but they come with a learning curve and an extra build step that does not pay off equally for every project.
-
Maxim Mironjuk
-
November 04, 2025
A memory leak first shows up as a steadily growing RES value in top, followed by ever tighter free memory and eventually an OOM kill in the middle of the day. Simply restarting the affected service buys time, not insight. This guide shows how to use built-in tools like smaps_rollup, smem and pmap to systematically find out which process is losing memory and where in the code or configuration the cause lies.
-
Maxim Mironjuk
-
November 04, 2025
Social media teams measure success through engagement, reach and interaction, SEO teams through organic traffic, rankings and conversions. These different success metrics frequently lead to misunderstandings in shared reporting and prevent both channels from being evaluated as one connected system.
-
Maxim Mironjuk
-
November 04, 2025
Anyone who catches every exception with a blanket catch (\Exception $e) loses the distinction between programming mistakes and expected runtime problems. This article shows how the built-in Throwable hierarchy and the SPL exceptions of PHP 8.4 enable robust error handling, including try/catch/finally, error conversion and clean exception logging.
-