Page 20 - Monthly Archives: March 2026
-
Maxim Mironjuk
-
March 05, 2026
Not every replica needs the full dataset of the source. Replication filters make it possible to build reporting replicas without sensitive customer data, or multi-store setups with cleanly separated databases, but they come with their own pitfalls the moment a filter needs to change after the fact.
-
Maxim Mironjuk
-
March 05, 2026
A single heap snapshot shows only one moment in time, but the three snapshot technique systematically exposes which objects stay in memory despite the garbage collector. Retainer paths show exactly which reference prevents release, turning a vague memory suspicion into a concrete cause in the code.
-
Maxim Mironjuk
-
March 05, 2026
A Symfony command that only ever prints a single success or failure line does its job fine when it's called from cron, but it wastes most of what the Console component offers. The moment a colleague runs that same command by hand to import test data or rebuild a search index, the quality of its output decides whether they trust the tool or keep a second terminal open with the logs, just in case. This article walks through how SymfonyStyle, ProgressBar and the Table helper work together, when interactive prompts actually help, and where the line to a cron-safe, non-interactive command sits.
-
Maxim Mironjuk
-
March 05, 2026
When a user opens the same web application in several tabs, many background tasks run in parallel without anyone noticing: token refresh, cache building, syncing with the server. The Web Locks API provides an exclusive lock across tabs of the same origin through navigator.locks, letting you coordinate such tasks and reliably prevent duplicate execution.
-
Maxim Mironjuk
-
March 05, 2026
Shared Catalogs control, for every company, which categories are visible and at what prices products can be ordered, built on the same Category Permissions that also exist outside the B2B Suite. Understanding the mechanics behind it lets teams control visibility and price overrides deliberately, instead of getting surprised by indexing problems once the catalog count grows.
-
Maxim Mironjuk
-
March 05, 2026
For a long time the browser cache was a black box. The Cache API gives developers full control over which requests get cached, how long they stay valid, and when they get replaced, independent of HTTP headers and browser heuristics.
-
Maxim Mironjuk
-
March 04, 2026
Heavy canvas drawings, particle systems, or data visualizations tend to block the main thread and cause janky scroll and click experiences. OffscreenCanvas detaches the canvas element from the DOM and lets you run the entire rendering process inside a Web Worker, far away from user interaction.
-
Maxim Mironjuk
-
March 04, 2026
The ReactPHP event loop is the heart of every asynchronous PHP application built on React: a single thread that manages timers, watches file descriptors and runs callbacks in a clear order. Anyone who understands the tick cycle, the timer queue and how streams and promises interact writes code that truly does not block, instead of just looking like it does.
-
Maxim Mironjuk
-
March 04, 2026
graphql-php by Webonyx is the PHP reference implementation of the GraphQL specification and the foundation of virtually every larger PHP GraphQL solution, from Lighthouse to standalone APIs built from scratch. Anyone using graphql-php directly has to decide early on: define the schema via an SDL file, or describe types as PHP classes in code. That decision shapes maintainability, IDE support and team workflow for the entire project lifetime.
-
Maxim Mironjuk
-
March 04, 2026
The browser's main thread is a shared resource: animations, event handlers and rendering all compete with your business logic. requestIdleCallback resolves this conflict by shifting non-critical tasks into the browser's idle phases, without the user ever noticing.
-