Slide 1

Slide 1 text

実践RailsΞϓϦέʔγϣϯ設計 .FFUVQGPS3BJMTFOHJOFFST ϦϯΧʔζגࣜձࣾ େՏݪ म !FYQBKQ

Slide 2

Slide 2 text

͜ͷൃදͷϞνϕʔγϣϯ Ұൠతͳ3BJMTΞϓϦέʔγϣϯઃܭΛ ѻͬͨυΩϡϝϯτ͸গͳ͍ 

Slide 3

Slide 3 text

Ұൠతιϑτ΢ΣΞ։ൃͷྲྀΕ ཁ݅ఆٛ ֎෦ઃܭ ಺෦ઃܭ ࣮૷ ςετ ӡ༻ 

Slide 4

Slide 4 text

Ұൠతιϑτ΢ΣΞ։ൃͷྲྀΕ ཁ݅ఆٛ ֎෦ઃܭ ಺෦ઃܭ ࣮૷ ςετ ӡ༻ ॻ੶ɺ8FCͱ΋ʹ ࢿྉ͕ॆ࣮ 8FC্ʹ ࢿྉ͕ॆ࣮ 

Slide 5

Slide 5 text

Ұൠతιϑτ΢ΣΞ։ൃͷྲྀΕ ཁ݅ఆٛ ֎෦ઃܭ ಺෦ઃܭ ࣮૷ ςετ ӡ༻ ॻ੶ɺ8FCͱ΋ʹ ࢿྉ͕ॆ࣮ 8FC্ʹ ࢿྉ͕ॆ࣮ ॻ੶͕ॆ࣮ ந৅తͳ಺༰͕ ଟ͍ 

Slide 6

Slide 6 text

ઃܭϑΣʔζͷࢿྉ w ઃܭϑΣʔζͷϑϩʔΛ၆ᛌͯ͠ ྲྀΕʹ͍ͭͯޠͬͨࢿྉ͸গͳ͍ r ٯʹʮΦϒδΣΫτநग़ʯʮ໊෇͚ʯͳͲɺ ݸผͷϑΣʔζʹ͍ͭͯ࿩ͨ͠ࢿྉ͸ଟ͘ ݟ͔ͭΔ 

Slide 7

Slide 7 text

͜ͷൃදͷ໨త w ʮ3BJMTΛඪ४తʹ࢖ͬͯػೳ௥ՃΛ͢Δʯ ৔߹ͷઃܭͷྲྀΕΛ঺հ r طଘΞϓϦ΁ͷ৽ػೳ௥ՃΛͨ͠ۀ຿ܦݧΛ࿩͢ w ʮී௨ͷ͜ͱΛաෆ଍ͳ͘΍Δʯ͜ͱͷ େ੾͞Λ఻͍͑ͨ r มΘͬͨςΫχοΫ͸ग़͖ͯ·ͤΜ 

Slide 8

Slide 8 text

͜ͷൃදͷߏ੒ w ֎෦ઃܭɺ಺෦ઃܭͷྲྀΕΛͦΕͧΕઆ໌ r લϑΣʔζͷΞ΢τϓοτ͕ ࣍ϑΣʔζͷΠϯϓοτʹͳΔΑ͏ʹߏ੒ w ಺෦ઃܭ͸ৄ͘͠࿩͢ r ईͷ౎߹Ͱɺ֎෦ઃܭ͸৮ΕΔఔ౓ʹ 

Slide 9

Slide 9 text

࣮ࡍʹ௥Ճͨ͠৽ػೳ w ΞϓϦ಺ʹόϥόϥʹଘࡏ͍ͯ͠Δ ๏ਓͷ৘ใΛҰݩ؅ཧ͢Δػೳ 

Slide 10

Slide 10 text

࣮ࡍʹ௥Ճͨ͠৽ػೳ ๏ਓͷ৘ใΛผʑʹ͍࣋ͬͯΔ 

