Go Concurrency, Practical Example

Concurrency is one of Go’s standout features, offering an elegant way to write efficient, parallel programs. Unlike traditional multi-threaded programming, Go makes concurrency approachable with lightweight and easy-to-use goroutines and channels. A goroutine is a lightweight thread of execution in Go. When you call a function with the go keyword,…

Using GORM – Part 3: Models and Idempotency

Previous posts in the series: Part 1: Introduction Part 2: Transactions and Save Points So far, GORM has helped us abstract our data-access logic and removed the need to write SQL queries directly, but is everything perfect? In this post, I will cover some of the pitfalls I’ve noticed and…

Using GORM – Part 2: Transactions and Save Points

Previous posts in the series: Part 1: Introduction Now that we know the basics of working with GORM, let’s cover a few more advanced topics. Transactions Transactions are an essential concept in relational databases that allow developers to ensure data consistency and integrity. A transaction is a sequence of operations…

Using GORM – Part 1: Introduction

In today’s software development landscape, Object-Relational Mapping (ORM) has become an essential technique for managing relational databases. ORM allows developers to work with databases using an object-oriented approach without having to write SQL queries. ORM tools provide a set of methods that abstract away the complexity of dealing with databases…