Page 226 - Mironsoft Blog
-
Maxim Mironjuk
-
July 03, 2025
CI/CD variables are the configuration contract of every GitLab pipeline. Get SSH keys, Composer auth tokens and ENV files wrong, and you risk exposed secrets, broken builds and unclear environment separation. This article shows how to set up variables in GitLab correctly, scope them properly and consume them safely in pipelines.
-
Maxim Mironjuk
-
July 03, 2025
A mini-cart that updates only visually leaves screen reader users unsure whether a product was actually added. With a correct live region, full keyboard operability and clean focus management, the flyout becomes usable, testable and WCAG compliant for every visitor alike.
-
Maxim Mironjuk
-
July 03, 2025
The Supply Chain Due Diligence Act, known in Germany as the Lieferkettensorgfaltspflichtengesetz or LkSG, requires large companies in Germany to respect human rights and environmental standards in their own business operations and along their supply chain. Many owners of smaller online shops believe this law has nothing to do with them, because it officially only applies to very large companies. In reality, small retailers can be indirectly affected as soon as they supply products to larger business partners or sell imported goods from countries with elevated risk.
-
Maxim Mironjuk
-
July 03, 2025
The moment a team senses that working through a security incident will end with naming a guilty party, behavior during that process changes: details get withheld, timelines get smoothed over, and uncomfortable questions get avoided. A blameless postmortem consistently shifts the focus away from who made a mistake and toward what conditions made that mistake possible in the first place, and that shift demonstrably produces more honest, more complete reports.
-
Maxim Mironjuk
-
July 03, 2025
1fr sounds like a simple, flexible share, but it does not behave the way it looks. Grid items carry an implicit minimum size that can be larger than their fr share, and that exact mechanism produces the overflow bug that makes minmax(0, 1fr) the real default, not just an optimization for edge cases.
-
Maxim Mironjuk
-
July 03, 2025
A natural key like an email address or a product code looks tempting during the first schema draft: it is already unique, it seemingly saves an extra column, and it makes foreign keys more readable at first glance. The problem only shows up later, when that exact business value needs to change, a case that occurs in practically every long-lived system eventually. This article explains why natural keys are structurally fragile as a foreign key target, how a stable surrogate key resolves that fragility, and walks through a realistic migration to show how expensive the fix becomes later.
-
Maxim Mironjuk
-
July 03, 2025
Expensive state updates block the main thread and freeze inputs. useTransition marks updates as low priority so React can render them interruptibly, inputs stay responsive, and isPending signals the loading state without useState overhead.
-
Maxim Mironjuk
-
July 03, 2025
Conditional aggregation combines CASE WHEN or the FILTER clause with aggregate functions to compute several conditional metrics in a single pass over a table, instead of writing one query per metric. This article shows how conditional aggregation makes dashboards and reports faster, more maintainable, and clearer, and which pitfalls around NULL values and data types typically show up.
-
Maxim Mironjuk
-
July 02, 2025
Working on the move on a train, in a café, or with switching WiFi regularly pushes classic SSH to its limits: every IP change or brief interruption ends the connection. Mosh solves exactly this problem with a UDP based protocol that transparently survives connection drops and network changes, while local echo makes it feel noticeably more responsive than SSH.
-
Maxim Mironjuk
-
July 02, 2025
A Git workflow that only lives in a wiki page changes no developer behavior. Only once branch names, commit formats, and review rules are enforced through hooks, CI checks, and thoughtful onboarding does a good intention turn into a lived convention that stays stable even as the team grows and people change.
-