#431 — October 7, 2022 |
|
The Go Weekly Newsletter |
How Do You Solve a Problem Like Russ Cox |
How a Bank Migrated Its Monorepo Seamlessly from Dep to Modules — While modules aren’t exactly new anymore, there are still quite a few large Go projects out there that haven’t made the move. Monzo, a well known ‘challenger’ bank in the UK, took a thoughtful approach that could inspire other graceful migrations away from Tom Preston (Monzo) |
Best Practices for Secure Infrastructure Access — This tech paper by Teleport highlights modern-day infrastructure challenges, introduces 4 recommended best practices, and applies them to the familiar SSH protocol for greater safety. Download now to learn more. Teleport sponsor |
Go 1.19.2 and Go 1.18.7 Released — Minor point releases with three security fixes for Carlos and Dmitri for the Go team |
Implementing Map, Reduce, and Filter with Go Generics — John explores writing things that “we couldn’t easily write in Go before generics” by way of applying functional programming ideas to types and collections. John Arundel |
Serving Static Files and Web Apps with Go — It’s common to write a backend API in Go, but the frontend in.. something else. When you want Go to serve up that other content, there are some approaches to consider. Eli Bendersky |
Writing Your Own Postgres Driver — An increasing number of non-Postgres systems are now using Postgres’s wire protocol for interoperability reasons, so why not join the fun and write your own Postgres client? This post digs into the protocol a little and provides guidance, without taking away all the fun. Konstantin Makarov |
▶ How to Automatically Create Architecture Diagrams for Go Microservice Architectures — Encore Flow is the service under the hood. Simon Johansson (Encore) |
▶ Memory Layout and Mechanics of Arrays and Slices — A 14 minute video heavy on illustrations and examples. Sreekanth |
▶ Building Go Executables: The cgo / Docker Problem
|
🛠 Code & Tools |
Pion Opus: Pure Go Implementation of Opus — Opus is a totally open audio codec that can be used for pretty much anything but is commonly associated with low bitrate, low latency use cases. This post digs into the motivations behind building a pure Go implementation of the codec. (GitHub repo.) Pion |
Real-Time Database Events with Crunchy Data |
New Golang API from a Google Ventures-Backed Notifications Infrastructure Service — A need for notification management systems has grown rapidly as software companies realize this critical user experience. Courier.com sponsor |
htmltable: Structured HTML Table Data Extraction — Pass Serge Smertin |
Tacquito: A TACACS+ Server That Implements RFC8907 — No, I had no idea what ‘TACACS’ meant either! It’s a protocol for performing administrative tasks on routers and similar bits of network infrastructure, and if you need to use it, you’ll probably already know. Meta Incubator |
Twilio Releases an Official 'Go Helper' Library — Twilio is a well known provider of API-driven communications services (e.g. SMS) and their new library, perhaps unsurprisingly, aims to make it as easy as possible to interact with their APIs from Go. Gareth Paul Jones (Twilio) |
Broker-HA: MQTT Broker with Clustering Capabilities — MQTT is a lightweight inter-machine communications standard often associated with IoT applications. zynzel |
Simpex: A Simpler Alternative to Regexp — An interesting idea submitted by a reader that offers a simpler syntax for matching against text. Tobias Sjösten |
|
|