Page 139 - Mironsoft Blog
-
Maxim Mironjuk
-
October 31, 2025
DOM based cross site scripting rarely comes from missing server side filtering, it usually comes from unsafe assignments to innerHTML, document.write or eval right in the middle of frontend code. The Trusted Types API closes this gap structurally, letting the browser accept dangerous assignments to DOM sinks only after the value has passed through a defined policy that converts it into a special type.
-
Maxim Mironjuk
-
October 31, 2025
Monster commits that mix refactoring, bug fixes and new features slow down code review, make git bisect useless and turn reverting a single change into a coin toss. With git add -p, git commit -p and git rebase -i, every change can be split into clearly scoped, atomic commits that stay traceable, testable and safely revertible on their own.
-
Maxim Mironjuk
-
October 31, 2025
document.querySelector reaches globally across the entire page and breaks as soon as a component appears more than once. x-ref and $refs solve this problem by referencing DOM elements scoped to the component and without CSS-selector fragility, for focus management, forms, and scroll targets.
-
Maxim Mironjuk
-
October 31, 2025
Load time alone says little about whether a page feels fast to a visitor, because two pages with identical total load time can feel completely different depending on the order in which their resources arrive. The fetchpriority attribute, , and the browser's own preload scanner each intervene at a different point in that order, and only together do they reach their full effect. The most common mistake is preloading as many resources as possible without considering that every additional preload directive competes for the same limited bandwidth as every other critical resource on the page.
-
Maxim Mironjuk
-
October 31, 2025
Advanced queries in IndexedDB go far beyond getAll(): cursor iteration with IDBKeyRange, compound keys across multiple fields, and multi-entry indexes for array values allow precise, memory efficient queries directly on the browser's storage engine. Anyone who masters these tools no longer needs to filter data client side, letting IndexedDB handle preselection instead.
-
Maxim Mironjuk
-
October 31, 2025
Chaos engineering only works when an experiment rests on a clear hypothesis and the possible damage is deliberately bounded beforehand. Claude is excellent for formulating hypotheses around network latency, pod kills and resource limits, and for thinking through blast radius before the first production experiment, but it should be understood as a preparation tool, not as something that autonomously triggers failures in production systems.
-
Maxim Mironjuk
-
October 30, 2025
The v flag brings set notation for character classes, Unicode property escapes like \p{Emoji} and \p{Script=Greek} finally make international text patterns robust instead of guesswork.
-
Maxim Mironjuk
-
October 30, 2025
A good index strategy does not depend on which ORM or framework sits on top of the database, but on fundamental principles such as selectivity, column order and the deliberate use of covering indexes. Once you understand these principles, you make better indexing decisions regardless of whether the application is written in PHP, Java, Python or plain SQL.
-
Maxim Mironjuk
-
October 30, 2025
A browser-based file explorer has to render a folder structure of unknown depth without the indentation spiraling out of control visually. This pattern walks through building a recursive tree with Tailwind CSS and Alpine.js: from the indentation logic through animated expand/collapse icons and file-type icons to highlighting selection and drop targets during drag-and-drop moves.
-
Maxim Mironjuk
-
October 30, 2025
A single content block for every visitor leaves conversion potential unused, especially when new customers, returning customers and B2B company accounts have different needs. Dynamic Blocks enable segment-specific content in live operation, without maintaining a separate landing page for every audience and without breaking the Full Page Cache.
-