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
今、始める、第一歩。 / Your first step
Search
Yasuo Honda
November 08, 2024
Technology
1.5k
3
Share
今、始める、第一歩。 / Your first step
Yasuo Honda
November 08, 2024
More Decks by Yasuo Honda
See All by Yasuo Honda
PostgreSQL 18のNOT ENFORCEDな制約とDEFERRABLEの関係
yahonda
1
270
私のRails開発環境
yahonda
0
230
Railsの話をしよう
yahonda
0
260
RailsのPostgreSQL 18対応
yahonda
0
3.2k
Contributing to Rails? Start with the Gems You Already Use
yahonda
2
230
PostgreSQL 18 cancel request key長の変更とRailsへの関連
yahonda
0
300
extensionとschema
yahonda
1
350
NOT VALIDな検査制約 / check constraint that is not valid
yahonda
1
280
RailsのPull requestsのレビューの時に私が考えていること
yahonda
11
8.3k
Other Decks in Technology
See All in Technology
AI全盛の今だからこそ、あえてもう一度振り返るAPIの基礎
smt7174
3
140
JaSSTに関わることで変わった人生観 #jasstnano
makky_tyuyan
0
170
TypeScriptはどのようにどこまで推論できるのか ─ とにかく as は禁止で
ypresto
1
270
[続・営業向け 誰でも話せるOCI セールストーク] セールストーク総集編(2026年5月15日開催)
oracle4engineer
PRO
1
110
パーソルキャリア IT/テクノロジー職向け 会社紹介資料|Company Introduction Deck
techtekt
PRO
0
250
20260515 OpenIDファウンデーション・ジャパンご紹介
oidfj
0
260
生成AI時代に信頼性をどう保ち続けるか - Policy as Code の実践
akitok_
1
530
Redmine次期バージョン7.0の注目新機能解説 — UI/UX強化と連携強化を中心に
vividtone
1
220
Terragrunt x Snowflake + dbt で作るマルチテナントなデータ基盤構築プラットフォーム
gak_t12
0
510
AI Agent に“攻略本”を渡したら、150フォームの移行が回り始めた話/登壇資料(高橋 悟生)
hacobu
PRO
1
250
GitHub Copilot appで変わる GitHub Copilot CLI開発体験
tomokusaba
0
100
Loadbalancing exporter internals
ymotongpoo
1
120
Featured
See All Featured
sira's awesome portfolio website redesign presentation
elsirapls
0
250
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.6k
The browser strikes back
jonoalderson
0
1.1k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
410
Balancing Empowerment & Direction
lara
6
1.1k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
1k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.2k
Google's AI Overviews - The New Search
badams
0
1k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Crafting Experiences
bethany
1
150
Designing Experiences People Love
moore
143
24k
Mind Mapping
helmedeiros
PRO
1
190
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から出るべきとの考えから
おしまい