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!


Composition in Go

Go does not support inheritance, however it does support composition https://golangbot.com/inheritance/

 


Learning - The Go Programming Language Book

For those new to Golang, here is a pretty popular Go Programming Book

 Brian Scott


Golang Mutexes

Understanding mutexes, solving race condition using mutexes and channels https://golangbot.com/mutex/

 


Select Statement in Go

https://golangbot.com/select/ Learn how select statement works and also get to know the practical use of select.

 


Overmind and Hivemind, Procfile-based process managers for local web development

https://evilmartians.com/chronicles/introducing-overmind-and-hivemind

Procfile, introduced by David Dollar's foreman, is a popular format for declaring processes—everyone who ever used Heroku, knows it well. Anyone who didn't, really should learn it—it's an easy way to declare all the stuff that is needed to run your project (web app, additional apps, background processing, tools and daemons) and launch it.

Unfortunately, foreman had some limitations, so there are new kids on the block—tmux support, tons of features, speedy and stable. Check them out!

 Yaroslav Markin


Sending Emails in Buffalo

In this video we will look at how we can use the github.com/gobuffalo/x/mail package to send emails within a Buffalo application. We’ll see how to set multiple bodies, as well as an attachment, to the email. This video also demonstrates the new buffalo-mail plugin for this package.

https://blog.gobuffalo.io/sending-emails-in-buffalo-e211d3d8e20a

 Mark Bates


Go Developer, Go -- Bootstrapping "Go" for multiple operating systems and architectures

Read this article (https://www.fedux.org/articles/2017/07/29/bootstrapping-go.html) if you're interested in bootstrapping an environment for building go binaries to run on Windows, MacOS and Linux.

 Dennis Günnewig


Buffered Channels and Worker Pools

Learn how buffered channels work and how they can be used to implement worker pool. https://golangbot.com/buffered-channels-worker-pools/

 


Terraboard - A web dashboard to inspect Terraform States

Terraboard

Terraboard is a web dashboard to visualize and query Terraform states. It currently features:

an overview page listing the most recently updated state files with their activity a state page with state file details, including versions and resource attributes a search interface to query resources by type, name or attributes

 Brian Scott


Surf - Stateful programmatic web browsing in Go.

Surf is a Go (golang) library that implements a virtual web browser that you control programmatically. Surf isn't just another Go solution for downloading content from the web. Surf is designed to behave like web browser, and includes: cookie management, history, bookmarking, user agent spoofing (with a nifty user agent builder), submitting forms, DOM selection and traversal via jQuery style CSS selectors, scraping assets like images, stylesheets, and other features.

 Brian Scott


Introducing vice: Go channels across many machines

Vice abstracts message queue technologies and gives you plain old Go channels through which you can communicate instead.

Blog Post

 Brian Scott