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!


So just how fast are channels anyway?

So just how fast are channels anyway?

The speed of channels isn’t really the point, but I couldn’t help but wonder how fast they are. So I wrote a benchmark!

 Brian Scott


Packing multiple binaries in a Golang package

An article aimed at beginners to understand how to compose more complex packages, beyond making the usual “one package - one binary” ones. You can check it out here.

 Ilija Eftimov


imdario/gluo: write your Go net/http server once, deploy it everywhere

Write your HTTP application in Go once, deploy it everywhere (on-premise & AWS Lambda supported)

Usage

Just call gluo.ListenAndServe instead of http.ListenAndServe.

package main

import (
        "github.com/imdario/gluo"
        "net/http"
)

func handler(w http.ResponseWriter, r *http.Request) {
        w.Write([]byte("Hello from Gluo"))
}

func main() {
        gluo.ListenAndServe(":3000", http.HandlerFunc(handler))
}
 Dario Castañé


Buffalo v0.10.3 Released! - File Uploads, Unix Socket Support & Improved Windows Support

Buffalo Blog https://blog.gobuffalo.io/buffalo-v0-10-3-released-d871076013d1

 Brian Scott


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