caリワード x go言語
TRANSCRIPT
![Page 1: CAリワード x Go言語](https://reader031.vdocuments.pub/reader031/viewer/2022021416/58cf4c161a28aba17e8b4c1d/html5/thumbnails/1.jpg)
x
CA Reward x Go言語
![Page 2: CAリワード x Go言語](https://reader031.vdocuments.pub/reader031/viewer/2022021416/58cf4c161a28aba17e8b4c1d/html5/thumbnails/2.jpg)
x
山塚 博翔
2013年 CyberAgent 入社2014年8月より CAリワード
やってること:BOSATSU サーバー実装全般
言語:Go, Java, Scala, Python など
![Page 3: CAリワード x Go言語](https://reader031.vdocuments.pub/reader031/viewer/2022021416/58cf4c161a28aba17e8b4c1d/html5/thumbnails/3.jpg)
x
・導入経緯・Go言語とは・導入してみて・その他の活動
発表内容
![Page 4: CAリワード x Go言語](https://reader031.vdocuments.pub/reader031/viewer/2022021416/58cf4c161a28aba17e8b4c1d/html5/thumbnails/4.jpg)
x
導入経緯
![Page 5: CAリワード x Go言語](https://reader031.vdocuments.pub/reader031/viewer/2022021416/58cf4c161a28aba17e8b4c1d/html5/thumbnails/5.jpg)
x2014年10月
PHP90%
![Page 6: CAリワード x Go言語](https://reader031.vdocuments.pub/reader031/viewer/2022021416/58cf4c161a28aba17e8b4c1d/html5/thumbnails/6.jpg)
x2014年10月
システム的に古くなってきた ごっそり
リファクタしたい
技術的な挑戦がしたい
別の言語で良いのないか?
PHP90%
![Page 7: CAリワード x Go言語](https://reader031.vdocuments.pub/reader031/viewer/2022021416/58cf4c161a28aba17e8b4c1d/html5/thumbnails/7.jpg)
x
Goだ!! Goだ!! Goだ!!(*当時、Go言語がチヤホヤされ始めました)
![Page 8: CAリワード x Go言語](https://reader031.vdocuments.pub/reader031/viewer/2022021416/58cf4c161a28aba17e8b4c1d/html5/thumbnails/8.jpg)
x
2014年10月頃から導入開始で、現在
![Page 9: CAリワード x Go言語](https://reader031.vdocuments.pub/reader031/viewer/2022021416/58cf4c161a28aba17e8b4c1d/html5/thumbnails/9.jpg)
x
Go言語70%
PHP 20%
2016年5月
![Page 10: CAリワード x Go言語](https://reader031.vdocuments.pub/reader031/viewer/2022021416/58cf4c161a28aba17e8b4c1d/html5/thumbnails/10.jpg)
x
Go言語とは
![Page 11: CAリワード x Go言語](https://reader031.vdocuments.pub/reader031/viewer/2022021416/58cf4c161a28aba17e8b4c1d/html5/thumbnails/11.jpg)
xGO言語とは
・Googleが2009年11月に公開・強い型づけ・並列処理がシンプルにかける・クロスコンパイルできる・直接ネイティブコードで実行・GCがある・世界的にコミュニティが盛ん
![Page 12: CAリワード x Go言語](https://reader031.vdocuments.pub/reader031/viewer/2022021416/58cf4c161a28aba17e8b4c1d/html5/thumbnails/12.jpg)
xGO言語 活用事例
DockerKubernetesHashiCorp toolsetcd
AWAAmeba OwndAbema TV
![Page 13: CAリワード x Go言語](https://reader031.vdocuments.pub/reader031/viewer/2022021416/58cf4c161a28aba17e8b4c1d/html5/thumbnails/13.jpg)
x
そろそろお気づきかもしれませんが、、
![Page 14: CAリワード x Go言語](https://reader031.vdocuments.pub/reader031/viewer/2022021416/58cf4c161a28aba17e8b4c1d/html5/thumbnails/14.jpg)
x
マスコットのGopherくんが圧倒的に可愛い
Gopherくん
Duke (Java) Tux (Linux) elePHPant (PHP)
Doroid (Android) Tomcat D言語くん
![Page 15: CAリワード x Go言語](https://reader031.vdocuments.pub/reader031/viewer/2022021416/58cf4c161a28aba17e8b4c1d/html5/thumbnails/15.jpg)
x
CAリワードGo言語導入事例
![Page 16: CAリワード x Go言語](https://reader031.vdocuments.pub/reader031/viewer/2022021416/58cf4c161a28aba17e8b4c1d/html5/thumbnails/16.jpg)
x
Go言語 導入
・広告配信・クリック・CV計測・その他 API
Go言語 導入なし
・配信面 (Rails + React)・分析 (Java / Scala / Python)
![Page 17: CAリワード x Go言語](https://reader031.vdocuments.pub/reader031/viewer/2022021416/58cf4c161a28aba17e8b4c1d/html5/thumbnails/17.jpg)
x
導入して良かった点
![Page 18: CAリワード x Go言語](https://reader031.vdocuments.pub/reader031/viewer/2022021416/58cf4c161a28aba17e8b4c1d/html5/thumbnails/18.jpg)
x
言語仕様がシンプル
学習コストが低いチュートリアルが充実Tour of Go
CAリワード内のGopher2016/05: エンジニア 7割 が使用
良いところ
![Page 19: CAリワード x Go言語](https://reader031.vdocuments.pub/reader031/viewer/2022021416/58cf4c161a28aba17e8b4c1d/html5/thumbnails/19.jpg)
x
標準ツールが充実- go build: コンパイル- go test : テストの実行- go fmt : コードのフォーマット- go lint : リンター- go vet : バグの元になるコードを静的解析
→ コードの品質が保たれる
良いところ
![Page 20: CAリワード x Go言語](https://reader031.vdocuments.pub/reader031/viewer/2022021416/58cf4c161a28aba17e8b4c1d/html5/thumbnails/20.jpg)
x
コンパイルが速い
良いところ
数分 数秒
開発がサクサク !!
![Page 21: CAリワード x Go言語](https://reader031.vdocuments.pub/reader031/viewer/2022021416/58cf4c161a28aba17e8b4c1d/html5/thumbnails/21.jpg)
x
環境に依存しないOS、ランタイムなどの実行環境の違いや外部ライブラリの依存関係とは無縁
環境に合わせてコンパルしたバイナリをサーバーに配布するだけでOK
良いところ
![Page 22: CAリワード x Go言語](https://reader031.vdocuments.pub/reader031/viewer/2022021416/58cf4c161a28aba17e8b4c1d/html5/thumbnails/22.jpg)
x
イマイチな点
![Page 23: CAリワード x Go言語](https://reader031.vdocuments.pub/reader031/viewer/2022021416/58cf4c161a28aba17e8b4c1d/html5/thumbnails/23.jpg)
x
デファクトスタンダードがないWeb Framework, ORM依存ライブラリ管理→ 内外の各プロジェクトで手探り
Viewが弱い標準のTemplate Engineはあるが使い勝手、パフォーマンスともにイマイチ
![Page 24: CAリワード x Go言語](https://reader031.vdocuments.pub/reader031/viewer/2022021416/58cf4c161a28aba17e8b4c1d/html5/thumbnails/24.jpg)
x
CAリワードGo言語関連の活動
![Page 25: CAリワード x Go言語](https://reader031.vdocuments.pub/reader031/viewer/2022021416/58cf4c161a28aba17e8b4c1d/html5/thumbnails/25.jpg)
x
GoCon 2016 Spring 4/21 @MARK CITY
![Page 26: CAリワード x Go言語](https://reader031.vdocuments.pub/reader031/viewer/2022021416/58cf4c161a28aba17e8b4c1d/html5/thumbnails/26.jpg)
x
GoCon 2016 Spring弊社 平田が登壇
![Page 27: CAリワード x Go言語](https://reader031.vdocuments.pub/reader031/viewer/2022021416/58cf4c161a28aba17e8b4c1d/html5/thumbnails/27.jpg)
x
社内勉強会
![Page 28: CAリワード x Go言語](https://reader031.vdocuments.pub/reader031/viewer/2022021416/58cf4c161a28aba17e8b4c1d/html5/thumbnails/28.jpg)
x
社内勉強会
近日、社外企業と合同勉強会を開催予定!
是非 ご参加ください!
![Page 29: CAリワード x Go言語](https://reader031.vdocuments.pub/reader031/viewer/2022021416/58cf4c161a28aba17e8b4c1d/html5/thumbnails/29.jpg)
xGopherくん カレー
![Page 30: CAリワード x Go言語](https://reader031.vdocuments.pub/reader031/viewer/2022021416/58cf4c161a28aba17e8b4c1d/html5/thumbnails/30.jpg)
x
ご静聴ありがとうございました