Aditya Chatterjee's Blog, page 152

September 29, 2021

Introduction to TCP (Transmission Control Protocol)

In this article we will talk about TCP or Transmission Control Protocol (TCP), which is one of the elementary topics in Computer Networking. We will discuss about the TCP model, it's uses, need and futher analyze it.

So what is TCP?

TCP is a standard that defines how to establish and maintain a network conversation through which application programs can exchange data. TCP works with the Internet Protocol (IP), which defines how computers send data to each other.

Clubbed together, TCP & IP are th...

 •  0 comments  •  flag
Share on Twitter
Published on September 29, 2021 23:31

Different Preprocessor Directives in C / C++

In this article, we have explained the Different Preprocessor Directives in C / C along with C code examples. Preprocessor Directives are processed at compile time and is an important programming technique in large codebase.

Table of contents:

Introduction to Preprocessor DirectivesFile Inclusion DirectiveMacro Substitution DirectiveConditional Compilation Directive

Let us get started with Preprocessor Directives.

Introduction to Preprocessor Directives

A Preprocessor in C is a program ...

 •  0 comments  •  flag
Share on Twitter
Published on September 29, 2021 23:21

September 28, 2021

Hypothesis Testing: Introduction and its Computation

Have you ever come upon situations, outcomes, or events that just seem odd? Or if you've heard of the terms null hypothesis, p-value, and alpha but don’t really know what they mean and how they’re related then you’ve come to the right place! And if you’ve never heard of these terms, I urge you to read through this post as this is an essential topic to understand.

In this post, we will be discussing if we know whether to perform some action or not in those particular situations or events. Will th...

 •  0 comments  •  flag
Share on Twitter
Published on September 28, 2021 21:28

Finding the twin primes up to N (Twin Prime Conjecture)

In this article, we will learn about prime numbers and the twin prime conjecture. We will also look at an efficient algorithm for finding the first twin prime pairs up to a number N.

Table of contents:

Introduction to Prime NumbersThe Twin Prime ConjectureFinding Twin Primes up to a number NSpace and Time Complexity

Let us get started with Finding the twin primes up to N (Twin Prime Conjecture).

Introduction to Prime Numbers

A prime number is a natural number that is only divisible by one a...

 •  0 comments  •  flag
Share on Twitter
Published on September 28, 2021 21:18

Implement Bubble sort in a list in Python

In this article, we have explained the basic of Bubble Sort along with a detailed explanation of Python implementation of Bubble Sort in a list.

Table of contents:

Introduction to Bubble SortPython implementation of Bubble Sort with explanationComplexity and RuntimesApplications of Bubble Sort

Let us get started implementing Bubble sort in a list in Python.

Introduction to Bubble Sort

The bubble sort algorithm sorts an unsorted list in the correct order. It involves looking at two adjacent ...

 •  0 comments  •  flag
Share on Twitter
Published on September 28, 2021 11:50

Types of classes in C++

We know that C++ is an object oriented programming language. An important aspect of Object-oriented programming is the usage of classes and objects. We have covered different types of classes in C++ such as Standalone classes, Abstract base class, Concrete Derived Class and much more.

Table of contents:

What are classes?Types of classesStand Alone ClassesConcrete Base Classes and Concrete Derived ClassesAbstract Base Classes and Abstract Derived ClassesAbstract base classAbstract derived ...
 •  0 comments  •  flag
Share on Twitter
Published on September 28, 2021 11:36

September 27, 2021

Message Queues in System Design

In this article, we have covered the concept of Message queues in System Design in depth along with its properties, architecture, benefits, examples, message brokers and real life applications of Message Queues.

Table of contents:

What are message queues?Properties of Message queuesMessage Queue ArchitectureHow the architecture works?Benefits of using message queuesExamples of Message QueuesMessage brokersReal-life application of Message Queues

Let us get started with Message Queues in ...

 •  0 comments  •  flag
Share on Twitter
Published on September 27, 2021 01:26

Count total set bits in all numbers from 1 to N

In this article, we have presented an efficient approach to find the total number of set bits in all numbers from 1 to N in O(logN) time by deriving a pattern and a formula.

Table of contents:

Problem StatementBrute Force ApproachEfficient Mathematical Approach

Let us get started with Count total set bits in all numbers from 1 to N.

Problem Statement

Given a positive integer N, our task is to count the total number of set bits in the binary representation of all the numbers from 1 to N.

Exam...

 •  0 comments  •  flag
Share on Twitter
Published on September 27, 2021 01:15

Integer Factorization Algorithms

In this article, we have explored in great detail some of the different factorization algorithms for Integers such as Trial Division, Pollard's rho algorithm, Dixon's algorithm and Quadratic Sieve.

Table of ContentsIntroductionCategory 1 algorithmsTrial divisionPollard's rho algorithmCategory 2 algorithmsDixon's algorithmQuadratic sieve

The Time Complexity of the different algorithms for Integer Factorization are:

AlgorithmTime ComplexityTrial divisionO(N)Pollard's rh...
 •  0 comments  •  flag
Share on Twitter
Published on September 27, 2021 00:33

Scaling large systems: GitLab Production Architecture

In this article, we have discussed GitLab's Production Architecture to understand how a large company like GitLab which supports millions of developers handle and scale their infrastructure.

The Production Architecture will be similar for GitHub.

Table of Contents

Prodcution ArchitectureCluster ConfigurationMonitoring and LoggingCluster UpgradesApplication UpgradesDatabase ArchitectureNetwork Architecture

Let us get started with Scaling large systems: GitLab Production Architecture.

P...
 •  0 comments  •  flag
Share on Twitter
Published on September 27, 2021 00:16