#370 — July 9, 2021 |
Go Weekly |
Russ Cox on Hardware Memory Models — When Russ starts a new series of blog posts, we listen (it was his series on package versioning that largely spurred the Go modules project). Today’s topic is somewhat more technical but is inspired by a desire to discuss changes to Go’s memory model. Russ Cox |
▶ Discussing Fuzzing in the Standard Library — We’ve mentioned Go’s forthcoming fuzzing feature quite a bit already, but Google’s Katie Hockman and Jay Conrad joined the Go Time team to dig into the details and why and where you’d use it. Go Time Podcast podcast |
The Definitive Guide to Feature Management — Feature management is a new class of software development tools/techniques powered by feature flags. A feature management platform like LaunchDarkly fills the gaps of conventional feature toggles. Learn the ins & outs of feature management today. LaunchDarkly sponsor |
Write a Time-Series Data Storage Engine from Scratch — From the author of tstorage, a Go library for storing time-series data. Ryo Nakao |
Benchmarks in Go Can Be 'Surprising' — Can the exact same code create vastly different benchmark numbers from the same codebase on the same machine? Yes, but this isn’t just a Go phenomenon. LevelUp++ |
Go Training Class Material — This now-5-year-old list has been continuously maintained and has to be one of the premier collections of books, blogs, interviews, etc. for anyone wanting to learn more about Go. Ardan Labs |
There Are Many Ways To Safely Count — Some different ways to implement a goroutine-safe counter. Bruno Calza |
Several Handy Commands to Run in Go Projects — A few very cool commands you will probably want to use on your current projects. For example, find packages without tests or build a dependency graph. Nikolay Dubina |
|
🛠 Code & Tools |
certmagic: Automatic HTTPS for Any Go Program — Fully-managed TLS certificate issuance and renewal, as used by Caddy, thanks to Let’s Encrypt (by default, but it can support other ACME-compliant issuers). Caddy |
Bluemonday: A Fast Go HTML Sanitizer — Takes untrusted user generated content as an input and returns HTML sanitized against an allowlist of approved elements and attributes. Microcosm |
Monitor Golang Apps’ Performance End-To-End with Datadog Distributed Tracing Datadog sponsor |
Balerter: Script Based Alert Manager — Define sources and channels in YAML, write scripts in Lua. Alerts can be just about anything: Slack, Telegram, etc. Negasus |
Kratos 2.0: A Go Framework for Microservices — A “microservice-oriented governance framework” built around gRPC. Kratos |
calendarheatmap: Generate GitHub Activity-Style Heatmaps in Plain Go — You provide the data, it provides the PNG. Nikolay Dubina |
Task 3.5: A Task Runner / |
di: A Tiny Dependency Injection Framework
|