Base Go packages
The Go standard library is generally great, but some parts have replacements that are just plain better and remove frustrations that you may have not even realised were frustrations. Here are my recommendations for every Go program.
I wouldn’t recommend that anyone use the standard library version of these for any purpose, since better alternatives exist.
This list may expand in the future.
gorilla/mux
The standard router is fine, but very low level. Here’s some of the features that makes it vital.
Filter on HTTP method
With the standard router you have to manually check that the method is
what you expect it to be, and if the same endpoint has both GET and
POST then you have to route that yourself. With gorilla/mux it’s as simple as:
r := mux.NewRouter()
get := r.Method("GET").Subrouter()
post := r.Method("POST").Subrouter()
get.HandleFunc("/", handleRoot)
get.HandleFunc("/items", handleListItems)
post.HandleFunc("/items", handleUploadItem)
You can also assert that headers are in place, for example to check
X-Requested-With because some API endpoints should not be allowed in
cross-domain XHR requests. Adding it to the router instead of manual
checks simplifies code and reduces risk of forgetting to add the
check.
Pattern URLs
With Continue reading

Virtualization is the key to making new 5G use cases a reality, according to top tech chiefs at U.S. wireless operators.
The company claims its cloud storage costs less than one-fifth the price of Amazon S3 and is more than six times as fast.
Microsoft introduces Azure DevOps; OpenDaylight releases Fluorine ; and Sprint and Nokia collaborate on 5G.





