Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
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
820
今、始める、第一歩。 / Your first step
Yasuo Honda
November 08, 2024
Tweet
Share
More Decks by Yasuo Honda
See All by Yasuo Honda
RailsのPull requestsのレビューの時に私が考えていること
yahonda
5
4k
pg_stat_statementsで inの数が違うSQLをまとめて ほしい
yahonda
0
200
遅延可能な一意性制約
yahonda
0
810
あなたとRails
yahonda
4
950
PostgreSQL 15とRailsと
yahonda
0
530
PostgreSQLとRuby on Rails
yahonda
0
230
How to address multiple Rails CI failures
yahonda
1
970
Ruby 3.0とRails 6.1の "サポート"マトリクス
yahonda
2
8.4k
「再現ケース」の必要性とその難しさ
yahonda
2
530
Other Decks in Technology
See All in Technology
品質管理チームのEMとして大事にしていること / QA EM
nihonbuson
0
840
Raspberry Pi 秋の新製品をチェックしてみよう / 20231202-rpi-jam-tokyo
akkiesoft
0
470
Kubernetesを知る
logica0419
18
5.3k
Password-less Journey - パスキーへの移行を見据えたユーザーの準備 @ AXIES 2024
ritou
2
840
属人化したE2E自動テストを ひも解く
honamin09
1
110
MySQL 8.0 から PostgreSQL 16 への移行と RLS 導入までの道のりと学び
baseballyama
0
1k
プロセス改善とE2E自動テストによる、プロダクトの品質向上事例
tomasagi
1
3.8k
Autonomous Database サービス・アップデート (FY25)
oracle4engineer
PRO
0
270
AWS re:Invent 2024登壇資料(GBL206-JA: Unleashing the power of generative AI on AWS for your business)
minorun365
PRO
7
250
EthernetベースのGPUクラスタ導入による学びと展望
lycorptech_jp
PRO
0
590
大規模サーバ移行を成功に導くための事前調査フェーズの工夫事例
fukuchiiinu
2
110
データパイプラインをなんとかした話 / Improving the Data Pipeline in IVRy
mirakui
0
110
Featured
See All Featured
The Art of Programming - Codeland 2020
erikaheidi
53
13k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.3k
RailsConf 2023
tenderlove
29
920
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
The Language of Interfaces
destraynor
154
24k
GitHub's CSS Performance
jonrohan
1030
460k
BBQ
matthewcrist
85
9.3k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
4
410
VelocityConf: Rendering Performance Case Studies
addyosmani
326
24k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
890
The World Runs on Bad Software
bkeepers
PRO
65
11k
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から出るべきとの考えから
おしまい