Weekly Golang Newsletter

Insightful Articles, Tutorials, Projects, Videos, Tweets delivered in your inbox.

Join Thousands of Golang Programmers And Keep Your Programming Skills Updated.

Latest Issue


Worthy Read

testing
,
docker
In this tutorial, you will learn how to perform integration testing with Go. We will create a sample application, which will make use of another microservice written in Go. The integration tests will test the interaction between the application and the microservice. Get familiar with the benefits of using Docker for integration tests, and learn how Docker can help you perform integration testing on Go applications.

core-golang
The latest Go release, version 1.7, arrives six months after 1.6. Most of its changes are in the implementation of the toolchain, runtime, and libraries. Take a look at what's changing from 1.6 to 1.7.

Quiz
Dave is a golang community leader and here is yet another question on his twitter stream. See if you can answer it. Click on the golang playground link to see the program. Don't cheat by looking at the answers ;) ... Read the twitter conversation to know the answer and reason there of.

message queue
Consider two processes that need to exchange commands and data. You want to connect them in a way that is straightforward, efficient, and reliable. How would you do that? Mangos is a Go implementation of nanomsg. It features an easy and intuitive API, as we will discover later when going through a first example.

sponsor
Quickly pinpoint what’s broken and why. Get the context and insights to defeat all application errors.

Travis Reeder, CTO and co-founder of Iron.io, gave a talk at Goto Chicago 2016 discussing Iron.io’s early migration to Go, why we changed our infrastructure and the benefits it has brought to us.

A lexer is a software component that analyzes a string and breaks it up into its component parts. Each part is tagged with what type of thing it is. This is called lexical analysis. For natural languages (such as English) lexical analysis can be difficult to do automatically but is usually easy for a human to do. Let's look at an example of lexically analyzing the following English sentence often used in typing practice (because it uses every letter in the alphabet). This article is about lexmachine, a library I wrote to help you write great lexers in Go. If you are looking to write a golang lexer or a lexer in golang this article is for you.

protocol-buffer
,
JSON
Protocol Buffers (a.k.a., protobuf) are Google's language-neutral, platform-neutral, extensible mechanism for serializing structured data. You can find protobuf's documentation on the Google Developers site. Most apps we make need a means of communication. We usually use JSON, or just plain text. The truth though, is, that JSON isn’t really a fast format. The marshaller in Go also isn’t that fast. That’s why in this article we’ll learn how to use google protocol buffers. They are in fact very easy to use, and are much faster than JSON.

community
Women Who Go SF had our inaugural event on June 24th, 2015. Which means.. we're turning 1 year old! So we are inviting all gophers to come together in celebration of Women Who Go and the openness, inclusion and growing diversity of the Go community.

I’ve been trying to solve the challenge of looking at golang stack traces that contain significant amounts of useless data hiding that 50-100 line gold mine that gives me the root cause as to why 100s of goroutines are all stuck waiting on a specific lock. I’ve created a simple tool, elastistack, which will take a Golang stack trace dump and bulk load it into a running Elasticsearch endpoint. But, the real question is, does this actually help me more efficiently and easily find the kind of issues I’m looking for? I’m glad to say the answer is yes so far, and I’ll provide an example here to help illustrate.

core-golang
,
testing
Golang 1.7 ( in beta ) introduces subtests and sub-benchmarks. Now, you can label subsections in tests. Source @rakyll on twitter - https://twitter.com/rakyll/

productivity
Monitoring changes in the source file and automatically compile and run (restart).

community
,
conference
With over 400 delegates, speakers, and sponsors, the Golang UK conference aims to deliver fantastic up-to-date content about Go programming and related technologies in a comfortable and professional setting. There are countless networking opportunities to engage with international speakers and delegates, making the event one you won't want to miss.

sponsor
JIRA Software is the #1 software dev tool used by agile teams. Get started for free!


Projects

totp-ssh-fluxer - 540 Stars, 19 Fork
Some people change their SSH port on their servers so that it is slightly harder to find for bots or other nasties, and while that is generally viewed as an action of security through obscurity it does work very well at killing a lot of the automated logins you always see in /var/log/auth.log . For this, I present totp-ssh-flux, a way to make sure your sshd port changes every 30 seconds, and possibly causing your adversaries a small period of frustration.

pxl - 326 Stars, 9 Fork
Display images in the terminal.

generic - 62 Stars, 3 Fork
This is an experiment to enable generic with code generation in the most elegant way.

gimme - 56 Stars, 1 Fork
Dependency-less dependencies for Go. Gimme copies dependency source files into your project Rewrites package declaration to match your code. Familiar usage - uses go get under the hood. Configurable by package authors

android-go - 51 Stars, 1 Fork
The android-go project aims to provide a platform (namely an SDK) for writing native Android apps in Go programming language. All things here were designed to be less coupled as possible, thus maintaining a great level of flexibility while keeping things simple and easy to use. The approach and tools are different from gomobile, please distinguish them apart.

go-proto - 7 Stars, 1 Fork
A Go library providing support for operations on protocol buffers.

firebase-server-sdk-go - 7 Stars, 0 Fork
Firebase Server SDK for Golang. Note that this is not an official SDK written by Google/Firebase. Firebase only offers the Server SDK in Java and Node.js. This is simply an attempt to implement the Firebase Server SDK by reverse engineering the official ones. If you decide to use this SDK, be warned that you may need to migrate at some point in the future when Google decides to release an official go SDK.