Page 18 - Monthly Archives: May 2025
-
Maxim Mironjuk
-
May 05, 2025
Building SQL queries through string concatenation opens one of the oldest and still one of the most dangerous vulnerability classes in web development. PDO prepared statements structurally separate code from data and rule out SQL injection regardless of what the input contains, provided they are configured correctly and applied properly to identifiers, LIKE patterns and IN lists. This article walks through the full technical implementation with PDO in PHP 8.4.
-
Maxim Mironjuk
-
May 05, 2025
Anyone who implements an API before the design is settled blocks frontend teams and forces QA engineers into manual follow-up. API-first reverses the order: the OpenAPI specification comes first, enabling mocking for the frontend and contract tests for QA, so all teams can develop in parallel without waiting on each other.
-
Maxim Mironjuk
-
May 04, 2025
Relay enforces strict naming conventions, fragment colocation and a fixed connection specification for pagination through its own compiler. Apollo Client skips that enforcement and stays more flexible, but also less predictable as a team grows. This article shows when Relay's learning curve genuinely pays off.
-
Maxim Mironjuk
-
May 04, 2025
TypeScript turns time-tested GoF patterns from object-oriented software design into tools with real compile-time guarantees. Combining Factory, Strategy, Observer, and Builder with discriminated unions, generic types, and exhaustiveness checks prevents entire classes of bugs that only surface at runtime in plain JavaScript, while producing more maintainable, better-tested architectures for checkout and headless commerce systems.
-
Maxim Mironjuk
-
May 04, 2025
Production problems in Docker containers call for precise tooling, not guesswork. With exec, inspect, stats, top and events you can fully examine the processes, configuration, memory and events of a running container, with no restart and no data loss.
-
Maxim Mironjuk
-
May 04, 2025
Static, pre-generated image variants do not scale with growing catalogs and new device targets. An image CDN architecture transforms images on the fly via URL parameters, caches the results at the edge, and automatically serves the right format, size, and quality for every client, without a build step ever having to produce new assets.
-
Maxim Mironjuk
-
May 04, 2025
Not every file a container writes should outlive the container's lifecycle, especially when it comes to decrypted secrets, session tokens, or temporary encryption keys. tmpfs mounts keep such data exclusively in memory, so it never gets written to the host's disk, making them a simple yet effective security tool for Docker containers.
-
Maxim Mironjuk
-
May 04, 2025
Fluctuating build load is the norm: barely any pipelines at night, a flood of merge request pipelines in the afternoon. Static runner provisioning either wastes money or produces queue times, autoscaling solves both.
-
Maxim Mironjuk
-
May 03, 2025
NTILE(n) splits a sorted result set into n roughly equal buckets and turns quartile, decile and general percentile analysis into a single SQL query. Instead of exporting customer values, response times or test scores into statistics software, distribution buckets are produced directly in the database, reproducibly and without manual sorting work.
-
Maxim Mironjuk
-
May 03, 2025
As soon as a Bash script reads configuration from more than one source, the load order determines its behavior in production. Scripts that do not deliberately prioritize system environment, .env file and command-line overrides tend to work fine on one machine and silently pick up the wrong value on a colleague's laptop or in a CI runner.
-