CAリワード x Go言語

Preview:

Citation preview

x

CA Reward x Go言語

x

山塚 博翔

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

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

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

x

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

発表内容

x

導入経緯

x2014年10月

PHP90%

x2014年10月

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

リファクタしたい

技術的な挑戦がしたい

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

PHP90%

x

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

x

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

x

Go言語70%

PHP 20%

2016年5月

x

Go言語とは

xGO言語とは

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

xGO言語 活用事例

DockerKubernetesHashiCorp toolsetcd

AWAAmeba OwndAbema TV

x

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

x

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

Gopherくん

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

Doroid (Android) Tomcat D言語くん

x

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

x

Go言語 導入

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

Go言語 導入なし

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

x

導入して良かった点

x

言語仕様がシンプル

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

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

良いところ

x

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

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

良いところ

x

コンパイルが速い

良いところ

数分 数秒

開発がサクサク !!

x

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

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

良いところ

x

イマイチな点

x

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

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

x

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

x

GoCon 2016 Spring 4/21 @MARK CITY

x

GoCon 2016 Spring弊社 平田が登壇

x

社内勉強会

x

社内勉強会

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

是非 ご参加ください!

xGopherくん カレー

x

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

Recommended