4. Copyright
(C)
DeNA
Co.,Ltd.
All
Rights
Reserved.
JavaScriptとgoto
! ラベル付きcontinueを使えば機
械的に変換できます。
! while⽂文とswitch⽂文の
⼆二段構成+⾏行行先+ジャンプするか
のフラグを保存する変数を⽤用意
! いったんお尻に⾏行行って、頭に
⾏行行ってから⽬目的地に⾏行行くのが
最初わかりにくく感じますが
! gistに貼ったよ。
#tng15に放流流
したよ
⁃ https://gist.github.com/
shibukawa/
315765020c34f4543665
※Pythonコードも追加
5. Copyright
(C)
DeNA
Co.,Ltd.
All
Rights
Reserved.
謝辞
! 職場でこのアイディアを思いついた時に、話を聞いてくれたり、コメン
トくれたり、いいねと⾔言ってくれた
@uupaa,
@damele0n,
@yosuke_̲furukawa
(特に
@uupaaさん)
6. Copyright
(C)
DeNA
Co.,Ltd.
All
Rights
Reserved.
「今できる」とは?
! Service
Workerはまだ実⽤用で使うにはチャレンジすぎる
! Fetch
APIはまだ実⽤用で使うにはチャレンジすぎる
! 今、そこそこ枯れている機能でがんばってみる
7. Copyright
(C)
DeNA
Co.,Ltd.
All
Rights
Reserved.
とある⽇日の発⾒見見
! LZ4コマンドで遊んでたところ、奇妙な現象に遭遇
JSパーサ(esprima)で⽣生成したJSON(63MB)を
⁃ gzipで圧縮→2.8MB
⁃ lz4で圧縮→3.0MB
⁃ lz4で圧縮した後にgzipで圧縮→1.7MB
8. Copyright
(C)
DeNA
Co.,Ltd.
All
Rights
Reserved.
LZ4とは?
! 圧縮展開速度度重視のアルゴリズム
⁃ ファイル圧縮ではなく、メモリ効率率率や転送速度度アップで利利⽤用される
⁃ MySQLやFreeBSDのZFSのバックエンドでも
⁃ Level
DBの裏裏で使われているGoogle
Snappyの類似