Rails5.1時代のアプリケーション開発

 Rails5.1時代のアプリケーション開発

medbeer.rbで発表した資料です

https://medpeer.connpass.com/event/58805/

6ac7c50770603b53964d44db373e8e48?s=128

Shinichi Maeshima

June 28, 2017
Tweet

Transcript

  1. Rails5.1時代の アプリケーション開発 @willnet

  2. 今日はRails5.1が テーマ

  3. みんなが興味ありそうな 内容 • 新機能 • アップグレードでのハマりどころ

  4. ここで今日のタイムテー ブルを見てみましょう

  5. ここで今日のタイムテー ブルを見てみましょう

  6. ご清聴ありがとうござ いました?

  7. 広い視点でRails5.1 • 昔と比べて、どうRails開発が変わってきたか • 最近の開発上の問題 • この先生きのこるには

  8. Shinichi Maeshima ! " # $ @netwillnet @willnet http://blog.willnet.in 2007(Rails

    2.0)~ Freelance Rails Consultant
  9. Rails 2.0 class PostsController < ApplicationController def index @posts =

    Post.find(:all) respond_to do |format| format.html # index.html.erb format.xml { render :xml => @posts } end end # …
  10. (細かい所はともかく) あまり変わってないよ うにみえる

  11. しかしツールチェインが 増えてる • bundler(Rails 3.0) • sprockets(Rails 3.1) • turbolinks(Rails

    4.0) • jbuilder(Rails 4.0) • spring(Rails 4.1) • yarn(Rails 5.1) • webpacker(Rails 5.1) • Rails標準ではないgemたち
  12. これらの概念を覚えな いと開発に入れない

  13. ブログが15分で作れる?

  14. 今でも作れるけど、前 提とされる知識量が増 えている

  15. なんでこんなに増えたの • 昔と比べて • 要求されるクオリティが上がった • いろんなことに使われるようになった • 規模が大きくなった •

    それらを効率的に扱うことが求められた
  16. 膨大なライブラリを 利用することで 要求を満たすことができる

  17. 10年経ってできること が増えた

  18. 一人でクオリティの高い サービスを作れる時代に

  19. できることが増えた事 による難しさの発生

  20. 最近の開発の難しさ • (学習コストが高い) • どのgem使えばいいの? • gemのメンテが止まる問題 • 大きいRailsアプリケーションがカオスになる

  21. どのgem使ったらいいの • 基本機能はOmakaseだが実際の開発では足りない • 昔はRuby Toolboxがあった • 現状ではググるしかない • http://awesome-ruby.com/

    は多少使えるはず
  22. gemのメンテが止まる問 題 • いくつかの定番gemのメンテスピードが落ちてい る(気がする) • 原因はわからないけど、長年メンテしてると燃 え尽きそうなのもわかる • forkすればよい?

    • 単発で改善することはできるが継続していく ためには覚悟が必要
  23. 大きいRailsアプリケー ションがカオスになる • RailsはそもそもBasecamp用のフレームワークで、 大規模な開発は想定していない(はず) • MVCだけでは足りないようなケースでの、Rails 公式のサポートは特に無い • trailbrazerやhanamiなどの選択肢もあるけど…

    • 頑張って秩序を保つ • formオブジェクトやserviceオブジェクトなど
  24. 問題解決しても 新しい問題が出てくる

  25. ウェブ開発は難しい

  26. この先生きのこるには 効率良く学ぶ必要があ る

  27. 知見のある人のノウハウ を摂取する • 社内 • コミュニティ • 技術顧問

  28. 本やネット上の 記事を読む • 英語圏のほうが情報が圧倒的に多い • 洋書を読む • 個人が出してる電子書籍に良いものがある • テーマが絞られていて面白い

    • Fearless Refactoring • exceptional ruby など • ネット上の記事を読む • http://rubyweekly.com/
  29. ドキュメントやコードを 読む • なるべく一次情報に当たるのがよい • ネット上には古い記事がたくさんある • 使っているgemのドキュメントやコードを読む • Railsのコミットを読む

    • https://rails-weekly.ongoodbits.com/ archive • http://y-yagi.hatenablog.com/
  30. まとめ

  31. WEB開発はどんどん難 しくなる

  32. 銀の弾丸はない

  33. レベルを上げて物理で 殴ろう

  34. Happy Rails Life