#309 — April 24, 2020
Golang Weekly
Go Developer Survey 2019 Results — The annual survey results are here but calculated differently than in previous years. See how the community feels, what tools we use, and what we’re really using Go for.
The Go Blog
Fiber: An Express.js Inspired Web Framework for Go — If you know Express (from the Node world) than Fiber will look very familiar. It supports middleware, WebSockets, and various template engines, all while boasting a low memory footprint. Built on top of FastHTTP.
Fiber
We Now Offer Remote Go, Docker or Kubernetes Training — We offer live-streaming remote training as well as video training for engineers and companies that want to learn Go, Docker and/or Kubernetes. Having trained over 5,000 engineers, we have carefully crafted these classes for students to get as much value as possible.
Ardan Labs sponsor
A Comparison of Three Programming Languages for Bioinformatics — This is quite an academic piece but basically Go, Java and C++ were put head to head in an intensive bioinformatics task. The good news? Go won on memory usage and beat the C++17 approach (which was admittedly less than ideal) in performance. The team in question chose Go going forward.
BMC Bioinformatics
Go for Cloud — A Few Reflections for FaaS with AWS Lambda — A response to a this article about Go’s pros and cons in the cloud. You should read both.
Filip Lubniewski
💻 Jobs
Enjoy Building Scalable Infrastructure in Go? Stream Is Hiring — Like coding in Go? We do too. Stream is hiring in Amsterdam. Apply now.
Stream
Golang Developer at X-Team (Remote) — Join the most energizing community for developers. Work from anywhere with the world's leading brands.
X-Team
Find a Job Through Vettery — Vettery specializes in tech roles and is completely free for job seekers. Create a profile to get started.
Vettery
📚 Articles & Tutorials
An Introduction to Debugging with Delve — If you’re in the "I don’t really use a debugger.." camp, Paschalis’s story and brief tutorial might help you dip a toe into the water.
Paschalis Tsilias
Object Ordering in Go — This is all about object comparison and the types of comparisons that are allowed in Go. Reading this post > Not reading this post.
Eyal Posener
How to Manage Database Timeouts and Cancellations in Go — How to cancel database queries from your app and what quirks and edge cases you need to be aware of.
Alex Edwards
The Go Security Checklist — From code to infrastructure, learn how to improve the security of your Go applications with the Go security checklist.
Sqreen sponsor
Data Logging with Go: How to Store Customer Details Securely — Specifically, this looks at using custom protobuf FieldOptions to mark fields as OK to log and reflection to check those options.
Vadzim Zapolski-Dounar
How to Install Go in FreeBSD in 5 Minutes — You can use a package manager, but this way has advantages and it’s easy.
Jeremy Morgan
🛠 Code & Tools
Fynedesk: A Fyne-Powered Full Desktop Environment for Linux/Unix — Previously we’ve linked to Fyne, a Go-based cross-platform GUI framework, but now it’s been used to create an entire Linux desktop environment!
Fyne.io
Lockgate: A Cross-Platform Locking Library — Has support for distributed locks using Kubernetes and OS file locks support.
Flant
Pomerium: An Identity-Aware Secure Access Proxy — An identity aware access-proxy modeled after Google’s BeyondCorp. Think VPN access benefits but without the VPN. Built in Go, naturally.
Pomerium
Beta Launch: Code Performance Profiling - Find & Fix Bottlenecks
Blackfire sponsor
Apex Log: A Structured Logging Package for Go — Inspired by Logrus.
Apex
mediary: Add Interceptors to the Go HTTP Client — This opens up a few options: tracing, request dumping, statistics collection, etc.
Here Mobility SDK
iso9660: A Go Library for Reading and Creating ISO9660 Images — The use cases for this will be a bit niche. The author created it to dynamically generate ISOs to be mounted in vSphere VMs.
Kamil Domański