#425 — August 26, 2022 |
The Go Weekly Newsletter |
Buffalo 1.0: Rapid Web Development in Go — Buffalo has been around for many years, and while 1.0 isn’t a big, feature packed release (indeed, no new code since 0.18.9), it’s a key milestone so congratulations to the team! If you’re new to Buffalo, there are plenty of tutorials to get you going. Buffalo Team |
GopherJS: A Go to JavaScript Transpiler — It’s been a few years since we featured GopherJS but the latest beta brings it up to Go 1.18 (though without generics for now, alas) and ES6/ES2015 standards. There’s an online playground if you want to have a quick play. GopherJS |
Meet GoLand 2022.2 — This version offers new features for generics and go․work. We’ve added support for fuzz tests, and SQL statements are now automatically detected. GoLand also now supports WebSocket connections and can send GraphQL queries out of the box. JetBrains sponsor |
📗 100 Go Mistakes and How to Avoid Them — Note that this is a book – yes, a real life, made of paper book. It’s going to take a couple of months to reach other booksellers or, oddly, to be available in digital form, but if you want something right now the 100 ‘mistakes’ are listed here along with code examples of each. Teiva Harsanyi (Manning Publications) |
What's the Cost of an Integer Cast in Go? — Ben has been interviewing Go developers at work and picked up on one candidate’s comment that casting integers is inefficient. Spoiler: They’re not, and we have a new saying: “‘Free’ as in integer casting in Go.” Ben E. C. Boyter |
'How I Used Go to Control My Radio' — A wonderfully practical story of using Go to control a radio to automatically switch to Aux-in when a specific device is playing audio. You’re unlikely to need to do exactly what Christoph is doing here, but it’s nice to know you can. Christoph Berger |
QUICK BITS:
|
Fixing Memory Exhaustion Bugs in My Go Web App — This is an excellent guide on how to (and how not to) track down memory issues that involve serious dependencies, such as Platform as a Service and third-party tools. Michael Lynch |
Go Functions as a Service with Kubernetes and OpenFaaS — OpenFaaS (itself written in Go) is an open source serverless functions solution on top of Kubernetes. Here we get to see how to deploy a function written in Go on it and get auto-scaling and metrics on top. Dominik Braun |
Shipping Completions for Go CLIs using GoReleaser and Cobra — Covers different ways to distribute your binary, such as Homebrew, AUR, and nFPM, complete with auto-completion and man pages. Carlos Becker |
Building Pong in Your Terminal: Part Two — We linked to part one a month ago, but now Josh fleshes out the game with paddles and controls. Josh Alletto |
Finding Raspberry Pis (to Buy) with.. Raspberry Pis — A simple but useful side project using some Go, FaaS, and a Raspberry Pi (Or a VM, if you prefer.) Alex Ellis |
😍 Alex (above) is also the author of 📘 Everyday Go, an e-book teaching the tools, techniques and approaches involved in real world Go development and he is offering the code |
🛠 Code & Tools |
Excelize 2.6.1: Work with Excel Spreadsheets from Go — A pure Go library for reading and writing XLAM / XLSM / XLSX / XLTM and XLTX files. Provides a streaming API for working with large datasets. 2.6.1 adds support for 34 further formula functions, improves compatibility, and more. Xuri Me |
gojq: A Pure Go Implementation of itchyny |
Golang Transactional Notification Infrastructure Saves Engineering Time Courier.com sponsor |
ZincSearch 0.3: A Lightweight Alternative to Elasticsearch — We linked to this Go-powered drop-in replacement for Elasticsearch (think full text indexing) when it was new, but development has been progressing at a rapid pace and a new release is out. Zinc Labs |
Restic 0.14.0: A Go-Powered Backup Tool — Restic is a backup program for Linux, BSD, Mac and Windows that supports numerous backends and, as of 0.14.0, compression. GitHub repo. axeleroy |
Fastmail MaskedEmail CLI: CLI to Create Fastmail Masked Emails — Niche, but if you use Fastmail, it’s one of its neatest features. David Coffee |
GoMerkleTree: A High Performance Merkle Tree
|
⚡️ QUICK RELEASES: go-vcr 3.0 and 3.1 – Record & replay HTTP interactions for deterministic tests. |
|