Slide 1

Slide 1 text

3BJMTͰ&$αʔϏεΛ θϩ͔Β࡞ͬͯΈͯ גࣜձࣾTQJDFMJGF $5045&&34ϓϩμΫτϚωʔδϟʔ੺দ༞ر

Slide 2

Slide 2 text

45&&34ʹ͍ͭͯ w ΦϦδφϧ5γϟπൢചαʔϏε w ը૾Ξοϓϩʔυ΍αʔϏε্ͷσβΠϯΤσΟλͰ5γϟπ ΛσβΠϯɾൢച w ઃఆͨ͠ൢചՁ֨ʹԠͯ͡஫จ͝ͱʹऩӹ͕ൃੜ

Slide 3

Slide 3 text

45&&34ʹ͍ͭͯ w ΦϦδφϧ5γϟπൢചαʔϏε w ը૾Ξοϓϩʔυ΍αʔϏε্ͷσβΠϯΤσΟλͰ5γϟπ ΛσβΠϯɾൢച w ઃఆͨ͠ൢചՁ֨ʹԠͯ͡஫จ͝ͱʹऩӹ͕ൃੜ

Slide 4

Slide 4 text

νʔϜߏ੒ w ϓϩμΫτϚωʔδϟʔ݉ΞϓϦέʔγϣϯΤϯδχΞ w Πϯϑϥ݉ΞϓϦέʔγϣϯΤϯδχΞ w σβΠφ

Slide 5

Slide 5 text

1E.ͱ։ൃऀ͕ಉҰਓ෺Ͱ͋ΔϝϦοτ w ҙࢥૄ௨ͷίετ͕େ෯ݮ w Ϗδωεͱ։ൃͱͰೝࣝͷҧ͍ͱ͍͏ͷ͕جຊతʹൃੜ͠ͳ ͍

Slide 6

Slide 6 text

ೝࣝҧ͍ͷൃੜͱ͸ w ྫ͑͹ w Ϗδωεଆͷࢥ࿭ʮͱΓ͋͑ͣ.71ͱͯ͠ϦϦʔεͯ͠ػೳͱͯ͠ඞཁ͔֬ ೝ͍ͨ͠ʯ w ։ൃଆͷࢥ࿭ʮͱ͘ʹԿ΋ݴΘΕͯͳ͍͠ɺ࡞ΓࠐΜͰ͠·͍͍ͬͯΜͩΖ ͏ʯ w Ϗδωεͱ։ൃͷར֐ͷෆҰகͱ͔΋͋Δ w Ϗδωε͸ച্΍ϦϦʔεεϐʔυΛؾʹ͢Δ͕ɺ։ൃଆ͸কདྷతʹࣗ෼ୡ ͕ۤ࿑͠ͳ͍͔Ͳ͏͔Λؾʹ͢Δ w ։ൃʮԾઆݕূ͕͏·͍ͬͨ͘Β࡞Γͳ͓࣌ؒ͢Λ࡞Δ͘ΕΔͱݴ͚ͬͨͲ ͍ͭ΋͘Εͳ͍΍Μ͚ʜʯ w ҆શࡦͰෛ࠴Λ࡞Γ͜·ͳ͍ํ਑ΛͱΓ͕ͪ

Slide 7

Slide 7 text

ಉҰਓ෺ͷ৔߹ w ෛ࠴ΛੵΉͱͯ͠΋ͲΕ͙Β͍ۤ࿑ͦ͠͏͔ɺϏδωεతʹ ࠓޙͲ͏͍ͨ͠ͷ͔ࣗ෼͕Θ͔͍ͬͯΔͷͰ൑அ͕ϥΫ w ۤ࿑͢Δͷ΋ࣗ෼ͳͷͰɺͦ͜Β΁Μʹର͢Δؾෛ͍͸͋· Γͳ͍

Slide 8

Slide 8 text

