#392 — December 17, 2021 |
Go Weekly |
Go 1.18 Beta 1 is Available (with Generics) — It’s here! It’s here! Just in time for the holidays! The preview release of Go 1.18 with generics (and a few other very nice new features) is ready for you to play with (and test). The final release isn’t due until 2022 so there’s plenty of time. See the draft release notes for more. Russ Cox |
gqlclient: GraphQL Client and Code Generator for Go — It can parse a GraphQL schema and generate Go types as needed. It can also parse query documents and generate Go functions. (As an aside, it’s so nice to link to something hosted on sourcehut instead of GitHub for a change :-)) Simon Ser |
Six Power Rules for Secure GitOps — Take advantage of GitOps agility without losing sight of cloud security best practices. 👀 Follow these steps to provision faster and more reliably while automating proactive security-as-code. Download the Secure GitOps Checklist for free ✅ Bridgecrew sponsor |
IN BRIEF:
|
Replacing Russ Cox |
When to Use Generics in Go? — And here’s a well-timed and well-written piece on when you can and can’t use generics along with some discussion around appropriate use cases. Teiva Harsanyi |
Awesome Go Education: Links to Go Tutorials — If you’re a fan of those ‘awesome’ lists of curated links, this new one covers tutorials in about 30 broad categories such as error handling, microservices, and debugging. Early days, but if you have tutorials of your own you’re encouraged to contribute here. Mehdi Hadeli |
|
🛠 Code & Tools |
MapReduce: A Map-Reduce Framework for Go — Inspired by one of the labs in MIT CSAIL’s Distributed Systems class. Bo-Wei Chen |
ImmuDB 1.2: A Fast Immutable Database, Built on a Zero Trust Model — A ‘tamper proof’ database system built in Go that has just added ACID transaction support, plus the ability to delete or expire records as necessary to comply with GDPR rules. CodeNotary |
gofumpt: A Stricter Daniel Martí |
Observability Won't Replace Monitoring (Because It Shouldn't) Lightstep sponsor |
Miniredis: A Pure Go Redis Server for Go Unit Tests — Think of it as the Redis version of Harmen |
go-mysql 1.4.0: A Pure Go Library for the MySQL Network Protocol — Not your typical MySQL client (there is a client in here, but that’s not the focus) but for when you need to interact with other clients and servers at the low level. siddontang |
Oso: A Batteries-Included Library for Building Authorization in Go — Oso embeds in your application and uses policies that you write using Polar (a DSL for authorization policy) and includes some patterns for common access control patterns. Oso |
netlink 1.5: Low-Level Access to Linux Netlink Sockets
|
XLSX 3.2.4: A Library for Reading and Writing XLSX (Excel) Files
|
👾 And one for fun.. |
Monovania: A 2D Puzzle Platformer Built with Ebiten — Built with Go’s popular Ebiten 2D game library for the Metroidvania Month 14 game jam, you can play the game online at the main link above or get the source here. (Note: I found you have to click on the browser again to give the game keyboard access, but then it's fine.) rocketnine |