Delivered once every Week. No Spam Ever.

Issue - 16


Worthy Read

Go tools are very powerful and yet simple to use. But how are Go tools created? In this talk I’m going to answer this question by showing the various Go parser family packages (go/token, go/scanner, go/parser, etc…) and how to use them to create your own Go tool from scratch.

Join our community of 15k+ developers & programmers to share and bond over fun rants & stories about code, tech, and life as a programmer (on iOS, Android & web)

The Go project wants to hear from you! Our goal is to create the best language for developing simple, reliable, scalable software. We are asking you to help by participating in a survey and if applicable, a company questionnaire.

This post is about declaration scopes and shadowing in Go.

Here are a few useful tools that you might not have in your toolbox yet: interfacer, zb, realize, and binstale. They have nothing in common except that each of them solves a particular problem well.

Go is mainly a C family programming language, but Go also has some object-oriented features. This article will list all OO concepts and details in Go.

GreenWall is a tiny service health dashboard written in Go (with frontend prepared in Bootstrap). The aim of this project is to develop a small web application that can be run as a live dashboard, which presents health statuses of specified server nodes. The app can be installed in a couple of seconds thus do not hesitate to run this on your operational wall screens!

Data from indeed.com showing Go's demand vis a vi other languages. Note data is till Oct 16.

Concurrency in Go materializes itself in the form of goroutines (independent activities) and channels (used for communication). While dealing with goroutines programmer needs to be careful to avoid their leakage. They leak if end up either blocked forever on I/O like channel communication or fall into infinite loops. Even blocked goroutine consumes resources so the program may use more memory than actually needed or eventually run out of memory and crash. Let’s see a couple of examples when it may happen. Then we’ll focus on how to detect if program is affected by such plague.

Go 1.8 is going to feature support for HTTP/2 server push. HTTP/2 has many features designed to make the Web faster. One of those features is the server push, the ability to send resources before the client asks for it. This feature enables websites to push assets like JavaScript and CSS files before waiting for the web page to be loaded and asking for those resources. net/http package will support server push by exposing a Pusher API that will be supported by HTTP/2 ResponseWriters. This interface is only implemented when HTTP/2 is available.

When building a web application from scratch, there are a lot of decisions to make. The goal of this guide is to give one more example of how you can go about building a web application in the Go language, as well as to give you an idea what things you need to start thinking about and plan for before you get started.

97% of developers will fail you. We are the other 3%. Let Toptal match you with a great developer. Get started now.


Jobs


Europe
We are a funded, early stage startup founded in 2015 based out of London. We have many thousands of users of our B2B platform across the globe, our mission: to connect every system in the world. We’re looking for a Lead Go Developer that can work with our engineering team to deliver the next generation of the Tyk product line.

Netherlands
Jexia is a tech company, and software engineers are the core of our team. As a team of engineers Jexia is creating the next generation developer platform for developers across the world, to build professional software. Jexia wants to change how developers work and Jexia are going to provide all the necessary tools to make this happen.


Projects

godb - 22 Stars, 1 Fork
godb is a simple Go ORM. It contains a simple SQL query builder and manages mapping between SQL and structs.

pakr - 11 Stars, 1 Fork
A package version resolver Go library, built on top of bindings for picosat (SAT Solver)

hercules - 9 Stars, 1 Fork
This tool calculates the lines burnout stats in a Git repository. Exactly the same what git-of-theseus does actually, but using go-git.

hcms - 2 Stars, 0 Fork
headless, api driven, content first cms based on ReactJS and Golang.