CAリワード x Go言語

30
x CA Reward x Go言語

Transcript of CAリワード x Go言語

Page 1: CAリワード x Go言語

x

CA Reward x Go言語

Page 2: CAリワード x Go言語

x

山塚 博翔

2013年 CyberAgent 入社2014年8月より CAリワード

やってること:BOSATSU サーバー実装全般

言語:Go, Java, Scala, Python など

Page 3: CAリワード x Go言語

x

・導入経緯・Go言語とは・導入してみて・その他の活動

発表内容

Page 4: CAリワード x Go言語

x

導入経緯

Page 5: CAリワード x Go言語

x2014年10月

PHP90%

Page 6: CAリワード x Go言語

x2014年10月

システム的に古くなってきた ごっそり

リファクタしたい

技術的な挑戦がしたい

別の言語で良いのないか?

PHP90%

Page 7: CAリワード x Go言語

x

Goだ!! Goだ!! Goだ!!(*当時、Go言語がチヤホヤされ始めました)

Page 8: CAリワード x Go言語

x

2014年10月頃から導入開始で、現在

Page 9: CAリワード x Go言語

x

Go言語70%

PHP 20%

2016年5月

Page 10: CAリワード x Go言語

x

Go言語とは

Page 11: CAリワード x Go言語

xGO言語とは

・Googleが2009年11月に公開・強い型づけ・並列処理がシンプルにかける・クロスコンパイルできる・直接ネイティブコードで実行・GCがある・世界的にコミュニティが盛ん

Page 12: CAリワード x Go言語

xGO言語 活用事例

DockerKubernetesHashiCorp toolsetcd

AWAAmeba OwndAbema TV

Page 13: CAリワード x Go言語

x

そろそろお気づきかもしれませんが、、

Page 14: CAリワード x Go言語

x

マスコットのGopherくんが圧倒的に可愛い

Gopherくん

Duke (Java) Tux (Linux) elePHPant (PHP)

Doroid (Android) Tomcat D言語くん

Page 15: CAリワード x Go言語

x

CAリワードGo言語導入事例

Page 16: CAリワード x Go言語

x

Go言語 導入

・広告配信・クリック・CV計測・その他 API

Go言語 導入なし

・配信面 (Rails + React)・分析 (Java / Scala / Python)

Page 17: CAリワード x Go言語

x

導入して良かった点

Page 18: CAリワード x Go言語

x

言語仕様がシンプル

学習コストが低いチュートリアルが充実Tour of Go

CAリワード内のGopher2016/05: エンジニア 7割 が使用

良いところ

Page 19: CAリワード x Go言語

x

標準ツールが充実- go build: コンパイル- go test : テストの実行- go fmt : コードのフォーマット- go lint : リンター- go vet : バグの元になるコードを静的解析

→ コードの品質が保たれる

良いところ

Page 20: CAリワード x Go言語

x

コンパイルが速い

良いところ

数分 数秒

開発がサクサク !!

Page 21: CAリワード x Go言語

x

環境に依存しないOS、ランタイムなどの実行環境の違いや外部ライブラリの依存関係とは無縁

環境に合わせてコンパルしたバイナリをサーバーに配布するだけでOK

良いところ

Page 22: CAリワード x Go言語

x

イマイチな点

Page 23: CAリワード x Go言語

x

デファクトスタンダードがないWeb Framework, ORM依存ライブラリ管理→ 内外の各プロジェクトで手探り

Viewが弱い標準のTemplate Engineはあるが使い勝手、パフォーマンスともにイマイチ

Page 24: CAリワード x Go言語

x

CAリワードGo言語関連の活動

Page 25: CAリワード x Go言語

x

GoCon 2016 Spring 4/21 @MARK CITY

Page 26: CAリワード x Go言語

x

GoCon 2016 Spring弊社 平田が登壇

Page 27: CAリワード x Go言語

x

社内勉強会

Page 28: CAリワード x Go言語

x

社内勉強会

近日、社外企業と合同勉強会を開催予定!

是非 ご参加ください!

Page 29: CAリワード x Go言語

xGopherくん カレー

Page 30: CAリワード x Go言語

x

ご静聴ありがとうございました