#274 — August 8, 2019 |
Golang Weekly |
Thinking About Go's Proposal Process — The first in a series of posts by core Go developer Russ Cox on the process behind deciding what to include in the language and how such proposals are reviewed. Russ Cox |
Go Interfaces Explained — Interfaces are a commonly misunderstood part of Go programming, so here Alex attempts to give a clear explanation of what they are, why you might use them, and how to get started. This is very accessible! Alex Edwards |
Do You Need Golang or Kubernetes Training? — We offer on-site corporate training for engineers that want to learn Go (Golang) or Kubernetes. Having trained over 4,000 engineers since 2013, we have carefully crafted these classes for students to get as much value as possible. Ardan Labs sponsor |
Experiment, Simplify, Ship: How the Go Team is Headed Towards Go 2 — We’re still waiting on the videos of the GopherCon talks (which we’ll be linking) but for now enjoy this blog writeup of Russ Cox’s talk where he looked at the ‘path to Go 2’, how the Go team works on the language, a lot of specifics on error handling, and some other areas the team are experimenting with. (If this seems familiar, we linked to a liveblog of this talk last week, but Russ’s writeup goes into more depth.) Russ Cox |
gomodifytags 1.0: A Go Tool to Modify Fatih Arslan |
💻 Jobs |
Enjoy Building Scalable Infrastructure in Go? Stream Is Hiring — Like coding in Go? We do too. Stream is hiring in Amsterdam. Apply now. Stream |
Go Developers Are in Demand on Vettery — Ready for a bold career move? Make a free profile, name your salary, and connect with hiring managers from top employers today. Vettery |
📘 Articles & Tutorials |
An Introduction to Eran Harel |
Why You Should Use A Go Module Proxy — Rather than downloading modules from their source repos every time, using a module proxy (specified via Fatih Arslan |
What It Means to Be Remote-First Vs. Remote-Friendly — Being a truly remote-first organization requires intentionality that spans people, tooling, and process. CircleCI sponsor |
Package Management with Go Modules: A Pragmatic Guide — A practical look at getting started with Go modules to manage your dependencies. Alexander Diachenko |
RPC (Remote Procedure Calls) Explained By Building a Simple RPC Framework from Scratch — A demonstration of serializing function calls and passing data back and forth at a low level over the network. Fun as a learning experience, but you might want to use something like gRPC or HTTP in production. Ankur Anand |
One Developer's Experience of GopherCon 2019 — If you didn’t get along to the world’s biggest annual Go conference two weeks ago, maybe Mickaël’s comments will get you excited for next year. Mickaël Rémond |
▶ If You've Never Been to GopherCon... — If the item above whet your appetite for attending GopherCon next year, this round table discussion about what to expect, what to take, and what to do at the event will be useful. Go Time podcast |
🛠 Code & Tools |
Sampler: A Visualization Dashboard for Any Shell Commands — This is pretty neat. Define what commands you want to be run and at what intervals and the results can be shoehorned into different types of terminal-based visualizations such as sparklines, running charts, gauges and even ASCII art. Alexander Lukyanchikov |
go-arg: Struct-based Argument Parsing in Go — As of v1.1, released this week, it supports subcommands too (e.g. constructions like Alex Flint |
lego: A Let's Encrypt Client and ACME Library — Lets you obtain certificates, handle ACME challenges, interact with DNS providers, and more. Sebastian Erhart |
Route Your Data to Any Analytics Service from Your Go Code Segment sponsor |
Compress: Optimized Compression Packages — Contains gzip, zlib, zip, and flate packages that can act as faster drop-in replacements for the standard libraries. Klaus Post |
cli: A Simple and Fast Way to Build CLI Apps in Go — A long standing library (that somehow we’ve failed to link to before) that’s just had its first release in two years. Great to see someone has taken it over. Jeremy Saenz and Contributors |