#253 — March 14, 2019 |
Golang Weekly |
New: Be sure to check out our first Go developer interview at the bottom of this issue. We spoke to Ron Evans (of Gobot) about why Go is well suited for hardware and microcontroller use :-)
Tracerr: Go Errors with Stack Trace & Source Fragments — An interesting experiment in making Go error output more informative. More examples here. ztrue |
The State of Caching in Go — Spoiler: The results are not great. This post talks about why various cache algorithms don’t work well in Go and what they are going to do about it. Dgraph |
Designing a Package Manager from the Ground Up - CircleCI Orbs — CircleCI recently launched a package manager just for CI: CircleCI orbs. If you're using orbs today and want to understand how to get the most from them, or if you're thinking about designing your own package management system, this post is for you. CircleCI sponsor |
Best Practices for Writing High-Performance Go Code — We first linked this a year ago and while it remains an ‘in progress’ document, there’s plenty to enjoy and contributions are welcomed if you can flesh it out. Damian Gryski |
Managing Go Module Deprecation — An introduction to modcop, a new CLI tool that inspects Myles McDonnell |
MongoDB Go Driver 1.0.0: The Official MongoDB Driver — 1.0 is finally here after a long process which began with Considering the Community Effects of Introducing an Official MongoDB Go Driver in January 2018. MongoDB, Inc. |
💻 Jobs |
Senior Backend Developer (Copenhagen) — Vivino <3 Go. 99.9% of requests are served by our Go backend. We have many ongoing projects and are looking for strong developers. Vivino |
Find A Job Through Vettery — Vettery specializes in dev roles and is completely free for job seekers. Vettery |
📘 Articles & Tutorials |
Common Traps, Gotchas, and Common Mistakes for New Go Devs Kyle Quest |
An Approach to Dependency Injection in Go using Higher Order Functions Stein Fletcher |
A Brief Introduction to gRPC in Go — A quick tutorial that touches all the main bits of creating a gRPC client and server app with a reasonable amount of explanation. Kamil Lelonek |
📈Data-Driven Guide to Engineering Leadership — Get actionable insights from 7 million commits and 85,000+ engineers, to increase your software teams velocity. Free Guide. GitPrime sponsor |
How Goroutines Work in TinyGo — TinyGo (a microcontroller-aimed compiler) has to take a different approach to the standard Go runtime. Ayke van Laëthem |
The Ups of Downs of Porting 50k Lines of C++ to Go — An old story that’s doing the rounds again :-) “In business terms, the project was a success,” but… “I feel the outcome was suboptimal, in the sense that I wrote two to three times as much code as would have been needed in a language with parametric polymorphism.” logicchains |
Rewriting the Sharding Layer of Uber’s Schemaless Datastore — How Uber rewrote and migrated their fleet of worker nodes from Python to Go without disrupting active service. Jesper Lindstrøm Nielsen and Anders Johnsen (Uber) |
Using Go as the Infrastructure Language at NodeSource — A brief enumeration of the benefits Nodesource gained with Go which could probably apply to your infrastructure, too. NodeSource |
🔧 Tools & Code |
go-asciibot: An ASCII Robot Generator — More cute than useful, perhaps. Matthias Kadenbach |
BigQueue: An Embedded, Fast, Persistent Queue in Pure Go — Uses memory mapped files under the hood. Linux, Darwin (macOS) and BSD-only for now. grandecola |
Slim: Space-Efficient Data Structures for Go — An attempt at creating a library of ‘surprisingly space-efficient’ data types, though it’s just a trie structure for now. openacid |
Introducing Kraken, an Open Source Peer-to-Peer Docker Registry — Yes, it’s built in Go! GitHub repo. Cody Gibb, Evelyn Liu, and Yiran Wang (Uber Engineering) |
go-tflite: Go Binding for TensorFlow Lite — Very early days for this. Yasuhrio Matsumoto |
Go Inside a Big Nerd Ranch Bootcamp: Free Online Session 4/24 Big Nerd Ranch sponsor |
Pion WebRTC: A Pure Go Implementation of The WebRTC Native API Sean DuBois |
go-bsdiff: Pure Go Gabriel Ochsenhofer |
Weaver: A Modern HTTP Reverse Proxy with Dynamic Sharding Strategies GO-JEK Tech |
|