Table of Contents
- 🧪 Examples
- Month 1 — Week 1 (flat)
- Month 1 — Weeks 2-4
- Month 2 — Stdlib, Tooling & Testing
- Month 3 — Concurrency
- Month 4 — Web, REST & Databases
- Month 5 — gRPC & Architecture
- Month 6 — Production & Capstone
🧪 Examples¶
Small, runnable, single-concept Go programs backing the daily notes. All examples import only the standard library, so the whole module builds and is tested in CI.
Month 1 — Week 1 (flat)¶
| Example | Run |
|---|---|
control-flow/ |
go run ./examples/control-flow |
functions/ |
go run ./examples/functions |
hello/ |
go run ./examples/hello |
mathutil/ |
go run ./examples/mathutil |
types/ |
go run ./examples/types |
vars/ |
go run ./examples/vars |
Month 1 — Weeks 2-4¶
| Example | Run |
|---|---|
month-01/cli-flags/ |
go run ./examples/month-01/cli-flags |
month-01/embedding/ |
go run ./examples/month-01/embedding |
month-01/errors/ |
go run ./examples/month-01/errors |
month-01/generic-ds/ |
go run ./examples/month-01/generic-ds |
month-01/generics/ |
go run ./examples/month-01/generics |
month-01/interfaces/ |
go run ./examples/month-01/interfaces |
month-01/maps-sets/ |
go run ./examples/month-01/maps-sets |
month-01/methods/ |
go run ./examples/month-01/methods |
month-01/panic-recover/ |
go run ./examples/month-01/panic-recover |
month-01/slice-internals/ |
go run ./examples/month-01/slice-internals |
month-01/slice-tricks/ |
go run ./examples/month-01/slice-tricks |
month-01/strings-runes/ |
go run ./examples/month-01/strings-runes |
month-01/structs-tags/ |
go run ./examples/month-01/structs-tags |
Month 2 — Stdlib, Tooling & Testing¶
| Example | Run |
|---|---|
month-02/bench-demo/ |
go run ./examples/month-02/bench-demo |
month-02/bufio-scan/ |
go run ./examples/month-02/bufio-scan |
month-02/build-tags/ |
go run ./examples/month-02/build-tags |
month-02/fmt-verbs/ |
go run ./examples/month-02/fmt-verbs |
month-02/fuzz-roundtrip/ |
go run ./examples/month-02/fuzz-roundtrip |
month-02/http-context/ |
go run ./examples/month-02/http-context |
month-02/httptest-demo/ |
go run ./examples/month-02/httptest-demo |
month-02/io-basics/ |
go run ./examples/month-02/io-basics |
month-02/json-tags/ |
go run ./examples/month-02/json-tags |
month-02/pprof/ |
go run ./examples/month-02/pprof |
month-02/slog-structured/ |
go run ./examples/month-02/slog-structured |
month-02/strings-strconv/ |
go run ./examples/month-02/strings-strconv |
month-02/time-timers/ |
go run ./examples/month-02/time-timers |
month-02/urlshortener/ |
go run ./examples/month-02/urlshortener |
Month 3 — Concurrency¶
| Example | Run |
|---|---|
month-03/atomic/ |
go run ./examples/month-03/atomic |
month-03/bounded-sem/ |
go run ./examples/month-03/bounded-sem |
month-03/channels/ |
go run ./examples/month-03/channels |
month-03/context-cancel/ |
go run ./examples/month-03/context-cancel |
month-03/crawler/ |
go run ./examples/month-03/crawler |
month-03/fanin-fanout/ |
go run ./examples/month-03/fanin-fanout |
month-03/fanout/ |
go run ./examples/month-03/fanout |
month-03/generator/ |
go run ./examples/month-03/generator |
month-03/goroutines/ |
go run ./examples/month-03/goroutines |
month-03/graceful-shutdown/ |
go run ./examples/month-03/graceful-shutdown |
month-03/mutex/ |
go run ./examples/month-03/mutex |
month-03/once-pool/ |
go run ./examples/month-03/once-pool |
month-03/pipeline/ |
go run ./examples/month-03/pipeline |
month-03/pipeline-cancel/ |
go run ./examples/month-03/pipeline-cancel |
month-03/pprof-demo/ |
go run ./examples/month-03/pprof-demo |
month-03/rate-ticker/ |
go run ./examples/month-03/rate-ticker |
month-03/select-timeout/ |
go run ./examples/month-03/select-timeout |
month-03/semaphore/ |
go run ./examples/month-03/semaphore |
month-03/waitgroup/ |
go run ./examples/month-03/waitgroup |
month-03/workerpool/ |
go run ./examples/month-03/workerpool |
Month 4 — Web, REST & Databases¶
| Example | Run |
|---|---|
month-04/graceful/ |
go run ./examples/month-04/graceful |
month-04/httptest/ |
go run ./examples/month-04/httptest |
month-04/json-api/ |
go run ./examples/month-04/json-api |
month-04/jwt/ |
go run ./examples/month-04/jwt |
month-04/layered/ |
go run ./examples/month-04/layered |
month-04/middleware/ |
go run ./examples/month-04/middleware |
month-04/migrate/ |
go run ./examples/month-04/migrate |
month-04/openapi/ |
go run ./examples/month-04/openapi |
month-04/pool/ |
go run ./examples/month-04/pool |
month-04/ratelimit/ |
go run ./examples/month-04/ratelimit |
month-04/repository/ |
go run ./examples/month-04/repository |
month-04/reqlog/ |
go run ./examples/month-04/reqlog |
month-04/servemux/ |
go run ./examples/month-04/servemux |
month-04/txn/ |
go run ./examples/month-04/txn |
month-04/validation/ |
go run ./examples/month-04/validation |
Month 5 — gRPC & Architecture¶
| Example | Run |
|---|---|
month-05/authmeta/ |
go run ./examples/month-05/authmeta |
month-05/cacheaside/ |
go run ./examples/month-05/cacheaside |
month-05/deadline/ |
go run ./examples/month-05/deadline |
month-05/domainmodel/ |
go run ./examples/month-05/domainmodel |
month-05/framing/ |
go run ./examples/month-05/framing |
month-05/hexagonal/ |
go run ./examples/month-05/hexagonal |
month-05/interceptors/ |
go run ./examples/month-05/interceptors |
month-05/jobqueue/ |
go run ./examples/month-05/jobqueue |
month-05/manualdi/ |
go run ./examples/month-05/manualdi |
month-05/metrics/ |
go run ./examples/month-05/metrics |
month-05/protowire/ |
go run ./examples/month-05/protowire |
month-05/retry/ |
go run ./examples/month-05/retry |
month-05/statuscodes/ |
go run ./examples/month-05/statuscodes |
month-05/tls/ |
go run ./examples/month-05/tls |
month-05/transcoding/ |
go run ./examples/month-05/transcoding |
month-05/workerpool/ |
go run ./examples/month-05/workerpool |
Month 6 — Production & Capstone¶
| Example | Run |
|---|---|
month-06/architecture/ |
go run ./examples/month-06/architecture |
month-06/buildinfo/ |
go run ./examples/month-06/buildinfo |
month-06/cacheaside/ |
go run ./examples/month-06/cacheaside |
month-06/config/ |
go run ./examples/month-06/config |
month-06/correlation/ |
go run ./examples/month-06/correlation |
month-06/escape/ |
go run ./examples/month-06/escape |
month-06/graceful/ |
go run ./examples/month-06/graceful |
month-06/healthcheck/ |
go run ./examples/month-06/healthcheck |
month-06/pprof/ |
go run ./examples/month-06/pprof |
month-06/ratelimit/ |
go run ./examples/month-06/ratelimit |
month-06/restapi/ |
go run ./examples/month-06/restapi |
month-06/secrets/ |
go run ./examples/month-06/secrets |
month-06/slog/ |
go run ./examples/month-06/slog |
month-06/syncpool/ |
go run ./examples/month-06/syncpool |
month-06/tracecontext/ |
go run ./examples/month-06/tracecontext |
Concepts needing third-party libraries (gRPC, Postgres, Redis, Prometheus, OTel) are shown as snippets inside the day notes and implemented under
../projects/, keeping these examples dependency-free.
⬅ README