Slide 1

Slide 1 text

ϕϯνϟʔͰ υϝΠϯۦಈઃܭΛ΍Δͱ Ͳ͏ͳΔ͔ʁ ʙ1ZUIPOͰܕʹ׬શʹ౗ͯ͠Έͨʙ 2019.05.11 גࣜձࣾνʔϜϘοΫε ҆੢ ߶

Slide 2

Slide 2 text

νʔϜϘοΫεͬͯʁ

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

৽αʔϏεͱػցֶशʹΑΔ෼ੳγεςϜ΋։ൃத

Slide 6

Slide 6 text

ձࣾͷ࣌୅എܠ

Slide 7

Slide 7 text

ˠ࣌୅ ʢ೥૑ۀʣ

Slide 8

Slide 8 text

ࣾһਓ

Slide 9

Slide 9 text

ҰਓͰ࡞ͬͨ

Slide 10

Slide 10 text

͘͞Β714্ʹ1ZUIPO

Slide 11

Slide 11 text

ࣄۀ͕͏·͘ߦ͖ͩͨ͠

Slide 12

Slide 12 text

ˠ࣌୅ ʢ೥ʣ

Slide 13

Slide 13 text

ೖࣾ

Slide 14

Slide 14 text

1ZUIPO͔ ͣͬͱଓ͘ αʔϏεʹ͍ͨ͠ͳ͊

Slide 15

Slide 15 text

Ϣʔβ؅ཧ͕྆ํʹ͋Δ͜ͱʹؾͮ͘

Slide 16

Slide 16 text

Ϣʔβ؅ཧΛ෼཭͠Α͏

Slide 17

Slide 17 text

4QSJOH#PPU,PUMJOͰ࡞ͬ ͨ

Slide 18

Slide 18 text

͜ΕʹՃ͑ͯ৽αʔϏεΛ࡞Ζ͏ʂ

Slide 19

Slide 19 text

1ZUIPO΍ͬͨ͜ͱແ͍͠ ڷʹೖΕ͹ڷʹै͑ ·ͣ΍ͬͯΈΑ͏

Slide 20

Slide 20 text

͕͢͞ʹ.7$͚ͩ͸͖͍ͭ ·ͣ͸ϨΠϠʔυΞʔΩςΫνϟ ʢͱ͍͏໊ͷ෼͚͚ͨͩʣ

Slide 21

Slide 21 text

6*ʢ1SFTFOUBUJPOʣ "QQMJDBUJPO %PNBJO *OGSBTUSVDUVSF ˔ ϞσϦϯά͸͋·Γ͍ͯ͠ͳ͍ ˔ υϝΠϯ૚͸ಠཱ͍ͯ͠ͳ͍ʢଞͷ૚ʹґ ଘ͍ͯ͠Δʣ

Slide 22

Slide 22 text

