Negroni: HTTP middleware written in “idiomatic” Go

Negroni logo

http://negroni.codegangsta.io/


From the GitHub page:

Negroni is an idiomatic approach to web middleware in Go. It is tiny, non-intrusive, and encourages use of net/http Handlers.

Negroni is not a framework. It is a library that is designed to work directly with net/http.

Negroni is BYOR (Bring your own Router). The Go community already has a number of great http routers available, Negroni tries to play well with all of them by fully supporting net/http.

Node Version Manager: Manage multiple active node.js versions

Node.js logo

https://github.com/creationix/nvm


Commands

$ nvm [tab][tab]
alias        deactivate  install      ls                  run        unload
clear-cache  exec        list         ls-remote           unalias    use
current      help        list-remote  reinstall-packages  uninstall  version

Two Microsoft Windows alternatives:

  • nvmw – Requires Python and Git
  • nvm-windows – Written in Go. Installer available.

Effective Go: A primer for writing idiomatic Go code (based on Go’s unique properties)

Go Gopher Mascot

https://golang.org/doc/effective_go.html


This is for folks who are already somewhat familiar with Go.

From the Effective Go Introduction:

Go is a new language. Although it borrows ideas from existing languages, it has unusual properties that make effective Go programs different in character from programs written in its relatives. A straightforward translation of a C++ or Java program into Go is unlikely to produce a satisfactory result—Java programs are written in Java, not Go. On the other hand, thinking about the problem from a Go perspective could produce a successful but quite different program. In other words, to write Go well, it’s important to understand its properties and idioms. It’s also important to know the established conventions for programming in Go, such as naming, formatting, program construction, and so on, so that programs you write will be easy for other Go programmers to understand.