#413 — May 27, 2022 |
The Go Weekly Newsletter |
Bud: A New Web Framework for Gophers — And in a classic Ruby on Rails-esque style, the creator has a fantastic 15-minute screencast showing off how to use it – not to build a blog, but a Hacker News client of sorts. Matt Mueller |
Google's Greedy Go Module Mirror? — The owner of Sourcehut, a popular open source forge, claims that the changes to Go modules in 1.16 resulted in his git service receiving tons of redundant and expensive traffic from Google and his pleas for help appear to have not gotten him too far yet. Drew DeVault |
How Teleport Works — Teleport provides secure access to SSH or Windows servers, Windows Desktops, Kubernetes clusters, Databases, and Web Applications. Teleport is trivial to set up as a Linux daemon or in a Kubernetes pod. Learn more. Teleport sponsor |
▶ Making an Animal Crossing-Type Game for Beginners — The creator of these videos is only two episodes in so far, but has made it as far as moving a character around. It’s an uncommon use of Go, but it works well and leans on Go bindings to Raylib for all the interesting parts. Avery Makes Games |
IN BRIEF:
|
RELEASES:
|
The Functional Options Pattern is Slow — Functional options are often held up as a gold standard for configuring objects, but they are slower and have some other real disadvantages compared to other approaches. Evan Jones |
How To Bootstrap a Quality Go Backend — Miscellaneous initial thoughts on picking an HTTP framework, laying out files, and some testing best practices. Emmanuel Byrd |
Go Nulls and SQL — Dealing with zero values, nilables, nil, and null can lead to bugs and frustration, but the standard library does help us out here. Ente |
🛠 Code & Tools |
Gocache 3.0: A Cache Abstraction Library — If you’ve got caching to do, Gocache can handle it. It can use numerous backends (including Redis, Memcache, and some purely memory based options), it can marshal and unmarshal your values, handle invalidation in multiple ways, let you chain caches in a priority order, and more. Vincent Composieux |
Concurrent Map 2.0: A Thread-Safe Concurrent Map for Go — Go has Or Hiltch |
eBPF 0.9: A Pure Go eBPF Library — Utilities for loading, compiling, and debugging eBPF programs. v0.9 introduces the Cloudflare and Cilium |
God: A Tool to Deploy and Manage Go Services using Enrico |
Issue Tracking Has Never Been Easier With Shortcut Shortcut (formerly Clubhouse.io) sponsor |
Kind: Run Local Kubernetes Clusters using Docker Containers as Nodes — You can get a basic Kubernetes cluster running locally very quickly with this approach. Kubernetes Project |
Rqlite 7.5.0 Released with Queued Write Support — Rqlite is a distributed database that uses SQLite as its storage engine and with queued writes you can now get much higher write performance in return for a little less durability. Philip O'Toole |
Sish: HTTP(S)/WS(S)/TCP Tunnels to Antonio Mika |
go-quartz: Simple, Zero-Dependency Scheduling Library — Inspired by the similarly named Quartz scheduler for Java. Eugene R. |
|