Golang Cafe?
大都会岡山の有志のエンジニアが毎週集まって、Go言語をテーマにしたあれやこれやに取り組む会のことで、こつこつと開催を重ねたるやその回数、50回!
その記念すべき節目として、その50回目は Google東京オフィスにて開催されることとなり、主催者の @ttyokoyama さん(Google Developers Group 中国のマネージャさん)よりご招待を頂き、参加させて頂く運びとなった(シークレットイベントだった)。
Golang Cafe #50 でやったこと
前半
良い意味で「いつもとおり」の進行・雰囲気を重んじられたようで :) 、簡単な会の紹介のあとに、初心者グループひとつと中級者以上グループふたつの計3グループに分かれて、1時間半ほど Go言語と戯れた。 初心者グループは「WEB+DB press vol.82」の Go言語の特集をメインで読みながら、不明点などを @ttyokoyama さんに質問したり(その著者である @Jxck_ さんがすぐ隣におられるというのもなかなか貴重な体験だった)。 中級者グループは、Javaのデザインパターンの書籍から WorkerThread パターンを Go で実装してみる、というプラクティスを。
やはり、ちょっとした疑問点などを先行している方にその場で聞ける、というのは、素晴らしいことであるなぁと思った。:)
僕は主に GAE/Go をするときに出てくる疑問とかを聞いたんだけど、いずれも「これ!」っていうベストプラクティスは決まっていないんだな、という印象。そういうのを聞いて僕は、みんな「これでいいのかな...」と思いながら作ってるんであれば、もう僕もそれで手を動かしてしまおうかな、と思った :)
後半
休憩を挟んだ後半は、突如のプレゼンタイム。 Gunosy のお話が聞けたり、ちょっとしたサプライズもあったりで、本当に楽しかったのだけど、自分にとって大きな刺激となったのは、http/2 を Go で実装しているという @Jxck_ さんのお話。 「そもそもなんで Go を始めたのか」、ということについてお話してくれたんだけど、その答えとしての「とにかく http/2 サーバの実装がしたかったんだけど、それに一番適した言語は何か、ということを考えた時に行き着いたのが Go だっただけ」という言葉に、なんかよくわかんないけど感動してしまった。
http2 のサーバを書くのに一番適した言語はなにか、を考えたときに行き着いたのが golang #golangcafe
— a-know (@a_know) 2014年10月4日
「とにかく http2 が書きたかった」... #golangcafe
— a-know (@a_know) 2014年10月4日
かっこよすぎる #golangcafe
— a-know (@a_know) 2014年10月4日
思ったこと
peco とか Docker とかそれ以外でも、色んなものが Go で書かれるようになってきているけど、僕が Go を watch しているのは、それが(僕の人生を大きく変えてくれた)GAE で動くから。GAE を Go でやることは、GAE を Java などでやるときの大きな欠点のひとつ・spinup の遅さを克服できる。とにかく GAE で動くものを Go で書きたいんだった。そうだった。
でも今の僕は、いざ GAE で動かせそうなアプリケーションのアイデアだったりなんだったりがでてきても、それをすぐに書くための知識も資産もない。何やってんだ僕は。とも思った。
などなど、昨日はもやもや考えたりしつつ、いろいろ疲れたので寝た。
GAE/Go の写経を始めた
んで今朝起きて、やっぱなんでもいいからやるしかないと思った。
GAE/J を勉強してきた過程で、自分的に非常に大きなウェイトを占めていたのが、@shin1ogawa さんの GAE本の写経。

Google API Expertが解説する Google App Engine for Java実践ガイド
- 作者: 小川信一
- 出版社/メーカー: インプレス
- 発売日: 2012/03/16
- メディア: 大型本
- クリック: 12回
- この商品を含むブログ (14件) を見る
こんな感じの GAE/Go の本が出ればいいのになー、などとずっと待ちの姿勢だったんだけど、それがもう大バカなので、これを Go で書いてみよう、と思った。
GAEの赤本(赤銀本?)のサンプルコードを Go で書いてみるのもおもしろそうだなとか妄想するなど
— a-know (@a_know) 2014年10月4日
さっそくGAE/Go書いてる ちょっとずつでもやるよ!
— a-know (@a_know) 2014年10月4日
んで、とりあえず 2章 の写経(というかなんというか)はできた。
- 議事録一覧
- GitHub - a-know/gaeshakyo-with-go: 小川信一さん著「Google App Engine for Java実践ガイド」(インプレスジャパン)のサンプルコードを Golang で写経してみるプロジェクトです。
エラーはガン無視してるし HTTP メソッドも考慮できてないしテストも書いてない。ディレクトリ・パッケージの分け方も多分変だし他にも色々アレで本当に「動いてるだけ」だと思うけど、まぁ、ちょっとずつ直していくことにする。
GAE/Go 以外にもいろいろやりたいことがありすぎるのは、また別の課題。
ほんと、やりたいことが増える一方で困る...けど、ひとつずつやってくしかないんだなぁ、これが
— a-know (@a_know) 2014年10月4日
ともあれ
ともあれ、Golang Cafe #50 には多くの刺激とエネルギーをいただきました!こんど岡山に帰省した際にタイミングが合えば、また参加させて下さいm( )m!