#440 — December 9, 2022 |
|
The Go Weekly Newsletter |
A Look Back at 2022 for Go Gamedev with Ebitengine™ — Formerly known as Ebiten, newly trademarked Ebitengine™ is a popular 2D game engine for Go and one of our favorite Go projects generally. It’s had a good year with improved Windows support, full games published and released on the Nintendo Switch, and productive game jams. Ebitengine Team |
New in Go 1.20: Wrapping Multiple Errors — The final release of Go 1.20 (draft release notes) is still a while away, but comes with a change that can improve error wrapping, as demonstrated in this post. Lukáš Zapletal |
💡 If you want to play with Go 1.20, the first release candidate came out yesterday. |
Gophers - Opportunity is Knocking — We’re a premier software engineering firm looking for mid to senior level engineers to help us develop advanced software solutions and applications in Go. Got at least 1 year of professional Go experience and located in the Americas or Western Europe? We want to hear from you. Ardan Labs sponsor |
Some Useful Patterns for Aaron Son (Dolt) |
New Language Issue: Runtime: Diagnostics Improvements — A group of Gophers is focusing on improving runtime diagnostics starting with runtime traceability and heap analysis tooling, which is exciting for anyone that uses the trace command. This link tracks their progress and meeting minutes. Michael Knyszek (Google) |
IN BRIEF:
|
Functional Table-Driven Tests in Go — The tables in table driven tests can become cumbersome and hard to read when complex structs get involved. What to do? Get functional and build those data structures more dynamically. Fatih Arslan |
▶ Writing Apps More Securely with Go — A brief introduction to vulnerability management coupled to a less brief live coded demo of Go 1.18’s fuzz testing feature. Cody Oss (Google) |
Forget Everything You Know About SSH — Say goodbye to managing SSH keys. Tailscale SSH works where Tailscale works & is free for personal use up to 20 devices. Tailscale sponsor |
When to Use gRPC vs GraphQL — A fair comparison of two popular API protocols to see where each works best. Loren Sands-Ramshaw |
▶ Building a CLI Tool with Go that Calls Stripe's HTTP API — Built upon Cobra. (26 minutes.) Maximilien Andile |
🛠 Code & Tools |
D2: Declarative Diagramming System — A particularly featureful ‘text to diagram’ system. Declarative because you describe what you want to see, and D2 does the work. The output looks fresh, clean and modern – no janky old Unix rendering style here. v0.1 just dropped with Windows support, sequence diagrams, and even LaTeX formula support. GitHub repo. Terrastruct Inc. |
Marmot: A Distributed SQLite Replicator atop NATS — There are lots of interesting SQLite replication projects right now (such as Litestream) but this one takes an interesting approach by being built on top of NATS. Zohaib Sibte Hassan |
Argo CD Architectures, Solved! — Explore the pros and cons of the three most common architectures when implementing Argo CD. Akuity sponsor |
|
|