Golang Digest
2.54K subscribers
164 photos
1 video
190 links
Everything about Go: news, articles, tools, language changes, etc.

#go #golang #concurrency #postgres #database #db
Download Telegram
Using Signals With Go πŸ“†

Signals are asynchronous messages delivered to processes to inform them of events such as interrupts, crashes, or termination, or to initiate specific actions. Most programming languages provide mechanisms to catch and handle signals β€” for example, to enable a program to shut down gracefully β€” and Go supports this as well.

Link to the article

#go #go@digest_golang #article #article@digest_golang
Please open Telegram to view this post
VIEW IN TELEGRAM
πŸ”₯5πŸ‘4❀2
Where and why should you use iterators in Go? ❀️

In this article, I decided to dive in and figure out where iterators could actually be useful in practice. I read a bunch of articles, checked out developers’ feedback, asked around on Reddit β€” and in the end, I put together a list of cases where iterators can genuinely come in handy. I’ve already used a few of them in my own projects, and I’ve got to admit β€” it turned out to be pretty convenient.

Link to the article

#go #go@digest_golang #article #article@digest_golang
Please open Telegram to view this post
VIEW IN TELEGRAM
1❀5πŸ‘2πŸ”₯1
Golang sync.Pool is not a silver bullet πŸ“†

When it comes to performance optimization in Go, sync.Pool often appears as a tempting solution. It promises to reduce memory allocations and garbage collection pressure by reusing objects. But is it always the right choice? Let's dive deep into this fascinating topic.

Link to the article

#go #go@digest_golang #article #article@digest_golang
Please open Telegram to view this post
VIEW IN TELEGRAM
πŸ”₯8πŸ‘2
Cheating the Reaper in Go πŸ“†

The article shows how to build a high-performance arena allocator in pure Go using unsafe, bypassing the garbage collector for manual memory control.

Link to the article

#go #go@digest_golang #article #article@digest_golang
Please open Telegram to view this post
VIEW IN TELEGRAM
1πŸ”₯6πŸ‘2
Optimizing Heap Allocations in Golang: A Case Study πŸ“†

The article explains how a small change in Go code caused unexpected heap allocations and performance drops, highlighting the importance of understanding escape analysis.

Link to the article

#go #go@digest_golang #article #article@digest_golang
Please open Telegram to view this post
VIEW IN TELEGRAM
❀3πŸ”₯3πŸ‘1
This 150-Line Go Script Is Actually a Full-On Load Balancer πŸ”¨

A Simple HTTP Load Balancer in Go Using Standard Library, In this implementation, we'll use a round-robin algorithm to evenly distribute incoming requests among a collection of backend servers.

Link to the article

#go #go@digest_golang #article #article@digest_golang
Please open Telegram to view this post
VIEW IN TELEGRAM
3πŸ”₯8❀3πŸ‘2
SIGHUP Signal for Configuration Reloads ❀️

SIGHUP is a signal caught between two worlds. It was born from the physical "hang up" of terminal lines, and its original meaning β€” the loss of a controlling terminal β€” still applies.

Link to the article

#go #go@digest_golang #article #article@digest_golang
Please open Telegram to view this post
VIEW IN TELEGRAM
2πŸ”₯4πŸ‘3
Graceful Shutdown in Go: Practical Patterns πŸ”¨

Graceful shutdowns can be the difference between a smooth user experience with reliable data and frustrated users (or yourself) dealing with data corruption. By following and adapting this five-step approach, you can shut down safely and avoid potential problems.

Link to the article

#go #go@digest_golang #article #article@digest_golang
Please open Telegram to view this post
VIEW IN TELEGRAM
πŸ”₯4πŸ‘3
Green Tea 🍡 Garbage Collector

The "Green tea" garbage collector attempts to operate on memory in contiguous blocks rather than the current tri-color parallel marking algorithm that operates on individual objects without much consideration for memory location.

Link to the proposal

#go #go@digest_golang #proposal #proposal@digest_golang
❀2πŸ‘2πŸ”₯2
Centralize HTTP Error Handling in Go πŸ”¨

In this short post, I'll share with you a simple pattern I use to centralize error handling for my HTTP handlers.


Link to the article

#go #go@digest_golang #article #article@digest_golang
Please open Telegram to view this post
VIEW IN TELEGRAM
2πŸ”₯3πŸ‘2❀1
How Go Scheduler Works πŸ“†

