Preetam Raj
A simple guide to setting up a clean and productive Mac terminal using iTerm2 and Powerlevel10k, with a few useful customizations to make your everyday workflow better.

Preetam Raj
Deeply nested if/else blocks are hard to read and easy to break. Guard clauses flatten your logic with early returns so the happy path stays obvious.

Preetam Raj
A growing if/else chain that switches on a type is a design pattern in disguise. Here's how the Strategy pattern turns it into small, swappable pieces.

Preetam Raj
Inheritance looks tidy until the hierarchy fights you. Here's the concrete point where 'is-a' breaks and 'has-a' scales, shown with real code.

Preetam Raj
A pure function returns the same output for the same input and touches nothing else. That single property is what makes code predictable and trivial to test.

Preetam Raj
Sometimes deciding which object to create is a job in itself. The Factory pattern gives that decision one home so the rest of your code stays simple.

Preetam Raj
Next.JS can be used as fullstack application and it is obvious that a full-stack application must use database. In this blog we will see how we can set up postgresql with Prisma in Next.JS application.

Preetam Raj
Configure NextJS before starting the project for seamless building process.

Preetam Raj
A virtual environment is a self-contained directory or folder in which you can install and manage packages, libraries, and dependencies for a specific project or application.
