News
A Beginner's Guide to Code Coverage for Go Integration Tests
In this blog post we’ll give an example of how these new features work, and outline some of the use cases and workflow for collect...
Inside Go Channels: Buffers, Locks, and the Runtime Memory Model
Go channels are a core concurrency feature designed to safely coordinate goroutines without manual locks. Beneath their simple syn...
A Tour of Slog: Everything You Need to Know About Structured Logging With Slog
By including structured logging in the standard library, we can provide a common framework that all the other structured logging p...
Go Concurrency Face-Off: Channels vs Mutexes
Demystify when to use channels and when to use mutexes, and why blindly following "Go concurrency patterns" can backfire.
Building a Go Dependency Scanner From Scratch
Build a Go dependency scanner with the standard library: parse go.mod, query OSV for vulnerabilities, and analyze licenses.
Streamlining Go Concurrency Using a Worker Pool
Before you start spawning thousands of goroutines, let's take a step back and understand how to do this efficiently.