RSSAmplifier

Blog

GreenRoots Blog - A Blog by Tapas Adhikary

Articles about Tech, JavaScript, Web Technologies, and Career development.

blog.greenroots.infoRSS feed ↗20 posts

Latest posts

Goodbye, Slow-Motion Tortoise: A Deep Dive into SSR Streaming

In the early days of the web, we were used to waiting. But today, modern users demand instant feedback. Yet, many of our applications still suffer from what I call the “slow-motion tortoise 🐢” runnin

Mastering React Design Patterns for Building Maintainable Forms

Managing forms in React applications can become complex and error-prone as your app grows. Yet, leveraging the right design patterns can drastically simplify this process, making your forms more reusable, scalable, and easier to maintain. In this com...

JavaScript Variables Explained Clearly: Values, Types, and How Data Really Works

Day 02 of 40 Days of JavaScript is where JavaScript starts to feel real. Today’s focus is on variables, how values are stored, and why JavaScript behaves the way it does when data changes. If variables are not clear, everything that follows—functions...

JavaScript Explained From Scratch: How the Web Becomes Interactive

If you’ve ever wondered how buttons become clickable, how animations react to user actions, or how websites feel alive, JavaScript is the answer. This article is based on Day 01 of the 40 Days of JavaScript journey, where we lay the foundation for le...

Tidbit 01: How Does Event Loop Handle Promises? Ever Thought?

Ever wondered how JavaScript knows when to run your .then() block? Or why your console.log("done") appear before a resolved promise result? Let’s break it down in this quick TidBit! What is a Promise? A Promise is JavaScript’s way of saying: “I’ll g...

Top 10 QA Automation Tools for Startups in 2026

The startup landscape is at a critical inflection point for QA testing. While the demand for quality software has never been higher, the State of Testing Report by PractiTest reveals a concerning skills gap: 42% of testers don't feel comfortable writ...

Exploring Advanced JavaScript Features: A Deep Dive into ECMAScript 2023 Updates

ECMAScript, also known as the backbone of JavaScript, has come a long way since its birth at Netscape in 1995. Within two years, it was standardized as ECMAScript 1. It only took ECMAScript 4 years to reach its third generation. By 1999, it had gaine...

Effective Ways to Manage Shadcn Dialog Box: 3 Tips with Code

Recently I encountered a couple of challenging use cases with the shadcn/ui dialog box with forms as its content. As I learned to tackle them, here is what I learned to share with you, hoping that it helps you as well. First, the shadcn dialog box co...

Why the with() method of JavaScript Array is a gem?

JavaScript array methods offer plenty to web developers already. The methods like map(), reduce(), filter() , some(), every(), and many more have helped build our JavaScript muscles for better logic and algorithms. The with() method is a relatively n...

Next.js and Next-Auth V5: Guide to Social Logins(OAuth)

Authentication and Authorization are the implicit needs for any user-facing application. Using authentication users let the application and underlying services know who they are, and if they are the legitimate people to get access to the system. Ther...

What is Authentication and Authorization - Explain like I am five

Full-stack development is not just about making the front end talk to the back end, and vice-versa. You need to keep additional peripherals in mind to put yourself in the shoes of a full-stack developer. A full-stack developer should be equipped with...

How to upload and preview images in ReactJS?

Uploading and previewing images are fundamental requirements in any modern user-centric application. Be it Facebook, Instagram, WhatsApp, Twitter, LinkedIn, whatever you name, you have it there. In this article, we will learn how to handle image uplo...

How to navigate between routes in Next.js?

Next.js App router enables us to create file-system-based routing where the top-level app/ folder acts as the root route(/), and a special page.js file under it acts as the page for that route segment. Often, we would like to go from one page to anot...

10 Git stash commands every developer should know

Developers are agile. Their work environments are also rapid and fast-moving to keep them on their toes most of the time. I can imagine a situation like this would be quite normal at your workplace: You are working on a feature and, in between, makin...

The Definitive Guide to Date and Time in JavaScript

Introduction There are now nearly 9 million apps worldwide, and practically all of them run on an internal clock. Financial apps are built on timestamped data. Office apps run on calendars. Social apps are defined by their feeds, timelines and annive...

Dynamic routes recipes from Next.js App Router

Next.js App Router has brought many improvements over its predecessor, Page Router. One of the significant improvements is the routing itself. Next.js App Router uses the file-system-based router, where you create directories(aka folders) to define r...

The best way to pad a string in JavaScript

Padding a string means filling up a string with another character sequence or string. For example, you have written a function to the time formatted in hh:mm:ss format. function getTime() { const hour = new Date().getHours(); const min = new Dat...

Why use default parameters in JavaScript functions?

Function in programming is a block of code that performs a specified task. You define them once and can call them(using a name in most cases) wherever you want to perform that task. JavaScript is no different. In JavaScript, one of the popular ways t...

The best way to get the month name from a date in JavaScript

JavaScript Date object provides many helpful methods for dealing with date and time. The list is so vast that it is sometimes hard for developers to track which method provides what value. Also, it is a bit tricky to retrieve a few information straig...

Create an e-learning platform using caisy and next.js app router

Developers learn better when they build or create something out of their learnings. We need to put our learnings into practice and try problem-solving. When we attempt to learn multiple technologies together or try out a tech stack, it makes sense to...