Slide 1

Slide 1 text

εϖγϟϦετʹͳΔ ֮ޛ 2021/01/16 @ Engineer Career Study #1

Slide 2

Slide 2 text

Twitter: @yosuke_furukawa Github: yosuke-furukawa ࠷ۙͷ׆ಈ $ISPNF"EWJTPSZ#PBSE +4$POG+1PSHBOJ[FSFUD

Slide 3

Slide 3 text

ϚωʔδϟʔͱεϖγϟϦετ

Slide 4

Slide 4 text

ITΤϯδχΞͷΩϟϦΞͱͯ͠ޠ ΒΕΔʮεϖγϟϦετʯͱ͸ͳ Μͳͷ͔ɻ ҰൠతͳΩϟϦΞͱͯ͠ޠΒΕͯ ͍Δ΋ͷͷɺҰͭͷઐ໳ੑͷΈͰ څྉΛ͍͋͛ͯ͘͜ͱͷ೉͠͞Λ ײ͡ΔΤϯδχΞ΍ɺࣗ਎ͷߟ͑ ͱ͸ཪෲʹϚωʔδϟʔͷಓΛٻ ΊΒΕΔํ΋͍·͢ɻ https://forkwell.connpass.com/event/200159/

Slide 5

Slide 5 text

Զ͡ΌΜ... (γχΞιϑτ΢ΣΞΤϯδχΞ݉ άϧʔϓϚωʔδϟ)

Slide 6

Slide 6 text

ͦ΋ͦ΋εϖγϟϦετͱϚ ωʔδϟʔ͸ͳͥରཱ͢Δ֓ ೦͔ͷΑ͏ʹѻΘΕͯΔͷ͔

Slide 7

Slide 7 text

ݹయ ୈޒষʮϚωʔδϟʔͱ͸Կ͔ʯ ϚωʔδϟʔͰ͋Εɺઐ໳ՈͰ͋ ΕɺϚωδϝϯτͷҰһͰ͋Δ͜ͱ ʹ͸มΘΓ͕ͳ͍ɻ Ϛωʔδϟʔͱઐ໳Ոͷҧ͍͸Ϛ ωʔδϟʔͷ΄͏͕Ұ͚ͭͩ༨෼ͳ ଆ໘Λ͍࣋ͬͯΔͱ͍͏ࣄ͚ͩͩɻ ɹɹɹɹɹʹʹதུʹʹ ҧ͍͸ɺػೳͰ΋ߩݙͰ΋ͳ͘खஈ ʹ͋Δɻ྆ऀʹཁٻ͞ΕΔ΋ͷ͸ಉ ͡Ͱ͋Δɻ https://www.diamond.co.jp/book/9784478410233.html

Slide 8

Slide 8 text

εϖγϟϦετ ݸਓͰ੒ՌΛग़͢ਓ

Slide 9

Slide 9 text

Ϛωʔδϟʔ ૊৫ΛӡӦ͠੒Ռʹ੹೚Λ࣋ͭਓ

Slide 10

Slide 10 text

εϖγϟϦετ ݸਓͰ੒ՌΛग़ ͢ਓ Ϛωʔδϟʔ ૊৫ΛӡӦ͠੒Ռ ʹ੹೚Λ࣋ͭਓ ͦ΋ͦ΋ڥքઢ͕ͦ͜·Ͱ͸͖ͬΓ͍ͯ͠ͳ͍ɻ ιϑτ΢ΣΞ։ൃʹ͓͍ͯ͸ಛʹɻ

Slide 11

Slide 11 text

εϖγϟϦετ ιϑτ΢ΣΞ։ൃʹ͓͍ͯ͸ݸਓ୯ ମͰ੒ՌΛग़͢͜ͱ͕গͳ͍ɻ νʔϜ։ൃͱͯ͠νʔϜશମͰ੒Ռ Λग़͢ඞཁ͕͋Δɻ

Slide 12

Slide 12 text

Ϛωʔδϟʔ ιϑτ΢ΣΞ։ൃʹ͓͍ͯ͸Ϛωʔ δϟʔ΋ઐ໳తͳ஌ࣝ͸ඞཁɻ ਐԽͷ଎͍ۀքͰ͸खΛಈ͔ͯ͠Π ϯϓοτ͢Δඞཁ΋͋Δɻ

Slide 13

Slide 13 text

εϖγϟϦετͱϚωʔδϟʔ͸ରཱ͢Δ ֓೦͡Όͳ͍ͱ͍͏ࣄΛೝࣝͯ͠΄͍͠ɻ εϖγϟϦετͰ͋ͬͯ΋ਓΛϦʔσΟϯ άͨ͠Γɺҭ੒͢Δඞཁ͸͋Δ͠ɺϚωʔ δϟʔͰ͋ͬͯ΋ίʔυ͸ॻ͘ɻ

