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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Yosuke Furukawa
PRO
December 09, 2022
Programming
15k
23
Share
キャリアの悩みについて
2022/12/09 Developers CAREER Boost で発表したキャリアについての話です。
Yosuke Furukawa
PRO
December 09, 2022
More Decks by Yosuke Furukawa
See All by Yosuke Furukawa
デザインシステムが必須の時代に
yosuke_furukawa
PRO
2
220
Node.js, Deno, Bun 最新動向とその所感について
yosuke_furukawa
PRO
10
5.1k
Welcome JSConf.jp 2024
yosuke_furukawa
PRO
1
4.7k
tc39 x jsconf.jp Panel Discussion 2024
yosuke_furukawa
PRO
0
330
Removing Corepack
yosuke_furukawa
PRO
9
1.9k
JavaScript Runtime とはなにか
yosuke_furukawa
PRO
15
3.1k
Strip Types と Storage
yosuke_furukawa
PRO
4
500
Module Harmony について
yosuke_furukawa
PRO
4
1.9k
LTのやり方
yosuke_furukawa
PRO
16
2.9k
Other Decks in Programming
See All in Programming
PicoRuby for IoT: Connecting to the Cloud with MQTT
yuuu
2
760
検索設計から 推論設計への重心移動と Recall-First Retrieval
po3rin
5
1.5k
GoogleCloudとterraform完全に理解した
terisuke
1
190
UaaL×Androidアプリのメモリ計測 — Memory Profilerの先へ
rio432
0
110
Spec Driven Development | AI Summit Vilnius
danielsogl
PRO
1
140
ついに来た!本格的なマルチクラウド時代の Google Cloud
maroon1st
0
380
From Formal Specification to Property Based Test
ohbarye
0
720
Claude Code × Gemini × Ebitengine ゲーム制作素人WebエンジニアがGoでゲームを作った話
webzawa
0
220
Vibe NLP for Applied NLP
inesmontani
PRO
0
610
The Less-Told Story of Socket Timeouts
coe401_
3
970
PHPer、Cloudflare に引っ越す
suguruooki
1
140
サークル参加から学ぶ、小さな事業の回し方
yuzneri
0
110
Featured
See All Featured
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
800
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
1.1k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.2k
Everyday Curiosity
cassininazir
0
200
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
180
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
1
29
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
350
Git: the NoSQL Database
bkeepers
PRO
432
67k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
190
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ࡀʹͳΓ·͢ɻ ݈߁ʹؾΛ͚͍ͭͯ·͢ɻ
དྷΈଟ͖ʹͳΔͰ ͠ΐ͏ɻͰҰॹʹΓӽ͑ ͍͖ͯ·͠ΐ͏ɻ
͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