Home Web Document ARIA Authoring Practices Guide (APG) APGのPatternsはWeb部品の実装コードのサンプルとしても参考になる TeaTea @teatea1024 2024/11/11 18:56 最終更新 2024/11/11 18:57 ARIA Authoring Practices Guide (APG)にはPatternsというページがあり、こちらでカルーセルやタブ、ツールチップといったWeb部品の実装コードのサンプルが紹介されています。 これらのコードサンプルは、HTMLのaria属性の付与方法について参考になるのはもちろんのこと、実際に動作するHTML・CSS・JavaScriptのコードが一通りそろっているため、こういったWeb部品の実装方法の一事例として参考になります。 例えば、タブのコードサンプルはExample of Tabs with Automatic Activationのページで「Open In CodePen」のボタンをクリックすることで見られます。
Home Web Service ChatGPT ChatGPT searchのTips @wakairo 2024/11/06 11:04 最終更新 2024/11/11 18:31 ドメイン(Webサイト)を指定しての回答生成 「~ドメインから」とプロンプト(質問文)に入れることで、特定のドメイン(Webサイト)の情報を基にした回答を生成してくれます。情報ソースを指定したいときなどに便利そうです。 プロンプトの例:「nta.go.jpドメインから、個人事業主が確定申告をしなくても良いケースがあるかどうか調べて下さい。」 実行結果:https://chatgpt.com/share/6731caeb-83c8-8013-8385-763d7f0c3ac1 備考 このTopicとCommentは、11/11に全面的に改定しました。
Home Web Service placekitten Placekittenはサービス終了? TeaTea @teatea1024 2024/10/30 21:16 2024年に入って、Placekittenはもう何ヶ月も上手く動作していない模様。なので、ダミー画像用のサービスとしては、他のサービスに乗換が必要そう。 ちなみに、Placekittenに近いサービスとして、 https://placecats.com/ というサイトがあるそうです。 参考 https://iwb.jp/placekitten-com-image-replace-to-placedog-net/ https://www.reddit.com/r/webdev/comments/1bdx63f/placekitten/?rdt=51429
Home Software Windows IrfanView IrfanViewがv4.70になってからwingetソースでのインストールが上手く行かない @wakairo 2024/10/26 16:46 最終更新 2024/10/26 17:48 問題 2024年10月26日現在、以下のコマンドのように、wingetがソースとなっている方のパッケージIDを指定してwingetからインストールを試みても、IrfanViewが起動できないので、インストールが上手く行っていないと思われる。 winget install --id "IrfanSkiljan.IrfanView" 対応策 最新版になるのが多少遅れても良いのであれば、Microsoft Storeからインストールする。なおMicrosoft Storeからであれば、Microsoft StoreのGUIからインストールしても、Microsoft Storeの方のパッケージIDを指定してwingetコマンドからインストールしても、どちらでも大丈夫のようである。
Home Software Libraries Ruby minitest minitestにおける不等号などの二項演算子を用いたアサーション @wakairo 2024/10/09 11:55 最終更新 2024/10/09 12:02 minitestにおいて、不等号などの二項演算子(例:<, >, <=, =>)を用いたアサーションをしたいときには、 assert_operator()が利用できます。 assert_operator()を用いるメリット assert_operator()を用いるメリットとして、アサーションが失敗した時の情報が多くなることが挙げられます。 以下のように、assert_operator()を使用した場合は、 x, y = 0, 1 assert_operator x, :>, y アサーション失敗のメッセージにおいて、以下のように変数の中身も表示してくれます。 Expected 0 to be > 1. 比較して、以下のように単純に記述した場合は、 x, y = 0, 1 assert( x > y ) 以下のようにアサーションに失敗した以外の情報を得ることが出来ません。 Expected false to be truthy. (参考)assert_not_operator ちなみにrailsのテスト環境では、assert_not_operatorもあります。
Home Software Libraries Ruby rails rails 7.0からrails 7.1への移行(アップデート、アップグレード)で必要な作業 @wakairo 2024/10/04 18:57 Rails 7.1で追加されたパスワード関連エラーメッセージへの対応 has_secure_passwordを利用しているモデルがあり、かつ、英語以外のロケールへ対応している既存アプリでは、 rails 7.1で追加されたエラーの種類であるpassword_too_longに対応するエラーメッセージの訳文を追加する必要があります。 (追加をしないとパスワードが長すぎた場合のエラーメッセージが英語で表示されます。) なお、本件の詳細についてはこちらをご覧下さい。
Home Software Libraries Ruby rails Rails 7.1では、パスワードに関してエラーメッセージの種類が増えた @wakairo 2024/10/04 18:51 最終更新 2024/10/04 18:52 Rails 7.1に取り込まれたこちらのプルリクエストによって、 ActiveModel::SecurePasswordのhas_secure_passwordメソッドを利用している場合のパスワードのバリデーションにおいて、 パスワード文字列が72バイト以内かどうかのチェックが行われるようになりました。 そして、72バイトを超えている場合には、password_too_longという新しい種類のエラーが出るようになりました。 この変更に伴って、日本語表示のRailsアプリでは、password_too_longのエラーメッセージの日本語訳を用意する必要があります。 具体的には、以下の階層の所に以下のような日本語訳が必要となります。 ja: errors: messages: password_too_long: が長すぎます
Home Software プログラミング言語 Ruby Emailアドレスとして適切かどうかのチェックに使えるURI::MailTo::EMAIL_REGEXP @wakairo 2024/09/29 17:50 最終更新 2024/09/29 17:56 rubyの標準添付ライブラリであるuriに存在しているURI::MailTo::EMAIL_REGEXPは、 ある文字列が規格上Emailアドレスとして適切かどうかのチェックに以下のように利用できます。 irb(main):001> require 'uri' => true irb(main):002> URI::MailTo::EMAIL_REGEXP => /\A[a-zA-Z0-9.!\#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*\z/ irb(main):003> URI::MailTo::EMAIL_REGEXP.match?('[email protected]') => true irb(main):004> URI::MailTo::EMAIL_REGEXP.match?('[email protected]') => false irb(main):005> URI::MailTo::EMAIL_REGEXP.match?('[email protected]') => false Railsガイドでも、 このEMAIL_REGEXPを用いてemailのバリデーションを行う方法を以下のように紹介しています。 validates :email, format: { with: URI::MailTo::EMAIL_REGEXP } URI::MailTo::EMAIL_REGEXPを使うメリット TechRachoの記事によると、URI::MailTo::EMAIL_REGEXPの正規表現はHTML規格書から持ってきているため、 URI::MailTo::EMAIL_REGEXPを使ったバリデーションはブラウザがinput type="email"で行うバリデーションと一致するというメリットがあります。 余談 URI::MailTo::EMAIL_REGEXPは、 Rubyリファレンスマニュアルにも Ruby標準ライブラリリファレンスにも、実は記載されていません。 ですので、URI::MailTo::EMAIL_REGEXPを利用するのは少々裏技的な側面があるのかもしれません。 ただ、上述の通り、Railsガイドや記事で取り上げられるぐらいに認知されていますので、利用しても大丈夫なのではないかと思います。
Home Software その他 setup-ruby setup-rubyにおける.ruby-versionを用いたバージョン指定 @wakairo 2024/09/27 12:25 最終更新 2024/09/27 12:26 GitHub Actionsの設定ファイルでsetup-rubyを使う時に、 以下のようにruby-versionのところで.ruby-versionと指定すると、 GitHubレポジトリからチェックアウトされたプロジェクトの中にある .ruby-versionという名前のファイルで指定されているrubyのバージョンが GitHub Actionsのsetup-rubyで使われます。 - name: Set up Ruby uses: ruby/setup-ruby@v1 with: ruby-version: .ruby-version bundler-cache: true jobsが複数あって、同じバージョンで複数回setup-rubyをしているときなどには、バージョン記述の重複がなくなって有用だと思います。 (参考) この指定方法は、railsの新規アプリのGitHub Actionsの設定で利用されています。
Home TechTips TechTips Sandbox Test Topic @test_withdrawn 2024/09/26 18:45 A comment by @test_withdrawn
APGのPatternsはWeb部品の実装コードのサンプルとしても参考になる
ARIA Authoring Practices Guide (APG)にはPatternsというページがあり、こちらでカルーセルやタブ、ツールチップといったWeb部品の実装コードのサンプルが紹介されています。
これらのコードサンプルは、HTMLのaria属性の付与方法について参考になるのはもちろんのこと、実際に動作するHTML・CSS・JavaScriptのコードが一通りそろっているため、こういったWeb部品の実装方法の一事例として参考になります。
例えば、タブのコードサンプルはExample of Tabs with Automatic Activationのページで「Open In CodePen」のボタンをクリックすることで見られます。
ChatGPT searchのTips
ドメイン(Webサイト)を指定しての回答生成
「~ドメインから」とプロンプト(質問文)に入れることで、特定のドメイン(Webサイト)の情報を基にした回答を生成してくれます。情報ソースを指定したいときなどに便利そうです。
備考
このTopicとCommentは、11/11に全面的に改定しました。
Placekittenはサービス終了?
2024年に入って、Placekittenはもう何ヶ月も上手く動作していない模様。なので、ダミー画像用のサービスとしては、他のサービスに乗換が必要そう。
ちなみに、Placekittenに近いサービスとして、 https://placecats.com/ というサイトがあるそうです。
参考
IrfanViewがv4.70になってからwingetソースでのインストールが上手く行かない
問題
2024年10月26日現在、以下のコマンドのように、wingetがソースとなっている方のパッケージIDを指定してwingetからインストールを試みても、IrfanViewが起動できないので、インストールが上手く行っていないと思われる。
対応策
最新版になるのが多少遅れても良いのであれば、Microsoft Storeからインストールする。なおMicrosoft Storeからであれば、Microsoft StoreのGUIからインストールしても、Microsoft Storeの方のパッケージIDを指定してwingetコマンドからインストールしても、どちらでも大丈夫のようである。
minitestにおける不等号などの二項演算子を用いたアサーション
minitestにおいて、不等号などの二項演算子(例:<, >, <=, =>)を用いたアサーションをしたいときには、
assert_operator()が利用できます。assert_operator()を用いるメリットassert_operator()を用いるメリットとして、アサーションが失敗した時の情報が多くなることが挙げられます。以下のように、
assert_operator()を使用した場合は、アサーション失敗のメッセージにおいて、以下のように変数の中身も表示してくれます。
比較して、以下のように単純に記述した場合は、
以下のようにアサーションに失敗した以外の情報を得ることが出来ません。
(参考)
assert_not_operatorちなみにrailsのテスト環境では、
assert_not_operatorもあります。rails 7.0からrails 7.1への移行(アップデート、アップグレード)で必要な作業
Rails 7.1で追加されたパスワード関連エラーメッセージへの対応
has_secure_passwordを利用しているモデルがあり、かつ、英語以外のロケールへ対応している既存アプリでは、 rails 7.1で追加されたエラーの種類であるpassword_too_longに対応するエラーメッセージの訳文を追加する必要があります。 (追加をしないとパスワードが長すぎた場合のエラーメッセージが英語で表示されます。)なお、本件の詳細についてはこちらをご覧下さい。
Rails 7.1では、パスワードに関してエラーメッセージの種類が増えた
Rails 7.1に取り込まれたこちらのプルリクエストによって、
ActiveModel::SecurePasswordのhas_secure_passwordメソッドを利用している場合のパスワードのバリデーションにおいて、 パスワード文字列が72バイト以内かどうかのチェックが行われるようになりました。 そして、72バイトを超えている場合には、password_too_longという新しい種類のエラーが出るようになりました。この変更に伴って、日本語表示のRailsアプリでは、
password_too_longのエラーメッセージの日本語訳を用意する必要があります。 具体的には、以下の階層の所に以下のような日本語訳が必要となります。Emailアドレスとして適切かどうかのチェックに使えるURI::MailTo::EMAIL_REGEXP
rubyの標準添付ライブラリであるuriに存在している
URI::MailTo::EMAIL_REGEXPは、 ある文字列が規格上Emailアドレスとして適切かどうかのチェックに以下のように利用できます。Railsガイドでも、 このEMAIL_REGEXPを用いてemailのバリデーションを行う方法を以下のように紹介しています。
URI::MailTo::EMAIL_REGEXPを使うメリット
TechRachoの記事によると、
URI::MailTo::EMAIL_REGEXPの正規表現はHTML規格書から持ってきているため、URI::MailTo::EMAIL_REGEXPを使ったバリデーションはブラウザがinput type="email"で行うバリデーションと一致するというメリットがあります。余談
URI::MailTo::EMAIL_REGEXPは、 Rubyリファレンスマニュアルにも Ruby標準ライブラリリファレンスにも、実は記載されていません。 ですので、URI::MailTo::EMAIL_REGEXPを利用するのは少々裏技的な側面があるのかもしれません。 ただ、上述の通り、Railsガイドや記事で取り上げられるぐらいに認知されていますので、利用しても大丈夫なのではないかと思います。setup-rubyにおける.ruby-versionを用いたバージョン指定
GitHub Actionsの設定ファイルでsetup-rubyを使う時に、 以下のように
ruby-versionのところで.ruby-versionと指定すると、 GitHubレポジトリからチェックアウトされたプロジェクトの中にある .ruby-versionという名前のファイルで指定されているrubyのバージョンが GitHub Actionsのsetup-rubyで使われます。jobsが複数あって、同じバージョンで複数回setup-rubyをしているときなどには、バージョン記述の重複がなくなって有用だと思います。
(参考)
この指定方法は、railsの新規アプリのGitHub Actionsの設定で利用されています。
Test Topic
A comment by @test_withdrawn