先日、なんとなくGolangの勉強をしたので、その時にどうやって取り組んだかを残しておきます。
環境を準備
まずは開発環境を作る必要がある。今回は最近Pro版も出たNitrousを使った。
https://lite.nitrous.io/
(招待コードをリンクに入れてあるので、気に入らない方はコピペして上記URLにアクセスして下さい)
自分のPCにインストールしても良いが、すぐに開発環境が手に入るのでNitrousの無料版(Lite)はおすすめ。
教材
まずは「プログラミング言語Goツアー」から。
次に「Webアプリを作ってみよう」をやってみた。
知識面の補強
「プログラミング言語Goツアー」をやった後に次のスライドを読むと、イマイチ良く分かっていなかった部分を一気に把握することができて素敵でした。
An Introduction To Programming In Go
ソースコードの管理
Goのお作法もわかるので一読をお勧めします。
ghqを使ったローカルリポジトリの統一的・効率的な管理について
Herokuで動かす方法
色々と調べていたら、Herokuで動かす記事が結構多かった。
Nitrousで勉強する環境としては十分だが、他の知識も習得できるので勉強になった。
Golangで作ったWebアプリをHerokuにデプロイする。
Martini(+Ginkgo)をWerckerでCIしてHerokuにデプロイ
Webアプリを作るために
Githubで探して見たところ、以下のものがありました。
Martin
http://martini.codegangsta.io/
Sinatraっぽくて、ササッと作りたい時に使えそう。
Martinの機能拡張
https://github.com/martini-contrib?page=1
Ravel
https://revel.github.io/
フルスタックのフレーム。
ホテルの予約システム(サンプルプログラム)
https://revel.github.io/samples/booking.html
kocha
http://naoina.github.io/kocha/
Goji
https://goji.io/
IDE
ローカルで開発する場合はIDEがあると便利です。
IntelliJにgo-lang-idea-pluginを追加するといい感じでした。インストール方法は、以下のリポジトリのReadMeに書かれています。
https://github.com/go-lang-plugin-org/go-lang-idea-plugin
「LiteIDE」というツールもありました。使用感はIntelliJの方が良いと感じました。
https://code.google.com/p/golangide/
感想
私の場合、もともとコンパイル系の言語は使ってきた歴が無いに等しいのだが、Golangはとてもとっつきやすい言語だなと感じた。
スクリプターでも使いやすいので、使い始める人が多いというのは納得。実行速度が非常に速いという特徴もあるようで、興味深い言語でした。