~/talk

Production Ready "Hello, World!"

Talkat GopherCon UK 2024 · 2024-08-14..08-16· [developer-experience, testing]
slides:none on file

Implements a production-ready ping endpoint in Go using only the standard library, adding separate main/run for testability, graceful shutdown via signal trapping, runtime and build-time version injection, and flag-based configuration instead of hardcoded ports. Replaces the default mux with a custom http.Server and handler constructor, enforces JSON content-type and proper status codes, adds logging and clearer error responses, drives development with table-driven tests and measures coverage, and recommends health/debug endpoints and anti-corruption/strangler strategies when refactoring legacy systems.

AI-written summary · about

  1. 0:00Production readiness intro
  2. 2:29Coding katas importance
  3. 4:12Hello World kata explained
  4. 6:00Production readiness criteria
  5. 10:13Go Hello World start
  6. 11:35Adding tests to service
  7. 12:41Separate main and run
  8. 15:14Graceful shutdown signals
  9. 16:41Runtime and build info
  10. 19:54Dynamic config
  11. 21:39Custom HTTP server
  12. 24:11Proper JSON response
  13. 27:08Content type handling
  14. 31:05Test coverage improvement
  15. 32:53Service package refactor
  16. 33:37When to stop polishing
  17. 35:02Katas in AI era
  18. 35:46Estimating work
  19. 36:28Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.