Page 7 - Monthly Archives: June 2025
-
Maxim Mironjuk
-
June 23, 2025
React.memo, useMemo and useCallback are the most misunderstood performance tools in React. They get used everywhere, in the hope of making everything faster, or not at all. Both are wrong. Memoization has costs: comparison operations, memory for cached values and increased code complexity. Use it only where measured re-render problems actually exist.
-
Maxim Mironjuk
-
June 22, 2025
AVG alone rarely tells the full story of a data distribution. With statistical functions like PERCENTILE_CONT, STDDEV, and CORR, median, spread, and relationships can be computed directly in the database, without having to export raw data to Python or R.
-
Maxim Mironjuk
-
June 22, 2025
Correct shard sizing decides whether an Elasticsearch index runs stable for years or suffers from heap pressure and slow cluster state management after just a few months. Too many small shards waste resources on metadata overhead, too few large shards prevent parallelization. This article shows how to determine the target size per shard and rebuild existing indices without downtime.
-
Maxim Mironjuk
-
June 21, 2025
Implementing dark mode with a simple class toggle is the first step. A professional theme system with design tokens, system preference detection, persistence and flicker-free SSR loading is what actually benefits users in practice. Vue 3 provides all the building blocks, the point is putting them together correctly.
-
Maxim Mironjuk
-
June 21, 2025
When an external API turns slow or stops responding, every calling request in a typical PHP application just waits for its timeout, while PHP-FPM workers pile up in the background and drag the whole application down with them. The circuit breaker pattern breaks this chain: after a configured number of failures it trips the circuit and answers further calls immediately with a fallback instead of letting them run into the same dead end again.
-
Maxim Mironjuk
-
June 21, 2025
Terraform configurations quickly grow into sprawling module trees, and a single faulty plan can destroy production resources. Claude supports writing, reviewing, and understanding Terraform code, but it does not replace human plan review before every apply against production infrastructure.
-
Maxim Mironjuk
-
June 21, 2025
Anyone who starts long running processes on a remote server while relying on a plain SSH terminal risks losing all progress the moment the connection drops. tmux and GNU Screen solve this by decoupling sessions from the actual terminal and keeping them running in the background, whether the connection wobbles or the laptop lid closes.
-
Maxim Mironjuk
-
June 21, 2025
x-bind:class in Alpine.js accepts several notations: a short ternary string, an array of expressions, or an object of class names mapped to booleans. All three end up producing the same DOM result, but they differ noticeably in readability, maintainability, and how easily a new condition can be added later without quietly breaking reactivity.
-
Maxim Mironjuk
-
June 21, 2025
ObjectManager::getInstance()->get() hides dependencies, makes testing impossible, and blocks static analysis. Everything about the Service Locator anti-pattern, and the correct alternative.
-
Maxim Mironjuk
-
June 20, 2025
Read replicas promise more read capacity without bigger hardware, but blindly distributing reads across replicas earns you stale data and hard-to-reproduce bugs. Only a deliberate read/write splitting strategy with a clear consistency approach makes MySQL read replicas a reliable building block for scaling.
-