$30 off During Our Annual Pro Sale. View Details »

「Railsでまだ消耗しているの?」─僕らがRailsで戦い続ける理由─ / Why We Use Ruby on Rails

toshimaru
December 09, 2017

「Railsでまだ消耗しているの?」─僕らがRailsで戦い続ける理由─ / Why We Use Ruby on Rails

2017年12月9日に行われた Rails Developers Meetup 2017 ( https://railsdm.github.io/2017/ )での発表スライドです。

なぜRailsを採用するのか──あなたならこの問いにどう答えるでしょうか。Railsは遅い、RailsのRailには乗りたくない、Ruby/Railsの黒魔術が怖い…さまざまな批判の声も聞こえてきます。本発表ではなぜ今Railsなのか、”Why Ruby?” “Why Rails?” という2つの観点から考えたいと思います。

- Blog記事: http://blog.toshimaru.net/why-we-use-ruby-on-rails/

toshimaru

December 09, 2017
Tweet

More Decks by toshimaru

Other Decks in Technology

Transcript

  1. ʮRailsͰ·ͩফ໣͍ͯ͠Δͷʁʯ
    ─๻Β͕RailsͰઓ͍ଓ͚Δཧ༝─
    2017.12.09 Rails Developers Meetup 2017
    Rails Developers Meetup 2017 1

    View Slide

  2. ࣗݾ঺հ
    • Toshimaru
    • Twi,er: toshimaru_e
    • GitHub: toshimaru
    • ࢠҭͯฃಆத
    !
    • ࠷ۙخ͔ͬͨ͜͠ͱ: OSSͱͯ͠ެ։͍ͯ͠Δgem͕Bootstrapʹ
    ࢖ΘΕͨ
    "
    Rails Developers Meetup 2017 2

    View Slide

  3. ʮRails(Ruby) Ͱ·ͩফ໣͍ͯ͠Δͷʁʯ
    Rails Developers Meetup 2017 3

    View Slide

  4. ʮRails(Ruby) Ͱ·ͩফ໣͍ͯ͠Δͷʁʯ
    ͱݴΘΕΔͱ͖
    • Twi%erࣾ ͕ Rails Λ΍Ίͯ Scala ʹγϑτͨ͠ͱ͖
    • Elixir/Phoenix ͕୆಄͖ͯͨ͠ͱ͖
    • GoͷϓϩμΫγϣϯ࣮੷͕૿͑ͨͱ͖
    • ISUCONͰRubyνʔϜ͕ෛ͚ͨͱ͖
    Rails Developers Meetup 2017 4

    View Slide

  5. ʮWhy Ruby on Rails?ʯ
    Rails Developers Meetup 2017 5

    View Slide

  6. ͋ͳͨͳΒͲ͏౴͑·͔͢ʁ
    Rails Developers Meetup 2017 6

    View Slide

  7. Why Ruby on Rails?
    2ͭͷ໰͍ʹ෼ղ͢Δ͜ͱ͕Ͱ͖Δ
    1. Why Ruby?
    2. Why Rails?
    Rails Developers Meetup 2017 7

    View Slide

  8. Why Ruby?
    Rails Developers Meetup 2017 8

    View Slide

  9. φΠεͳRubyίϛϡχςΟ
    • MINASWAN (Matz is nice so we are nice!)
    • ϑϨϯυϦʔͰφΠεͳίϛϡχςΟ
    • ฏ࿨ͳRubyଜ
    Rails Developers Meetup 2017 9

    View Slide

  10. Ruby is Made in Japan
    • RubyͷύύɾMatz
    • ଟ͘ͷ೔ຊਓͷRuby Comi/ers
    • ೔ຊޠͰͷ৘ใͷάάΓ΍͢͞ɾ࣭໰ͷ͠΍͢͞
    Rails Developers Meetup 2017 10

    View Slide

  11. Why Ruby?
    • ڊେͳRubyGemsࢿ࢈
    • ॊೈͳݴޠ࢓༷ʢϞϯΩʔύονɾϝλϓϩɾRuby DSLʣ
    • งғؾͰॻ͍ͯ΋ಈ͘௚ײੑ
    • ָ͍͠ϓϩάϥϛϯάମݧ: ʮRubyͷݴޠ࢓༷ࡦఆʹ͓͍ͯ࠷
    ΋ॏࢹ͍ͯ͠Δͷ͸ετϨεͳ͘ϓϩάϥϛϯάΛָ͠Ή͜
    ͱʯby Matz
    Rails Developers Meetup 2017 11

    View Slide

  12. Why Rails?
    Rails Developers Meetup 2017 12

    View Slide

  13. RailsΛ؏͘2ͭͷ఩ֶ
    1. DRY (Don't Repeat Yourself): ಉ͜͡ͱΛ܁Γฦ͞ͳ͍
    2. CoC (Conven9on over Configura9on): ઃఆΑΓن໿
    Rails Developers Meetup 2017 13

    View Slide

  14. ݸਓతʹ͸...
    CoC >>>>> DRY
    Rails Developers Meetup 2017 14

    View Slide

  15. Ruby on Railsͷ఩ֶ
    1. DRY
    • ϓϩάϥϛϯάߦҝʹ͓͍ͯීวతͳߟ͑ํ
    2. CoC
    • Rails͕ఆΊͨRailsಠࣗͷن໿
    • ͜ͷن໿ͦ͜RailsͷࠩผԽϙΠϯτͰ͋ΓRails͕༻ҙͨ͠
    Railͷຊ࣭
    Rails Developers Meetup 2017 15

    View Slide

  16. Ruby on Railsͷຊ࣭
    ηϯεͷྑ͍ن໿ʢ=RailʣʹΑͬͯઃఆ͓ΑͼઃܭͷखؒΛ࠷খ
    ݶʹͨ͠ͷ͕Ruby on Rails
    Rails Developers Meetup 2017 16

    View Slide

  17. Ruby on Railsͷຊ࣭
    • CoCʹΑͬͯઃఆʹ·ͭΘΔίʔυΛ·Δͬͱ࡟ݮ
    • CoCʹΑͬͯઃܭ޻ఔͰੜ͡ΔίϛϡχέʔγϣϯίετΛେ
    ෯ʹΧοτ
    • ѹ౗తίʔυྔͷগͳ͞ͱੜ࢈ੑͷߴ͞Λ࣮ݱ
    Rails Developers Meetup 2017 17

    View Slide

  18. Ruby on Rails ΁ͷ൷൑
    Rails Developers Meetup 2017 18

    View Slide

  19. ʮʓʓͷํ͕଎͍Αʯ
    (e.g. Go)
    Rails Developers Meetup 2017 19

    View Slide

  20. ͦ͏ͩͶ
    Rails Developers Meetup 2017 20

    View Slide

  21. ʮʓʓͷํ͕଎͍Αʯ
    • ύϑΥʔϚϯεཁ͕݅Ϛετͷέʔεʹ͓͍ͯʢe.g. ޿ࠂ഑৴
    αʔόʔʣͦ΋ͦ΋Rubyͱ͍͏ݴޠબ୒͸͢Δ΂͖Ͱͳ͍
    • ʮ଎͍ʯͷఆٛΛʮॲཧܥͷ଎͞ʯͱͨ͠ΒRuby͸ෛ͚Δ͕ɺ
    ʮ։ൃͷ଎͞ʯͱͨ͠৔߹ʹ΋ಉ͜͡ͱ͕ݴ͑ΔͩΖ͏͔ʁ
    • ΤϯυϢʔβʔʹͱͬͯͷ଎͞ ≠ ॲཧܥͷ଎͞ʢ͔ͷര଎αΠ
    τdev.to͸Rails੡Ͱ͋Δͱ͍͏ࣄ࣮ʣ
    Rails Developers Meetup 2017 21

    View Slide

  22. dev.to͸Rails੡Ͱ͋Δͱ͍͏ࣄ࣮
    • αʔϏεಛੑͱཁૉٕज़Λਖ਼͘͠ཧղɾ೺Ѳ্ͨ͠Ͱ࠷దͳ
    ΞʔΩςΫνϟΛબ୒͢Δ ͜ͱ͕ॏཁ
    • dev.to ͷ৔߹
    • Rails (on Heroku) + CDN (by Fastly)
    • ੩తίϯςϯπΛ࠷େݶCDNϨΠϠʔͰΩϟογϡ
    Rails Developers Meetup 2017 22

    View Slide

  23. ʮRails͕஗͍!ʯͱ͍͏લʹ
    • ࣗ෼ͷΞϓϦέʔγϣϯઃܭ΍ςʔϒϧઃܭͷࣦഊͷ੹೚Λɺ
    ݴޠ΍ϑϨʔϜϫʔΫʹԡ͠෇͚ͯ͸͍ͳ͍͔ʁ
    • ͢Δ΂͖࠷దԽΛ࣮ࢪ͢Δલʹʮ஗͍ʂʯͱ࢐Γࣺͯͯ͸͍ͳ
    ͍͔ʁ
    Rails Developers Meetup 2017 23

    View Slide

  24. ͱ͸͍͑ߴ଎Խͷ౒ྗ͸͋Δ
    • Ruby 3x3: Ruby3ʹ޲͚ͯͷRubyͷߴ଎Խ
    • Shopify/bootsnap: Railsͷىಈߴ଎Խ
    Rails Developers Meetup 2017 24

    View Slide

  25. Railsͱ͍͏ٕज़બ୒
    • খʙதن໛WebΞϓϦέʔγϣϯͰ͋Ε͹े෼RailsͰઓ͑Δ
    • ϚΠΫϩαʔϏεԽΛߟ͑Δखલͷن໛Ͱ͋Ε͹ɺRailsϞϊ
    ϦεͰ
    !
    • 2018೥΋Rails͸༗ޮͳWebΞϓϦέʔγϣϯϑϨʔϜϫʔΫͷ
    બ୒ࢶͰ͋Γଓ͚Δ
    • ϕλʔΦϧλφςΟϒ͕ग़ݱ͠ͳ͍ݶΓ͸ͦ͏ͩΖ͏
    Rails Developers Meetup 2017 25

    View Slide

  26. ʮRailsͰ·ͩফ໣͍ͯ͠Δͷʁʯ
    Rails Developers Meetup 2017 26

    View Slide

  27. ফ໣͢Δ͜ͱͳ͘ɺ
    RailsͷϨʔϧʹਖ਼͘͠৐ͬͯ
    ࠷ߴͷDXʢ։ൃମݧʣΛಘ·͢ɻ
    Rails Developers Meetup 2017 27

    View Slide

  28. Thanks
    Rails Developers Meetup 2017 28

    View Slide