ϨΠϠʔΛ෼͚Έͯ (PPEʂ %#΍"1*ΞΫηεͷॲཧΛͲ͜ʹॻ͚͹͍͍͔͕Θ͔Δ B ଞͷਓ͕ॻ͍ͨίʔυͰ΋Ͳ͜ʹॻ͍ͯ͋Δ͔͸Θ͔Δ 03ϚούʔͷϞσϧ͔ΒϏδωεϩδοΫ͸ഉআͰ͖ͨ #BEʂ ϏδωεϩδοΫͷډॴ͕ᐆດɻॻ͖ํ΋ਓ΍ػೳʹΑͬͯมΘΔɻ B υϝΠϯϞσϧශ݂঱ঢ়ଶ ͦ͏ͳΔͱ݁Ռతʹ$POUSPMMFS͕ଠΓɺ4FSWJDFͱ͍͏ಾͷDMBTT͕Ͱ͖࢝Ί Δ

Slide 23

Slide 23 text

த్൒୺͸͋·ΓޮՌ͕ͳ͍ ʢ࣮ײʣ

Slide 24

Slide 24 text

υϝΠϯϞσϦϯάΛ͍ͨ͠ ΍ΔͳΒܕ͕΄͍͠ͳ͊ʜ

Slide 25

Slide 25 text

("&ͷ1ZUIPOΛ ʹ্͛ͨΑʂ $50߱ྟ

Slide 26

Slide 26 text

͜Ε͸5ZQF)JOU͕ ࢖͑Δ͡Όͳ͍͔ʜ

Slide 27

Slide 27 text

1ZUIPOͰܕʹ ౗࣮͢ݧͯ͠ΈΑ͏Αʂ ͓લͦΕͩͬͨΒ +BWBͰ͑͑΍Μʂ https://www.irasutoya.com/2017/08/blog-post_54.html

Slide 28

Slide 28 text

؟ͷલʹ͋Δͷ͸1ZUIPOͰ͋Δ 1ZUIPOͰܕʹ౗ͯ͠ΈΑ͏ʂ ʢ࣮͸ڵຯຊҐʣ

Slide 29

Slide 29 text

جຊܗ

Slide 30

Slide 30 text

引数の型指定 戻り値の型指定 コメントで型指定

Slide 31

Slide 31 text

جຊతʹ5ZQF)JOU͸ ͜Ε͚ͩͰ0, ʢ(FOFSJDTͱ͔͸ඞཁແ͠ʣ

Slide 32

Slide 32 text

*%&

Slide 33

Slide 33 text

1ZDIBSNʢ*OUFMMJK*%&"ʣ ͜ͷิ׬͕ͳ͍ͱແཧ

Slide 34

Slide 34 text

NZQZ ܕΛνΣοΫͯ͘͠Ε·͢ 1ZDIBSNʹ΋ઃఆ͢ΔͱΑΓྑ͍

Slide 35

Slide 35 text

little_hand_s さんのqiitaより引用 https://qiita.com/little_hand_s/items/ebb4284afeea0e8cc752 υϝΠϯ૚Λ ಠཱͤ͞Δ ʲج४ʳ υϝΠϯ૚ʹ ଞͷ૚ͷJNQPSUจ͕ແ͍

Slide 36

Slide 36 text

little_hand_s さんのqiitaより引用 https://qiita.com/little_hand_s/items/ebb4284afeea0e8cc752 "QQMJDBUJPO4FSWJDF͔ Β *OGSBTUSVDUVSF ʢ%#ΞΫηεʣ Λݺͼ͍ͨ Ͱ΋໼ҹ͕ٯʹͳΔ

Slide 37

Slide 37 text

ͦ͜Ͱ%*

Slide 38

Slide 38 text

*OUFSGBDF͕ແ͍ͷͰɺܧঝͰදݱ

Slide 39

Slide 39 text

ɾܕΛCJOE͢Δ ɾ%*Ͱ"QQMJDBUJPO4FSWJDFΛJOKFDU͢Δ ɾ"QQMJDBUJPO4FSWJDFͰ͸*OUFSGBDFͷܕͰݺͼग़͢

Slide 40

Slide 40 text

little_hand_s さんのqiitaより引用 https://qiita.com/little_hand_s/items/ebb4284afeea0e8cc752 ͍͑ʔ͍ ґଘؔ܎͕ ٯ޲͍ͨʂ

Slide 41

Slide 41 text

ઃܭͯ͠ΈΑ͏

Slide 42

Slide 42 text

खॱ ᶃॳظͷυϝΠϯϞσϧΛ࡞Δ ໊લͱৼΔ෣͍Λநग़ ίʔυʹམͱͯ͠ΈΔ ϦϑΝΫλϦϯά͍ͯ͘͠ ᶄυϝΠϯ૚Ҏ֎Λ࡞͍ͬͯ͘

Slide 43

Slide 43 text

ᶃॳظͷυϝΠϯϞσϧΛ࡞Δ

Slide 44

Slide 44 text

Ϣʔεέʔε΍࢓༷Λ༻ҙͯ͠

Slide 45

Slide 45 text

No content

Slide 46

Slide 46 text

෇ᝦͰग़͢ ˞ΠϝʔδͰ͢

Slide 47

Slide 47 text

ॳظͷυϝΠϯϞσϧΛ࣮૷ͯ͠ΈΔ 7BMVF0CKFDUΛ࡞ͬͯΈΔ ͔͜͜Β࣮૷։࢝ ˞ύοέʔδҠಈΛߟྀͯ͠DMBTT͝ͱʹϑΝ ΠϧΛ෼͚ͯΈͨɻ͕ɺ͜Ε͸ࣦഊɻ

Slide 48

Slide 48 text

"QQMJDBUJPO૚ *OGSBTUSVDUVSF૚ σʔλϞσϧઃܭ Λ࡞͍ͬͯ͘

Slide 49

Slide 49 text

6*ʢ1SFTFOUBUJPOʣ "QQMJDBUJPO %PNBJO *OGSBTUSVDUVSF

Slide 50

Slide 50 text

little_hand_s さんのqiitaより引用 https://qiita.com/little_hand_s/items/ebb4284afeea0e8cc752 υϝΠϯ૚Λ ಠཱͤ͞Δ ʲج४ʳ υϝΠϯ૚ʹ ଞͷ૚ͷJNQPSUจ͕ແ͍

Slide 51

Slide 51 text

ϙΠϯτ

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

いったり来たり 俯瞰 詳細

Slide 57

Slide 57 text

Ϟσϧʹ౴͑͸ͳ͍ɻ

Slide 58

Slide 58 text

΍ͬͯΈͯ Ͳ͏͔ͩͬͨʁ

Slide 59

Slide 59 text

ͳ͔ͥͱ͍͏ͱɺߏ଄Λઌʹ࡞ΔͷͰ ϩδοΫʹͨͲΓண͘ͷ͕࠷ޙͷํͰ ΋Ͳ͔͠͞Λײͨ͡ͷͰ͸ͳ͔Ζ͏͔ ᶃ࠷ॳ͸গ͠ख͕͔͔ؒΔ ײ͕͢͡Δ ౰ࣾൺ

Slide 60

Slide 60 text

ᶄͲ͜ʹԿ͕͋Δ͔͕ Θ͔Γ΍͍͢ ଞਓɺաڈͷࣗ෼͕ॻ͍ͨίʔυɺͲͪΒͰ΋ ߏ଄ͱ໊લ͕໌֬ͳͷͰɺͨͲΓ΍͍͢

Slide 61

Slide 61 text

ᶅมߋ͕҆৺ ࠷ߴʹؾ͕͍͍࣋ͪɻ ݁ߏେ͖ͳमਖ਼΋҆৺ײ͕͋Δ

Slide 62

Slide 62 text

ᶆ5ZQF)JOUͰ΋ͦͦ͜͜େৎ ෉ ܕ͕͋Δݴޠ࢖͑Αɺͱ͍͏࿩͕ͩɺ ʢͩͬͯ໨ͷલʹ1ZUIPO͕͋ͬͨΜͩ΋ͷʣ 1ZUIPOͰ΋*%&͕ิ׬ͯ͘͠ΕΔͷͰॆ෼Ͱ͖Δ 1)1Ͱ΋͍͚ΔͷͰ͸ͳ͍ͩΖ͏͔

