Home Software Windows winget: Windows Package Manager wingetがインストールされているかの確認方法(wingetは、管理者として実行したシェルでないと実行できないことがある) @wakairo 2023/02/09 18:24 最終更新 2023/02/09 18:25 ちなみにWindows 10で、管理者として実行したシェルでないとwingetが実行できないという症状を直して、管理者としてではなく普通に実行したシェルでもwingetを実行できるようにするにはどうすればいいかをご存じの方は、教えていただけると嬉しいです。 Microsoft Storeからインストールされたwingetが「アプリ実行エイリアス」によってシェルから実行できるようになっていることまでは分かったのですが、管理者権限の有無によってシェルから実行できたりできなかったりするという違いが発生する理由は分かりませんでした。
Home Software Windows winget: Windows Package Manager wingetがインストールされているかの確認方法(wingetは、管理者として実行したシェルでないと実行できないことがある) @wakairo 2023/02/09 17:27 最終更新 2023/02/10 18:37 Windows 10とWindows 11では、わざわざインストール作業をしなくてもwingetがすでに入っていることが多いです。 自分のWindows環境にwingetが入っているか確認する際は、管理者としてPowerShellかコマンドプロンプトを立ち上げて、以下のコマンドでバージョンが表示されるかどうかで確認することがおすすめです。 winget -v なぜ管理者でのシェルの実行をおすすめするかというと、Windows 10 Pro 22H2で、管理者としてではなく普通に実行したシェルではwingetコマンドが認識されず実行できないことがあったからです。(この問題の修正方法はこちら) ちなみに、wingetがインストールされているかを確認する他の方法としては、以下の2つもあります。 ウインドウズキーを押してスタートメニューを開いた直後に「winget」とキーボードから打ち込む。コマンドの検索結果としてwingetがあれば、wingetはインストール済みのはず。 Microsoft Storeで「アプリ インストーラー」を検索し、「インストール済み」となっていれば、wingetはインストール済みのはず。
Home Software Unix その他 GNU Emacs 全選択はC-x hか、もしくは、メニューから @wakairo 2023/02/09 11:50 emacsで全選択するにはC-x h。 emacsでは全選択はときどきしかしないため、このキーバインドはなかなか覚えないなと思っていたら、 メニューバーを使うやり方の記事を見つけました。 確かにメニューバーに覚えておいてもらうのも1つの手だなと思いました。
Home Software Unix その他 GNU Emacs タブを区別して表示する @wakairo 2023/02/09 11:04 ちなみに、タブが混入していたときに、一括して空白に置き換えるにはM-x untabify。 emacsで見ると綺麗にインデントされているが実は空白とタブがグチャグチャになっているようなファイルを空白に統一するときにとても便利です。 参考 https://flex.phys.tohoku.ac.jp/texi/emacs-jp/emacs-jp_104.html
Home Software Unix その他 GNU Emacs タブを区別して表示する @wakairo 2023/02/09 10:46 ちなみに、インデントで空白を使いタブを使わないのであれば、以下の設定を.emacsに入れます。 (setq-default indent-tabs-mode nil) なお、この設定をしていてもC-q TABでタブ文字が入力できます。
Home Software Unix その他 GNU Emacs タブを区別して表示する @wakairo 2023/02/09 10:40 ちなみに、行末スペースの表示を追加するなら、以下のようにtrailingを追加します。 (require 'whitespace) (setq whitespace-style '(face trailing tabs)) (global-whitespace-mode 1) whitespaceは、他にもいろいろと設定が出来ます。
Home Software Unix その他 GNU Emacs タブを区別して表示する @wakairo 2023/02/09 10:37 最終更新 2023/02/09 19:01 .emacsに以下の記述をすると、空白と区別できる形でタブが表示されます。 (require 'whitespace) (setq whitespace-style '(face tabs)) (global-whitespace-mode 1)
Home Software その他 Shell (OS) CIを示す環境変数はCI? @wakairo 2023/02/08 22:35 テストが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 2023/02/08 21:51 最終更新 2023/02/08 21:52 Railsでは、自動で定数の読み込みと再読み込みが行われます。 この自動システムをきちんと動作させるには、ファイルパス・ファイル名とモジュール構造・クラス名を命名規則に従って対応させる必要があります。 Railsガイドによれば、 以下のコマンドを実行することでこの命名規則に従っているかの確認を行えます。 bin/rails zeitwerk:check このコマンドの実行結果の末尾に「All is good!」が表示されれば命名規則は守られています。
Home Software Libraries Ruby zeitwerk Rails7以降はZeitwerkに完全移行 @wakairo 2023/02/08 11:13 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モードのみとなります。
wingetがインストールされているかの確認方法(wingetは、管理者として実行したシェルでないと実行できないことがある)
ちなみにWindows 10で、管理者として実行したシェルでないとwingetが実行できないという症状を直して、管理者としてではなく普通に実行したシェルでもwingetを実行できるようにするにはどうすればいいかをご存じの方は、教えていただけると嬉しいです。
Microsoft Storeからインストールされたwingetが「アプリ実行エイリアス」によってシェルから実行できるようになっていることまでは分かったのですが、管理者権限の有無によってシェルから実行できたりできなかったりするという違いが発生する理由は分かりませんでした。
wingetがインストールされているかの確認方法(wingetは、管理者として実行したシェルでないと実行できないことがある)
Windows 10とWindows 11では、わざわざインストール作業をしなくてもwingetがすでに入っていることが多いです。
自分のWindows環境にwingetが入っているか確認する際は、管理者としてPowerShellかコマンドプロンプトを立ち上げて、以下のコマンドでバージョンが表示されるかどうかで確認することがおすすめです。
なぜ管理者でのシェルの実行をおすすめするかというと、Windows 10 Pro 22H2で、管理者としてではなく普通に実行したシェルではwingetコマンドが認識されず実行できないことがあったからです。(この問題の修正方法はこちら)
ちなみに、wingetがインストールされているかを確認する他の方法としては、以下の2つもあります。
全選択はC-x hか、もしくは、メニューから
emacsで全選択するには
C-x h
。emacsでは全選択はときどきしかしないため、このキーバインドはなかなか覚えないなと思っていたら、
メニューバーを使うやり方の記事を見つけました。
確かにメニューバーに覚えておいてもらうのも1つの手だなと思いました。
タブを区別して表示する
ちなみに、タブが混入していたときに、一括して空白に置き換えるには
M-x untabify
。 emacsで見ると綺麗にインデントされているが実は空白とタブがグチャグチャになっているようなファイルを空白に統一するときにとても便利です。参考
https://flex.phys.tohoku.ac.jp/texi/emacs-jp/emacs-jp_104.html
タブを区別して表示する
ちなみに、インデントで空白を使いタブを使わないのであれば、以下の設定を
.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 からの引用です。