#354 — March 19, 2021 |
Go Weekly |
Rust vs. Go: Why They’re Better Together — We’ve touched a few times on the sibling-style relationship between Rust and Go (not least in last year’s popular Rust vs Go opinion piece) and in this piece a member of the Go team balances the two and how they “supplement and support each other”. Steven Francia |
REST Servers in Go: Middleware — The latest in an ongoing series of articles about writing REST servers in Go. In Life of an HTTP request, Eli tackled where middleware fits into the big picture, but here he goes deeper and implements some. Eli Bendersky |
Learn How to Move Fast from Code to Kubernetes — Get our free eBook - “CI/CD with Docker and Kubernetes eBook”. Learn how to deliver high-quality cloud apps rapidly and consistently. Semaphore sponsor |
PDF: Automatically Detecting and Fixing Concurrency Bugs in Go Software Systems — An academic paper that proposes an approach for detecting and then fixing concurrency bugs in Go programs. It’s not just theoretical, though, as they actually built it and ran it over things like Kubernetes and Docker and found a variety of bugs! Quite the paper, but heavy going if academic writing isn’t your bag. This GitHub repo has the actual code and tools mentioned. Liu, Zhu, Qin, Chen and Song |
Getting Started with eBPF and Go — eBPF (Extended Berkeley Packet Filter) is a technology originally intended for capturing, monitoring and filtering network activity but is now a broader sandboxed system for writing code that can run within the Linux kernel. Michael Kashin |
📘 Tutorials and Stories |
Writing Slower Go Programs — So, writing slower programs is a good thing? Not exactly, but focusing solely on performance is a mistake, especially for a new or intermediate gopher. John Arundel |
Mage is My Favorite Make — Mage is a Go-powered Carolyn Van Slyck |
Teaching Go Programs to Love JSON and YAML — Pretty small lift to add a whole new format. Mathias Lafeldt |
▶ Observy McObservface Ep. 13: Driving Community and Open Source — Kat Cosgrove from JFrog talks about self-driving cars called Donkey Cars, on-point documentation, and open-source. New Relic sponsorpodcast |
Go App Monitoring with Prometheus — The example here is a simple web application with Prometheus (a popular open source monitoring tool) middleware. Tanner Gabriel |
▶ Discussing Go Time Podcast podcast |
🛠 Code & Tools |
GChalk: Terminal String Styling for Go 'Done Right' — A bold claim but this library, heavily influenced by Node’s Chalk, boasts ‘painless’ Windows 10 support, auto detects color support, and has a nice expressive API. Jason Walton |
SQLBoiler 4.5: Generate a Go ORM Tailored to Your Database Schema — The idea is that you create your schema at the database level first and then this interrogates the schema and generates ORM code for Go based upon the actual design. Volatile Technologies Inc. |
The Definitive Guide to Feature Management LaunchDarkly sponsor |
goverter: Generate Type-Safe Go Converters by Simply Defining an Interface Jannis Mattheis |
Glow: Render Markdown on the Terminal — Glow does more than just render, it can discover and save Markdown files, too. Charm |
Go Client for the Unsplash API — Unsplash is a free-to-use stock photography site of sorts. Hardik Bagdi |
Dynamo: An Expressive DynamoDB Library Greg Roseberry |
💻 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 |
Sr. Software Engineer at CrowdStrike (Remote) — CrowdStrike is the leader in cloud-delivered endpoint protection, which helps protect our customers from cybersecurity attacks. CrowdStrike |
Find Golang Engineering Jobs with Hired — Take 5 minutes to build your free profile & start getting interviews for your next job. Companies on Hired are actively hiring right now. Hired |