#262 — May 16, 2019 |
Golang Weekly |
A Series on Garbage Collection in Go — Want to understand more about the mechanics behind Go’s garbage collection system? Go trainer extraordinaire William Kennedy dives in with this series. William Kennedy |
The Go Playground Has Just Gotten A Lot Better — The Go Playground has long been a neat online sandbox for playing with Go related ideas and this week it has taken two huge steps forward:
The Go Playground |
How to Test Software: Mocking, Stubbing, and Contract Testing — We’ll cover the techniques of mocking and stubbing, and test-driven development to help each testing layer. First, let’s review the test pyramid. This helps illustrate the difference between different kinds of tests and when it’s advantageous to do them. CircleCI sponsor |
Introducing GopenPGP: An OpenPGP-Based Encryption Library for Native Apps and Go — Developed by ProtonMail and built on a fork of the Go crypto package. Project homepage. GopenPGP |
Quicktest: Wrapping Savoury Morsels |
A Peek at Better Go Error Handling with Luke Freeman |
💻 Jobs |
Product-Focused & Driven Frontend Engineers in Stockholm — Join our 30-person team of A-players, solve problems at global scale & help us become the most trustworthy online health company. Diet Doctor Sweden AB |
Find a Go Job on Vettery — Vettery specializes in tech roles and is completely free for job seekers. Vettery |
📘 Articles & Tutorials |
Notes on Converting a Repository to Use Modules — An incremental approach that covers a couple of special cases, like dependencies with local changes and keeping the vendor directory around. Mark Fletcher |
Using Postgres's JSONB Columns with Go — And if you like Postgres, we have a Postgres newsletter too! :-) Alex Edwards |
▶ Discussing Go for Beginners — Yes, this is definitely an episode for beginners who want to learn how to learn Go, so pass it on (and get them to subscribe to Golang Weekly too!) Go Time Podcast |
Do You Need Help Building and Migrating in an Application to Go? Ardan Labs sponsor |
Emulating an OpenMP Parallel For-Loop with Goroutines — OpenMP is a popular API for shared memory multiprocessing (predominantly in C and C++), something goroutines are also suited to enable. Tim Downey |
Encrypting Streams in Go — If you have large files that require encryption, the main option is using stream ciphers, which you can do with the standard library. Michael Turner |
Why Bother Writing Tests At All? — Not super Go specific, but solid advice on why writing tests is critical to successful product development because, after all, someone will be testing your software and it might not be someone with good intentions. Dave Cheney |
🔧 Tools & Code |
panicparse: A Panic Stack Trace Parser and Debugging Tool — “Crash your app in style”(!) This tool has just been updated to using Go modules and gives you more compact and readable output than a standard stack dump. M-A |
kcp-go: A Production-Grade Reliable-UDP Library for Go — It’s UDP, but not as you know it as this library adds resilient, ordered and error-checked delivery on top. Aimed at use cases like gaming and streaming. Daniel Fu |
gqlgen: A 99designs |
Get the Resources Your Go Apps Need Without the Billing Surprises — Deploy your next Go project on the most developer-friendly cloud platform with flat pricing across all global regions. DigitalOcean sponsor |
Godo: A DigitalOcean Go API Client — A client library for accessing the DigitalOcean V2 API. DigitalOcean |
uiprogress: Render Progress Bars in Terminal Apps — progressbar is a similar library worth considering too. Greg Osuri |
dicom: A High Performance DICOM Medical Image Parser — This is a a very specialized med-tech usage of Go, but if you’ve had an MRI, say, done (I have!) and they gave you a disc with the data on it, this could be of interest. Or if you're building medical software, of course.. 😉 Suyash Kumar |