文系から半年でRuby(Sinatra, Rails)を学んだら人生変わった@沖縄Ruby会議02
by
Masayoshi Tokumoto
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
จܥ͔ΒͰRubyʢSinatra RailsʣΛֶΜͩΒਓੜมΘͬͨ ಙݩ কٛ
Slide 2
Slide 2 text
ࣗݾհ • ಙݩ কٛʢͱ͘ͱɹ·͞Α͠ʣ • ླྀେ࢈ۀܦӦֶՊ࢛ • 20174݄͔Β͞΅ (@saboyutaka) ͞ΜͷԼͰWebΤ ϯδχΞΛࢦ͢ • ISUCON2017 • 4݄ʹʮΈΜͳͷΣσΟϯάʯ ʹब৬͠·͢ • ϒϩάɿ·͞ˏϒϩάॻ͖ࠐΈத
Slide 3
Slide 3 text
ࠓ͍ͨ͜͠ͱ 1. Rubyͷॳֶऀ͕ͬͨ΄͏ֶ͕͍͍शखॱ 2. RubyΛֶΜͰมΘͬͨ͜ͱ
Slide 4
Slide 4 text
ॳֶऀ͕RubyΛֶͿ࣌ʹͬͨํ͕͍͍खॱ ʢRailsνϡʔτϦΞϧ͔ΒΒͳ͍ʂʣ 1. Webʹ͍ͭͯཧղ͢Δ 2. HTMLˍCSSʹ͍ͭͯཧղ͢Δ 3. Rubyͷجຊʹ͍ͭͯཧղ͢Δ 4. SinatraΛֶΜͰΞϓϦΛ࡞Δ 5. RailsνϡʔτϦΞϧΛͬͯΞϓϦΛ࡞Δ
Slide 5
Slide 5 text
Webʹ͍ͭͯཧղ͢Δ • ͦͦʮWebΞϓϦέʔγϣϯͬ ͯͳʹʯ͔Βཧղ͢Δ • HTTPɺηογϣϯɺWebͷࡾߏ • ͜ΕΛΘ͔͍ͬͯͳ͍ͱWindows͠ ͔Βͳ͍จܥΤϯδχΞ͕ͬ ͍ͯΔ͜ͱͱࣗͷ͍ͬͯΔΠϯ λʔωοτͷੈք͕ܨ͕Βͳ͍ • ͜ΕΛΒͳ͍ͱʮͳΜ͔ΨνϟΨ νϟΔͱ͏·͍͘͘ʯͱ͍ͬͨϨ ϕϧͷཧղʹͳͬͯ͠·͏͜ͱ Ҿ༻ݩ https://www.amazon.co.jp/dp/4774142352
Slide 6
Slide 6 text
HTML&CSSʹ͍ͭͯཧղ͢Δ • WebϓϩάϥϛϯάΛ͢ΔͳΒආ ͚ͯ௨Εͳ͍ • SinatraͰRailsͰERBͱ͍͏ ςϯϓϨʔτΤϯδϯΛͬͯ HTMLΛඳը͢Δ͠ɺͦͦ Viewʢϑϩϯτʣ͔ΒϦΫΤετ ͕དྷͨΓσʔλ͕ඈΜͰ͘ΔͷͰ ඞਢ • HTMLͱCSSΛProgateͰֶΜͰ ʮϓϩάϥϛϯάͯ͠Δͥʯͬͯ ࢥ͍ͬͯͨͷྑ͍ࢥ͍ग़ Ҿ༻ݩ https://atnd.org/events/94454
Slide 7
Slide 7 text
Rubyͷجຊʹ͍ͭͯཧղ͢Δ • ͨͷ͍͠Ruby×ProgateͰֶͿ • ͱʹ͔͘Θ͔Γ͘͢ɺײ తͰָ͠ΊΔͱࢥ͏ • ͨͷ͍͠RubyΘ͔Γ͍͢ ͱ͍͑ใ͕ཏతͰ͖ ͍͔͢ΒProgateΛήʔϜײ ֮Ͱָ͠Ή Ҿ༻ݩ https://www.amazon.co.jp/dp/4797386290
Slide 8
Slide 8 text
SinatraΛֶΜͰΞϓϦΛͭ͘Δ • WebΞϓϦέʔγϣϯΛૉૣ ͘࡞ΔͨΊͷRubyͷDSL • ϒϥβͰ݁Ռ͕ݟΕΔͷ͕ Webϓϩάϥϛϯάͷྑ͍ͱ ͜Ζ • Rubyͷ͍ํΛҰ௨Γʮͬ ͨʯΒSinatraͷ͍ํΛυο τΠϯετʔϧͰษڧͯ͠ɺ ͙͢ʹͳʹ͔࡞Δ Ҿ༻ݩ http://j-caw.co.jp
Slide 9
Slide 9 text
Sinatra؆୯ • gem install sinatra • require ‘sinatra’ • ruby myapp.rb
Slide 10
Slide 10 text
SinatraRailsͷ࿅शʹͳΔ ɹ ɹget "/" do @members = Member.all erb :index end • RailsͰ͏flashɺActiveRecordɺERBΛ͑Δ • ϧʔςΟϯάˠΞΫγϣϯΛײతʹ࣮Ͱ͖Δ • Rails΄ͲϑϨʔϜϫʔΫͷͨΊʹ֮͑Δ͜ͱ͕͋·Γͳ͍ • ͜ΕΛ࡞͢ΔաఔͰ্ͷࣝΛ಄ʹೖΕͭͭɺσόοάํ๏ͱֶ͔ ΜͩΓύϥϝʔλͷड͚͠ͳͲֶΔ
Slide 11
Slide 11 text
RailsνϡʔτϦΞϧΛֶΜͰ ΞϓϦΛ࡞Δ • ͜͜·ͰདྷΔͱRailsνϡʔτ ϦΞϧ͕ਂ͘ཧղͰ͖ΔΑ͏ ʹͳΔ • RailsνϡʔτϦΞϧͰTwitter ʢͬΆ͍ͭʣΛ࡞Δ͠ɺे ଟ͘ͷ͜ͱֶΔ͕ʮνϡʔ τϦΞϧʯͳͷͰࣗͰθϩ ͔Β࡞ͬͯΈΔͱ͞Βʹֶͼ ʹͳΔ Ҿ༻ݩ https://www.slideshare.net/yasulab/rails-46481007
Slide 12
Slide 12 text
RubyΛֶΜͰมΘͬͨ͜ͱ 1. ϓϩάϥϛϯάͷੈքָ͍͠ͱࢥ͑ΔΑ͏ʹͳͬͨ 2. ͬͱࣗ༝ʹੜ͖͍͚ͯΔͱ৴͡ΕΔΑ͏ʹͳͬͨ 3. ϓϩάϥϛϯάຊʹਓͷʹཱͭͱΘ͔ͬͨ
Slide 13
Slide 13 text
ϓϩάϥϛϯάָ͍͠
Slide 14
Slide 14 text
CݴޠͷτϥϚ • ॳΊͯϓϩάϥϛϯάʹ৮ͬͨͷCݴޠ • ֶͼํֶज़తͳֶͼํͩͬͨͷͰɺͳ͔ͳ͔Ͱ͖Δ͜ͱ͕ਐ· ͳ͍ • ܕΛࢦఆͨ͠มએݴɺfloat, int, printf…͍Ζ͍Ζͬͯίϯ ιʔϧ্ͰʮԿ͔ܭࢉͰ͖ͨʯʮԿ͔จࣈΛදࣔͰ͖ͨʯͱ͍͏ ײ͚֮ͩ
Slide 15
Slide 15 text
RubyΓ͍͢ • RubyΑΓײతͰΘ͔Γ͍͢ • SinatraΛ͙͑͢ʹWebΞϓϦͱͯ͠ͷڍಈ͕֬ೝͰ͖ Δ • LINEͷΑ͏ͳϝοηʔδϯάΞϓϦΛSinatraͰ࡞ͬͨͷ Ͱ͏RubyͷϑΝϯʹͳΔ
Slide 16
Slide 16 text
ͬͱࣗ༝ʹੜ͖͍͚ͯΔ ʢΤϞ͍ʣ
Slide 17
Slide 17 text
Θ͕··ʹੜ͖͍ͨ • ࣾձਓʹͳͬͨޙͰւ֎Ͱʢதɾظʣࡏͯ͠Έ͍ͨ • ָͯ͘͠த͢Δۀछʹ͠ͳ͍ͱϞνϕʔγϣϯ͕Լ͕Δ • ཁΘ͕··
Slide 18
Slide 18 text
ͳΜ͔Θ͕··ʹੜ͖͍͚ͯͦ͏ • ϓϩάϥϛϯάָ͍ͯ͘͢͝͠উखʹΔΑ͏ʹͳΔ → ձࣾͰ͜Ε͓ͬͯڅྉ͍͍͍ͯͷʁ • ΤϯδχΞͱͯ͠ΠϕϯτʹࢀՃ͢ΔͱɺຊʹϑϦʔϥϯεͩͬͨΓ ϦϞʔτϫʔΫ͍ͯ͠Δਓ͕ଟͯ͘ʮશવւ֎ߦ͚Δʯͬͯࢥ͑ΔΑ͏ ʹͳΔ → ւ֎ߦͬͯྑ͍ͷʁ • ब׆Ͱ͕ࣗձͬͯདྷͨWebܥͷاۀͷํʑͷଟ͘ɺ͕ࣗΠϝʔδ ͍ͯͨ͠ʮब׆ʯʮ໘ʯͱશ͘ҧ͏ͷͰɺΑΓ͚ͩͨ͘ܗͰຊ ʹେͳ͕Ͱ͖ͨ → εʔπணͳͯ͘ྑ͍ͷʁ
Slide 19
Slide 19 text
ϓϩάϥϛϯάຊʹ ਓͷʹཱͭ
Slide 20
Slide 20 text
େֶੜόΠτ • Ոఉڭࢣ • ϕ˓οηͷӦۀͷి • جͰচͷுସ͑࡞ۀ • େ౦ౡͰͨͩͨͩ݀Λ۷Δ • ͨͩͨͩࡶࢽͷमਖ਼ͷγʔϧΛషΔ
Slide 21
Slide 21 text
͜ͷ࣌ͷ ਓͷʹཱͭ͜ͱɺ ͓ۚΛՔ͙͜ͱͬͯେม ͳΜͩͳ͋ɾɾɾɻ
Slide 22
Slide 22 text
ϓϩάϥϛϯάຊʹਓͷʹཱͭͱΘ͔ͬͨ • ʮਓͷʹཱͭΜͩͳʯͱͪΐͬ͜ͱࢥͬͨͷ༑ୡͷ ࡞ۀΛख͏؆୯ͳSinatraΞϓϦΛ࡞ͬͨ࣌ • ʮϚδͰࣾձͷʹཱͭΜͩͳʯͱࢥͬͨͷֶۚͷ ೋഒͷ͓څྉΛ͍ͯRailsΞϓϦ։ൃͷ͓ࣄ͕Ͱ͖Δ Α͏ʹͳͬͨ࣌
Slide 23
Slide 23 text
͜ͷ࣌ͷ
Slide 24
Slide 24 text
͜ͷ࣌ͷ
Slide 25
Slide 25 text
·ͱΊ • Webશ͘ͷॳ৺ऀ͕RailsΛษڧ͢ΔͷͰ͋ΕWebͷجຊ ˠHTML&CSS→RubyͷجຊˠSinatra→RailsͰ • ͍͠ϓϩάϥϛϯάݴޠ͔Βೖͬͯۤखҙ͕ࣝग़ΔΑΓɺऔ͖ͬͭ ͍͢Webϓϩάϥϛϯάݴޠ͔Β࢝ΊΔͷ͕ྑ͍ͱࢥ͏ • จܥͷօ͕͙͢ʹࢥ͍ු͔Ϳ৬छۀքΑΓɺΤϯδχΞͬͯૉఢ͔ʂ • Rails͓ࣄͷधཁ͕͋ΔΒ͘͠ɺଞͷόΠτ͢ΔΑΓকདྷͷͨΊʹ ͳΔ͔Βྑ͍ͱࢥ͏ • RubyʢSinatraɺRailsʣ͋Γ͕ͱ͏
Slide 26
Slide 26 text
͓ΘΓ