Page 6 - Monthly Archives: May 2026
-
Maxim Mironjuk
-
May 03, 2026
Elasticsearch mappings cannot be fundamentally changed once an index exists, a new data type or a different analyzer setup always requires a brand new index. Zero-downtime reindexing combines the _reindex API with a write alias and a read alias, so clients keep addressing the same name forever while data is copied in the background and finally switched over atomically to the new index.
-
Maxim Mironjuk
-
May 03, 2026
Not every Git project runs through a central forge with a pull request interface. git format-patch turns a series of commits into sendable patch files that recipients can reassemble into full commits with git am, with no GitHub, GitLab or other web interface involved at all. This article shows how to generate patch series, attach a cover letter, version them, and send them via git send-email, and when this workflow genuinely beats pull requests.
-
Maxim Mironjuk
-
May 03, 2026
strlen() counts bytes, not characters, and returns wrong values for umlauts and Unicode characters almost every time. This guide explains how UTF-8 encoding works, why mb_ functions are essential for multibyte strings, and how truncation, sorting, escaping and regular expressions with umlauts work reliably in PHP 8.4.
-
Maxim Mironjuk
-
May 03, 2026
In heavily trafficked Magento shops, every PHP-FPM worker on a server accesses the same handful of frequently read configuration values, such as store configuration, feature flags, or layout handle mappings, which rarely change per request but get read fresh from Redis on every single request anyway. Such extremely frequently read keys are called hot keys, and even with a fundamentally performant Redis, they can become a measurable bottleneck under high load, because every single network round trip to Redis costs time that adds up noticeably across tens of thousands of requests per minute. Redis client-side caching over the RESP3 protocol promises relief here by holding hot-key values directly in the calling process's own memory, with clear but practically relevant limits for integrating it into Magento's cache backend architecture.
-
Maxim Mironjuk
-
May 02, 2026
Developers moving from Python to TypeScript already have a good feel for type annotations from mypy, but need to understand a fundamentally different type system: structural rather than nominal, checked by a compiler that verifies nothing at runtime.
-
Maxim Mironjuk
-
May 02, 2026
The Context API looks simple at first glance, but in practice it produces one of the most common TypeScript traps in React projects: a context without a real default value potentially returns undefined on every useContext call, and the compiler then forces null checks at every single use site that would actually be unnecessary. This article shows how to type the Context API from the start so that a missing provider surfaces already during testing instead of only for the user.
-
Maxim Mironjuk
-
May 02, 2026
Few technical SEO issues cause as much needless traffic loss as poorly planned redirects during a migration. Chained redirect sequences waste crawl budget, dilute link equity, and can be avoided entirely with systematic URL mapping.
-
Maxim Mironjuk
-
May 02, 2026
The View Transitions API brings something that used to require SPAs with heavy frameworks and turns it into a native browser feature: seamless animations when navigating between pages, with view-transition-name for shared elements, CSS pseudo-elements for full style control, and cross-document support for multi page apps.
-
Maxim Mironjuk
-
May 02, 2026
Without systematic fraud prevention, a Magento store relies on luck at checkout: address mismatches, unusual order frequencies, and card-country mismatches go unnoticed until the chargeback arrives. This article shows how a custom risk-scoring service, built as a service contract, evaluates concrete fraud signals, how suspicious orders get an order hold instead of a hard block for human review, and how external fraud detection providers such as Signifyd, Riskified, or ClearSale can be integrated cleanly via webhook, without turning away legitimate customers through false positives.
-
Maxim Mironjuk
-
May 02, 2026
A poorly designed schema is hard to extend, forces breaking changes, and makes resolvers complex. The right nullability decisions, custom scalars, and correct use of interfaces and unions determine how long a GraphQL API stays viable.
-