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
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
220
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
260
extensionとschema
yahonda
1
310
NOT VALIDな検査制約 / check constraint that is not valid
yahonda
1
240
RailsのPull requestsのレビューの時に私が考えていること
yahonda
11
7.8k
pg_stat_statementsで inの数が違うSQLをまとめて ほしい
yahonda
0
270
Other Decks in Technology
See All in Technology
テストセンター受験、オンライン受験、どっちなんだい?
yama3133
0
200
ソフトウェアエンジニアとAIエンジニアの役割分担についてのある事例
kworkdev
PRO
1
340
_第4回__AIxIoTビジネス共創ラボ紹介資料_20251203.pdf
iotcomjpadmin
0
160
投資戦略を量産せよ 2 - マケデコセミナー(2025/12/26)
gamella
0
550
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
10k
Building Serverless AI Memory with Mastra × AWS
vvatanabe
1
820
AR Guitar: Expanding Guitar Performance from a Live House to Urban Space
ekito_station
0
270
Claude Skillsの テスト業務での活用事例
moritamasami
1
120
アプリにAIを正しく組み込むための アーキテクチャ── 国産LLMの現実と実践
kohju
1
270
20251203_AIxIoTビジネス共創ラボ_第4回勉強会_BP山崎.pdf
iotcomjpadmin
0
160
戰略轉變:從建構 AI 代理人到發展可擴展的技能生態系統
appleboy
0
170
日本Rubyの会: これまでとこれから
snoozer05
PRO
6
250
Featured
See All Featured
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.1k
Navigating Weather and Climate Data
rabernat
0
58
Ruling the World: When Life Gets Gamed
codingconduct
0
120
More Than Pixels: Becoming A User Experience Designer
marktimemedia
2
270
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
120
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
Practical Orchestrator
shlominoach
190
11k
ラッコキーワード サービス紹介資料
rakko
0
1.9M
The Pragmatic Product Professional
lauravandoore
37
7.1k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
Google's AI Overviews - The New Search
badams
0
880
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
2
73
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から出るべきとの考えから
おしまい