こんにちは、マイクです!今日は2024年8月14日、火曜日ですね。今日も「zenncast」をお聴きいただきありがとうございます!今日はZennでトレンドの記事を紹介していきますよ。
さて、前回紹介した記事についてですが、今回は特に触れずに進みますね。
それでは、今日紹介する記事の本数は、全部で5本です!まず最初の記事からお話ししましょう。
【React】リッチテキストエディタ(Quill、Tiptap、Slate...)の考え方や前提知識についての内容です。リッチテキストエディタの移行経験を通じて得た知識を紹介しています。筆者はQuillからTiptapへの移行を行い、その際の考え方や前提知識を整理したとのことです。リッチテキストエディタは一般的にContenteditable属性を使用して実装されているので、IMEやショートカットキーの扱いには注意が必要です。また、HTMLをバックエンドで扱う場合、ネイティブアプリでの表示やセキュリティ、解析の難しさが課題となるそうです。データの読み書きにはHTMLとJSONの選択肢があり、それぞれにメリットとデメリットがあるとのことです。エディタのカスタマイズは自由度が高いですが、動作の規定や変換ロジックは自分で管理する必要があります。特に、入力操作をDOMに変換するロジックや、エディタに入力されたコンテンツをエクスポートする方法が重要です。TiptapやSlateはカスタマイズ可能ですが、エコシステムやOSSとしての維持管理能力も考慮すべきポイントですね。同時編集機能は複雑な要件なので、導入は慎重にしたいところです。それでは次の記事に行きましょう。
。...。...。...
次は、Server Actions で経費削減できた話についてです。個人開発で運用していたシステムは、`App Router`をフロントエンドに、`kotlin / Spring Boot / REST API`をサーバーサイドに使用していたそうです。AWS上の環境が2年目から月々2000~3000円の費用が発生していたため、`Server Actions`を採用してサーバーサイドを刷新した結果、いくつかのメリットとデメリットがあったことが書かれています。
まず、メリットとしては、サーバー使用量が全て無料となり、コストが大幅に削減できたこと、TypeScriptのみで改修可能になり、開発効率が向上したこと、REST APIやサーバーサイドを立ち上げる手間がなくなったことが挙げられています。一方で、デメリットとしては、`App Router`がサーバーサイドのコードを管理するため、ディレクトリ設計を再考する必要があったことや、無料のRDBを使用しているためパフォーマンスが若干低下したこと、以前の`kotlin / Spring Boot`のシステムを廃止することになった点などがあります。改修には、ToDoアプリを題材にし、`Server Actions on Vercel`、`Apollo / hasura with GraphQL`、`PostgreSQL on NeonDB`を使用して、メンテナンスコストを大幅に削減したとのことです。では、次の記事に進みましょう。
。...。...。...
次は、はじめてモバイルアプリ開発して諦めた話です。著者は3ヶ月間、アラーム共有アプリを開発しましたが、iOSのバックグラウンド実行の制約により、最終的にプロジェクトを諦めたそうです。アプリの概要としては、家族やグループで同じ時間に起床できるよう、アラームの時間や曜日を共有する機能があるとのことです。技術選定としてReact Nativeを選び、Expoを利用して効率的に開発を進めたものの、バックグラウンドでのアラーム鳴動が実現できなかったことが主な課題だったそうです。アプリはローカルストレージとFirebase Realtime Databaseを使用してデータを管理しており、アラームが鳴るトリガーはアプリの状態に応じて異なるそうです。著者は次回の開発に向けて新たなアイデアを模索する意欲を示しています。iOSのバックグラウンド機能の制限が大きな壁だったとのことですね。それでは、次の記事に行きましょう。
。...。...。...
次は、AVX10.2の新機能についてです。AVX10.2は将来のIntel製CPUに搭載予定の命令セット拡張で、いくつかの重要な新機能を提供します。まず、静的な丸め指定が可能になり、従来のAVX-512ではできなかった丸め指定が256ビットでも利用可能になるとのことです。また、AI向けに浮動小数点演算が強化され、FP8という新しいデータ型がサポートされます。FP8はディープラーニングにおける低精度演算を効率化するために設計されたものです。IEEE 754-2019のmin/max演算もサポートされ、この新しい命令群によって浮動小数点数のmin/max演算がより簡潔に行えるようになります。これらの新機能は、特にAIや数値計算において、パフォーマンスの向上が期待されるとのことです。それでは最後の記事に進みましょう。
。...。...。...
最後は、あらゆる分野のRAGの性能を評価する手法RAGEvalについてです。RAGEvalは、RAG(Retrieval-Augmented Generation)システムの性能を評価するためのフレームワークです。ドキュメントと質問、正解ドキュメントが必要ですが、既存のデータセットは多くが英語で特定のドメインに偏っているため、自社でのデータセット作成が難しいという課題がありました。RAGEvalは、LLM(大規模言語モデル)を用いて、自動的に評価用データセットを生成することが可能です。評価は、完全性、幻覚、無関連性、リコール、有効情報率の5つの指標に基づいて行われ、生成されたデータを人間が確認し、他の手法と比較することが重要です。実験では、RAGEvalで生成されたデータセットを使用して、複数のLLMの性能を比較した結果、GPT-4oが多くの項目で優れた性能を示しました。RAGEvalによって、RAGシステムの評価が効率化され、特定のドメインに特化したデータセットを生成することで、開発が容易になる可能性があるそうです。
さて、今日は紹介した記事を駆け足でおさらいしましたね。次回またお会いできるのを楽しみにしています!詳しい内容はショーノートに書いてありますので、そちらもぜひご覧ください。番組の感想もお待ちしています!それでは、また次回お会いしましょう!