#364 — May 28, 2021 |
Go Weekly |
Functional Programming in Go with Generics — The author runs through functional options in Go today, and how 1.18 brings improvements through generics – however.. that’s not to say you should go functional wherever possible as Jeremy Bowers opined in “Why Go Getting Generics Will Not Change Idiomatic Go” last year. Ani Channarasappa |
rf: An Experimental Refactoring Tool for Go — When a project says its “incredibly rough and likely to be buggy and change incompatibly”, you know you’re in for a fun time. This is a truly experimental command-line Go refactoring tool that lets you address pieces of code with what are called “code addresses.” It reminds me of the more general Comby tool. Russ Cox, Matthew Dempsky, et al. |
A Global Serverless Database for Your Golang Apps — Modern applications need a serverless database. Fauna is the “Data API” for modern applications. Whether you’re building new microservices or augmenting existing services applications, Fauna lets you simplify code, reduce costs and ship faster. Fauna sponsor |
go-mod-archiver: A GitHub Actions Workflow to Preserve Old Dependencies — “Afraid of being unable to build historical versions of your Go program?” asked Brad Fitzpatrick. He made this GitHub Actions based tool to archive your go.mod dependency code to git tags in your project to ensure you can rebuild old versions again in future. Tailscale |
QUICK BITS:
|
On Benchmarking with Go — A key to accurate benchmarking is ensuring the number of samples taken is adequate to disprove performance hypotheses. Stone Code |
Why Tracing Might Replace (Almost) All Logging Lightstep sponsor |
Top Five Lessons I Learned Working with Go for Two Years — Always interesting to read about someone’s experiences. Sayed Alesawy |
🛠 Code & Tools |
gdu 5.0: A Disk Usage Analyzer with Console Interface — Written in Go, naturally. This is a neat tool. Rapidly analyze your disk space usage – it benchmarks strongly against other tools in the space. Daniel Milde |
Revive: A Fast(er), Configurable, Flexible Linter for Go — A drop-in replacement of golint that aims to provide a little more structure and configurability. It boasts being at least double the speed, too. Minko Gechev |
Free Golang Vulnerability Scanner & Fix Advice - Secure Go Projects for Free — Scan your Go code for vulnerabilities in seconds. Fix quickly with automated fix suggestions. Try Snyk for free. Snyk sponsor |
Caire 1.3: A Content-Aware Image Resizing Library — Uses seam carving to stretch out unimportant parts of an image when resizing. We first linked this a few years ago, so it’s neat to see it still getting updates and performance boosts. Endre Simo |
go-map-schema: Simple JSON Type Checking — Check the JSON payload of a request against a schema to catch bad input before any processing occurs. Kangaroux |
color 1.12.0: A Color Text Output Package — Another long standing package that continues to see updates. You’d use this if you want to colorize your program’s output on the terminal in as simple a way as possible. Fatih Arslan |
Render 1.4.0: Easily Render JSON, XML, Binary Data, and HTML Template Responses — A package for rendering various types of output in a more structured way if you’re putting together a Go-powered HTTP service, say. Cory Jacobsen |
go-elasticsearch 7.13.0: The Official Go Client for Elasticsearch — Elasticsearch is a popular search engine/document database used to implement search features in apps. elastic |
go-sqldb: A Pure Go SQL Database for Learning Database Theory — This looks like a solid weekend project. auxten |
LimitIO: |
|