Slide 14

Slide 14 text

ʮϚωʔδϟʔʹͳͬͯ΄͍͠ʯͱ ݴΘΕͨ࣌ʹΫϥγοΫͳఆٛͷϚ ωʔδϟʔͷҹ৅͔ΒωΨςΟϒʹ ߟ͑Δͷ͸΋͍ͬͨͳ͍ɻ

Slide 15

Slide 15 text

ݹ઒͸Ϛωʔδϟʔʹͳͬͯ ΄͍͠ͱݴΘΕͨ࣌ʹ ʮ΍ͬͨ͜ͱͳ͍͔Β΍ͬͯ Έ͍ͨʯͱࢥͬͨɻ

Slide 16

Slide 16 text

εϖγϟϦετ΋ಉ༷ɺࣗ෼ ͷ΍Γ͍ͨ։ൃΛଓ͚ΔͳΒ νʔϜશମʹߟ͑ํΛ޿͛Δ ඞཁ͕͋Δ͠ɺͦͷͨΊʹ͸ Ϛωʔδϟʔ͕΍ΔΑ͏ͳ࢓ ࣄ΋΍Δඞཁ͕͋Δɻ

Slide 17

Slide 17 text

ͱ͸͍͑ɺେมͦ͏...

Slide 18

Slide 18 text

๻ͷ৔߹

Slide 19

Slide 19 text

γχΞΤϯδχΞ • ΞϓϦέʔγϣϯ։ൃͦͷ΋ͷʹؔΘΔ͜ͱ͸গ ͳ͍ʢͨ·ʹͦΕ΋΍Δ͚Ͳ΍Δͱ͖͸஍ࠈʣ • ͦ΋ͦ΋ͷઃܭ΍ϓϩτλΠϓ։ൃ͕ϝΠϯ • ։ൃͷखॿ͚ʹͳΔΑ͏ͳϥΠϒϥϦͷ։ൃ΍ OSSͷதʹ౿ΈࠐΜͩௐࠪ΍৔߹ʹΑͬͯ͸PRΛ ग़͢ɺ·ͱ·ͬͨΒϒϩάͰ஌ࣝΛڞ༗͢ΔͳͲ

Slide 20

Slide 20 text

ҰํͰϚωʔδϟʔͱͯ͠΍ͬͯ Δ͜ͱ • ϝϯόʔͷλεΫΞαΠϯʢ΍Γ͍ͨ͜ͱͱ΍Βͳ ͖Ό͍͚ͳ͍͜ͱΛ߹ΘͤΔʣ • ࠾༻ɺҭ੒ʢ໘઀΍༏लͳީิऀ΁ͷ੠͔͚ɺ৽ਓݚ मͷߨࢣʣ • ษڧձ΍ϋοΧιϯͳͲɺࣾ಺ͰΤϯδχΞίϛϡχ ςΟ࡞Γ • ࠾༻ ϝϯόʔ͕༏लͰ͋ΔͱɺͲΕ΋ͦΜͳʹ೉͘͠ͳ͍ɻ ίϛϡχςΟ࡞Γ͸ࣗ෼ͷϥΠϑϫʔΫʹ͍ۙͷͰͦ͜·Ͱ೉͘͠ͳ͍ɻ

Slide 21

Slide 21 text

ϚωδϝϯτͱεϖγϟϦετͷཱ͕྆େ ม͔Ͳ͏͔͸ϝϯόʔʹڧ͘ґଘ͢Δɻ पғͷϝϯόʔ͕༏लͳΒϚωδϝϯτΛ ߦ͍ͳ͕ΒίʔυΛॻ͘͜ͱ΋Մೳ ܲͱཛͷΑ͏ͳؔ܎ʹͳ͍ͬͯΔɺͳͷͰେมɻ ࠾༻΍ҭ੒΋ҰேҰ༦Ͱ͸Ͱ͖ͳ͍ɻ͜͜·ͰདྷΔͷʹ೥͔͔ͬͨɻ

Slide 22

Slide 22 text

εϖγϟϦετ ൃද 044 ϥΠϒϥϦ αʔϏε Output φϨοδ Ϛωʔδϟʔ Team Assign Share Engineer Community Recruitment

Slide 23

Slide 23 text

εϖγϟϦετ ൃද 044 ϥΠϒϥϦ αʔϏε Output φϨοδ Ϛωʔδϟʔ Team Assign Share Engineer Community Recruitment εϖγϟϦετνʔϜ͕Ξ΢τϓοτͨ͠΋ͷΛڞ༗͠ɺίϛϡχςΟʹؐݩ Ϛωʔδϟʔ͔ͦ͜ΒڵຯΛ࣋ͬͯ͘ΕͨਓΛ࠾༻͠ɺҭ੒ͯ͠νʔϜʹؐݩ

