diff --git a/076-postgres/076-postgres.go b/076-postgres/postgres.go similarity index 84% rename from 076-postgres/076-postgres.go rename to 076-postgres/postgres.go index 5fbc186..62dbcb4 100644 --- a/076-postgres/076-postgres.go +++ b/076-postgres/postgres.go @@ -1,11 +1,11 @@ +// ## Postgres + package main -import ( - _ "github.com/bmizerany/pq" - "database/sql" - "fmt" - "time" -) +import _ "github.com/bmizerany/pq" +import "database/sql" +import "time" +import "fmt" func main() { db, openErr := sql.Open("postgres", "dbname=gobyexample sslmode=disable") @@ -50,16 +50,7 @@ func main() { fmt.Println(dropRep) } -// == running -// # start postgres -// $ createdb gobyexample -// $ cd xx-postgres -// $ go get -// $ ./xx-postgres - -// == todo -// connection pooling -// concurrency -// re-connection -// errors -// explain +// todo: connection pooling & concurrency +// todo: re-connection +// todo: errors +// todo: database_url diff --git a/076-postgres/postgres.sh b/076-postgres/postgres.sh new file mode 100644 index 0000000..6bc1a7b --- /dev/null +++ b/076-postgres/postgres.sh @@ -0,0 +1,10 @@ +# First, be sure that you've installed Postgres +# and have a server running locally at port 5432. + +# Then create an example database. +$ createdb gobyexample + +# Now install the dependencies for the postgres +# example and try running it. +$ go get github.com/bmizerany/pq +$ go run postgres.go diff --git a/077-rand/077-rand.go b/077-rand/077-rand.go deleted file mode 100644 index 4256166..0000000 --- a/077-rand/077-rand.go +++ /dev/null @@ -1,37 +0,0 @@ -package main // The `math/rand` package provides psuedo-random - // numbers. -import ( - "math/rand" - "fmt" -) - -func main() { - fmt.Print(rand.Intn(100), ",") // For example, `rand.Intn` returns a random `int` n, - fmt.Print(rand.Intn(100)) // `0 <= n < 100`. - fmt.Println() - - fmt.Println(rand.Float64()) // `rand.Float64` returns a `float64` `f`, - // `0.0 <= f < 1.0`. - - s1 := rand.NewSource(42) // To make the psuedo-random generator deterministic, - r1 := rand.New(s1) // give it a well-known seed. - - - fmt.Print(r1.Intn(100), ",") // Call the resulting `rand.Source` just like the - fmt.Print(r1.Intn(100)) // functions on the `rand` package. - fmt.Println() - - s2 := rand.NewSource(42) // If you seed a source with the same number, it - r2 := rand.New(s2) // produces the same sequence of random numbers. - fmt.Print(r2.Intn(100), ",") - fmt.Print(r2.Intn(100)) - fmt.Println() -} - -/* -$ go run rand.go -81,87 -0.6645600532184904 -5,87 -5,87 -*/ diff --git a/077-rand/rand.go b/077-rand/rand.go new file mode 100644 index 0000000..cebe697 --- /dev/null +++ b/077-rand/rand.go @@ -0,0 +1,39 @@ +// Rand + +package main + +// The `math/rand` package provides psuedo-random +// numbers. +import "math/rand" +import "fmt" + +func main() { + // For example, `rand.Intn` returns a random `int` n, + // `0 <= n < 100`. + fmt.Print(rand.Intn(100), ",") + fmt.Print(rand.Intn(100)) + fmt.Println() + + // `rand.Float64` returns a `float64` `f`, + // `0.0 <= f < 1.0`. + fmt.Println(rand.Float64()) + + // To make the psuedo-random generator deterministic, + // give it a well-known seed. + s1 := rand.NewSource(42) + r1 := rand.New(s1) + + // Call the resulting `rand.Source` just like the + // functions on the `rand` package. + fmt.Print(r1.Intn(100), ",") + fmt.Print(r1.Intn(100)) + fmt.Println() + + // If you seed a source with the same number, it + // produces the same sequence of random numbers. + s2 := rand.NewSource(42) + r2 := rand.New(s2) + fmt.Print(r2.Intn(100), ",") + fmt.Print(r2.Intn(100)) + fmt.Println() +} diff --git a/077-rand/rand.sh b/077-rand/rand.sh new file mode 100644 index 0000000..1f9f06f --- /dev/null +++ b/077-rand/rand.sh @@ -0,0 +1,5 @@ +$ go run rand.go +81,87 +0.6645600532184904 +5,87 +5,87 diff --git a/078-rate-limiting/078-rate-limiting.go b/078-rate-limiting/rate-limiting.go similarity index 56% rename from 078-rate-limiting/078-rate-limiting.go rename to 078-rate-limiting/rate-limiting.go index 83aa109..c8d1879 100644 --- a/078-rate-limiting/078-rate-limiting.go +++ b/078-rate-limiting/rate-limiting.go @@ -1,6 +1,8 @@ +// ## Rate Limiting package main -import ("time"; "fmt") +import "time" +import "fmt" func main() { throttle := time.Tick(time.Millisecond * 200) @@ -10,6 +12,4 @@ func main() { } } - -// == todo -// credit http://code.google.com/p/go-wiki/wiki/RateLimiting +// todo: credit http://code.google.com/p/go-wiki/wiki/RateLimiting diff --git a/079-redis/079-redis b/079-redis/079-redis deleted file mode 100755 index e8faebf..0000000 Binary files a/079-redis/079-redis and /dev/null differ