#475 — September 12, 2023 |
|
Go Weekly |
Profile-Guided Optimization (PGO) in Go 1.21 — PGO has been a popular topic for blog posts recently, but here’s an as-close-to-official-as-it-gets example of using it to improve code, including deeper dives into two major optimizations enabled by the process. If nothing else convinces you to give it a shot, consider this: “In Go 1.21, workloads typically get between 2% and 7% CPU usage improvements from enabling PGO.” Michael Pratt (The Go Team) |
And if you fancy another article on the topic, Landon Clipp has another practical intro to PGO here that provides more of a "user-facing perspective." |
Go! Experts at Your Service — Do you need help filling skill gaps, speeding up development & creating high performing software with Go, Docker, K8s, Terraform and Rust? We’ll help you maximize your architecture, structure, tech-debt and human capital. Ardan Labs Consulting sponsor |
Scaling Robert Findley and Alan Donovan |
QUICK BITS:
|
▶ 'This Will Make Everyone Understand Go Interfaces' — For anyone experiencing confusion, Anthony GG takes on the task in his inimitable style. Anthony GG |
What I Have Changed My Mind About in Software Development — “Anybody who doesn’t change their mind a lot is dramatically underestimating the complexity of the world we live in.” – Jeff Bezos Henrik Warne |
Free Course: Temporal 102 with Go — Learn how to utilize the full development cycle in Temporal with this practical follow-up to our essentials 101 course. Temporal Technologies sponsor |
Using Tailscale for Authentication of Internal Tools
|
Implementing a ClickHouse Output Plugin for Telegraf in Go
|
A Practical Tour of Common File Operations in Go
|
🛠 Code & Tools |
Wails 2.6: Create Desktop Apps with Go, JS and CSS — Ever been envious of JavaScript developers being able to use Electron to build desktop apps? Wails brings a similar option to Go. v2 is mature and solid, but Wails v3 is on the way and promises to be a big update. GitHub repo. Lea Anthony |
Goxygen 0.7: Quickly Generate a Go Backend for a JS Project — A tool that sets up a new Go-based project with Angular, React, or Vue in the front-end, and Docker and Docker Compose files to make it all work. v0.7 introduces Go 1.21 support. Sasha Shpota |
[Blog] How to Hack Kubernetes (And How to Protect It) — This roundup covers the top seven ways your cluster will likely be attacked and a corresponding countermeasure. Teleport | goteleport.com sponsor |
Participle 2.1: A Simple Parser Package — Aims to provide a straightforward and idiomatic way to define parsers in Go using a familiar approach of using struct field tags to define a grammar, so if you’ve used Alec Thomas |
Lip Gloss 0.8: Style Definitions for Nice Terminal Layouts — Provides a ‘fluent’-style API for stylizing text output from your programs in an attractive way, as you'd expect being a Charm project. Charm |
Spotify 2.4.0: A Go Wrapper for the Spotify Web API — There are a variety of examples, but you can do all the obvious things like search for tracks, playlists, and control playing tracks. Zac Bergquist |
Enmime 1.0: MIME Encoding and Decoding Package — Focused on generating and parsing MIME encoded emails. James Hillyerd |
QUICK RELEASES:
|
|