Slide 1

Slide 1 text

จܥ͔Β൒೥ͰRubyʢSinatra RailsʣΛֶΜͩΒਓੜมΘͬͨ ಙݩ কٛ

Slide 2

Slide 2 text

ࣗݾ঺հ • ಙݩ কٛʢͱ͘΋ͱɹ·͞Α͠ʣ • ླྀେ࢈ۀܦӦֶՊ࢛೥ • 2017೥4݄͔Β͞΅ (@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

Sinatra͸Railsͷ࿅शʹͳΔ ɹ ɹ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

͓ΘΓ