#​365 — June 4, 2021

Unsubscribe  |  Read on the Web

Go Weekly

Fuzzing is 'Beta Ready' — Two years ago, there was an article (Why Go Fuzzing?) explaining why fuzz testing should become an official part of the Go toolchain and we’re pretty close to that being the case with this special ‘dev.fuzz’ development branch. You can play with it right now, with a little work, but you’ll need to wait a while for it to land in an official release.

Katie Hockman and Jay Conrod

Go 1.16.5 and 1.15.13 Released — Minor releases to fix some security issues, including some discovered by Emmanuel Odeke by.. fuzzing!

Go Team

Optimize Your Golang App Performance Fast with Datadog APM — Visualize Golang performance using detailed flame graphs to identify bottlenecks and latency. Debug and optimize your code by tracing requests across web servers, databases, and services. Get started with Datadog APM for free.

Datadog APM sponsor

A Guide to Linting Go Programs — Using golangci-lint, you can aggregate many open-source linters from the community into a single, configurable tool for every stage of the development and deployment cycle.

Ayooluwa Isaiah

QUICK BIT:

  • The 'early access program' for the next version of the GoLand IDE from JetBrains is now open, meaning you get 30 days to play with it.

Go Performance Tools Cheat Sheet — From benchmarks to profiles to tracing, this page will take its place in your Go bookmarks, for sure.

Steve Azzopardi

Building Your Own Ngrok in 130 Lines — Jeff has some experience in tunneling connections so learn how to expose your local app to the world and pick up some Go knowledge in the process.

Jeff Lindsay

Why Tracing Might Replace (Almost) All Logging

Lightstep sponsor

Creating Go Bindings for Ethereum Smart Contracts — Chris runs through some of the many tools out there to generate bindings from Application Binary Interface (ABI) files for smart contracts.

Chris Hager

🛠 Code & Tools

gopatch: Refactoring and Code Transformation Tool for Go — Create a patch file (looks like a git diff) and you can apply it to many files when you need a common refactoring, such as a method rename or package replacement.

Uber

Gock 1.1: HTTP Traffic Mocking and Testing Made Easy — A fluent API for defining mocks, simple or complex. We first linked this five years ago but it’s had a little update. Inspired by Node’s Nock.

Tomas Aparicio

[Free Download] Guide to Effective Feature Management — Learn feature management practices to accelerate release cycles and deploy every 6 hours, instead of every 6 weeks.

LaunchDarkly sponsor

Ristretto: A High Performance Memory-Bound Go Cache — Used as part of Dgraph (native GraphQL graph database) but you can use it at a lower level too.

Dgraph

quiwi: A QUIC Implementation in Go — QUIC (originally ‘Quick UDP Internet Connections’ but now just QUIC alone) has now been standardized in RFC 9000.

GoBurrow

A TinyGo Plugin for the GoLand IDE — If you want to use Go to write code for small devices like microcontrollers, TinyGo gives you a way. This plugin brings extra TinyGo functionality into the GoLand IDE.

Sergey Kozlovskiy

tstorage: A Fast Time-Series Data Storage Library
Ryo Nakao

go-redis 8.10.0: Type-Safe Redis Client for Go
Vladimir Mihailenco and Contributors

Mockery: A Mock Code Generator for Go Interfaces
Vektra

Jobs

Senior Software Engineer (Go) - 100% Remote, UK/EU Only — Solving complex technical challenges using the latest, cloud-native technologies to help Banks and FinTechs move money faster.
Form3

Golang Developer at X-Team (Remote) — Join the most energizing community for developers and work on long-term projects for Riot Games, FOX, Sony, Coinbase, and more.
X-Team