#349 — February 12, 2021

Unsubscribe  |  Read on the Web

Go Weekly

The Generics Proposal is Now Really, Truly Accepted — Last week it was a ‘likely accept’ but now you can breathe easy.. all they have to do is the hard work of finishing the implementation(!) What can we move on to demanding of Go next? 😁

Russ Cox

▶  Indecent (Language) Proposals: A Discussion — The latest episode of the Go Time podcast is focused around recently proposed changes to Go from magical interfaces, to enhancing range loops, make and new with inferred types, lazy values, and more.

Go Time Podcast podcast

Video for Your Go App — Integrate seamlessly into your product's UI. Mux Video is an API-first platform that makes it easy to build beautiful video that streams everywhere.

Mux sponsor

Why I Built Litestream, a Streaming Replication System for SQLite — The creator of BoltDB, a Go powered key/value store, curiously went to SQLite for his next database project and this post explains why he thinks SQLite plus replication (as offered by Litestream) offers a tempting future for many use cases.

Ben Johnson

Building REST Servers in Go using OpenAPI and Swagger — We linked to the remainder of this excellent series last week, but Eli caps it off with a look at how OpenAPI and Swagger can be used to define REST APIs in a standardized way and from which you can generate Go code.

Eli Bendersky

Quick Bits

📘 Tutorials and Stories

Go Internals: Invariance and Memory Layout of Slices — Eli discusses why you can’t pass a []int64 into a function that takes a []interface{} which gets pretty technical and shows another possible need for generics.

Eli Bendersky

Repository Secure by Design: How to Sleep Better Without Fear of Security Vulnerabilities — Part of the fourteen post series at Three Dots Labs, this post covers how to add a security check to a Clean Architecture-based application.

Robert Laszczak

Build a Go App with CockroachDB & GORM — This tutorial shows you how to build a simple Go App with CockroachDB (a DB written in Go) & GORM.

Cockroach Labs sponsor

Getting Started with libp2p — An introductory tutorial to using libp2p (a cross language set of tools for creating peer to peer apps) to create a simple P2P example in Go.

Felipe Rosa

Testing Anti-Patterns in Go — Remember, TDD is (often) a good thing and testing is about design as much as anything.

Learn Go With Tests

Why Your Project Needs an ARCHITECTURE.md File — If you maintain an open source project that’s half way popular, what about adding some basic documentation about the high level architecture of the system? Here’s an example.

Aleksey Kladov

Everything You Never Wanted to Know About ANSI Escape Codes
Burke Libbey

🛠 Code & Tools

rqlite 5.10.0 Released — rqlite is a lightweight, distributed relational database system written in Go that uses SQLite as its storage engine. 5.10.0 is hugely focused on reductions in disk usage.

Philip O'Toole

v8go 0.5: Execute JavaScript from Go — A mature library with a fresh release adding BigInt to big.Int support, global object support, and function templates with callbacks to Go. If you want to add JavaScript scripting support to your Go-based system, this is well worth investigating.

Roger Chapman

Wasmer Go 1.0: A WebAssembly Runtime for Go — A Wasmer-based WebAssembly runtime for Go. 1.0 adds aarch64 (64 bit ARM) support and implements WASI and cross-compilation.

Wasmer

The Three Essentials for Achieving Full-Stack Observability

New Relic sponsor

copyist: A Way to Mock Your SQL Database in Go Tests — Automatically records SQL queries and results during a test session and can then play them back without the real database being used.

CockroachDB

Solr-Go 0.2 Released: A Solr Client for GoSolr is a popular open source search platform built on top of Lucene.

Steven Ferrer

Fiber 2.5.0: An Express.js Inspired Web Framework — If you know Express (from the Node world) than Fiber will look very familiar.

Fiber

Resty 2.5: Simple HTTP and REST Client Library for Go

Jeevanandam M.

💻 Jobs

Senior Software Engineer (Go) - 100% Remote, UK/EU Only — Solving complex technical challenges using the latest, cloud-native technologies to help Banks and FinTechs move money faster.

Form3

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

Find Your Next Job Through Hired — Create a profile on Hired to connect with hiring managers at growing startups and Fortune 500 companies. It's free for job-seekers.

Hired