Go Library
4.11K subscribers
20 photos
63 files
798 links
Go (Golang) Library

Реклама: @ostinostin
Контент: @mxssl
Download Telegram
Making Beautiful API Keys

tl;dr - Since developers are our customers, we wanted them to have beautiful API keys. We couldn't find a suitable standard solution so we made our own package - uuidkey - that you can use to encode & format UUIDs into human-readable keys. If you use UUIDv7, you can also decode the keys to store them as sortable, indexable IDs in your database.


https://docs.agentstation.ai/blog/beautiful-api-keys
We Removed 335 LOC with one Go package

At Prayershub, we were facing significant challenges with FFmpeg. The process of optimizing it for efficiency, along with managing complex audio pipelines for various audio processing tasks, was becoming increasingly tedious and hard to maintain.


https://www.poxate.com/blog/removed-335-lines
How rqlite is tested

rqlite is a lightweight, open-source, distributed relational database written in Go, and built on SQLite and Raft. With its origins dating back to 2014, its design has always prioritized reliability, and quality. The robustness of rqlite is also a testament to its disciplined testing strategy: after more than 10 years of development and deployments, users have reported fewer than 10 instances of panics in production.

Testing a distributed system like rqlite is no small feat. It requires careful consideration of various layers: from individual components to the entire system in operation. Let’s explore how rqlite is tested, following its philosophy of maintaining quality without unnecessary complexity.


https://philipotoole.com/how-is-rqlite-tested/
go-mail

Easy to use, yet comprehensive library for sending mails with Go


https://github.com/wneessen/go-mail
The eBPF Library for Go

https://ebpf-go.dev
Go 1.24's go tool is one of the best additions to the ecosystem in years

For those that aren't aware, one of the big changes in February's upcoming Go 1.24 release is the new go tool command, and tool directive in the go.mod to manage any tools your project uses. I'm incredibly excited about this, and in my opinion, this is one of the best changes we've had in recent years in the ecosystem as a whole.


https://www.jvt.iss.one/posts/2025/01/27/go-tools-124
Go All the Way: Why Golang is Your Swiss Army Knife for Modern Development

At Oodle's inception, we faced a common dilemma: choosing the right technology stack to get started. With a small team proficient in Go and a big vision, we needed a language that could handle everything from application development to infrastructure management. After careful consideration, we chose Go, and it has proven to be our Swiss Army knife for modern development. Here's why.


https://blog.oodle.ai/go-all-the-way-why-golang-is-your-swiss-army-knife-for-modern-development
Alibaba, Datadog, and Quesma Join Forces on Go Compile-Time Instrumentation

https://opentelemetry.io/blog/2025/go-compile-time-instrumentation
Maps are faster in Go 1.24

Go 1.24 has arrived with many improvements, but one of the most interesting changes is the introduction of a Swiss Table-based map implementation. This update improves performance for map operations, making Go even more efficient.

In this blog post, we’ll explore what the Swiss Table implementation is, why it matters, and how it can impact your Go programs.


https://www.bytesizego.com/blog/go-124-swiss-table-maps
Go Slices and Subslices: Understanding Shared Memory and Avoiding `append()` Pitfalls

https://blog.noblet.tech/go-slices-and-subslices-understanding-shared-memory-and-avoiding-append-pitfalls
So you wanna write Kubernetes controllers?

Any company using Kubernetes eventually starts looking into developing their custom controllers. After all, what’s not to like about being able to provision resources with declarative configuration: Control loops are fun, and Kubebuilder makes it extremely easy to get started with writing Kubernetes controllers. Next thing you know, customers in production are relying on the buggy controller you developed without understanding how to design idiomatic APIs and building reliable controllers.

Low barrier to entry combined with good intentions and the “illusion of working implementation1” is not a recipe for success while developing production-grade controllers. I’ve seen the real-world consequences of controllers developed without adequate understanding of Kubernetes and the controller machinery at multiple large companies. We went back to the drawing board and rewritten nascent controller implementations a few times to observe which mistakes people new to controller development make.


https://ahmet.im/blog/controller-pitfalls
Bridging Rust and Native Go

I recently built something interesting and want to share it with you: introducing OpenDAL as a native Go binding.

TLDR; I'll show you a feasible way to build native Go bindings from Rust and C components with the magic power of purego and libffi behinds.


https://www.yuchanns.xyz/posts/bridging-rust-and-native-go/
Go 1.24 is released!

https://go.dev/blog/go1.24
Go slice gotchas

Just like any other dynamically growable container structure, Go slices come with a few gotchas. I don’t always remember all the rules I need to be aware of. So this is an attempt to list some of the most common mistakes I’ve made at least once.


https://rednafi.com/go/slice_gotchas
Why does Go's io.Reader have such a weird signature?

https://rednafi.com/go/io_reader_signature
How I developed a markdown blog in Go and HTMX

https://fluxsec.red/how-I-developed-a-markdown-blog-with-go-and-HTMX
sturdyc

sturdyc eliminates cache stampedes and can minimize data source load in high-throughput systems through features such as request coalescing and asynchronous refreshes. It combines the speed of in-memory caching with granular control over data freshness. At its core, sturdyc provides non-blocking reads and sharded writes for minimal lock contention. The xxhash algorithm is used for efficient key distribution.


https://github.com/viccon/sturdyc