The series: 1 OS → 2 Networking → 3 Security → 4 HTTPS walkthrough, with Go alongside.
This guide runs alongside every step. Start the series at step 1: Operating Systems, Linux, and Containers.
🐹
Runs alongside the series
Go — The Complete Field Guide (Beginner → Expert)
A practical, example-driven path through Go: what the language actually gives you, why it's shaped the way it is, and how to use it to build real terminal tools, GUI apps, network services, and security infrastructure.
Contents
76 chapters, one page each. Prefer one long page? Read the whole book on one page.
- How to use this guide1 min
- The series: OS → networking → security → HTTPS, in Go3 min
- Table of contents3 min
- Part I — Foundations: the Go way
- 1. What Go is, and why it exists2 min
- 2. The toolchain and workspace1 min
- 3. Variables, types, zero values, constants2 min
- 4. Control flow: if , switch , for , defer2 min
- 5. Functions: multiple returns, variadics, closures1 min
- 6. Arrays and slices: the internals that explain the bugs3 min
- 7. Maps: internals and idioms1 min
- 8. Structs and methods: value vs. pointer receivers, embedding1 min
- 9. Interfaces: implicit satisfaction, any , type switches2 min
- 10. Error handling: the pattern that shapes all Go code1 min
- 11. Packages and modules1 min
- 12. Strings, runes, bytes, and Unicode1 min
- 13. Terminal project: a system-info CLI and unit converter1 min
- 14. Terminal project: a JSON config server1 min
- Part II — Intermediate: concurrency and the standard library
- 15. Goroutines: Go's answer to "what is a thread"2 min
- 16. Channels: pipelines, select , and the closing convention2 min
- 17. The sync package: mutexes, WaitGroup , Once , atomics1 min
- 18. context : cancellation, deadlines, and request-scoped values2 min
- 19. Testing in Go: table-driven tests and subtests1 min
- 20. Benchmarks and a first look at pprof1 min
- 21. Generics: type parameters and constraints1 min
- 22. I/O: io.Reader / Writer , bufio , and os1 min
- 23. encoding/json and reflection, briefly1 min
- 24. net/http fundamentals: client, server, middleware1 min
- 25. Terminal project: a concurrent URL health-checker (worker pool)1 min
- 26. Terminal project: an LRU cache library and CLI cache server3 min
- Part III — Advanced: systems Go
- 27. The Go memory model and the garbage collector2 min
- 28. The scheduler deep dive: GMP and work-stealing1 min
- 29. Concurrency patterns: fan-in/fan-out, pipelines, rate limiting, errgroup1 min
- 30. Advanced error handling: errors.Join , custom types, panic boundaries1 min
- 31. Advanced generics: constraints, generic algorithms, inference limits1 min
- 32. Reflection and unsafe : when, and why rarely1 min
- 33. cgo and syscalls, briefly1 min
- 34. Networking deep dive: net.Conn , TCP/UDP, framing your own protocol2 min
- 35. TLS in Go: crypto/tls , mutual TLS1 min
- 36. Structured logging and observability: log/slog , metrics, tracing1 min
- 37. Performance tuning: pprof , trace , and benchmark methodology1 min
- 38. Terminal project: a TCP chat server with rooms1 min
- 39. Terminal project: a rate-limited reverse proxy (mini API gateway)1 min
- Part IV — Real-world builds: terminal
- 40. Building production CLIs: flag , subcommands, config precedence1 min
- 41. Capstone: a distributed-style job queue with persistence3 min
- 42. Capstone: a streaming log analyzer for multi-GB files2 min
- Part V — Real-world builds: GUI
- 43. GUI options in Go: Fyne, Gio, Wails, Walk, and "just serve HTML"1 min
- 44. Building a Fyne desktop app: a live system-resource monitor1 min
- 45. Building a Wails app: a Go backend behind a web-based to-do board2 min
- 46. Packaging and distributing GUI apps1 min
- Part VI — Security-focused Go
- 47. Secure coding practices in Go2 min
- 48. Auth service: password hashing and JWT issuing/verification1 min
- 49. A WAF-style middleware: rate limiting and IP blocklists2 min
- 50. mTLS: client-certificate authentication end to end2 min
- Part VII — Expert: internals and design
- 51. What's really behind an interface value1 min
- 52. What's really behind a slice, a map, and a string1 min
- 53. Goroutine stacks and the scheduler, revisited1 min
- 54. Designing APIs: the Go proverbs, applied1 min
- 55. Dependency injection without a framework: functional options1 min
- 56. Capstone: a tiny embedded database engine (Bitcask-style)4 min
- 57. Shipping it: cross-compilation, Docker, systemd, graceful shutdown1 min
- Part VIII — Professional Go: debugging, refactoring, operations
- 58. Debugging Go in production: Delve, pprof, traces, stack dumps, GODEBUG2 min
- 59. Refactoring Go codebases: package seams, APIs, and compatibility1 min
- 60. Testing beyond tables: fuzzing, httptest, golden files, integration tests1 min
- 61. Production database access with database/sql and pgx2 min
- 62. Production HTTP APIs: validation, timeouts, middleware, shutdown1 min
- 63. Modules and releases: MVS, private modules, versioning, binaries1 min
- 64. Professional workflow: linting, vuln checks, CI, and quality gates1 min
- 65. Observability in Go services: logs, metrics, traces, health, profiling1 min
- 66. Architecture and package boundaries: services, workers, and seams1 min
- 67. Running Go in containers and Kubernetes2 min
- Continue the series1 min
- Appendices
- Appendix A — Go proverbs and idioms cheat sheet1 min
- Appendix B — Common pitfalls and how to catch them1 min
- Appendix C — Glossary1 min
- Appendix D — Further reading1 min
- Appendix E — Command cheat sheet1 min
Generated from real-life-golang-guide.md · 8 Oct 2026 16:36