Slide 63

Slide 63 text

ᶇ։ൃʹ౷Ұੑ͕ੜ·ΕΔ υϝΠϯϞσϧΛআ͘ͱ͋Δఔ౓ɺܗ͸Ͱ͖Δ Ϟσϧͷձ࿩Λଓ͚Ε͹ ίϛϡχέʔγϣϯίετ͕গͳ͍

Slide 64

Slide 64 text

ᶈDMBTT͝ͱͳͲ ࡉ͔͍ςετ͕ඞཁͳͦ͞͏ ܕ͕୲อͯ͘͠ΕΔ ઃܭ͕͔ͬ͠Γ͍ͯ͠Ε͹ɺෳࡶͳܭࢉ΍ "QQMJDBUJPO4FSWJDF΍$POUSPMMFS͝ͱͰ୲อ͠΍͍͢

Slide 65

Slide 65 text

ࠓޙͷ՝୊

Slide 66

Slide 66 text

ᶃͦ͜·ͰϞσϧ͕ҭͬͯͳ͍ ΋ͬͱϦϑΝΫλϦϯά͠ͳ͚Ε͹

Slide 67

Slide 67 text

ᶄ΍Γ͗ͨ͢ͱ͜Ζʁ DMBTT͝ͱʹϑΝΠϧΛ෼͚ͨͷ͸ࣦഊɻ͍͔ͭ໭͢ ʢ*OUFMMJK*%&"Ͱมߋ͕஗͘ͳͬͨʜʣ ͋Εɺଞʹ͸ແ͍ͳʁʁʁ

