Slide 1

Slide 1 text

DevOpsͱ
 υΩϡϝϯτσβΠϯύλʔϯ 
 2017-07-09ɹTech Night @ Shiodome # 4
 ςʔϚ “DevOpsͱࣗಈԽ”
 presented by @yuzutas0
 https://www.pexels.com/photo/meeting-pencils-macbook-notebooks-40120/

Slide 2

Slide 2 text

ɹࠓ೔ͷ͓࿩ ؆୯ʹ͸ࣗಈԽͰ͖ͳ͍ ෳࡶͳOps Λ
 
 গ͠Ͱ΋ ྑ͘͢Δ ΞΠσΞΛఏҊ͠·͢

Slide 3

Slide 3 text

ɹࣗݾ঺հ Sho Yokoyama (@yuzutas0) - ϦΫϧʔτςΫϊϩδʔζ
 - ೝఆεΫϥϜϚελʔ
 - ΤϯδχΞνʔϜ ͷ ্ཱͪ͛ɾཱͯ௚͠

Slide 4

Slide 4 text

ɹ஌ݟΛڞ༗͠·͢ʢυΩϡϝϯτฤʣ 
 ੒௕௧ʹۤ͠ΉϓϩμΫτ DevˍOpsͷνʔϜΛཱͯ௚͠
 ϝϯόʔ2ഒ/Q ͷ
 εέʔϧظ ച্3ഒ/೥ ͷ
 άϩʔε੡඼ ো֐2݅/Ӧۀ೔ ͷ
 ةػతঢ়گ

Slide 5

Slide 5 text

ɹ੒௕௧ͷཧ༝ ʹ DevͱOpsͷஅ྾ ӡ༻ΛߟྀͰ͖ͳ͍
 ؒʹ߹Θͤͷ ։ൃ γεςϜԽ͞Εͳ͍
 ͦͷ৔྇͗ͷ ӡ༻ ো֐ˢ ෳࡶˢ

Slide 6

Slide 6 text

ྫʣ1೔10ճϦϦʔεΛ๦͛ΔཁҼ ੍໿ཧ࿦ɿϘτϧωοΫͷಛఆ → ղফ → ߴ଎σϓϩΠΛ࣮ݱ* *ࢢ৔͕ෆ࣮֬ ʹ Ծઆݕূͷճ਺Λ૿΍͢ͱϏδωεՁ஋͕࠷େԽ͞ΕΔ ʹ ϦϦʔεճ਺Λ૿΍͍ͨ͠
 ͱ͍͏จ຺ʹ͓͚Δશମ࠷దԽʢͦ͏Ͱͳ͍৔߹͸ϦϦʔεճ਺Λ૿΍ͯ͠΋རӹʹܨ͕Βͳ͍͜ͱ΋ʣ Ops Dev Biz ɹ[ཧ૝] DevOps = ڠಇʹΑΔશମ࠷దԽ ϦϦʔε࡞ۀ ࢿࡐͷ
 Ҿ͖౉͠ձٞ POঝೝ Ծઆ ऩӹ ճؼςετ ա৒ཁ݅

Slide 7

Slide 7 text

Α͘࢖ΘΕΔπʔϧ “Value Stream Mapping” Ҿ༻ݩʮ೔ຊͷDevOpsมֵΛଅਐ͢ΔόϦϡʔετϦʔϜϚοϐϯάʯ
 http://gihyo.jp/dev/column/01/devops/2017/value-stream-mapping ɹ[ཧ૝] ϘτϧωοΫͷಛఆ

Slide 8

Slide 8 text

ɹ[ཧ૝] VSM → “ࣗಈԽ” ͸ଧͪखͷ1ͭ LTɿϦʔυλΠϜ
 ޻ఔ׬ྃ·Ͱͷ࣌ؒ − PTɿϓϩηελΠϜ
 ࡞ۀ ʹඅ΍ͨ࣌ؒ͠ . = ଴ͪ ͷ࣌ؒ ࡞ۀݟ௚͠ ΍ ࣗಈԽ ʹΑΔ࡟ݮ
 ʢྫɿInfrastructure as Codeʣ ۀ຿ϑϩʔվम ʹΑΔ࡟ݮ

Slide 9

Slide 9 text


 ੜΈͷ਌Ͱ͋Δେ໺଱Ұࢯ͕ ࠷ॳʹ΍ͬͨ͜ͱ
 ʹυΩϡϝϯτԽʢۀ຿ͷඪ४Խʣ ɹVSMͷ༝དྷ͸τϤλํࣜʢϦʔϯʣ τϤλࣗ޻ʹసग़͔ͯ͠Βɺࢲ͕·ͣඪ४࡞ۀදΛͭ͘Εͱ
 ݺͼ͔͚ͨ͜ͱ͸͍͏·Ͱ΋ͳ͍ɻ ੜ࢈ݱ৔ͷجຊͱ΋͍͏΂͖ඪ४࡞ۀදͮ͘Γ͔ΒɺτϤλੜ࢈ํࣜ
 ͮ͘Γ΁ͷࡾޒ೥ʹΘͨΔಓఔΛา·ͤΔ΋ͱΛͳ͍ͯ͠ΔΑ͏ʹࢥ͏ɻ
 ʰτϤλੜ࢈ํࣜ - ୤ن໛ͷܦӦΛΊͯ͟͠ʱʢp40ʣΑΓҾ༻

Slide 10

Slide 10 text


 υΩϡϝϯτ͸ϜμɾϜϥɾϜϦΛऔΓআ͘౔୆
 ɹ·ͣ͸ۀ຿ඪ४Խ͔Βʂ Dev/Ops ܕԽ ࠷దԽʢࣗಈԽʣ ͕ͬͪ͜ઌ

Slide 11

Slide 11 text


 3ਓ͕ผʑͷυΩϡϝϯτΛConfluence্ʹ࡞੒ 
 
 
 ※ΞϓϦέʔγϣϯࢿࡐͷσϓϩΠ͸ࣗಈԽࡁΈɻ
 εΩʔϚมߋ΍ΧελϚʔαϙʔτ࿈ܞͷͨΊʹखॱॻ͕ඞཁɻ
 άϩʔεϑΣʔζͩͱසൟʹεΩʔϚมߋ͕ඞཁʹͳΔ……
 ɹʲ࣮ྫʳ3ͭͷϦϦʔεखॱॻ ʮ։ൃTipsʯσΟϨΫτϦ
 L ϦϦʔε࡞ۀखॱॻ ʮӡ༻ʯσΟϨΫτϦ
 L ϦϦʔε࡞ۀखॱॻ ʮΠϯϑϥʯσΟϨΫτϦ
 L ϦϦʔε࡞ۀखॱॻ

Slide 12

Slide 12 text

ɹʲ࣮ྫʳ3ͭͷϦϦʔεखॱॻ ো֐ൃੜ ϦϦʔε࡞ۀΛ࣮ࢪ ϦϦʔεखॱॻA "͞Μ ࡞ۀ࿙ΕΛ൓ө

Slide 13

Slide 13 text

