Lean Baseball

No Engineering, No Baseball.

Golangはじめて半日後に野球のアプリ書いてLTしてきた ~ Go Conference 2015 summer Report #gocon

日ハム三連敗かなしいですこんばんは!

今日は運良く抽選を突破、「 #gocon (ゴーコン)」と言いたいだけ的なお祭でお馴染みのGo Conference に行ってきた&そんなゴーコンのためにHello World書いて24時間も経たない内にLTしてきたお!っていう報告をさせてください。

参加イベント

gocon.connpass.com

おしながき

  • gocon(ゴーコン)って何をする場なの?
  • そもそもGolangって何?
  • ゴーコン観戦記
  • Golang書き初め~Hello World通して24時間しないうちにコード書いてLTしてきました
  • Golangとの付き合い方(私見)

gocon(ゴーコン)って何をする場なの?

Go Conference略してgocon(ゴーコン)は、2013年ごろから始まった、プログラミング言語Golang」に関するイベント・お祭りです。

github.com

「Goを使ってこんなモノつくりました!」

「弊社ではGoを使ってこんな事してます!!」

的な発表をベースに議論を重ねつつ、最後の懇親会でLTをやったりお酒を飲んだりする、ITエンジニア界隈のConferenceやMeetupでよくある形で技術者同士が交流を深めるイベントです。

そもそもGolangって何?

Golangの説明はWikiおよび公式サイトにおまかせします。

The Go Programming Language

Go (プログラミング言語) - Wikipedia

要点だけ書くと、

ゴーコン観戦記

スピーカーの皆さまの資料等はまだ出揃っていない*1ので、自分のTwitter呟きの引用&補足でお送りさせてください。

総括すると、

  • とにかく発表者のレベルが高い!!!
  • 広告配信、プッシュ通知サービス、自社PaaS、といった、「パフォーマンス出したい!けどWebサービスなんでカジュアルに作りたい」といったシーンでGolangが使われている印象を感じた。*2
  • たけいひでゆきさんの盆栽ロボットはマジビビった。IoTの好例。Golang文脈を抜きにして、この続編は是非とも聞かせて欲しい。
  • Python界隈もいたけど、他にもRubyとかLeanとか、他のクラスタも沢山居て注目度かなり高いと改めて実感。

Golang書き初め~Hello World通して24時間しないうちにコード書いてLTしてきました

当日飛び込みLTもOK!という事で、折角なのでGolangでコードを書いて早速発表してみました。

スライドにもありますが、調査~企画~構築まで24時間掛かりませんでした!!!!

www.slideshare.net

Shinichi-Nakagawa/no-ball-app-go · GitHub

持ちネタである、Pythonではじめる野球プログラミングで書いたPython(Django)のアプリケーションをGoで書きなおし、動かしてみました(全部ではありませんが)。

発表内容はスライドに譲るとして、やったことを時系列で。

学習と調査(6/20昼ごろ)

  • A Tour of Go を野球見ながらお茶見ながらひと通り実行。ちなみに、実践問題はすっ飛ばした。
  • 怒涛のGoogle検索開始。Ruby On Rails(というよりPlay Framework)っぽい、RevelというFrameworkを知り、こちらで一旦チャレンジする。
  • デフォルトで入ってるbootstrapと自分がDjangoで作ってた頃に書いたデザインの融合が上手く行かず、挫折を味わう。自分のHTML/JS/フロントエンド力の無さに起因しているけど、どうやら元から癖ある構成っぽい印象も。

Martiniとの出会い&実装開始(6/20夕方19:00頃)

  • 他にいいFramework無いか!?と探しまわった結果、Martiniと出会う。
  • JS/CSSを組み込んだら上手く動いた、コレなら行ける!!!と感じたのが6/20 26:00頃w

怒涛の開発&発表!!!

  • その後form接続とかO/R Mapperとか探しては作って試すというスクラップ&ビルドを繰り返す。
  • gocon昼休み終了後、14:00頃にアプリ完成!!!!
  • スライドは過去資料とかを上手く引用して30分そこらで完成。
  • LT飛び入り枠二人目、最後の発表に滑り込み、ほぼ5分キッカリ(ロスタイムなし)で発表完了

これでLT出来なかったら泣いていたところでしたが(笑)、色々積み重なって何とかなって良かったです。

ホント楽しかった!!!

Golangとの付き合い方(私見)

まとめ。こちらもTwitterから引用。

仕事で使うかどうかは別として、プライベートの開発&Hackは、

Python×Golangプラトーン起用

でチャレンジしようと思います!!!

今のところ考えている使い分けは、

  • とにかく作って動かしたい時はPython
  • データ分析と可視化はやっぱりPython
  • 分析・解析がひと通り済んでちゃんとアプリ書こう!というタイミングでGolang
  • インフラ構成管理はPython(Ansible)主役だけど、モノによってはGolang(Docker)かな

今度は発表者で行けるように頑張ります!

主催者&参加者の皆さまお疲れ様でした&貴重な経験を頂き本当にありがとうございました!!!

*1:そりゃそうよ、終わってから2時間もしないうちにこのブログ書いてますからw

*2:サイバーエージェントさん、楽天さん、メルカリさん、pixivさんなど。