Understanding the Go scheduler is crucial for Go programmer to write efficient concurrent programs. It also helps us become better at troubleshooting performance issues or tuning the performance of our Go programs. In this post, we will explore how Go scheduler evolved over time, and how the Go code we write happens under the hood.

Link to the article

#go #go@digest_golang #article #article@digest_golang
Please open Telegram to view this post
VIEW IN TELEGRAM
2πŸ”₯3❀2πŸ‘1
Which Go router should I use? πŸ§™

For this blog post, I've evaluated 30 of the most popular third-party routers on GitHub (along with http.ServeMux), created a shortlist of the best options, and made a comparison table you can use to help make your choice.


Link to the article

#go #go@digest_golang #article #article@digest_golang
Please open Telegram to view this post
VIEW IN TELEGRAM
πŸ”₯4❀3πŸ‘1
Getting Started with the OpenAI Responses API Using Go: An Introductory Guide ❀️

The OpenAI Responses API simplifies building agentic AI systems, and Go (Golang) is a perfect fit for integrating it in production. This guide walks through real, working examples using the official OpenAI Go SDK, covering state management, tool calling, structured output, file search, and more.

Link to the article

#go #go@digest_golang #article #article@digest_golang
Please open Telegram to view this post
VIEW IN TELEGRAM
1πŸ‘6❀3πŸ”₯2
What's new in Go ❀️

There’s a lot to love about Go 1.24, including support for post-quantum cryptography, full support for generic type aliases, and several performance improvements to the Go runtime that significantly decrease CPU overhead for most applications. Learn what’s new, what’s ahead, and how you can use Go to build scalable, secure, and reliable applications β€” including for gen AI workloads.

https://www.youtube.com/watch?v=kj80m-umOxs

#go #go@digest_golang #video #video@digest_golang
Please open Telegram to view this post
VIEW IN TELEGRAM
1πŸ‘4❀2πŸ”₯1
Go Cryptography Security Audit πŸ”¨

Trail of Bits reviewed Go’s standard cryptographic libraries (ECDH, RSA, AES, HMAC, SHA, etc.). Only one minor vulnerability and a few informational notes (e.g., potential timing side channels) were found. All issues have been addressed in Go 1.24 and 1.25. The audit confirmed the high security and code quality of Go’s crypto stack.

Link to the article

#go #go@digest_golang #article #article@digest_golang
Please open Telegram to view this post
VIEW IN TELEGRAM
2πŸ”₯3πŸ‘2❀1
Building scalable multi-tenant applications in Go πŸ”¨

In this post, we will explore different strategies for building scalable multi-tenant applications in Go based on our experience building the backend for Atlas Cloud.

Link to the article

#go #go@digest_golang #article #article@digest_golang
Please open Telegram to view this post
VIEW IN TELEGRAM
πŸ”₯4πŸ‘2❀1
You probably don't need a DI framework πŸ“†

When working with Go in an industrial context, I feel like dependency injection (DI) often gets a bad rep because of DI frameworks. But DI as a technique is quite useful. It just tends to get explained with too many OO jargons and triggers PTSD among those who came to Go to escape GoF theology.

Link to the article

#go #go@digest_golang #article #article@digest_golang
Please open Telegram to view this post
VIEW IN TELEGRAM
2πŸ‘4πŸ”₯2❀1
[ On | No ] syntactic support for error handling πŸ”¨

One of the oldest and most persistent complaints about Go concerns the verbosity of error handling.
The Go team takes community feedback seriously, and so for many years now we have tried to come up with a solution for this problem, together with input from the Go community. If you’re wondering if your particular error handling idea was previously considered, read this document!

Link to the article

#go #go@digest_golang #article #article@digest_golang
Please open Telegram to view this post
VIEW IN TELEGRAM
2πŸ”₯5❀2πŸ‘2πŸ€”1
Gist of Go: Race conditions πŸ“†

Preventing data races with mutexes may sound easy, but dealing with race conditions is a whole other matter. Let's learn how to handle these beasts!

Link to the article

#go #go@digest_golang #article #article@digest_golang
Please open Telegram to view this post
VIEW IN TELEGRAM
2❀3πŸ”₯3πŸ‘2
The Small Change That Made a Big Impact πŸ“†

In this article, I share an experience that taught me that often the smallest details are enough to solve that big problem in a production system, or to improve the performance of a process that for some unknown reason is taking much longer than expected.

Link to the article

#article #article@digest_golang #go #go@digest_golang
Please open Telegram to view this post
VIEW IN TELEGRAM
1πŸ‘4😁2❀1πŸ”₯1