#
271
2025/2/6
今日のトレンド

Lingui 多言語 Rails アプリ

皆さん、おはようございます!マイクです!今日は2025年2月7日、曜日は水曜日です。今日も元気に「zenncast」をお届けしますよ!今日はZennでトレンドの記事をいくつか紹介していきますので、ぜひ楽しみにしていてくださいね。

さて、前回紹介した記事は「試行錯誤の末たどりついた設定管理術」や「NestJSと戦術的DDDのいいとこどりをしてバックエンドTypescriptの設計をした話」、「LLMの幻覚を自己検知する「RIG」」などがありました。それでは、早速今日の内容に入っていきましょう!

今日は5つの記事を紹介します。まず最初の記事から行きますね。

1つ目の記事は「Lingui で実現するモダンな多言語対応」です。Linguiは、JavaScript向けの国際化ライブラリで、コード内に文言を直接記述し、それを翻訳対象として抽出することができるんです。この方法で、翻訳キーの管理が不要になり、翻訳作業が効率化されるのがポイントです。

具体的には、メッセージの定義、抽出、翻訳、コンパイル、デプロイの5つのステップで進むワークフローが特徴です。Linguiのコンポーネントには、静的メッセージや変数を含むメッセージを翻訳するための`<Trans>`コンポーネントや、日付や数値のフォーマットを行う`useLingui`フックなどがあります。これにより、開発者は翻訳管理から解放され、実装に集中できるんですね。

特に、既存プロジェクトに多言語対応を導入するのがスムーズで、モダンな開発には欠かせない機能が充実しています。

。...。...。...。

2つ目の記事は「gemをあんまり追加しないで、Railsアプリをつくる」です。著者はRails 8でアプリを作成する際、gemをあまり追加せずに実装する方法について考察しています。基本的にはgemに頼った方が良いとの意見もありつつ、特定の機能をgemなしで実装する方法が提案されています。

認証機能には、Rails 8に標準搭載されているメールアドレスとパスワードによる認証が利用可能です。画像のアップロードにはJavaScriptを使ってブラウザ側で最適化し、待機時間を軽減する方法が紹介されています。また、検索機能では`where`メソッドとクエリパラメータを活用し、ページネーションでは`limit`と`offset`を使って独自に実装することもできるんです。

著者は、gemを使うことで多くの考慮事項が盛り込まれている一方で、メンテナンスのリスクにも触れています。最終的には、gemの追加禁止の挑戦が学びの機会を提供するとしつつ、実際にはgemを利用する方が効率的であると結論づけています。

。...。...。...。

3つ目の記事は「"Cannot find matching keyid" in Corepack」です。この記事では、2025年1月27日に発生したCorepackを利用したPackage Managerのインストール時のエラーについて解説しています。このエラーの原因は、npm RegistryがPublic signing keysのローテーションを行ったため、Corepackが新しいキー情報を持っていなかったことなんです。

解決策としては、Corepackをバージョン`v0.31.0`にアップデートするか、Corepackの利用を停止することが挙げられています。Corepackはパッケージのインストール時に署名の検証を行いますが、古いキー情報しか保持していないと、新しいキーで署名されたパッケージの検証に失敗します。

Corepackのバージョン`0.30.0`では古いキーIDしか保持しておらず、新しいキーを用いてパッケージの署名を正しく検証できるようになったのが、バージョン`0.31.0`のリリースによる改善点です。

。...。...。...。

4つ目の記事は「Windows で最新の Okta Verify をインストールするスクリプトを作った(Intuneの利用を想定)」です。この記事では、Microsoft Intuneを利用して、Oktaのデスクトップ認証ツール「Okta Verify」を最新バージョンに保つ方法を解説しています。

具体的には、Okta管理画面からインストーラーを取得し、PowerShellスクリプトを利用してWindows端末にインストールします。スクリプトの設定は簡単で、自組織のOktaテナントを指定するだけでOKです。

スクリプトでは、インストール、アンインストール、特定の環境へのインストールをサポートしており、インストール完了の確認にも配慮されています。この方法を使えば、エンジニアは手間をかけずにOkta Verifyを最新の状態に保つことができるんです。

。...。...。...。

5つ目の記事は「もう一度学び直すStorybook」です。この記事では、株式会社アルダグラムのエンジニアがStorybookを再学習する過程を紹介しています。現在、同社ではStorybookを利用してレビューやデザイナーとの連携を行っているんですね。

まず、Storybookのインストールはコマンドで行います。今回のプロジェクトでは、ReactとViteを用い、コンポーネントを作成していく様子が描かれています。特に、Controls機能を利用することで、プロパティを自在に操作でき、デザイン崩れに気付きやすくなるのが大きなメリットです。

また、`autodocs`機能により、コンポーネント内のJSDocコメントを自動的にStory上に表示でき、効率的に修正が行えるようになったのも嬉しいポイントです。最後に、コンポーネントのテストも重要で、ユーザーインタラクションに対するテストが可能になるため、全体を通じてStorybookの再学習が実を結んでいることが伝わります。

それでは、今日はここまでにしますね!今日紹介した記事をおさらいすると、Linguiによる多言語対応、gemをあまり追加せずにRailsアプリを作るための考察、Corepackのエラー解決法、Okta Verifyの最新インストールスクリプト、そしてStorybookの再学習についてお話ししました。次回も皆さんにお会いできるのを楽しみにしています!詳しい内容はショーノートに書いてありますので、ぜひチェックしてみてくださいね!番組の感想もどんどんお待ちしています!それでは、またね!

Related episodes

内容の近いエピソードを推薦しています