#420 — July 15, 2022 |
The Go Weekly Newsletter |
A Guide to the Go Garbage Collector — A comprehensive and up to date (including Go 1.19) guide that not only covers the how and what of the GC, but it also digs into tuning parameters using some cool interactive graphs. There’s a ton of information here that will help you tune your Go application when you need it. Official Go Site |
What’s New in Go 1.19? — One of the best things about Go is we get a long period before releases where we can get up to speed with what’s coming. This post briefly covers a variety of aspects of Go 1.19, including the first use of generics in the standard library, which is exciting. For a more exhaustive list, of course, there’s also the draft 1.19 release notes. Carl Johnson |
Cloud Native Go - Free 3-Chapter Excerpt — Download three free chapters of O’Reilly’s Cloud Native Go to get a detailed, hands-on introduction to Golang — to learn how to develop, deploy, and manage cloud-native services distributed across ten, a hundred, or even a thousand servers. Cockroach Labs sponsor |
Go Template Preview: An In-Browser Tool for Go Template Syntax — It’s not necessarily what this tool does that’s the interesting part, but that there’s no backend since everything runs in the browser via WebAssembly so your experiments never leave the browser. The creator explains the project and how it works. Ricard Bejarano |
A Tip and a Trick When Working with Generics — When is a type parameter extraneous? And why can’t we switch on a generic type (yet)? There’s a workaround for the second question if you’re interested. Christoph Berger |
|
Tracing Gorm Queries with OpenCensus and Google Cloud Tracing — GORM is a powerful ORM for Go and the team at Incident uses it for working with their Postgres database. Here’s how they trace what’s going on in order to keep an eye on performance. Alex Russell-Saw |
Payload Validation in Go with Validator — This package uses field struct tags, so there’s not much logic to code for the over 100 included validations. Gurleen Sethi |
Structuring a Go Project for API Gateway Deployment with AWS SAM
|
🛠 Code & Tools |
tproxy 0.4: CLI Tool to Proxy and Analyze TCP Connections — Made by the creator of the go-zero framework for monitoring things like gRPC and MySQL connections while developing and debugging. Kevin Wan |
cpuid: CPU Feature Identification for Go — Use this to find out how many physical and logical cores there are, the family of CPU, and similar details. Supports x86/x64 and arm64 for now. Doesn’t use any cgo. Klaus Post |
Graph: Generic Library for Creating Graph Data Structures — Supports different kinds of graphs such as directed graphs, acyclic graphs, or trees. You get pathfinding, cycle detection (where appropriate), and more. Dominik Braun |
Unlock Completely Free Access to Stream's Chat and Activity Feed APIs Stream sponsor |
usql 0.11.0: A Universal CLI Tool for Databases — Inspired by Kenneth Shaw |
Afero 1.9: A Filesystem Abstraction System for Go — A single consistent API for accessing a variety of filesystems. Also lets you create mock and testing filesystems that don’t rely on disk at all. Steve Francia |
Croc 9.6: Securely Send Things From One Computer to Another — Croc has some cool features, such as cross-platform transfers, end-to-end encryption, and resumable transfers. Zack Scholl |
gokey: A Simple Vaultless Password Manager in Go — Not new but has been re-shared in a few places this week, including Hacker News (where the concept behind the app was, unsurprisingly, torn to shreds). Cloudflare |
⚡️ QUICK RELEASES: ent 0.11 – Popular entity framework for Go. |