One thing I really like about Go so far is how its package system works. Unlike Node, where we're used to installing packages from npm, Go has a more decentralized approach. You can publish a module from your own repository, usually GitHub, by just tagging a version.
And this actually solves an interesting problem, a developer removed a tiny package from npm and it caused a lot of projects that depended on it to break.
Go's approach is pretty interesting because it uses module proxies. When you download a public Go module, the Go proxy can fetch and cache that version. So even if the original GitHub repository disappears later, that version can still be available through the proxy.
Go also uses checksums to verify that the module you downloaded is the same code that was originally published.
@devwitheyob
#Go #DevOps
And this actually solves an interesting problem, a developer removed a tiny package from npm and it caused a lot of projects that depended on it to break.
Go's approach is pretty interesting because it uses module proxies. When you download a public Go module, the Go proxy can fetch and cache that version. So even if the original GitHub repository disappears later, that version can still be available through the proxy.
Go also uses checksums to verify that the module you downloaded is the same code that was originally published.
@devwitheyob
#Go #DevOps