#​420 — July 15, 2022

Unsubscribe  |  Read on the Web

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

Jobs

Developer Advocate and Technical Content Creator — The GoLand team is looking for a developer advocate and a technical content creator.
Jetbrains

Golang Engineers — 100% Remote (North/South America & Europe) — We’ve got several opportunities for Go devs (some working directly with Bill Kennedy!) and would love to hear from those looking for new challenges in distributed systems projects.
Ardan Labs

Full Stack Engineer at Shipyard (Remote) — Scope, architect, and build features for our data orchestration platform to accelerate our vision of simplifying data automation.
Shipyard

Find a Job Through Hired — Create a profile on Hired to connect with hiring managers at growing startups and Fortune 500 companies. It's free for job-seekers.
Hired

Tracing Gorm Queries with OpenCensus and Google Cloud TracingGORM 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
Leonard Quentin Marcq

🛠 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 psql but adds some more features and supports tons of databases, both relational and NoSQL.

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.
PB 3.1 – Console progress bar.
Kratos 2.4 – Microservices framework.
FerretDB 0.5 – A MongoDB clone but atop Postgres.
Caddy 2.5.2 – The fast web server with automatic HTTPS.
frp 0.44 – A fast reverse proxy for exposing local servers.
tproxy 0.4 – A cli tool to proxy and analyze TCP connections.
gorse 0.4.5 – Recommender system.
Go 1.18.4 and 1.17.12 – Including several security fixes.