InfoQ Homepage Go Language Content on InfoQ
-
Open-Source Package ngrok-go Aims to Make it Easier to Embed Ingress into Go Apps
Ngrok-go is an idiomatic Go package that enables Go applications to securely receive network requests through ngrok's ingress-as-a-service platform as if they were listening on a local port.
-
Google Service Weaver Enables Coding as a Monolith and Deploying as Microservices
Google has released Service Weaver, an open-source framework for building and deploying distributed applications. The Go-based framework includes a set of programming libraries that enable writing applications as a single modular binary. The other component is a set of deployers that allow for configuring the runtime topology and running the application locally or in the cloud.
-
Go 1.20 Improves Compiler Performance and Extends Coverage Support
The latest release of the Go language, Go 1.20, improves compiler performance, bringing it back in line with Go 1.17. Additionally, the language now supports conversion from slice to arrays and revises struct comparison.
-
CDK for Terraform Improves Performance by Adding Namespaces
HashiCorp released version 0.13 of the CDK for Terraform (CDKTF) with significant improvements to performance. The release introduces a major restructuring of the language by introducing namespaces. The namespace improvement dramatically enhances the performance of synthesizing infrastructure. This release builds upon the 0.12 release which saw CDKTF move into general availability.
-
Go 1.19 Improves Generics Performance and Refines its Memory Model
Go 1.19 focuses on improving the implementation of the toolchain, runtime, and libraries, especially for generics performance, the language memory model, and garbage collection.
-
On Go's Generics Implementation and Performance
On the heels of Go generics becoming stable in Go 1.18, PlanetScale performance engineer Vicent Martà dissected how they work and highlighted some performance limitations of their actual implementation. He also provided a few handy suggestions about their usage.
-
Go 1.18 Stabilizes Generics, Fuzzing, Multi-Module Support, and Improves Performance
The Go team has announced the release of Go 1.18, which brings support for generics, fuzzing, workspaces, and performance improvements.
-
Uber's Engineering Manages to Cut 70k CPUs by Tuning Go GC
In an effort to help the company become profitable, Uber’s engineering department has focused their efforts on making their infrastructure more efficient. As an outcome of this effort, they managed to develop a semi-automated GO Garbage Collection tuning mechanism which in turn saved 70K CPU cores across 30 mission critical services.
-
Go Generics Debut in Go 1.18 Beta 1
The latest beta release of Go, Go 1.18 beta 1, finally introduces support for generics programming using parametrized types, a long-awaited and highly-requested feature. Additionally, it also adds support for test fuzzing, a technique used to find inputs then uncover incorrect behaviour in a program.
-
Pants Build System Adds Support for Java, Scala, and Go
In its upcoming release, now available to early adopters, build system Pants adds Java, Scala, and Go to previously supported Python. InfoQ has spoken with Benjy Weinberger, one of the creator of Pants alongside John Sirois, and currently CEO of Toolchain, Pants' main sponsor.
-
Dapr Joins CNCF Incubator: Q&A with Yaron Schneider
The Cloud Native Computing Foundation (CNCF) recently announced that it accepted the Distributed Application Runtime (Dapr) as a CNCF incubating project. This statement follows an earlier announcement by Dapr, announcing the formation of the Dapr project's Steering and Technical Committee (STC).
-
How Pinterest Scaled up Its Ad-Serving Architecture
On the Pinterest Engineering Blog, Nishant Roy wrote about their strategy to overcome a scaling problem with their ad corpus. Their existing solution had hit its scaling limit, but further growth was necessary. Its redesign offloaded the ad index to a key-value store and optimised garbage collection in their Go applications to increase their ad corpus size by a factor of 60.
-
Go Gets Fuzz Testing Support in Beta
The Go team has announced fuzzing support is now available for beta testing. The main goal of the project is to create a unified and end-to-end experience for developers and users of the language, including robust module support, integration with the go command, and new compiler instrumentation.
-
Slack Details Its New Role Management Architecture
Slack recently posted a detailed description of the software architecture of its new role management system. Slack needed to build a system that was more flexible than the one it previously had. It created a custom containerized Go-based permission service that integrates with its existing systems over gRPC. As a result, its customers' admins now have granular control over what their users can do.
-
CDK for Terraform Adds Go Support and Improves Asset Construction
Hashicorp recently released version 0.4 of their CDK for Terraform. The CDK allows for writing Terraform configurations in a number of programming languages including C#, Python, TypeScripts, and Java. This release adds experimental support for using Go to write Terraform configurations. Also included are enhanced support for Terraform modules and asset construction.