#351 — February 26, 2021 |
Go Weekly |
'Go is not an easy language.' — The syntax is simple, the semantics are simple, but doing useful stuff is ‘not always easy in Go.’ The point made by the author here is rather simple IMHO, but it provoked some interesting discussion (423 comments!) on Hacker News. Maybe Go is like the guitar.. easy to learn but hard to master? Martin Tournoij |
A Proposal to Add Fuzzing to the Go Standard Library — Fuzzing is a type of testing that mutates inputs to a program under test to catch issues that common testing or humans would miss. The proposal is targeting Go 1.17 as an experimental feature and there’s a design draft here. Katie Hockman |
Combining GoLang, REST, NoSQL and Serverless — Connect your Go service, CLI or app to an automatically generated GraphQL data access API for your NoSQL DBaaS in < 5 minutes. Astra is cloud delivered, Kubernetes based & developer ready. | Get your free forever cluster running in a few clicks. DataStax Astra sponsor |
Contexts and Structs — A new post on the official Go blog digging into Jean de Klerk and Matt T. Proud |
A Rundown of What's New in Go 1.16 — Last week we featured the release of Go 1.16 but this post takes a more accessible walk through a few of the updates. Ayooluwa Isaiah |
💡 We have an interview at the end of this issue — check it out :-) |
📘 Tutorials and Stories |
The Life of an HTTP Request in a Go Server — Eli continues his streak of solid blog posts with a look at the route a typical HTTP request takes through a Go server. Eli Bendersky |
Injecting Values into Variables at Build Time — What if you want to set the value of certain variables without those values being present in source control? You could load them in at runtime, or… use the -X option of Go’s linker. Oliver Leaver-Smith |
Visualize Golang Performance End-To-End with Datadog APM — Datadog's distributed tracing and APM generates flame graphs from real requests, enabling you to visualize app performance in real-time. Datadog APM sponsor |
Writing a Simple TCP Server Using Kqueue — Kqueue provides event notification functionality to FreeBSD-based operating systems and writing a basic echo server is a good way to learn how it works. Frank Rosner |
Building Solid Go GraphQL Applications Quickly — Some thoughts from someone who’s been there. Testing is the key to confidence, Peter reckons. Peter Ohler |
Context and Variables in the Hugo Static Site Generator — Hugo is a popular static site generator built in Go and this tutorial introduces some more advanced concepts around how Hugo handles context. Kristian Lumme |
Rapidly Developing Go Microservices on Kubernetes with Telepresence — Written by a developer advocate promoting Telepresence, a (commercial) tool this tutorial is oriented around, so keep that in mind. Peter O'Neill |
Why a Team is Switching From C# to Go for Backend Development Phil Richards (Aluma) |
🛠 Code & Tools |
Dither: A Fast and 'Correct' Image Dithering Library — There’s something about a well dithered image that takes me back to the 1990s :-) This library supports quite a few approaches. Makeworld |
GoMock 1.5.0: A Mocking Framework for Go — Has two modes of operation: source and reflect. Source mode generates mock interfaces from a source file. Reflect mode generates mock interfaces by building a program that uses reflection to understand interfaces. Go Project |
Video for Your Go App That Streams Beautifully, Everywhere Mux sponsor |
Redigo: A Go Client for Redis — Supports all the Redis commands through a Print-like API and also offers connection pooling, helper functions for handling replies, and pipelining support. Gary Burd |
go-ipfs 0.8.0: An IPFS Implementation for Go — IPFS (InterPlanetary File System) is a peer-to-peer protocol and network for organizing a distributed file system. v0.8.0 of this Go implementation has added quite a few new features. Go IPFS Community |
Sloc, Cloc and Code (scc) 3.0: A Fast Accurate 'Code Counter' — For multiple languages, counts lines of code and estimate code complexity. v3.0 moves things up to Go 1.16, adds M1 and ARM support, and more. Ben Boyter |
💻 Jobs |
Sr. Software Engineer at CrowdStrike (Remote) — CrowdStrike is the leader in cloud-delivered endpoint protection, which helps protect our customers from cybersecurity attacks. CrowdStrike |
Senior Software Engineer (Go) - 100% Remote, UK/EU Only — Solving complex technical challenges using the latest, cloud-native technologies to help Banks and FinTechs move money faster. Form3 |
Find Your Next Job Through Hired — Create a profile on Hired to connect with hiring managers at growing startups and Fortune 500 companies. It's free for job-seekers. Hired |
|