Slide 1

Slide 1 text

5ZQF4DSJQU 1IBOUPN+4Λར༻ͨ͠ ޮ཰తͳςετ࣮ࢪ Ξελϛϡʔθגࣜձࣾ ։ൃɾΠϯϑϥ෦ ੢઒ ྒ

Slide 2

Slide 2 text

ࣗݾ঺հ ໊લ ੢઒ ྒʢʹ͔͠Θ Γΐ͏ʣ ۈ຿ઌͳͲ Ξελϛϡʔθגࣜձࣾ ։ൃɾΠϯϑϥ෦ झຯ ञɺ৯͏ɺ৸Δɺ૸Δ ݋ಓ Ո଒ ࠺ͱଉࢠ

Slide 3

Slide 3 text

ࣗݾ঺հ ٕज़ +BWBɺ4DBMBɺ1ZUIPOɺ#BTIɺ "OTJCMFɺ"TUBEɺ "QBDIFɺ.Z42-ɺ1PTUHSF42-ɺ ;BCCJYɺ3BCCJU.2ɺ&MBTUJD4FBSDIɺ'MVFOUE FUD 4BMFTGPSDFDPNɺ4ɺ3PVUF ܦྺ ి࿩Λੜۀͱ͢Δ๭άϧʔϓձࣾʹ͍ͨ ަ׵ػͷࢼݧΛͨ͠Γ ۚ༥ͷγεςϜ࡞ͬͨΓ ݚڀॴͰٕज़ݕূͨ͠Γ ηΩϡϦςΟ੡඼ͷ։ൃ΍ͬͨΓ ɾɾɾ

Slide 4

Slide 4 text

ࣗݾ঺հ ٕज़ +BWBɺ4DBMBɺ1ZUIPOɺ#BTIɺ "OTJCMFɺ"TUBEɺ "QBDIFɺ.Z42-ɺ1PTUHSF42-ɺ ;BCCJYɺ3BCCJU.2ɺ&MBTUJD4FBSDIɺ'MVFOUE FUD 4BMFTGPSDFDPNɺ4ɺ3PVUF ܦྺ ి࿩Λੜۀͱ͢Δ๭άϧʔϓձࣾʹ͍ͨ ަ׵ػͷࢼݧΛͨ͠Γ ۚ༥ͷγεςϜ࡞ͬͨΓ ݚڀॴͰٕज़ݕূͨ͠Γ ηΩϡϦςΟ੡඼ͷ։ൃ΍ͬͨΓ ɾɾɾ ൧Λ৯͏ͨΊʹԿͰ΋ͨ͠ʂ

Slide 5

Slide 5 text

ͦͨ͠Βମॏ̓̔LHʹʂ ࣗݾ঺հ

Slide 6

Slide 6 text

ࣾձਓʹͳͬͯ̍̏LH૿͑ͨʂ ࣗݾ঺հ

Slide 7

Slide 7 text

ࣗݾ঺հ ʮϩΧϘʯ࢝Ί·ͨ͠ʂ

Slide 8

Slide 8 text

ϩΧϘʁ • ௿౶࣭ʢϩʔΧʔϘʣμΠΤοτ • ʮϘΧϩʯͰ͸͋Γ·ͤΜʮϩΧϘʯͰ͢ʂ • ݫີʹ͸ʮϩʔΧʔϘʯͱ͸ҧ͏Β͍͠Ͱ͢ Ұ೥Ͱ̏LH૫ͤͨʂ

Slide 9

Slide 9 text

ࣗݾ঺հ ࠓ೥ೖࣾ͠·ͨ͠ʂ

Slide 10

Slide 10 text

Ξελϛϡʔθגࣜձࣾͷ࿩

Slide 11

Slide 11 text

No content

Slide 12

Slide 12 text

No content

Slide 13

Slide 13 text

No content

Slide 14

Slide 14 text

No content

Slide 15

Slide 15 text

No content

Slide 16

Slide 16 text

స৬φϏͱ͍͏αʔϏεʹैࣄ

Slide 17

Slide 17 text

స৬φϏͷ࿩ స৬φϏΛ͝ଘ஌Ͱ͔͢ʁ

Slide 18

Slide 18 text

స৬φϏͷ࿩

Slide 19

Slide 19 text

స৬φϏͷ࿩ ὎ ༷ʑͳۀքɾٕज़ʹಛԽͨ͠స৬αΠτ

Slide 20

