Page 17 - Monthly Archives: July 2025
-
Maxim Mironjuk
-
July 12, 2025
A form with five fields shows almost no difference between reactive() and a field level ref() strategy in practice. A form with fifty or more fields, as seen in accounting or configuration interfaces, tells a different story: a single large reactive object can trigger noticeably more work on every keystroke than the actual change would require.
-
Maxim Mironjuk
-
July 12, 2025
Flaky tests are end-to-end tests that pass sometimes and fail other times without any code change, and they undermine trust in the entire test suite. The causes almost always come down to timing issues, shared test state, network dependencies or fragile selectors. This article shows how to systematically find these root causes, apply robust Cypress and Playwright patterns, and quarantine flaky tests in a controlled way instead of silently ignoring them.
-
Maxim Mironjuk
-
July 12, 2025
When several mirror APIs could return the same answer and only the fastest successful result matters, Promise.any() is the right combinator, clearly distinct from Promise.race() and Promise.allSettled().
-
Maxim Mironjuk
-
July 12, 2025
Swiper.js and Slick arrive with hundreds of kilobytes and their own JavaScript ecosystems. A production ready carousel slider for Hyva needs neither: Alpine.js alone is enough for touch, keyboard, auto-play and ARIA.
-
Maxim Mironjuk
-
July 12, 2025
A cookie consent banner gets set up once in many projects, visually signed off, and then barely treated as its own, test-worthy functional area again, even though this exact area has a direct legal dimension: if a tracking script loads despite an actively declined consent, that's not a cosmetic detail, it's an actual violation of the General Data Protection Regulation with potential fine consequences. An automated E2E test that deliberately simulates different consent states and verifies whether tracking scripts actually load depending on that state makes this legally relevant functionality just as reliably regression-safe as any other critical business process in the store.
-
Maxim Mironjuk
-
July 11, 2025
The max-height trick works, but it never really looks fluid. Alpine.js x-collapse animates the actual content height, reacts to dynamic content and integrates seamlessly into Alpine state, without a single line of custom JavaScript.
-
Maxim Mironjuk
-
July 11, 2025
A convenient remember me feature and secure session handling are not mutually exclusive, once you know the right building blocks. This guide shows persistent remember me tokens instead of insecure signed cookies, protection against session fixation, and a timeout strategy that matches the actual sensitivity of the application.
-
Maxim Mironjuk
-
July 11, 2025
A macvlan network gives containers their own IP address visible on the physical network, with no port mapping through the Docker host at all. This solves real problems for legacy applications and monitoring systems, but comes with a known limitation around communication between host and container that must be understood before going to production.
-
Maxim Mironjuk
-
July 11, 2025
Without consistent table archiving, quote and sales_order accumulate millions of orphaned cart rows and years of order history that slow down every query and inflate backups. A well designed archiving strategy separates active transactional data from historical data without endangering referential integrity or compliance requirements.
-
Maxim Mironjuk
-
July 11, 2025
Docker's default setting is rarely the right choice for production environments. The log driver json-file only rotates logs after explicit configuration and exists as a plain text file, while journald integrates logs directly into the systemd journal infrastructure, with structured metadata and central querying via journalctl.
-