ͱ͸͍͑ʜ w ΍͸ΓϢʔβʔͷߦಈ͕ࣗ෼ͱ૝ఆ͠ͳ͍΋ͷͩͬͨΓ͢Δ ͷͰɺ༧ఆ֎ͷ࢓༷มߋ͕ൃੜ͢Δ w 45&&34ͷ৔߹ɺ࠷ॳ͸γϯϓϧʹճͷ஫จͰͻͱͭͷαΠ ζ͔͠ങ͑ͳ͔ͬͨ w ࣗ෼ͷ෼Λങ͏෼ʹ͸ࣗ෼ͷαΠζ͚ͩങ͑Ε͹Α͍ͱࢥͬ ͨ w ͚ͩͲ૝ఆ֎ʹෳ਺αΠζΛങ͍͍ͨਓ͕ଟ͔ͬͨ w ͳΔ΄ͲͶ͍ͬͯ͏͜ͱͰ%#ͷߏ੒Λม͑ͯෳ਺αΠζߪೖ ͷϦϦʔεΛߦͬͨ

Slide 9

Slide 9 text

ͭ·Γʜ w ߟ͑Δਓͱ࡞Δਓ͕ಉ͡Ͱ΋Ϣʔβʔ͕͍ΔҎ্͢΂ͯεϜʔ ζʹߦ͘Θ͚Ͱ͸ͳ͍ w ࣗ෼ͻͱΓͩͱͦ͜Β΁Μͷ࢓༷มߋͷཧ༝ͱ͔ٕज़తͳΉͣ ͔͠͞΋Θ͔ΔͷͰೲಘײ͕͋Δ w ෳ਺ਓͷ৔߹ɺཧ༝͕։ൃʹ఻ΘΒͣ࢓༷มߋͷࢦ͚ࣔͩ఻Θ Δͱඃ֐ऀతͳؾ࣋ͪʹͳΓ͕ͪ w ͦ͜Β΁Μͷίϛϡχέʔγϣϯ͕͏·͍͔͘ͳ͍ͱۭؾ΋Θ Δ͘ͳΓ͕ͪ w ͜ͷลΓʹରͯࣗ͠෼΋ಛʹ౴͑Λ͍࣋ͬͯΔΘ͚Ͱ͸ͳ͍ ͚Ͳɺҙࣝ͸͓ͯ͘͠ͱΑͦ͞͏

Slide 10

Slide 10 text

3BJMTͷ࿩ w 3BJMT%FWFMPQFST.FFUVQͳͷͰ։ൃଆͷ࿩Λ w ͋·ΓίΞٕज़తͳ࿩͕͋ΔΘ͚Ͱ΋ͳ͍ͷͰτϐοΫ͸গ ͠෼ࢄؾຯʹͳΔ͔΋ w ಛผͳʹ͔೉͍͜͠ͱΛ͍ͯ͠ΔΘ͚͡Όͳ͍ͷͰɺ͋Δҙ ຯ਎ۙͳ࿩୊ʹͳΔͱࢥ͏

Slide 11

Slide 11 text

։ൃʹ͓͍ͯߟ͍͑ͯͨ͜ͱ w ඼࣭ͱεϐʔυͷόϥϯεΛऔΓ͍ͨͱߟ͍͑ͯͨ w εϐʔυॏࢹ͗ͣ͢͠ɺ ࣗ෼ʹͱͬͯ ͋ͨΓ·͑ͷ͜ͱ͸ ͋ͨΓ·͑ʹͪΌΜͱ΍Δ w ػೳݸผͷઃܭ͸͋Δఔ౓ͬ͘͟ΓͰ΋0,ɻ࣍ΠδΔػձ͕ ͋Ε͹ͦͷ࣌ʹ௚͢ w ٯʹશମͷઃܭํ਑͸ͳΔ΂͘ߟ͓͖͔͑ͯͨͬͨ

Slide 12

Slide 12 text

σʔλϕʔεઃܭ w ͪΌΜͱਖ਼نԽͱ֎෦ΩʔΛ͸Δ w σʔλϕʔεͱσʔλͷෛ࠴͸ղফ͢Δͷ͕େมͳͷͰ࠷ ௿ݶ͜Ε͙Β͍͸΍Δ w ͍Βͳ͍ςʔϒϧ΍΍Γ͍ͨ͜ͱͱ߹Θͳ͍ઃܭʹͳͬͨΒ ͪΌΜͱ௚͢ w ΞΫηε਺͕ଟ͘ͳ͚Ε͹มߋʹରͯͦ͜͠·ͰγϏΞʹ ͳΔ͜ͱ΋ͳ͍ w ͦΕΑΓ΋Α͘Θ͔ΒΜઃܭͷςʔϒϧ࢒͢ํ͕ࠔΔ