Slide 20 text

స৬φϏͷ࿩ ὎ ༷ʑͳۀքɾٕज़ʹಛԽͨ͠స৬αΠτ ὎ ໿αΠτ͕ଘࡏ

Slide 21

Slide 21 text

స৬φϏͷ࿩ ὎ ༷ʑͳۀքɾٕज़ʹಛԽͨ͠స৬αΠτ ὎ ໿αΠτ͕ଘࡏ ὎ ొ࿥ͨ͠Ϣʔβͷస৬Λαϙʔτʂ

Slide 22

Slide 22 text

స৬φϏͷ࿩ ὎ ༷ʑͳۀքɾٕज़ʹಛԽͨ͠స৬αΠτ ὎ ໿αΠτ͕ଘࡏ ὎ ొ࿥ͨ͠Ϣʔβͷస৬Λαϙʔτʂ స৬Λߟ͑ͨΒੋඇʂ

Slide 23

Slide 23 text

స৬φϏͷςετͷ࿩

Slide 24

Slide 24 text

స৬φϏͷςετͷ࿩ స৬φϏͷ։ൃ͸ • νʔϜ͸̒ਓ • ෦௕ • σβΠφ ̍ਓ • ϑϩϯτΤϯδχΞ ̍ਓ • 4DBMBΤϯδχΞ ̏ਓ • ि̍ʙ̏ճϖʔεͷϦϦʔε

Slide 25

Slide 25 text

స৬φϏͷςετͷ࿩ ։ൃ౰ॳ • αΠτ਺ ὎গͳΊ • ػೳ ὎গͳΊ • 1$αΠτ͔͠ͳ͍ खಈͰࢼݧ

Slide 26

Slide 26 text

αΠτͷϞόΠϧରԠ αΠτ਺΋ػೳ΋গͳ͍͠ ·ͩखಈͰ͍͚ͦ͏ʂ స৬φϏͷςετͷ࿩

Slide 27

Slide 27 text

ొ࿥ϑΥʔϜվम ·͍͚ͩΔʂ·͍͚ͩΔʂ స৬φϏͷςετͷ࿩

Slide 28

Slide 28 text

ొ࿥ϑΥʔϜվम ͍͚ͳ͔ͬͨʂ స৬φϏͷςετͷ࿩

Slide 29

Slide 29 text

ొ࿥ϑΥʔϜվम ϞόΠϧαΠτͰ Ϣʔβొ࿥͕Ͱ͖ͯͳ͔ͬͨ స৬φϏͷςετͷ࿩

Slide 30

Slide 30 text

ొ࿥ϑΥʔϜվम ϞόΠϧαΠτͰ Ϣʔβొ࿥͕Ͱ͖ͯͳ͔ͬͨ స৬φϏͷςετͷ࿩ ϦϦʔεޙʹൃ֮

Slide 31

Slide 31 text

Կ͕͍͚ͳ͔ͬͨͷ͔ʁ • 1$ͱϞόΠϧͰొ࿥ϑΥʔϜͷϑϩϯτͷ࡞Γ͕ҧ͏ ὎ ࢼݧ࿙ΕͷݪҼ స৬φϏͷςετͷ࿩

Slide 32

Slide 32 text

ͲΕ͙Β͍ҧ͏ͷ͔ʁ

Slide 33

Slide 33 text

ͲΕ͙Β͍ҧ͏ͷ͔ʁ ϑΥʔϜͷܗঢ়΍ ભҠͷ਺͕શ͘ҧ͏

Slide 34

Slide 34 text

Կ͕͍͚ͳ͔ͬͨͷ͔ʁ • 1$ͱϞόΠϧͰొ࿥ϑΥʔϜͷϑϩϯτͷ࡞Γ͕ҧ͏ ὎ ࢼݧ࿙ΕͷݪҼ ཁରࡦʂ స৬φϏͷςετͷ࿩

Slide 35

Slide 35 text

స৬φϏͷςετͷ࿩ Կ͕͍͚ͳ͔ͬͨͷ͔ʁ • 1$ͱϞόΠϧͰొ࿥ϑΥʔϜͷϑϩϯτͷ࡞Γ͕ҧ͏ ὎ ࢼݧ࿙ΕͷݪҼ ࣗಈςετಋೖ

Slide 36

Slide 36 text

స৬φϏͷςετͷ࿩ είʔϓ͸ʁ • ࠷௿ݶͷϢʔβϏϦςΟ֬อ Ϣʔβొ࿥ॲཧ