Slide 11

Slide 11 text

࣮ࡍʹ௥Ճͨ͠৽ػೳ w ΞϓϦέʔγϣϯ಺ʹόϥόϥʹଘࡏͯ͠ ͍Δ๏ਓͷ৘ใΛҰݩ؅ཧ͢Δػೳ r ൃ஫৘ใ΍ड஫ީิ৘ใͱ๏ਓΛඥ෇͚Δ r डൃ஫σʔλ͕࡞੒͞Εͨ࣌఺Ͱɺ ඥ෇͚࡞ۀ͕ߦ͑ΔΑ͏ʹ͢Δ 

Slide 12

Slide 12 text

֎෦ઃܭ ཁ݅ఆٛ ֎෦ઃܭ ಺෦ઃܭ ࣮૷ ςετ ӡ༻ 

Slide 13

Slide 13 text

֎෦ઃܭͷྲྀΕ Ϣʔεέʔε நग़ ը໘ઃܭ ը໘ભҠઃܭ Ϣʔεέʔε هड़࡞੒ 

Slide 14

Slide 14 text

Ϣʔεέʔεهड़ͷྫ w ๏ਓؔ࿈σʔλΛ๏ਓʹඥ෇͚Δ r ৽ن๏ਓඥ෇͚ը໘Λ։͘ r ֘౰ͷ๏ਓؔ࿈σʔλΛݟ͚ͭɺʮ๏ਓඥ෇͚ʯྻʹ͋Δʮ։͘ʯ ϦϯΫΛΫϦοΫ͢Δ r ๏ਓඥ෇͚ը໘ʹભҠ͢Δ r ඥ෇͚͍ͨ๏ਓΛɺ*%ɾ๏ਓ໊ɾॴࡏ஍͔Βݕࡧ͢Δ r ඥ෇͚͍ͨ๏ਓͷϥδΦϘλϯʹνΣοΫΛೖΕɺʮඥ෇͚ʯϘλ ϯΛΫϦοΫ͢Δ w ҟৗܥɿʮΩϟϯηϧʯΛԡ͢ͱϞʔμϧ΢Οϯυ΢͕ด͡Δ r ৽ن๏ਓඥ෇͚ը໘ʹ໭Γɺʮ๏ਓؔ࿈σʔλͷඥ෇͚͕ߦΘΕ· ͨ͠ʯͱදࣔ͞ΕΔ 

Slide 15

Slide 15 text

಺෦ઃܭ ཁ݅ఆٛ ֎෦ઃܭ ಺෦ઃܭ ࣮૷ ςετ ӡ༻ 

Slide 16

Slide 16 text

಺෦ઃܭͷྲྀΕ ΦϒδΣΫτ நग़ &3ਤ ࡞੒ ໊෇͚ ໊લۭؒͱ ίϯτϩʔϥઃܭ 

Slide 17

Slide 17 text

಺෦ઃܭͷྲྀΕ ΦϒδΣΫτ நग़ &3ਤ ࡞੒ ໊෇͚ ໊લۭؒͱ ίϯτϩʔϥઃܭ ࿩͢ͷ͸͜ͷ෦෼ 

Slide 18

Slide 18 text

ΦϒδΣΫτͷநग़ w ໨తɿϢʔεέʔεͷதʹ͋Δ֓೦Λɺ ΦϒδΣΫτͱͯ͠நग़͢Δ w Ϣʔεέʔεهड़ͷதͷ໊ࢺͱಈࢺΛநग़ r ໊ࢺ͸ΦϒδΣΫτͱϑΟʔϧυʹ෼ྨ r ಈࢺ͸ϝιουͱͯ͠ඥͮ͘ΦϒδΣΫτΛ ܾΊΔ r ը໘΍6*ཁૉͷ໊લɺ6*্ͷಈ࡞͸আ͘ 

Slide 19

Slide 19 text

