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
キャリアの悩みについて
Search
Yosuke Furukawa
PRO
December 09, 2022
Programming
22
14k
キャリアの悩みについて
2022/12/09 Developers CAREER Boost で発表したキャリアについての話です。
Yosuke Furukawa
PRO
December 09, 2022
Tweet
Share
More Decks by Yosuke Furukawa
See All by Yosuke Furukawa
デザインシステムが必須の時代に
yosuke_furukawa
PRO
2
140
Node.js, Deno, Bun 最新動向とその所感について
yosuke_furukawa
PRO
10
4.2k
Welcome JSConf.jp 2024
yosuke_furukawa
PRO
1
4.2k
tc39 x jsconf.jp Panel Discussion 2024
yosuke_furukawa
PRO
0
260
Removing Corepack
yosuke_furukawa
PRO
9
1.7k
JavaScript Runtime とはなにか
yosuke_furukawa
PRO
15
2.8k
Strip Types と Storage
yosuke_furukawa
PRO
4
420
Module Harmony について
yosuke_furukawa
PRO
3
1.7k
LTのやり方
yosuke_furukawa
PRO
16
2.7k
Other Decks in Programming
See All in Programming
@Environment(\.keyPath)那么好我不允许你们不知道! / atEnvironment keyPath is so good and you should know it!
lovee
0
130
Ruby Parser progress report 2025
yui_knk
1
460
Deep Dive into Kotlin Flow
jmatsu
1
370
250830 IaCの選定~AWS SAMのLambdaをECSに乗り換えたときの備忘録~
east_takumi
0
400
実用的なGOCACHEPROG実装をするために / golang.tokyo #40
mazrean
1
300
Navigation 2 を 3 に移行する(予定)ためにやったこと
yokomii
0
350
Zendeskのチケットを Amazon Bedrockで 解析した
ryokosuge
3
320
🔨 小さなビルドシステムを作る
momeemt
4
690
プロポーザル駆動学習 / Proposal-Driven Learning
mackey0225
2
1.3k
「手軽で便利」に潜む罠。 Popover API を WCAG 2.2の視点で安全に使うには
taitotnk
0
870
為你自己學 Python - 冷知識篇
eddie
1
350
1から理解するWeb Push
dora1998
7
1.9k
Featured
See All Featured
Code Reviewing Like a Champion
maltzj
525
40k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
580
The World Runs on Bad Software
bkeepers
PRO
70
11k
Large-scale JavaScript Application Architecture
addyosmani
513
110k
Fireside Chat
paigeccino
39
3.6k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.4k
How to Think Like a Performance Engineer
csswizardry
26
1.9k
Balancing Empowerment & Direction
lara
3
620
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
850
How STYLIGHT went responsive
nonsquared
100
5.8k
Being A Developer After 40
akosma
90
590k
Transcript
ΩϟϦΞͷΈʹ͍ͭͯ 2022/12/09 @ Developers CAREER Boost
Twitter: @yosuke_furukawa Github: yosuke-furukawa ࠷ۙͷ׆ಈ $ISPNF"EWJTPSZ#PBSE +4$POG+1PSHBOJ[FSFUD
͜ͷʮΩϟϦΞͷΈʯ ͱݴΘΕͯΜͰ͍Δਓ͚ Ͱ͢ɻΜͰ͍ͳ͍ਓͦͷ ··Ͱɻ
ݞॻ • Ұൠࣾஂ๏ਓ Japan Node.js Association දཧࣄ • ΤΩεύʔτ৫ άϧʔϓϚωʔδϟ
• σϕϩοϓϝϯτࣨ ࣨ • Google Chrome Advisory Board • ٕज़ސ ࣾ
ΩϟϦΞͷΈͳΜ͔ͳͦ͞͏ • ͦΜͳ;͏ʹࢥͬͯ͠·ͬͨํ •ʮΩϟϦΞʹΜͰ· ͢ʂʂʂʂʂʂʯ • ΩϟϦΞͷΈ͕ͳ͘ͳΔ͜ͱͳΜͯແ͍ • ࠓͦΜͳΛ͠·͢
ݞॻͱΩϟϦΞͷΈ • ݞॻͱΩϟϦΞͷΈແؔ • ݞॻ୯ͳΔࣄ্ͷϥϕϧʹա͗ͳ͍ • ݞॻ͕ද͍ͯ͠ΔͷݱࡏؔΘ͍ͬͯΔࣄ ͷׂͷ໊લͰ͋Δ
ݞॻͱΩϟϦΞͷΈ • ΩϟϦΞࣄͷܦྺΛࢦ͢ • ͏গࣗ͠ͷݴ༿Ͱݴ͍͢ͱɺʮνϟϨ ϯδ͖ͯͨ͜͠ͱʯΛࢦ͢ • ʮࠓޙͷΩϟϦΞʯͱݴΘΕͨͱ͖ʹʮࠓ ޙͷνϟϨϯδʯͱಉٛޠͩͱࢥ͍ͬͯΔ
ݞॻͱΩϟϦΞͷΈ • ʮΩϟϦΞͷΈʯཁʮ͜ͷ··Ͱ͍͍ͷ͔ͳʯ ͱ͍͏Έ • ͦΜͳͷͣʔͬͱӬଓతͳΈͰ͋Δ • ࣍ͷઓΛܾΊͨҰ࣌తͳঢ়ଶΜͰ͍ͳ͍ͱࢥ ͏͕ɺͦͷޙ·ͨΉ •
ઓ͍ͯ͠ΔਓΛݟΔͱযΔͷҰ࣌తʹΈ͕ͳ͘ ͳͬͯͦ͏Ͱɺͤͦ͏ʹݟ͑Δ͔Β
ΩϟϦΞͷΈ
ΩϟϦΞͷΈ ৽͍͠νϟϨϯδͱͦΕ͕͏·͘ ݴͬͯΔ࠷ॳͷ͏ͪΜͰͳ͍
ΩϟϦΞͷΈ ఀ࢝͠ΊΔͱΈͩ͢
ΩϟϦΞͷΈ མͪࠐΈ࢝ΊΔͱ͍ͬͯͳΔ
ΩϟϦΞͷΈ ͦΕͷ܁Γฦ͠
ݞॻͱΩϟϦΞͷΈ • ͏·͘ߦ͍ͬͯΔঢ়ଶ͕ଓ͚͍͍͕ͦΜͳ ͷҰఆ࣌ؒͰ͙͢ʹফ͑ͯ͠·͏ • ͔ͦ͠Μͳ؆୯ʹ͏·͘ߦ͔ͳ͍ • େମ৽͍͠νϟϨϯδࣦഊ͢Δ • ࣦഊͨ͠Γɺࢼߦࡨޡ͍ͯ͠ΔΉ
ݞॻͱΩϟϦΞͷΈ • ΜͰ͍ͳ͍࣌ͳΜͯҰॠ͔͠ͳ͍ • جຊతʹͣͬͱΜͰΔ • ΈΜͳ͕ઓ͍ͨ͠ɺ͏·͍͖͍ͨͬͯ͘ ࢥͬͯΔ
ΩϟϦΞͷΈ͓ͦΒ͘த ظతʹݟΔͱͣͬͱ͍ͭͯ ·ΘΔ
ΩϟϦΞͷΈΛղফ͠Α͏ ͱ͠ͳ͍
ΩϟϦΞͷΈΛղফ͠Α͏ͱ ͠ͳ͍ • ଟͣͬͱΉΜͩ͠ɺ͏·͘ંΓ߹͍Λͭ ͚ͳ͕Β͏ͱࢥͬͯཉ͍͠ • ᘳʹ͏·͍ͬͯ͘ΔਓͳΜ͍ͯͳ͍ • Ұํɺ͔ͩΒͦ͜ʮ͜͜ͰͩͬͨΒΜͰ ͍͍ʯͱࢥ͑ΔڥΛݟ͚ͭͯཉ͍͠
͜͜ͰͩͬͨΒΜͰ͍͍ • Έਚ͖ͳ͍ͷͰɺΜͰ͍Δॴ͕ద͔Ͳ͏͔ Ͱߟ͑ͯཉ͍͠ • ձࣾͷ vision ʹڞײ͍ͯ͠Δͱ͔ • ձࣾͷҰॹʹಇ͍͍ͯΔϝϯόʔΛϦεϖΫτͯ͠
͍Δͱ͔ • ͦͷձࣾͷதͰ·ͩνϟϨϯδ͍ͨ͠ࣄ͕͋Δͱ͔
͜͜ͰͩͬͨΒΜͰ͍͍ • ద͡Όͳ͍ͳͱࢥͬͨΒม͑Δͷ͋Γͩͱ ࢥ͏ɻ • ͏Γ͍ͨ͜ͱ͕ͳ͍ • vision ʹڞײͰ͖ͳ͍ •
ΩϟϦΞҎ֎ͷਓؒؔͰΈଓ͚ͯ͠· ͏
ݹͷ
࠷ॳͷձࣾ • ϝʔΧʔͰจॻཧγεςϜΛ࡞͍ͬͯͨ • RDBͷΠϯσοΫεͷΈΛֶΜͩΓɺશจݕ ࡧͷΈֶΜͩΓͱͷֶ͘͢͝ͼ͕ଟ͔ͬͨ • ӳޠͬͨΓɺϓϩάϥϛϯάͨ͠Γ͠ͳ͕Βࣗ ݾݚᮎ͢Δ࣌ؒ͋ͬͯྑ͍اۀͩͱײ͍ͯͨ͡ •
ͦΕͰɺવΩϟϦΞʹΜͰ͍ͨ
ͦΜͳ࣌ʹ Node.js ʹग़ձ͏
ಥͳ౧ଠ • ͓͋͞Μચ୕ʹ͔͍·ͨ͠ • ͷ্ྲྀ͔Β౧͕ͲΜͿΒ͜ͱྲྀΕ͖ͯͨ • ࣋ͬͯؼ͓͍ͬͯ͡͞Μͱ৯Α͏ͱࢥͬͨ ʢ͜͜Α͘ߟ͑Δͱҟৗߦಈʣ
͓ͦΒͦ͘Μͳग़ձ͍͕৭Μ ͳॴͰى͖͍ͯΔ
ͷ߹ͷେ͖ͳ౧͕ Node.js ͩͬͨɻ
Node.js ʹϋϚΔ • ͱΓ͋͑ͣຖिϒϩάॻ͘ • ຖ݄ͳʹ͔࡞Δ • Πϕϯτʹ͔ͳΒͣߦ͘ • ʹҰొஃ͢Δ
͜ͷઓΛ͍ͯ͠Δָ࣌͠ ͔ͬͨɻ
͜͏͍͏ͷʢWeb ΞϓϦέʔ γϣϯͮ͘ΓʣΛࣄʹͨ͠ ͍ͱࢥͬͨ
2ͭΊͷձࣾ • ήʔϜձࣾ • ༏लͳਓ͕ͷ͘͢͝ଟ͔ͬͨ • ӡ༻ͷํֶΜͩ • ৽نࣄۀܦݧͨ͠ •
طଘࣄۀͷϦχϡʔΞϧͰେ͖ͳࣄͬͨ • ͪΖΜΩϟϦΞʹΜͰ͍ͨ
Node.js ͷ׆ಈଓ͚͍ͯͨ
ͨͩຊ֨తʹίϛϡχςΟͷ ϦʔμʔʹͳΔ ͜ͷลΓ͔Β Node.js Ϣʔ βʔάϧʔϓදʹͳΔ
Node.js ͱ io.js ͱͷ fork ͳ Ͳ͕ى͖ɺίϛϡχςΟࠞ ಱͱͩ͢͠ɻ
ݟݶΔਓଟ͍ ԿʮNode.js Φϫίϯʯ Έ͍ͨͳࣄΛݴΘΕ͔ͨ
Node.jsͱio.jsͷࠞಱΛऩΊ Α͏ͱɺϒϩάॻ͍ͨΓͲͪ ΒʹίϯτϦϏϡʔτͨ͠ Γ͍ͯͨ͠
͜ͷ࣌ͷ׆ಈΛࢦͯ͠ ͳΜͰ͜͏͍͏ࣄ͕Ͱ͖ͨΜ Ͱ͔͢ʁͱฉ͍͖ͯͯ͘ΕΔ ਓଟ͍
ҰݴͰ͍͏ͱʮѪʯ͔ͳͱ ࢥ͍ͬͯΔɻ
ϩδοΫΛ͑ͯΓଓ͚Δ ঢ়ଶΛࢦͯ͠ʮѪʯͱݺΜͰ ͍Δɻ
ͱʹ͔͘ଛಘൈ͖Ͱߟ͑ͯ ͨɻ Node.js ΛΓ্͛ͨ ͔ͬͨɻͳΜͰ͔ͱݴΘΕͯ Α͘Θ͔Βͳ͍ɻͦ͏͠ͳ ͖Ό͍͚ͳ͍ͱࢥͬͯͨɻ
͜͜·ͰເதʹͳΕΔͷ͕ ͋ͬͨͷྑ͔ͬͨؾ͕ͯ͠ ͍Δ
ͨͩͬͺΓͬͱ Node.js Λຊ֨తͳ׆ಈʹ͠ ͨ͘ͳͬͨ
ݱࡏͷձࣾ • Node.js Λ͔ͳΓૣ͔͘Β࠾༻͍ͯͨ͠ • ΣϒΞϓϦέʔγϣϯଟ͘ɺଟ༷ͳ͕ ଟ͔ͬͨ • ͕ࣗؔΘΔ͜ͱͰগ͠Ͱྑ͘͠Α͏ͱࢥͬͯ ͍Δɻ
• ͪΖΜΩϟϦΞʹΜͰ͍Δ
ϑϩϯτΤϯυͷઐνʔϜ Λ͞ΕΔ
ࢠձࣾͷ։ൃશൠΛ͞ΕΔ
৭ʑͱ৽͍͠νϟϨϯδ Λͤͯ͞Β͍͑ͯΔ
ͦΕͰͬͺΓΉ
όϥϯεͷͱΓํ ઐՈͷҭ ձࣾͷܦӦ Node.js ͳͲͷOSS׆ಈ ٕज़ސ ຊΛॻ͘
όϥϯεͷͱΓํ ຖͷݚᮎ (ӳޠ) ڝٕϓϩάϥϛϯά ےτϨ Ոఉ͍͠
·͊ͰΜͰ͍͍ͯͱ ࢥ͑Δ
ଟɺ͜Ε͕ࣗͷΩϟϦΞ ͷܗͷํԿͩͱࢥ͏ɻ Έͳ͕Βɺͦͷ࣌ϋϚͬͯ ΔࣄΛΓͳ͕Βɺόϥϯε ͱΓͳ͕Βɺͨ·ʹແ͠ͳ ͕ΒɺΓ͍ͨ͜ͱΛશ෦ ͬͯΈΔɺͱ͍͏ɻ
શһ͕͜͜·ͰແΛ͠Ζͱ ࢥΘͳ͍ɻਓʹΑͬͯΩϟ ϦΞͷܗͷํҧ͍ͬͯ ͍ɻͨͩΈड͚ೖΕͯཉ ͍͠ɻ
ͦ͏ͦ͏ɺେࣄͳ͜ͱ
Ήͷྑ͍͕ɺϝϯλϧΠ ϧωεʹͳΒͳ͍Α͏ʹͯ͠ ཉ͍͠
Έ݈͗ͯ͢߁ʹඃ͕ग़Δ ͷҧ͏
͍ʂͱࢥͬͨΒ ͙͢පӃʹɻ
පӃʹߦ͘લʹճΓʹ૬ஊ͠ ͨΓ͢Δͷ͋ΓͰ͠ΐ͏
ҿΈձͱ͔ͰΈΛݴͬͯΈ Δͷྑ͍ͱࢥ͍·͢ɻ
݈߁Ͱ͋ͬͯ΄͍͠ɻ Έա͗ͨΒपғΛཔͬͯ΄͍͠ɻ ໌ޙ40ࡀʹͳΓ·͢ɻ ݈߁ʹؾΛ͚͍ͭͯ·͢ɻ
དྷΈଟ͖ʹͳΔͰ ͠ΐ͏ɻͰҰॹʹΓӽ͑ ͍͖ͯ·͠ΐ͏ɻ
͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