Slide 37

Slide 37 text

స৬φϏͷςετͷ࿩ ͯ͞ɺԿͰ࡞Ζ͏ʁ 1IBOUPN+4

Slide 38

Slide 38 text

1IBOUPN+4ͱ͸Կ͔ • 8FCςετΛ͢ΔͨΊͷπʔϧ • ྨࣅπʔϧ • 4FMFOJVN • ςετέʔε͸+BWB4DSJQUͰهࡌ͢Δ ὎ $BTQFS+4ͱ͍͏ϥούʔ͕͋Δ

Slide 39

Slide 39 text

ग़དྷ্͕ͬͨ΋ͷ $*αʔό HJUαʔό APサーバ ᶃϦΫΤετ ᶄμ΢ϯϩʔυ ᶅςετ࣮ߦ

Slide 40

Slide 40 text

ग़དྷ্͕ͬͨ΋ͷ 本番 APサーバ ステージング APサーバ $*αʔό HJUαʔό ˞ +FOLJOTΩοΫ ˞ ఆظ࣮ߦ

Slide 41

Slide 41 text

స৬φϏͷςετͷ࿩ ࣗಈςετΛೖΕͯΈͯ • Ϣʔβొ࿥ॲཧͷ඼্࣭͕͕ͬͨ • ࢼݧ͸4MBDL͔Β࣮ߦͰ͖ΔͷͰ୭Ͱ΋ࢼݧͰ͖ΔΑ͏ʹͳͬͨ • ো֐ൃੜ࣌ʹ࠷௿ݶͷαʔϏεੜଘ֬ೝ͕Ͱ͖ΔΑ͏ʹͳͬͨ • ొ࿥ϑΥʔϜͷো֐ʹૣ͘ؾͮ͘Α͏ʹͳͬͨ

Slide 42

Slide 42 text

స৬φϏͷςετͷ࿩ ࣗಈςετΛೖΕͯΈͯ • Ϣʔβొ࿥ॲཧͷ඼্࣭͕͕ͬͨ • ো֐ൃੜ࣌ʹ࠷௿ݶͷαʔϏεੜଘ֬ೝ͕Ͱ͖ΔΑ͏ʹͳͬͨ • ొ࿥ϑΥʔϜͷো֐ʹૣ͘ؾͮ͘Α͏ʹͳͬͨ • ࢼݧ͸4MBDL͔Β࣮ߦͰ͖ΔͷͰ୭Ͱ΋ࢼݧͰ͖ΔΑ͏ʹͳͬͨ Ұ݅མணʂ

Slide 43

Slide 43 text

ͨ͠Α͏ʹࢥ͚͑ͨͲɾɾɾ స৬φϏͷςετͷ࿩

Slide 44

Slide 44 text

• ొ࿥ϑΥʔϜ·Ͱͷܦ࿏ʢண஍࣌ͷύϥϝʔλόϦΤʔγϣϯʣ͕૿Ճ • αʔϏε֦ॆʹΑΔొ࿥όϦΤʔγϣϯʢࣅͯඇͳΔϑΥʔϜʣͷ૿Ճ • αΠτ਺ʢҰؾʹ̐̌̌ۙ͘·Ͱʣ૿Ճ ςετίʔυΛߏ଄Խ͍ͯ͠ͳ͔ͬͨͨΊ ϝϯςφϯείετ૿Ճ స৬φϏͷςετͷ࿩

Slide 45

Slide 45 text

΋͜͠ͷ··์ஔͨ͠Βɾɾɾ • ςετͷϝϯςφϯε͕௥͍͔ͭͳ͘ͳΔ • ࢑ఆతʹखಈͷςετ͕૿͑Δ స৬φϏͷςετͷ࿩

Slide 46

Slide 46 text

΋͜͠ͷ··์ஔͨ͠Βɾɾɾ • ςετͷϝϯςφϯε͕௥͍͔ͭͳ͘ͳΔ • ࢑ఆతʹखಈͷςετ͕૿͑Δ ։ൃ΋පΉ͚Ͳ ࠷ऴ֬ೝ͍ͯ͠Δ෦௕͸࣮֬ʹࢮ͵ స৬φϏͷςετͷ࿩

Slide 47

Slide 47 text

͞Βʹ స৬φϏͷςετͷ࿩

Slide 48

Slide 48 text

