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
4.2k
3
Share
Rails5.1時代のアプリケーション開発
medbeer.rbで発表した資料です
https://medpeer.connpass.com/event/58805/
Shinichi Maeshima
June 28, 2017
More Decks by Shinichi Maeshima
See All by Shinichi Maeshima
メタプログラミングRuby問題集の活用
willnet
2
1.6k
rails g authenticationから学ぶRails8.0時代の認証
willnet
5
5.1k
What's a well-behaved Rails extension gem?
willnet
0
850
Sidekiq vs Solid Queue
willnet
15
14k
どうしてこうなった?から理解するActive Recordの関連の裏側
willnet
6
1.7k
Exceptional Rails
willnet
6
8.2k
Breaking the Flaky Test Cycle
willnet
2
2.4k
mrskで広がるインフラの選択肢
willnet
1
1.2k
アプリケーションを長期にわたって無理なく運用するためのたったひとつの方法
willnet
2
2.3k
Other Decks in Technology
See All in Technology
形式手法特論:公平性制約の位相的特徴づけ #kernelvm / Kernel VM Study Kansai 12th
ytaka23
1
530
Spring Boot における AOT Cache 活用テクニックと 起動時間改善事例
ntt_dsol_java
0
160
なぜハノーバーメッセに行くべきなのか 〜初参加だから語れること〜
tanakaseiya
0
160
まだ道半ば、AI-DLCを歩み始めている話
news_it_enj
2
210
AI時代に改めて考える、ドメイン駆動設計 - モデリングが「AIへの共通言語」になる
littlehands
8
2.7k
Claude Codeですべての日常業務を爆速化しよう!
minorun365
PRO
16
15k
データ分析基盤の信頼を支える視点と設計
yuki_saito
2
740
Claude Code x Accounting
kawaguti
PRO
1
340
ITエンジニアを取り巻く環境とキャリアパス / A career path for Japanese IT engineers
takatama
4
1.8k
Java正規表現エンジン(NFA)の仕組みと パフォーマンスを維持するための最適化手法
takeuchi_132917
0
130
AI駆動開発でなんでもハンズオン環境をつくってみた
yoshimi0227
0
160
AI時代から振り返るTerraform drift運用の歴史 / AI Age Reflections on the History of Terraform Drift Operations
aeonpeople
0
560
Featured
See All Featured
We Have a Design System, Now What?
morganepeng
55
8.1k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
340
RailsConf 2023
tenderlove
30
1.4k
Information Architects: The Missing Link in Design Systems
soysaucechin
0
940
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Leo the Paperboy
mayatellez
7
1.8k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
260
How to Talk to Developers About Accessibility
jct
2
210
Thoughts on Productivity
jonyablonski
76
5.2k
Abbi's Birthday
coloredviolet
2
7.8k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
370
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.7k
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