えいのうにっき

a-knowの日記です

記念すべき Golang Cafe #50 に参加してきたので、GAE/Go の写経を始めた #golangcafe

Golang Cafe?

Golang Cafe - GDGChugoku

大都会岡山の有志のエンジニアが毎週集まって、Go言語をテーマにしたあれやこれやに取り組む会のことで、こつこつと開催を重ねたるやその回数、50回! その記念すべき節目として、その50回目は Google東京オフィスにて開催されることとなり、主催者の @ttyokoyama さん(Google Developers Group 中国のマネージャさん)よりご招待を頂き、参加させて頂く運びとなった(シークレットイベントだった)。

f:id:a-know:20141004130227j:plain

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 だっただけ」という言葉に、なんかよくわかんないけど感動してしまった。

思ったこと

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実践ガイド

Google API Expertが解説する Google App Engine for Java実践ガイド

こんな感じの GAE/Go の本が出ればいいのになー、などとずっと待ちの姿勢だったんだけど、それがもう大バカなので、これを Go で書いてみよう、と思った。

んで、とりあえず 2章 の写経(というかなんというか)はできた。

エラーはガン無視してるし HTTP メソッドも考慮できてないしテストも書いてない。ディレクトリ・パッケージの分け方も多分変だし他にも色々アレで本当に「動いてるだけ」だと思うけど、まぁ、ちょっとずつ直していくことにする。

GAE/Go 以外にもいろいろやりたいことがありすぎるのは、また別の課題。

ともあれ

ともあれ、Golang Cafe #50 には多くの刺激とエネルギーをいただきました!こんど岡山に帰省した際にタイミングが合えば、また参加させて下さいm( )m!