こんにちは、みなさん!「zenncast」へようこそ。お相手はマイクです。今日は2024年7月18日、木曜日です。今日もZennのトレンド記事を紹介していきますので、最後までお楽しみくださいね。

さて、前回紹介した記事を振り返ってみましょう。まずは「OAuthの仕組みを説明してHonoで実装してみる」でした。OAuthの基本的な仕組みと、その実装方法について詳しく解説されていましたね。そして「クライアント・サーバー間の一貫したバリデーション管理: Conform + Server Actions」では、バリデーションの統一管理についての重要性が取り上げられていました。最後に「[K, U] extends [U, K] ← ナニコレ」では、ちょっとマニアックな型の話題が紹介されていましたね。

さてさて、今日は5つの記事をご紹介します。それでは、さっそく始めましょう。

....

最初の記事は「GCP という呼び名はもう古いので気をつける」です。

この記事では、Google Cloud Platform、通称GCPの名称変更について解説されています。実はもう2年以上前から「Google Cloud」という名称に統一されており、これはユーザーエクスペリエンスをシンプルにし、プロダクト間の一貫性を保つための変更だそうです。2022年6月にGoogleの公式ブログで発表され、略称としての「GC」も使わず、正式名称そのままで呼ばれることが推奨されています。

ただし、「GCP」という名称はエンジニアの間で広く浸透しているため、特定の状況ではまだ使われることがあるかもしれません。実際、Googleの公式ページでも旧名称が使われているケースがあると指摘されています。しかし、今後は「Google Cloud」が正式名称であることを意識し、最新の情報に基づいて適切な呼び名を使うことが求められます。

まとめとして、エンジニアや関係者は「GCP」が旧称であることを認識し、正式名称である「Google Cloud」を使うように心がけるべきです。

....

次の記事は「RTX4090で最近の日本語ローカルLLMたちを動かしてみた」です。

こちらの記事では、株式会社ファースト・オートメーションのCTOである田中氏が、RTX4090を使って日本語ローカルLLMを比較した内容を紹介しています。使用したPCにはRTX4090が搭載されており、各モデルを量子化して全てのモデルをGPUに載せて実行しました。比較対象となったモデルはPhi-3 medium、Gemma-2 27b、Llama3-swallow 70b、Calm3 22bです。評価方法として、ローカルLLMにプロンプトを与え、その回答を比較・評価しました。

結果として、GPT-4oとLlama3-swallow 70b、Calm3 22bが同点でトップ評価を受けました。田中氏は、単純な文書生成ではローカルLLMがGPT-4oに匹敵するレベルに達していると感じ、より複雑な質問での評価が必要と感じました。また、実行スピードの面ではPhi-3が最も速く、Llama3-swallow 70bは量子化されても遅いとのことです。

最後に、株式会社ファースト・オートメーションはローカルLLMを使ったプロダクトや製造業の改善に興味のある仲間を募集中とのことです。

....

続いての記事は「DDDを実践するための手引き(ドメインイベント編)」です。

ドメインイベントはドメイン駆動設計(DDD)の重要なパターンで、ビジネスドメイン上で発生した重要な出来事を表すメッセージです。イベントは集約の状態変化を表現し、通常は集約から発生します。用途としては、他の処理をトリガーする、イベントの記録と活用、イベントソーシング、コマンドとクエリの責務分離(CQRS)、ビジネスドメインの分析・モデリング(イベントストーミング)などがあります。

実装方法としては、ドメインイベントを生成し、境界づけられたコンテキスト内で処理する必要があります。代表的なパターンは、集約自身がドメインイベントを発行する、集約がドメインイベントを保持し後で発行する、集約のコマンドがイベントを返すなどがあります。イベントハンドラーを定義し、イベントのディスパッチは同期的または非同期的に行います。

また、イベントを外部システムと連携させるために変換して公開する統合イベント(Integration Event)も重要です。統合イベントはドメインイベントを変換して外部に公開し、契約としての性質を持ちます。ドメインイベントと統合イベントの設計や実装には、複数の書籍や文献を参考にすることが推奨されます。

....

次の記事は「Vitest Browser Modeがアツい」です。

Vitest Browser Modeは、従来の仮想ブラウザ環境の問題を解決する新しいテストモードです。これまでのテスト環境では、偽のブラウザ環境を使うことで多くの問題が生じ、開発者は自らWeb APIをモックする必要がありました。Vitest Browser Modeを使うことで、実際のブラウザ環境でコンポーネントのテストが可能になり、手間を省くことができます。

インストールは公式ガイドを参照し、Providerには`preview`、`playwright`、`webdriverio`が選択可能です。特にCIでのテスト実行には`playwright`か`webdriverio`が推奨されています。デモでは、Radix UIのTooltipコンポーネントを例にとり、テストの設定方法や実行方法を紹介しています。従来のjsdomを使ったテストでは、未実装のResizeObserverをモックする必要がありましたが、Browser Modeではその手間が不要です。

Browser Modeを使うことで、テスト環境の構築が簡便化され、リアルなブラウザ環境でのテストが可能になった点が強調されています。特に複雑なコンポーネントテストにおいて、従来の手間を大幅に削減できる点が魅力です。

....

最後の記事は「次世代Web BandlerのFarmが熱そう」です。

「Farm」は2024年4月にリリースされた次世代のWeb Bandlerで、Rustで実装されているため高パフォーマンスと低メモリ使用量が特徴です。FarmはJavaScriptやTypeScriptなどの主要な言語に対応し、Viteとも互換性があり、導入が容易です。特に、ビルド速度が他のバンドラーに比べて非常に高速で、webpackより20倍、Viteより10倍速いとされています。また、低メモリ消費も実現しており、大規模プロジェクトでも効率的に動作します。

Farmの特長として、以下のポイントが挙げられます:
1. 高速なビルド速度
2. 低メモリ消費
3. モダンな言語サポート
4. プラグインエコシステム
5. 開発者体験の向上
6. ブラウザ互換性の確保

Farmはまだv1.2.4とリリースされたばかりで、今後の発展が期待されるツールです。GitHub Starも順調に増えており、今後の動向を見守る必要があります。エンジニアにとっては、Farmの高速性と低メモリ消費が特に魅力的なポイントとなるでしょう。

....

さて、今日紹介した記事を駆け足でおさらいしますね。「GCP という呼び名はもう古いので気をつける」、「RTX4090で最近の日本語ローカルLLMたちを動かしてみた」、「DDDを実践するための手引き(ドメインイベント編)」、「Vitest Browser Modeがアツい」、そして「次世代Web BandlerのFarmが熱そう」の5つです。

詳しい内容はショーノートに書いてありますので、そちらもぜひチェックしてくださいね。そして、番組の感想もお待ちしています。次回もお楽しみに!それでは、マイクでした。バイバイ!

Related episodes

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