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
4k
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
Sidekiq vs Solid Queue
willnet
14
11k
どうしてこうなった?から理解するActive Recordの関連の裏側
willnet
6
1.4k
Exceptional Rails
willnet
6
7.2k
Breaking the Flaky Test Cycle
willnet
2
2k
mrskで広がるインフラの選択肢
willnet
1
1k
アプリケーションを長期にわたって無理なく運用するためのたったひとつの方法
willnet
2
2.1k
HotwireからDHHが考えるこれからのRailsとJSの付き合い方を知る
willnet
14
13k
Rails6.1で新しく入る機能について
willnet
12
15k
Concerns about Concerns
willnet
11
34k
Other Decks in Technology
See All in Technology
2/18 Making Security Scale: メルカリが考えるセキュリティ戦略 - Coincheck x LayerX x Mercari
jsonf
0
190
ExaDB-XSで利用されているExadata Exascaleについて
oracle4engineer
PRO
3
240
Amazon Q Developerの無料利用枠を使い倒してHello worldを表示させよう!
nrinetcom
PRO
2
110
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
18k
分解して理解する Aspire
nenonaninu
2
1k
(機械学習システムでも) SLO から始める信頼性構築 - ゆる SRE#9 2025/02/21
daigo0927
0
260
AIエージェント入門
minorun365
PRO
31
17k
AIエージェント元年
shukob
0
160
依存パッケージの更新はコツコツが勝つコツ! / phpcon_nagoya2025
blue_goheimochi
3
210
生成AI×財務経理:PoCで挑むSlack AI Bot開発と現場巻き込みのリアル
pohdccoe
1
630
内製化を加速させるlaC活用術
nrinetcom
PRO
2
140
ESXi で仮想化した ARM 環境で LLM を動作させてみるぞ
unnowataru
0
170
Featured
See All Featured
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.2k
YesSQL, Process and Tooling at Scale
rocio
172
14k
Building Adaptive Systems
keathley
40
2.4k
Producing Creativity
orderedlist
PRO
344
40k
Scaling GitHub
holman
459
140k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
4
430
Music & Morning Musume
bryan
46
6.4k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.8k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
12
990
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
4
370
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.7k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
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