#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 flag Package — An easy way to comply with 12 factor methodology for your config requirements using the standard library’s command line flag parsing package.
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 — jitterbug.Ticker behaves like time.Ticker
Louis Thibault
TurboCookedRabbit: A User Friendly RabbitMQ Library Written in Go — Poor rabbit!
Tristan (HouseCat) Hyams