#345 — January 15, 2021 |
Go Weekly |
A Proposal for Adding Generics to Go — An official announcement of the promotion of the Generics Design Draft to an actual language change proposal, which is Go’s process for changing the language. If it is accepted, Go 1.18 is the current target version. Ian Lance Taylor |
GTA: A Way to Detect Packages Deviating from Upstream — Sorry, it’s not GTA 6, but a tool from DigitalOcean to do transitive analysis to find packages whose dependencies have changed. This post digs into why they needed to build it and how it’s helped them with their work. Billie Cleek (DigitalOcean) |
Video for Your Go App That Streams Beautifully, Everywhere — Whether you have thousands of streams or millions of viewers, automatically deliver the best viewer experience with Mux's live streaming API. Sign up and get $20 credit today. Mux sponsor |
GoFakeIt 6.0.0: A Random Fake Data Generator — Go’s answer to Ruby’s exhaustive Faker library. GoFakeIt has over 160 functions for generating things like names, emails, locations, colors, user agents, breakfast items (oh yes!), and more. Brian Voelker |
Bleve 2.0: Full-Text Search and Indexing for Go — Index any go data structure (including JSON) and query in multiple ways. You can test it out live on Bleve’s own site. v2.0.0 isn’t a huge release but has some breaking changes. Bleve |
GoLand: Running JetBrains |
📘 Tutorials and Stories |
Making SQLite Faster in Go — I’m a huge fan of SQLite - it fits into so many use cases and keeps things simple yet fast. However, you can make it even faster with a connection pool and prepared statements. Sandro Turriate |
Why Are My Go Executable Files So Large? — Follow along with Raphael "kena" Poss as he investigates what was making his Go executable programs larger than expected. Cockroach Labs sponsor |
Discovering and Exploring Bruno Calza |
Building DigitalOcean's API Gateway — The full story of how DigitalOcean built its own API gateway in Go. Maurício Linhares |
De-obfuscating Go Functions — As Go has been used for nefarious purposes, the need to de-obfuscate Go in order to catch bad folks is growing and Jason has an idea for how to begin this process. Jason Reaves |
Dissecting OpenTelemetry Go Tracing — A walk through the OpenTelemetry source code where you’ll learn how to configure a provider, start a trace, and export data. Damien Mathieu |
Going Places: How I Used Go for Every Part of an IoT System — Fulfilling Java’s multi-decade-old promise with Go. Stanley Nguyen |
A Go Slice Tricks Cheat Sheet — A more visual alternative to the ‘slice tricks’ shared on the Go wiki. Shin'ya Ueoka |
🛠 Code & Tools |
Resty 2.4: Simple HTTP and REST Client Library for Go — Simple in terms of getting around its API, but in terms of features it’s pretty packed. 2.4.0 adds a new hook that’s called when a request returns an error. Jeevanandam M. |
TestFixtures: Ruby on Rails-Like Test Fixtures for Go — A mature library that takes the opinion that writing tests against a real database is the best approach and provides a way to define predictable fixtures to make this easier. Andrey Nering |
Accelerate Release Cycles and Deploy Every 6 Hours, Not Every 6 Weeks LaunchDarkly sponsor |
gocache: A Complete Library With Multiple Ways of Managing Your Caches — Not only does gocache support multiple backends, it also allows you to chain them, preload them, and includes Prometheus metrics. Vincent Composieux |
Counterfeiter: A Tool for Generating Self-Contained, Type-Safe Test Doubles Max Brunsfeld |
go-oci8: A Oracle Database Driver for Go using `database/sql` |
💻 Jobs |
Senior Software Engineer (Go) - 100% Remote, UK/EU Only — Solving complex technical challenges using the latest, cloud-native technologies to help Banks and FinTechs move money faster. Form3 |
Find Your Next Job Through Hired — Create a profile on Hired to connect with hiring managers at growing startups and Fortune 500 companies. It's free for job-seekers. Hired |