-
posts
-
Zero Copy Readers in Go
The io.Reader interface is a small interface that defines a single Read method. Callers to a Reader implementation pass a byte slice which is then filled with bytes from the underlying source. This source could be a file, a network socket, etc.
t...
-
Four Tips for Writing Better Go APIs
Go is a really powerful programming language that allows you to write concurrent code that is still easy to understand. But designing APIs can be hard, even for seasoned Go programmers. When designing APIs for libraries and applications in Go it’s...
-
Building Go Applications with Google Container Builder
Gopher image Creative Commons Attribution 3.0 Unported (ja) by tenntenn
Recently I wrote on Twitter about how doing CI right requires you to properly separate your build and run steps for your container images.
The reason for this issue is t...
-
Creating Smaller Docker Images Part #4: Static Binaries
This is the fourth post in a series on making smaller Docker images: static binaries. In the
first post I talked about how to create
smaller images by writing better Dockerfiles. In the second
post I talked about how to squash
layers using docker-...
-
HTTP/2 and Go
UPDATE (2015/10/15): HTTP/2 is now enabled by default for http servers in tip and will
be released as part of Go 1.6. That means that you
will be able to create HTTP/2 servers without even
calling ConfigureServer().
HTTP/2 is a new versio...
-
Deploying Go Servers with Kubernetes on Container Engine
Cross posted on medium
I was trying to get a Go app running on Container Engine and couldn’t quite
find what I was looking for. There are guides out there about how to use Go and
Docker, and how to use Kubernetes but but not many about Go app...
-
Some General Trends in Programming Languages
There are a number of next generation of languages that have come out and are
becoming popular in recent years that are trying to use what has been learned
from large development projects. Some of the more popular languages aimed at
servers are Go...