Skip to content
tezvyn:

All bites

The whole library, newest first. Filter by what you are here for, or pick a topic if you already know.

8667 bites

Page 295

Dependencies vs. DevDependencies: What's the Difference?
Node.js & Express2 min read

Dependencies vs. DevDependencies: What's the Difference?

Dependencies are packages your app needs to run in production (like a web framework). DevDependencies are for your development workflow (like a test runner). The footgun is mixing them up, which bloats your production build with unnecessary code.

package.json: The Blueprint for Your Node.js Project
Node.js & Express2 min read

package.json: The Blueprint for Your Node.js Project

The package.json file is the blueprint for a Node.js project, listing its dependencies and runnable scripts. It's essential for installing libraries (npm install) and running tasks (npm test).

Node.js & Express2 min read

CommonJS: Node.js's Original Module System

CommonJS treats each file as a private box of code. You share tools using exports and import them with require. It's the original module system for Node.js, used to organize code into reusable pieces.

Node.js & Express2 min read

Node.js Cluster: Scaling on a Single Machine

The cluster module turns a single-threaded Node.js app into a multi-process server that uses all CPU cores. It's ideal for scaling network applications on one machine by sharing a single port.

Node.js & Express2 min read

Worker Threads: True Parallelism in Node.js

Worker threads give Node.js a separate brain for heavy lifting, letting you run CPU-intensive code without blocking the main event loop. Use them for tasks like image processing, not I/O. The footgun is assuming memory is shared; it isn't.

Libuv: The Engine Behind Node.js Async I/O
Node.js & Express2 min read

Libuv: The Engine Behind Node.js Async I/O

Libuv is the C library that powers Node.js's non-blocking I/O. It translates JavaScript's event loop into high-performance async calls for the host OS. The footgun is thinking this makes Node multi-threaded; it uses an event loop and a thread pool.

Node.js & Express2 min read

Node.js Child Processes: Escaping the Main Thread

A child process lets your Node.js app run external commands without blocking the event loop. Use it for CPU-intensive tasks like image processing or running system utilities. The footgun: using synchronous versions (execSync) will block your entire server.

Node.js & Express2 min read

Node.js Streams: Processing Data in Chunks, Not Blobs

Think of streams as a data conveyor belt, processing large files or network data in chunks instead of loading it all into memory. Use them for file I/O or network requests.

Node.js & Express2 min read

process.nextTick(): Cutting in Line on the Event Loop

process.nextTick() schedules a callback to run immediately after the current operation, before the event loop continues to timers or I/O. It's used for API consistency or error handling. The footgun is that overusing it can starve the event loop, blocking I/O.

JavaScript's Event Loop: Macrotasks & Microtasks
Node.js & Express2 min read

JavaScript's Event Loop: Macrotasks & Microtasks

The JavaScript event loop processes tasks like setTimeout callbacks or user clicks from a macrotask queue. A single, long-running macrotask blocks all rendering and user input, freezing the UI. The footgun is assuming setTimeout(fn, 0) runs instantly.

Node.js & Express2 min read

Event Loop vs Crypto Module

Node's crypto module offers both synchronous and asynchronous versions of CPU heavy operations like password hashing; the sync versions block the single threaded event loop, while async versions offload the work to a background thread pool.

Node.js & Express2 min read

The Node.js Event Loop: Concurrency on a Single Thread

The Node.js event loop lets a single thread handle high concurrency by offloading I/O. It's ideal for web servers and APIs, but the footgun is that any long-running synchronous code will block the entire application, freezing all other requests.

Node.js & Express2 min read

Node.js Events and the EventEmitter

Node.js handles concurrency with an event-driven model, not threads. "Emitters" fire named events that "listeners" react to, enabling non-blocking I/O for things like file reads and web requests.

Node.js & Express2 min read

V8: The Engine Powering Chrome and Node.js

V8 is the engine that runs your JavaScript, translating it into machine code. It powers both the Chrome browser and the Node.js server-side runtime. The common footgun is confusing the engine (V8) with the runtime environment that provides it with APIs.

Monitoring & SRE2 min read

Load Balancing Algorithms: How to Pick a Server

Load balancing algorithms are the rules a client uses to pick one server from a pool of identical backends. They're used by web proxies routing user traffic and by microservices calling each other.

Monitoring & SRE2 min read

Post-Incident Review: Learning from Failure, Blamelessly

A Post-Incident Review (PIR) is a blameless process to learn from an outage, not to assign blame. Use it after a production incident to identify systemic flaws and create action items to prevent repeats.

Escalation Policy: When to Stop Shipping and Start Fixing
Monitoring & SRE2 min read

Escalation Policy: When to Stop Shipping and Start Fixing

An escalation policy is a pre-agreed plan for when to divert engineers from feature work to fix reliability. When a service's error budget burns too fast, the policy's thresholds trigger specific actions. The footgun is thinking a quick rollback is enough.

Time-Series Compression: Storing More with Less
Monitoring & SRE2 min read

Time-Series Compression: Storing More with Less

Time-series compression stores data more efficiently by saving the *difference* between consecutive points, not the full values. It's key for managing terabyte-scale monitoring and IoT data, often saving over 90% on storage.

Service Maps: A Live Blueprint of Your Architecture
Monitoring & SRE2 min read

Service Maps: A Live Blueprint of Your Architecture

A service map is a live blueprint of your distributed system, generated from telemetry data. It visualizes service dependencies and health, letting you instantly see an incident's blast radius instead of hunting through Slack for tribal knowledge.

Monitoring & SRE2 min read

Capacity Planning: Don't Run Out of Room

Capacity planning matches your system's resources to user demand, crucial for handling traffic spikes or budgeting cloud spend. The main footgun is planning for theoretical 'design capacity' instead of realistic 'effective capacity' which accounts for…