Go Community Linklog

Made a library? Written a blog post? Found a useful tutorial? Share it with the Go community here or just enjoy what everyone else has found!


Colly - Fast and Elegant Scraping Framework for Gophers

Colly - Fast and Elegant Scraping Framework for Gophers.

With Colly you can easily extract structured data from websites, which can be used for a wide range of applications, like data mining, data processing or archiving.

Features:

Clean API
Fast (>1k request/sec on a single core)
Manages request delays and maximum concurrency per domain
Automatic cookie and session handling
Sync/async/parallel scraping
Caching
Automatic encoding of non-unicode responses
Robots.txt support
Google App Engine support
 Brian Scott


Gophercises.com - coding exercises for budding gophers

Gophercises.com - coding exercises for budding gophers

Gophercises is a FREE course that will help you become more familiar with Go while developing your skills as a programmer. In the course we will build roughly 20 different mini-applications, packages, and tools that are each designed to teach you something different.

 Brian Scott


Datacol an open source control layer on top of cloud(AWS/GCP)

Datacol is a control layer on top of cloud(AWS/GCP), to provide Heroku like experience with power of Kubernetes under the hood

More: https://www.datacol.io/

Github : https://github.com/datacol-io/datacol

 shyam mohan kanojia


Automating the Backup of GitHub Repositories Using ghbackup

Let me explain my setup to keep backups of my repositories on my own server.

jorin.me/automating-github-backup-with-ghbackup

 jorin


Use Go Channels to Build a Crawler

Learn how to use channels to model your data flow by building a web crawler in Go.

jorin.me/use-go-channels-to-build-a-crawler

 jorin


Bulldog: the http checker

Bulldog is an amazing hunting dog that checks for you a list of URLs and warns you by email if one of them returns a http code that is not 200.

https://github.com/pioz/bulldog

 Enrico


Goroutines Make Concurrency (Almost) Easy [Blog]

A program that supports concurrency can carry out several operations at the same time. That’s especially important on today’s multi-core computer processors. A program that uses 4 cores at once could theoretically run almost 4 times as fast (well, for certain operations). But programs without concurrency support can usually only use a single core, which lets a lot of processing power go to waste.

Read More

 Brian Scott


The O’Reilly Programming Podcast: Inside the development of a new Go ecosystem.

The O’Reilly Programming Podcast: Inside the development of a new Go ecosystem. Mark Bates on Go and Buffalo

 Mark Bates


Securing API end points using Negroni, Gorilla Mux, and JWT Middleware

These days when I develop RESTful APIs, I prefer Go programming language in the back-end. I don’t use any “web framework” , rather I prefer the net/http package in the standard library. Along with the standard library, I also use some third-party libraries.

Read More

 Brian Scott


Baloo - Expressive end-to-end HTTP API testing made easy in Go

Expressive and versatile end-to-end HTTP API testing made easy in Go (golang), built on top of gentleman HTTP client toolkit.

Baloo Package

 Brian Scott


The 7 stages of becoming a Go programmer ( Article )

Whether you're new to Go or a seasoned Gopher, you may recognize these steps on the path to Go enlightenment.

Read More

 Brian Scott


Matcha - A framework for building iOS and Android apps in Go

Matcha is a package for building iOS and Android applications and frameworks in Go. Matcha provides a UI compenent library similar to ReactNative and exposes bindings to Objective-C and Java code through reflection. The library also provides Go APIs for common app tasks.

 Brian Scott


When to use Defer in Go

Defer is a powerful control flow mechanism that is unique to Go (at least until Swift 2.0 added it). It allows you to defer a function call to the end of the currently executing function no matter how or where it returns. This is useful for many reasons, the most common of which are to close an open connection or unlock a Mutex immediately before the function ends.

Read More

 Brian Scott