The Best Go Content on the Internet


Go Advent Day 8 - Doctor Who and the mutant Go compilers

Contributed by

At the end of 1963 the UK was in the grip of Beatlemania, but for an impressionable 7-year old like me, it was the arrival of Doctor Who that really fired my imagination. The highlight of my week was peeping out from behind the furniture in our living-room on a Saturday evening, alternately terrified and transfixed by the exciting new program on our small black-and-white television set. During the rest of the week, my friends and I would play “Daleks”.

Read more...

Go Advent Day 7 - A Router for GOV.UK

Contributed by

Introduction When we set out to build GOV.UK, the new home for UK Government information and services, we decided up front that we wanted an architecture that would allow us to build very focussed applications that did one thing well. We didn’t have a clear idea of how our product or our teams would develop and we wanted to keep our options open. And we wanted to encourage a culture of experimentation where people could easily plug in whichever HTTP-fluent tool helped them most effectively meet whichever user need they were working on.

Read more...

Go Advent Day 6 - Service Discovery with etcd

Contributed by

Introduction At Poptip, our first foray into Go was a small but critical service that required extremely high throughput for a non-trivial amount of text processing. Skeptical at first, I remember having a conversation with a friend who was raving about how much he had been enjoying Go, and noticed that some other very smart people had chosen to bet their entire companies on the language. After writing a few benchmarks, we were very happy with the results and confident to move forward with the project.

Read more...

Go Advent Day 5 - An introduction to beego

Contributed by

An introduction to beego Beego is an open-source, high-performance and lightweight application framework for the Go programming language. It supports a RESTful router, MVC design, session, cache intelligent routing, thread-safe map and many more features that you can check out here. This post will give you an overview and get you started with the beego framework. Overview The goal of beego is to help you build and develop Go applications effectively in the Go way.

Read more...

Go Advent Day 4 - GoConvey

Contributed by

Introduction One highly appealing aspect about Go is built-in testing with go test. From one who once eschewed test-driven development, I now wholly encourage it. Testing is fundamental to writing Go code, and Go 1.2’s new test coverage tools make TDD more compelling than ever. Introducing GoConvey GoConvey is a new project that makes testing even better in Go. It consists of (1) a framework for writing behavioral-style tests, and (2) a web UI which reports test results in real-time.

Read more...

Go Advent Day 3 - Building a Twelve Factor App in Go

Contributed by

Introduction I’ve been writing a lot of Go code lately, but only recently discovered the Twelve Factor App manifesto. Coming from an Operations background I really resonated with many of the topics and solutions covered by Twelve Factor. If you have not read the manifesto go check it out, I’ll wait… It’s pretty obvious there are twelve things you gotta do to build a Twelve Factor App, but in this post I’m going to focus on factor three, which mandates that application configuration be stored in the environment.

Read more...

Go Advent Day 2 - Go 1.2 performance improvements

Contributed by

Introduction 7 months, 1600 changes, well over 350 issues closed¹, and Go 1.2 is done. Go and install it now – it’s ok, it only takes a few minutes – I’ll wait. When Go 1.1 was released earlier in the year I did a series of posts (part 1, part 2, part 3) exploring the performance improvements the then current released provided. Go 1.1 was a herculean development effort, stretching some 14 months, and it brought with it equally impressive performance improvements.

Read more...

Go Advent Day 1 - Go 1.2 is released

Contributed by

Welcome Welcome to our first Go Advent Calendar. Gopher Academy is bringing you 25 blog posts about Go in 25 days and we’re starting from the top with a blog post from the Go team themselves. A new Go release It’s official: Go 1.2 was released this morning. The Go 1.2 development cycle started with a flurry of commits on the 14th of May. Shortly afterwards Andrew Gerrand posted a plan for the development cycle.

Read more...

Go Advent 2013 starts next week

Contributed by

Introduction Over at GopherAcademy, we’re getting in the Christmas spirit a little early this year. We’ve decided to do a Go Advent Calendar, highlighting cool Go projects every day from December 1st through the 25th. Other communities have done similar concepts in the past, and it’s a good way to highlight projects that people may not have seen. We’ve lined up a fantastic and varied set of contributors from around the Go multiverse who will bring you 25 Go related posts to fill your Christmas stockings.

Read more...

SkyDNS (Or The Long Road to Skynet)

Contributed by

SkyDNS and Skynet This article is in two sections. The first is the announcement of SkyDNS, a new tool to help manage service discovery and announcement. The second part of the article is a bit of a back story about why we needed this tool and how we got here. If you’re the impatient type, you can read the annoucement and description of SkyDNS and skip the rest. SkyDNS Today we’re releasing SkyDNS as an open source project on github.

Read more...