Go Gazette #90
Weekly curated resources for professional Golang developers
Winning a hackathon award, together with Jexia co-founder Michael (left) and co-Gopher Tarik (right)
by Sean Carpenter
8 minutes - If you know Go, but want to improve your understanding of how to use its concurrency features, then read on. If you do not know Go, I'd recommend you first start off with the Tour of Go.
by Eleni Fragkiadaki
6 minutes - Threads is a way for a program to run parts of itself in some sort of concurrent way. In this post we are going to examine the differences between running a program sequentially, using Go routines and Wait Groups
Building a Go application server (for starters)
by Chris Berry
8 minutes - Creating a Golang application server with 100% parity to an existing NodeJS web app, enabling an existing VueJS front-end to connect to the application with no additional code changes.
by Dorin Fodor
3 minutes - A front-end performance checklist that takes 87 minutes to read! Well, it includes all the tech you need to know to create fast experiences on the web today.
by Vincent Blanchon
4 minutes - A "Stop the World" (STW) is a crucial phase in some garbage collector algorithms to get track of the memory. It suspends the execution of the program to scan the memory roots and add write barriers.
by Michal Lowicki
9 minutes - In contrast to many other languages, Go doesn’t have multiple constructs for executing block of code repeatedly. There’s a single `for` statement which takes different forms to support various scenarios and also integrates well with Go-specific mechanisms like slices or channels.
- Go installation, setup, GOPATH, and workspace (6 min.)
- How to write Go code, as outlined by golang.org (5 min.)
by John Refior
5 minutes - Defer is executed immediately _before_ the function exits. And it occurs synchronously, so the caller waits for the defer to complete.
by the core Go team
5 minutes - As its Payments Platform grew larger and more complicated, PayPal sought to modernize its systems and reduce time-to-market for new applications. PayPal chose to embrace Go.
by Dirk Hoekstra
3 minutes - I use interfaces to keep my Go applications modular.
By Lane Wagner
4 minutes - I’m going to focus mostly on some design decisions and how I went about writing an SPI interface using Go on a Raspberry Pi.
by Alex Kubarev
2 minutes - While working on one of my smaller projects I came across a need to make XML-RPC requests.
by Arash Cordi
18 minutes - We managed to optimize our service to handle high load of requests and better utilize system recources.
More real-world reports:
- Kubernetes on MIPS, thanks to Go (5 min.)
- Unit test a Kubernetes client in Go (2 min.)
- Monitor processes with network connections (3 min.)
- Six months with Golang after many PHP years (5 min.)
- Distributed tracing with OpenTelemetry in Go (6 min.)
by Tit Petric
7 minutes - In our stats microservice, we issue insert queries for each request directly into the database. To take advantage of the bulk insert features of the database, we need to start a goroutine that will periodically aggregate and flush collected to the database.
by Che Dan
7 minutes - We will build a micro service step by step, explain features of Micro during this journey.
by Cleuton Sampaio
3 minutes - I will show a very basic example of MLP - Multilayer Perceptron trying to find the weights for an approximation of the exclusive disjunction function or XOR.
by Vlamidir Garvardt
3 minutes - I gathered some rules of thumb regarding logging that I use for the code I work with. All of them came from my personal experience of running and maintaining different types of services.
by Vaibhav Saini & Ganesh Prasad Kumble
5 minutes - Enhancing the code to handle document entries instead of key-value entries.
- A native macOS app on Go and React - Part 1 (8 min.)
- How to start with logging in Go projects. Part 2 (4 min.)
- 5 patterns to make your microservice fault-tolerant (9 min.)
5 minutes -A command-line tool to interact with the Elastic Cloud Enterprise (ECE) REST API. Plus: we provide you with a Golang SDK that can programmatically interact with our REST API as part of your Go application.
4 minutes - Weave Ignite combines Firecracker microVMs with OCI images, containerd and CNI to unify containers and Virtual Machines (VMs). It integrates with Kubernetes and GitOps operators that can be managed declaratively.
5 minutes - As Gophers probably can see that this needs more works to be "a product", I’d be very happy with your contributions, even small parts.
14 minutes - Heroku showing you how Terrier can help you identify and verify container and image components for a wide variety of use-cases, be it from a supply-chain perspective or forensics perspective.
7 minutes - It’s like a gogrep that is adapted for the use inside your CI pipeline.
- Ink: a framework for 2D graphics in Go
- Get JSON values quickly - JSON parser for Go
- JSON query processor with a Lispy syntax in Go
- Static analysis on raw SQL queries in Go code base
- Modular, full-featured Go application dev framework
By Ewan Valentine
4 minutes - I rarely write posts on specific libraries, but this one in particular seems to have created some discussion within the Go community. So thought I'd throw my thoughts into the ring.
By Mike Hoskins
4 minutes - Learning from the past and continuously improving is noble, but that doesn't mean old patterns fail to be useful. This is why historic awareness (not just keeping up with trends) is important to the modern polymath.
By Chris Siebenmann
2 minutes - These days, a number of core Go standard packages support functions that take a `context.Context` argument and abort their operation if the context is cancelled.
By Paul Chiusano
5 minutes - And the curious case of Go.
- From (C)Go to Rust: how to build shared/static libs (7 min.)
- Shifting container security from the edge to the core (9 min.)
By David Tolpin & Tomer Dobkin
15 minutes -Introducing the notion of a stochastic probabilistic program and presenting a reference implementation of a probabilistic programming facility, that supports specification of stochastic probabilistic programs and inference in them. Examples in Sections 2–3 are in a subset of Go.
By Pascal Fua & Krzysztof Lis
15 minutes - In this report, we use the well-known N-queens puzzle as a benchmark to show that once compiled using the Numba compiler Python becomes competitive with C++ and Go in terms of execution speed while still allowing for very fast prototyping.
By André Takeshi Endo & Anders Møller
15 minutes - No Go paper, yet interesting from back-end perspective.
Building microservices with Go
by Nic Jackson
Duration: 35 minutes
About my projects
Go Gazette is a mailing consisting of the latest and finest blogs and tools curated for Golang professionals. I am your curator Maarten Bezemer, building Dutch cloud-based platform Jexia. Our platform is providing hosting and several serverless back-end functions for front-end or full-stack developers.
Product Examples Pricing