#467 — July 4, 2023 |
|
Go Weekly |
Frequently Asked Questions About Go — Did you know there's an official Go FAQ? It's been around forever, but somehow we’d not run into it it before.. 😅 It’s packed with interesting stuff and worth a flip through. Some of our favorites:
The Go Team |
How Grab Uses Its Own Go Module Proxy — The team behind Grab, a popular ‘super-app’ in Southeast Asia, relies on a large Go monorepo for its backend dev projects and they use the Athens Go module store and proxy to make their dev process smoother and, in particular, to reduce module fetching times. Jerry Ng (Grab) |
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 |
Proposal: Let's Change the Russ Cox |
IN BRIEF:
|
▶ MIT 6.824 Distributed Systems — It’s from 2020, but this playlist did the rounds on social media recently and what I’ve watched so far has been good. Prof. Robert Morris tackles the broad concepts of distributed systems, including fault tolerance, replication, and concurrency control. It’s broadly language agnostic, though Go is used for the main coding sections, such as the lecture on building a consensus algorithm in Go. Robert Morris (MIT) |
Creating a Simple Fixed-Window Rate Limiter in Redis — A short and sweet example of using a Lua script from Go to perform atomic actions in Redis. Mahmud Ridwan |
Rapidly Develop Golang Microservices In Kubernetes — Run your microservices locally and connect to real dependencies in a staging Kubernetes environment. Try our playground. Signadot sponsor |
About Structured Logging in Go 1.21 — We’ve mentioned the new structured logging (slog) package coming to Go 1.21 a few times recently, but Lukás pokes around, explains its interface, and how to use it today. Lukáš Zapletal |
Adventures in Building a Go Container with Nix — One developer’s notes are often another developer’s treasure.
|
How to Deploy Your Existing Containers to OpenFaaS
|
🛠 Code & Tools |
Chroma 2.8: Pure Go Syntax Highlighter — Take source code and turn it into syntax highlighted HTML, ANSI colored text, or just grab the raw tokens in JSON. Brings most of the features of Pygments to Go and can use Pygments’ lexers and styles too. There’s an online playground where you can try it out. v2.8 adds support for ArangoDB Query Language and WebGPU Shading Language, plus more. Alec Thomas |
Announcing GoReleaser v1.19: The Big Release — GoReleaser is, unsurprisingly, a tool for releasing Go projects. It offers cross-compilation, release to systems like GitHub and GitLab, nightly builds, Docker image creation, packaging, and more. v1.19 improves support for Nix, Winget, Homebrew, Krew, and Scoop, among other things. Carlos Alexando Becker |
Encore: Declarative Infrastructure for Go — Define infrastructure directly in application code and get local, preview, and cloud environments automatically. Encore sponsor |
Mailpit 1.7: Email and SMTP Testing Tool — Built in Go, Mailpit is a general email testing tool and API for all developers. You can use it to view emails “sent” through its mock SMTP server, store emails, and even relay them on. Ralph Slooten |
Zygo: A Lisp Interpreter in 100% Go — “Written in Go and plays nicely with Go programs and Go structs,” it could provide you with an interesting way to provide a DSL within Go apps. Jason E. Aten, Ph.D. |
Watermill: Library for Building Event-Driven Apps — A library for working with message streams (over numerous channels like Kafka, RabbitMQ, HTTP or even MySQL binlogs) to build event driven apps. Three Dots Labs |
|
|