Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
throttleすげぇぇぇ
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Sigma
October 10, 2022
Programming
82
0
Share
throttleすげぇぇぇ
Sigma
October 10, 2022
More Decks by Sigma
See All by Sigma
Proxmox_VE.pdf
seiyasugimoto
0
210
Stable Diffusionで遊んでみた
seiyasugimoto
1
140
EVAフレームワーク
seiyasugimoto
0
110
SSR+SPA
seiyasugimoto
0
150
Nuxtにおける設計
seiyasugimoto
0
96
Atomic Designを ディレクトリ以外で表現
seiyasugimoto
0
84
スマホでPythonしたい
seiyasugimoto
0
71
平文で保存するな!
seiyasugimoto
0
92
ソースコードを読もう
seiyasugimoto
0
91
Other Decks in Programming
See All in Programming
ファインチューニングせずメインコンペを解く方法
pokutuna
0
280
飯MCP
yusukebe
0
490
GNU Makeの使い方 / How to use GNU Make
kaityo256
PRO
16
5.6k
瑠璃の宝石に学ぶ技術の声の聴き方 / 【劇場版】アニメから得た学びを発表会2026 #エンジニアニメ
mazrean
0
190
Symfony + NelmioApiDocBundle を使った スキーマ駆動開発 / Schema Driven Development with NelmioApiDocBundle
okashoi
0
270
PHPで TLSのプロトコルを実装してみるをもう一度しゃべりたい
higaki_program
0
180
Offline should be the norm: building local-first apps with CRDTs & Kotlin Multiplatform
renaudmathieu
0
160
テレメトリーシグナルが導くパフォーマンス最適化 / Performance Optimization Driven by Telemetry Signals
seike460
PRO
2
220
Rethinking API Platform Filters
vinceamstoutz
0
11k
Going Multiplatform with Your Android App (Android Makers 2026)
zsmb
2
350
ローカルで稼働するAI エージェントを超えて / beyond-local-ai-agents
gawa
2
260
PHP 7.4でもOpenTelemetryゼロコード計装がしたい! / PHPerKaigi 2026
arthur1
1
540
Featured
See All Featured
WENDY [Excerpt]
tessaabrams
9
37k
Prompt Engineering for Job Search
mfonobong
0
260
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.4k
A Modern Web Designer's Workflow
chriscoyier
698
190k
Practical Orchestrator
shlominoach
191
11k
It's Worth the Effort
3n
188
29k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
710
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.3k
The Curious Case for Waylosing
cassininazir
0
290
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
0
190
Un-Boring Meetings
codingconduct
0
260
Scaling GitHub
holman
464
140k
Transcript
throttleがすごい話 Vueのリアクティブシステム
NLP のしぐまです! • 株式会社エヌエルプラスに去年入社しました。 ◦ リファラル採用やってます! • 自分はイベント配信プラットフォーム (受託) 等やってます。
• 現在は主にNuxtとGoとGCPを触っています。 ◦ フルスタックです!何でも屋とも言う…なぜかGoも触ってる… • シニアエンジニアです。
Vueのリアクティブシステム
変数の書き換えが速さがいやらしい場合 • 変数の書き換えに反応して重たい描画機能が走っている場合。書き換えの速さに よって死ぬ。 ◦ 経験したケースでは秒間数十回走るとつらい。 ◦ 高速なチャットとか。 • throttle
で書き換え回数を制限してしまえば安定するのではないか?
throttleの概要 • 関数の実行回数をNミリ秒に一回に制限できる。 ◦ 500 ミリ秒なら秒間 2 回 • Nミリ秒内の実行は無視されず、次の実行可能タイミングに実行される。
• lodashに入ってる
どう制限するか • ウォッチャに throttle で ラップした update 関数 を仕込み、更新回数の 制限された変数を実際
にその変数を描画する コンポーネントに渡す。 DRAW COMPONENT throttled variable: drawするコンポーネントへ渡 す。 update function: throttled variableを更新 watch: callback に throttle update function, 高速 で更新される store の変数を watch STORE
こんな感じ
lodash の throttle が優秀 • 公式ドキュメントから参照され ていた記事 https://css-tricks.com/debou ncing-throttling-explained-e xamples/
にあるデモを一部 throttle 用に書き換えた。
ユースケース(throttle, debounce) • 複数回の誤クリックの対策 • スクロールイベント等の制限 • リアクティブシステムの暴走を止める
イベント駆動な JavaScript を制する