github.com/amattn/gtls

gotutorial.net simple http tutorial follow along. learn how to make testable web servers with go.


Install
go get github.com/amattn/gtls

Documentation

GoTutorial.net Link Shortener

This is a sample project accompanying GoTutorial.net's web app lesson. The slides that accompany this tutorial can be found at http://gotutorial.net/golang_lessons.html.

Basic Tutorial Usage

git clone https://github.com/amattn/gtls.git
cd gtls

git checkout tags/b01
git checkout tags/b02
git checkout tags/b03
...

after any checkout you can:

go test 
go build && ./gtls

to get a diff of changes between build, use the following git command:

git diff b09 b10

Database

Install or update the driver with

go get -u github.com/lib/pq

You can install the test db with macports

# install postgres
sudo port install postgresql95-server

# setup db locally
sudo mkdir -p /gtls/db
sudo chown postgres:postgres /gtls/db
sudo su postgres -c '/opt/local/lib/postgresql95/bin/initdb -D /gtls/db' 

In a different terminal window, start like so:

sudo su postgres -c '/opt/local/lib/postgresql95/bin/pg_ctl -D /gtls/db -l /gtls/db/postgres.log start'

To uninstall simple remove the root gtls directory:

sudo rm -Rf /gtls

To setup the db:

sudo su postgres -c '/opt/local/lib/postgresql95/bin/createuser --superuser tutorial -U postgres'
sudo su postgres -c "/opt/local/lib/postgresql95/bin/psql -c \"ALTER USER tutorial WITH PASSWORD 'changeme';\""
sudo su postgres -c "/opt/local/lib/postgresql95/bin/psql -c \"CREATE TABLE links (code VARCHAR(64) NOT NULL,url TEXT NOT NULL,PRIMARY KEY(code));\""