This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require 'sinatra' | |
before do | |
response['Cache-Control'] = 'no-cache, no-store' if request.xhr? | |
end | |
get '/' do | |
erb :home, layout: ! request.xhr? | |
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package main | |
import ( | |
"log" | |
"net/http" | |
"time" | |
) | |
func main() { | |
mux := http.NewServeMux() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package main | |
import ( | |
"io" | |
"log" | |
"mime" | |
"net/http" | |
"os" | |
"github.com/goji/httpauth" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
CREATE TABLE books ( | |
isbn char(14) NOT NULL, | |
title varchar(255), | |
author varchar(255), | |
price decimal(5,2) | |
); | |
INSERT INTO books (isbn, title, author, price) VALUES | |
('978-1503261969', 'Emma', 'Jayne Austen', 9.44), | |
('978-1514274873', 'Journal of a Soldier', NULL, 5.49), |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package main | |
import ( | |
"fmt" | |
"github.com/alexedwards/stack" | |
"github.com/julienschmidt/httprouter" | |
"net/http" | |
) | |
func main() { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
. | |
├── books | |
│ ├── handlers.go | |
│ └── models.go | |
├── config | |
│ └── db.go | |
└── main.go |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
. | |
├── books | |
│ ├── handlers.go | |
│ └── models.go | |
├── config | |
│ └── db.go | |
└── main.go |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# SCS | |
BenchmarkSCSMemstore-8 200000 9573 ns/op 3643 B/op 49 allocs/op | |
BenchmarkSCSCookies-8 100000 23220 ns/op 7516 B/op 83 allocs/op | |
BenchmarkSCSRedis-8 30000 45783 ns/op 4459 B/op 76 allocs/op | |
BenchmarkSCSMySQL-8 300 5782698 ns/op 4382 B/op 73 allocs/op | |
BenchmarkSCSPostgres-8 500 3715685 ns/op 5585 B/op 96 allocs/op | |
# Gorilla |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package main | |
import ( | |
"flag" | |
"log" | |
"net/http" | |
"os" | |
"snippetbox.org/pkg/handlers/web" | |
) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package main | |
import ( | |
"log" | |
"net/http" | |
"time" | |
) | |
func main() { | |
log.Fatal(http.ListenAndServe(":4000", http.HandlerFunc(multiWriteResponse))) |