Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
たのしくみんなのWifi速度を収集する、しかもJSで!
Search
tan-t
December 08, 2023
330
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
たのしくみんなのWifi速度を収集する、しかもJSで!
tan-t
December 08, 2023
Featured
See All Featured
Practical Orchestrator
shlominoach
192
12k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
340
Code Reviewing Like a Champion
maltzj
529
40k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
520
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
440
Believing is Seeing
oripsolob
1
240
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.7k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
800
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
530
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
600
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
74
43k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
7k
Transcript
たのしくみんなのWifi速度を 収集する、しかもJSで! 株式会社DELTA 丹哲郎
主にインフラ領域の技術支援サービスやってます!
私は代表です! 2日ぶり人生2回目のLTです!よろしくお願いします!
(ところで)会場あります!@シブヤ
最近オフィスのWifiが遅い!(らしい)
こういうのは各自が好き勝手言うからファクトが欲しい 電子レンジ? 接続台数? 上りが遅い? 時間帯?
アーキテクチャ(妄想) 端末 データレイク 端末 端末 端末 グラフ化など インサイト
極端に遅いことの検知はクライアントでやりたい 端末 データレイク 端末 端末 端末 グラフ化など インサイト 低速になった時点で通信が不安定にな るので、「遅くなった」ことは
クライアントが検知してほしい
でも各自のOSはバラバラ
Chrome拡張にしてバックグラウンド実行させてみよう でもNW速度をキャプチャできるAPIなんてあるの?
navigator.connection
でもなんか数値が小さい・・・?
丸めた値らしい(fingerprinting対策とのこと) https://stackoverflow.com/questions/5529718/how-to-detect-internet-speed-in-javascript/47511842#47511842
「遅いこと」がわかればOK
遅いときには通信しづらいので、復帰時にまとめて送付 実装はどうすればいいのかな? • 定期的にチェック • 遅くなったら低速モードに • 高速に戻った時点でレポートを投げる • チェック間隔は高速時と低速時で変えたいかも、、、?
setIntervalだと等間隔すぎる件 高速時が9割で、低速時にはこまめにチェックしたいという場合にsetIntervalだとどちら に合わせるか難しい
「さっきまで低速だった」という状態も管理したい 関数の外に状態を置いて更新したくないですよね、、、
setTimeoutと再起でシンプルに書けるかも?
setTimeoutと再起でシンプルに書けるかも? 状態 遅い間はどんどん積み重なる 速くなったらリセット catch-allなループ
setTimeoutと再起でシンプルに書けるかも? Exponential backoff 基本は30秒ごとにサンプリング
setTimeoutと再起でシンプルに書けるかも? いま遅い 遅かった それ以外
(今後の課題)テスタビリティは低そう これは外から渡したほうが良さそう ここはSpyする? これも外から渡したほうが良さそう?
[CM]AWSコストの無料診断やってます!
[CM]AWSコストの無料診断やってます! https://costcut.cloud
ありがとうございました!