Slide 68

Slide 68 text

ᶅ1ZUIPOΤϯδχΞ͕ೖͬͨ Β ࠔ࿭͢ΔͷͰ͸ͳ͔Ζ͏͔ ࿩ͤ͹Θ͔Δͱ৴͍ͯ͡Δ

Slide 69

Slide 69 text

ࢥͬͨ͜ͱ

Slide 70

Slide 70 text

ˠˠˠˠ㱣

Slide 71

Slide 71 text

ˠˠˠˠ㱣 探そう 探しつつ 伸ばそう もっと 伸ばそう もっともっと 伸ばそう

Slide 72

Slide 72 text

複雑度(変更コスト)が指数関数的に上がっていく ˠˠˠˠ㱣 サクッと 作って検証 人が増えてきた なんか開発が 遅い感じがする あぁ辛い 作り直したい 厳しい 辛すぎる もう無理だ…

Slide 73

Slide 73 text

ˠˠˠˠ㱣 ここに不可逆な 境界線が????

Slide 74

Slide 74 text

ˠˠˠˠ㱣 ここで 大幅に設計をしなおすことが 大事なのではないか

Slide 75

Slide 75 text

͜Ε͕ͦͷޙͷมߋίετΛ େ෯ʹԼ͛Δ

Slide 76

Slide 76 text

ここが最も価値がある

Slide 77

Slide 77 text

No content

Slide 78

Slide 78 text

৽͍͠΋ͷΛ௥Ճͭͭ͠΋ ෳࡶͳ΋ͷΛ੔ཧ͠ଓ͚Δ

Slide 79

Slide 79 text

ෳࡶͳ΋ͷΛෳࡶͳ··ѻ͏ ෳࡶͳ΋ͷ͕୯७ʹͳΔຐ๏͸ ͳ͍

Slide 80

Slide 80 text

ͦͷͱ͖ʹυϝΠϯۦಈઃܭΛ બ୒͢Δͱྑ͍ͱࢥ͏

Slide 81

Slide 81 text

஥ؒΛେେืूதͰ͢ʂ ˔ ෭ۀɾϑϦʔϥϯεΤϯδχΞืूʂ ˓ ࣌ؒ΋৔ॴ΋࢓ࣄ಺༰΋ࣗ༝ ˓ ݁Ռతʹ࢓ࣄ͠ͳͯ͘΋͍͍ͷͰɺҰ୴4MBDLʹೖΖ͏ʂ ˓ 1ZUIPOɺ7VFKTɺ,PUMJOɺJ04ͳͲ ˔ ΤϯδχΞࣾһืूʂ ˓ ਓͷ੒௕ʹڵຯ͕͋Δํ ˓ ಇ͘৔ॴɺ࣌ؒࣗ༝ ˓ ձٞ΋৘ใ΋Φʔϓϯ ˓ ෭ۀࣗ༝ ͓ؾܰʹ͝࿈བྷ͍ͩ͘͞ʂ IUUQTXXXXBOUFEMZDPNQSPKFDUT