Systems | Development | Analytics | API | Testing


Node.js Timeout Tactics: A Complete Handbook

Node.js is a powerful platform for building scalable and efficient server-side applications. One essential feature of Node.js development is managing timeouts effectively. Timeouts help handle various scenarios, such as preventing requests from hanging indefinitely or executing tasks within a specific timeframe. Let's get into the timeouts as time is out, what timeouts mean, and why they are necessary for Node.js applications.

Choosing the Right Node.js Package Manager in 2024: A Comparative Guide

The year 2024 marks a crucial juncture in the Node.js ecosystem, where developers face different choices when it comes to selecting the right package manager for their projects. npm, Yarn, and pnpm stand out as the frontrunners, as they are the most widely used in the Node.js ecosystem. Each package offers unique features and capabilities tailored to address the challenges of modern development environments.

Top 8 Recent V8 in Node Updates

V8 is the most popular JavaScript engine on the planet, supporting technologies such as Chrome and Node.js. The pace of V8's development is impressive, with multiple code commits a day and major releases roughly every month. Keeping up with updates isn't easy, but you've come to the right place! Here, we'll dig into the latest improvements and additions Google has made to the JavaScript engine. Find out what the future of web development looks like!

Integrate Type Checking with Node.js using TypeScript: A Tutorial

With Node.js and Express, you can easily create a JavaScript server. Then the obvious question would be, “Why Typescript?” While JavaScript remains the most popular scripting language, TypeScript emerges as a great alternative when your application becomes more complex or when you collaborate with a distributed team of developers.

Node.js 2023 Year in Review

Two months into 2024, I’ve decided to summarize the achievements in the Node.js space from 2023. As always, this list is curated by me, so I may overlook some pull requests due to the vast amount of work completed by Node.js collaborators and areas where I need more context, such as WASI. Node.js is rapidly evolving, and it can be challenging for regular users to stay updated with the latest changes. Even as someone who works on the project, it’s possible to overlook certain commits.

Build an Idempotent API in Node.js with Redis

In a world full of microservices and distributed systems, building robust and reliable APIs is of paramount concern. One key concept that plays a vital role in achieving reliability is idempotency. In this article, we'll delve into the world of idempotency, exploring what it is, why it's important, and how it can be implemented to solve the persistent problem of duplicate processing in APIs. Along the way, we'll see how to build an idempotent API in Node.js with Redis.

Throttling a Kafka Queue in Node.js

Coming from an HTTP-only background, message queues look very fascinating. Unlike HTTP, you can just push events to the queue and move on. After all, they're a big part of what makes async communication possible between microservices. In this article, we'll take a look at Apache Kafka and how you can build a durable throttling layer with it. Let's get started!

Password hashing in Node.js with bcrypt

In the digital age, security is of paramount importance, especially when it comes to user data and credentials. As developers, we must ensure that sensitive information, such as passwords, is stored securely to prevent unauthorized access and potential breaches. One of the key techniques employed to enhance security is password hashing, and in the realm of Node.js development, the bcrypt library stands out as a robust solution for this purpose.

Dealing with CPU-bound Tasks in Node.js

Welcome to part two of our series on profiling and optimizing CPU-bound tasks in Node.js! In the first installment, we discussed the complexities of handling CPU-bound tasks in Node.js, shedding light on their impact on runtime performance and exploring various profiling techniques. Once you've used profiling to figure out where the bottleneck in your application is, the next step is to choose the right optimization strategy to obtain an acceptable level of performance for your use case.