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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Yosuke Furukawa
PRO
June 20, 2018
Programming
240
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
jsconfeu 2018
NodeGirls で発表した jsconfeu 2018 の話です。
Yosuke Furukawa
PRO
June 20, 2018
More Decks by Yosuke Furukawa
See All by Yosuke Furukawa
デザインシステムが必須の時代に
yosuke_furukawa
PRO
2
230
Node.js, Deno, Bun 最新動向とその所感について
yosuke_furukawa
PRO
10
5.2k
Welcome JSConf.jp 2024
yosuke_furukawa
PRO
1
4.7k
tc39 x jsconf.jp Panel Discussion 2024
yosuke_furukawa
PRO
0
340
Removing Corepack
yosuke_furukawa
PRO
9
1.9k
JavaScript Runtime とはなにか
yosuke_furukawa
PRO
15
3.1k
Strip Types と Storage
yosuke_furukawa
PRO
4
510
Module Harmony について
yosuke_furukawa
PRO
4
1.9k
LTのやり方
yosuke_furukawa
PRO
16
3k
Other Decks in Programming
See All in Programming
Go1.27で導入されるジェネリクスメソッドでできること
mackee
0
110
LLMによるContent Moderationの本番運用の裏側と品質担保への挑戦
suikabar
2
570
Why Laravel apps break—Mastering the fundamentals to keep them maintainable
kentaroutakeda
1
350
気圧・高度・GPSを記録&可視化するアプリ「Koudo」を作った話
hjmkth
1
110
[2026年度第1回ORセミナー] 計画最適化ベンチャーと競技プログラミング人材
terryu16
0
260
エージェンティックRAGにAWSで入門しよう!
har1101
8
1.4k
Datadog × OpenTelemetry 入門と実践のあいだ
kn_to_maxpno
1
150
AI駆動開発で崩れていくコードベースを立て直す
kyoko_nr_nr
1
450
ローカルLLMでどこまでコードが書けるか -拡張版 / How much code can be written on a local LLM Extended
kishida
3
1.7k
スマートグラスで並列バイブコーディング
hyshu
0
120
Technical Debt: Understanding it Rightly, Engaging it Rightly #LaravelLiveJP
shogogg
0
220
正しくソフトウェアを作る、前提を疑うための認知の視点 / doubt-premise
minodriven
21
6.5k
Featured
See All Featured
[SF Ruby Conf 2025] Rails X
palkan
2
1.1k
A better future with KSS
kneath
240
18k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
1.7k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.5k
We Are The Robots
honzajavorek
0
240
Evolving SEO for Evolving Search Engines
ryanjones
0
210
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
570
The Pragmatic Product Professional
lauravandoore
37
7.3k
Utilizing Notion as your number one productivity tool
mfonobong
4
320
The SEO identity crisis: Don't let AI make you average
varn
0
490
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.8k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
52k
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