Skip to main content

Posts

Featured post

Basic CLI Application Using Golang

Writing a Basic CLI Application Using Go Go is a great language for building command-line tools due to its simplicity and powerful standard library. In this article, we will go through how to create a simple CLI app in Go that accepts commands and flags from the user. Step 1: Install Go Before you start, ensure that Go is installed on your machine. You can download it from here . Once installed, verify by running: go version Step 2: Set Up Your Project Create a new folder for your project and navigate into it: mkdir cli-app cd cli-app Step 3: Write Your CLI App In your project folder, create a file called main.go . This is where we'll write our CLI code. package main import ( "flag" "fmt" "os" ) func main() { name := flag.String("name", "World", "a name to say hello to") flag.Parse() if len(os.Args) < 2 { fmt.Println("Usage:
Recent posts

Why Interfaces are Awesome in Go

Why Interfaces are Awesome in Go Language Go, or Golang, is known for being a simple, yet powerful programming language. One of the core concepts that makes Go stand out is interfaces . Interfaces in Go help you write flexible, reusable, and maintainable code. They allow different types to share common behaviors without worrying about the exact type behind the scenes. In this article, we'll dive into why interfaces are awesome, with easy-to-understand examples. We’ll also give some tips on how to make the best use of them in your Go programs. What is an Interface? An interface in Go defines a set of method signatures (rules), but it doesn't provide the implementation. Instead, any type that implements these methods can be said to "satisfy" the interface. This allows you to write code that can work with different types as long as they share certain behaviors. Basic Example of an Interface package main import "fmt" // Define an interface with

How to Start Learning Go Language: A Beginner's Guide

  How to Start Learning Go Language: A Beginner's Guide Introduction to Go Language Go, also called Golang, is a programming language developed by Google in 2009. It’s simple, fast, and great for building reliable software. If you’re interested in learning programming or want to try a new language, Go is a great choice. This article will help you understand how to start learning Go in a simple and easy way. Why Learn Go? Before we jump into how to learn Go, let’s look at why Go is popular: Simple syntax: Go is easier to learn compared to other programming languages like C++ or Java. Fast performance: Go runs quickly, making it great for web servers and large systems. Great for beginners: Go has built-in tools that make coding easier, especially for new programmers. Growing demand: More companies are using Go, so learning it can help in your career. Steps to Start Learning Go 1. Set Up Go on Yo

The new generation storage: SSD

This time we'll be learning about something which has already been in the market for a long time but still many of us doesn't understand its importance or how it is significantly better than its counterparts. That new thing is Solid State Drive (SSD). SSD is just another storage media like your pendrive and harddisk but it is way faster than either of them. In this post, we will learn what really makes an SSD faster than other storage media and how it can change our life forever. What really is an SSD ? What makes SSD better ? Role of SSD in laptops What really is an SSD ? SSD is a flash device just like pendrives, micro sd cards and embedded storage of our mobile phones. A flash device is basically made of transistors and semiconductors as compared to harddisk which has magnetic disk and moving parts. I may introduce some heavy terms here which may not make sense to you much but keep reading. So like i was saying, flash devices have

Hash Tables : Designing Hash Functions

In the last post , we saw how collision in handled in a hash table. Now its time to explore some real world scenarios because come on, what is the use of learning all this if we can't apply it in real world softwares. As we learned that open addressing and chaining were both good in different scenarios only if we met a condition that the keys are uniformaly distributed. But its not the application job to pass distributed keys to hash tables, its our job to map any key to some random location. We do this using a hash function (or prehash function, whatever term you prefer). A hash function should map the keys as uniform as possible. So lets discuss some decent hash functions to some high end hash functions. What Problems Does Hashing Solve ? Simple Implementation of Hash Table Collision Resolution Chaining Open Addressing Desining

Hash Tables : Handling Collision

We saw in the previous post how a simple hash table can be constructed without much effort. But, and that is a big But, that table was prone to collisions and could result in corrupted data. Of course we don't want a data structure which can corrupt our data even if it is faster. So to avoid data corruption we will study some collision resolution techniques and will see how to evenly distribute a key over the table to minimize collision. Lets continue the journey. What Problems Does Hashing Solve ? Simple Implementation of Hash Table Collision Resolution Chaining Open Addressing Designing Hash Functions How Python Dictionaries Work Hashing in Action Collision Resolution First of all, what is collision ? Collision is a phenomenon which happens when 2 or more distinct keys are mapped to the same hash table entry. But we don't wa

Hash Tables : Scratching the Surface

Have you ever worked with key-value data stores where you can attach one value to a key and store it in some form to perform easy lookups ? If yes, then i guess you have already seen hash tables in action. Hash Tables are so common these days that you don't even realise when you start using them but not a lot of people are familiar with the internals of hash tables and how these can be used in real world problems like cryptography. This a series of articles all about hashing. So sit tight and enjoy the journey. What Problems Does Hashing Solve ? Simple Implementation of Hash Table Collision Resolution Chaining Open Addressing Desining Hash Functions How Python Dictionaries Work Hashing in Action What Problems Does Hashing Solve ? Hash Tables are the most popular data structure in computer science. We forget