Slide 24

Slide 24 text

Q.εϖγϟϦετͱϚωʔ δϟʔΛ྆ํ΍Δͷ͸େมʁ A. ΋ͪΖΜେม ͚ͩͲ྆ํ΍ΕΔ͜ͱ͕ཧ૝ େม͞Λ৐Γӽ͑Ε͹΍Γ͍ͨ ͜ͱ͕޿͕͍ͬͯ͘ɻ

Slide 25

Slide 25 text

ͦ΋ͦ΋εϖγϟϦετʹͳΔͬ ͯͲ͏΍ͬͨΒ੒ΕΔͷ͔...?

Slide 26

Slide 26 text

๻ͷ৔߹

Slide 27

Slide 27 text

ϦΫϧʔτʹ͓͚ΔγχΞͷཁ݅ • ࣾ಺֎ͰΤΩεύʔτͱͯ͠ೝ஌͞Ε͍ͯΔ͜ͱ ʢNode.js ͷୈҰਓऀͱͯ͠ೝࣝ͞Ε͍ͯΔʣ • ͦͷਓ͕Ұਓ͍Δ͚ͩͰɺϓϩμΫτઓུ͕มΘΔɻ ࠓ෩ʹݴ͏ͱɺʮபʯ ʢ௨ৗͰ͸࡞Εͳ͍Α͏ͳ΋ͷ΋࡞ΕΔɺϋΠύϑΥʔ ϚϯεͳΞϓϦέʔγϣϯ౳ʣ • γχΞʹͳΔͱɺϝϯόʔ͔ΒϩʔϧϞσϧͱͯ͠ೝࣝ͞ΕΔ

Slide 28

Slide 28 text

ΤϯδχΞʹͳΔ֮ޛ • 3೥΄Ͳલʹൃදͨ͠࿩ • ΞϓϦέʔγϣϯΛ࡞Ζ͏ • ඇػೳཁ݅ʹͩ͜ΘΖ͏ • ஌ࣝʹ֞ࠜ͸࡞Βͳ͍

Slide 29

Slide 29 text

εϖγϟϦετʹͳΔͨΊʹ৺ ͕͚Δ͜ͱ • ࣗ෼ͷ੹೚ʹ͢Δ • ଉΛు͖ଓ͚Δ • Կ͔͠ΒͷνϟϨϯδΛଓ͚Δ

Slide 30

Slide 30 text

ࣗ෼ͷ੹೚ʹ͢Δ

Slide 31

Slide 31 text

Node.js ೔ຊϢʔβʔάϧʔϓ୅ දʹͳͬͨ࣌ͷࠒ (2014೥)

Slide 32

Slide 32 text

Node.js ͸ࠞཚظͰͨ͠ɻ

Slide 33

Slide 33 text

ࢭ·Γଓ͚ΔϦϦʔε Revert͞Εଓ͚Δίϛοτ Ұͭ΋ୡ੒͠ͳ͍ϚΠϧετʔϯ

Slide 34

Slide 34 text

io.js ͱ Node.js ͱ͍͏෼அ

Slide 35

Slide 35 text

͜ͷ࣌ʹࢥ͍ͬͯͨͷ͸ɺ ʮNode.jsͱio.jsͷࠞཚΛࢭΊͳͯ͘͸ʯ

Slide 36

Slide 36 text

Node.js ͸ fork ͞Εͯ io.js ʹϝ Πϯίϛολ͕ྲྀΕɺ Node.js ͸ Node.js ͰϨΨγʔ։ൃͱ͠ ͯෆ۩߹मਖ਼͕ਐΉ సػ

Slide 37

Slide 37 text

ࠓ·Ͱ͸άϩʔόϧʹى͖͍ͯΔมߋΛϩʔΧϧ ʢ೔ຊʣʹ఻͑Δ͜ͱ͔ͯ͠͠ͳ͔ͬͨɻ ݴΘ͹ɺ֎Ͱى͖͍ͯΔ͜ͱΛ఻͑Δ͚ͩͩͬͨɻ

Slide 38

Slide 38 text

Node.js಺Ͱى͖ͯΔ͜ͱΛ io.js ʹల։ ͠ɺ io.js ಺Ͱى͖ͯΔ͜ͱΛ Node.js ʹ ΋ϑΟʔυόοΫ͢ΔࣄͰɺมߋͷࠩ෼Λ খ͘͢͞Δ͜ͱʹ຿Ίͨɻ

Slide 39

Slide 39 text

ͦ͏͢Ε͹ɺҠߦ΋ͦ͜·Ͱ೉͘͠ͳ͍ɻ ͲͬͪΛબͿ͔͸Ϣʔβʔ͕બ୒͢Ε͹ ྑ͍ɻ

