Slide 1

Slide 1 text

ʮ3%#.4Λ୯ͳΔσʔλετΞͱͯ͠ѻ͏ʯ දࢀಓSCd3BJMTΞϯνύλʔϯd !T@PTB@

Slide 2

Slide 2 text

୭ʁ • OSA Shunsuke • Rails Ͱ Web ΞϓϦέʔγϣϯΛॻ͍͍ͯ·͢ • Working on ΫοΫύουྉཧڭࣨ • ޷͖ͳ͜ͱɿϞσϦϯά • ΦϒδΣΫτ΍ͦͷ૬ޓ࡞༻Λߟ͑Δͷ͕޷͖ • Twitter: @s_osa_ • GitHub: s-osa

Slide 3

Slide 3 text

͜Μͳ͜ͱͰࠔ͍ͬͯ·ͤΜ͔ʁ

Slide 4

Slide 4 text

਌Ϧιʔεͷଘࡏ֬ೝ • belongs_to Ͱఆٛ͞Ε͍ͯΔϦιʔεͷଘࡏ֬ೝΛ සൟʹ͍ͯ͠Δ • if article.blog • nil? • blank? • present? • try • &.

Slide 5

Slide 5 text

͔ͭ͠ͳ͍͸ͣͷϨίʔυ͕ෳ਺͋Δ • ຊདྷ͸ unique Ͱ͋Δ͸ͣͷΧϥϜ͕ unique ʹͳͬ ͍ͯͳ͍ • ʮFavorite ΛऔΓফ͚ͨ͠Ͳফ͑ͳ͍ʯ • ௐ΂ͯΈͨΒ2݅σʔλ͕Ͱ͖͍ͯͯɺยํ͔͠ ࡟আ͞Ε͍ͯͳ͔ͬͨ

Slide 6

Slide 6 text

ͳͥ͜Μͳ͜ͱʹʁ

Slide 7

Slide 7 text

਌Ϧιʔεͷ࡟আ • ଞͷϦιʔεʹΑͬͯࢀর͞Ε͍ͯΔϦιʔεΛ࡟আ ͯ͠͠·͏ • Rails Ͱ͸ Association ͷఆٛʹ dependent Φϓγϣ ϯΛ౉͢ͱ࡟আ࣌ͷಈ࡞͕ఆٛͰ͖Δ • nullify: ݁ہ nil check ͕ඞཁ • restrict_with_*: ʢ࢖͍ͬͯΔਓΛݟͨ͜ͱ͕ͳ͍ʣ

Slide 8

Slide 8 text

WBMJEBUJPODBMMCBDLΛհ͞ͳ͍σʔλߋ৽ • update_attribute(:column, value) • save(validate: false) • ଞͷΞϓϦέʔγϣϯ • SQL

Slide 9

Slide 9 text

ଟॏੜ੒ • ಉ͡σʔλΛෳ਺ճॻ͖ࠐΉͱॏෳσʔλ͕࡞੒͞ Εͯ͠·͏ • ʮϘλϯ͸1ճ͚ͩԡ͍ͯͩ͘͠͞ʯ

Slide 10

Slide 10 text

ΞϓϦέʔγϣϯʹ͸όά͕ೖΓ΍͍͢ • ਓؒ͸ؒҧ͑ΔͷͰόάΛੜΜͰ͠·͏ • ΞϓϦέʔγϣϯ͸සൟʹߋ৽͞ΕΔ

Slide 11

Slide 11 text

ΞϓϦέʔγϣϯͰ͸๷͛ͳ͍

Slide 12

Slide 12 text

3%#.4ͷ੍໿Λ࢖͏

Slide 13

Slide 13 text

'03&*(/,&:੍໿ • ֎෦Ωʔͷࢀরઌ͕ଘࡏ͢Δ͜ͱΛอূ͢Δ • ࢀরઌ͕ଘࡏ͠ͳ͍ϨίʔυΛ INSERT/UPDATE ͨ͠Γɺࢀর͞Ε͍ͯΔϨίʔυΛ DELETE ͢Δ ͱΤϥʔʹͳΔ • Rails 4.2 Ͱαϙʔτ͞ΕΔΑ͏ʹͳͬͨ

Slide 14

Slide 14 text

6/*26&੍໿ • ࢦఆͨ͠ΧϥϜͷσʔλ͕ҰҙͰ͋Δ͜ͱΛอূ • ॏෳϨίʔυΛൃੜͤ͞ΔΫΤϦ͸Τϥʔ • ֎෦Ωʔʹઃఆ͢Δͱศརͳ͜ͱ͕ଟ͍ • has_one ͞Ε͍ͯΔ֎෦Ωʔʹఆٛͯ͠࠷େ1݅Ͱ͋Δ͜ͱ Λอূ • தؒςʔϒϧͷ֎෦Ωʔʹෳ߹ UNIQUE ੍໿Λఆٛͯ͠ɺ ಉ͡૊Έ߹Θͤ͸อଘ͞Εͳ͍Α͏ʹ • users <— favorites —> articles

Slide 15

Slide 15 text

͓·͚ɿͦͷଞͷ੍໿ • NOT NULL ੍໿ • σϑΥϧτͰ͚ͭΔ΂͖ • ϛοΫ͞ΜʹΑΔʮNULLʹ·ͭΘΔॾ໰୊ʯ͕Φεεϝ • http://www.geocities.jp/mickindex/database/idx_database.html • CHECK ੍໿ • ศར͚ͩͲϨʔϧ͔Β֎Εͯ͠·͏ • schema.rb -> structure.sql • MySQL Ͱ͸࢖͑ͳ͍

Slide 16

Slide 16 text

੍໿ʹΑͬͯಘΒΕΔ΋ͷ

Slide 17

Slide 17 text

σʔλΛ৴པͰ͖Δ • FOREIGN KEY ੍໿͕͍͍ͭͯΔ֎෦Ωʔ͸࣮֬ʹ ؔ࿈ϦιʔεΛͨͲΕΔ • UNIQUE ੍໿͕͍͍ͭͯΔΧϥϜ͸࣮֬ʹ unique • nil check ΍Ϩίʔυ਺ͷ֬ೝ͕ෆཁʹͳͬͯίʔυ ͕εοΩϦ͢Δ

Slide 18

Slide 18 text

ޡΓʹૣ͘ؾ෇͚Δ • ෆਖ਼ͳσʔλΛੜ੒͠Α͏ͱ͢ΔΫΤϦ͕౤͛ΒΕ ͨΒɺྫ֎ʹΑͬͯͦΕʹؾͮ͘͜ͱ͕Ͱ͖Δ • ҟৗঢ়ଶʹૣ͘ؾ͚ͮ͹ݪҼΛಥ͖ࢭΊΔͷ͕༰қ ʹͳΔ • յΕͨσʔλΛදࣔ͢Δͱ͖·ͰҟৗͰ͋Δ͜ͱ ʹؾ͚ͮͳ͍ͱɺͲ͜Ͱੜ੒ɾߋ৽͞Εͨͷ͔Λ ௐ΂Δͷ͸େม

Slide 19

Slide 19 text

3%#.4ͱ஥ྑͯ͘͠ ָ͘͠ίʔυΛॻ͜͏