棚卸し (201812)

定期的にやるやつ。前書いたのが 201810 なので 2 ヶ月でどうなったか。

Erlang/OTP

ひたすら Erlang/OTP を書いている。WebRTC も QUIC も Erlang/OTP で。NIF には触れないようにしている。

OTP 21.2 が出て、counters や persistent_term が入り Erlang の設計方法が大きく変わってきた。また logger も lager とは別にうまく使いこなしていければと思い触っている。

counters, persistent_term, logger を使いこなしていくのが今後の課題。

また QUIC に手を出したことから UDP を利用してスケールするという仕組みも考えていく必要が出てきた。{active, N} や SO_REUSEPORT も積極的に手を出していく。

WebRTC

メインのお仕事。もう QUIC か WebRTC かというくらい仕事の幅が狭くなってきている。

WebRTC Native Client という libwebrtc を利用したクライアントの開発は自分は一切行っていない。

いろいろやっているが、RFC の行間を読みながら実装するのは当分続きそうだ。

QUIC

手を出し始めた。開発ログも公開した。TLS 1.3 といいQUIC といい、やることいっぱい。QUIC はとにかく知識も必要だが複雑なプロトコルなので、技術的にも大変。

ngtcp2 を読んだり、RFC を読んだりいろいろ。とにかくやることが多い。ゆっくりちまちまと進めていく。ngtcp2 の作者に相談できるのは本当にありがたい。

QUIC Implementors Slack にも入れてもらえるように申し込む予定。

負荷試験

WebRTC の負荷試験は Chrome/Firefox + Pupetter という流れがきてるので、いろいろやりたい。QUIC の負荷試験ツールもいつか作りたい。

負荷試験に関してはリソース的にもビジネス的にも課題があるので、まずは社内で。

ファジング

WebRTC + Fuzzing の話が Google Project Zero から出てきて、興味が復活。

まずはこれを読むところから。

ハードウェアエンコーダ

自分で手は動かさない。

ラズパイ以外では、Intel の QSV を調査してもらったりしている。ただ Intel の QSV は H.264 のライセンスは自己責任らしく、VP8/VP9 に絞ることにした。

それ以外のハードウェアエンコーダに関しての知識も社内で溜め込んでいこうという話をしている。

自分は知識だけなんとなくという感じだが、これは続けていきたい。

ARM サーバ

自分で手は動かさない。

AWS が a1 インスタンスを発表したので、かなり身近になった。まずはビルドサーバとして使っていきたい。東京に早く来てほしい。

その他

React Native や React 、Firebase などは気にはなってるが手を回す余裕がない。ウェブに関しては社員が詳しいということもあり、焦って追いかけるよりは自分のスキルを伸ばすところに注力しようと考えている。

Erlang/OTP、WebRTC、QUIC、負荷試験、ファジング、お腹いっぱいどころかはちきれそうなので、まずはこの5つを 2019 年はやっていく。

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