Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Rails5.1時代のアプリケーション開発
Search
Shinichi Maeshima
June 28, 2017
Technology
3
4.1k
Rails5.1時代のアプリケーション開発
medbeer.rbで発表した資料です
https://medpeer.connpass.com/event/58805/
Shinichi Maeshima
June 28, 2017
Tweet
Share
More Decks by Shinichi Maeshima
See All by Shinichi Maeshima
rails g authenticationから学ぶRails8.0時代の認証
willnet
5
2.7k
What's a well-behaved Rails extension gem?
willnet
0
350
Sidekiq vs Solid Queue
willnet
14
13k
どうしてこうなった?から理解するActive Recordの関連の裏側
willnet
6
1.5k
Exceptional Rails
willnet
6
7.8k
Breaking the Flaky Test Cycle
willnet
2
2.2k
mrskで広がるインフラの選択肢
willnet
1
1.1k
アプリケーションを長期にわたって無理なく運用するためのたったひとつの方法
willnet
2
2.2k
HotwireからDHHが考えるこれからのRailsとJSの付き合い方を知る
willnet
14
14k
Other Decks in Technology
See All in Technology
オープンソースでどこまでできる?フォーマル検証チャレンジ
msyksphinz
0
110
綺麗なデータマートをつくろう_データ整備を前向きに考える会 / Let's create clean data mart
brainpadpr
2
300
VCC 2025 Write-up
bata_24
0
180
いまさら聞けない ABテスト入門
skmr2348
1
220
10年の共創が示す、これからの開発者と企業の関係 ~ Crossroad
soracom
PRO
1
610
許しとアジャイル
jnuank
1
140
Why React!?? Next.jsそしてReactを改めてイチから選ぶ
ypresto
10
4.5k
Adapty_東京AI祭ハッカソン2025ピッチスライド
shinoyamada
0
130
Access-what? why and how, A11Y for All - Nordic.js 2025
gdomiciano
1
120
バイブコーディングと継続的デプロイメント
nwiizo
2
480
「Verify with Wallet API」を アプリに導入するために
hinakko
1
250
カンファレンスに託児サポートがあるということ / Having Childcare Support at Conferences
nobu09
1
320
Featured
See All Featured
How GitHub (no longer) Works
holman
315
140k
A better future with KSS
kneath
239
17k
What's in a price? How to price your products and services
michaelherold
246
12k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
51k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.7k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Fireside Chat
paigeccino
40
3.7k
Side Projects
sachag
455
43k
Speed Design
sergeychernyshev
32
1.1k
Scaling GitHub
holman
463
140k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Embracing the Ebb and Flow
colly
88
4.8k
Transcript
Rails5.1時代の アプリケーション開発 @willnet
今日はRails5.1が テーマ
みんなが興味ありそうな 内容 • 新機能 • アップグレードでのハマりどころ
ここで今日のタイムテー ブルを見てみましょう
ここで今日のタイムテー ブルを見てみましょう
ご清聴ありがとうござ いました?
広い視点でRails5.1 • 昔と比べて、どうRails開発が変わってきたか • 最近の開発上の問題 • この先生きのこるには
Shinichi Maeshima ! " # $ @netwillnet @willnet http://blog.willnet.in 2007(Rails
2.0)~ Freelance Rails Consultant
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 # …
(細かい所はともかく) あまり変わってないよ うにみえる
しかしツールチェインが 増えてる • 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たち
これらの概念を覚えな いと開発に入れない
ブログが15分で作れる?
今でも作れるけど、前 提とされる知識量が増 えている
なんでこんなに増えたの • 昔と比べて • 要求されるクオリティが上がった • いろんなことに使われるようになった • 規模が大きくなった •
それらを効率的に扱うことが求められた
膨大なライブラリを 利用することで 要求を満たすことができる
10年経ってできること が増えた
一人でクオリティの高い サービスを作れる時代に
できることが増えた事 による難しさの発生
最近の開発の難しさ • (学習コストが高い) • どのgem使えばいいの? • gemのメンテが止まる問題 • 大きいRailsアプリケーションがカオスになる
どのgem使ったらいいの • 基本機能はOmakaseだが実際の開発では足りない • 昔はRuby Toolboxがあった • 現状ではググるしかない • http://awesome-ruby.com/
は多少使えるはず
gemのメンテが止まる問 題 • いくつかの定番gemのメンテスピードが落ちてい る(気がする) • 原因はわからないけど、長年メンテしてると燃 え尽きそうなのもわかる • forkすればよい?
• 単発で改善することはできるが継続していく ためには覚悟が必要
大きいRailsアプリケー ションがカオスになる • RailsはそもそもBasecamp用のフレームワークで、 大規模な開発は想定していない(はず) • MVCだけでは足りないようなケースでの、Rails 公式のサポートは特に無い • trailbrazerやhanamiなどの選択肢もあるけど…
• 頑張って秩序を保つ • formオブジェクトやserviceオブジェクトなど
問題解決しても 新しい問題が出てくる
ウェブ開発は難しい
この先生きのこるには 効率良く学ぶ必要があ る
知見のある人のノウハウ を摂取する • 社内 • コミュニティ • 技術顧問
本やネット上の 記事を読む • 英語圏のほうが情報が圧倒的に多い • 洋書を読む • 個人が出してる電子書籍に良いものがある • テーマが絞られていて面白い
• Fearless Refactoring • exceptional ruby など • ネット上の記事を読む • http://rubyweekly.com/
ドキュメントやコードを 読む • なるべく一次情報に当たるのがよい • ネット上には古い記事がたくさんある • 使っているgemのドキュメントやコードを読む • Railsのコミットを読む
• https://rails-weekly.ongoodbits.com/ archive • http://y-yagi.hatenablog.com/
まとめ
WEB開発はどんどん難 しくなる
銀の弾丸はない
レベルを上げて物理で 殴ろう
Happy Rails Life