#417 — June 24, 2022 |
The Go Weekly Newsletter |
▶ An Introduction to Fuzzing in Go — An official, three-minute, introductory video from Google on getting started with Go’s newest fuzz testing features (or, if you prefer, a written tutorial). Elsewhere, Khaled Yakdan writes about improvements being made to fuzzing for Go 1.19 – a lot of work has gone into this. Nooras Saba (Google) |
Making Code Faster — When someone with Tim’s experience talks about improving code performance, it never makes for a bad read. Here he shares a story of profiling some Go code. His approach is simple: Test, Benchmark, Refactor, Iterate. Tim Bray |
Gophers - Opportunity is Knocking — We’re a premier software engineering firm looking for mid to senior level engineers to help us develop advanced software solutions and applications in Go. Got at least 1 year of professional Go experience and located in the Americas or Western Europe? We want to hear from you. Ardan Labs sponsor |
How Uber Halved Its Go Monorepo CI Build Time — Uber rocks a monorepo setup for its Go-based back-end services and libraries and a downside was a cascade of checks and complexity when making changes to widely used dependencies within the monorepo. This post digs into the problem and how Uber works around it (to some extent, anyway). French, Rukas, Tan (Uber) |
How to Build Your Package Docs Locally — It started with an aim: “I wanted to see a rendering of my module docs as they would on pkg.go.dev locally before publishing” – and since Milan X |
Quicker bits:
|
A Faster Development Experience with Vite, Hugo and Preact — Hugo is a fantastic Go-powered static site generator but sometimes you might need to wander onto the JavaScript path a little.. Dawid found Vite to help a lot with getting everything 🎵 working together. Dawid Prośba |
|
🛠 Code & Tools |
Viddy: A Modern Go Alternative to Takumasa Sakao |
Render 1.5: Easily Render JSON, XML, Binary Data, and HTML Template Responses — A package for rendering various types of output in a more structured way if you’re putting together a Go-powered HTTP service, say. Cory Jacobsen |
A wolfSSL Wrapper for Lightweight SSL/TLS in Go — wolfSSL is a lightweight, portable SSL/TLS library targeting IoT and embedded environments. The repo includes examples of creating a server or client with it. wolfSSL |
Keep Up with the Latest in Startups, Tech, & Programming in Just 5 Min TLDR Newsletter sponsor |
Cobra 1.5.0: A 'Commander' for Modern Go CLI Interactions — A popular toolset for creating flexible Go-based CLI apps. v1.5 introduces the ability to mark flags/options are required or exclusive as a group (e.g. needing Steve Francia |
Gopherlings: Learn Go by Fixing Tiny Incorrect Programs — 18 very simple programs to fix, but it’s an interesting format and would be fun to see at a larger scale or for specific niches? Patricio Whittingslow for beginners |
A Simple/Minimal Tcl Interpreter Written in Go — A learning exercise explained here. Steve Kemp |
QUICK RELEASES: Benthos 4.3 – Fancy stream processing made simple. |