概要 goji という Golang のシンプルなウェブフレームワークを使ってウェブアプリを作るための基本的な知識をまとめていきます。突っ込み大歓迎です。 コードベースでクックブック風な感じです。主に自分向け。 ちなみに、以前 Golang でのウェブ開発を考えてみる - Qiita というまとめを書きました。 goji コトハジメ - Pongo2,JSON encode,SubRouter - Qiita goji コトハジメ - fresh,JSON decode,JSON encode - Qiita goji コトハジメ - GORM - Qiita 内容 Pongo2 を使う Django 1.7 互換のテンプレートエンジンです https://github.com/flosch/pongo2 JSON encode を使う struct をそのまま JSON にして返します
$ fresh 17:33:56 runner | InitFolders 17:33:56 runner | mkdir ./tmp 17:33:56 runner | mkdir ./tmp: file exists 17:33:56 watcher | Watching . 17:33:56 watcher | Watching view 17:33:56 main | Waiting (loop 1)... 17:33:56 main | receiving first event / 17:33:56 main | sleeping for 600 milliseconds 17:33:57 main | flushing events 17:33:57 main | Started! (15 Goroutines) 17:33:57 main | remove tmp/runn
Goの勉強を兼ねて、基本的なCURDを満たす、MVCなWEBアプリケーションを作りたいと思います。 データベース DBはSQLiteを使ってるサンプルが多いですが、せっかくなので今回はMySQL5.6を使うことにします。 ライブラリ GoでMVCフレームワークを作る場合、goji、gormあたりが定番のようなので、これらを使います。 バリデーションだとこれが定番、というのが見つからなかったので、今回は使いやすそうなvalvalにしました。 ライブラリのインストール 必要なライブラリを入れます。 $ go get github.com/wcl48/valval $ go get github.com/jinzhu/gorm $ go get github.com/zenazn/goji $ go get github.com/go-sql-driver/mysql どんな感じのWEBアプリケ
gojiはgolangのWebApplicationFrameworkです。 gojiにはMiddlewareという仕組みがあり、これを使うことで、リクエストごとに共通して必要な処理を集約することができます。 gojiはリクエストのロギングを行うMiddlewareが用意されているので、それを参考に見ていきます。 func Logger(c *web.C, h http.Handler) http.Handler { fn := func(w http.ResponseWriter, r *http.Request) { reqID := GetReqID(*c) printStart(reqID, r) lw := mutil.WrapWriter(w) t1 := time.Now() h.ServeHTTP(lw, r) if lw.Status() == 0 { lw.WriteH
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く