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
JavaScript学園ポモドーロ科を主席で卒業するためのテクニック
Search
Masakatsu Tokita
February 22, 2023
Programming
0
5.2k
JavaScript学園ポモドーロ科を主席で卒業するためのテクニック
Masakatsu Tokita
February 22, 2023
Tweet
Share
Other Decks in Programming
See All in Programming
設計の本質:コード、システム、そして組織へ / The Essence of Design: To Code, Systems, and Organizations
nrslib
4
570
Building a macOS screen saver with Kotlin (Android Makers 2025)
zsmb
1
150
AI Coding Agent Enablement - エージェントを自走させよう
yukukotani
14
6.1k
AWSで雰囲気でつくる! VRChatの写真変換ピタゴラスイッチ
anatofuz
0
160
サービスクラスのありがたみを発見したときの思い出 #phpcon_odawara
77web
4
680
メモリウォールを超えて:キャッシュメモリ技術の進歩
kawayu
0
1.9k
Dissecting and Reconstructing Ruby Syntactic Structures
ydah
1
740
gen_statem - OTP's Unsung Hero
whatyouhide
1
200
ウォンテッドリーの「ココロオドル」モバイル開発 / Wantedly's "kokoro odoru" mobile development
kubode
1
140
プロフェッショナルとしての成長「問題の深掘り」が導く真のスキルアップ / issue-analysis-and-skill-up
minodriven
7
1.4k
「影響が少ない」を自分の目でみてみる
o0h
PRO
2
1.1k
リアルタイムレイトレーシング + ニューラルレンダリング簡単紹介 / Real-Time Ray Tracing & Neural Rendering: A Quick Introduction (2025)
shocker_0x15
1
310
Featured
See All Featured
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.8k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.2k
Thoughts on Productivity
jonyablonski
69
4.6k
Designing for humans not robots
tammielis
252
25k
BBQ
matthewcrist
88
9.6k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
135
33k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2k
Code Reviewing Like a Champion
maltzj
522
40k
Faster Mobile Websites
deanohume
306
31k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
13
680
Making the Leap to Tech Lead
cromwellryan
133
9.2k
RailsConf 2023
tenderlove
30
1.1k
Transcript
JavaScriptֶԂϙϞυʔϩՊΛ ओ੮Ͱଔۀ͢ΔͨΊͷςΫχοΫ @ϋʔυϧܹLTେձοʂ 2023-02-22 @Tokky0425
1992 େҪڝഅͷഅখͰੜ 2005 ๏ࣉࢠΛసʑͱ͠ͳ͕ΒॳڭҭΛ 2008 ொాࢢཱϞϯϋϯ௮͚தֶߍΛଔۀ 2011 ࢲཱJavaScriptֶԂߴߍϙϞυʔϩՊΛओ੮ଔۀ 2012 7ؒͷਭ
(τΠϨٳܜͳ͠) 2019 SmartHRʹೖࣾɺݱࡏʹࢸΔ ུྺ 👈 ͜Ε
ओ੮ଔۀͷ伴ͱͳͬͨϙϞυʔϩλΠϚʔͷ ࣮ͷίπΛ͓͑͠·͢ɻ
ͪͳΈʹ... 25࡞ۀɺ5ٳܜͷαΠΫϧΛ܁Γฦ͢͜ͱͰɺ ूதͯ͠࡞ۀΛߦ͏ϙϞυʔϩςΫχοΫͱ͍͏ͷ͕ଘࡏ͠·͢ɻ ϙϞυʔϩλΠϚʔͱ͍͏ͷɺϙϞυʔϩςΫχοΫͰ͏ λΠϚʔ (ཁΧϯτμϯλΠϚʔ) ͷ͜ͱͰ͢ɻ
ૉʹλΠϚʔΛ࣮ͨ͠߹
ѱ͘ͳ͍Ͱ͕͢ɺ͜Εʹͪΐͬͱ͕ͨ͋͠Γ·͢ɻ
ͣΕΔɻ
ͱʹ͔ͣ͘ΕΔʂ
ผλϒผΞϓϦέʔγϣϯͰ࡞ۀ͍ͯ͠Δͱɺ λΠϚʔ͕αϘΓ࢝Ί͕ͯ࣌ؒͣΕ͍͖ͯ·͢ɻ ຊ60ඵܦͬͯΔͷʹ40ඵ͔͠ܦͬͯͳ͍͜ͱʹͳͬͯͨΓ...
Whyʁ🤷
ϝΠϯεϨουΛແବʹઐ༗͠ͳ͍ͨΊʹɺ ΞΫςΟϒͰͳ͍λϒͷ JavaScript ࣮ߦ͕ؒҾ͔Εͯ͠·͏ɻ
Web Worker Λ͓͏ʂ
Web Worker ͷεϨουϝΠϯεϨουͱผͳͷͰɺ ॲཧ͕ؒҾ͔Εͳ͘ͳΔ ઈରʹαϘΒͳ͍ Web Worker ͞Μ
main.js worker.js
Web Worker Λͬͯ setInterval ͷॲཧΛ ϝΠϯεϨου͔ΒΓ͢ͱɺ ʮઈରαϘΒͳ͍λΠϚʔʯ͕࡞ΕΔʂ ݁
λΠϚʔΞϓϦΛ࡞͍ͬͯΔਓࢀߟʹͯ͠ω😘
͓ΘΓ