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
12k
キャリアの悩みについて
2022/12/09 Developers CAREER Boost で発表したキャリアについての話です。
Yosuke Furukawa
PRO
December 09, 2022
Tweet
Share
More Decks by Yosuke Furukawa
See All by Yosuke Furukawa
JavaScript Runtime とはなにか
yosuke_furukawa
PRO
14
2.2k
Strip Types と Storage
yosuke_furukawa
PRO
4
300
Module Harmony について
yosuke_furukawa
PRO
3
1.4k
LTのやり方
yosuke_furukawa
PRO
16
2k
AppRouter Panel Talk
yosuke_furukawa
PRO
3
650
Node.js v22 で変わること
yosuke_furukawa
PRO
13
4.9k
リアーキテクトと開発生産性について
yosuke_furukawa
PRO
25
9.2k
JavaScript Server Runtime History
yosuke_furukawa
PRO
9
3.6k
tc39 x jsconf.jp Panel Discussion
yosuke_furukawa
PRO
0
1.7k
Other Decks in Programming
See All in Programming
Mastering AsyncSequence - 使う・作る・他のデザインパターン(クロージャ、Delegate など)から移行する
treastrain
4
1.5k
Rechartsで楽にゴリゴリにカスタマイズする!
10tera
1
140
What we keep in mind when migrating from Serverless Framework to AWS CDK and AWS SAM
kasacchiful
1
130
1人で挑むSwiftコンパイラ 〜型システム入門編〜
s_shimotori
0
330
Jakarta EE meets AI
ivargrimstad
1
140
サーバーレスで負荷試験!Step Functions + Lambdaを使ったk6の分散実行
shuntakahashi
5
1.4k
フロントエンドカンファレンス北海道2024 『小規模サイトでも使えるVite 〜HTMLコーディングをよりスマートに〜』長谷川広武(ハム)
h2ham
1
2.6k
いつか使える ObjectSpace / Maybe useful ObjectSpace
euglena1215
2
130
Architecture Decision Record (ADR)
nearme_tech
PRO
1
640
Go Code Generation at newmo / 2024-08-27 #newmo_layerx_go
genkey6
0
540
TypeScriptで 負荷テストを書こう 〜k6のシングルバイナリの秘密〜
dora1998
7
3k
事業フェーズの変化に対応する 開発生産性向上のゼロイチ
masaygggg
0
150
Featured
See All Featured
Producing Creativity
orderedlist
PRO
340
39k
A Modern Web Designer's Workflow
chriscoyier
691
190k
Clear Off the Table
cherdarchuk
91
320k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
226
52k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
248
20k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
166
48k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
663
120k
In The Pink: A Labor of Love
frogandcode
139
22k
Building an army of robots
kneath
302
42k
Infographics Made Easy
chrislema
239
18k
5 minutes of I Can Smell Your CMS
philhawksworth
201
19k
Designing on Purpose - Digital PM Summit 2013
jponch
113
6.8k
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ࡀʹͳΓ·͢ɻ ݈߁ʹؾΛ͚͍ͭͯ·͢ɻ
དྷΈଟ͖ʹͳΔͰ ͠ΐ͏ɻͰҰॹʹΓӽ͑ ͍͖ͯ·͠ΐ͏ɻ
͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