Skip to content

Articles

Words without side effects, only pure success

Asynchronous JavaScript

14 Linting Rules To Help You Write Asynchronous Code in JavaScript

A compiled list of linting rules to specifically help you with writing asynchronous code in JavaScript and Node.js.
Read article

3 Reasons Why Async/Await Is Better Than Chaining Promises

Why use async/await when you can use promises instead? Here's why async/await excels at asynchronous JavaScript code.
Read article

Using Callbacks With Async/Await

How do you make a callback-based asynchronous function work nicely with async/await? You promisify it.
Read article

Avoid This Mistake When Caching Asynchronous Results

Caching is hard. Caching asynchronous results is even harder. Learn how to properly cache promise results in JavaScript.
Read article

Understanding Async & Await

Async/await can be intimidating. With a little guidance, you can write modern asynchronous JavaScript code that just works.
Read article

Why Async/Await Inside forEach Is a Bad Idea

Using async/await inside forEach often leads to confusion. Here is how to run multiple asynchronous tasks instead.
Read article

Why You Shouldn't Mix Promise.then() With Async/Await Syntax

Mixing Promise.then() with async/await syntax is a recipe for bugs. Here's why you should avoid it and what to do instead.
Read article

Run Concurrent Tasks With a Limit Using Pure JavaScript

Run asynchronous tasks with a concurrency limit without having to rely on an external library.
Read article

Synchronous vs Asynchronous Callbacks

Improve your understanding of asynchronous code by learning the difference between synchronous and asynchronous callbacks.
Read article

The Talk That Made Me Finally Understand How the Event Loop Works

What is the event loop and how does it work? After this talk I finally understood asynchronous code in JavaScript/Node.js.
Read article

A Visual Guide to Refactoring Callback Functions to Promises & Async/await

Nested callbacks can be stressful. Use this technique to confidently refactor messy callbacks into clean async/await.
Read article

Career

One or Two-Column Resumes: Best Choice for Aspiring Web Developers

Which resume layout is more likely to increase your chances of securing a job interview?
Read article

Navigate New Codebases Like a Seasoned Pro

Learn practical tips to quickly understand new codebases, gain confidence, and become an indispensable asset to your team.
Read article

Unfinished Projects on Resume: Wise or Not?

Should you add unfinished projects to your resume? If so, at what stage of the app's development is it appropriate?
Read article

7 Awesome Free APIs for Your Next Node.js Project

Stop overthinking what you should build next and start creating awesome Node.js portfolio projects to showcase your skills.
Read article

Backend Portfolio Projects for Developers Who Dread CSS

Create a beautiful portfolio of backend projects that put your best foot forward without writing a single line of CSS.
Read article

Backend

ESLint Setup in Node.js: A Detailed Guide

Unlock the power of ESLint in Node.js! Dive into this beginner-friendly guide for seamless integration and smarter coding.
Read article

Should You Use char, varchar, or text in PostgreSQL?

What are the differences between char, varchar, and text in PostgreSQL, and which one should you choose?
Read article

Logging with Pino and AsyncLocalStorage in Node.js

From a lousy dump of debug statements to a powerful debugging tool. Learn how to apply contextual logging in Node.js.
Read article

ES Modules in Node.js

My notes on the ES Modules in Node.js presentation by Gil Tayar at Nodeconf Remote.
Read article

Node.js 15 Is Out! What Does It Mean for You?

How does this new major release affect you? Find out what the breaking changes are and how to use the new features.
Read article

6 Common Sequelize Queries Explained in SQL

Writing SQL queries can be daunting. We'll unveil the magic by translating 6 common Sequelize queries into raw SQL.
Read article

How to Fix Your EJS Modals When They Don't Show the Correct Info

Does your EJS page behave strangely? Let's examine the id attribute and how this might be the cause of the problem.
Read article

Deployments

How Do You Start a Node.js Server in Production?

Confidently start a Node.js app that's always available to serve incoming requests, just like you programmed it.
Read article

Set up Automated Deployments From Github With Webhook

Set up Heroku-like auto-deployments on your server. Redeploy every time you push to your Github repository.
Read article

Fix "Permission Denied" Error From Github

Random Github errors are frustrating. Here's how to fix them so you can get on with your day.
Read article

4 Essential Steps to Securing a VPS

How do you protect your data and keep the bad guys out? Secure your server with these 4 simple steps.
Read article

Deploying to Github Pages? Don't Forget to Fix Your Links

Deployed to Github Pages but your site suddenly stopped working? Here's what you you should do to fix your site.
Read article

Host Your Personal Projects on a Single VPS

How do you serve multiple apps from one VPS? Save money and learn valuable skills by hosting your projects on a VPS.
Read article

File Uploads

Why Storing Files in the Database Is Considered Bad Practice

Everyone says you shouldn't store files in the database, but why? Find out why and learn a better approach to file storage.
Read article

Send a File With Axios in Node.js

Everything you need to know about sending files with axios in Node.js — from creating a form to setting the right headers.
Read article

Fix "Unexpected field" Error From Multer

Learn how to decypher & fix this cryptic error message from multer, and finally implement working file uploads in Node.js.
Read article

Docker

From PM2 to Docker: Cluster Mode

How do you cluster a Node.js app that lives inside a container? Learn how to utilise all CPU cores with Docker.
Read article

From PM2 to Docker: Automatic Restarts

Migrating from PM2 to Docker? Curious if Docker can live up to PM2? Let's compare automatic restarts between the two tools.
Read article

Install MySQL With PhpMyAdmin Using Docker

Setup MySQL and phpMyAdmin with Docker quickly with a single command without bloating your machine.
Read article

Docker Compose Syntax: Volume or Bind Mount?

Docker Compose syntax for volumes is confusing. After reading this article you won't have to guess anymore.
Read article

4 Reasons Why Your Docker Containers Can't Talk to Each Other

Avoid wasted hours spent on debugging container networking issues by trying these 4 troubleshooting steps.
Read article

Automate Your Docker Deployments

How do you deploy with Docker? In this tutorial, you're going to learn a straightforward way to automate your deployments.
Read article

Exposing a Port in Docker, What Does It Do?

Most people confuse exposing a port with publishing a port. Here's why that's not true and what you should do instead.
Read article

Process Signals Inside Docker Containers

Handling process signals inside Docker containers can be tricky. Here's what to look out for.
Read article

Why Docker? What's All the Hype About?

What problems does Docker solve and should you use it? Find out what Docker is good for with practical examples.
Read article

A Beginner's Guide to Building a Docker Image of Your Node.js Application

In this article you'll learn how to create a Docker image to deploy your Node.js application.
Read article

Other

Understanding "Property of Undefined" TypeError in JavaScript

Demystifying the often-misleading "TypeError: can't access property of undefined" in JavaScript.
Read article

A Memory Trick To Remember When to Use for...of vs for...in

When should you use for...of vs for...in? This neat memory trick has saved me countless Google searches.
Read article

Why Your calc() Function in CSS Might Be Broken

You've fiddled with calc() a dozen times. Learn the common mistake devs make with math in CSS and finally fix your issue.
Read article

Getting Started with Eleventy

My notes on the Egghead course "Getting Started with Eleventy" by Khaled Garbaya.
Read article