#323 — July 31, 2020
Golang Weekly
Go 1.15 Release Candidate 1 Released — Go 1.15 is another step closer! Report any problems here, download binaries and packages here, or read the draft release notes to learn about what’s new.
Alex Rakoczy
Different Approaches to HTTP Routing in Go — "There are many ways to do HTTP path routing in Go – for better or worse." And Ben takes a pretty neat tour through a variety of options here.
Ben Hoyt
Redis 6.0 on RedisGreen — SSL encryption, key size tracking, memory mapping, online upgrades, and more.
RedisGreen sponsor
▶ The Latest on Generics with Robert Griesemer and Ian Lance Taylor — The ever popular and always fantastic Go Time podcast got Robert Griesemer and Ian Lance Taylor on board to talk about everyone’s favorite recent Go topic... generics! Why can’t we use angle brackets for generics? What type of feedback do they want from us? It's all here.
The Go Time Podcast podcast
What’s New in GoLand 2020.2, a Popular Go IDE — It’s a commercial product but GoLand is nonetheless a popular Go IDE and its latest version has improved modules support, lets you share and execute code with the Go Playground, has experimental generics support, and lets you work with GitHub pull requests right from the IDE.
JetBrains
Generics Part 01: Basic Syntax — One of Go’s best teachers lays out the problem statement and current solution for the Generics draft, complete with go2go playground links and backing repo.
William Kennedy
💻 Jobs
Software Engineer - Want to Build a Platform Ecosystem in Go? — Skool is hiring its 2nd backend engineer in Los Angeles, CA. Go, PostgreSQL, Redis, Elasticsearch, Docker. Apply now.
SKOOL
Stream Provides APIs for Building Activity Feeds and Chat — Stream is looking for a full time Backend Software Engineer to join our development team. If you are interested in becoming a part of what we do, apply now.
Stream
One Application, Hundreds of Hiring Managers — Use Vettery to connect with hiring managers at startups and Fortune 500 companies. It's free for job-seekers.
Vettery
📘 Tutorials
Let's Build A Full-Text Search Engine — You probably have used an FTS engine, but could you build one? Of course! With a small amount of Go, you can filter and stem your way to a solid FTS engine.
Artem Krylysov
How Code Generation Wrote Our API and CLI — Pace (Mat’s company) uses Oto to generate the API and clients for their offerings. Oto can be thought of as a non-binary, gRPC alternative aimed at Go use cases.
Mat Ryer
▶ A Quick Introduction to Delve, the Go Debugger — Delve 1.5 is out now, and this is a neat 14 minute screencast showing you how it can be useful.
Bryan English
Letting Change and Uncertainty Advance Your Software Architecture — Learn to design architecture that's adaptable so you can iterate when things inevitably change as you start building.
CircleCI sponsor
Working with Audio From Scratch in Go: Stereo Panning — Panning, in this context, means balancing the sound of an audio file across channels (or, in this case, sides.) Listen up!
Dylan Meeus
Making a Testable Cobra CLI App — Using a ‘hexagonal’ approach to creating a CLI app, decoupling the business logic from the CLI to make everything nice and testable.
Josip Antoliš
How to Deploy a Private GoDoc Server on Google Kubernetes Engine — GoDoc is a documentation generation tool that powers pkg.go.dev and numerous internal documentation servers.. and it can do so for you too.
Richard Li
How Tests Make Your Code Inherently Better — But, you already knew that, didn’t you?
Mitch Dennett
🛠 Code & Tools
Reform: A 'Better ORM' for database/sql — Supports Postgres, MySQL, SQLite3 and SQL Server, and uses non-empty interfaces, code generation, and initialization-time reflection.
Alexey Palazhchenko
Delve 1.5 Released: A Popular Go Debugger — Go 1.15 support has been added amongst other things.
Delve Project
Commandeer 0.5: Automatically Sets Up Command Line Flags — The flags are based on struct fields and their tags.
Matthew Jaffee
MongoDB Go Driver 1.4 Released — This is in conjunction with the release of MongoDB 4.4.
MongoDB, Inc.
LazyDocker: A Terminal-Based UI for Working with Docker — Not only is this a useful app for working with Docker, it’s a great example of a terminal-based app with a complete UI (powered by gocui) too.
Jesse Duffield
errgroup with Goroutine Worker Limits
Neil O'Toole