#280 — September 20, 2019 |
Golang Weekly |
Go Internals: Capturing Loop Variables in Closures — A detailed (right down to the assembly!) look into the why and how of a common beginner mistake with looping and goroutines where the last value of the variable is the only one you see. Eli Bendersky |
TinyGo 0.8: The Go Compiler for 'Small Places' — Targeting microcontrollers, WebAssembly, and more, TinyGo adds support for more devices including, intriguingly, preliminary support for the Game Boy Advance! TinyGo |
Monitor and Protect Your Golang Apps — Alongside performance, error, and log monitoring, it’s time to bake security into your Golang apps. Sqreen allows modern teams to ship rapidly and confidently by infusing security into every app in production. Try Sqreen for free. Sqreen sponsor |
Using GitHub Actions with Go — I imagine there will be quite a few articles like this in the coming months, as GitHub Actions (while still in beta) is now immediately open to anyone who applies. Krzysztof Kowalczyk |
Testing in Go: Fixtures — Fixtures are a concept popularized by Ruby on Rails, but they are useful in all languages that value testing. Here’s one way to use fixtures in Go. Ilija Eftimov |
GoLab: A Go Conference in Italy (Oct 20-22) — Well priced, a good selection of speakers, and there’s going to be a summit of Go contributors alongside. Develer |
💻 Jobs |
Golang Developer at X-Team (Remote) — Join the most energizing community for developers. Work from anywhere with the world's leading brands. X-Team |
Sourcegraph Is Growing. Apply Now to Grow with Us — Build the best large scale developer tools. Product-market fit, clear goals, talented team, autonomy, open source, remote first. Sourcegraph |
Find a Go job through Vettery — Vettery specializes in tech roles and is completely free for job seekers. Create a profile to get started. Vettery |
📘 Articles & Tutorials |
12 Factor Configuration with Go's Gmarik |
How I'm Writing Serverless Services in Go — Some tips and tricks for writing robust serverless Go services on AWS Lambda. Ewan Valentine |
Automated Code Reviews for Go — Set standards on coverage, duplication, complexity, and style issues and see real-time feedback in your Git workflow. Codacy sponsor |
Why Go and Not Rust? — If you are wondering how Rust and Go differ, check it out. I think my favorite takeaway is “Go is a better Java / C#…Rust is a better C++” Loris Cro |
Package Management in Go — A look at the history of package management and how we got to modules, followed by what we can do with modules. DeepSource |
Designing a Data Migrator in Go — The tweaks and considerations at each participant of the process (source, workers, destination) to make data migration for millions of records both possible and fast. Ankit Pokhrel |
Go Modules and Major Versions — There are some gotchas when using modules that are beyond v2… Matt Farina |
Notes on the Structure of ELF Go Binaries Chris Siebenmann |
Go Slices Demystified — An attempt at taking a ‘slightly different approach’ to teaching the mechanics of Go’s slice type. John Reese |
🛠 Code & Tools |
FastHTTP 1.5: Fast HTTP Server and Client Package for Go Aliaksandr Valialkin |
Traefik 2.0: The Go Powered Cloud-Native Edge Router — Traefik is a popular HTTP and TCP-based reverse proxy and load balancer. It now supports routing TCP and HTTP over the same port, complete with TLS support using SNI. Support for middleware has also been introduced. Gérald Croës |
gnet: A High-Performance, Non-Blocking, Event-Loop Networking Library — “It makes direct epoll and kqueue syscalls rather than using the standard Go net package, and works in a similar manner as libuv and libevent.” Andy Pan |
New Public Go, Docker & Kubernetes Training Are Available for You Ardan Labs sponsor |
Jitterbug: Tickers with Random Jitter — Louis Thibault |
TurboCookedRabbit: A User Friendly RabbitMQ Library Written in Go — Poor rabbit! Tristan (HouseCat) Hyams |
pflag: A Drop-in Replacement for Steve Francia |