If an end user perceives bad performance from your website, their next click will be on your-competition.com

Whenever we develop a web application there are basically two performance targets.

  1. Task-completion (user-experience)
  2. Throughput (scale)

What we mean here by task completion is that the task is being done in a timely manner and throughput means requests per second.

While designing and actually coding we have to consider these two targets so that our system has the highest performance and lowest latency.

Let’s have a look into how we can optimize our Node.js application.

Speeding up database queries

let’s see what we can do about speeding up our database queries

Indexing

Indexes are special data structures that store a small portion of the collection’s…


Modern apps need to reply in less than 200ms end to end at any scale -> less than 100ms should be spent inside the data center

So now you get the point of this whole article. Yes right we would be talking about blazing fast REmote DIctionary Server

So what is Redis?

Redis is an open-source in-memory data structure store which can be used as a database, cache, and message broker.

Redis supports multiple data structures and can perform around 110,000 sets per second and about 81000 gets per second.

Redis can be considered as a mix of MongoDB and…


Redux is an open-source JavaScript library for managing application state. It is most commonly used with libraries such as React or Angular for building user interfaces.

For those who have no idea what is an application state and component can first go through this article which will give you a basic understanding.

Let's talk about redux then

Redux works around three fundamental principles :

  1. The global state of your application is stored in an object tree within a single store.
  2. The only way to change the state is to emit an action, an object describing what happened.
  3. To specify how…


Authentication is one of the most important aspects of application development. It is important for an application developer to know who is the actual user of his application and how he can manage access to his application.

Why would one want to verify an identity in the first place?

  • To control access to a system or application
  • To bind some sensitive data to an individual, such as for encryption
  • To establish trust between multiple parties to form some interaction with them
  • To assure that a piece of information is genuine

We would be focusing on Facebook and Google authentication in…


“JavaScript and Java are completely different languages, both in concept and design.”

JavaScript is a high-level, often just-in-time compiled and multi-paradigm programming language.

just-in-time — code gets compiled when it is needed, not before runtime.

multi-paradigm — javaScript supports both object-oriented programming with prototypal inheritance as well as functional programming.

JavaScript was created by Netscape’s Brendan Eich in 1995. …


What is a component Lifecycle?

When a react app is built it is built using smaller components. These components are created (mounted on the DOM), grow by updating, and then die (unmounted on DOM). This is what we know as a component lifecycle.

For learning basic of React you can refer my post:

Every component in React goes through a lifecycle of events. Let us think of it as the cycle of human life.

  • Mounting — A component is born
  • Update — It grows
  • Unmount — Our poor component dies.
React Life-cycle

Let’s see different methods present in different stages of the lifecycle. …


Let’s first understand what is messaging and why we need it?

When we design an application we break down the large application into separate components. Messaging is the way components of a large application connect to each other, or to user devices and data. Messaging is asynchronous, decoupling applications by separating sending and receiving data.

What is a message queue?

Message queues are typically brokers that facilitate message passing by providing a protocol or interface which other services can access. This interface connects producers which create messages and the consumers which then process them.

Message queue gives a greater insight…


This guide will help you through the basic concepts of front-end development using react Js.

The first question and the most important question is why ? Reactjs

Because it is efficient, declarative and flexible.

  1. React allow you to write modular and clean code, breaking the project into separate components.
  2. Due to modular structure react code is easy to maintain and scale which saves developers time in the long run.
  3. Virtual dom and server-side rendering allow react developers to build large scale applications.
  4. It is open source, so it has a rich ecosystem with lots of packages to use.
  5. As a developer it gets easy to learn react-native which is mobile development framework, based on React

Akash Singh

Software 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