Introduction to Object Oriented Programming (OOP) in Golang

When we talk about programming, we usually mean writing a bunch of functions that modify and interact with some data. Object Oriented Programming (OOP) is a programming model that instead focuses on “objects” that contain data and and have some relevant functions attached to them. Object Oriented Programming has four pillars: Inheritance, Encapsulation, Polymorphism, and Abstraction. In this blog, we’ll take a look at how you can implement each of them in Golang with examples. Some basic idea about OOP is recommended, but if not, I will be giving a brief introduction to what all the four pillars mean. ...

December 16, 2024 · 9 min · Arsh Sharma

What Is Network Address Translation (NAT)

If you’ve been following my blog, you know I recently wrote a three-part series on the OSI Model. Continuing that trend of networking blogs, in this one, I’ll be covering a very important topic in the world of networking, and that’s NAT (Network Address Translation). I promise this is easier to understand than the OSI Model haha :P The Problem That NAT Solves: Shortages of IPv4 Address Before we learn about what NAT is and does, it’s important to discuss why we even need it in the first place. IPv4 addresses can be either publicly routable or in the private address space for IPv4. Publicly routable addresses are assigned by The Internet Assigned Numbers Authority (IANA) to ISPs, which then further allocate them to end users like AWS or even you or me. These publicly routable addresses need to be unique for the internet to function correctly. ...

December 5, 2024 · 6 min · Arsh Sharma

Understanding the OSI Model: Layer 4 to Layer 7

Welcome to the final blog in the series on the OSI Model. In the last blog, we discussed Layer 3 and how IP packets move from source to destination. In this one, we’ll cover the shortcomings of Layer 3 and then discuss all the Layers from 4 to 7! Problems with Layer 3 While Layer 3 allows devices to communicate across different networks, there are still some problems that can occur with it. ...

November 28, 2024 · 9 min · Arsh Sharma

Understanding the OSI Model: Layer 3

In the last blog, we looked at Layer 1 and Layer 2 of the OSI Model. While Layer 2 (Data Link Layer) adds a lot of improvements over Layer 1, like the ability to identify individual devices in the local network with the help of MAC addresses, it still only works best over local area networks (LAN). In this blog, let’s see some shortcomings of Layer 2 and how Layer 3 of the OSI Model improves upon them. ...

November 25, 2024 · 8 min · Arsh Sharma

Understanding the OSI Model: Layer 1 and Layer 2

The OSI (Open Systems Interconnection) Model is a framework that helps understand how communication between computers takes place in a network. It consists of 7 layers, and each layer builds on top of the ones below it and adds additional functionality. In this blog, we’ll understand the different layers part of this model, starting from Layer 1 at the bottom. All layers rely on the layers below them to continue functioning. ...

November 11, 2024 · 6 min · Arsh Sharma