#266 — June 13, 2019
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 Server — Causal 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
📕 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