# Journey to my Million Dreams Begin

I am a software Engineer. I have worked with companies like Digismart, ARI Networks, SVG Media, and I am sure, 99% of you might not have heard about these companies. Whenever I tell my friends and relatives about my company, I have to repeat it 2 or 3 times to make them understand the name of my company. Not just this, the next question which always comes up is, What does your company do?

Why am I telling you all this? I am just tired of explaining to everyone about the companies I have worked in. And just by telling…

# 29/180: Why Array index starts from zero?

A[i] in array is implemented as *(A+i) , For example if you have an array of integers and each integer takes 4 bytes.
Lets say starting memory address is 100 then memory locations for each element would be

100,104,108,112,116,……

But If Array index starts with 1 then A[i] will be implemented as *(A+i-1) which will be time consuming during compilation and the performance of the program will also be effected. So, it is better to start index of the array from 0.

Array index always starts with zero. Let assume base address is 2000. Now arr[i] = *(arr+i). Now if…

# 28/180: GeeksForGeeks: Find excel column names from given column number

You will be provide with a number and you need to find out the column name. For example

Input              Output
26 Z
51 AY
52 AZ
80 CB
676 YZ
702 ZZ
705 AAC

By excel column numbers to name signifies, for 1 — A, 2 — B, 3 — C, 4 — D and so on, for 26— Z for 27 — ZA

For the solution we need to take the remainder with 26. If remainder with 26 is 0 means 26, 52 and so on, then we add Z in the output string and new n becomes (n/26)…

# 27/180: GeeksForGeeks : Find the point where maximum intervals overlap.

In this problems we need to find out that particular time when there were the maximum guests. Let’s say we have maintained a log for arrival and departure and from there we need to figure out the number of guest present at particular interval.

For example — Input -> arrival[] = {1, 2, 10, 5, 5}

departure[] = {4, 5, 12, 9, 12}

By this input we mean that if some guest arrived at 1 would exit at 4 and so on.

So what we can do to solve this problem is, we can sort both the arrays and we…

# What is Continuous Delivery?

Continuous delivery (CD) is an approach in which teams produce software in short cycles, ensuring that the software can be reliably released in small intervals of time safely and quickly in a sustainable way. It aims at building, testing, and releasing software with greater speed and frequency. The approach helps reduce the cost, time, and risk of delivering changes by allowing for more incremental updates to applications in production.

# Code Pipelines

Automated tasks to build and deploy software on demand. It turns code into versioned packages and deploy those packages to environments.

# Pipeline Design Patterns for Continuous Delivery

1. Pipelines as codes: Pipeline logic is codified, stored alongside application…

# 25/180: How to determine if a binary tree is Height Balanced

An empty tree is height balanced. A non empty binary tree T is balanced if

1. Left subtree of T is balanced
2. Right subtree of T is balanced
3. The difference between heights of left subtree and right subtree is not more than one. This above height balancing scheme is used in AVL trees.
4. Get height of right and left tree. return true if difference between height is not more than one.
class BinaryTree{
Node root;
boolean isBalanced(Node node){
int lh;
int rh;
if(node == null)
return true;
lh = heigh(node.left);
rh = height(node.right);
if(Math.abs(lh -rh)<= 1 && isBalanced(node.left) && isBalanced(node.right))
return true;
return false;
}
int height(Node node){
if(node == null)
return 0;
return 1+Math.max(height(node.left), height(node.right)); }}

Time complexity. O(n²) worst case, occurs in case of skewed trees.

# 24/180: Implement Queue using Stacks

So basically we have two methods by which we can implement queue using stacks.

1. By Making Enqueue operation costly
2. By Making Dequeue operation costly

Let’s see which one we should choose.

Method 1: By making enqueue operation costly. This method makes the oldest element always at the top of stack 1 so that dequeue operation just pops from stack1. To put the element at the top of stack1, stack2 enqueue(q, x)

1. While stack1 is not empty, push everything from stack1 to stack2.
2. Push x to stack1 (assuming size of stacks is unlimited)
3. Push everything back to stack 1.
4. Here time…

# 23/180: Case Study — Microservices Design

I have taken a course on udemy for microservices architecture and I am going to describe the case study given over there. We will go through the main steps of architecture process:

1. Functional Requirements
2. Non Functional Requirements
3. Mapping the components
4. Define communication pattern

We are going to discuss Library Management Case study today

# Library Management

1. Manages books inventory
2. Manages books borrowing
3. Manages Customer
5. Charge Annual Fee

Requirements can be divided into two parts

# Functional requirements:

What the system should do?

1. Web based
2. Manage books inventory
3. Manages customers
4. Manages book borrowing
6. Charge Annual Fee

# Non Functional Requirements:

What the system should deal with?

1. How…

# 22/180: Create Hello World API using NodeJS

My assumptions are you have basic knowledge of JavaScript.

# Getting Started

To get started create a new folder and call it hello_world.

\$ mkdir myapp
\$ cd myapp
//if windows users they can directly create the folder, and after getting inside the folder they can open the command prompt from there, which will get them into the same folder.

In your myapp folder create a new file called app.js

\$ touch app.js
//if windows users they can directly create a file by write clicking

The next thing for us to do is to install Node. you can install node here. …

# 21/180: Designing a Microservice Architecture

In my previous blog I have discussed the problems caused by Monolith and SOA. Microservices solve these problems.

19/180: Microservice & Architecture | by Navneet Ojha | Apr, 2021 | Medium

# Single Technology Platform

With monolith all the components must be developed using the same development platform. And that same development platform is not always best for the task. There is no way to use specific technology for specific feature. Feature upgrade is also a problem need to upgrade the whole app. With microservices the decentralized governance attribute solves it.

# Inflexible Deployment

With monolith, new deployment is always for the whole app. There is no…

## Navneet Ojha

I am Indian by birth, Punjabi by destiny. Humanity is my religion. Love to eat, travel, read books and my million dreams keep me alive.

Get the Medium app