#444 — January 20, 2023 |
|
The Go Weekly Newsletter |
Generating Diagrams Programmatically with D2 — This is useful! D2 is a Go-powered declarative diagram scripting tool and this post walks through using it from your Go code to generate a diagram of a database schema direct from a supplied SQL schema. Alexander Wang |
Time to Take the January 2023 Go Developer Survey — This official survey, now in its eighth year, has been the source of gauging support to numerous considerable changes to the language (such as generics) so don’t miss this opportunity to shape the future of Go (again.) Alice Merrick and the Go Team |
Add Secure Audit Logging to Your Go App with Pangea — Need a fast, easy, and secure audit log for your Go app? Pangea’s Audit Log API delivers tamperproof audit logging with just a few lines of code. Cryptographically verified with storage, compute, and security managed for you. Get started for free. Pangea sponsor |
More on What’s Coming in Go 1.20 — The second post in a three-part series, where Carl covers new additions such as the (now considered ‘truly experimental’ and semi-‘removed’) memory arenas package, multierrors, and Carl M. Johnson |
IN BRIEF:
|
The State of Go: JetBrains' Developer Ecosystem Report — Every year JetBrains surveys thousands of developers about how they use programming languages. This post focuses on Go and also includes insights from Bartlomiej Plotka, Carolyn Van Slyck, and Michael Gasch. JetBrains |
Examples of Problems with Integers — A few of these examples are in Go, but they are all worth reading and will teach you about compiler issues, common typos, buffer overflows, and a couple of odd bits of trivia about integers and computing. Julia Evans |
Learn How to Use Temporal OSS Using Go — Join this course to learn the basics of Temporal while using Temporal’s GO SDK to develop an app that communicates with an external service. Temporal Technologies sponsor |
Executable Examples in Go — Putting code examples in your code docs is a good practice, but having those examples executed by test runs is next level and could help keep your docs aligned with your code. John Arundel (Bitfield Consulting) |
The Exasperated Engineer's Guide to IPs in Go — While this is a bit ranty about Dave Josephsen |
🛠 Code & Tools |
Graph: Library to Work with Generic Graph Data Structures — You can create graphs with vertices of any type, find paths through them, transform them, and even create visualizations of them. Dominik Braun |
Simplify Workflows with Tailscale SSH — A new way to SSH into devices on your Tailscale network. Simply enable it, and we’ll take care of the rest — from distributing keys to authenticating connections. Tailscale sponsor |
pREST: Serve a RESTful API From a Postgres Database — Turn a Postgres database into a RESTful API. Covers similar ground to PostgREST but in Go rather than Haskell. pREST |
LiteFS: FUSE-Based SQLite Replication — From the genius mind of Ben Johnson (who you may know for the Go-based Bolt key/value store) comes a fresh take on scaling SQLite by using a FUSE-based file system to replicate SQLite transparently. Go is a fantastic fit for this sort of thing. v0.3.0 adds WAL support. fly․io |
Garble: A Toolchain to Obfuscate Go Builds — Obfuscation can’t guarantee security but if you want your binaries to have “as little information about the original source code as possible,” Garble presents an option. Daniel Martí |
Cadet: Library for Creating Simple HTTP-RPC Servers Martin Rue |
|
QUICK RELEASES:
|