Today we had our first Santa Monica Go Lunch. The concept is simple, we gather a few gophers around a table to share food and discuss Go related topics.
We had a nice group composed of folks from Pivotal Labs, CloudFoundry, HashiCorp and of course Splice. Since today was so much fun, we are going to run this event bi-weekly and try to stream it on Twitch.
Here are some notes and references for the attendees and curious out there.
- Debugging go routines is hard
- net/http/pprof http accessible pprof profiler visualization tool, see official blog post and intel’s go perf post.
- Go execution tracer proposal
- expvar Package expvar provides a standardized interface to public variables, such as operation counters in servers. It exposes these variables via HTTP at /debug/vars in JSON format.
- gdb debugging doc, post 1, post 2
- go-metrics monitor all the things
- Goamz vs aws-sdk-go – consensus is to use AWS’ official SDK even if not totally finished
- Writing tests, is duplication ok, how about setup/teardown, 3rd party testing frameworks, testing go routines. (Katrina shared a cool trick to use wait groups to be able to tests async code in a sync way)
- Writing documentation, go vet, go lint.
- Table tests are awesome, use a description field to know what test is failing.
- regex101 is the most amazing website to understand how regex operate.
- multierrors (package for representing a list of errors as a single error)
- errwrap (package for wrapping and querying errors)
April 9, 2015