Home Software Unix Others GNU Emacs タブを区別して表示する @wakairo 09 Feb, 2023 01:46 +00:00 ちなみに、インデントで空白を使いタブを使わないのであれば、以下の設定を.emacsに入れます。 (setq-default indent-tabs-mode nil) なお、この設定をしていてもC-q TABでタブ文字が入力できます。
Home Software Unix Others GNU Emacs タブを区別して表示する @wakairo 09 Feb, 2023 01:40 +00:00 ちなみに、行末スペースの表示を追加するなら、以下のようにtrailingを追加します。 (require 'whitespace) (setq whitespace-style '(face trailing tabs)) (global-whitespace-mode 1) whitespaceは、他にもいろいろと設定が出来ます。
Home Software Unix Others GNU Emacs タブを区別して表示する @wakairo 09 Feb, 2023 01:37 +00:00 Last edited 09 Feb, 2023 10:01 +00:00 .emacsに以下の記述をすると、空白と区別できる形でタブが表示されます。 (require 'whitespace) (setq whitespace-style '(face tabs)) (global-whitespace-mode 1)
Home Software Others Shell (OS) CIを示す環境変数はCI? @wakairo 08 Feb, 2023 13:35 +00:00 テストがCI (Continuous Integration) のシステム上で実行されていることを示すための環境変数の名前は、「CI」がデファクト・スタンダードになっているみたいです。 ちなみに、CIという名前の環境変数を知ったのは、Railsガイドを読んでいたら出てきたためです。そこで、自分が名前を知っているいくつかのCIについて既定の環境変数について確認したところ、確かにCIという名前の環境変数が定義されていました。 参考:各CIの既定の環境変数 GitHub Actions: https://docs.github.com/ja/actions/learn-github-actions/variables#default-environment-variables GitLab: https://gitlab-docs.creationline.com/ee/ci/variables/predefined_variables.html CircleCI: https://circleci.com/docs/ja/variables/#built-in-environment-variables
Home Software Libraries Ruby rails ファイル名とクラス名の対応関係などが命名規則に従っているかのチェック方法 @wakairo 08 Feb, 2023 12:51 +00:00 Last edited 08 Feb, 2023 12:52 +00:00 Railsでは、自動で定数の読み込みと再読み込みが行われます。 この自動システムをきちんと動作させるには、ファイルパス・ファイル名とモジュール構造・クラス名を命名規則に従って対応させる必要があります。 Railsガイドによれば、 以下のコマンドを実行することでこの命名規則に従っているかの確認を行えます。 bin/rails zeitwerk:check このコマンドの実行結果の末尾に「All is good!」が表示されれば命名規則は守られています。
Home Software Libraries Ruby zeitwerk Rails7以降はZeitwerkに完全移行 @wakairo 08 Feb, 2023 02:13 +00:00 Rails 6でZeitwerkが導入され、Rails 7でclassicと呼ばれる旧来のオートローダーは廃止されました。 以下は、 https://railsguides.jp/classic_to_zeitwerk_howto.html からの引用です。 Railsは最初期からRails 5まで、Active Supportで実装されたオートローダーを用いていました。このオートローダーはclassicと呼ばれ、Rails 6.xでは引き続き利用可能です。classicオートローダーはRails 7で廃止されました。 Rails 6から、より優れた新しいオートロード方法がRailsに搭載されました。これはZeitwerkというgemに一任されています。これがzeitwerkモードです。デフォルトでは、Railsフレームワーク6.0および6.1の読み込みはzeitwerkモードで実行され、Rails 7で利用できるのはzeitwerkモードのみとなります。
Home Software Unix Unix commands grep 大文字と小文字を区別しないときは-i @wakairo 07 Feb, 2023 02:51 +00:00 Last edited 07 Feb, 2023 02:52 +00:00 アルファベットの大文字と小文字を区別せずにgrep検索をしたいときは、-iオプション、もしくは、--ignore-caseオプションを指定する。 grep -i
Home Web Document Ruby on Rails ガイド Work in progressは本家もWork in progress @wakairo 07 Feb, 2023 02:13 +00:00 日本語版ガイドで「Work in progress」となっている項目は、本家英語版でも「Work in progress」となっているものが多いです。 ですので、「Work in progress」は翻訳途中を表しているわけではありません。 ちなみに、「Work in progress」が付いていても重要な情報を含む項目もありますので、「Work in progress」が付いているからといって読むのを避けるようなことはしない方が良さそうです。
Home Web Document Ruby on Rails Guides 公式リポジトリで一緒に管理されているドキュメント @wakairo 07 Feb, 2023 01:39 +00:00 Last edited 07 Feb, 2023 01:40 +00:00 Ruby on Rails Guidesは、Rails本体のレポジトリで、ソースコードと一緒に管理されています。 ですので、Railsに関する情報源としては、最も信頼できる部類だと思いますし、間違いがあればOSS活動として皆で修正していく性質のものになっていると思われます。
Home Software Libraries Ruby actionpack redirect_backよりもredirect_back_or_toを使った方が良さそう @wakairo 06 Feb, 2023 14:33 +00:00 以下のコードから分かるとおり、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を呼び出した方が素直のように思います。
タブを区別して表示する
ちなみに、インデントで空白を使いタブを使わないのであれば、以下の設定を
.emacs
に入れます。なお、この設定をしていても
C-q TAB
でタブ文字が入力できます。タブを区別して表示する
ちなみに、行末スペースの表示を追加するなら、以下のように
trailing
を追加します。whitespace
は、他にもいろいろと設定が出来ます。タブを区別して表示する
.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
を呼び出した方が素直のように思います。