Page 4 - Monthly Archives: May 2025
-
Maxim Mironjuk
-
May 28, 2025
esbuild, SWC, and Babel compile each file on its own, without type information from other files. isolatedModules flags exactly the cases that would break under that constraint.
-
Maxim Mironjuk
-
May 28, 2025
XML parsers with external entity processing enabled can be abused for file disclosure or SSRF. We explain how XXE works, why many modern libraries disable it by default today, and how to explicitly harden DOMDocument in PHP.
-
Maxim Mironjuk
-
May 28, 2025
Upload endpoints are a common source of errors in REST APIs. Incorrectly documented content types, missing validation and incomplete tests turn them into a black box. This guide shows how to correctly describe Symfony upload endpoints with OpenAPI 3.1, secure them on the server side and test them fully with PHPUnit.
-
Maxim Mironjuk
-
May 27, 2025
EAS Update ships JavaScript bundle and asset updates directly to installed React Native and Expo apps, with no new App Store or Play Store review cycle required. Teams coming from CodePush will find EAS Update to be the technically consistent successor, with channels, branches, runtime versions, staged rollouts, and fast rollbacks built in from the start.
-
Maxim Mironjuk
-
May 27, 2025
A powerful developer laptop with CPU throttling enabled in Chrome DevTools feels like solid low-end testing, but it only approximates the reality of a genuine budget Android phone. Thermal throttling, real memory limits, slow storage, and background processes from other apps are nearly impossible to simulate at a desk. Teams that take performance regressions for their real user base seriously cannot avoid physical test devices or cloud device farms.
-
Maxim Mironjuk
-
May 27, 2025
A new code path in a production Bash script is always a risk, no matter how carefully it was tested. A feature flag turns that all-or-nothing risk into a controllable decision: the new path exists in the script but is off by default, can be enabled for individual runs, and can be switched back off with a single value if something goes wrong.
-
Maxim Mironjuk
-
May 27, 2025
The choice of network driver decides whether containers disappear behind NAT sharing one host IP, show up with their own MAC address directly on the physical network, or communicate transparently across multiple hosts. Anyone who does not cleanly separate these three models ends up with either unnecessary performance loss or unexpected security gaps in production.
-
Maxim Mironjuk
-
May 27, 2025
A large Magento monorepo with several hundred modules quickly pushes PhpStorm past its default settings. Deliberately tuning Xmx and Xms, consistently using directory excludes, and correctly reading low memory warnings buys back noticeable responsiveness.
-
Maxim Mironjuk
-
May 27, 2025
Database-driven search with LIKE queries does not scale. Past 100,000 records it becomes slow, it finds nothing on typos, and relevance ranking is impossible. Elasticsearch solves all three problems: millisecond response times, fuzzy matching and configurable relevance scores, integrated into Symfony through a clear indexing and query protocol.
-
Maxim Mironjuk
-
May 27, 2025
Introduced in TypeScript 4.9, the satisfies operator closes a gap between explicit type annotations and as type assertions. It checks whether an expression matches a type while preserving the expression's own, narrower type.
-