ɹʲ࣮ྫʳ3ͭͷϦϦʔεखॱॻ ϦϦʔεखॱॻA
 ʢ൓өࡁΈʣ ϦϦʔεखॱॻB
 ʢະ൓өʣ #͞Μ "͞Μ A͞Μͱಉ͡ো֐͕ൃੜ ϦϦʔε࡞ۀΛ࣮ࢪ ࡞ۀ࿙ΕΛ൓ө

Slide 14

Slide 14 text

ɹʲ࣮ྫʳ3ͭͷϦϦʔεखॱॻ ϦϦʔεखॱॻA
 ʢ൓өࡁΈʣ "͞Μ ·ͨಉ͡ো֐͕ൃੜ ϦϦʔε࡞ۀΛ࣮ࢪ ϦϦʔεखॱॻB
 ʢ൓өࡁΈʣ #͞Μ ϦϦʔεखॱॻC
 ʢະ൓өʣ $͞Μ

Slide 15

Slide 15 text

ʢࠓճͷ͸ۃ୺ͳྫͰ͕͢ʣ
 ͋ΒΏΔ૊৫Ͱى͖͍ͯΔ͜ͱʂ ಉ͡Α͏ͳ࡞ۀϝϞΛɺ2ͭͷ෦ॺͰʢ֤ࣗͷϩʔΧϧPCͰʣ
 ผʑʹ؅ཧ͍ͯ͠·ͤΜ͔ʁ ɹεέʔϧʹ൐͏৘ใ෼அ

Slide 16

Slide 16 text

ہॴ࠷దԽͷѱ॥؀ ɹݱ৔Ͱى͖͍ͯͨ͜ͱ αϙʔτɾϨϏϡʔ
 Ͱ͖ͳ͍ ୲౰ऀͷࣗݾ׬݁ ૝ఆ֎ͷ࢓༷
 ߟྀෆ଍ͷ։ൃ
 ඇޮ཰ͳӡ༻ ো֐ɾ஗Ԇˢ
 ϓϨογϟʔˢ ଞͷਓͷ࢓ࣄΛ஌Βͳ͍ ৘ใڞ༗ɾඪ४Խ͸
 ޙճ͠

Slide 17

Slide 17 text

ہॴ࠷దԽͷѱ॥؀ ɹDevͱOpsͷஅ྾ αϙʔτɾϨϏϡʔ
 Ͱ͖ͳ͍ ୲౰ऀͷࣗݾ׬݁ ૝ఆ֎ͷ࢓༷
 ߟྀෆ଍ͷ։ൃ
 ඇޮ཰ͳӡ༻ ো֐ɾ஗Ԇˢ
 ϓϨογϟʔˢ ଞͷਓͷ࢓ࣄΛ஌Βͳ͍ ৘ใڞ༗ɾඪ४Խ͸
 ޙճ͠ ͜͜Ͱ௧Ή

Slide 18

Slide 18 text

ہॴ࠷దԽͷѱ॥؀ ɹυΩϡϝϯτ͔Β੾Γ։͘ αϙʔτɾϨϏϡʔ
 Ͱ͖ͳ͍ ୲౰ऀͷࣗݾ׬݁ ૝ఆ֎ͷ࢓༷
 ߟྀෆ଍ͷ։ൃ
 ඇޮ཰ͳӡ༻ ো֐ɾ஗Ԇˢ
 ϓϨογϟʔˢ ଞͷਓͷ࢓ࣄΛ஌Βͳ͍ ৘ใڞ༗ɾඪ४Խ͸
 ޙճ͠ ͜͜Λ߈Ίͨ

Slide 19

Slide 19 text


 ·ΔͰϨΨγʔίʔυͷΑ͏ͳ༗༷ ɹυΩϡϝϯτ؅ཧ্ͷ՝୊ मਖ਼͕͍ͭޙճ͠
 ԿΛॻ͚͹͍͍͔໎͏
 Ͳ͜ʹॻ͚͹͍͍͔໎͏ ݟ͔ͭΒͳ͍
 ৘ใ͕ݹ͍ɾޡΓ
 ࣅͨ಺༰͕ࢄࡏ͍ͯ͠Δ Write໰୊ Read໰୊

Slide 20

Slide 20 text


 ·͞ʹϨΨγʔίʔυͱಉ͡
 ର৅͕ࣗવݴޠʢ΋͘͠͸දɾਤʣʹͳ͚ͬͨͩʂ ↓ ௚͠ํ΋ϓϩάϥϛϯάͱಉ͡Ͱ͸ʁ
 ɹϨΨγʔυΩϡϝϯτ

Slide 21

Slide 21 text


 ʮ։ൃTipsʯʹ৘ใΛूΊΔͷ͸
 ແடংͳUtilΫϥεͱಉ͡ʂΑΖ͘͠ͳ͍ʂ ɹʲղܾฤʳ3ͭͷϦϦʔεखॱॻ ʮ։ൃTipsʯσΟϨΫτϦ
 L ϦϦʔε࡞ۀखॱॻ ʮӡ༻ʯσΟϨΫτϦ
 L ϦϦʔε࡞ۀखॱॻ ʮΠϯϑϥʯσΟϨΫτϦ
 L ϦϦʔε࡞ۀखॱॻ

Slide 22

Slide 22 text


 Πϯϑϥ؀ڥͷϖʔδ = MVCͩͱModel
 ࡞ۀखॱʢControllerʣ͕ModelͷԼʹ͋Δʂμϝʂ ɹʲղܾฤʳ3ͭͷϦϦʔεखॱॻ ʮ։ൃTipsʯσΟϨΫτϦ
 L ϦϦʔε࡞ۀखॱॻ ʮӡ༻ʯσΟϨΫτϦ
 L ϦϦʔε࡞ۀखॱॻ ʮΠϯϑϥʯσΟϨΫτϦ
 L ϦϦʔε࡞ۀखॱॻ

Slide 23

Slide 23 text


 ґଘؔ܎ʹج͍ͮͨυΩϡϝϯτઃܭ ɹʲղܾฤʳMVCͷద༻ View ϦϦʔε࡞ۀखॱॻ Πϯϑϥ؀ڥҰཡ JenkinsϩάΠϯ৘ใ ϦϦʔεه࿥_201704XX Controller Model

Slide 24

Slide 24 text


 ܁Γฦ͠ϖʔδ͸Ұׅ؅ཧ ɹʲղܾฤʳIteratorύλʔϯ(GoF)ͷద༻ View ϦϦʔε࡞ۀखॱॻ Πϯϑϥ؀ڥҰཡ JenkinsϩάΠϯ৘ใ Controller Model ϦϦʔεه࿥_201704XX ϦϦʔεه࿥_201705XX ϦϦʔεه࿥_201706XX

Slide 25

Slide 25 text

ྑͦ͞͏
 ͡Όͳ͍Ͱ͔͢ʁ

Slide 26

Slide 26 text

ࣗಈԽ΍ίʔυԽʢas Codeʣ͕೉͍͠ۀ຿Ͱ΋ ίʔυͷΑ͏ʹѻ͏͜ͱʢas Codeʣ͸Ͱ͖Δʂ ༨ஊɿάϩʔεϑΣʔζͩͱۀ຿ࣗମ͕ͦΕͳΓͷ੎͍ͰมΘΔ
 ൃදऀ͕࡞ͬͨ࡞ۀࣗಈԽεΫϦϓτ͸1ϲ݄Ͱΰϛʹͳͬͨ

