
Should You Use char, varchar, or text in PostgreSQL?
4 min read
What are the differences between char, varchar, and text in PostgreSQL, and which one should you choose?
4 min read
What are the differences between char, varchar, and text in PostgreSQL, and which one should you choose?
7 min read
Stop overthinking what you should build next and start creating awesome Node.js portfolio projects to showcase your skills.
7 min read
Create a beautiful portfolio of backend projects that put your best foot forward without writing a single line of CSS.
5 min read
Why use async/await when you can use promises instead? Here's why async/await excels at asynchronous JavaScript code.
3 min read
How do you make a callback-based asynchronous function work nicely with async/await? You promisify it.
4 min read
Caching is hard. Caching asynchronous results is even harder. Learn how to properly cache promise results in JavaScript.
4 min read
Async/await can be intimidating. With a little guidance, you can write modern asynchronous JavaScript code that just works.
4 min read
Using async/await inside forEach often leads to confusion. Here is how to run multiple asynchronous tasks instead.
3 min read
Mixing Promise.then() with async/await syntax is a recipe for bugs. Here's why you should avoid it and what to do instead.
7 min read
A compiled list of linting rules to specifically help you with writing asynchronous code in JavaScript and Node.js.
4 min read
Run asynchronous tasks with a concurrency limit without having to rely on an external library.
5 min read
Confidently start a Node.js app that's always available to serve incoming requests, just like you programmed it.
2 min read
When should you use for...of vs for...in? This neat memory trick has saved me countless Google searches.
4 min read
Improve your understanding of asynchronous code by learning the difference between synchronous and asynchronous callbacks.
4 min read
What is the event loop and how does it work? After this talk I finally understood asynchronous code in JavaScript/Node.js.
5 min read
Nested callbacks can be stressful. Use this technique to confidently refactor messy callbacks into clean async/await.
8 min read
Everyone says you shouldn't store files in the database, but why? Find out why and learn a better approach to file storage.
5 min read
Everything you need to know about sending files with axios in Node.js — from creating a form to setting the right headers.
7 min read
Learn how to decypher & fix this cryptic error message from multer, and finally implement working file uploads in Node.js.
4 min read
You've fiddled with calc() a dozen times. Learn the common mistake devs make with math in CSS and finally fix your issue.
6 min read
From a lousy dump of debug statements to a powerful debugging tool. Learn how to apply contextual logging in Node.js.
5 min read
My notes on the ES Modules in Node.js presentation by Gil Tayar at Nodeconf Remote.
5 min read
My notes on the Egghead course "Getting Started with Eleventy" by Khaled Garbaya.
6 min read
How does this new major release affect you? Find out what the breaking changes are and how to use the new features.
7 min read
Set up Heroku-like auto-deployments on your server. Redeploy every time you push to your Github repository.
5 min read
Random Github permission errors are frustrating and keep you from doing the real work. Let's fix them and get on with our day.
9 min read
How do you protect your data and keep the bad guys out? These 4 security measures will go a long way in securing your server.
5 min read
Is your site not working after deploying to Github Pages? Learn the #1 reason why deployments to Github Pages fail and how to fix it.
9 min read
How do you serve multiple apps from one VPS? Save money and learn valuable skills by hosting your projects on a VPS.
5 min read
How do you cluster a Node.js app that lives inside a container? Learn how to utilise all CPU cores with Docker.
5 min read
Migrating from PM2 to Docker? Curious if Docker can live up to PM2? Let's compare automatic restarts between the two tools.
6 min read
Quickly install MySQL and phpMyAdmin using Docker without bloating your machine. Spin up and bring everything down with just a single command.
4 min read
A Docker Compose file can be confusing. "Is this a volume or a bind mount?" By the end of this article, you'll stop guessing and will know in an instant.
6 min read
Avoid wasted hours spent on debugging container networking issues by trying these 4 troubleshooting steps.
11 min read
Deploying with Docker, how is it done? In this tutorial, you're going to learn a straightforward way to automate your deployments.
7 min read
Expose doesn't do much. Most people confuse exposing a port with publishing a port. Here are a few misconceptions you should avoid.
8 min read
There are some gotchas to handling process signals inside Docker containers. Here's what they are and how you should best avoid them.
7 min read
What problems does Docker solve? And is it something you should use? Using real-world scenarios I explain why Docker might, or might not, be relevant for you.
10 min read
Getting your application in front of your users is not a trivial process. Docker makes deploying your app a lot easier. This detailed guide will teach you how to create a Docker image from your Node.js application.
5 min read
Writing SQL queries can be daunting. We'll unveil the magic by translating 6 common Sequelize queries into raw SQL.
2 min read
Does your EJS page behave incorrectly? You click on a button to open a modal only to find out it shows the wrong text? Let's examine the id attribute and how this might be the cause of the problem.