Categories
├─Books Cloud services Events Standard TechTips Others
├─Software
│ ├─Mac OS Programming languages Windows Others
│ ├─Libraries
│ │ └─C C++ Java JavaScript Python Ruby Rust Others
│ └─Unix
│ └─Unix commands Others
└─Web
└─Document Service Others
タブを区別して表示する
.emacs
に以下の記述をすると、空白と区別できる形でタブが表示されます。CIを示す環境変数はCI?
テストがCI (Continuous Integration) のシステム上で実行されていることを示すための環境変数の名前は、「CI」がデファクト・スタンダードになっているみたいです。
ちなみに、CIという名前の環境変数を知ったのは、Railsガイドを読んでいたら出てきたためです。そこで、自分が名前を知っているいくつかのCIについて既定の環境変数について確認したところ、確かにCIという名前の環境変数が定義されていました。
参考:各CIの既定の環境変数
ファイル名とクラス名の対応関係などが命名規則に従っているかのチェック方法
Railsでは、自動で定数の読み込みと再読み込みが行われます。 この自動システムをきちんと動作させるには、ファイルパス・ファイル名とモジュール構造・クラス名を命名規則に従って対応させる必要があります。
Railsガイドによれば、 以下のコマンドを実行することでこの命名規則に従っているかの確認を行えます。
このコマンドの実行結果の末尾に「All is good!」が表示されれば命名規則は守られています。
Rails7以降はZeitwerkに完全移行
Rails 6でZeitwerkが導入され、Rails 7でclassicと呼ばれる旧来のオートローダーは廃止されました。
以下は、 https://railsguides.jp/classic_to_zeitwerk_howto.html からの引用です。
大文字と小文字を区別しないときは-i
アルファベットの大文字と小文字を区別せずにgrep検索をしたいときは、
-i
オプション、もしくは、--ignore-case
オプションを指定する。Work in progressは本家もWork in progress
日本語版ガイドで「Work in progress」となっている項目は、本家英語版でも「Work in progress」となっているものが多いです。
ですので、「Work in progress」は翻訳途中を表しているわけではありません。
ちなみに、「Work in progress」が付いていても重要な情報を含む項目もありますので、「Work in progress」が付いているからといって読むのを避けるようなことはしない方が良さそうです。
公式リポジトリで一緒に管理されているドキュメント
Ruby on Rails Guidesは、Rails本体のレポジトリで、ソースコードと一緒に管理されています。
ですので、Railsに関する情報源としては、最も信頼できる部類だと思いますし、間違いがあればOSS活動として皆で修正していく性質のものになっていると思われます。
redirect_backよりもredirect_back_or_toを使った方が良さそう
以下のコードから分かるとおり、
redirect_back
はredirect_back_or_to
をラップしているだけです。https://github.com/rails/rails/blob/v7.0.4/actionpack/lib/action_controller/metal/redirecting.rb#L96
普通は
fallback_location
を指定する必要があるはずですので、第1引数にfallback_location
を指定してredirect_back_or_to
を呼び出した方が素直のように思います。unscopeはscope系以外の条件も外す
RailsのActive Recordには、
scope
やdefault_scope
という機能があり、SQLクエリの条件を指定してあらかじめ付けておくことが可能です。unscope
やunscoped
は、これらのscope系で付けた条件を外すことが出来ます。ただ、注意点として、scope系以外で付けた条件も外してしまいます。
以下に例を示します。
unscope
やunscoped
が、直前のwhere
句で指定した条件を外していることが確認できます。確認した環境
参考
様々なブラウザ等でのテスト
ブラウザの開発者ツールで、スマホを含めた様々なデバイスでの表示を再現できますが、標準搭載フォントの違いによる影響などは、ブラウザの開発者ツールでは再現できないのではないかと考えています。
そこで、現実のデバイスでの表示や挙動がより正確に再現できる方法を探しているのですが、何が良いのでしょう?
今のところは以下のような特徴からLambdaTestを利用しているのですが、もっと良いサービスがあったりするのでしょうか?
ちなみに、維持管理の手間やコストが少なく、さらに、怪しそうなデバイスとブラウザの組み合わせをすぐにパッと試せた方が良いので、実機を多数用意するとか、必要に応じて実機をレンタルするというのは候補にならない気がします。