໊ࢺͱಈࢺΛநग़ w ๏ਓؔ࿈σʔλΛ๏ਓʹඥ෇͚Δ r ৽ن๏ਓඥ෇͚ը໘Λ։͘ r ֘౰ͷ๏ਓؔ࿈σʔλΛݟ͚ͭɺʮ๏ਓඥ෇͚ʯྻʹ͋Δʮ։͘ʯ ϦϯΫΛΫϦοΫ͢Δ r ๏ਓඥ෇͚ը໘ʹભҠ͢Δ r ඥ෇͚͍ͨ๏ਓΛɺ*%ɾ๏ਓ໊ɾॴࡏ஍͔Βݕࡧ͢Δ r ඥ෇͚͍ͨ๏ਓͷϥδΦϘλϯʹνΣοΫΛೖΕɺʮඥ෇͚ʯϘλ ϯΛΫϦοΫ͢Δ w ҟৗܥɿʮΩϟϯηϧʯΛԡ͢ͱϞʔμϧ΢Οϯυ΢͕ด͡Δ r ৽ن๏ਓඥ෇͚ը໘ʹ໭Γɺʮ๏ਓؔ࿈σʔλͷඥ෇͚͕ߦΘΕ· ͨ͠ʯͱදࣔ͞ΕΔ 

Slide 20

Slide 20 text

໊ࢺͱಈࢺΛநग़ w ๏ਓؔ࿈σʔλΛ๏ਓʹඥ෇͚Δ r ৽ن๏ਓඥ෇͚ը໘Λ։͘ r ֘౰ͷ๏ਓؔ࿈σʔλΛݟ͚ͭɺʮ๏ਓඥ෇͚ʯྻʹ͋Δʮ։͘ʯ ϦϯΫΛΫϦοΫ͢Δ r ๏ਓඥ෇͚ը໘ʹભҠ͢Δ r ඥ෇͚͍ͨ๏ਓΛɺ*%ɾ๏ਓ໊ɾॴࡏ஍͔Βݕࡧ͢Δ r ඥ෇͚͍ͨ๏ਓͷϥδΦϘλϯʹνΣοΫΛೖΕɺʮඥ෇͚ʯϘλ ϯΛΫϦοΫ͢Δ w ҟৗܥɿʮΩϟϯηϧʯΛԡ͢ͱϞʔμϧ΢Οϯυ΢͕ด͡Δ r ৽ن๏ਓඥ෇͚ը໘ʹ໭Γɺʮ๏ਓؔ࿈σʔλͷඥ෇͚͕ߦΘΕ· ͨ͠ʯͱදࣔ͞ΕΔ 

Slide 21

Slide 21 text

໊ࢺ ๏ਓ ๏ਓؔ࿈ σʔλ *% ๏ਓ໊ ॴࡏ஍ 

Slide 22

Slide 22 text

໊ࢺͷؔ܎ͷ੔ཧ ๏ਓ ๏ਓؔ࿈ σʔλ *% ๏ਓ໊ ॴࡏ஍ ๏ਓ͕࣋ͭ 

Slide 23

Slide 23 text

໊ࢺͷؔ܎ͷ੔ཧ ๏ਓ ๏ਓؔ࿈ σʔλ *% ๏ਓ໊ ॴࡏ஍ डൃ஫ σʔλ ๏ਓͱ डൃ஫σʔλΛ ݁ͼ͚ͭΔ 

Slide 24

Slide 24 text

໊ࢺͷ෼ྨ ๏ਓ ๏ਓؔ࿈ σʔλ *% ๏ਓ໊ ॴࡏ஍ ΦϒδΣΫτ ϑΟʔϧυ 

Slide 25

Slide 25 text

ಈࢺͷ݁ͼ͚ͭ ๏ਓ ๏ਓؔ࿈ σʔλ ݕࡧ͢Δ ඥ෇͚Δ 

