golang.tokyo #15に参加してきた。
内容は以下。
- メインの30分セッションふたつ
- Effective Streaming in Golang by avvmoto さん
- 次世代のコンテナランタイム!?gVisorのコードを読みながら理解してみる by niconegoto さん
- ライトニングトークは発表予定の 2 人が都合が悪くなってしまったらしく、急遽代打を現地で 2 名補充
Effective Streaming in Golang by avvmoto さん
何かデータを読み込んでそれを引き回そうというときに、読み取り時にメモリ上に確保し、 確保したメモリを引き回すとやってしまうと、関数をまたぐたびにコピーが発生してしまう (もしくはポインタで渡していくか) みたいなことが起きがちである。
io.Reader interface を引き回すことで、いざ実際に必要になった段で初めてメモリ上に読み込むような動作にでき、メモリ効率、処理速度の向上に寄与できるんじゃない、という話だったと理解した。
次世代のコンテナランタイム gVisor を理解する by niconegoto さん
gVisor はよりセキュアにコンテナの仕組みを使おうということで出てきたプロダクトの模様。
Google においては、gVisor についていずれ論文で技術的な詳細をつまびらかにする予定があるらしく、出てきたら読んでみようかなと思う。
ちなみに、gVisor のソースコードは既に20万行くらいになっているらしく、なかなかゴツいっすね…。
暫時休憩を挟み。
以下、ライトニングトーク。
LT by @yoshi_xxxxxiiii さん from Cluex
- 「mamanoko」「ままのて」というサービスを運営されているとのこと。
- せっかく実装したローディング画面について、サーバが JSON 返すの速くなりすぎてローディング画面が出ない、という苦情があったらしい。すごいね。
しばしば Rails と Go は比較に上がる気がする。Go に一部変えたら速くなりました!みたいな。
Rails だから遅いってこともないという認識だけど、速くしようと思ったら大変ってことなのかなー。
LT by @pospome さん
- 急遽代打で登壇。
- 技術書典で golang.tokyo が出した本に寄稿した内容の紹介
LT by @karupanerura さん
- こちらも急遽代打で登壇。
- 以下の記事について解説。
Goで書いたMicroservicesな構成からWeb APIを叩くときに考えたこと - Qiita