#509 — June 4, 2024 |
🫣 We took a break last week, but forgot to notify you in advance - sorry! You didn't miss anything, and we're catching up with the past two weeks today :-) |
|
Go Weekly |
Eradicating N+1s: The Two-Phase Data Load and Render Pattern in Go — Brandur demonstrates the N+1 problem by way of a little (and very easy to read) Ruby, before demonstrating how Go is equally susceptible to the issue. There is, however, a pattern you can introduce to nip it in the bud. Brandur Leach |
Don't Name Packages Common Nouns — The potential to collide with simple, everyday words you might want to use as variable names is too great. Brandur Leach |
Go! Unlock Your Tech Potential with Ardan Labs Consulting — Struggling with skill gaps, development speed or complex tech challenges? Ardan Labs specializes in Go, Rust, Docker and K8s to accelerate your software development, optimize architecture, and manage tech debt. Let us supercharge your team! Ardan Labs Consulting sponsor |
A Long-Overdue Problem Coming for Some in Go 1.23 — Go's compiler has special directives to let you do various things including, in the case of Chris Siebenmann |
Running Go on Val Town — Val Town is an interesting platform for running and composing JavaScript snippets that makes the claim: “If GitHub Gists could run, and AWS Lambda was fun.” Can you run Go on it? Thanks to WebAssembly, yes, but it’s more a fun experiment than a long-term play. Max McDonnell |
Abusing Go's Infrastructure? — Upon discovering that repositories containing zero Go code were in Go’s checksum DB, the author set out to see if arbitrary data could be uploaded to Go’s servers and, if so, whether it’s really a serious issue or not. fG |
[Webinar] Saga Pattern: Compensating Transactions at Will Bank — Hear Will Bank discuss financial transaction challenges and how Temporal's durable execution ensures reliable consistency. Temporal Technologies sponsor |
📄 A Look at Go Alternatives to Makefiles – Taskfile and Mage, specifically. Elton Minetto 📄 Reading Google Sheets from a Go Program Eli Bendersky 📺 My Neovim Configuration for Go Development in 2024 Mario Carrion 📄 Your API Shouldn't Redirect HTTP to HTTPS Joachim Viide |
🛠 Code & Tools |
gh-dash 4.0: A GitHub CLI Dashboard Extension — A TUI app for displaying a dashboard of pull requests and issues filtered however you like. Dolev Hadar |
oapi-codegen 2.2: Generate Boilerplate from OpenAPI 3 Specs — Convert OpenAPI specifications to Go code for server implementations, clients, or HTTP models. v2.2 now supports Go 1.22 and its new routing enhancements, much of the docs have been rewritten, and the project is focusing on ways to be more sustainable into the future. DeepMap, Inc |
Bob: SQL Query Builder and ORM/Factory Generator — With support for Postgres, MySQL and SQLite. Bob can be progressively adopted from raw SQL query strings, to fully typed queries with models and factories generated for a database. Stephen Afam-Osemene |
|
Rill: A Go Concurrency Toolkit — A collection of functions for streaming, parallel processing, and pipeline construction – all aiming to abstract things nicely and reduce boilerplate. Viktor Nikolaiev |
Bubble Table: A Table Component for Bubble Tea — A customizable, interactive table component for the always elegant Bubble Tea TUI framework. Brandon Fulljames |
go-datastructures 1.1.5: Numerous Threadsafe Data Structures — There’s a lot packed in here: queues, heaps, trees, sets, tries, skiplists, graphs, and often multiple types of each. Workiva |
gcss: CSS Written in Pure Go? — The touted benefits include more maintainable CSS and HTML (with no more super long Accent Design |
⚙︎ Fusion – A lightweight, self-hosted RSS aggregator and reader, with Svelte in the front, Go in the back. Rook1e ⚙︎ HN-Text – A text-first Hacker News client. Edi Piqoni ⚙︎ PastePass – Secure, one-time paste bin for sharing secrets. Vikas Yadav |
|