#319 — July 3, 2020 |
Golang Weekly |
Building a High Performance JSON Parser — Building a JSON parser is almost a ‘hello world’ for Go programmers, it seems, but rarely does anyone write up their efforts as superbly as Dave has here. This is a great educational post. Dave Cheney |
Go is 'Boring'... And That’s Fantastic — A developer brings together a variety of ideas and principles to make the point that Go’s strength is in being straightforward and obvious (and, dare he say, ‘boring’). Jon Bodner (Capital One) |
Get Instant Debug Data with eBPF — Pixie saves you time. You can get metrics, events, traces, and logs without changing code, manual UIs or trucking data off-cluster. We’ll launch this fall and our community beta is out for you to tinker. Pixie sponsor |
▶ Go in Production at Pace.dev — Pace is a new project management tool, but the interesting part about this episode of the Go Time podcast is that it’s entirely based in the practicality of using Go to build a complete, working app from scratch. Last week’s episode about regrets and mistakes when using/learning Go was also a good one. Go Time podcast |
|
💻 Jobs |
Golang Developer at X-Team (Remote) — Join the most energizing community for developers and work on projects for Riot Games, FOX, Sony, Coinbase, and more. X-Team |
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 a Job Through Vettery — Use Vettery to connect with growing tech teams at startups and Fortune 500 companies. Vettery |
📚 Articles & Tutorials |
Writing An SNI Proxy in 115 Lines of Go — This proxy allows you to host multiple servers behind a single IP address, which Andrew uses on his home network to access several hosts. Andrew Ayer |
A Step-by-Step Guide to Go Internationalization (i18n) — The standard library approach to localization, including how to load the message catalog and create a service in Go that provides translated responses. Phrase |
What Are The Limits of Go Channels, and Just How Fast Are They? — The limits tested are message size, buffer size, and speed of send/receive operations. Paschalis Tsilias |
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 |
Using GitHub Actions and Hugo Deploy to Deploy a Static Site to AWS — There’s no actual Go here but Hugo is built in Go and is popular in our community. Chris Burns |
Why You Should Write Interfaces Per Package — “Go interfaces don’t work like C# or Java interfaces. They allow you to very clearly declare required dependencies and this comes with some great benefits that you can’t easily get from other languages. Don’t fight this by being a DRY zealot. Embrace it!” Brandon Fulljames |
Reproducing Java's Stream Implementation with Go Generics Egor Kovetskiy |
🛠 Code & Tools |
memplot: Quickly Generate PNG Plots of Process Memory Usage — All you have to do is provide a process ID and select one of various output formats. Alessandro Cheli |
gopls 0.4.2 Released — Go Team |
Pirsch: Server-Side Tracking Without Cookies in Go — Some background on how server-side tracking of clients functions followed by a quick tutorial about how to do privacy-friendly tracking with Pirsch. Marvin Blum |
Optimize Applications and Analyze Golang Stack Traces with Datadog APM Datadog sponsor |
Casbin 2.8: An Authorization Library That Supports Multiple Access Control Models — One of those hugely popular libraries that we don’t frequently cover, but I’m sure it’ll be new to some of you and new releases are dropping frequently. Casbin |
calendarheatmap: A GitHub Activity-Style Calendar Heatmap in Plain Go — It’s quite simple and produces a single graphic rather than something interactive at this point. Nikolay Dubina |
Trubka: A CLI Tool for Working with Kafka — A very cute gopher logo on this one :-) Alex Xitonix |