Page 8 - Monthly Archives: November 2025
-
Maxim Mironjuk
-
November 20, 2025
Scroll Snap brings the behavior of classic carousel libraries straight into the browser: the user scrolls freely, but the container locks into defined positions cleanly and without jank. Combine scroll-snap-type and scroll-snap-align correctly and you drop an entire JavaScript dependency while getting touch gestures, keyboard control and accessibility essentially for free.
-
Maxim Mironjuk
-
November 20, 2025
Not every task requires a machine that keeps running around the clock. With rtcwake, Linux puts a machine into a targeted power saving state and wakes it back up via an RTC alarm at exactly the desired moment, to perform a task and then switch back into idle mode afterward. This article explains how rtcwake works, the required prerequisites in BIOS and kernel, and automation for backup windows, energy savings, and test infrastructure.
-
Maxim Mironjuk
-
November 20, 2025
Symfony offers two different mechanisms for configuration, the Dotenv component and parameter bags, which look interchangeable at first glance but actually serve distinct purposes. Mix them up and you get familiar problems: secrets ending up in the Git repository, the same URL maintained in three different places, or a Docker environment variable silently overriding a value in production that a developer had actually set in .env.local. This article clarifies the real .env hierarchy, offers a clear rule of thumb for separating .env from parameters, and explains why sensitive values belong in the secrets vault rather than a plaintext .env file in production.
-
Maxim Mironjuk
-
November 20, 2025
The Profiler tab in React DevTools shows a flame graph for every commit, but the coloring alone does not say much. Combining commit duration, the ranked chart, and the why did this render panel correctly is what turns guessing into finding real bottlenecks.
-
Maxim Mironjuk
-
November 20, 2025
Retrying a failed call immediately and repeatedly sounds like the obvious fix, but it frequently makes an overload situation worse: thousands of clients hammering the same recovering service at the same moment recreate exactly the load spike that brought the service down in the first place. Building retry logic in PHP properly, with exponential backoff, jitter, and a clear distinction between retryable and non-retryable errors, avoids that self-inflicted problem.
-
Maxim Mironjuk
-
November 20, 2025
Doctrine ships two fundamentally different caching mechanisms that at first glance both aim for the same goal, less load on the database, but work in structurally different ways. The Query Result Cache remembers the finished result of a specific query, while the Second-Level Cache keeps individual entities available regardless of the query that originally loaded them. Mixing the two up leads either to a caching layer that serves stale data after every write, or to one that's needlessly heavy for the actual problem at hand. This article clarifies the differences with concrete examples and shows how to handle cache invalidation properly.
-
Maxim Mironjuk
-
November 20, 2025
A good code review checks far more than indentation and naming conventions. It catches logic errors, missing test cases, security holes and compatibility problems before they reach production. This article shows how experienced reviewers work through pull requests systematically, give concrete instead of vague feedback, and use Git tools to understand a change's context before commenting.
-
Maxim Mironjuk
-
November 20, 2025
Since Vue 3.4 (and further refined in Vue 3.5), the defineModel compiler macro takes over all the wiring that used to require a props declaration, a matching emits entry, and a manual emit('update:modelValue', value) call. Any component that wants to support v-model now needs a single line that behaves like a regular ref while automatically staying in sync in both directions.
-
Maxim Mironjuk
-
November 19, 2025
Cron has been the standard for scheduled tasks on Linux for decades, but it hits clear limits around dependencies, logging, and error handling. systemd timers offer a far more observable alternative with OnCalendar syntax, journalctl integration, and automatic retry, and can be introduced step by step through a concrete migration.
-
Maxim Mironjuk
-
November 19, 2025
Most Vue tutorials work almost exclusively with arrays and plain objects, yet JavaScript ships two collection types with Map and Set that fit certain tasks noticeably better. Vue's reactivity system supports both fully, so reactive(new Map()) and reactive(new Set()) react to changes just as reliably as a reactive array does. Knowing when a Set-based selection in a multi-select UI or a Map-based lookup structure is the better choice, and which pitfalls lurk in destructuring, leads to noticeably more robust and faster code.
-