Slide 27

Slide 27 text

ͦΕͱ΋ɺ͋ͨΓ·͑ʹ
 ݟ͑·͔͢ʁ

Slide 28

Slide 28 text


 ґଘؔ܎ʹج͍ͮͨυΩϡϝϯτઃܭ ɹʢݴΘΕΕ͹ʣ͋ͨΓ·͑ͷߏ੒ View ϦϦʔε࡞ۀखॱॻ Πϯϑϥ؀ڥҰཡ JenkinsϩάΠϯ৘ใ ϦϦʔεه࿥_201704XX Controller Model

Slide 29

Slide 29 text


 ܁Γฦ͠ϖʔδ͸Ұׅ؅ཧ ɹʢݴΘΕΕ͹ʣ͋ͨΓ·͑ͷߏ੒ View ϦϦʔε࡞ۀखॱॻ Πϯϑϥ؀ڥҰཡ JenkinsϩάΠϯ৘ใ Controller Model ϦϦʔεه࿥_201704XX ϦϦʔεه࿥_201705XX ϦϦʔεه࿥_201706XX

Slide 30

Slide 30 text

͋ͨΓ·͑Λҡ࣋Ͱ͖ͳ͘ͳΔ → อक͕ࠔ೉ʹͳΔ
 ʢଟ͘ͷιʔείʔυͱಉ͡Α͏ʹʣ
 ͔ͩΒύλʔϯ͕ඞཁ

Slide 31

Slide 31 text


 υΩϡϝϯτΛίʔυͷΑ͏ʹѻ͏15ͷύλʔϯ (Document Design Pattern) 
 
 
 
 
 
 - Ϣʔεέʔε෼ੳ
 - ϦϑΝΫλϦϯά
 - ϖΞϓϩάϥϛϯά
 - Ϟϒϓϩάϥϛϯά
 ɹ࣮ࡍʹࢼͯ͠Έͨ - AppendixͰղઆʂ 
 - ΞʔΩςΫτνʔϜ
 - ίϯ΢ΣΠͷ๏ଇ
 ମ੍ͷύλʔϯ 
 - ٕज़తෛ࠴
 - ϙʔτϑΥϦΦ
 - ίʔσΟϯάΛଅ͢
 - ίʔυϨϏϡʔ
 - ϘʔΠεΧ΢τ
 - Rule of Three จԽͷύλʔϯ 
 - MVCϞσϧ
 - GoFσβΠϯύλʔϯ
 - ܧଓతσϦόϦʔ /
 ΠςϨʔγϣϯ ઃܭͷύλʔϯ ࡞ۀͷύλʔϯ ˞ମ੍΍จԽ͸σβΠϯʢઃܭʣʹӨڹΛ༩͑ΔͷͰσβΠϯύλʔϯʹؚΊ͍ͯ·͢

Slide 32

Slide 32 text

͜Μͳײ͡Ͱ΍͍͖ͬͯ·ͨ͠ ɹDocument as Code ۀ຿Λ҆ఆԽ ։ൃϊ΢ϋ΢
 ʢύλʔϯʣ υΩϡϝϯτʹ ద༻ ໰୊͕ු্

Slide 33

Slide 33 text

݁Ռ

Slide 34

Slide 34 text

ѨඓڣשͷProblemͩΒ͚ͩͬͨͷ͕ ɹ੔උલɿ1݄JoinϝϯόʔͷKPT P: ͜Μͳʹ
 Կ΋ܾ·͍ͬͯͳ͍
 ݱ৔͸ॳΊͯ P: Ͳ͜ΛݟͨΒ͍͍͔
 ෼͔Βͳ͍ P: XXҊ͕݅ͦΜͳ
 ঢ়ଶͩͬͨͳΜͯ
 ؾ෇͔ͳ͔ͬͨ

Slide 35

Slide 35 text


 
 શͯKeepʹมΘ͍ͬͯͨʂ K: υΩϡϝϯτ͕
 ͜͜·Ͱ͔ͬ͠Γͨ͠
 ݱ৔͸ॳΊͯ ɹ੔උޙɿ4݄JoinϝϯόʔͷKPT K: ͢ΜͳΓ
 ্ཱͪ͛Ͱ͖ͨ K: ࠔͬͨͱ͖ʹ
 ࣭໰͠΍͔ͬͨ͢

Slide 36

Slide 36 text

ʢ3ϲ݄ܦաͯ͠ͷࠩ෼Λݟͯʣ ʮվળͬͯɺ͜͏͍͏͜ͱͳͷ͔ɻʯ ɹϝϯόʔͷᄁ͖

Slide 37

Slide 37 text

࠷ޙʹ

Slide 38

Slide 38 text

υΩϡϝϯτΛιʔείʔυͷΑ͏ʹѻ͓͏ʂ ϨΨγʔίʔυͷ༧๷ɾղফͱಉ͡ʂ ɹDocument as Code

Slide 39

Slide 39 text

͋Δ΂͖ߏ੒Λඳ͜͏ʂ ·͞ʹ Information Architecture ͱಉ͡ʂ ɹDocument as Code

Slide 40

Slide 40 text

͋Δ΂͖ߏ੒ʹدͤΑ͏ʂ ·͞ʹ Technical Debt ͱಉ͡ʂ ɹDocument as Code

Slide 41

Slide 41 text

อकੑͷߴ͍ ઃܭ ͸ɺιϑτ΢ΣΞΤϯδχΞͷಘҙ෼໺ͷ͸ͣʂ ۀ຿Λ੔ཧͯ͠ ϓϩμΫτΛࢧ͑Δ ͜ͱ͕Ͱ͖Δͷ͸
 Ғ͍ਓ΍ΞΠσΞϚϯͰ͸ͳ͘ɺ ݱ৔ͷΤϯδχΞ Ͱ͢ʂ ɹDocument as Code

Slide 42

Slide 42 text

presented by @yuzutas0
 https://www.pexels.com/photo/meeting-pencils-macbook-notebooks-40120/ ͝ਗ਼ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠


Slide 43

Slide 43 text

1. σβΠϯύλʔϯ঺հ 2. ࠓޙͷ՝୊ʹ͍ͭͯ 3. ࠾༻ͨ͠σΟϨΫτϦߏ੒ ɹAppendix

Slide 44

Slide 44 text


 υΩϡϝϯτΛίʔυͷΑ͏ʹѻ͏15ͷύλʔϯ (Document Design Pattern) 
 
 
 
 
 
 - Ϣʔεέʔε෼ੳ
 - ϦϑΝΫλϦϯά
 - ϖΞϓϩάϥϛϯά
 - Ϟϒϓϩάϥϛϯά
 ɹAppendix 1 - ύλʔϯ 
 - ΞʔΩςΫτνʔϜ
 - ίϯ΢ΣΠͷ๏ଇ
 ମ੍ͷύλʔϯ 
 - ٕज़తෛ࠴
 - ϙʔτϑΥϦΦ
 - ίʔσΟϯάΛଅ͢
 - ίʔυϨϏϡʔ
 - ϘʔΠεΧ΢τ
 - Rule of Three จԽͷύλʔϯ 
 - MVCϞσϧ
 - GoFσβΠϯύλʔϯ
 - ܧଓతσϦόϦʔ /
 ΠςϨʔγϣϯ ઃܭͷύλʔϯ ࡞ۀͷύλʔϯ ˞ମ੍΍จԽ͸σβΠϯʢઃܭʣʹӨڹΛ༩͑ΔͷͰσβΠϯύλʔϯʹؚΊ͍ͯ·͢

