#266 — June 13, 2019

Read on the Web

Golang Weekly

Constant Time — Promising “a few things that perhaps you didn’t know about Go’s const keyword”, Dave sets out to show us that there are things in Go that look like constants, such as os.Stdout and sentinel error values, but aren’t. What if they were?

Dave Cheney

Using Causal Profiling to Optimize the Go HTTP/2 ServerCausal profiling is an interesting idea where performance experiments are run during program execution to see where speedups would have the most impact and a developer has created a branch of Go that supports it.

Daniel Morsing

DigitalOcean Kubernetes is Now Getting Even Better — Provision a cluster in minutes while we manage and optimize the services you need to run Kubernetes.

DigitalOcean sponsor

A Bird's Eye View of Go — How does Go the language stand versus Go as an implementation or Go as an ecosystem? Axel boils down what the various parts of ‘Go’ actually are.

Axel Wagner

Go 1.12.6 and Go 1.11.11 Are Released — Relatively minor updates. “These releases include fixes to the compiler, the linker, the go command, and the crypto/x509, net/http, and os packages.” 1.11.11 sets a record for the most number of 1s in a Go release, for sure.

Dmitri Shuralyov

Awesome Go: 1800+ Go Links, Library and Tools — We link this epic resource of Go links, libraries, projects, and meetups every now and then, and it seems to have quite a few items added and removed recently. Got a library or meetup of your own? Get it added to the list.

Awesome Go

💻 Jobs

Build the Future of Microservices with Open Source and Go (Remote) — We're looking for a passionate Go developer to help build our next-gen API Management platform, we're open source and remote-first.

Tyk Technologies

Land a New Dev Job on Vettery — Vettery specializes in tech roles and is completely free for job seekers.

Vettery

📘 Articles & Tutorials

OK Let’s Go: Three Approaches to Structuring Go Code — Which one you choose really depends on the maturity of your team and the complexity of your project. Choose wisely.

PerimeterX

How Might One Implement A Resumable Exception System in Go? — When someone said “Go could never have resumable exceptions”, Robert said “Wanna bet?” and then cranked them out. Now, are they resumabled exceptions he’d use..?

Robert A. Uhl

Exploring Domain-Driven Design at CircleCI — One thing that has helped maintain a sense of consistency has been for us to adopt a different approach to writing software: Domain-Driven Design.

CircleCI sponsor

Teaching A Cheap Ethernet Switch New Tricks — This is not a Go tutorial but instead an interesting story of hacking a cheap router that involves running Go code on it. If you’re a networking/hardware geek who loves a good story, this is for you.

Ben Cox

Web API Integration Testing with Go — Runs through each handler in a RESTful API, testing things like status codes, headers, and response bodies.

Ryan Shipp

How to Deploy a Resilient Go Application to DigitalOcean Kubernetes

DigitalOcean

📕 20 Patterns to Watch for in Engineering Teams

GitPrime sponsor

🔧 Tools & Code

Survey: A Library for Building Interactive Prompts — Got questions to ask your users? Build interactive prompts with full support for Windows and POSIX terminals.

Alec Aivazis

Go Micro 1.6: A Microservice Development Framework — Provides the core features you need for distributed systems development. The last few releases have improved the project’s use of Go modules.

Micro Technologies

GoJay: A High Performance JSON Encoder/Decoder — Boasts it’s the fastest JSON encoder/decoder for Go, it handles structs, arrays, and slices, and can do stream decoding.

Francois Parquet

Fireworq: A High Performance Job Queue Built in Go — A mature project that has just been updated to Go 1.12.

Fireworq

Geziyor: A Fast Web Crawling and Scraping Framework for Go — Still under development but boasts being able to crawl at over 1000 requests per second.

Musab Gültekin

githubv4: Go Client Library for GitHub's GraphQL API (v4)

Dmitri Shuralyov

YIG: A New Object Storage Server with an S3 Compatible API

Journey Midnight