#325 — August 14, 2020 |
Go Weekly |
Go 1.15 Released — Hit up the release notes to go through everything that’s new, but the highlights include substantial improvements to the linker, better allocation in some cases, and various core library improvements. This is a step forward for Go, however, rather than a feature-packed leap. Do note, though, that some people ran into issues with TLS connections involving certificates without SANs (now fixed in this case but may cause issues elsewhere). The Go Blog |
Proposal: Register-Based Go Calling Convention — This proposal hopes to increase performance (well, throughput) by changing the Go ABI’s stack-based calling convention to a register-based version. This won’t affect most Go developers at a day to day level, but feel free to read on for the gritty details. Austin Clements |
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 5,000 engineers via our carefully crafted classes. Ardan Labs sponsor |
Why Go Modules Are Faster Than GOPATH — The short answer is modules usually end up having to download much less code (in some cases, zero code) for a given set of dependencies. Hurray for progress! Tyler Bui-Palsulich |
AWS Lambda Now Supports Go on Amazon Linux 2 — AWS Lambda, Amazon’s serverless platform, has supported Go directly for a while now, but support has now been extended to the newer Amazon Linux 2 runtime. Amazon Web Services |
💻 Jobs |
Senior Software Engineer at Even (Anywhere) — Help people break the paycheck-to-paycheck cycle. Build w/ Go, React Native, GraphQL, Postgres, Bazel. Remote encouraged. EVEN |
Software Engineer - Want to Build a Platform Ecosystem in Go? — Skool is hiring its 2nd backend engineer in Los Angeles, CA. Go, PostgreSQL, Redis, Elasticsearch, Docker. Apply now. SKOOL |
Find a Job Through Vettery — Use Vettery to connect with hiring managers at startups and Fortune 500 companies. It's free for job-seekers. Vettery |
📘 Tutorials |
How Go 1.15 Improved Converting Small Integer Values to Interfaces — This gets in the weeds a bit, but the short answer is a static array of integers that can be pointed to instead of a heap allocation. Chris Siebenmann |
Create a Serverless Go App for AWS Lambda — A basic, entry level tutorial to using Go in a serverless context. Shubham Chadokar |
Deploying Serverless Go Functions with Netlify — It’s a bit convoluted, but the end process of having Go functions in your JAMstack might just be worth it. Todd Birchard |
Sqreen sponsor |
Lessons from Go: Keep Calm and Use the Byte Array — Byte arrays are ubiquitious in Go, despite being hidden being abstractions in other languages. And this is a good thing. Preslav Rachev |
▶ Let's Build a Concurrent Download Manager — A practical 20 minute screencast. GitHub repo. Muhammad Usman |
What Is the Extension Interface Pattern in Go? Emmanuel Sys |
🛠 Code & Tools |
Multiple Progress Bar: Progress Bars for Go CLI Apps — Straightforward textual progress bars with support for rendering multiple bars at the same time (such as for tasks running concurrently). v5.3.0 just came out. Vladimir Bauer |
immudb: A Lightweight, High-Speed Immutable Database — An open source data that boasts no data mutation APIs at all and a ‘tamper-evident’ history system. It’s built in Go. GitHub repo. immudb |
Optimize Your Go Applications in One Place — Datadog APM enables you to visualize how requests propagate through your distributed infrastructure. Try it for free today. Datadog APM sponsor |
Excelize 2.3: A Library for Reading and Writing Excel Files — Read and write XLSX files, set and read cell values, add charts. v2.3.0 lets you set cell values concurrently, and provides some new APIs for improved access to formatting and columns. 360 Enterprise Security Group, Endpoint Security, inc. |
Dynamo: An Expressive DynamoDB Library — This week’s new release improves support for null and empty values. Greg Greg |
Oscar: Next Generation Building Tool for Nothing — Yes, this is a joke/lighthearted project! You’d use this to make it look like you’re being productive when you’re not (obligatory xkcd reference). dongdong |
Got: Go Package and CLI Tool for Downloading Large Files Over HTTP Faster — The technique used is to concurrently download numerous ranges of the desired file which can be quicker in many cases (but may also be frowned upon if it causes extra load). Mohamed El Bahja |
httpmock: Easy Mocking of HTTP Responses From External Resources Jared Morse |
Sarama: A Go Client Library for Apache Kafka 0.8+ Shopify |