Slide 26

Slide 26 text

ಈࢺͷ݁ͼ͚ͭ ๏ਓ ๏ਓؔ࿈ σʔλ ݕࡧ͢Δ ඥ෇͚Δ ๏ਓΛݕࡧ͢Δ 

Slide 27

Slide 27 text

ಈࢺͷ݁ͼ͚ͭ ๏ਓ ๏ਓؔ࿈ σʔλ ݕࡧ͢Δ ඥ෇͚Δ ๏ਓؔ࿈σʔλ ๏ਓͱ݁ͼ͚ͭΔʁ 

Slide 28

Slide 28 text

ಈࢺͷ݁ͼ͚ͭ ๏ਓ ๏ਓؔ࿈ σʔλ ݕࡧ͢Δ ඥ෇͚Δ ๏ਓͱडൃ஫σʔλΛ ؔ࿈σʔλΛհͯ͠ ݁ͼ͚ͭΔ डൃ஫ σʔλ 

Slide 29

Slide 29 text

&3ਤͷ࡞੒ 

Slide 30

Slide 30 text

&3ਤͷ࡞੒ w ΦϒδΣΫτͲ͏͠ͷؔ܎Λ੔ཧ͢Δ r ରɺରଟɺଟରଟ r ਌ࢠؔ܎ w Ϟσϧ࣮૷ʹͦͷ··࢖͑ΔਤΛ໨ࢦ͢ 

Slide 31

Slide 31 text

&3ਤ w %SBXJP͕΂ΜΓ 

Slide 32

Slide 32 text

&3ਤ w Ϋϥεਤͷ୅ΘΓʹಈ࡞Λॻ͍ͯ΋ྑ͍ 

Slide 33

Slide 33 text

໊෇͚ 

Slide 34

Slide 34 text

