#462 — May 30, 2023 |
|
Go Weekly |
Implementing a Distributed Key-Value Store in Go — Phil has spent many months getting up to speed with the Raft consensus algorithm and goes into serious depth on using it along with Go as the basis for a distributed key-value store. There’s much to enjoy here. Phil Eaton |
Finding the Best Go Project Structure — Posts like this always do well because so many folks are uncertain about project structure. It paints the broad picture of how one team found peace with structuring their projects. Go Project Structure is a repo showing off their end result. Aviv Carmi |
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 |
AWS SDK for Go to Align with Go Release Policy — Starting later this year, the AWS SDK for Go will conform to Go's release policy by supporting the two latest generally available versions, with an extra six months added for good measure. This means Go 1.19 will be supported till February 2024, 1.20 till August 2024, and so on. Aaron Todd (AWS) |
IN BRIEF:
|
How to Include Git Version Information in Go Apps — In short, you import this Carl M Johnson |
Companies Spend 4.5 Trillion Dollars on IT Annually — Find out how they’re building internal tools to increase developer productivity & impact. Explore Retool’s 2023 State of Internal Tools report. Retool sponsor |
Breaking SHA256: Length Extension Attacks in Practice
|
🛠 Code & Tools |
Requests: A Fluent HTTP Client Library — "Why I wrote my own Go HTTP client" goes into more depth as to its motivations, but the latest release adds support for XML bodies, responses and errors, as well as setting multiple params and headers at once. Carl M Johnson |
ls-lint 2.0: A Fast File and Directory Name Linter — Written in Go but aimed at JS/front-end dev use cases, Lucas Löffel |
html-to-markdown 1.4: Convert HTML to Markdown — Actually parses HTML rather than just using regexes so can handle a lot of edge cases regexes can’t. The author also tells us the project just turned five years old! :-) Johannes Kaufmann |
Simplify Access to Your Kubernetes Clusters with Teleport Team — Centrally manage Kubernetes access using identity rather than shared secrets across all environments. Teleport | goteleport․com sponsor |
Joker 1.1: A Small Interpreted Dialect of Clojure Written in Go — A small interpreter, linter and formatter for the popular Lisp dialect. Roman Bataev |
Gut: Convert Go Structs to TypeScript Interfaces — Tygo is a similar but more established project if you want options. tompston |
|
|
👾 It's-a-me, Mari-Go! |
Dendy: An Expermimental NES Emulator Written in Go — Like many of the most interesting projects, “it serves no practical purpose other than to be a toy project for me” but it’s well put together and, surprisingly, runs quite a few real games. Perhaps a project to be inspired by if you have similar emulation development ambitions. Max Poletaev |