Builderscon2019:0831メモdump

hyperloglogは面白い

リアルタイムアクセス解析システム アクセスユーザ数 アクセスcookie

従来: ユニークユーザー数どう出すかが課題 全ての要素を覚えるひつよう(ユニークでなければいけない - O(N)必要 - abuse耐性がない

hyperloglogで解決: 確率的アルゴリズムで近似するアプローチ

cardinalityNを上位の連続したO-bitをつかう

marge scketchA + scketchB = A Bの和集合 →分散処理、並列化がやりやすい

Loglogに複数hashの平均化を加えたものがhyperloglog

Using on Redis: PFmargeが遅い(redisはシングルスレッドなのでhight traffic下で詰まる) のでPFmarge用のRedsインスタンスをつくるとよい

HyperMInHash:

まとめ: hyperloglog scketchは面白い 確率的アルゴリズムは面白い

質疑応答: HyperMinHashはRedisに入ってないのか? 入っていない。新しいデータ構造を定義しなければいけないので実装が大変

Hyperloglog++とは? Googleの再実装 論文 "Hyperloglog in practice"

Redisはソースコード読みやすい。 設計のドキュメントがしっかりしてる。

〇〇2vec再考

○○2vecをつかうことでふくざつで抽象的な情報を機械的に処理することができる

事例: 顔画像検索 ベクトル動詞の比較で「被写体の同一性」をはんていできる 画像を直接比較するのと比べて - 計算が高速 - 環境を吸収できる

グラフ構造を使ったhoge2vec

predictive Prefetching for the Web

JS bytes !== JPEG bytes 同サイズでもJSのパースのが高負荷

lazy-load

如何にしてjsのサイズを減らすか ファイルを分割する。異なるファイル同士の共通部分(importされたライブラリ等)をchuckする

Guess.js 機械学習によって次のページ遷移を予想してjsファイルをprefetchする