Go
Go is currently my favorite compiled language.
Build tools
The “go” command is the default build tools, but there are alternatives out there.
- gb: project based, focused on assuring reproducible builds. See theory of gb operation for all the dirty details.
GOPATH
backwards compatible.
Libraries
Libraries that I use.
CLI and Configuration
- Viper: a complete configuration solution for go applications including 12 factor apps. It is designed to work within an application, and can handle all types of configuration needs and formats.
Network protocols
- SSH;
- go-mysql: a toolkit for all things MySQL protocol - allows you to write a MySQL “Slave” that you could tailor to your needs, to send in real-time changes to the DB to other systems.
Servers
- endless: Zero downtime restarts for go servers (Drop in replacement for http.ListenAndServe)
Other resources
- Awesome Go: A curated list of awesome Go frameworks, libraries and software;