ca.go logo

picture of ca.go

こんにちは。 Ameba Ownd のサーバーサイドエンジニアの オリバーと申します。

ついに!
サイバーエージェントのGo勉強会「CA.go」の第一回が6月21日に開催されました!

サイバーエージェントが Go を取り入れて3年以上。様々なサービスを開発/運用しているサイバーエージェントならではの知見を今後発信していきたいという思いがあり、今回の「CA.go」の開催に至りました。

「CA.go」 開催当日の6月21日は数年に一度の大雨に見舞われながらも開始時間の1時間前には雨脚が弱まり大変多くの方にご来場頂けました。

 

当日は以下のサービスの担当エンジニアに登壇して頂きました。
– 動画配信プラットホーム 「FRESH!」
– 無料ホームページ・ビルダー「Ameba Ownd」
– 定額制音楽配信サービス「AWA」
– インターネットテレビ局「AbemaTV」

資料まとめ

sync.Pool で 爆上げメモリ効率 / 堀 良太(FRESH!)

FRESH!の動画関連を主に担当しているサーバーサイド・エンジニアの堀から “明日からでも導入できる” sync.Pool の実用的な使い方を紹介して頂きました。sync.Pool を使ってメモリをうまく再利用することでアロケーションを減らせる方法、FRESH!でのベンチマークの取り方、用途に合わせた初期化の方法と実用的な内容で、今すぐにでも試してみたい実践的な情報が盛り込まれた発表でした。

 

Understanding the interface / Huang Y. Oliver(Ameba Ownd)

自分も今回発表する機会を頂けたので、
サイバーエージェントで初めて Go を取り入れた Ameba Ownd での interface の使い方に関して、Go 創始者の一人 Rob Pike氏の名言に触れながら Go interface の特徴、創始者の意図について解説させていただきました。

 

今更だけどGob / 小久保 駿(AWA株式会社)

立ち上げ当初より開発メンバーとして在籍しているサーバーサイド・エンジニアの小久保は Go 専用のシリアライズ形式 “Gob” について解説をして頂きました。Gob のフォーマットから Protocol Buffers や JSON enconding と比較、 Go 専用に作られた シリアライズ形式の “Gob” の特徴である self-describing 的な設計、Register() と interface{} の値の送信時の注意などAWAの開発で培った知見が含まれており、とても興味深い内容でした。

 
 

golang profilingの基礎 / 中澤 優一郎(株式会社AbemaTV)


株式会社AbemaTV(以下 AbemaTV)のサーバーサイド・エンジニアの中澤は AbemaTVで実際に使用しているpprof パッケージ ついて解説をして頂きました。pprof の 設定と使い方、net/http/pprofとGraphiviz を使ったプロファイリング/グラフ化、AbemaTVでの事例も交えながらの説明は今後導入しようと考えている方にぴったりの発表でした。発表の最後にはCheck Point と Debug Commandといった重要な項目にも触れているのも非常に参考になるかと思います。

 
 

ご好評につきまして、第2弾も開催します!

サイバーエージェントでは今回発表のあったサービスの他にもまだまだたくさんのサービスがGoを活用しており、そういった多くの例や知見を「CA.go」を通じて Go コミュニティーに貢献していきたいと思っております。

ご興味を持たれた方は是非とも弊社のconnpassグループをチェックして次回の 「CA.go」に足を運ばれてはいかがでしょうか。

Oliver Huang
Go と DB設計が好きなガチムチ・エンジニア。最近ボルダリングにハマって朝登ってから出社をTry中。Rob Pike氏の名言集 go proverbs (https://go-proverbs.github.io/) がお気に入り。