Slide 45

Slide 45 text

ଞͷϝϯόʔ͔Β͸࡞ۀ಺༰͕ݟ͑ʹ͍͘ ɹMVC - Before ݄࣍αʔϏεϨϕϧใࠂࢿྉ
 ʢViewʣ͸ؔ܎ऀશһʹ഑෍͞Ε͍ͯͨ ༻్ͷྫʣDAU͕ٸ૿͠ଓ͚ΔͷͰ
 αʔό૿ஙͷ௥Ճ༧ࢉ͕ඞཁ
 → ΩϟύγςΟਪҠΛఆظతʹ
 ্Ґ૊৫ʹϨϙʔτ͢Δ खॱϝϞ΍ܭࢉࣜʢControllerʣ͸
 ࡞ۀ୲౰ऀͷϩʔΧϧPCʹด͍ͯͨ͡ ൵ܶͷྫʣϞόΠϧΞϓϦͷ
 Ϋϥογϡ཰ͷܭࢉ͕ؒҧͬͨ··
 1೥Ҏ্ӡ༻͞Ε͍ͯͨ


Slide 46

Slide 46 text

ɹMVC - Afterɿґଘؔ܎ʹ෼ղ View ΩϟύγςΟ
 ϞχλϦϯά࡞ۀखॱॻ Πϯϑϥ؀ڥҰཡ
 ઀ଓઌIP৘ใ Ϋϥογϡϩάܭଌπʔϧ
 URL + ΞΧ΢ϯτ৘ใ Slack bot
 ݄࣍ϦϚΠϯμʔ ݄࣍αʔϏεϨϕϧ
 ใࠂࢿྉ_X݄෼ Controller Model

Slide 47

Slide 47 text

ΠϕϯτۦಈͰ࿙ΕΛ๷͙ → શһ͕࡞ۀ಺༰Λ࠶ݱͰ͖Δ ɹMVC - Afterɿ࢓૊ΈԽ 
 1. ఆظSlackϦϚΠϯμ 
 2. ϦϯΫઌ͸ςϯϓϨϖʔδ 
 3. ࠷ॳͷ࡞ۀ͸
 ςϯϓϨ͔ΒϖʔδΛੜ੒

Slide 48

Slide 48 text

ՄࢹԽͨ͠ͱ͜Ζ →ʮ΋ͬͱ؆୯ʹͰ͖ͦ͏ʯͷ੠্͕͕Γ→ ϝϯόʔ͕ࣗಈԽͯ͘͠Εͨʂ 
 ɹMVC - AfterɿঃʑʹࣗಈԽ ΩϟύγςΟ
 ϞχλϦϯά࡞ۀखॱॻ ϩάΛషΓ෇͚Δͱ
 ใࠂ਺஋Λࣗಈग़ྗ͢Δ
 SpreadSheet αʔόϩάͷ
 औಘεΫϦϓτ NEW NEW

Slide 49

Slide 49 text

܁Γฦ͠࡞੒͢Δϖʔδʹ͸ςϯϓϨʔτΛ༻ҙ͢Δ ɹGoFσβΠϯύλʔϯ - Template Method

Slide 50

Slide 50 text

܁Γฦ͠ϖʔδ͸ಉ͡σΟϨΫτϦͷԼʹ࣌ܥྻͰ؅ཧ͢Δ ɹGoFσβΠϯύλʔϯ - Iterator

Slide 51

Slide 51 text

ৗʹ1Օॴ͚ͩΛࢀর͢ΔΑ͏ʹಋઢΛ࡞ΔʢͦͷͨΊͷΠϕϯτۦಈʣ िʹ1౓ͷଧͪ߹Θͤͷٞࣄ࿥ϖʔδ
 τϦΨʔͱͳΔSlack botͷϦϚΠϯμʔϝοηʔδʹϦϯΫΛ෇͚Δ
 ͜ͷಋઢ͕ϝΠϯͰ׆༻͞ΕΔʹແؔ܎ͷՕॴʹϖʔδ͸࡞ΒΕͳ͍ ɹGoFσβΠϯύλʔϯ - Singleton

Slide 52

Slide 52 text

ݴͬͯ͠·͑͹͋ͨΓ·͕͑ͩɺ͋ͨΓ·͑Λҡ࣋͢Δͷ͕େࣄɻ
 ద੾ͳߏ੒Λҡ࣋͢ΔͨΊͷڞ௨ݴޠɻ ίʔσΟϯάͱಉͩ͡ɺͱ͍͏͜ͱΛϝϯόʔ͕ೲಘͰ͖Ε͹
 ͍ͭ΋ͷ։ൃ༻ޠΛ༻͍ͯʮ͜ͷυΩϡϝϯτ͸͜͜ʹॻ͜͏ʂʯͷ
 ఏҊɾվળɾձ࿩͕Ͱ͖ΔΑ͏ʹͳΔɻ ɹGoFσβΠϯύλʔϯ

Slide 53

Slide 53 text

υΩϡϝϯτ͸ੜ͖෺Ͱ͋Δɻ
 ࠷ॳʹ׬ᘳͳઃܭ͸Ͱ͖ͳ͍ɻۀ຿ࣗମ͕มԽ͢Δɻ
 ܧଓతʹ௥Ճɾߋ৽͍ͯ͘͜͠ͱ͕େࣄɻ ϝϯόʔ͔ΒͷϑΟʔυόοΫΛड͚ͳ͕Β
 υΩϡϝϯτߏ੒ɾ಺༰Λमਖ਼͢Δɻ
 ɹܧଓతσϦόϦʔ / ΠςϨʔγϣϯ

Slide 54

Slide 54 text

গ਺ʹΑΔج൫ͷ੔උɻ νʔϑΞʔΩςΫτ͕ɺ࠷ॳʹҰ؏ੑͷ͋ΔυΩϡϝϯτߏ੒ҊΛܾΊͯ
 1ϲ݄Λֻ͚ͯపఈతʹ੔උͨ͠ʢʮϦϑΝΫλϦϯάʯΛࢀরʣɻ
 ଞͷϝϯόʔ͸ͦͷ্ʹจॻΛ৐ͤͨɻ ΞʔΩςΫτ͕શͯΛ೺Ѳ͍ͯ͠ΔͷͰɺͦͷਓ෺ʹ࣭໰͢Ε͹ྑ͍ɻ
 ݒ೦ࣄ߲͸௚઀ҙݟΛ఻͑΍͍͢ɻͦͷͨΊͷSlackνϟϯωϧΛઃ͚ͨɻ ɹΞʔΩςΫτνʔϜ

Slide 55

Slide 55 text