৽ϝϯόʔೖࣾ γεςϜΛཧղͰ͖͍ͯͳ͍ͷͰόάΛΑ͘ຒΊࠐΉ ΋ͪΖΜ+BWB4DSJQUͳΜͯ෼͔Βͳ͍ͷͰϝϯςͰ͖ͳ͍ า͘ώϡʔϚϯΤϥʔʹରͯ͠ ߄ͯΔ։ൃνʔϜ స৬φϏͷςετͷ࿩

Slide 49

Slide 49 text

స৬φϏͷςετͷ࿩

Slide 50

Slide 50 text

৭ʑͱݶքʹͳΓ ςετΛݟ௚͢͜ͱʹʂ స৬φϏͷςετͷ࿩

Slide 51

Slide 51 text

స৬φϏͷςετͷ࿩ ؍఺ • طଘͷίʔυΛར༻ʢ։ൃͷϦιʔε͕ݶΒΕ͍ͯΔͨΊʣ • ϝϯςφϯείετΛ཈͑Δ • ςετίʔυͷߏ଄Խ • ՄಡੑΛ্͛Δ • ୭Ͱ΋ϝϯςͰ͖ΔΑ͏ʹ͢Δ • +BWB4DSJQUʹෆ׳ΕͳਓͰ΋Ͱ͖Δ

Slide 52

Slide 52 text

స৬φϏͷςετͷ࿩ ؍఺ • طଘͷίʔυΛར༻ʢ։ൃͷϦιʔε͕ݶΒΕ͍ͯΔͨΊʣ • ϝϯςφϯείετΛ཈͑Δ • ςετίʔυͷߏ଄Խ • ՄಡੑΛ্͛Δ • ୭Ͱ΋ϝϯςͰ͖ΔΑ͏ʹ͢Δ • 4DSJQUݴޠʹෆ׳ΕͳਓͰ΋Ͱ͖Δ 5ZQF4DSJQUʹܾఆʂ

Slide 53

Slide 53 text

5ZQF4DSJQUͷ࿩ • +BWB4DSJQUΛੜ੒ • ੩తܕ෇͚ݴޠ • .JDSPTPGU͕։ൃ • Φʔϓϯιʔε • +BWB4DSJQUͰ΋ॻ͚Δ

Slide 54

Slide 54 text

5ZQF4DSJQUͷ࿩ • +BWB4DSJQU͕Ͱ͖Δ͜ͱʹՃ͑ҎԼ͕Ͱ͖Δ • ΠϯλʔϑΣʔε • ྻڍܕͷར༻ • λϓϧܕͷར༻ • .JYJO • δΣωϦοΫ FUD

Slide 55

Slide 55 text

5ZQF4DSJQUʹΑͬͯ΋ͨΒ͞Εͨ΋ͷ ొ࿥ςετͷج൫ͱͳΔ ந৅Ϋϥε ొ࿥ϑΥʔϜ΁ͷ ܦ࿏ ・・・ +BWB4DSJQU ίʔυ 5ZQF4DSJQU ίʔυ ొ࿥ϑΥʔϜ΁ͷ ܦ࿏

Slide 56

Slide 56 text

స৬φϏͷςετͷ࿩ ͜ΕʹΑΓ • طଘͷίʔυΛར༻Ͱ͖͍ͯΔ • ίʔυͷՄಡੑ্͕͕ͬͨ • ௥Ճ࣮૷ɺվमָ͕ʹͳͬͨʂ • 4DBMBΤϯδχΞͰ΋࣮૷Ͱ͖ΔΑ͏ʹͳͬͨʂ • ԿΑΓɺ੢઒͕ϝϯςͰ͖Δʂ

Slide 57

Slide 57 text

స৬φϏͷςετͷ࿩ ͞Βʹʂ • େ఍ͷΤϥʔ͸ίϯύΠϧ࣌ʹݕग़ ὎͍͍࣮ͪͪߦ͠ͳͯ͘΋Τϥʔ͕ݕग़Ͱ͖ΔͷͰੜ࢈ੑ͕޲্ͨ͠

Slide 58

Slide 58 text

ग़དྷ্͕ͬͨ΋ͷʢ#FGPSFʣ $*αʔό HJUαʔό APサーバ ᶃϦΫΤετ ᶄμ΢ϯϩʔυ ᶅςετ࣮ߦ

Slide 59

Slide 59 text

