#362 — May 14, 2021 |
Go Weekly |
Thoughts on How to Structure Go Code — Many languages have conventions on how to structure files and directories for an application, but Go leaves it up to you. This is mostly a good thing, right? Jon Calhoun |
Reflecting on Half a Million Lines of Go — Back in 2019, Kevin Dangoor of Khan Academy wrote about how KA was embarking on an effort to rebuild its server software with Go. And.. they did just that, with the end result being more than 500,000 lines of Go now running in production. Here’s a brief update of how it’s feeling to them. Kevin Dangoor (Khan Academy) |
Remote Instructor-Led Go, Docker, Kubernetes & Python Training — We offer live-streaming remote training sessions for individual engineers and companies that want to augment their knowledge in Go, Docker, Kubernetes and Python. We’ve trained over 10,000 engineers via our carefully crafted classes. Ardan Labs sponsor |
pprof++: A Go Profiler with Hardware Performance Monitoring — Uber takes us on a ride to create a better profiler that taps into hardware performance monitoring features of modern CPUs and is more accurate than pprof at scale. It’s powerful, but a big downside (amongst a few explained here) is it requires a fork of the compiler and runtime to operate. Milind Chabbi (Uber Engineering) |
A Go Modules Cheat Sheet — If you have to keep looking up what’s needed to work with dependencies, this page brings all the basics into one place (which you could even print out if you wanted). It’s not exhaustive, just the essentials. André Eriksson |
REST Servers in Go: Authentication — Eli returns with part six of his epic blog series on creating REST-oriented servers with Go. This time he focuses on HTTP basic auth over HTTPS. Eli Bendersky |
How to Do Enums in Go — Go doesn’t natively have an Marco Franssen |
Observability Won’t Replace Monitoring (Because It Shouldn’t) Lightstep sponsor |
▶ Felix Geisendörfer |
The Story of Building a Serverless CRUD App with AWS Lambda and Go
|
🛠 Code & Tools |
Bloom 3.0: A Package for Implementing Bloom Filters — Bloom filters are memory efficient data structures for determining set membership with a defined potential rate of false positives. They have numerous use cases including in caching, spell checking, and rate limiting. Will Fitzgerald |
Echo 4.3: 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. LabStack LLC |
[Free Download] Guide to Effective Feature Management — Learn feature management practices to accelerate release cycles and deploy every 6 hours, instead of every 6 weeks. LaunchDarkly sponsor |
Heimdall 7.0: An Enhanced HTTP Client for Go — Designed for making large numbers of requests, including a built in circuit breaker to control failing requests, multiple and custom retry strategies, plus a fluent API. Gojek |
EliasDB: A Graph-Based Database Written in Go — We first linked to this 5 years ago but the project is still going and getting updates with v1.2.0 released this week. You get a GraphQL interface or a REST API and data is stored within a indexed key-value store. Matthias Ladkau |
v8go 0.6.0: Execute JavaScript from Go(lang) — Lets you create V8 contexts and run code Roger Chapman |
Mangadesk: A Terminal Client for MangaDex — You could write everything I know about manga on the back of a postage stamp but this looks useful if you’re into it(?) darylhjd |
Secure: HTTP Middleware for Some 'Quick Security Wins' — Covers areas like content security policy, SSL redirects, allowing certain hosts, setting a referrer policy, etc. Cory Jacobsen |
|