Page 217 - Maxim Mironjuk
-
Maxim Mironjuk
-
July 14, 2025
A plain validation function that only returns true or false discards the one piece of information it just gained through the check, and forces the rest of the code to repeat the same check at every other point. This article explains the parse, don't validate principle and shows, through refinement types, nested parsers, and practical TypeScript examples, how to permanently remove unknown states from a codebase instead of re-checking them over and over.
-
Maxim Mironjuk
-
July 14, 2025
Alpine.js needs no virtual DOM, no compiler and no build step to produce reactive components. Instead, it relies on JavaScript proxies, reactive effects and MutationObserver, a model that turns out to be surprisingly elegant and easy to follow once you see how the pieces fit together.
-
Maxim Mironjuk
-
July 14, 2025
A composable that fetches data but cannot cancel an in flight request quietly produces two kinds of problems: stale responses that try to update state belonging to an already destroyed component, and race conditions where a fast second request gets overwritten by a slower first one. AbortController solves both problems once it is consistently built into a custom useFetch composable.
-
Maxim Mironjuk
-
July 14, 2025
PHP 8.4 brings Property Hooks and Asymmetric Visibility, two language features that directly reduce boilerplate in Symfony entities and DTOs. Teams that back the upgrade with Rector and PHPStan can bring these benefits into existing projects without risk and replace outdated patterns step by step.
-
Maxim Mironjuk
-
July 14, 2025
A here-string sends a single configuration value straight to the standard input of a validation command like jq or grep -P using the <<< operator, without ever creating a temp file. For small, repeated checks inside loops, that is both faster and simpler to clean up than any alternative involving a temp file or an extra echo subshell.
-
Maxim Mironjuk
-
July 14, 2025
Validation in GraphQL is not a single mechanism but an interplay of schema types, custom scalars, resolver logic and explicit error types. Anyone who relies on just one layer ends up with incomplete validation. This article shows how all the layers work together and which mistakes typically occur.
-
Maxim Mironjuk
-
July 14, 2025
The Alpine.js window modifier registers listeners directly on the window object and cleans them up automatically once the component leaves the DOM. Combined with @click.outside, it powers dropdowns, modals and global keyboard shortcuts without a single manual addEventListener or removeEventListener call in component code.
-
Maxim Mironjuk
-
July 14, 2025
Anyone indexing product data, log entries, or sensor events into Elasticsearch runs into the same question again and again: should the application clean up the raw data before sending it, or should Elasticsearch itself handle normalization before a document actually lands in the index? Ingest pipelines answer that question with a third option. A chain of processors such as grok, script, or enrich processes every document right at write time, parsing unstructured strings, applying custom transformation logic, and enriching fields from external reference data before indexing actually begins. This article shows how these processors work together, where the line to application-side transformation makes sense, and what a real product data normalization pipeline looks like in practice.
-
Maxim Mironjuk
-
July 14, 2025
The dialog element already brings backdrop, automatic focus trap, closing via the ESC key and form return values, without a single line of modal library code. With targeted CSS, including starting-style animations for smooth entry and exit, it becomes a fully styled, accessible modal.
-
Maxim Mironjuk
-
July 14, 2025
Nuxt 3 is more than a Vue 3 framework with file-based routing. The Nitro engine, server routes, auto-import, and the clean separation of server and client layers form a deliberate architecture model, one that only reveals its strengths once you understand why it is built the way it is.
-