I've recently been playing with Gunicorn to serve an ML model (I know, I'll shift to Nx soon!) and wanted to understand what exactly it does for us and how it works under the hood. Here are my notes on its pre-fork worker model and why Nginx is needed in front of it.
A tutorial to use signed URLs to keep your CloudFront content private by default and control access to it more granularly. This simple, yet effective technique can help ensure the security and privacy of your content
A broad overview of how video works, and what goes behind it. This post covers what are codecs, containers, and different terminologies that you will often hear in video processing related conversations.
We write JS code, and then send it to the client's browser, where it is executed. To write better code, it's good to have an understanding of how the code we write is going to be executed. This post explores how Chrome's JS engine (V8) runs JS code efficiently.
As users, we know how valuable performance of a website is. But as developers, how do we approach performance of our webapp? In this post, let's explore the metrics used to quantify web performance, and how we can optimize those metrics and have a positive impact on the user experience.
When you have to to present large number of data records in your webapp, you have two options - pagination or infinite scroll. In this post, let's see how to implement both these ways by building a sample app.
If user uploaded images play a part in your application, you will sooner or later face the problem of users uploading enormously sized images. To solve this, this post will walk you through a Lambda & S3 based solution which is fast yet very cost efficient.
When you use ECS to deploy your applications, it becomes tedious to build & upload container image to ECR every time you want to make a change. In this post, let's build a CI/CD pipeline for containerized applications using AWS CodeBuild.
Some of the concepts in git are such that, however much you read about it, you won't fully grasp their mental models unless you actually are in a situation where you have to use them. This post is an attempt to explain rebase and merge workflows in git.
This post explores what NextJS is, how it differs from the likes of Gatsby and CRA, and how you can perform basic tasks like Navigation, Routing, Data Fetching in NextJS. We'll also take a look at the flexibility that Next provides while choosing to prerender or server side render pages.
AWS Rekognition is a powerful service which provides real time image & video analysis using deep learning. This post explains how to use the service by creating a simple web app using ReactJS and using Rekognition with AWS Lambda & API Gateway.
I wanted to learn more about AWS Services like Elastic Beanstalk, RDS, and EC2. So, I tried them out and deployed a simple REST API developed using Spring Boot that uses MySQL as a database. This post covers what these AWS services can do for you, and how you can start using them right away.
As a developer, it is important to sometimes step out of the comfort zone and try out new tools and frameworks, as frameworks are mere means to an end that solve some problems for us. I tried out a Spring Boot, a Web Framework in Java. This post will help you understand & get started with Spring Boot as a beginner.
Ever wondered what makes React so fast? When it was introduced, the killer feature of React was it's concept of "Virtual DOM", however it brought on it's own set of challenges, including how to efficiently update the DOM to be same as React's virtual DOM. Read on to find out how React solves this problem!
One of the most frequently used git commands is git diff. How does it work internally? The brute-force way to compare all possible subsequences of strings has exponential time complexity. There has to be something more efficient, right?
Recently, I have been working on a ReactJS project which uses AWS services heavily, so, I chose S3 and CloudFront for hosting. However, manually building and deploying the React WebApp every time was a headache. Read on to find out how I automated the build and deploy process,
Creating your own personal website/blog? Search Engine Optimisation is a factor which you cannot ignore. Find out 10 easy and practical things you can do to optimize your website to make sure it appears in relevant search results.
I recently redesigned this website using Gatsby. Gatsby is a static site generator based on ReactJS which you can use to make blazing fast websites like this one. Read on to find out more.
A discussion about the asynchronous parts of JavaScript. Is JavaScript really asynchronous? How can it be asynchronous if the browser engine has only one thread? Well, read on to find out!
Many times, you need the ability to allow users to upload files, mainly images, to your WebApp. Most efficient way to do that is to use Amazon S3. This post explores two popular ways to use S3 storage service in Flask.
Concurrency, Parallelism and Asynchrony are basic terms that are often confused with each other. This is a short post explaining the meaning behind the terms and how they differ from each other.
This post explores what web servers are and how you can develop one by yourself. The best way to learn about a software system is to develop it from scratch, which is exactly what we will be doing in this post. Dive in to know more about web servers and how you can create a basic one yourself!
What lies underneath all those nice abstractions and simplicities that a web framework like Flask provides? What actually happens under the hood? This post is an attempt to understand how a webserver works.
Want to show off your WebApp to the world? Deploy it on the internet! This post is a discussion on deploying a Flask WebApp on the internet using Heroku. Find out what Heroku is and how you can use it to deploy your Flask WebApp for free!
This post is a short discussion on a small project which involved building a basic Shopping Cart using ReactJS. We continue exploring ReactJS by discussing various interesting challenges faced while building a basic shopping cart and how React helps solve them efficiently.
In this post, we shall explore the ReactJS library. Starting with what ReactJS is and what is the purpose it serves, we shall also develop a basic component to display a tweet. We will then make the component reusable with the help of props, following the core philosophy of DRY (Don’t Repeat Yourself) with ReactJS.
This post explains how to build a Simple Weather WebApp following the MVC Software Development Pattern. The WebApp was made with Python Flask, and uses the DarkSky API. The app has been deployed on Heroku. The project source code can be found on GitHub.
In this post, we shall explore APIs and how to use them in Python. We will develop a simple command line based Weather app to show us the weather of a particular city. We will use the Requests library and OpenWeatherMap API.
Let's know more about Peewee, a simple, easy to understand Object Relational Mapper (ORM) in Python that will make your life easy by mapping your Database tables to Python objects.
Hello! Today we will explore a bit about web scraping - what it is, why is it useful, and how it's implemented. As an example, we shall harvest some data from a website called Consumer Reports.
Hello there! This is the fifth and the last post in the "CSS for Beginners" series. Today we are going to be making an Animated Pyramid design using CSS.
Hello there! This is the second post in the "CSS for Beginners" series. Click here to know more about it. Today we are going to make some fancy pricing tables of various designs using CSS.
Hello there! This is the first post in the "CSS for Beginners" series. Click here to know more about it. Today, we will create various kinds of buttons using CSS.