Slide 13

Slide 13 text

σʔλϕʔεͷ7JFX w ਖ਼نԽ͍ͯ͘͠ͱ/ͷղফ΍+0*/ͷ਺͕ଟͯ͘3BJMT্ͷίʔ υͷݟ௨͕͠ΘΔ͘ͳΔ͜ͱ͕͋Δ w ͦͷͱ͖͸7JFXΛ༻ҙͯ͠ରॲ͢Δ w IUUQTHJUIVCDPNUIPVHIUCPUTDFOJD w 7JFXΛଟஈʹ͢Δͱ͋Δ7JFXͷߏ੒Λม͍͑ͨͱ͖ʹ໘౗ʹͳ ΔͷͰ஫ҙ w ࣅͨཧ༝ͰΧϥϜ௥Ճ࣌ʹ͜·ΔͷͰ7JFXʹ͸࠷௿ݶͷΧϥϜ Λࢦఆ͢Δ΄͏͕Α͍ w ΞϓϦଆͱ%#ଆʹϩδοΫ͕෼͔ΕΔͷ͸ͪΐͬͱ೰ΈͲ͜Ζ

Slide 14

Slide 14 text

ϚΠάϨʔγϣϯ w εΩʔϚͷมߋͱσʔλͷ౤ೖͷ؅ཧΛΘ͚ΔΑ͏ʹͨ͠ w σʔλ౤ೖ͸IUUQTHJUIVCDPNIBSSZTUFDI TFFE@NJHSBUJPOͰ w εΩʔϚͷมߋʹIUUQTHJUIVCDPNBOLBOF TUSPOH@NJHSBUJPOTΛೖΕͯΈͨ w ةݥͳ%#มߋʹରͯ͠ܯࠂΛग़͢ w ৭ʑษڧʹͳ͚ͬͨͲɺࠓճ͸ෆཁ͔ͩͬͨͳͱ΋ࢥ͏

Slide 15

Slide 15 text

αʔϏεϨΠϠ w αʔϏεϨΠϠ͸ѱ͘ͳ͍͕ɺಋೖ౰ॳͷαʔϏεϨΠϠʹ ର͢ΔෆษڧͰඍົͳײ͡ʹ w "3ͷΠϯελϯεΛෳ਺࢖͏Α͏ͳॲཧ͸αʔϏεϨΠ ϠΈ͍ͨʹͯͨ͠

Slide 16

Slide 16 text

ߪೖॲཧ·ΘΓΛαʔϏεΫϥεʹ w ߪೖॲཧ͸΍Δ͜ͱ͕ͨ͘͞Μ w ΫϨΧͷܾࡁॲཧɺ஫จ৘ใͷӬଓԽɺϢʔβʔ΁ͷϝʔϧ ௨஌ͳͲͳͲʜ w ѻ͏Ϟσϧ͕ଟ͍͠ɺ΍Δ͜ͱ΋ଟ͍ͷͰɺͦΕΛ·Δͬͱ αʔϏεΫϥε΁ w ౰ॳ͸ίʔυ͕खଓ͖తʹࣗવͱͳΔͷͰͦΕ͸ͦΕͰϝϦο τ͕͋ͬͨ w ίʔυΛ࠶ར༻͢Δͱͳͬͨͱ͖ʹ࢖͍·Θ͕͠Ͱ͖ͣʹࠔ Δ͸Ίʹʜ

Slide 17

Slide 17 text

Ͳ͏͢Ε͹Α͔ͬͨͷ͔ w αʔϏεϨΠϠ͸ग़དྷΔݶΓബ͘͢Δ w ͦ͏͢Δͱ3BJMTͷ৔߹ɺίϯτϩʔϥʔʹॻ͚͹͍͍΍ͬ ͍ͯ͏ͷ΋ଟʑ͋Δ w υϝΠϯϞσϧͷઃܭྗΛ஁͑Δ

Slide 18

Slide 18 text

ϑΥʔϜΫϥε w ਖ਼نԽ͢Δͱେମʹ͓͍ͯϑΥʔϜͱϞσϧ͕ʹͳΒͳ͍ w ϑΥʔϜ͝ͱʹϑΥʔϜΫϥεΛ࡞Δͷ͕݁ہ͸ϥΫ w ࣮૷͸IUUQUFDINFEQFFSDPKQFOUSZ Λࢀߟʹ͢Ε͹େମ0,

