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
13k
キャリアの悩みについて
2022/12/09 Developers CAREER Boost で発表したキャリアについての話です。
Yosuke Furukawa
PRO
December 09, 2022
Tweet
Share
More Decks by Yosuke Furukawa
See All by Yosuke Furukawa
tc39 x jsconf.jp Panel Discussion 2024
yosuke_furukawa
PRO
0
150
Removing Corepack
yosuke_furukawa
PRO
9
1.3k
JavaScript Runtime とはなにか
yosuke_furukawa
PRO
15
2.5k
Strip Types と Storage
yosuke_furukawa
PRO
4
340
Module Harmony について
yosuke_furukawa
PRO
3
1.5k
LTのやり方
yosuke_furukawa
PRO
16
2.2k
AppRouter Panel Talk
yosuke_furukawa
PRO
3
700
Node.js v22 で変わること
yosuke_furukawa
PRO
13
5.3k
リアーキテクトと開発生産性について
yosuke_furukawa
PRO
25
9.6k
Other Decks in Programming
See All in Programming
とにかくAWS GameDay!AWSは世界の共通言語! / Anyway, AWS GameDay! AWS is the world's lingua franca!
seike460
PRO
1
880
GitHub Actionsのキャッシュと手を挙げることの大切さとそれに必要なこと
satoshi256kbyte
5
430
見せてあげますよ、「本物のLaravel批判」ってやつを。
77web
7
7.8k
watsonx.ai Dojo #4 生成AIを使ったアプリ開発、応用編
oniak3ibm
PRO
1
130
Remix on Hono on Cloudflare Workers
yusukebe
1
290
PHP でアセンブリ言語のように書く技術
memory1994
PRO
1
170
エンジニアとして関わる要件と仕様(公開用)
murabayashi
0
290
初めてDefinitelyTypedにPRを出した話
syumai
0
410
どうして僕の作ったクラスが手続き型と言われなきゃいけないんですか
akikogoto
1
120
ピラミッド、アイスクリームコーン、SMURF: 自動テストの最適バランスを求めて / Pyramid Ice-Cream-Cone and SMURF
twada
PRO
10
1.3k
みんなでプロポーザルを書いてみた
yuriko1211
0
260
Generative AI Use Cases JP (略称:GenU)奮闘記
hideg
1
290
Featured
See All Featured
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.1k
Making Projects Easy
brettharned
115
5.9k
How To Stay Up To Date on Web Technology
chriscoyier
788
250k
Art, The Web, and Tiny UX
lynnandtonic
297
20k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
How to train your dragon (web standard)
notwaldorf
88
5.7k
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
410
Building Applications with DynamoDB
mza
90
6.1k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
250
21k
Teambox: Starting and Learning
jrom
133
8.8k
Measuring & Analyzing Core Web Vitals
bluesmoon
4
120
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ࡀʹͳΓ·͢ɻ ݈߁ʹؾΛ͚͍ͭͯ·͢ɻ
དྷΈଟ͖ʹͳΔͰ ͠ΐ͏ɻͰҰॹʹΓӽ͑ ͍͖ͯ·͠ΐ͏ɻ
͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