棚卸し (2020-06)

定期的にやるやつ。前書いたのが 2019-12なので 6ヶ月でどうなったか。

Erlang/OTP

リファクタリングをがっつりと。つまり Erlang/OTP をゴリゴリと書いてる。OTP 23.0 になったが、大きな変化は特になく。性能改善コードを書けるようになるのが今年の目標かもしれない。

Go

自社製品の改善くらいしか書いていない。今後も Go でバリバリ書くことはなさそう。とはいえ読みたい OSS が Go で書かれていることは多いので、継続的にコードリーディングはしていきたい。

お手伝い先では Go / gRPC を使おうとしているので、知識だけは入れておきたい。

Vim

erlang-ls を設定してもらったので、大変快適。Erlang/OTP とドキュメントは Vim で書いている。MacVim を新しくしたら劇的に軽くなってとても快適。

VSCode

Go と JavaScript を書くときは VSCode を利用している。Vim モードもいい感じ。大きめのコードを VSCode で書くことはないので、困っていない。

WebRTC

メインのお仕事。クライアントライブラリや SDK 周りは皆に任せて WebRTC SFU のコア部分をガッツリと。ただ E2EE だけは設計が重要になるということもありプロトタイプだけは実装した。

やることが無限にでてきているが、機能追加というよりは改善がほとんどなので、気は楽。徹底的に良いものを作っていくという方針。

WebRTC 界隈は動きがそんなに無いが、やろうとしていることは巨大なので、プロトコルに絞って追いかけている。

SCTP (over DTLS = DataChannel)

2 年前に作って封印していた DataChannel を再実装している。ユーザに公開するのではなく SDK と Sora のやり取りで利用したくなってきたというのがあるから。

知識が結構抜けているので、再度インプットし直してる。実装しつつ、検証しつつ、プロダクションコードまで持っていく。

QUIC / HTTP/3 / WebTransport

今年いっぱいは焦らず学ぶ側でいようという気持ち。実装も急がないことにする。とはいえ、インプットは忘れない。

Message Layer Security / Signal Protocol

E2EE をやり始めたらはまった。プロトコルと暗号という組み合わせが自分にぴったりということもあり、頑張って勉強している。

グループビデオカンファレンスの E2EE はそもそもこれからという技術ということで、今のタイミングで積極的に追いかけて、プロダクションに入れ込みたいと思っている。

ただ、MLS はクライアント側の実装の仕組みなので仕様とプロトタイプをガッツリ作り込んで OSS 開発を頑張ってもらえるようにする。

設計とプロトは担当するが、開発は皆に託す。

生配信

WebRTC SFU を使った定期的な生配信イベントをやってみている。20–30 人程度が参加してくれている。配信アーカイブは残さないし、コメントもオープンにしない。

リアルタイムな配信を楽しんでいこうと思っている。

まとめ

Erlang/OTP と WebRTC に E2EE が入り込んできた。新し目の技術ということで、ドキドキしながら勉強している。MLS を実際に触っている人はほとんど居ないので、 Erlang/OTP や WebRTC に続き、またぼっちな戦いが待ってそうだ。

Written by

Erlang/OTP / 時雨堂 / WebRTC / E2EE

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store