Skip to content

Table of Contents

🧪 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.

go run ./examples/<path>

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