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.6k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
今、始める、第一歩。 / 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
330
私のRails開発環境
yahonda
0
240
Railsの話をしよう
yahonda
0
290
RailsのPostgreSQL 18対応
yahonda
0
3.8k
Contributing to Rails? Start with the Gems You Already Use
yahonda
2
260
PostgreSQL 18 cancel request key長の変更とRailsへの関連
yahonda
0
340
extensionとschema
yahonda
1
370
NOT VALIDな検査制約 / check constraint that is not valid
yahonda
1
310
RailsのPull requestsのレビューの時に私が考えていること
yahonda
11
8.7k
Other Decks in Technology
See All in Technology
ラジオの科学
frievea
0
330
つくって納得、つかって実感! 大規模言語モデルことはじめ ver2.0
recruitengineers
PRO
4
1.8k
Bits Agent Builder の⼊⾨と活⽤事例
nulabinc
PRO
0
160
修正PRを食べてレビュースキルが賢くなる:Claude Codeによる自己改善サイクル
yuyaumetsu
6
1.6k
AWS ネットワーク構築でハマった(ハマりかけた) 5選とそこから得た教訓
nagisa53
4
240
同じWAFが、攻撃の“形”は弾く── 正当な“形”の不正は通す
kuroneko13
0
210
まちスペース®とデジタルツインと「まちづくり」
hiro_ogi
0
120
社内の7割が使うデータ基盤を、 データチーム2人で回すためにやったこと
koh_yoshi
4
1.4k
サイバー捜査員研修(前半)
nomizone
1
2k
Head First モブプログラミング / Head First Mobprogramming
takaking22
10
12k
Genie Codeハンズオン応用編
taka_aki
0
110
AI-DLC実践録_フルサイクル開発への挑戦
miyuc
0
190
Featured
See All Featured
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.6k
Building AI with AI
inesmontani
PRO
1
1.1k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
340
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
700
Tell your own story through comics
letsgokoyo
1
1k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.5k
Utilizing Notion as your number one productivity tool
mfonobong
4
550
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.1k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
How Software Deployment tools have changed in the past 20 years
geshan
1
34k
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から出るべきとの考えから
おしまい