ग़དྷ্͕ͬͨ΋ͷʢ"GUFSʣ $*αʔό HJUαʔό APサーバ ᶃϦΫΤετ ᶄμ΢ϯϩʔυ ᶆςετ࣮ߦ ᶅίϯύΠϧ

Slide 60

Slide 60 text

αΠτ͝ͱʹొ࿥ϑΥʔϜΛग़͠෼͚ͯʂ ͦͷޙʙ ͦͷ̍ ʙ

Slide 61

Slide 61 text

ࢼݧɺ̐̌̌αΠτ෼͋ΔͰ͕͢ɾɾɾ ࠓ·ͰͳΒ

Slide 62

Slide 62 text

ࢼݧɺ̐̌̌αΠτ෼͋ΔͰ͕͢ɾɾɾ ࠓ·ͰͳΒ ࢮ

Slide 63

Slide 63 text

Ͱ΋ɺࠓͳΒ ͳΜͱ͔଱͑ΒΕΔ

Slide 64

Slide 64 text

ొ࿥ϑΥʔϜʹසൟʹվमೖΕΔΑʂ ͦͷޙʙ ͦͷ̎ ʙ

Slide 65

Slide 65 text

௥Ճͨ͠ػೳ͕ͪΌΜͱಈ͔͘ʁ ొ࿥ϑΥʔϜͷग़͠෼͚͸Ͱ͖͍ͯΔ͔ʁ ࠓ·ͰͳΒ

Slide 66

Slide 66 text

௥Ճͨ͠ػೳ͕ͪΌΜͱಈ͔͘ʁ ొ࿥ϑΥʔϜͷग़͠෼͚͸Ͱ͖͍ͯΔ͔ʁ ࠓ·ͰͳΒ ࢮ

Slide 67

Slide 67 text

Ͱ΋ɺࠓͳΒ ͳΜͱ͔଱͑ΒΕΔ

Slide 68

Slide 68 text

ͦͯ͠ԿΑΓ΋ ෦௕͕ੜ͖ͯΔʂ

Slide 69

Slide 69 text

5ZQF4DSJQUͷޮՌ ファイル数 ステップ総数 1ファイルあたりの平均ステップ数 PhantomJS 22 4678 212 TypeScript 25 2682 107 ஔ͖׵͑௚ޙͷεςοϓ਺ൺֱ ファイル数 ステップ総数 1ファイルあたりの平均ステップ数 TypeScript 30 7910 263 αΠτ͝ͱͷొ࿥ϑΥʔϜग़͠෼͚ద༻ޙͷεςοϓ਺

Slide 70

Slide 70 text

5ZQF4DSJQUʹΑͬͯ΋ͨΒ͞Εͨ΋ͷ ファイル数 ステップ総数 1ファイルあたりの平均ステップ数 PhantomJS 22 4678 212 TypeScript 25 2682 107 ஔ͖׵͑௚ޙͷεςοϓ਺ൺֱ ファイル数 ステップ総数 1ファイルあたりの平均ステップ数 TypeScript 30 7910 263 αΠτ͝ͱͷొ࿥ϑΥʔϜग़͠෼͚ద༻ޙͷεςοϓ਺ ͍͍ײ͡

Slide 71

Slide 71 text

ܾͯ͠ɺ͍͍͜ͱ͹͔ΓͰ͸ͳ͍ • ࣮૷࣌ • +BWB4DSJQU͕Τϥʔͳ͘ੜ੒͞Εͯ΋ɺ1IBOUPN+4͕ಈ͘Θ͚Ͱ͸ͳ͍ • શମ • 1IBOUPN+4ͷ։ൃ͕ࢭ·͍ͬͯΔ 5ZQF4DSJQU 1IBOUPNF+4ͷσϝϦοτ

Slide 72

Slide 72 text

ࠓޙͷ՝୊ • 4FMFOJVN΋͘͠͸)FBEMFTT$ISPNFͷಋೖͱஔ͖׵͑ • ࣗಈςετͷ֦ॆ • ొ࿥ϑΥʔϜҎ֎ͷػೳ

Slide 73

Slide 73 text

ฐࣾͰҰॹʹಇ͖·ͤΜ͔ʁ ΤϯδχΞɾσβΠφ࠾༻αΠτ IUUQSFDSVJUBTUBNVTFDPKQ BTUBNVTF -BCʢ։ൃϒϩάʣ IUUQMBCBTUBNVTFDPKQ

Slide 74

Slide 74 text

͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