🔗 Anatomy of a Go module proxy
The Go packaging story started many years ago with
a myriad of tools for managing dependencies. And, annoyingly
GOPATH was one
of the main obstactles for people getting started with Go. Since Go
1.11, we have experimental support for
Proxies are great, as they lower the load on source repository hosts and can
prevent events like left-pad (2016). However, there is
a slight potential information leak when the Go tools contact
proxy.golang.org - the
Advantages, implementations and the proxy protocal details can be found in the slides.
Also, thanks klingtnet for liberating an slightly strange zip implementation from the depths of the Go module proxy implementation!
- This issue started the conversation: golang/go/issues/34953
- And a few weeks later, we have: golang.org/x/mod/zip
🔗 Pull Request Deployment
Everyone needs this. When a change to a codebase is made, how great would it be to just see that single change, e.g. for a given pull request? That’s what this pull request deployment tool does. While the tool itself is tied to company context, panzerdev condensed the workings of the tool into these slides:
- Code changes in a branch should be tested in isolation based on latest master
- Testing of not yet approved changes shouldn’t change shared datasource (DB)
- Multiple code changes shouldn’t share a datasource (DB) simultaniously
- Should be gone after merge without leftover junk
Read the slides, get inspired, join us next time - and: automate all the things!
- Go turned 10 this month - Happy Birthday and thanks for bringing fun back into programming!
- A new site emerged: pkg.go.dev/
Go.dev is a companion website to golang.org. Golang.org is the home of the open source project and distribution, while go.dev is the hub for Go users providing centralized and curated resources from across the Go ecosystem.