Ruby on Ruby on Rails

Ruby on Ruby on Rails

プログラミング言語Ruby 25周年記念イベントの記念講演「Rubyの今」のWEB編の発表スライド http://25.ruby.or.jp/

76a777ff80f30bd3b390e275cce625bc?s=128

Akira Matsuda

February 24, 2018
Tweet

Transcript

  1. Ruby on Ruby on Rails Akira Matsuda

  2. Ruby25प೥

  3. 25ࡀ͓ΊͰͱ͏ʂ

  4. Rubyͷࠓ ʮRubyͱWEBʯͱ͍͏
 ͓୊Ͱɻ

  5. RubyͰWEBͱ͍͑͹ʁ

  6. Ruby on Rails Ͱ͢ΑͶɻ

  7. whoami দా ໌ Rubyίϛολʔ Ruby on Railsίϛολʔ

  8. RubyKaigi 2018

  9. RubyKaigi 2018 CFPࠓ݄͍ͬͺ͍ʂ

  10. Asakusa.rb

  11. Asakusa.rb 10प೥ʂ

  12. Asakusa.rb 10प೥ʂ ϝϯόʔ͸Ұචॻ͘͜ͱʂ

  13. Ruby on Railsͱ͸ ͍·ੈքͰҰ൪࢖ΘΕ͍ͯΔWEB ΞϓϦέʔγϣϯɾϑϨʔϜϫʔΫ
 (ͩΖ͏ͱࢥ͏͚Ͳཁग़య) ΞϓϦέʔγϣϯΛRubyͰॻ͚Δ ຊମ΋pure RubyͰॻ͔Ε͍ͯΔ

  14. RubyͱRailsͷҧ͍ Ruby: p "Hello, World" ͬͯॻ͘ͱࠇ͍ը໘ ʹ "Hello, World" ͬͯग़ྗͰ͖Δ஍ຯͳ΍

    ͭɻRailsΛಈ͔ͨ͢Ίͷಓ۩ͱͯ͠஌ΒΕ Δɻ Rails: Կ΋ͳ͍ͱ͜Ζ͔Β15෼͙Β͍Ͱ͍͖ ͳΓόʔϯͱϒϩάͷΞϓϦ͕࡞Εͯ͠·͏ ࠷ߴʹศརͰΫʔϧͳຐ๏Έ͍ͨͳ΍ͭɻ
  15. Rails͸RubyΛϝδϟʔݴޠʹ
 ԡ্͛ͨ͠ݪಈྗ Ruby before Rails: ୭΋஌Βͳ͍ ௒ϚΠφʔݴޠ Ruby after Rails:

    Ruby͍ͬͯ͏ ݴޠʹ͍ͭͯશ͘ฉ͍ͨ͜ͱ͕
 ແ͍ϓϩάϥϚʔ͸ډͳ͍ΑͶʁ
  16. ͱ͜ΖͰɺRuby on Railsͬͯ
 ԿࡀͳΜ͚ͩͬʁ 2004೥ʹ։ൃελʔτ ݱࡏ14೥໨

  17. RubyʹͱͬͯɺRails͸
 ൒ੜҎ্࿈Εఴͬͨ஥ ΋͸΍੾ͬͯ΋੾Εͳ͍
 ؔ܎ʹ͋Δ

  18. Railsͷಛ௃ ݱ৔ͷϦΞϧͳ໰୊Λղܾ͢Δ
 πʔϧ ৗʹมԽ͠ଓ͚Δ ͨͷ͍͠ Ṷ͔Δ

  19. ݱ৔ͷϦΞϧͳ໰୊Λ
 ղܾ͢Δಓ۩ Basecampͱ͍͏ݱ࣮ͷελʔτ ΞοϓͷϓϩμΫτ͔Β੾Γग़͞Ε ͯOSSԽ͞Εͨ΋ͷ ϑϨʔϜϫʔΫ͔͠࡞ͬͯͳ͍Α͏ ͳݚڀॴͷϓϩϑϨʔϜϫʔΫ࡞Ո ͕࡞ͬͨΑ͏ͳ୅෺Ͱ͸ͳ͍

  20. ৗʹมԽ͠ଓ͚Δ 5,000ਓͷʮίϯτϦϏϡʔλʔʯ
 ͨͪʹΑΔઈ͑ؒͳ͍վྑ ܾͯ҆͠ॅ͠ͳ͍ ͣͬͱ૸Γଓ͚ͯΔ͔Β͍ͭ·Ͱ΋ݹ͘ͳΒͳ ͍ ৗʹ࠷৽WEBϑϨʔϜϫʔΫͰ͋Γଓ͚͍ͯΔ

  21. ͣͬͱࢭ·Βͣʹ૸Γଓ͚Δ ιϑτ΢ΣΞ ʮઢ࿏ʯͱ͍͏ϝλϑΝʔ ʹࠐΊΒΕ͍ͯΔ

  22. Railsͷʮ৽͠͞ʯ WEBΞϓϦ։ൃγʔϯશମΛมֵ CoCɺີ݁߹ϑϧελοΫMVCɺδΣωϨʔλʔɺTDDɺ AJAXɺRESTͷ࠶ൃݟɺalt JSɺassetͷunificationɺPJAX తͳΞϓϩʔνɺϓϥάΠϯػߏɺbundlerͷύοέʔδ ϚωʔδϝϯτɺͳͲͳͲͳͲͳͲ ෦෼తʹ͸ྑ͠ѱ͠Λ࿦͡Δ༨஍͸͋Δ͔΋͠Εͳ͍͕ɺ ओுͷ͋Διϑτ΢ΣΞΛੈʹग़͢͜ͱʹΑͬͯɺΈΜͳ ͷߟ͑ํʹେ͖͘ӨڹΛ༩͑ଓ͚͖ͯͨ

  23. ͨͷ͍͠ Railsͨͷ͍͠ΑͶ 10೥Ҏ্ͣͬͱ࢓ࣄͰRails Λ΍ͬͯΔ͚Ͳɺ͍·ͩʹ ຖ೔ͷ࢓ࣄָ͕͍͠Ͱ͢

  24. ʮRubyΛΩϝΔͱ͖΋͍͍ͪʯ (by Rubyͷύύ) Rails͸Rubyͷָ͠͞ΛWEB ͷੈքʹ·Ͱ޿͛ͯ͘ΕΔ࿮ ૊Έ ؾ࣋ͪΑʙ͘WEBΞϓϦ͕࡞ ΕͪΌ͏

  25. Ṷ͔Δ ਺ଟ͘ͷιϑτ΢ΣΞΛ
 ੜΈग़͠ɺϏδωεΛճ͢ ݪಈྗʹ

  26. RailsͰ࡞ΒΕͨϓϩμΫτͨͪ Twitter, GitHub, Basecamp, Airbnb, Uber, etc. ΫοΫύουɺ৯΂ϩάɺ MoneyforwardɺͳͲͳͲ

  27. ಛʹςΫϊϩδʔελʔτΞο ϓʹͱͯ΋ॏๅ͞ΕΔ ϓϩάϥϚʔ1ਓ͔2ਓ͙Β͍ Ͱ࢝ΊΒΕͨΓ͢Δ ·͞ʹRuby/Rails͸
 ελʔτΞοϓʹ͏͚ͬͯͭ

  28. Rails͸ੈքΛม͑ͨ Ruby / RailsͰ࡞ΒΕͨιϑτ΢Σ Ξʹ͸஌Βͣ஌Βͣͷ͏ͪʹ୭΋͕ ຖ೔৮͍ͬͯΔ͸ͣ ͜͏ͯ͠ɺϓϩάϥϚʔ͚ͩͰͳ ͘ɺੈͷதશମʹେ͖ͳมֵΛ΋ͨ Β͍ͯ͠Δ

  29. ౰વɺձ͕ࣾṶ͔Ε͹
 ϓϩάϥϚʔ΋Ṷ͔Δ

  30. ϓϩάϥϚʔʹͱͬͯ͸ɺ
 Rubyͷͤ͘ʹ࢓ࣄʹͳΔ ͳΜͱɺன͔ؒΒRubyΛΩϝͳ͕Β͓ ۚ·Ͱ΋Β͑Δͱ͍͏ఱࠃͷΑ͏ͳঢ় گ͕౸དྷ ࿑ಇ == ͭΒ͍ɺͱ͍͏ط੒֓೦ͷഁյ ͕΋ͨΒ͞Εͨ ͜Ε͸Ϡό͍

  31. ͱ͜ΖͰɺ"Ruby on Rails"ͬͯ Α͘ߟ͑Δͱมͳ໊લͩΑͶʁ

  32. ٯͰ͸ʁͬͯࢥ͍·͢ΑͶʁ RubyͰ࡞ͬͨʮRailsʯͬ ͍ͯ͏໊લͷιϑτ΢ΣΞ ͳΜ͔ͩΒ "Rails on Ruby" ͳΜ͡Όͳ͍ͷʁ

  33. "Ruby on Rails"ʹ
 ࠐΊΒΕͨҙຯ DHH͕ෑ͍ͨϨʔϧʹ৐ ͤͯΈΜͳͷݩʹRubyͷ ָ͠͞ɾੜ࢈ੑΛӡΜͰ͘ ΕΔΠϯϑϥ

  34. Rails͸͜ͷઌͲ͏ͳΔͷ͔ʁ ઌि͙Β͍͔Βόʔδϣϯ6.0Λ։ൃத ৗʹ࠷৽ͷϑϨʔϜϫʔΫͰ͋Δ͜ͱΛࢤ޲͍ͯ͠ ΔͷͰɺݹ͘ͳΒͳ͍ ࠓͷͱ͜ΖRailsʹऔͬͯ୅ΘΔଘࡏ͸ݟ౰ͨΒͳ͍ Webͦͷ΋ͷ͕׬શʹഇΕΔ·Ͱ͸WEBͷੈքͰ ͸͜ͷ··ઈରউऀͰ͋Γଓ͚ΔͷͰ͸ ͋ͱ25೥͸͍͚ΔΜ͡Όͳ͍͔

  35. ࠓޙͱ΋ϤϩγΫʂ ͜Ε͔Β΋ɺRails͸มΘΓଓ ͚·͢ɻ
 Rails͸ੈͷதΛม͑ଓ͚· ͢ɻ
 Ҿ͖ଓ͖͝ظ଴͍ͩ͘͞ʂ