Skip to content
ExponaBLOG
Series · Day 100 of 100

Go Programming & Production APIs

  1. 51
    Dockerizing Go applications: what developers should know
    Tiny, secure images.
  2. 52
    Cross-compiling Go binaries: what developers should know
    Build for any platform from one machine.
  3. 53
    Embedding files in Go binaries: best practices explained
    Ship assets inside the binary.
  4. 54
    Deploying Go services to AWS: what developers should know
    Options for running Go in the cloud.
  5. 55
    Observability in Go: a practical guide for developers
    Metrics, logs and traces.
  6. 56
    OpenTelemetry tracing in Go: what developers should know
    Trace requests across services.
  7. 57
    Building a reverse proxy in Go: best practices explained
    The standard library has one built in.
  8. 58
    WebSockets in Go: a practical guide for developers
    Real-time connections.
  9. 59
    Server-sent events in Go: a hands-on guide for engineers
    Stream updates to browsers.
  10. 60
    Building a CLI in Go: a practical guide for developers
    Developer tools people love.
  11. 61
    Go generics explained: a practical guide for developers
    Type parameters since Go 1.18.
  12. 62
    Go 1.22 loop variable change: what developers should know
    A classic bug, fixed.
  13. 63
    Concurrency patterns in Go: patterns, pitfalls and fixes
    Patterns you will use in real services.
  14. 64
    Avoiding goroutine leaks: a hands-on guide for engineers
    Every goroutine needs an exit.
  15. 65
    Timeouts for HTTP clients in Go: lessons from production
    The default client has no timeout.
  16. 66
    Clean architecture in Go: a hands-on guide for engineers
    Keep it simple and idiomatic.
  17. 67
    Go vs Node.js for APIs: a practical guide for developers
    Two popular backend choices compared.
  18. 68
    Go vs Rust for backend services: lessons from production
    Simplicity vs control.
  19. 69
    Kafka with Go: concepts, trade-offs and production lessons
    Produce and consume events.
  20. 70
    Background jobs in Go: a practical guide for developers
    Run work outside requests.
  21. 71
    Scheduled tasks in Go: a practical guide for developers
    Cron jobs in services.
  22. 72
    Building a URL shortener in Go: best practices explained
    A small project with real concepts.
  23. 73
    File uploads in Go: a practical guide for developers
    Handle multipart forms safely.
  24. 74
    Working with time in Go: real-world lessons and examples
    Durations, time zones and formatting.
  25. 75
    Go modules and versioning: practical tips and trade-offs
    Manage dependencies reliably.
  26. 76
    golangci-lint setup: a practical guide for developers
    Catch bugs and style issues.
  27. 77
    Go code review checklist: a hands-on guide for engineers
    What reviewers look for.
  28. 78
    Go interview questions: a practical guide for developers
    Questions about Go fundamentals.
  29. 79
    Go backend interview questions: best practices explained
    What teams ask senior Go engineers.
  30. 80
    Common Go mistakes: a practical guide for developers
    Bugs every Go developer meets.
  31. 81
    Go performance tips: a practical guide for developers
    Real wins in Go services.
  32. 82
    Building a tunnel client in Go: best practices explained
    How tools like ngrok work under the hood.
  33. 83
    Go for DevOps tooling: a practical guide for developers
    Why infrastructure tools use Go.
  34. 84
    Go developer roadmap: a practical guide for developers
    What to learn, in order.
  35. 85
    Arrays vs slices in Go: a practical guide for developers
    Know the difference to avoid surprises.
  36. 86
    Strings, bytes and runes in Go: best practices explained
    Text handling done right.
  37. 87
    Defer in Go: concepts, trade-offs and production lessons
    Cleanup that always runs.
  38. 88
    Enums in Go with iota: a practical guide for developers
    Go has no enum keyword — but has iota.
  39. 89
    Zero values in Go: a practical guide for developers
    Every type has a useful default.
  40. 90
    Pagination in Go APIs: a practical guide for developers
    Return large lists efficiently.
  41. 91
    API error responses in Go: practical tips and trade-offs
    Consistent errors for clients.
  42. 92
    Validating environment at startup: a practical Go guide
    Fail fast when config is wrong.
  43. 93
    Caching in Go services: a practical guide for developers
    Speed up hot paths.
  44. 94
    singleflight in Go: a practical guide for developers
    Stop thundering herds.
  45. 95
    Atomic operations in Go: real-world lessons and examples
    Lock-free counters and flags.
  46. 96
    Go templates for emails and HTML: lessons from production
    Server-side rendering with the standard library.
  47. 97
    Sending email from Go: a practical guide for developers
    Transactional email done right.
  48. 98
    Feature flags in Go services: what developers should know
    Ship safely with flags.
  49. 99
    Rate limiting outgoing requests: lessons from production
    Respect third-party API limits.
  50. 100
    100 days of Go and production APIs: the recap explained
    The lessons that matter most.