#463 — June 6, 2023 |
|
Go Weekly |
Goxygen 0.4: Quickly Generate a Go Backend for a JavaScript Project — A tool that sets up a new Go-based project with Angular, React, or Vue on the front-end, Go in the back, and Docker and Docker Compose files to spin it all up. It’s been around a few years, but has just added Vue 3.3 support and a Vite-based Vue template. Sasha Shpota |
A Quick Crash Course on Go Generics — The generics fever around v1.18's release has quietened down a lot, and they're now a fundamental part of Go. If you’ve been waiting for things to calm down before jumping in, this brief, code-led post showing off the basic ideas provides an entry point. Jon Calhoun |
Jon has also written about what tildes (~) mean in generics, as well as a similar 'crash course' on interfaces. |
Better Automations & Template Design for Email APIs in Go — Stop installing this Courier.com sponsor |
IN BRIEF:
|
ChatGPT, Wardley Maps, and Go — There’s a lot mixed in here, and it’s not even finished yet: how to create a ChatGPT plugin, serve an API from Go, the basics of Wardley maps (a type of business strategy diagram), and handling SVG images. Olivier Wulveryck |
▶ Why Static Typing Came Back — This developer preferred dynamic typing but noticed the rapidly increasing popularity of statically typed languages like TypeScript, Rust, and Go. He looks at the history, the shift, and why he doesn’t think the pendulum will swing back again. Richard Feldman |
Practical Tips for Organizing Kubernetes RBAC — Learn how a clearly developed RBAC strategy can help you with security and compliance issues. Teleport | goteleport․com sponsor |
Building Our First GraphQL Server with Go: An Implementation Guide
|
🛠 Code & Tools |
When 1.0: Natural Language Date/Time Parser — We first linked to this project over six years ago(!) so it’s great to see it hit v1.0. The idea is simple: given a string like “tonight at 11:10 pm” or “next wednesday at 4:20 a.m”, you get the time object you need. Includes rules for English, Portuguese, and Russian. Oleg Lebedev |
Pnutmux: Flexible Go Web Request Router — A Web framework that uses regex for matching and handling HTTP requests. It also provides CORS handling, structured logging, URL param extraction, middleware support, and concurrency limiting. Agity Inc. |
Auth. Built for Devs, by Devs — Easily add login, registration, SSO, MFA, user management and a bazillion more auth features to your Go application. FusionAuth sponsor |
email-verifier: Verify Email Addresses Without Sending Mail — Offers a few different approaches, from validating whether a string is even formatted as a valid email address, through to looking up the domain’s MX records, and asking the remote SMTP server. AfterShip |
Local Git Contributions Visualizer — A Go-powered tool that can generate a visual representation of overall git activity on repos. A bit like GitHub’s “heatmap” but you can run it offline and on repos not necessarily stored on GitHub. Abdullah Alaadine |
Miller 6.8: A Go-Powered Textual Data File Swiss Army Knife — Like awk, sed, cut, join, and sort, all in a single place, for data formats such as CSV, TSV, and JSON. Think John Kerl |
|
|
A Go + Svelte Desktop App Example |
Template Based, Dynamic Image Batch Generation Tool — It’s not the tool itself that’s the most interesting thing here (though if you need to generate images en masse from templates and CSVs, you might disagree) but that it’s an example of a Wails-based desktop app using Svelte for the UI and Go for the heavy lifting. codenoid |