問題
GoのウェブフレームワークRevelをこのサイトで使っています。 これで、 http://otiai10.hatenablog.com/entry/2013/09/29/131902
Revelのプロジェクトゼロから書いたけど、ゼロからやらなくていいっぽい。
revel new hogehoge
ってコマンドがあるらしい。つかってみるです。
記録
# revelインストール % go get github.com/robfig/revel/revel # 自分のプロジェクトディレクトリに移動 % cd $GOPATH/src/github.com/otiai10/ # プロジェクトをnewする % revel new github.com/otiai10/anisoon ~ ~ revel! http://robfig.github.com/revel ~ Your application is ready: /Users/otiai10/proj/go/src/github.com/otiai10/anisoon You can run it with: revel run github.com/otiai10/anisoon # 起動してみる % revel run github.com/otiai10/anisoon ~ ~ revel! http://robfig.github.com/revel ~ INFO 2013/10/19 13:37:32 revel.go:292: Loaded module testrunner INFO 2013/10/19 13:37:32 revel.go:292: Loaded module static INFO 2013/10/19 13:37:32 run.go:57: Running anisoon (github.com/otiai10/anisoon) in dev mode INFO 2013/10/19 13:37:32 harness.go:157: Listening on :9000
で、ブラウザからアクセスすると
わ、すぐできた。goってgoのインストールからパッケージのインストール(go get
)も手軽で好きです。どこに入るかも明示的だし。
調査
% cd $GOPATH/src/github.com/otiai10/anisoon % tree . ├── app │ ├── controllers │ │ └── app.go # hoge.goにrenameしても動いた │ │ # つまり、package controllersに属していれば │ │ # controllerのファイル分割は容易 │ ├── init.go # 各種フィルターの設定が入ってたりした │ │ # ちゃんと読めば面白そう │ ├── routes # コンパイル後のルーターっぽい │ │ └── routes.go │ ├── tmp # コンパイル後のファイルが入るのかな? │ │ └── main.go │ └── views │ ├── App │ │ └── Index.html # templateの呼び出しとか確認できる │ ├── debug.html │ ├── errors │ │ ├── 404.html │ │ └── 500.html │ ├── flash.html │ ├── footer.html │ └── header.html ├── conf │ ├── app.conf # アプリケーションのdevとかprod起動についての設定 │ └── routes # これを元にルーターがつくられるっぽい ├── messages │ └── sample.en ├── public │ ├── css │ │ └── bootstrap.css # twitterbootstrapがデフォで入ってるんすか... │ ├── img # glyphiconsはいつもお世話になっております │ │ ├── favicon.png │ │ ├── glyphicons-halflings-white.png │ │ └── glyphicons-halflings.png │ └── js │ └── jquery-1.9.1.min.js # jqueryでフォルト └── tests └── apptest.go # webフレームワークでブラウザ経由のテストを提供してる # `/@tests`にアクセスすれば確認できる 14 directories, 20 files
だいたい公式のドキュメントが充実してるので、ちゃんと読もうと思った http://robfig.github.io/revel/index.html
雑感
艦これウィジェットのログサーバ用に既に一つ作ったけど、改めて、良さそう