Go Conference 2015 Winterに参加しました
2015/12/6(日)に開催されたGo Conference 2015 Winterに参加してきたので感想レポートを書きました。
「鉄は熱いうちに打て」ということでGoCon終了後、渋谷のカフェにこもって雑に殴り書きしたので、 読みづらかったり誤りがあったりしたらごめんなさい。ご指摘いただけると助かります。
ちなみにLTについては、酔っ払っていてまじめに聞けなかったので感想を省きましたが、 どれも笑いをとっていて酒のツマミには最高のLTばかりでしたということはご報告しておきます。
あと、発表者の方の資料や 当日のtogetterの情報は以下にまとめていただいていてとてもありがたいです。 ありがとうございます。
発表の感想
x/mobile gaming
gomobileでゲームを作成する過程を、コミットログの差分から順に説明していくスタイルの発表でした。
実際のコードを見せてデモしていくので非常にわかりやすく、英語も聞き取りやすかったです。
gomobileですごい簡単にゲーム作れちゃうんだな〜と思わせるKeynoteでした。
実際はそんなこと無いんだろうけどw
普通にFlappy Gopher面白そうでした。
発表の際に使っていたgitのdiffを表示するツールがめちゃめちゃ便利そうでした。
GoBGP : yet another BGP implementation written in Go!
BGPをgoから操作するGoBGPというツールの紹介でした。
BGPはネットワークのプロトコルで、ググる となんとなくですが、わかるような気がします。
ネットワーク機器は自動化運用について過渡期で、現状自動運用するためにtelnetでexpectでツラいけど、 Whitebox Switch(OSを含むソフトを含まないSwitch)で、cumulus linux, open network linuxなどを入れれば 色々自由度が広がって自動化運用進むよねという話でした。
そして、そんな環境であればGoBGPとか使えれば幸せになれるので、機会があれば どんどん自動化していきましょう的な話でした。
あと、余談ですが、発表者の方のWhitebox Switchの説明がWebに載ってたので、 こちらも合わせてみれば参考になりそうです。
ホワイトボックススイッチとは何か? オープン化がすすむネットワーク機器のハードとソフトの動向(前編)。ホワイトボックススイッチユーザ会 第一回勉強会
Webフレームワーク比較
多種多様な GoのWebフレームワークを比較紹介する内容でした。
はじめのWebフレームワークのリストの数が多くて笑いました。
速さならGin、人気ならMartiniという印象を受けました。
あと、紹介があったkamiの作者の方が質問されたりしていました。
紹介してた速度の単位が nsだったのが、さすがgolang早いな〜と感じました。
TLでは、Martiniはreflection使い過ぎなので、negroniの方が 良さそうという話が上がっていたり、標準のnet/httpでいいでしょという話も上がっていたりしました。
全然関係ないですが、マティーニとネグローニとどちらもお酒の名前なんですね。
そういえば、某mattnさんも net/httpでいいでしょと何度かつぶやいていたような気がします。
私は、net/httpを軽く触った程度なのでよくわかりません。
gomobileでピアノの作り方
お子さんのために、モバイルのピアノアプリを作ったという話でした。
子供が広告タッチしちゃうとかあるあるなので笑いました。
内容についてはgolangの話はあまりなく、音楽(物理?)の話をわかりやすくお話されていて 門外漢でしたがフムフムーと聞いていました。
実戦へのGo導入
初学者向けの内容?だったので、golang歴 1ヶ月に満たない私にとっては、完全に俺得発表でした。
初学者向けのブログのリンクや、便利ツールのリンクなど、便利情報ばかりでした。
エディタはなんでもいいとお話されていて、Vimを使われているとお話されていましたが、 実際Vimでgolang書くのは非常に相性が良いと思います(私もVimを使うので)。
vim-goも実際便利です。
GoライブラリAPIの変更を知る
GoのAPI(typeやfuncで外部公開されているもの)で、リビジョン間で変更(シグネチャの変更)があった APIを検知するgompatibleというツールを作成したという内容でした。
実際とても便利そうで、他の言語でもあったらいいのにと感じました。
型や関数のシグネチャを見るので、同じシグネチャで使用する意味が変わってしまったら 現状は対応できないとのことでしたが、これは仕方ないかな。
やるとしたら、変数の名前などの変更時に警告出すくらい?
Goのレガシーコードと戦った話
まず、Goで既にレガシーコードが作られているということに驚きましたw
内容的には、基本golangに限らない話でしたが、「性能が求められているかどうかわからない 箇所でgoroutineを多用する」はgolangならではでやばそうだなぁと感じました。
実コードでエラーを握りつぶすも恐ろしいけど笑った。
ISUCON5でトップスコアを出す方法
ISUCONで、どういう対策を取っていったかという話でしたが、 ここら辺の話は門外漢なので、フムフム〜と聞いていました。
「直前のレガシーコードの作成の主です。」とのしょっぱなのコメントに笑いました
golang が言語の選択で、ベースが早いというのは良いなぁ
Introduce log collector in Go into production
ログ取得のfluentd in-tail部分をfluentd-agent-hydraに置き換えるという話でした。
ここら辺も門外漢なのでフムフム〜と聞いていました。
Introduction to golang.org
golang.orgの様々なページの紹介でした。
日本語版のサイトは情報が古かったりするので、やっぱり英語で読むのが一番みたいです。
The Go Programming Language本も現状英語版だけですしね(私はebook版で買いました)。
あとは、Gopher GalaというHackathonの宣伝もされていました。
FINAL FANTASY Record Keeperを支えたGolang
FINAL FANTASY Record Keeperの開発(運用)の際に使用した、様々な便利ツールの紹介的な発表でした。
どれも便利そうでした。
特に、golang標準のflagsは使ったことありましたが、go-flags は使ったことがなかったので使ってみようと思います。
タグ形式なので、多言語対応の時に別構造体をきるのは辛そうですが そんな機会は私にはなさそうなのでw
あと、「信頼と安心のmattnプロダクツ」であるgo-colorable も紹介されていました。
Go が支えるインフラストラクチャーサービス
ゲヒルン株式会社の様々なサービスについての紹介でした。
golangで作られたサービスが沢山あって、golang触る機会がたくさんあってよいなーと感じました。
あと、発表練習のために、YAPC Asia の動画を見てると止まらなくなって発表前日 夜更かししてしまうらしいです。
私もつい先日 VimConfというイベントのために、スティーブ・ジョブス氏のOne more thingの動画を 深夜2時くらいから1時間見るという愚行をしてしまったので気持ちはよくわかります。
終わりに
主催のtenntennさん、Go Conference 2015 Winter運営にかかわられた皆さん、発表された皆さん、参加者の皆さんありがとうございました。
可能であれば来年も参加もとい発表したいです。