Page 12 - Monthly Archives: June 2025
-
Maxim Mironjuk
-
June 15, 2025
An environment variable that works fine in the administrator's shell but is simply missing inside the PHP-FPM process of a Magento application is one of the most common puzzles in daily server operations. The reason is almost always scope: environment variables are only inherited by child processes, never backward and never across independent process trees, and system wide scope works fundamentally differently from user specific scope.
-
Maxim Mironjuk
-
June 15, 2025
An Elasticsearch index without deliberate mapping usually works fine on day one and turns into a construction site the moment the first production search problem shows up. Teams who clarify field types, immutability and analyzer assignment before indexing save themselves painful reindexing and inconsistent search results later.
-
Maxim Mironjuk
-
June 15, 2025
Micro-interactions make the difference between an app that feels functional and one that feels good. In Vue.js these small pieces of feedback, hover effects, state transitions, button confirmations, can be implemented with CSS transitions and the Vue Transition component, without installing a single animation library.
-
Maxim Mironjuk
-
June 14, 2025
Anyone who only checks WebSocket endpoints in the browser with DevTools loses reproducibility and automatability. With openssl, curl and websocat, you can test WebSocket connections with Bash, walk through the handshake by hand, and wire connection checks straight into the CI pipeline.
-
Maxim Mironjuk
-
June 14, 2025
The classic OAuth2 Authorization Code Flow assumes the client can open a browser and receive a redirect, which practically doesn't work for a CLI tool, a smart TV, or an IoT device without an on-screen keyboard. The OAuth2 Device Authorization Grant, specified in RFC 8628, solves this problem by having the user perform authorization on a separate device with a full-featured browser, while the original device waits in the background for the result.
-
Maxim Mironjuk
-
June 14, 2025
A full rewrite of a grown JavaScript codebase almost always fails in practice against time pressure, live operations, and merge conflicts. This article shows how allowJs and checkJs surface type errors without renaming a single file, which order of migration actually holds up, and how teams bring the migration to a measurable finish instead of getting stuck in a permanent in-between state.
-
Maxim Mironjuk
-
June 14, 2025
Since Redis 6, a single password for the entire server is no longer enough as the only security model. The ACL system lets you create a dedicated user per application service with exactly the commands and key patterns that service actually needs. Predefined command categories such as @read, @write, @admin, or @dangerous make this least-privilege model practically manageable, instead of manually allowing or blocking every single one of the several hundred Redis commands. This article covers how to combine these categories sensibly, how dangerous commands like FLUSHALL or KEYS get controlled in production, and what a realistic multi-service setup looks like for a Magento store.
-
Maxim Mironjuk
-
June 14, 2025
When content should only reach screen readers and stay visually hidden, the instinctive reach is display:none. That removes text from the accessibility tree entirely. Tailwind's sr-only utility solves exactly this problem: visually invisible, fully readable for assistive technology. This article shows how sr-only works under the hood and where it makes the difference in real projects.
-
Maxim Mironjuk
-
June 14, 2025
Deno runs .ts files directly, no tsc, no ts-node, no node_modules. Developers coming from the Node.js ecosystem need to recalibrate a few assumptions about type checking, modules, and security.
-
Maxim Mironjuk
-
June 14, 2025
Tailwind CSS 4 retires the JavaScript configuration file in favor of a fully CSS-first approach. For Hyva Theme developers on Magento 2 this means design tokens, custom utilities and theme overrides now live directly inside the CSS file, more transparent, easier to maintain and closer to the browser standard.
-