υΩϡϝϯτߏ੒͸૊৫Λ൓ө͢Δɻ
 ۀ຿ʢΛඪ४Խͨ͠จॻʣʹ߹ΘͤΔͷͰ͸ͳ͘ɺ૊৫ʹ߹Θͤͨۀ຿͕ܗ੒͞Ε͕ͪɻ ֤ॴͷۀ຿ΛώΞϦϯάͯ͠ɺશମͰͷҐஔ෇͚Λ੔ཧ͠ͳ͕ΒจॻԽͨ͠ɻ
 ՄೳͳൣғͰυΩϡϝϯτʢඪ४Խ͞Εͨۀ຿ʣʹ૊৫Λ߹Θͤͨɻ ྫɿϞδϡʔϧผ୲౰ͩͬͨ։ൃମ੍ΛɺαϒγεςϜ͝ͱʹ෼͚ͨɻ
 iOS୲౰ɾAndroid୲౰ → ϓϩμΫτA୲౰ɾϓϩμΫτB୲౰ɻΫϩεϑΝϯΫγϣφϧɻ
 ػೳ௥Ճ΍࢓༷ௐࠪʢۀ຿ʣ͸αϒγεςϜ͝ͱʹͳ͞ΕΔͨΊɻ ɹConwayͷ๏ଇ

Slide 56

Slide 56 text


 ʢυΩϡϝϯτͳͷͰʣจॻతෛ࠴ɻ͋Δ͍͸஌ࣝతෛ࠴ɻ
 ඞͣൃੜ͢Δɻ์ஔ͢Ε͹ฦࡁίετ͕ঃʑʹ૿Ճ͢Δɻ ྫʣ૊৫ͷมԽͷεϐʔυ͕ૣ͗͢ΔͱɺҙࢥܾఆʹυΩϡϝϯτԽ͕ؒʹ߹Θͳ͘ͳΔ - ܾΊͨ͜ͱΛॻ͖๨ΕΔ
 - ͋ͬͱ͍͏ؒʹ৘ใ͕ݹ͘ͳΔ
 - ΑΓྑ͍ߏ੒Λࢥ͍ͭ͘
 ɹٕज़తෛ࠴

Slide 57

Slide 57 text

ۀ຿ͷxx%ΛυΩϡϝϯτԽʹ౰ͯΔɻ
 ࡞ۀ࣌ؒʢຖिX༵೔ͷX࣌ʙX࣌͸υΩϡϝϯτͷ࣌ؒʣ΍
 ઐ೚ऀʢ૊৫ύλʔϯʮςΫχΧϧϥΠλʔʯʣΛઃ͚Δͷ͸ɺݱ৔ʹΑͬͯ͸೉͍͠ɻ ͦ͜Ͱ։ൃ޻ఔ಺ʹυΩϡϝϯτԽͷ࡞ۀΛ໌ࣔతʹ૊ΈࠐΜͩɻ - ཁ݅ఆٛ΍ઃܭͷΞ΢τϓοτͱͯ͠
 - ੡଄΍ςετͷ͋ͱͷৼΓฦΓʢ஌ݟల։ʣͱͯ͠ ɹϙʔτϑΥϦΦ

Slide 58

Slide 58 text

ʢυΩϡϝϯτͳͷͰʣϥΠςΟϯάΛଅ͢ɻ SlackɺGithubͷPull Requestɺଧͪ߹ΘͤɻจॻԽͨ͠ํ͕ྑ͍಺༰͸ɺ
 ϝϯόʔʹ௚઀ʮυΩϡϝϯτԽ͍ͯͩ͘͠͞ʂʯΛϓογϡɻ ࠷ॳͷࠒ͸1೔ʹ20ճ͘Β͍ґཔͨ͠ɻ
 ࣗൃతʹॻ͍ͯ͘ΕΔΑ͏ʹͳͬͨΒKPTͰײँͯ͠ɺঃʑʹϑΣʔυΞ΢τɻ ɹίʔσΟϯάΛଅ͢

Slide 59

Slide 59 text

Pull RequestͰͷίʔυϨϏϡʔΛ௨ͯ͠ɺϙϦγʔΛਐԽɾਁಁͤ͞Δͷͱಉ͡ɻ
 Confluenceͷߋ৽಺༰ΛසൟʹνΣοΫͯ͠
 
 1. υΩϡϝϯτΛ࡞੒ɾߋ৽ͯ͘͠Εͨ͜ͱʹײँ͢Δ
 2. ͜ͷهड़͸͜͜ʹஔ͘ͱྑͦ͞͏Ͱ͕͢ɺͲ͏ࢥ͍·͔͢ʁͱ͍͏ܗͰ૬ஊ͢Δ
 3.ʮ͜͏͍͏ߏ੒ͩͱRead/Write͠΍͍͢ʯೝࣝΛ߹ΘͤΔ
 ঃʑʹϝϯόʔ͕υΩϡϝϯτߏ੒Λҙࣝͯ͘͠ΕΔΑ͏ʹͳͬͨɻ
 ʢ˞ϨϏϡʔͱݴ͑Ͳԡ͠෇͚Ͱ͸ͳ͘૬ஊɻݱ৔ʹଈͨ͠ҙݟΛग़ͤΔͷ͸ݱ৔ͷϝϯόʔɻʣ ɹίʔυϨϏϡʔ

Slide 60

Slide 60 text

ؾ෇͍ͨਓ͕υΩϡϝϯτΛ៉ྷʹ͍ͯ͘͠ɻ
 ʮυΩϡϝϯτΛ։͍ͨͱ͖ΑΓ΋ɺด͡Δͱ͖ͷํ͕඼্࣭͕͕͍ͬͯΔঢ়ଶʯΛ໨ࢦ͢ɻ
 ʮΞʔΩςΫτνʔϜʯʹΑΔগ਺ͷ੔උ͸࠷ॳ͚ͩɻ
 ʮٕज़తෛ࠴ʯʹରԠ͠ଓ͚ͳ͚Ε͹ͳΒͳ͍ɻ
 ϝϯόʔʹΑΔʮܧଓతσϦόϦʔ/ΠςϨʔγϣϯʯ͕ඞཁɻ
 ͦͷͨΊͷ1൪γϯϓϧ͔ͭॏཁͳݪଇ͕ʮϘʔΠεΧ΢τʯɻ ɹϘʔΠεΧ΢τ

Slide 61

Slide 61 text

3ճࢀর͞Εͨ৘ใ͸ɺݸਓϑΥϧμ͔ΒશମϑΥϧμʹҠ͢ʢڞ௨Խ͢Δʣɻ ৽υΩϡϝϯτͷ࡞੒࣌ɺ࠷ॳ͔Βۀ຿શମʹ͓͚ΔҐஔ෇͚͕໌֬ͱ͸ݶΒͳ͍ɻ
 ͦ͜ͰʢInboxతʹʣؾܰʹ౤ߘͰ͖ΔΑ͏ʹɺݸਓσΟϨΫτϦΛ࡞੒ͨ͠ɻ
 ͦͷ୅ΘΓɺଞͷਓ͕3ճࢀরͨ͠ΒɺϝΠϯͷߏ੒ʹࡌͤΔӡ༻ͱͨ͠ɻ *ϩʔΧϧPC΍಄ͷதʹ͔͠৘ใ͕ͳ͍ঢ়ଶ͕1൪μϝɻଞϝϯόʔ͕ࢀরͰ͖ͳ͍͔Βɻ
 *3ճࢀর͞ΕΔͱɺ͋Δఔ౓͸ۀ຿શମʹ͓͚ΔҐஔ෇͚͕ݟ͑ͯ͘Δɻ ɹRule of three

