#380 — September 24, 2021 |
Go Weekly |
Taming Go’s Memory Usage, or 'How We Avoided Rewriting Our Client in Rust' — Another story of memory profiling whose highlights include many lessons learned, like “stream, don’t buffer” and how an increasingly common approach of rewriting something in Rust just gives you different problems to manage. Mark Gritter |
A WebAssembly-Powered Browser 'Go Playground' — Unlike the long standing official Go Playground where code is executed on a server, the idea here is that Go code is executed within your browser with Goscript doing the heavy lifting. Zack Radisic |
Gophers - Opportunity is Knocking — We’re a premier software engineering firm looking for mid to senior level engineers to help us develop advanced software solutions and applications in Go. Got at least 1 year of professional Go experience and located in the Americas or Western Europe? We want to hear from you. Ardan Labs sponsor |
QUICK BITS:
|
Go-App: A Way to Build Progressive Web Apps with Go? — Using WebAssembly under the hood, you get to declare your frontend interface entirely in Go using an interesting fluent API and no HTML at all. A curious idea. Maxence Charriere |
▶ On the Little Known Team That Keeps Go Going — An episode focused on the team behind adding new features to the Go Time Podcast podcast |
|
Secure Integrations with Circuit Breaker in Go — The concept with an example implementation using Sony’s gobreaker. A nice pattern to have in your toolbox. Elijah Zobenko |
Implementing a Generic Filter Function — This is a nice, easy-to-follow way to introduce generics. Preslav Rachev |
Go Generics Have a New 'Type Sets' Way of Doing Type Constraints
|
Applying Modern Go Concurrency Patterns to Data Pipelines
|
Simplified JSON Handling in Go
|
🛠 Code & Tools |
TinyGo 0.20.0 Released — The LLVM-based ‘Go compiler for small places’ (and WebAssembly) continues to take small steps forward with Go 1.17 support, bug fixes, and support for a few new ESP32-C3 based boards. TinyGo |
go-quartz: Simple, Zero-dependency Scheduling Library for Go — Inspired by the similarly named Quartz scheduler for Java. Eugene R. |
Tangram: An Automated Machine Learning Framework — It’s written in Rust but you can train a model from a CSV file and then make ‘predictions’ from Go code. GitHub repo. Tangram Team |
Powerful API and Analytics Makes Building Video in Your Go App a Snap Mux sponsor |
Echo 4.6: A High Performance, Minimalist Web Framework — A framework aimed at building REST APIs complete with a router, middleware framework, HTTP/2 support, automatic TLS with Let’s Encrypt, and more. v4.6 adds new request logger middleware. LabStack LLC |
OpenTelemetry Go API and SDK 1.0 Released — OpenTelemetry provides the ability to measure your code performance and metrics, forwarding this data to observability platforms, like Prometheus. OpenTelemetry |
bree: A Go B-Tree Implementation — Intended for learning purposes and is a very small, tight implementation which is explained here. Amit Davidson |
rqlite 6.6.0: A Distributed Relational Database Built on SQLite
|