JavaScript: Guides and Practical Know-how | Page 15 | mironsoft Blog
JavaScript
-
May 16, 2025
Symfony UX Autocomplete connects Doctrine entities, custom search logic and external APIs through a single form field type, delivering server side rendering, Stimulus wiring and Tom Select on the frontend without writing a single custom JavaScript module.
-
May 14, 2025
Invalid fields, mistyped arguments, and deprecated fields that keep getting used anyway: all of it can be caught right in the editor with GraphQL linting, instead of tripping over a cryptic server error at runtime.
-
May 9, 2025
Sortable table columns are one of the most commonly needed data list features, yet they often pull an entire DataTables library into the project. With a single Alpine.js x-data component, a generic comparison function and a few lines for the sort direction, the same functionality emerges without any extra dependency at all.
-
May 7, 2025
Anyone processing large volumes of data in JavaScript has long had to load everything into memory before working with it. The Web Streams API changes that: data flows through a pipeline as chunks, backpressure prevents memory overload, and the first chunk is available before the last one has even arrived.
-
May 7, 2025
Anyone who registers a separate event listener for every list item is building a memory and performance trap. Event delegation uses event bubbling and lets a single listener handle events on any number of elements, including ones that are only added to the DOM dynamically later on.
-
May 5, 2025
Source maps translate minified, bundled production code back into readable original source, but production follows different rules than local development: the maps must be deployed safely so attackers cannot extract unminified business logic from them, while error tracking systems such as Sentry still need to reconstruct real stack traces from the minified code.
-
Apr 30, 2025
Anyone who deep copies an entire object or array on every state update wastes memory and CPU time. Structural sharing solves this problem: on update, a persistent data structure rebuilds only the changed path and shares every unchanged subtree with the old version instead of duplicating it.
-
Apr 28, 2025
Anyone running Tailwind CSS in a monorepo with many packages knows the problem: the build process goes from seconds to minutes once the content configuration scans too many files. With targeted globs, Turborepo caching, Nx task pipelines, and parallelization, build time can be kept consistently low even across hundreds of packages.
-
Apr 27, 2025
Mutable state is the most common source of hard-to-find bugs in JavaScript applications. Immutability patterns make state changes explicit, enable change detection through reference comparison, and prevent shared state from being modified in unexpected places, from Object.freeze all the way to Records and Tuples.
-
Apr 25, 2025
For years, gzip compression in the browser meant loading pako or a WASM port of zlib, often several hundred kilobytes just for the library. The Compression Streams API makes that unnecessary: CompressionStream and DecompressionStream are available natively in the browser.