Archive: 2025-05 | Page 11
Archive: May 2025
-
May 15, 2025
A trigger that handles an extra check or logging step on every INSERT looks harmless and convenient at first glance. Only under load does it become clear that triggers run synchronously inside the same transaction context, extending lock times, raising deadlock risk, and producing errors that are hard to trace back. On frequently updated tables in a Magento shop, such as stock or orders, the choice between trigger, event scheduler, and application logic directly decides stability under load.
-
May 14, 2025
The category page is the most important performance hotspot in almost every Magento shop. Too many fields, resolver chains that run too deep, and missing caching strategies make it slower than it needs to be. The lever is in the query, not the server.
-
May 14, 2025
Invalid fields, mistyped arguments, and deprecated fields that keep getting used anyway: all of it can be caught right in the editor with GraphQL linting, instead of tripping over a cryptic server error at runtime.
-
May 14, 2025
useFetch is, at its core, a convenience wrapper around useAsyncData combined with $fetch. As soon as custom transform functions, precise caching keys, or a data source more complex than a plain HTTP request come into play, reaching for useAsyncData directly is usually the clearer choice.
-
May 14, 2025
A zombie process has already terminated, yet its parent process never collected its exit status, leaving a blocked entry in the process table. This guide explains the difference between zombies and orphaned processes, shows why kill -9 is completely ineffective, and gives concrete commands to find the responsible parent process and fix the problem permanently in code.
-
May 14, 2025
Nested resources such as order items under an order look intuitive at first glance, but if used without thought they quickly lead to cluttered URL structures and duplicated authorization logic. This article shows how to cleanly model subresources in API Platform through uriTemplate and when a standalone resource is the better choice.
-
May 14, 2025
Headless commerce separates the Magento backend from a standalone frontend via a GraphQL API, whether that frontend is a PWA, a native app, or an IoT terminal. This article provides a concrete decision framework: when the extra complexity pays off through multi-channel requirements and separate teams, and when Hyva as a server-rendered default setup remains the faster and cheaper choice.
-
May 13, 2025
A Docker image is only as secure as its base image and the system packages installed inside it, and that is exactly where many vulnerabilities hide that neither SAST nor Dependency Scanning catch, since both focus on application code and language packages. GitLab's Container Scanning closes this gap by checking the fully built image directly in the pipeline against a vulnerability database. This article covers the integration, the difference to a standalone tool like Trivy, and how the results end up in the merge request widget.
-
May 13, 2025
Staggered chapter counters, nested lists with mixed styles, custom markers for list items: pure CSS handles all of it with counter-reset, counter-increment, and counter(). Once you understand the system, you can strike JavaScript counters from your toolkit for good.
-
May 13, 2025
Prepared statements are often understood purely as a defense against SQL injection, but they are also a performance tool for repeatedly executed queries. This article explains why string concatenation is structurally unsafe, how prepared statements solve this problem, what the difference between server-side and client-side prepare is, and shows correct implementations with PDO and mysqli, including common pitfalls.