#356 — April 2, 2021 |
Go Weekly |
Down the Go Dave Rolsky |
|
Proposal to Add Fuzzing to Go's Standard Library Now Accepted — ‘Fuzzing’ is an approach to testing where inputs are changed/mutated to try and find issues with the code consuming said input. Now comes the implementation. Russ Cox |
Remote Instructor-Led Go, Docker, Kubernetes & Python Training — We offer live-streaming remote training sessions for individual engineers and companies that want to augment their knowledge in Go, Docker, Kubernetes and Python. We’ve trained over 10,000 engineers via our carefully crafted classes. Ardan Labs sponsor |
OmniParser 1.0: A Go-Powered ETL System — Ingest CSV, XML, JSON, and more, in a streaming fashion, and transform it into JSON based upon a schema itself written in JSON. There’s an online demo here showing off some use cases. Benthos is an alternative if you want something more extensible and cloud service oriented. JF Technology |
|
📘 Tutorials and Stories |
'How I Create Small Go Apps Quickly' — When you want to thrash out a quick idea, you’re sure to have some boilerplate code lying around to speed things up – Bill shares his here. Bill Mill |
Debugging Go Microservices in Kubernetes with VS Code — Peter uses delve and Telepresence to connect to a remote (so, could be production) Kubernetes cluster and step through a debugging process with a local VS Code IDE. Peter O'Neill |
▶ Code Across ALL Your Devices with This Vs Code-Based Project — In this video, learn how to set up code-server allowing you to code across multiple devices (some you might not expect.) Linode sponsor |
How Does Go Know Paschalis Tsilias |
Building a BitTorrent Client from the Ground Up in Go — We linked this back in 2020 but it’s been doing the rounds on social media again and I remembered how useful it was for understanding how BitTorrent works. Jesse Li |
Introducing Bramble: A Federated GraphQL Gateway Implemented In Go — GraphQL federation is a reasonably new concept that addresses aggregating services behind a GraphQL API so you can make many services look like a single service. Movio |
▶ Releasing With (and Without) GoReleaser — A group chat focused around Carlos Becker, the creator of GoReleaser, a tool for speeding up the delivery of Go apps (via cross compilation, packaging, releasing to Git services, etc.) Go Time Podcast podcast |
Don't Use Build Tags for Integration Tests — “I used to recommend using build tags to gate integration tests. But I don’t any more — I’ve found a much better way.” Peter Bourgon |
▶ Google Cloud's Serverless Options for Go Developers — Comparing App Engine, Functions, and Cloud Run. Valentin Deleplace (Google) |
Observability Won’t Replace Monitoring (Because It Shouldn’t) Lightstep sponsor |
🛠 Code & Tools |
go-json: Fast JSON Encoder/Decoder Compatible with Masaaki Goshima |
go-version: A Version Number Parsing and Verification Library — This is for when you need to do things like verify version numbers against constraints (e.g. is 1.2 HashiCorp |
Jackal: An XMPP Server Written in Go — First linked a few years ago, it’s continuing to see updates including this week with support for XEP-0280: Message Carbons. Miguel Ángel Ortuño |
Go-MySQL-Driver 1.6: A MySQL driver for Go SQL Drivers |
ctop: A VektorLab |
quic-go: A QUIC Implementation in Pure Go Lucas Clemente |
Task 3.3: A Task Runner / Andrey Nering |
Ultimate Plumber: A Tool for Creating Linux Pipes with Instant Live Preview Mateusz Czapliński |
💻 Jobs |
Senior Software Engineering Consultant - [100% Remote] — Co-founded by Justin Searls, Test Double is an engineering consultancy on a mission to improve the way the world builds software. Work on challenging projects with a collaborative, passionate team. 100% employee owned, contract and full-time roles available. TEST DOUBLE |
Lead Backend Developer/Go (m/f/x) — We’re looking for a dev with a solid background in designing/implementing Go backend services to support us in improving our fast growing e-commerce platform, leading a remote team of software developers. Remote work possible (EU). Refurbed |
Lead Backend Engineer — We’re looking for an experienced backend engineer to help us build a high accuracy online fraud prevention service FingerprintJS |