
React Server Components: what they are and how they change the way you write components
Server Components vs Client Components, the 'use client' and 'use server' directives, what runs where, and how they pair with Suspense and use().
24posts

Server Components vs Client Components, the 'use client' and 'use server' directives, what runs where, and how they pair with Suspense and use().

React 19's new use() API overlaps with useContext but breaks the Rules of Hooks on purpose. Here's how they differ, with examples for context and promises.

A React Compiler bug where one component bails out of memoization while its sibling silently gets memoized, freezing UI fed by a stable object reference. Root cause and fix.

Why Babel and webpack-compiled code wraps some function calls in (0, ...)(), and what the comma operator has to do with the value of this.

TypeScript's satisfies operator explained with practical examples: why as and explicit annotations lose inference, and how satisfies solves the problem without trade-offs.

What an IIFE is, why it sometimes starts with !, + or void before function, and where it still shows up in JavaScript code today.

A practical guide to node:test, Node.js's built-in test runner: zero-dependency setup, basic syntax, mocking, coverage, and what's still missing compared to Jest.

What the React Compiler actually does, when useMemo and useCallback become unnecessary, and why the Rules of React matter more than before.

What main thread blocking is, how to create a Web Worker to move heavy computation off the UI, and when you don't actually need one.

Why unsafe-inline isn't enough, how CSP nonces and hashes work for a static site, what strict-dynamic is, and what Trusted Types is for.

How to use AbortController and AbortSignal to cancel fetch requests and other async operations, avoiding race conditions and wasted network calls.

How the WebAuthn protocol behind passkeys works — public keys, attestation, a practical example — and why they're not just a more convenient alternative to passwords.

Security updates for Node.js 25.x, 24.x, 22.x and 20.x: 3 high-severity vulnerabilities, 4 medium and 1 low. Here is what they fix and how to update.

What javascript:void(0) is and what it's for, with a few simple examples

How JavaScript Proxies work, some code examples, and how to use them for reactivity in JS

A simple guide to decorators in JavaScript with practical examples

How to correctly set slashes in URLs and canonical HTML tags for Astro-based applications

Let's look at a few examples of how React 19's new useActionState and useFormStatus hooks work

How Error Boundaries work in React: components that catch errors from their children to improve your app's stability and reliability.

Difference and examples between debounce and throttle for events in JavaScript

How to correctly handle event handlers in React, including events on window like resize and scroll, avoiding the most common mistakes.

Content Security Policy, or CSP, is a set of rules that tell the browser how to behave when loading the content of our HTML page.

How stopPropagation and preventDefault work in JavaScript to control event propagation and the browser's default behavior.

The new NoInfer<T> utility introduced in TypeScript 5.4 to control generic type inference, with practical examples.