Slide 62

Slide 62 text

υΩϡϝϯτͷ༻్Λ੔ཧ͢Δͱ͜Ζ͔ΒɺઃܭΛ࢝ΊΔɻ Ͳ͏͍͏৔໘ͰʮυΩϡϝϯτԽ͞Ε͍ͯΕ͹ʯ
 ʮυΩϡϝϯτ͕͙͢ݟ͔ͭΕ͹ʯͱࢥͬͨͩΖ͏͔ʁ ※ʮϖΞʯ΍ʮϞϒʯͱ૊Έ߹ΘͤΔͱޮՌతʹ෼ੳͰ͖Δ ɹϢʔεέʔε෼ੳ

Slide 63

Slide 63 text

ɹϦϑΝΫλϦϯά - Before A1ϖʔδ
 
 - content_aaa1
 - content_aa11 TOPϖʔδ
 
 - content_top1
 - content_top2 A2ϖʔδ
 
 - content_aaa2
 - content_aa22 A3ϖʔδ
 
 - content_aaa3
 - content_aa33 ϒοΫϚʔΫ΍
 طଘϦϯΫ

Slide 64

Slide 64 text

AsIsͷϖʔδ͸DEPRECAREDͱͯ͠τοϓԼʹ੾Γग़͢ ɹϦϑΝΫλϦϯά - WIPᶃ A1ϖʔδ
 
 - content_aaa1
 - content_aa11 DEPRECATED
 
 - content_top1
 - content_top2 A2ϖʔδ
 
 - content_aaa2
 - content_aa22 A3ϖʔδ
 
 - content_aaa3
 - content_aa33 TOPϖʔδ
 


Slide 65

Slide 65 text

AsIsͷϖʔδ͸DEPRECAREDͱͯ͠τοϓԼʹ੾Γग़͢ ɹϦϑΝΫλϦϯά - WIPᶃ A1ϖʔδ
 
 - content_aaa1
 - content_aa11 DEPRECATED
 
 - content_top1
 - content_top2 A2ϖʔδ
 
 - content_aaa2
 - content_aa22 A3ϖʔδ
 
 - content_aaa3
 - content_aa33 TOPϖʔδ
 
 ϒοΫϚʔΫ΍
 طଘϦϯΫ ͜͜ʹߦ͖͍ͨ ҰԠσΟϨΫτϦ͸਌ࢠؔ܎ ͜ͷۭനϖʔδ͸Կʁ

Slide 66

Slide 66 text

τοϓϖʔδʹʮաڈͷτοϓϖʔδ͸ͪ͜ΒʯͱDEPRECATEDϖʔδ΁ͷϦϯΫΛ༻ҙ ɹϦϑΝΫλϦϯά - WIPᶄ A1ϖʔδ
 
 - content_aaa1
 - content_aa11 DEPRECATED
 
 - content_top1
 - content_top2 A2ϖʔδ
 
 - content_aaa2
 - content_aa22 A3ϖʔδ
 
 - content_aaa3
 - content_aa33 TOPϖʔδ
 
 աڈTOP͸ͪ͜Β ϒοΫϚʔΫ΍
 طଘϦϯΫ

Slide 67

Slide 67 text

ToBeͷϖʔδߏ੒ΛτοϓԼʹల։ ɹϦϑΝΫλϦϯά - WIPᶅ A1ϖʔδ
 
 - content_aaa1
 - content_aa11 DEPRECATED
 
 - content_top1
 - content_top2 A2ϖʔδ
 
 - content_aaa2
 - content_aa22 A3ϖʔδ
 
 - content_aaa3
 - content_aa33 TOPϖʔδ
 
 աڈTOP͸ͪ͜Β B1ϖʔδ
 
 B2ϖʔδ
 
 B3ϖʔδ
 


Slide 68

Slide 68 text

AsIsίϯςϯπΛToBeϖʔδʹ੾ΓషΓ͢Δ ɹϦϑΝΫλϦϯά - WIPᶆ A1ϖʔδ
 
 - content_aaa1
 - content_aa11 DEPRECATED
 
 - content_top1
 - content_top2 A2ϖʔδ
 
 - content_aaa2
 - content_aa22 A3ϖʔδ
 
 - content_aaa3
 - content_aa33 TOPϖʔδ
 
 աڈTOP͸ͪ͜Β B1ϖʔδ
 
 B2ϖʔδ
 
 B3ϖʔδ
 


Slide 69

Slide 69 text

AsIsίϯςϯπΛToBeϖʔδʹ੾ΓషΓ͢Δ ɹϦϑΝΫλϦϯά - WIPᶆ A1ϖʔδ
 
 - [empty]
 - content_aa11 DEPRECATED
 
 - content_top1
 - content_top2 A2ϖʔδ
 
 - content_aaa2
 - [empty] A3ϖʔδ
 
 - content_aaa3
 - content_aa33 TOPϖʔδ
 
 աڈTOP͸ͪ͜Β B1ϖʔδ
 
 - content_aaa1
 - content_aa22 B2ϖʔδ
 
 B3ϖʔδ
 


Slide 70

Slide 70 text

AsIsίϯςϯπΛToBeϖʔδʹ੾ΓషΓ͢Δ ɹϦϑΝΫλϦϯά - WIPᶆ A1ϖʔδ
 
 - [empty]
 - content_aa11 DEPRECATED
 
 - content_top1
 - content_top2 A3ϖʔδ
 
 - content_aaa3
 - content_aa33 TOPϖʔδ
 
 աڈTOP͸ͪ͜Β B2ϖʔδ
 
 B3ϖʔδ
 
 ϒοΫϚʔΫ΍
 طଘϦϯΫ A2ϖʔδ
 
 - content_aaa2
 - [empty] B1ϖʔδ
 
 - content_aaa1
 - content_aa22 ফ͑ͯΔʂʁ ඞཁͳ৘ใ

Slide 71

Slide 71 text

ݩͷϖʔδʹ͸৽ϖʔδ΁ͷࢀরͷΈ࢒͢ ɹϦϑΝΫλϦϯά - WIPᶇ A1ϖʔδ
 
 - [empty]
 - content_aa11 DEPRECATED
 
 - content_top1
 - content_top2 A3ϖʔδ
 
 - content_aaa3
 - content_aa33 TOPϖʔδ
 
 աڈTOP͸ͪ͜Β B2ϖʔδ
 
 B3ϖʔδ
 
 ϒοΫϚʔΫ΍
 طଘϦϯΫ A2ϖʔδ
 
 - content_aaa2
 - XXʹҠసࡁΈ B1ϖʔδ
 
 - content_aaa1
 - content_aa22

Slide 72

Slide 72 text