Slide 19

Slide 19 text

όϦσʔγϣϯΛͲ͜Ͱߦ͏͔ w ͋ͱ͔ΒϑΥʔϜΫϥεΛಋೖͨ͠ͷͰ౰ॳ͸ϞσϧʹόϦ σʔγϣϯ͕͋ͬͨ w ϑΥʔϜΫϥεͷόϦσʔγϣϯ͸஋ΛϞσϧͷΠϯελϯ εʹ౉ͯ͠ϞσϧͰߦ͏

Slide 20

Slide 20 text

class Form def sync @model_a = ModelA.new(foo: @foo, bar: @bar) @model_b = ModelB.new(hoge: @hoge) end def valid? sync @model_a.valid? && @model_b.valid? end end όϦσʔγϣϯΛͲ͜Ͱߦ͏͔

Slide 21

Slide 21 text

ϑΥʔϜΫϥεʹ௚઀ॻ͘ํ޲ʹγϑτ w ਓ਺΋গͳ͍ͷͰϞσϧ௚઀ݺΜͰόϦσʔγϣϯ͞ΕͣࣄނΔ ͱ͍͏ͷ΋গͳ͍ w ϑΥʔϜ࣮૷͢Δͱ͖ʹϑΥʔϜ୯ҐͰόϦσʔγϣϯߟ͑Δํ ͕ͳΜ͔ϥΫ w ϞσϧͰόϦσʔγϣϯ͢ΔͱࠔΔέʔε΋͋Δ w ಛఆΧϥϜ͸ଞͷΧϥϜಉ࢜ͷܭࢉʹΑͬͯຒΊΒΕΔ৔߹ w όϦσʔγϣϯ࣌ʹܭࢉ͢ΔίετΛࢧ෷͏ඞཁ͕͋Δ w ·ͨϑΥʔϜͷ஋ΛόϦσʔγϣϯ͍ͨ͠ͷͰϑΥʔϜͰͦ ͜Λ͋·Γؾʹͨ͘͠ͳ͍

Slide 22

Slide 22 text

class Form def sync @model = ModelA.new(foo: @foo, bar: @bar) end def valid? @model.valid? # hogeΛೖΕͯͳ͍ͷͰvalidʹͳΒͳ͍ end def save! hoge = (@foo + @bar) * rate @model.hoge = hoge @model.save! end end

Slide 23

Slide 23 text

ϑΥʔϜΫϥεʹ௚઀ॻ͘ํ޲ʹγϑτ w ͱ͸͍͑΍͸ΓϞσϧʹόϦσʔγϣϯ͕ͳ͍ͷ͸ʜ w ͋ͱࣅͨΑ͏ͳϑΥʔϜͰࣅͨΑ͏ͳόϦσʔγϣϯΛॻ͘ ͜ͱ΋ଟʑ w όϦσʔγϣϯΛ͍͍ײ͡ʹ·ͱΊͨϞδϡʔϧΛ࡞Δͱ Α͍ͷ͔ͳʜ

Slide 24

Slide 24 text

·ͱΊ w ϓϩμΫτϚωʔδϟʔͱ։ൃऀͷҙࢥૄ௨͸େࣄͩΑ w ͏ͪͷ৔߹݉຿Ͱͦ͜͸εΩοϓ͚ͨ͠Ͳɺݱ࣮໰୊ͦΕΛଓ ͚͍ͯ͘ͷ͸ͳ͔ͳ͔೉͍͠ w 3BJMT։ൃʹ͓͍ͯେ·͔ͳݪଇΛक͍ͬͯ͘ͷ͕جຊ w ݪଇʹ͍ͭͯ͸ษڧ͠Α͏ w ҙਤతʹखΛൈ͘ͱ͔Ͱͳ͍ݶΓɺ্ݶ͕ࣗ෼ͷ࣮ྗͰܾ·Δ w ͱ͸ݴ࣮͑૷Ϩϕϧͩͱܾ·Γख͕ͳ͍͜ͱ΋ଟ͍ w ͦͷลͷࢼߦࡨޡ͸ڪΕͳ͍