Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

今日はRails5.1が テーマ

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

Shinichi Maeshima ! " # $ @netwillnet @willnet http://blog.willnet.in 2007(Rails 2.0)~ Freelance Rails Consultant

Slide 9

Slide 9 text

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 # …

Slide 10

Slide 10 text

(細かい所はともかく) あまり変わってないよ うにみえる

Slide 11

Slide 11 text

しかしツールチェインが 増えてる • 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たち

Slide 12

Slide 12 text

これらの概念を覚えな いと開発に入れない

Slide 13

Slide 13 text

ブログが15分で作れる?

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

なんでこんなに増えたの • 昔と比べて • 要求されるクオリティが上がった • いろんなことに使われるようになった • 規模が大きくなった • それらを効率的に扱うことが求められた

Slide 16

Slide 16 text

膨大なライブラリを 利用することで 要求を満たすことができる

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

gemのメンテが止まる問 題 • いくつかの定番gemのメンテスピードが落ちてい る(気がする) • 原因はわからないけど、長年メンテしてると燃 え尽きそうなのもわかる • forkすればよい? • 単発で改善することはできるが継続していく ためには覚悟が必要

Slide 23

Slide 23 text

大きいRailsアプリケー ションがカオスになる • RailsはそもそもBasecamp用のフレームワークで、 大規模な開発は想定していない(はず) • MVCだけでは足りないようなケースでの、Rails 公式のサポートは特に無い • trailbrazerやhanamiなどの選択肢もあるけど… • 頑張って秩序を保つ • formオブジェクトやserviceオブジェクトなど

Slide 24

Slide 24 text

問題解決しても 新しい問題が出てくる

Slide 25

Slide 25 text

ウェブ開発は難しい

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

ドキュメントやコードを 読む • なるべく一次情報に当たるのがよい • ネット上には古い記事がたくさんある • 使っているgemのドキュメントやコードを読む • Railsのコミットを読む • https://rails-weekly.ongoodbits.com/ archive • http://y-yagi.hatenablog.com/

Slide 30

Slide 30 text

まとめ

Slide 31

Slide 31 text

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

Slide 32

Slide 32 text

銀の弾丸はない

Slide 33

Slide 33 text

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

Slide 34

Slide 34 text

Happy Rails Life