When we are first introduced to databases, we usually start off with some relational database like MySQL or Postgres. We have to sit and think about the structure of our tables and how entities in our database will be related to each other entities.

At times, we may even want to normalize our database structure. If you’re not familiar with the benefits of normalizing your database, check out this article. Essentially you get less redundancy of data and avoid “update anomalies”.

Back in the day, when the cost per one gigabyte of storage was still high, it was extremely important…


Imagine building a membership website and choosing to use Stripe as your credit card payment processor. Everything is great until one of your customer’s credit cards expires, causing them to miss a payment for your membership website.

If your website is never notified, you might not ever suspend their account, and they may still be able to access your site without paying. How can your system become aware that they missed a payment?

That’s where Webhooks can come in handy. Let’s take a deeper look and break things down.

What is Webhooks Used For?

In the example above, Stripe needs to “communicate” to your web…


Many tutorials on the internet will extensively cover the useState hook or the useEffect hook, however, many tutorials do not get into the more nuanced React hooks such as useMemo .

Before getting into the technical details of the useMemo hook, it’s important to understand the purpose behind using the useMemo hook.

Understanding the Need For `useMemo`

The main purpose behind theuseMemo hook is to help with optimizing React components with heavy computations.

If any part of a React component is updated, it causes the entire component tree to re-render as well. …


Generally, when a request for a feature comes in, you would want to start coding to build it. Later on, you would write your unit tests to make sure that your code was correct.

Test-driven development (TDD) believes that you should create your unit tests first and then write out the code that actually performs the work. It’s essentially about writing your unit tests first and then “filling in the blanks” by writing out the code to make things actually work.

At the core, that’s what TDD is all about. However, many programmers find it a waste of time to…


An important part of getting your first entry-level web developer job is your resume. But what exactly is a resume?

Your resume is essentially a track record of the value that you have provided others in the past. This can be anything from past jobs to volunteering experience or even freelancing. Even if you don’t have “professional experience” in the industry, such as past developer jobs or internships, you can still show how you’ve provided value.

Your resume gets the employer interested in how you can help solve the problems that the employer is having. …


Amazon Web Services (AWS) is a technology that allows developers and companies to use IT resources to build applications. This has allowed businesses to not worry about buying and setting up an IT infrastructure.

I like to imagine AWS as a developer’s “Lego kit”. You get many prebuilt “blocks” to play with and you can put them together however you’d like in order to build an application.

Businesses and organizations in the past (the 1990s and early 2000s) had to create their own IT infrastructure, essentially their own Lego kit. This was expensive as computing and infrastructure were not cheap.


When you type in a URL and hit Enter, your browser essentially sends an HTTP request to the server that is associated with the URL. The server then responds with an HTTP response and may send back something like an HTML file.

Once the connection is made and the transaction is done, the connection ceases to exist. No more communication can happen between your browser and the server.

What if we wanted to build a chat application where we know when others have sent a new message? With regular HTTP, you’d have to keep refreshing the page to see the…


You may have seen tutorials online where they tell you that you need to install something using NPM. Generally, you’re given the command to copy and paste, and without really thinking, you do so.

However, what’s really going on whenever you’re using NPM? When you copy and paste commands from a tutorial, do you truly understand what they mean?

What is NPM?

NPM stands for Node Package Manager and is one of the multiple package managers (others include Yarn, Bower, etc.) available for the Javascript programming language. Furthermore, it’s the default package manager for Node.js.

NPM has a command-line client, which is generally…


As a front-end developer, we have many choices at our disposal as to how we want to style our components. However, some choices, such as using CSS files or inline styling are becoming things of the past.

The future of styling components is trending towards CSS-in-JS. What is CSS-in-JS? In simple terms, it’s a way for you to write CSS code in a JavaScript file. Styled Components is the leading CSS-in-JS library on the Internet right now.

Furthermore, companies such as Airbnb, Lyft and Google make use of Styled Components. Why does this matter? It means that Styled Components has…

Sunny Singh

Full-Stack Web and Mobile App Developer

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store