@GolangTrends
All #GoLang Hottest Trends
@richeee
@bavedikian
@dame__4
@KamoraRich33192
@GersMr
@KEDAROGO
@Jmarkha91
@CDDonBenito_
@CBassiB
@K95Akmal
@HopeforVirginia
@TrnNamnh8
@abdulalmosa615
@Stryker618
@nXv7YFj2pwy9iPz
@Corson_4
@EasternMarine
@DefneUcer
@Siu_saito
@C4mpxs
When it comes to concurrency, many programming languages adopt the Shared Memory/State Model. However, Go distinguishes itself by implementing Communicating Sequential Processes (CSP). In CSP, a pr...
In this article, I will create an API with CRUD (Create, Read, Update, Delete) functionality using Clean Architecture. I will use MySQL as our database, Echo as our framework, and GORM as our ORM. ...
In Part 1 of this series, we explored the Hexagonal architecture, delving into its key concepts and the numerous advantages it offers, such as creating isolated components, enhancing project flexib...
This blog covers how I unlocked performance that allowed me to scale my backend from 50K requests → 1M requests (~16K reqs/min) on minimal resources (2 GB RAM 1v CPU and minimal network bandwidth 5...
Meet Jane Sutton. Jane has been working at HSS international accountancy as a software developer for only 3 months. In her latest project she got involved with an issue that has been occurring in t...
My name is Avksentiy, and I work as a backend developer at inDrive. When I started coding in Go, I used to spend a lot of time looking for project structuring standards. Long story short, I ended u...
High-performance real-time trading engine with Golang, Kafka, and Websockets… This article serves as a comprehensive guide to building a real-time trading platform using Golang, Kafka, and Websocke...
In this tutorial, we will take an example of a Go application and setup a CI/CD pipeline. Go is becoming increasingly popular amongst developers for its ability to simplify and secure the building ...
In this article, I aim to provide an in-depth exploration of Golang, focusing on project structure, software principles, and concurrency. I've been working on a side project involving real-time not...
Hello everyone i recenlty written a TODO System with Hexagonal Architecture written in Go, with test and uses cases examples, docker ready, heroku ready, basic CI integration and you can use it how...
Concurrency is a powerful feature in Go that allows you to build efficient and high-performance applications. Whether you’re new to Go or looking to deepen your understanding of concurrency, this a...
This application provides real-time package location information using vehicle information because vehicles carry packages. So that it answers the questions like where is my package now, where is i...
TL;DR: This is a story about the journey we’ve been on at HUMAN Security to find the best project structure for Go, what decisions we’ve made based on our exploration, and the conclusions we’ve dra...
Neal Ford & Mark Richards, in their book Fundamentals of Software Architecture: An Engineering Approach, came up with four dimensions that make up software architecture. They are often refered as t...
Nowadays, we have reached an era where the most popular startups reach millions of users within less than a year. During my experience as a software developer, where I had the privilege to work on ...
Step-by-step guide on configuring a Kafka consumer in Golang for real-time data processing. In this ongoing series, we’ve delved into the introductory aspects of our tech stack and explored the hig...
When building APIs using gRPC, the API design is commonly built using protocol buffers to define API endpoints, request messages, and response messages. This is typically accomplished using proto f...
§ Better understanding of gRPC microservices with production-grade use-cases Read it if you have a basic knowledge of Go and want to build production-grade microservices with the gRPC framework.
According to the StackOverflow Developer Survey and the TIOBE index, Go (or Golang) has gained more traction in recent years, especially among backend developers and DevOps teams working on infrast...
When I need to develop a REST API, I often use open-source libraries like gorilla/mux. However, when working with non-official libraries, there’s always the risk that they might not be maintained a...
A simple RESTful Point of Sale (POS) web service written in Go programming language. This project is a part of my learning process in understanding Hexagonal Architecture in Go. It uses Gin as the ...
A few months ago, I decided to learn a new programming language. I’m already familiar with C#, JavaScript (Browser and Node.JS), and SQL. After a few hours of googling, I decided to learn Go. In th...
Before saying any words on such topic I must highlight some points: (1) The intent of such writing is providing a concrete, easy to understand and practical example of Hexagonal Architecture, due t...
In the first blog on designing resilient microservices — Part 1, we introduced the concept of adaptive resilience. Customer facing properties (e.g. home page) and actions (e.g. add item to Cart) en...
I bet there have been many times that you were working on the terminal with multiple tabs and you launched an HTTP server, and then you forgot that the server was already being executed, and then y...
Nowadays, every application tries to personalize its feed based on your interests. You may have seen whenever you search for something on youtube, after a few minutes, your timeline is filled with ...
As part of a technology-driven organization, it is certain that the expectations grow exponentially higher every time for long-term sustenance. So, there is always a demand for solutions that offer...
Posted on May 31 • Originally published at karanpratapsingh.com In this tutorial, we will discuss some advanced concurrency patterns in Go. Often times these patterns are us...
In this video André shows you how to refactor a REST-based Go backend application into an event-driven architecture using Pub/Sub. He uses Encore for developing and deploying the Go application, in...
This article will show you how to build a basic gRPC Unary server-client. Before starting with the implementation let us briefly describe what gRPC unary is. In the difference between the other gRP...
In this short guide we'll build and deploy the foundation for an appointment booking app (similar to Calendly) in Go using Encore. We'll use an example project to get started, and in just a few min...
Configuring Kafka in a Golang environment and creating a build file for the producer. This marks Part 2 of our real-time trade app series in Golang. In this installment, we’ll dive into coding for ...
Well, concurrency is the ability of a computer program to do multiple activities at the same time. Many of the common programming languages provide concurrency with the help of threads. Go language...
Let’s examine together how we use sidecar to solve cross-cutting concerns such as authorization, caching, configuration secret management, and observability. Some of the requirements outside of the...
Pub/Sub is a powerful building block in a backend application. It's often used for building event-driven backend applications. For those not familiar with Pub/Sub, let's take a look at an example A...
Microservices have emerged as a powerful architectural paradigm for developing complex, scalable, and maintainable software systems. By breaking down applications into smaller, loosely coupled serv...
SSE stands for Server-Sent Events. It is a web technology that enables real-time communication between a web server and a client. SSE allows the server to send continuous streams of data to the cli...
In my previous blog, we implemented Hexagonal Architecture with Golang and employed the Gin library as our HTTP web server. Today, our exploration continues with gRPC — a high-performance RPC frame...
In this tutorial, we will learn how to create a simple trivia REST API from scratch, using Go and Docker. We will start with an empty folder and build on it as we go. We won’t need to have Go insta...
Caching is a crucial aspect of modern software development, helping to improve application performance and reduce latency. Although, I do believe that caching might not be appropriate for all appli...
Posted on Sep 27 • Originally published at blog.logrocket.com Knowing JavaScript is usually a bare minimum requirement for web developers today. However, one Go package — th...
For systems that contain lots of delayed in-process tasks. If we use lots of timers to handle the tasks, there will be lots of idle goroutines and lots of memory consumed. Lots of gourtines also co...
I understand that the title might be somewhat confusing as Go is generally known for having good built-in support for concurrency. However, I don’t necessarily think it’s easy to write concurrent s...
Have you ever wondered how developers handle changes in the database schema of a project? What do they do when a new table/column/index is added, or when a table, column, or index is dropped. How d...
When communication is needed between a client and a server running on different computers, a middleware is implemented. In this article, the reader will be introduced to Middlewares, their use case...
Hello, I will talk about how to monitor and log the Go service. We will be using New Relic, Sentry, Prometheus and Grafana. New Relic is an observability platform that helps you build better softwa...
In this article, I want to talk about circuit breaker pattern based on a popular open source project hystrix (in fact, I will take a look at the golang version hystrix-go, instead of the original v...
By now, unless you have been living under a rock, you have probably heard about Golang. Golang or Go is a programming language that was developed by Google in the late 2000s. One of its most intere...
Go, also known as Golang, is a powerful programming language developed by Google that is known for its simplicity and efficiency. In this tutorial, we will be building a simple API with a GET reque...
As software engineers, often encountered situations where applications need to work with multiple databases, each with its unique requirements and configurations. Efficiently handling these various...
A struct is a typed collection of fields, useful for grouping data into records. This allows all the data relating to one entity to be neatly encapsulated in one lightweight type definition, behavi...
💡This guide shows you how to build and deploy and Go backend for a URL Shortener. It consists of one service, a REST API, and a PostgreSQL database. We'll be using Encore to get our application ru...
Posted on May 25 • Originally published at karanpratapsingh.com In concurrent programs, it's often necessary to preempt operations because of timeouts, cancellation, or fail...
In this tutorial, we will walk through the process of building a web scraper using the Colly library in the Go programming language. This scraper will extract recipe data from a specific website. W...
Generics have long been a highly anticipated feature in the Go programming language. With the release of Go 1.21. This comprehensive guide aims to provide a detailed exploration of generics in Go 1...
Well, since I started this series, I’ve had many questions about why I chose Golang. In this part, I’ll be talking about some of Golang’s main features and how we can use them to squeeze the perfor...
Object Oriented Programming is a paradigm in programming based on the concept of
The world of Kubernetes (K8s) is a playground for those who love to explore the depths of cloud-native technologies. It offers endless possibilities for customization and optimization, a feature th...
Posted on May 23 • Originally published at fullstackwriter.dev Microservices architecture is one of the preferred methods of building scalable and robust applications. It in...
After reading an article of Daniel Beach (https://dataengineeringcentral.substack.com/p/microservices-for-data-engineering) about the opportunities of using microservices in the context of data eng...
In previous articles we created an HTTP REST API server and also a CLI. Creating a CLI that directly calls our API is cool but a good practice is to have an abstraction (a SDK, a client library) be...
In this series of articles, I will break down my ultimate template for developing production-grade APIs, from project structure to full functionality, explaining the why and the how of every step. ...
I have been a Node.js developer for 5 years now, but during my developer career I have been always keen to learn new things and new technologies. I will not explain here why learning go in 2022 bec...
Event-driven architecture (EDA) is a software design pattern that emphasizes the production, detection, and consumption of events to enable loose coupling, scalability, independence and resilience ...
Posted on Apr 6 • Originally published at dpnkr.in A lesser-known fact about me is that I am a State level Table tennis player, which I played for a good 5 years. Another fu...
If you're new to GO and a Beginner in programming then there's not really books or learning resources for you. Most GO related books expect you to have some programming experience and involve compl...
Have you ever entered to an e-commerce and buy a product?, If you have, then you may have been show different ways to pay (PayPal, Credit Card, etc.) This purchase process is a way to see the Strat...
While working on an asynchronous system, we encounter situations where we must aggregate one or more routes to trigger a new event. Imagine building a warehouse application, approval of warehouse f...
In this blog, we are going to discuss the implementation of clean architecture in the backend project written in the Go language. Before creating this project, I have gone through more than 20 proj...
Hey there 👋, In this tutorial, we are going to learn about implementing JWT Authentication in Golang REST-APIs using Fiber Web Framework, PostgreSQL DB and GORM. JSON Web Token (JWT) is a JSON-bas...
Each time I start a new Go project, I repeat many steps. Like set up .gitignore, CI configs, Dockerfile, ... I use multi-stage build to keep my image size small. First stage is Go official image, s...
gRPC is a modern open-source high-performance Remote Procedure Call (RPC) framework initially developed at Google in 2015. gRPC uses HTTP 2.0 as its underlying transport protocol. Protocol Buffer a...
Posted on Aug 14 • Originally published at Medium Error handling and the way it is done is a crucial part of software engineering. Poorly returned errors and non-informative...
Finally, my Backend Master Class course is completed and published on Udemy. You can use this link to get it for free and earn a certificate (5 days only, expires Feb 4th): https://bit.ly/backendcl...
Posted on Feb 27 • Originally published at permify.co In today's complex microservices architecture, ensuring robust authentication and authorization is a critical challenge.
Rate limiting is a crucial technique in building scalable and resilient systems. It helps to control the flow of traffic by imposing restrictions on the number of requests allowed within a specifie...
Go is one of the best choices for cloud applications. It’s fast, frugal, secure, and provides built-in concurrency. A single server instance can handle hundreds, or thousands, of concurrent users, ...
In this tutorial, we will explore Two-Factor Authentication (2FA) using TOTP by implementing it in a Golang app. Authentication is crucial for ensuring security and passwords alone are no longer su...
Posted on Feb 24 • Originally published at sahansera.dev on Feb 24 In this article, we will create a simple web service with gRPC in Go. We won’t use any third-party tools a...
In software engineering, certain concepts like webhooks require careful architectural decisions before implementation. Webhooks, whether you want them or not, add another layer of complexity to you...
“Concurrency is not parallelism, but it enables parallelism.” — Rob Pike In this article, we’ll dive deep into some advanced concurrency patterns in Go. Go is known for its built-in concurrency pri...
Singleton is a component which is instantiated only once in the application life-cycle. In this blog for Singleton Design Pattern we’ll look into when and how to implement Singleton using Go. We wi...
Posted on May 4 • Originally published at karanpratapsingh.com Hey, welcome to the course, and thanks for learning Go. I hope this course provides a great learning experience.
Project code organisation is an ever evolving problem. As all wise developers put it, “it always depends on the requirement”. But following a standard structure will help in keeping the code base c...
A year ago I started working in a team developing and maintaining a core service for the shipping area of Mercado Libre, which is built with Go. My first experience (prior to getting this opportuni...
We need to implement a scheduler that can efficiently take jobs with a delay time associated with them and execute these jobs after the said amount of delay in seconds. Let’s start with defining th...
Let me start by asking a question, what is the best way to write software? You will definitely say this is a vague question. It will depend on what you are building, how much you can look into the ...
All the code is available in the GitHub repository (link in the video description): https://youtube.com/live/aLVJY-1dKz8 Here is a schema of the architecture of the application we are going to create.
gRPC is open source and high performance RPC framework which developed by Google. Firstly it developed private and in 2016 published under Apache License 2.0 . At Google all services communicate ov...
If you’ve just started working with Go, chances are that you’ve heard of Docker. After all, Go is the unofficial language of the cloud, and Docker — which is also written in Go — is one of the pill...
Microservices are a common trend in our software industry right now. Whenever the topic of “scalability” arises, microservices come to mind first. We, as developers, prefer to build software in a m...
Modern websites might have to deal with hundreds or thousands of user requests per second. It is important to make sure the underlying infrastructure can handle all this traffic. As volume increase...
Using Publishers & Subscribers (Pub/Sub) is a powerful building block in a backend application. Using Pub/Sub lets you build systems that communicate by broadcasting events asynchronously, using an...
The strategy pattern (also known as the policy pattern) is a behavioral software design pattern that enables selecting an algorithm at runtime. Instead of implementing a single algorithm directly, ...
FlashDB is a simple, in-memory, key/value store in pure Go It persists to disk, is ACID compliant, and uses locking for multiple readers and a single writer. It supports redis like operations for d...
Posted on Jul 1 • Originally published at permify.co Authentication is crucial for ensuring security and passwords alone are no longer sufficient to protect against unauthor...
It has been written a lot about the clean architecture. Its main value is the ability to maintain free from side effects domain layer that allows us to test core business logic without leveraging h...
Go is perfect for Clean Architecture. I’ve learned it through trial and error, especially with my first service, which I rewrote three times, trying to understand the idiomatic way for Clean Archit...
Go is a multiparadigm, statically typed, and compiled programming language designed by Google. Many developers have embraced Go because of its garbage collection, memory safety, and structural typi...