~/talk

Best Practices for Industrial Programming

slides:none on file

Advice scoped to code serving mutable business requirements: prefer explicit constructor-based dependency injection, avoid package globals and func init, and wire multiple binaries under a command/ directory; use command-line flags as the primary config surface with env/config files secondary; manage goroutine lifecycles with a nursery/runner pattern (or errgroup equivalents) so every goroutine has a stop function; pick Prometheus for metrics, structured JSON logs, and Zipkin/Jaeger for tracing once the system spans several dozen microservices; make go test succeed after a fresh clone and skip heavyweight integration tests unless an env key is set.

AI-written summary · about

  1. 0:00Introduction
  2. 3:07Agenda
  3. 4:05Project Structure
  4. 7:48Configuration
  5. 9:58Dependency Injection
  6. 14:37Go Routines
  7. 14:56The Problem with Go Routines
  8. 15:25Go Programming Language Book
  9. 16:15Packaged Run
  10. 17:43Nursery
  11. 18:24Futures
  12. 19:16Concurrency
  13. 19:58Observability
  14. 21:07Good observability
  15. 22:43Three pillars of observability
  16. 22:57Metrics
  17. 23:42Metrics Power
  18. 24:49Logging
  19. 26:18Tracing
  20. 27:22No Single Paradigm
  21. 27:34Integration Testing
  22. 27:47Testing
  23. 28:32Integration Tests
  24. 29:03Advanced Testing
  25. 30:09Mocking dependencies
  26. 32:31Package Context
  27. 33:29Context Value
  28. 35:11Emerging Patterns
  29. 35:41Go Ecosystem
  30. 36:12Build Empathy
~/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.