-
Notifications
You must be signed in to change notification settings - Fork 17.7k
LearnServerProgramming
Jason Buberel edited this page Aug 29, 2015
·
45 revisions
This page links to resources for learning about server programming in Go - both web services and mobile backends. The items are organized into sections by topic.
- Read Writing Web Applications with the Go standard library
- Read Building Web Applications in Go from the author of the Negroni and Martini webserver toolkits.
- Read Build a Web Application With Go from the author of the BeeGo web framework
- Code A Tour of Go: Web Servers and HTTP Handlers
- Watch Go: code that grows with grace
- Package net/http provides HTTP client and server implementations.
- Package encoding/json implements encoding and decoding of JSON objects as defined in RFC 4627.
- Package net/rpc provides access to the exported methods of an object across a network or other I/O connection.
- Package os/exec runs external commands.
- Package text/template implements data-driven templates for generating textual output.
- Package html/template implements data-driven templates for generating HTML output safe against code injection.
- Read Profiling Go Programs
- Read Arrays, slices (and strings): The mechanics of 'append'
- Read the Frequently Asked Questions (FAQ), especially
- Package bufio implements buffered I/O.
- Package runtime/pprof writes runtime profiling data in the format expected by the pprof visualization tool.
- Package net/http/pprof serves via its HTTP server runtime profiling data in the format expected by the pprof visualization tool.
- Package expvar provides a standardized interface to public variables, such as operation counters in servers.
- Package flag implements command-line flag parsing.
- Package log implements a simple logging package.
- Package glog implements logging analogous to the Google-internal C++ INFO/ERROR/V setup.
- Package os provides a platform-independent interface to operating system functionality.
- Package path/filepath implements utility routines for manipulating filename paths in a way compatible with the target operating system-defined file paths.
- Package database/sql provides a generic interface around SQL (or SQL-like) databases.
- Read Google Cloud Platform: Go Runtime Environment
- Watch Go and the Google Cloud Platform
- Read Go on App Engine: tools, tests, and concurrency
- Read Deploying Go servers with Docker
- Search packages for Google Cloud or gcloud
- Search packages for App Engine or GAE
- The aws-sdk-go repository provides automatically generated AWS clients in Go. It has official support from Amazon.
- Package goamz enables Go programs to interact with the Amazon Web Services.
- Search packages for AWS or Amazon services
- Microsoft OpenTech's azure-sdk-for-go provides a Golang package that makes it easy to consume and manage Microsoft Azure Services.
- Search packages for Azure
- Rackspace's gophercloud is a Golang SDK for working with OpenStack clouds.
- Search packages for Openstack or Rackspace