$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
今、始める、第一歩。 / Your first step
Search
Yasuo Honda
November 08, 2024
Technology
3
1.4k
今、始める、第一歩。 / Your first step
Yasuo Honda
November 08, 2024
Tweet
Share
More Decks by Yasuo Honda
See All by Yasuo Honda
私のRails開発環境
yahonda
0
190
Railsの話をしよう
yahonda
0
210
RailsのPostgreSQL 18対応
yahonda
0
2.7k
Contributing to Rails? Start with the Gems You Already Use
yahonda
2
200
PostgreSQL 18 cancel request key長の変更とRailsへの関連
yahonda
0
250
extensionとschema
yahonda
1
300
NOT VALIDな検査制約 / check constraint that is not valid
yahonda
1
230
RailsのPull requestsのレビューの時に私が考えていること
yahonda
11
7.8k
pg_stat_statementsで inの数が違うSQLをまとめて ほしい
yahonda
0
270
Other Decks in Technology
See All in Technology
New Relic 1 年生の振り返りと Cloud Cost Intelligence について #NRUG
play_inc
0
160
Lookerで実現するセキュアな外部データ提供
zozotech
PRO
0
190
ActiveJobUpdates
igaiga
1
290
フィッシュボウルのやり方 / How to do a fishbowl
pauli
2
350
Amazon Bedrock Knowledge Bases × メタデータ活用で実現する検証可能な RAG 設計
tomoaki25
6
2k
意外と知らない状態遷移テストの世界
nihonbuson
PRO
1
140
MLflowダイエット大作戦
lycorptech_jp
PRO
1
160
マイクロサービスへの5年間 ぶっちゃけ何をしてどうなったか
joker1007
17
7.4k
100以上の新規コネクタ提供を可能にしたアーキテクチャ
ooyukioo
0
210
高度サイバー人材育成専科資料(前半)
nomizone
0
400
ESXi のAIOps だ!2025冬
unnowataru
0
160
ウェルネス SaaS × AI、1,000万ユーザーを支える 業界特化 AI プロダクト開発への道のり
hacomono
PRO
0
340
Featured
See All Featured
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.6k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
180
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
96
Getting science done with accelerated Python computing platforms
jacobtomlinson
0
75
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
79
Chasing Engaging Ingredients in Design
codingconduct
0
78
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.4k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
170
The World Runs on Bad Software
bkeepers
PRO
72
12k
First, design no harm
axbom
PRO
1
1.1k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
1.8k
Transcript
今、始める、第一歩。 Kaigi on Rails 2024事後勉強会 / Nov 8 2024 Yasuo
Honda @yahonda
self • Yasuo Honda / 本多康夫 ◦ Rails committer ◦
Maintainer of Active Record Oracle enhanced adapter ◦ https://github.com/yahonda ◦ https://x.com/yahonda ◦ https://mastodon.social/@yahonda • RailsのPull requestsのレビューの時に私が考えていること | Kaigi on Rails 2024 スピーカー
None
https://rubyonrails.org/2024/11/7/rals-8-no-paas-required
Ruby 3.4 : 2024年12月25日リリース予定 • あと2ヶ月弱 • Ruby 3.4.0 preview
2 : 2024年10月7日リリース ◦ https://www.ruby-lang.org/en/news/2024/10/07/ruby-3-4 -0-preview2-released/
Rails 8.0のRuby 3.4対応状況 • Rails本体と依存する(gemspecやGemfileに書いてある)gem ◦ Ruby 3.4対応されている ◦ 今後Ruby
3.4に変更が発生しても、アクティブなコントリビューター/ コミッターによりすぐ解決される • あなたの第一歩をどこで始めるか
あなたが使っている Railsの3rd party gemの Ruby 3.4対応から始める $ rails new <app名>した後に、Gemfileに追加するgemのこと
1. Ruby 3.4.0 preview 2で Rails 8.0.0にしてみる
2. bundle updateしてみる うまくいきましたか?
Already fixed https://github.com/collectiveidea/audited/pull/729 バージョン “< 8.0”の例
3. add_dependencyの バージョン制限を緩和する `add_dependency "rails", "< 8.0"
4. RUBYOPT='-W' を設定 して、テストを走らせる 警告が出るようになります
Ruby 3.4対応例 Rubyの変更とRails関連のgemへのpull requestのリンクを紹介します あなたが使っているgemにも応用できるかもしれません
5. Chilled strings対応 Feature #20205: Enable `frozen_string_literal` by default -
Ruby master
Chilled strings • Rubyの変更 ◦ https://github.com/ruby/ruby/pull/10262 ◦ https://github.com/ruby/ruby/pull/11893 • 対応例
◦ 警告が出る文字列を dup する ◦ https://github.com/rails/rails/pull/51357 ◦ https://github.com/nahi/httpclient/pull/462
6. エラーメッセージの変更 Feature #16495: Inconsistent quotes in error messages -
Ruby master Feature #19117: Include the method owner in backtraces, not just the method name - Ruby master
エラーメッセージの変更 • Rubyの変更 ◦ https://github.com/ruby/ruby/pull/9608 • 対応例 ◦ エラーメッセージを確認するテストを変更 ▪
backquote ` をsingle quote ' に置き換える ▪ エラーメッセージにclass名/module名を含むようにする • https://github.com/rails/rails/pull/51101
7. Hash#inspectの変更 Bug #20433: Hash.inspect for some hash returns syntax
invalid representation - Ruby master - Ruby Issue Tracking System
Hash#inspectの変更 • Rubyの変更 ◦ https://github.com/ruby/ruby/pull/10924 • 対応例 ◦ テストで期待する結果を式展開 "#{}"
で生成する ◦ https://github.com/rails/rails/pull/53162 ◦ https://github.com/rails/thor/pull/887
8.URI::RFC3986_PARSER Bug #19266: URI::Generic should use URI::RFC3986_PARSER instead of URI::DEFAULT_PARSER
- Ruby master - Ruby Issue Tracking System
URI::RFC3986_PARSER • Rubyの変更 ◦ https://github.com/ruby/ruby/pull/11416 ◦ https://github.com/ruby/uri/issues/118 • 対応例 ◦
`defined?(URI::RFC2396_PARSER)`を条件にparserを決める ◦ https://github.com/rails/rails/pull/52779 ◦ https://github.com/teamcapybara/capybara/pull/2781
9. Bundled gemの候補 Feature #20309: Bundled gems for Ruby 3.5
- Ruby master - Ruby Issue Tracking System
ostruct • Rubyの変更 ◦ https://github.com/ruby/ruby/pull/10428 • 対応例 ◦ Rakeを13.2以上にあげる ▪
https://github.com/rails/sprockets/pull/811 ◦ Structに置き換える ▪ https://github.com/rack/rack/pull/2004 ◦ ostructの利用をやめる ▪ https://github.com/rails/jbuilder/pull/567
logger • Rubyの変更 ◦ https://github.com/ruby/ruby/commit/d7e558e • 対応例 ◦ gemspecに追加する ▪
https://github.com/rails/rails/pull/52024 • Note : gemspecにbundled gem 候補を追加する場合は、依存関係の 一番下のgemに行う
10. gemにRuby 3.4対応の pull requestを出す
11. あせらない gemメンテナーからすぐ反応がなくても気長に待ちましょう
12. フィードバックする リリース前にフィードバックするためにpreviewバージョンがあります
フィードバックする • RubyやRailsは”天から与えられる”ソフトウェアではない • 公式な報告窓口に報告したり ◦ https://bugs.ruby-lang.org ◦ https://github.com/rails/rails/issues •
ミートアップなどで開発者に質問してみる • 例 : Ruby 3.3.6でのostruct, loggerなどの警告を抑止 ◦ https://bugs.ruby-lang.org/issues/20737 ◦ 警告はRuby 3.4から出るべきとの考えから
おしまい