サービス開発する平成の君に 昭和の僕から伝えたい7つのこと@平成.rb #2
by
YABOO JAPAN
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
αʔϏε։ൃ͢Δฏͷ܅ʹ তͷ͔Β͍͑ͨ7ͭͷ͜ͱ @yaboojp ฏ.rb #2 2019/3/14
Slide 2
Slide 2 text
Self • Identifer • େ༅ Ӭ / Ϡϒ / @yaboojp • Job: • 22Inc. ۀ -> Co-Founder & CTO • NTTdata -> ৽ଔͰΤϯδχΞ • Ed • େֶ -> ࣗવݴޠղੳͷݚڀ • ֶੜϕϯνϟʔ -> ҬݶఆϑϦϚαΠτʢPHPʣ • Location • ژ -> ౦ژ • Favorites • ΫϥϑτϏʔϧ, Իָ, όΠΫ, JALϚΠϧ
Slide 3
Slide 3 text
তͱʁ • ͡Ίͯॻ͍ͨίʔυNiftyʹஔ͍ͨHTML • ͱͰϨΠΞτͨ͠ૉఢͳ ϚʔΫΞοϓɻCSSͳ͠ɻελΠϧఆٛ
Slide 4
Slide 4 text
͓ؾ࣋ͪ ত ͷ ͩ
Slide 5
Slide 5 text
ΊͬͪΌ͍͍͜ͱॻ͍ͯ͋ͬͨ
Slide 6
Slide 6 text
ؾΛऔΓͯ͠
Slide 7
Slide 7 text
ࠓͷ • ϦʔϯελʔτΞοϓͩͬͨRailsϓϩδΣΫ τ • ΕΑ͔ͬͨ • ͬͯΑ͔ͬͨ
Slide 8
Slide 8 text
No content
Slide 9
Slide 9 text
No content
Slide 10
Slide 10 text
ؒͷ͕ΜΓ
Slide 11
Slide 11 text
versions 201311݄ 3.2 20158݄ 4.2 201812݄ 5.0 20191݄ 5.2
Slide 12
Slide 12 text
Ұͨ͠%#εΩʔϚ खڧ͍Ͱ
Slide 13
Slide 13 text
DBઃܭ • ActiveRecordͷόϦσʔγϣϯ͋ͬ͞Γ͢ Γൈ͚Δ • DBεΩʔϚมߋେม • ಛʹ੍σʔλύονඞཁʹͳΔ • NOT NULL, UNIQUE INDEX, FORIGN KEY
Slide 14
Slide 14 text
ྫ͑
Slide 15
Slide 15 text
࣮ߦͰ͖ͳ͍Migration
Slide 16
Slide 16 text
ϧʔςΟϯά ؆୯ʹม͑ΕΜ
Slide 17
Slide 17 text
URLઃܭ • ಛʹAPIͳͲมߋ͠ʹ͍͘ • ໊લۭؒͪΌΜͱ͚ͱ͘
Slide 18
Slide 18 text
URLઃܭͷഁ Πϝʔδ • େྔͷόʔδϣχϯά
Slide 19
Slide 19 text
URLઃܭͷഁ Πϝʔδ • େྔͷϦμΠϨΫτ
Slide 20
Slide 20 text
ηΩϡϦςΟଈࢮ͢Δ͠ ϗϯϚʹؾ͚͌ͭΔΜͰ
Slide 21
Slide 21 text
ηΩϡϦςΟ • ͱΓ͋͑ͣɺࢮ͵ؾͰ on Rails • cookieηογϣϯΘͳ͍ʢηογϣϯϋΠδϟοΫʣ • ΧδϡΞϧʹprotect_from_forgeryΛΦϑΒͳ͍ʢCSRFʣ • ActiveRecordͷΫΤϦʹࣜల։ͨ͠จࣈྻΛ͞ͳ͍ʢSQL Injectionʣ • FragmentCache҆қʹΘͳ͍
Slide 22
Slide 22 text
SQL Injection • ͜Ε͚ͩͩͱͳ͘ݟ͑Δ
Slide 23
Slide 23 text
SQL Injection • தͷ࣮ͳΜͯΒΜ͕ͳ
Slide 24
Slide 24 text
Ωϟογϡ ࣄނྫ
Slide 25
Slide 25 text
Ωϟογϡ ࣄނྫ !QPTUͷJE VQEBUFE@BU ͕Ωʔͱͯ͠ΘΕΔ ॳճΞΫηεͷϢʔβ͕ BENJOͷ߹ ͜Ε͕ΩϟογϡʹͷΔ
Slide 26
Slide 26 text
ͱͷࠩ ͋·Γʹେ͖͍
Slide 27
Slide 27 text
ςετͷଘࡏ • ΧόϨοδͦ͜·Ͱؾʹ͠ͳͯ͘ɻ • ࡉ͔͘ॻ͖͗ͯ͢ෆཁʹͳͬͨΓᐫʹͳΔ͜ͱɻ • E2E,RequestSpec࠷શମΛΧόʔ͢Δ͙Β͍ཉ͍͠ • ModelSpecɺਖ਼ৗܥͷ1ύλʔϯ͚ͩͰଘࡏ͢Δҙ ຯେ͖͍ɺςετͷଘࡏ 0ͱ1ͷࠩେ͖͍ɻ
Slide 28
Slide 28 text
versions 201311݄ 3.2 20158݄ 4.2 201812݄ 5.0 20191݄ 5.2 ςετ ສΞϓϦϢʔβ ☓
Slide 29
Slide 29 text
උେࣄͰ
Slide 30
Slide 30 text
ίʔυআ • ৗతʹΔ͜ͱͰফ͠ʹ͕͋͘͞Εʹૣ Ίʹؾ͚Δ • CSS/JS/IMGͷϧʔϧ • ίʔσΟϯά/໋໊ن • SPAʹ͢Δͷ͔͠ͳ͍ͷ͔ʁ
Slide 31
Slide 31 text
͜·ΊͳGemΞοϓσʔτ • ཷΊΔͱͲΜͲΜΒͳ͘ͳΔѱ॥ • dependabotΦεεϝ
Slide 32
Slide 32 text
No content
Slide 33
Slide 33 text
ใେࣄ
Slide 34
Slide 34 text
Θ͞Εͳ͍ • ActiveRecordͷCallback • ࣌ϙδςΟϒͳΤϯτϦ͕ଟ͔ͬͨɻ • ϩδοΫ͕ॻ͔Ε͗ͯ͢ɺͲ͜Ͱߋ৽͞Ε ͔ͨΘ͔Βͳ͍ɻ • ίʔϧόοΫࠈʹͳΔ
Slide 35
Slide 35 text
·ͱΊ 1.DBઃܭ ৻ॏʹ 2.URLઃܭ৻ॏʹ 3.ηΩϡϦςΟͳʹΑΓେࣄ 4.ςετͷଘࡏ 0ͱ1ͷࠩେ͖͍ 5.ෆཁίʔυ͙͢আ 6.Gemͷߋ৽ΛఘΊͳ͍ 7.Θ͞Εͳ͍
Slide 36
Slide 36 text
ΊͬͪΌืू
Slide 37
Slide 37 text
͝ਗ਼ௌ͓͓͖ʹ