AsIsίϯςϯπΛToBeϖʔδʹ੾ΓషΓ͢Δ ɹϦϑΝΫλϦϯά - WIPᶈ A1ϖʔδ
 
 - moved to B1
 - content_aa11 DEPRECATED
 
 - content_top1
 - content_top2 A2ϖʔδ
 
 - content_aaa2
 - moved to B1 A3ϖʔδ
 
 - content_aaa3
 - content_aa33 TOPϖʔδ
 
 աڈTOP͸ͪ͜Β B1ϖʔδ
 
 - content_aaa1
 - content_aa22 B2ϖʔδ
 
 B3ϖʔδ
 


Slide 73

Slide 73 text

AsIsίϯςϯπΛToBeϖʔδʹ੾ΓషΓ͢Δ ɹϦϑΝΫλϦϯά - WIPᶈ A1ϖʔδ
 
 - moved to B1
 - moved to B2 DEPRECATED
 
 - content_top1
 - content_top2 A2ϖʔδ
 
 - content_aaa2
 - moved to B1 A3ϖʔδ
 
 - content_aaa3
 - content_aa33 TOPϖʔδ
 
 աڈTOP͸ͪ͜Β B1ϖʔδ
 
 - content_aaa1
 - content_aa22 B2ϖʔδ
 
 - content_aa11 B3ϖʔδ
 


Slide 74

Slide 74 text

AsIsίϯςϯπΛToBeϖʔδʹ੾ΓషΓ͢Δ ɹϦϑΝΫλϦϯά - WIPᶈ A1ϖʔδ
 
 - moved to B1
 - moved to B2 DEPRECATED
 
 - content_top1
 - content_top2 A2ϖʔδ
 
 - content_aaa2
 - moved to B1 A3ϖʔδ
 
 - content_aaa3
 - content_aa33 TOPϖʔδ
 
 աڈTOP͸ͪ͜Β B1ϖʔδ
 
 - content_aaa1
 - content_aa22 B2ϖʔδ
 
 - content_aa11 B3ϖʔδ
 


Slide 75

Slide 75 text

AsIsίϯςϯπΛToBeϖʔδʹ੾ΓషΓ͢Δ B3ϖʔδ
 
 - content_aaa2
 - content_aaa3
 - content_aa33 ɹϦϑΝΫλϦϯά - WIPᶈ A1ϖʔδ
 
 - moved to B1
 - moved to B2 DEPRECATED
 
 - content_top1
 - content_top2 A2ϖʔδ
 
 - moved to B3
 - moved to B1 A3ϖʔδ
 
 - moved to B3
 - moved to B3 TOPϖʔδ
 
 աڈTOP͸ͪ͜Β B1ϖʔδ
 
 - content_aaa1
 - content_aa22 B2ϖʔδ
 
 - content_aa11

Slide 76

Slide 76 text

AsIsίϯςϯπΛToBeϖʔδʹ੾ΓషΓ͢Δ B3ϖʔδ
 
 - content_aaa2
 - content_aaa3
 - content_aa33 ɹϦϑΝΫλϦϯά - WIPᶈ A1ϖʔδ
 
 - moved to B1
 - moved to B2 DEPRECATED
 
 - content_top1
 - content_top2 A2ϖʔδ
 
 - moved to B3
 - moved to B1 A3ϖʔδ
 
 - moved to B3
 - moved to B3 TOPϖʔδ
 
 աڈTOP͸ͪ͜Β B1ϖʔδ
 
 - content_aaa1
 - content_aa22 B2ϖʔδ
 
 - content_aa11

Slide 77

Slide 77 text

AsIsίϯςϯπΛToBeϖʔδʹ੾ΓషΓ͢Δ B3ϖʔδ
 
 - content_aaa2
 - content_aaa3
 - content_aa33 ɹϦϑΝΫλϦϯά - WIPᶈ A1ϖʔδ
 
 - moved to B1
 - moved to B2 DEPRECATED
 
 - moved to TOP A2ϖʔδ
 
 - moved to B3
 - moved to B1 A3ϖʔδ
 
 - moved to B3
 - moved to B3 TOPϖʔδ
 - content_top1
 - content_top2
 - աڈTOP͸ͪ͜Β B1ϖʔδ
 
 - content_aaa1
 - content_aa22 B2ϖʔδ
 
 - content_aa11

Slide 78

Slide 78 text

AsIsίϯςϯπΛToBeϖʔδʹ੾ΓషΓ͢Δ B3ϖʔδ
 
 - content_aaa2
 - content_aaa3
 - content_aa33 ɹϦϑΝΫλϦϯά - WIPᶈ A1ϖʔδ
 
 - moved to B1
 - moved to B2 DEPRECATED
 
 - moved to TOP A2ϖʔδ
 
 - moved to B3
 - moved to B1 A3ϖʔδ
 
 - moved to B3
 - moved to B3 TOPϖʔδ
 - content_top1
 - content_top2
 - աڈTOP͸ͪ͜Β B1ϖʔδ
 
 - content_aaa1
 - content_aa22 B2ϖʔδ
 
 - content_aa11 ϒοΫϚʔΫ΍
 طଘϦϯΫ গͣͭ͠ීٴ ·ͩࢀর

Slide 79

Slide 79 text

AsIsίϯςϯπΛToBeϖʔδʹ੾ΓషΓ͢Δ B3ϖʔδ
 
 - content_aaa2
 - content_aaa3
 - content_aa33 ɹϦϑΝΫλϦϯά - WIPᶈ A1ϖʔδ
 
 - moved to B1
 - moved to B2 DEPRECATED
 
 - moved to TOP A2ϖʔδ
 
 - moved to B3
 - moved to B1 A3ϖʔδ
 
 - moved to B3
 - moved to B3 TOPϖʔδ
 - content_top1
 - content_top2
 - աڈTOP͸ͪ͜Β B1ϖʔδ
 
 - content_aaa1
 - content_aa22 B2ϖʔδ
 
 - content_aa11 ϒοΫϚʔΫ΍
 طଘϦϯΫ গͣͭ͠ීٴ ΄ͱΜͲݟͳ͍

Slide 80

Slide 80 text

͋Δఔ౓ීٴͨ͠ΒݩϖʔδΛ࡟আ͢Δ B3ϖʔδ
 
 - content_aaa2
 - content_aaa3
 - content_aa33 ɹϦϑΝΫλϦϯά - After TOPϖʔδ
 
 - content_top1
 - content_top2 B1ϖʔδ
 
 - content_aaa1
 - content_aa22 B2ϖʔδ
 
 - content_aa11 ϒοΫϚʔΫ΍
 طଘϦϯΫ ΄ͱΜͲͬͪ͜

Slide 81

Slide 81 text

ϖΞʹΑΔυΩϡϝϯςʔγϣϯ͸ແବΛ࡟ݮ͢Δɻ 
 
 ୲౰ऀ͸ࣗ෼ͷۀ຿ΛͲ͏ॻ͖ग़ͤ͹ྑ͍͔෼͔Βͳ͍ɻ
 ͢Ͱʹࣗ෼ͷதͰ͸্ख͘ճͬͯ͠·͍ͬͯΔʢΑ͏ʹݟ͑ΔʣͷͰɺ
 ʮͲΜͳ৘ใ͕Ͳ͜ʹ͋Ε͹ɺଞͷϝϯόʔ͕࢖͍΍͍͔͢ʯΛ૝૾Ͱ͖ͳ͍ɻ ͦ͜Ͱɺଞͷϝϯόʔ͕ྡʹ࠲ͬͯɺ࡞ۀΛר͖औΓͳ͕ΒώΞϦϯά͢Δɻ
 ͦͷաఔͰʮXXͰࠔΔ͔ΒXXΛ஌Γ͍ͨʯͷϢʔεέʔε͕ఏࣔ͞ΕΔ͜ͱʹͳΔɻ
 ࣭໰Λͱ͔͔ͬΓʹͯ͠ɺ҉໧ͷ஌ࣝΛද૚Խ͢Δɻ ɹϖΞϓϩάϥϛϯά

