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
jsconfeu 2018
Search
Yosuke Furukawa
PRO
June 20, 2018
Programming
0
220
jsconfeu 2018
NodeGirls で発表した jsconfeu 2018 の話です。
Yosuke Furukawa
PRO
June 20, 2018
Tweet
Share
More Decks by Yosuke Furukawa
See All by Yosuke Furukawa
Welcome JSConf.jp 2024
yosuke_furukawa
PRO
1
3.8k
tc39 x jsconf.jp Panel Discussion 2024
yosuke_furukawa
PRO
0
200
Removing Corepack
yosuke_furukawa
PRO
9
1.5k
JavaScript Runtime とはなにか
yosuke_furukawa
PRO
15
2.6k
Strip Types と Storage
yosuke_furukawa
PRO
4
370
Module Harmony について
yosuke_furukawa
PRO
3
1.6k
LTのやり方
yosuke_furukawa
PRO
16
2.4k
AppRouter Panel Talk
yosuke_furukawa
PRO
3
750
Node.js v22 で変わること
yosuke_furukawa
PRO
13
5.8k
Other Decks in Programming
See All in Programming
メンテが命: PHPフレームワークのコンテナ化とアップグレード戦略
shunta27
0
310
責務と認知負荷を整える! 抽象レベルを意識した関心の分離
yahiru
8
1.5k
なぜイベント駆動が必要なのか - CQRS/ESで解く複雑系システムの課題 -
j5ik2o
14
4.7k
dbt Pythonモデルで実現するSnowflake活用術
trsnium
0
270
未経験でSRE、はじめました! 組織を支える役割と軌跡
curekoshimizu
1
170
Go 1.24でジェネリックになった型エイリアスの紹介
syumai
2
300
CDK開発におけるコーディング規約の運用
yamanashi_ren01
2
260
Datadog Workflow Automation で圧倒的価値提供
showwin
1
280
LINE messaging APIを使ってGoogleカレンダーと連携した予約ツールを作ってみた
takumakoike
0
120
Jakarta EE meets AI
ivargrimstad
0
530
[JAWS DAYS 2025] 最近の DB の競合解決の仕組みが分かった気になってみた
maroon1st
0
140
DevNexus - Create AI Infused Java Apps with LangChain4j
kdubois
0
110
Featured
See All Featured
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
A Tale of Four Properties
chriscoyier
158
23k
Facilitating Awesome Meetings
lara
53
6.2k
Stop Working from a Prison Cell
hatefulcrawdad
268
20k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Being A Developer After 40
akosma
89
590k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.2k
A better future with KSS
kneath
238
17k
Practical Orchestrator
shlominoach
186
10k
Mobile First: as difficult as doing things right
swwweet
223
9.5k
Optimizing for Happiness
mojombo
377
70k
Transcript
jsconf.eu 2018 2018/06/20 @ Recruit Technologies
Twitter: @yosuke_furukawa Github: yosuke-furukawa
jsconf.eu 2018
Ұ൪໘ന͔ͬͨͷ
None
Ұ൪໘ന͔ͬͨͷίϨ ͚ͩͲɻɻɻ
ৄࡉ͜͜Ͱ͠·͢
͓͠Ζ͔ͬͨηογϣϯ 3ͭհ EFOPҎ֎ͷ
None
৫ͷͨΊͷഉଞతͳߦҝͷݮ Β͠ํ • ܭଌͰ͖ͳ͍ͷཧͰ͖ͳ͍ • Ͳ͏ͬͯ৫Λվળ͢Δ͔ɺͱ͍͏৫վ ળͷ • ·͔͞ JavaScript
ͷΧϯϑΝϨϯεͰ৫վ ળωλΛฉ͘ͱɻɻɻ
None
৫ͷͨΊͷഉଞతͳߦҝͷݮ Β͠ํ • ͯ͢ͷεςʔΫϗϧμʔ͕Ͳ͏ײ͡Δ͔Λ ૾ͯ͠ɺͦͷίΞόϦϡʔΛఆٛ͠ͳ͍͞ • ܭଌͰ͖ͳ͍ͷޭ͔ͨ͠Ͳ͏͔ଌΕͣɺ ͦΕʹΑͬͯݕূͰ͖ͳ͍ͷͰɺܭଌͯ͠ς ετ͠ͳ͍͞ •
ςετͨ͠Βͦͷ݁ՌΛඪ४Խͯ͠Ίͳ͍͞
৫ͷͨΊͷഉଞతͳߦҝͷݮ Β͠ํ • ૾͢Δ͜ͱ • ఆٛ͢Δ͜ͱ • ద༻͢Δ͜ͱ • ݕূ͢Δ͜ͱ
• ඪ४Խ͢Δ͜ͱ • ͜ΕΒΛܧଓతʹ࣮ࢪ͢Δ͜ͱ
None
https://ejzimmer.github.io/event-loop-talk/#/
Event Loop ͬͯΑ͘ฉ͚͘Ͳ Կʁ • TaskͷཧͷͨΊͷΩϡʔʢΈ͍ͨͳΜʣ • TaskͬͯͳʹΑʁ document.body.addEventListener('keydown', (event)
=> { if (event.key === 'PageDown') { location.href = "/#/36"; } }); ͜͜ͷ͜ͱ
Event Loop ͬͯΑ͘ฉ͚͘Ͳ Կʁ
Event Loop ͬͯΑ͘ฉ͚͘Ͳ Կʁ • TaskͷཧͷͨΊͷΩϡʔʢΈ͍ͨͳΜʣ • TaskͬͯͳʹΑʁ document.body.addEventListener('keydown', (event)
=> { if (event.key === 'PageDown') { location.href = "/#/36"; } }); ͜͜ͷ͜ͱ
Event Loop ͬͯΑ͘ฉ͚͘Ͳ Կʁ • Πϕϯτϧʔϓʹ͍ͭͯղઆͯ͠Έͨ • ࠷ۙTaskͱ͍ͬͯsimpleͰͳ͘ɺPromise ͷmicrotaskwebworkerΛͬͨผεϨου ଘࡏ͢Δ
• Node.jsͷEventLoop·ͨಛత setImmediate process.nextTick ͕͋ͬͨΓɻ
None
None
None
None
None
TCPͷղઆ • ΊͪΌͪ͘Ό໘ന͔ͬͨɻ • Slow Start ͷղઆͱͯ͜͠ΕҎ্ແ͍͘Β͍ຊ࣭ Λଊ͑ͯͨɻ • Head
of Line blocking ΛύϯέʔΩΛ৯͗ͯ͢ ৯ΒΕͳ͘ͳͬͨঢ়ଶͱදݱͯͨ͠ͷਧ͍ͨ • രস͠ͳ͕ΒݟΕͨؾ͕͢Δɻ
None