Improving Code Quality with Testify in Go: A Deep Dive into Testing
· β˜• 13 min read
Testify is a popular testing toolkit for the Go programming language. It provides a wide range of assertion functions, test suite support, and mocking capabilities, making it a powerful tool for testing Go applications. Testify aims to simplify the process of writing tests and improve the quality of test coverage in Go applications.

Best Logging Library for Golang
· β˜• 3 min read
I recently conducted a poll in Go community regarding which logging library they use in their personal or professional project. The results were interesting. In this post I have jotted down the most favorite logging libraries and here is my opinion about them.

Release Dangling Elastic IPs using Lambda and Go SDK
· β˜• 12 min read
There is 1 good thing about EIP and 1 bad thing. The good thing is EIP is free to use. You don't need to pay anything for the static IP you are using. How cool! The bad thing is, when EIP is not attached to an instance, it cost you money. In today's post we are going to do a hands-on on how to kill a dangling EIP or in other words, deallocate an unassigned Elastic IP.

How to Integrate Swagger UI in Go Backend - Gin Edition
· β˜• 11 min read
Unlike FastAPI, Gin does not have OpenAPI integration built in. With FastAPI when you add a route, documentation is already generated. With Gin, this is not the case. But recently I integrated Swagger UI in one of my Go backends and I wanted to document that process.

Building a Book Store API in Golang With Gin
· β˜• 9 min read
Go community believes that we need no framework to develop web services. And I totally agree with that. When you work without using any framework, you actually learn the ins and outs of development. But once you learn how things work, you must reside in a community and don't reinvent the wheel.

Benchmarking in Go, with Example
· β˜• 3 min read
If you think it’s slow, first prove it with a benchmark. Don't assume if things are slow. Benchmark it and see if they are really slow. Benchmarking is the way we check how fast our algorithm is for a given unit of the program. In benchmarking, we typically see how many iterations can a piece of code can run in a given time.

Optional Parameters Using Option Struct
· β˜• 5 min read
There is another option to use optional parameter which we saw in last post. We use something called option struct. Much similar to what we do in JavaScript. Without further ado, let's get started.

Optional Parameters using Functional Options
· β˜• 5 min read
In Python we can set some parameters to default by doing option=True. But in Go we don't have that. In Go we do things differently. In Go we compose one function out of multiple helper functions. In this post we are going to explore the world of variadic function.

Sending POST Request in Go with a Body
· β˜• 3 min read
Sending a POST request in Go is not an easy cake. One need to structure every piece of data being send. Today I'm gonna show how you can make a little easier.

Introduction to WebAssembly with Go
· β˜• 6 min read
In simple words, WASM let's us use code in browser, which is written in other language. The twist here is, that language does not have to be JavaScript or Node. It could be languages such as Python or Go. Today we see how we write code in Go to run that in browser environment.

Introduction to BoltDB
· β˜• 5 min read
Some of the features of BoltDB is... It's ability to do concurrent reads. It's nature of being Go native, which means it can compile where Go can compile. Read more about it in the post.

Unit Testing, Test Coverage and CI with Travis in Go
· β˜• 7 min read
In this post, I talk about why TDD is important. Why it is essential part of build process. I also talk a little bit about test coverage and having more coverage is always better. I also provision a Travis CI pipeline to test same application in different environments.