Go Programming Cookbook, Second Edition
-
- 25,99 €
-
- 25,99 €
Publisher Description
With Go 1.25, you get a runtime that reads the CPU quota of its own container, a standard library that closes long-standing gaps in filesystem safety and JSON handling, and a testing package that makes concurrent behaviour deterministic. And this second edition puts all of it to excellent use.
This book is all about building one system, rather than a bunch of snippets in a folder. This means you can size a connection pool based on its own statistics, run 40,000 jobs on a fixed number of goroutines, retry serialisation conflicts without corrupting a ledger, and hold tens of thousands of open connections without exhausting file descriptors. Each recipe tackles a real problem, and then there's the simplest code to solve it, along with the reasoning behind when to use it again. Whether you're a developer who's already got some experience with Go and now needs it to get by in production, we've got you covered.
Key Learnings
Size worker pools and concurrency limits from measured CPU and memory budgets
Confine untrusted file paths so traversal attacks fail in the kernel
Test 30 secs timeouts in milliseconds using testing/synctest and its virtual clock
Propagate one timeout budget across every service hop without starving downstream callers
Retry serialisation conflicts and deadlocks safely with bounded, jittered transaction backoff
Find goroutine leaks from a profile and prove their absence in tests
Read escape analysis and pprof profiles to remove the allocations that matter
Drain response bodies so HTTP connections return to the pool and stay reused
Ship schema changes across rolling updates using expand, switch, and contract releases
Harden services with govulncheck, minimal images, and secrets that never touch disk
Table of Content
Up and Running with Go 1.25
Go Advanced and Concurrency
File Handling and Data Processing
Building and Managing Go APIs
RPC and gRPC Services
Automation and Concurrency at Scale
Microservices Architecture
Strengthening Database Interactions
Performance, Profiling and Resource Management
Networking, Protocols and Security
Target Readers
This book is for every Go programmer who wants to bring error-free performance, immediate troubleshooting to issues, better reliability and active security. All you need is basics of Go and nothing beyond to pursue this book.