Slide 82

Slide 82 text

ؔ܎ऀશһʹΑΔυΩϡϝϯςʔγϣϯ͸ແବΛ࡟ݮ͢Δɻ ·ͣ͸ؔ܎ऀͰू·ͬͯݱঢ়ͷۀ຿ΛՄࢹԽ͢Δɻ
 A͞ΜͱB͞Μͷ΍Γํ͕ҧ͏ͷͰ͋Ε͹ɺཧ༝ɾഎܠ·Ͱͦͷ৔Ͱચ͍ग़͢ɻ
 A͞Μํࣜ/B͞ΜํࣜͷϝϦοτɾσϝϦοτΛݩʹϧʔϧΛ߹ҙ͢Δɻ
 ͦͷ··࿩͠߹͍ͷ಺༰Λɺۀ຿ϑϩʔͱͯ͠υΩϡϝϯτԽ͢Δɻ
 ϦϦʔεखॱ΍ϒϥϯνઓུͳͲͷϧʔϧ࡞Γʹద༻ͨ͠ɻ
 શһͰ1౓ೝ͕ࣝ߹͏͜ͱͰɺͦͷޙͷ૬ஊ͕͠΍͘͢ͳΔɻ ɹϞϒϓϩάϥϛϯά

Slide 83

Slide 83 text

1. จԽΛ͍͔ʹఆணͤ͞Δ͔ 2. ํ๏࿦Λ͍͔ʹମܥԽ͢Δ͔ 3. ύϑΥʔϚϯεͱอकੑͷτϨʔυΦϑ ɹAppendix 2 - ࠓޙͷ՝୊

Slide 84

Slide 84 text

ɹະղܾᶃɿจԽΛఆணͤ͞Δ ࢛൒ظ͝ͱʹϝϯόʔ͕ഒ૿͍ͯ͠Δɻ 
 ߟ͑ํ͕਎ʹ͍͍ͭͯΔˍೲಘ͍ͯ͠Δϝϯόʔͱ
 ͦ͏Ͱͳ͍৽نϝϯόʔͱͰɺυΩϡϝϯτԽ΁ͷऔΓ૊Έʹ͕ࠩ͋Δɻ 
 Ͳ͏ͨ͠ΒจԽΛอͯΔͩΖ͏͔ʁ

Slide 85

Slide 85 text

ɹະղܾᶄɿํ๏࿦ΛମܥԽ͢Δ ʮυΩϡϝϯτΛίʔυͷΑ͏ʹѻ͏ͨΊͷύλʔϯʯ͸ɺ·ͩίϯηϓτஈ֊ɻ
 ʢDocument as Code / Document Design Patternʣ
 
 ϊ΢ϋ΢ΛମܥԽͯ͠ଞ૊৫ʹల։͢Δʹ͸
 ʢor ଞ૊৫͔ΒޮՌతʹֶͿʹ͸ʣͲ͏ͨ͠Βྑ͍ͩΖ͏͔ʁ

Slide 86

Slide 86 text

ɹະղܾᶅɿύϑΥʔϚϯε vs อकੑ ݱ୅ͷςΫϊϩδʔʹ͓͍ͯɺ͜ͷ֓೦ͷ࣮຿ద༻ʹ͸ݶք͕͋Δɻ
 ର৅͕ࣗવݴޠʴϓϩηε࣮ߦϢʔβʔ͕ਓؒͷͨΊɻ ྫʣ୹ظతύϑΥʔϚϯεͱอकੑ͸໌Β͔ʹτϨʔυΦϑͰ͋Δɻ
 ґଘؔ܎Λపఈ෼ղ͢Δͱɺ30ͷϖʔδ͕Ͱ͖Δ͜ͱ΋͋ΔͩΖ͏ɻ
 ͔͠͠ɺ30ͷจॻΛݟͳ͕Β࢓ࣄΛͰ͖ΔͩΖ͏͔ɻਓؒͷ೴಺ϫʔΩϯάϝϞϦ͸े෼ʹػೳ͢ΔͩΖ͏͔ɻ υΩϡϝϯτ͸ίϯύΠϧͰ͖ͳ͍ɻࢀরՕॴʹγϣʔτΧοτδϟϯϓͰ͖ͳ͍ɻgrepʹجͮ͘Ұ੪ॻ͖௚͠΋Ͱ͖ͳ͍ɻ
 ίʔυͷΑ͏ʹѻ͏ʢas Codeʣʹ͸ɺ݀ͷଟ͍֓೦ͩͱݴΘ͟ΔΛ͑ͳ͍ɻ ͜ͷ֓೦ͷద༻ൣғ͸ɺͲ͔͜ΒͲ͜·ͰͩΖ͏ʁ
 ʢ*RedPenʹΑΔߏจνΣοΫͳͲͷؔ࿈ςΫϊϩδʔ͕ਐԽ͢Ε͹޿͕ΔͩΖ͏͔ʁʣ

Slide 87

Slide 87 text


 ɹɹɹL શମ޿ใ
 
 ɹɹɹL Ϗδωεɹ# ઓུɺKGI/KPI
 ɹɹɹL Ϧιʔεɹ# ώτɺϞϊɺΧωɺ৘ใʢ৽نϝϯόʔͷJoinϝχϡʔ΍ΤϯδχΞϨδϡϝ͸ʮώτʯͷԼʣ
 ɹɹɹL γεςϜɹ# ΞϓϦ΍Πϯϑϥͷߏ੒ͳͲʢ͋͘·Ͱ΋ϩθολετʔϯʣ
 
 ɹɹɹL ࢪࡦɹɹɹ# ϓϩμΫτɾγεςϜɾϓϩηεΛվળ͢Δࢪࡦ
 ɹɹɹL ӡ༻ɹɹɹ# ΧελϚʔαϙʔτɺϓογϡ௨஌ͷ഑৴ɺΠϯϑϥอकͱ͍ͬͨݸผ࡞ۀ
 
 ɹɹɹL ϓϩηεɹ# ཱҊ͔ΒՁ஋૑ग़·ͰͷόϦϡʔετϦʔϜʢˠ KPTΛ௨ͯ͠վળ͢Δʣ
 ɹɹɹL Πϕϯτɹ# ఆظతͳଧͪ߹Θͤ΍ࢦඪ֬ೝʢˠ ૊৫શମͰՄࢹԽ͢Δͱॏෳ΍ແବ͕໨ཱͭΑ͏ʹͳΔʣ
 
 ɹɹɹL ݸਓɹɹɹ# Inbox୅ΘΓ ɹAppendix 3 - ࠾༻ͨ͠σΟϨΫτϦߏ੒