ࢠᐌ͘ɺ໊લॏཁ ໊લॏཁ ը૾Ҿ༻ݩɿ :VLJIJSP.BUTVNPUPʢ!ZVLJIJSP@NBU[ʣ͞Μ 5XJUUFS IUUQTUXJUUFSDPNZVLJIJSP@NBU[ 

Slide 35

Slide 35 text

ͳͥ΍Δ͔ʁ w ͜ͷஈ֊Ͱ໊લΛܾΊΔ͜ͱͰɺ ͳΜͱͳܾ͘·໊ͬͨલͰօ͕ݺͿ ࣄଶΛ๷͙͜ͱ͕Ͱ͖Δ r ࠷௿ݶɺը໘ͱΦϒδΣΫτʹ໊લΛ෇͚Δ 

Slide 36

Slide 36 text

ͳͥ͜ͷλΠϛϯάͰ΍Δ͔ʁ w ΦϒδΣΫτɾϑΟʔϧυɾϝιου͕ நग़͞Ε্ͨͰ੔ཧ͞Εɺ ؔ܎͕໌Β͔ʹͳ͔ͬͨΒ ʹ֓೦͕੾Γ෼͚ΒΕ͔ͨΒ 

Slide 37

Slide 37 text

֓೦Λ੾Γ෼͚Δʹ໾ׂΛཧղ͢Δ ద੾ͳ໊લΛ͚ͭΒΕΔͱݴ͏͜ͱ͸ɺ ͦͷػೳ͕ਖ਼͘͠ཧղ͞Εͯɺઃܭ͞Ε͍ͯΔͱ͍͏͜ͱͰɺ ٯʹ;͞Θ໊͍͠લ͕͚ͭΒΕͳ͍ͱ͍͏͜ͱ͸ɺ ͦͷػೳ͕Ռͨ͢΂͖໾ׂΛઃܭऀࣗ਎΋े෼ཧղͰ͖͍ͯͳ͍ ͱ͍͏͜ͱͳͷͰ͸ͳ͍Ͱ͠ΐ͏͔ Ҿ༻ݩɿϓϩάϥϚ͕஌Δ΂͖ͷ͜ͱ r ໊લॏཁʢ.BU[ʣ IUUQTϓϩάϥϚ͕஌Δ΂͖ͷ͜ͱDPNΤοηΠ໊લॏཁ “ 

Slide 38

Slide 38 text

໊෇͚ͷ΍Γํ w ·ͣ͸։ൃऀͲ͏͠Ͱର৅ͷೝࣝ߹Θͤ r ԿΛ͢Δը໘͔ɺԿΛද͢ΦϒδΣΫτ͔ w શһ͕ೲಘ͢Δ౴͕͑ग़Δ·Ͱɺ ϒϨετΛ܁Γฦ͢ r ग़ͨ୯ޠ͕ͬ͘͠Γདྷͳ͍৔߹͸ γιʔϥεʢྨޠࣙయʣΛௐ΂Δ 

Slide 39

Slide 39 text

໊෇͚ͷ஫ҙ఺ w ӳޠͱ೔ຊޠͷ྆ํͰ໊લΛ෇͚͓ͯ͘ r ӳޠ͸ίʔυ಺ͷࠞཚ๷ࢭ r ೔ຊޠ͸ίϛϡχέʔγϣϯͷࠞཚ๷ࢭ w طଘίʔυʹଘࡏ͢Δ໊લͱॏෳ͠ͳ͍Α͏ ʹ͢Δ 

Slide 40

Slide 40 text

໊෇͚͕ऴΘͬͨΒ w ཁ݅ఆٛ࣌ʹͳΜͱͳ͘࢖ΘΕ໊͍ͯͨલΛ શഇ͢Δ r Ϗδωεଆʹ఻͑ͯ৽໊͍͠લΛపఈ͢Δͱ ໿ଋ͢Δ r ݹ໊͍લ͕࢖ΘΕ͍ͯͨΒ͍͍ͪͪగਖ਼͢Δ r Ϣʔεέʔεهड़ɺ&3ਤʹ൓ө͢Δ 

Slide 41

Slide 41 text

࣮ࡍʹ໊͍ͭͨલ "DUJWJUZ๏ਓؔ࿈σʔλ $PSQPSBUJPO๏ਓ 6OBTTPDJBUFE"DUJWJUZ  ඥ෇͚଴ͪ๏ਓؔ࿈σʔλ 3FBTTPDJBUFE3FRVFTU  ๏ਓؔ࿈σʔλඥ෇͚मਖ਼ґཔ 

Slide 42

Slide 42 text

಺෦ઃܭͷྲྀΕ ΦϒδΣΫτ நग़ &3ਤ ࡞੒ ໊෇͚ ໊લۭؒͱ ίϯτϩʔϥઃܭ 㾎 㾎 㾎 ࠓճ͸ׂѪ 

Slide 43

Slide 43 text

4DBGGPMEͰͻͳܗ࡞ͬͯ ։ൃ։࢝ 

Slide 44

Slide 44 text

͜ͷྲྀΕͰઃܭͨ݁͠Ռ w ։ൃத΋ӡ༻։࢝ޙ΋ɺϞσϧͷ࣮૷͕ ΩϨΠͳ··อͨΕ͍ͯΔ w Ϗδωεଆͱʮ໊લॏཁʯΛѲͬͨঢ়ଶͰ ։ൃΛਐΊΒΕͨ r ్தɺ໊લͷมߋ͕͋ͬͯ΋৽໊͍͠લΛ పఈͰ͖ͨ 

Slide 45

Slide 45 text

·ͱΊ w Ϣʔεέʔεهड़͔ΒΦϒδΣΫτΛநग़ ͯ͠ɺ&3ਤʹ੔ཧ͢Δ w ໊લॏཁɺඞ໊ͣ෇͚ΛڬΉ w ී௨ͷ͜ͱΛաෆ଍ͳ͘΍Δ