1. tanaken on Rails
  2. #010: Active Record Query In..
2024-03-10 11:12

#010: Active Record Query Interface, Rails World, MuPDFPreviewer, ConnectionPool

2 Stars
00:02
こんにちは、たなけんです。 tanaken on Rails 第10回の収録を始めます。
今週のThis Week in Railsで、今回は4つのトピックをピックアップしました。
まず1つ目、こちらはStructuring the Active Record Query Guideというタイトルの
説明についてのお知らせです。Rails ガイドにActive Record Query Interface
というタイトルのページがあります。英語版のものと、あと日本語版の
ほうのリンクをショーノートに貼っておきますね。このページについて、
このページを新しく作り直そう、再構築しようというお題目があるようで、
これに関してフィードバックをくださいというお知らせをissueでしています。
再構築しようとしている背景には、完全性を高めたい、分かりやすくかつ
使いやすくしたいという思いがあるようですね。例えば、完全性でいうと、
機能の説明が足りてないよとか、概念の説明が足りてないよとか、
このメソッド便利だよとか、そういったものを追記していきたいとか、
あとはセクションの章立てとかの構成を変えたいとか、こういう順番で
説明した方がいいかもとか、そういうアイデアがあれば、ぜひissueに
コメントをくださいと、そういうお知らせになっています。
2点目、こちらはRails World 2024に関するお知らせです。
Rails World 2024のスピーカーの応募期限が迫っています。
応募期限が3月21日なので、今から約10日、11日ぐらいですね。
に迫っているよというお知らせです。スピーカーの応募で求められていること、
いろんな観点で話しても多分いいと思うんですけど、
特に募集している発表アイデアとしては、Rails 8系がもうすぐ、
今は絶賛開発中という感じですけど、Rails 8系を目指して
新しい機能の紹介だったりとか、あとは小さな個人開発プロジェクトだったり、
あるいはチームで大きくスケールさせて開発していくというような観点で、
Railsの可能性を押し広げるような発表アイデアというのを
期待されているというふうに書かれていましたので、
ぜひ興味のある方は応募してみてくださいと。
ちなみにRails World 2024は開催日が9月26日と27日ですね。
03:08
カナダのトロントで開催されるので、
ぜひ行ってみたい方は応募してみると良いかなと思います。
続いて残り2点ですね。
それぞれプルリクエストの紹介をしたいと思います。
1つはタイトルが
Illustrator.ai Files are Previewable as PDFsというタイトルです。
こちらはアクティブストレージに関する変更です。
アクティブストレージコロンコロンプレビューワーコロンコロン
Mupdfプレビューワーというクラスがあります。
これはMupdfライブラリを使用して
PDFのファイルのプレビューを生成するためのクラスです。
今回のプルリクエストでは、
このクラスを使ってイラストレーターの.aiファイルを
プレビューできるように修正しています。
実はマーシャルバージョン1.0.2以前は
このaiファイルでこのクラスを使って
プレビューできてたんですよね。
だけどマーシャルバージョン1.0.3以降では
プレビューできなくなっちゃってたと。
なんで1.0.2以前ではプレビューできたかというと
aiファイルをPDFとして認識するように
実装されていたからなんですよね。
V1.0.3以降ではaiファイルを
より正確な情報として
コンテンツタイプをapplication/
イラストレーターとして識別するように
修正が加わっていると。
より厳密にaiファイルのコンテンツタイプを
識別できるようになったというのが
バージョン1.0.3以降なんですけど。
この1.0.3以降のマーシャルを使うようになった
結果としてこのMupdfプレビュアで
aiファイルがプレビューできなくなっちゃったと
いう感じですね。
そこで今回のプルリクエストでは
.aiファイルでもPDFとしてプレビューが
利用できるように修正をしています。
具体的にはコンテンツタイプの親子関係によって
識別できるようになっています。
僕知らなかったんですけど
このコンテンツタイプには親子関係というのがあるんですね。
知らなかったです。
application/イラストレーターという
コンテンツタイプはapplication/PDFを
親タイプとして持つというようになっているようです。
06:01
どうやら。
マーシャルというGEMの
marshall://magic.child?という
メソッドがあって
marshall://magicクラスの
クラスメソッドに
child?というメソッドがあるということですね。
このchildというメソッドを使うと
第1引数に子供のコンテンツタイプの名前で
第2引数に親のコンテンツタイプの名前というのを指定すると
つまりこの子供の親は第2引数ですか?
第1引数の親は第2引数ですか?というのを
Booleanで返してくれる。
第1引数の親が第2引数であれば
トゥルーが返ってくるというようなメソッドですね。
今回の修正では第1引数に
今プレビューしようとしているファイルのコンテンツタイプを渡して
第2引数にapplication/PDFというのを渡すと
つまり今見せようとしているファイルのコンテンツタイプは
PDFを親に持ちますか?というのを確認して
親に持っている場合はPDFでプレビューできるよね
という処理にしているという感じでございます。
最後4点目がタイトルが
デプリケートコネクションプールコネクションというタイトルです。
こちらはアクティブレコードに関する変更です。
コネクションプールクラスにコネクションというメソッドがあります。
このメソッドを非推奨に変更しているというプールリクエストです。
このコネクションメソッドですが
先月2月26日に作られたプールリクエストで
このconnectionメソッドは
lease_connection という名前のメソッドに変更されています。
その変更されたプールリクエストのタイトルが
make.connection always return a permanently released connection
というタイトルのプールリクエストです。
このコネクションメソッドは消えたわけじゃなくて
lease_connectionというメソッドに変えられて
lease_connectionメソッドへのaliasとして設定されるように変更が加えられています。
この変更が加えられた経緯は
このプールリクを見てもらえればという感じではあるんですけど
コネクションをリースしたものを常に返しているんだから
メソッド名もより厳密にというか明確に
lease_connectionというメソッド名にした方がいいよねという修正が入っていました。
09:00
今回のプールリクエストでは
このコネクションメソッドが呼び出されたときに
非推奨の警告が出るようになったよと
それだけのお話ですね。
なので今後はlease_connectionメソッドを使ってねと
このコネクションメソッドは非推奨だよという警告文が出るようになって
良かったねという感じですね。
このプールリクエストを見てて面白かったのが
警告文、ワーニングの文言の中で
逮捕していて
コネクションプールが
プールってPOOLっていうのが正しい綴りなんですけど
Oが一個多くてね
POOLっていうので警告文が実装されていまして
逮捕の指摘がされててね
指摘ありがとうみたいな感じで
疲れてたわみたいなことが書いてあってね
お疲れ様ですっていう感じですね。
このプールリクエストの段階では
まだ逮捕がそのままある状態で交じりされちゃってたんで
別のプールリクエストで逮捕の修正だったり
あとちょっとした表現の文言の修正も含めてね
警告文が書き換わっている感じになってましたね。
こうやって人々が逮捕も含めてコミュニケーションしながら
いろいろ修正をしてくださっているんだなというのを感じられて
面白かったなと思います。
そんなところで今週のTanaken on Railsでは
お知らせ2件とプールリクエスト2件を紹介しました。
お知らせはRailsガイドのアクティブレコードクエリインターフェースについて
ご意見募集中ですよというのと
Railsワールド応募締め切りが迫っているよというお知らせ
あとはアクティブストレージとアクティブレコードに関して
それぞれ2点変更点についてお伝えしましたという感じでございます。
そんなところで今回のTanaken on Rails終わりにしたいと思います。
ではまた来週バイバイ
11:12
2 Stars

コメント

スクロール