Slide 40

Slide 40 text

ٕज़తʹى͖͍ͯΔมԽΛ୭͔͕΍ͬͯ͘ ΕΔͱࢥͬͯ೚ͤΔͷͰ͸ͳ͘ɺࣗ෼ͷ͜ ͱͱͯ͠੹೚Λ௥͏ɻ

Slide 41

Slide 41 text

݁Ռ: 2015೥ʹ Node.js ͱ io.js ͸౷߹ ͦͷ࣌ͷ׆ಈ͕͖͔͚ͬͰ ίΞίϯτϦϏϡʔλʔ݉ΤϰΝϯδΣϦετʹɻ

Slide 42

Slide 42 text

ଉΛు͖ଓ͚Δ

Slide 43

Slide 43 text

ଉΛు͖ଓ͚Δ = Ξ΢τϓοτΛ͠ଓ͚Δ

Slide 44

Slide 44 text

ଉΛు͖ଓ͚ΔͱٵΘͳ͍ͱ ͍͚ͳ͘ͳΔɺΠϯϓοτ΋ ܧଓతʹͰ͖ΔΑ͏ʹͳΔ

Slide 45

Slide 45 text

Node.js / io.js ૽ಈ͕͋ͬͨ࣌ ͔Βಛʹߟ͑ํ͸ ʮάϩʔόϧΛҙࣝͯ͠΍Δʯ

Slide 46

Slide 46 text

άϩʔόϧͰ΍ͬͯΔ͜ͱΛ೔ ຊʹೖΕΔΑΓ΋೔ຊͰى͖ͯ Δ͜ͱΛάϩʔόϧʹల։͢Δ

Slide 47

Slide 47 text

ͳͷͰΞ΢τϓοτ΋ άϩʔόϧΛҙ͍ࣝͯͨ͠ɻ jsconf.asia 2016 Node interactive 2017 AMP Fest 2020

Slide 48

Slide 48 text

೔ຊͩͱੈքͷϩʔΧϥΠζͰ΋ൃ දʹͳΔ͚Ͳੈքͩͱͦͷ্Λ௒͑ ͍ͯ͘ඞཁ͕͋Δɻ ͳͷͰΞ΢τϓοτ΋࣭͕มΘΔɻ

Slide 49

Slide 49 text

Կ͔͠ΒͷνϟϨϯδΛଓ͚Δ

Slide 50

Slide 50 text

1೥ؒͱ͍͏εύϯΛઃ͚ͯ ԿΒ͔ͷνϟϨϯδΛଓ͚͖ͯͨɻ Japan Node.js Association ๏ਓԽ ೦ئͷ JSConf.JP ։࠵

Slide 51

Slide 51 text

͜͜࠷ۙ͸Ϛωʔδϟʔ͚ͩͲຖ೔ ίʔυॻ͘ͷΛ΍ΔͷΛνϟϨϯδ ʹ͍ͯ͠·͢ɻ Leetcode Λຖ೔ղ͍ͯΔʢ࠷ۙ͸RustͰ) Write Code Everyday Ͱ1೥൒ܧଓ

Slide 52

Slide 52 text

ৗʹͳʹ͔΍Δɻ खΛಈ͔͢͜ͱ͸΍Ίͳ͍ɻ

Slide 53

Slide 53 text

ίϯϑΥʔτκʔϯʹཹ·Β ͳ͍Α͏ʹͯ͠Δʢͭ΋Γʣ

Slide 54

Slide 54 text

·ͱΊ

Slide 55

Slide 55 text

·ͱΊ • ϚωʔδϟʔͱεϖγϟϦετ • ϚωʔδϟʔͱεϖγϟϦετ͸ରཱ֓೦͡Όͳ͍ • ιϑτ΢ΣΞ։ൃʹ͓͍ͯ͸Ή͠Ζڞ௨߲͕ଟ͍ • ཱ྆͢Δͷ͸΋ͪΖΜେม͚ͩͲɺ৐Γӽ͑Ε͹΍Γ͍ͨ͜ͱ͕Ͱ͖Δ • εϖγϟϦετʹͳΔʹ͸ • ࣗ෼ͷ੹೚ʹ͢Δ • ଉΛు͖ଓ͚Δ • ৗʹԿ͔͠ΒνϟϨϯδ͢Δ

Slide 56

Slide 56 text

ͦͯ͠ࠓ౓͸܅͕ͨͪ ޙഐΛकΔபͱͳΔͷͩɻ (َ໓ͷਕ 8ר: Ẃࠈҍण࿠) ஶ: ޗಕݺੈ੖ ग़൛ࣾ: ूӳࣾ ग़൛೥: 2017

Slide 57

Slide 57 text

͋Γ͕ͱ͏͍͟͝·ͨ͠