GopherAcademy Blog

Community Contributed Articles and Tutorials on Go

All Posts

Implementing Git's Compression In Go

Implementing Git’s Compression in Go Git + Go = Gitgo Gitgo is a pure Go library for core Git functions. As a ground-up implementation with no C bindings, it implements the entire structure of Git repositories from scratch.

Enigma emulator in Go

Introduction This story begins the day after I got home after giving a talk at the wonderful DevFest Siberia. Shortly after my weekly fix of Westworld, a strange nagging feeling appeared — like the one you get from unpaid bills, a postcard that you forgot to send, or a particularly nasty API endpoint that you were supposed to refactor a year ago but then, well, I mean, it works, right?

Gleam: Distributed Map Reduce for Golang

After developing Glow last year, I came to realize the two limitations of Go for distributed data processing. First, generics are needed. Of course, we can use reflection.

So you want to expose Go on the Internet

Back when crypto/tls was slow and net/http young, the general wisdom was to always put Go servers behind a reverse proxy like NGINX. That’s not necessary anymore!

Advanced Encoding and Decoding Techniques in Go

Advanced Encoding and Decoding Techniques Go’s standard library comes packed with some great encoding and decoding packages covering a wide array of encoding schemes. Everything from CSV, XML, JSON, and even gob - a Go specific encoding format - is covered, and all of these packages are incredibly easy to get started with.

Abusing Go Syntax to Create a Domain-Specific Language

Go is often the tool of choice for building the guts of a high-performance system, but Go was also designed with some features that are great for building high-level abstractions.