Have you ever come across a function in JavaScript that's wrapped in parentheses and immediately executed? It might look strange at first, but it’s actually one of the most elegant patterns in JavaS...
TL;DR:
JavaScript inheritance can be approached in two main ways: class-based and prototypal. Although the class keyword provides a familiar syntax for developers coming from OOP backgrounds, under t...
Today, we're looking at Prisma ORM with MongoDB—a really useful combo for building database-driven apps. MongoDB is already a great database choice for JavaScript developers, with several ways to wo...
If you’ve ever tried adding billing to a Supabase project, you probably understand why I’m writing this.I love Supabase. But when it came time to let users pay for something, everything kind of fe...
This is the first post in an ad-hoc series where I convert libraries to TypeScript, and analyze the results. In the same vein as my re-conversion of the Turbo Framework to TypeScript, I decided to tak...
This post was first published on my blog. You can read it at this link for a focused and better reading experience.This article is also available in Persian here.
About this post
In this po...
In modern Node.js and Next.js applications, robust logging is essential for more than just debugging – it's key to maintaining healthy, high-performing production systems. Proper logs allow you to q...
Streams in NodeJS are very effective way to send data from a source (or a network) to your browser bit-by-bit (or lets say chunks).What does this mean?
Suppose you have two buckets, bucket A is filled...
Hi! I’m Sarah.I am a self-taught programmer with a passion for where math meets programming.This blog post represents a talk I gave at the inaugural Tech Talk Augusta.As an introduction to my talks,...