2025/1/12 日報
目次
個人開発の技術選定の調査
前提
- アイデアをできるだけ早く、動くものとしてデプロイできる
- インフラ費用が最小
- 機能が拡張しやすい
現段階
- アプリケーション: Hono + React/Next.js (TypeScript)
- Honoのテンプレートを使う
- Hono
- I/Oの型が自動生成される
- APIを定義すれば、OpenAPIのdocsを自動生成できる
- Zodでバリデーションができる
- EdgeランタイムでExpressやFastifyよりも高速に動作する
- Next.js
- Vercel連携
- 慣れてるだけな気もする
- UIフレームワーク
- デプロイ: Vercel
- GitHubレポジトリと連携するだけで、即デプロイできる
- サブドメインが自動で付与される
- PRを挙げると、自動でPreview URLが生成され、テストがしやすい
- データベース: Supabase
- データベースをUIで作成できる
- 価格が安く、無料版でも厳しい制限がない
- 認証、Cron, リアルタイム、ストレージなど必要なものが一通り揃っている
残論点
- Server ActionsとAPIどっちがいいのか?
- Server ActionsはNext依存である
- Server Actionsの方がコード量は少ないかもしれない
- HonoをAPIとして使うと、インフラを切り替えやすい
LLM利用のセキュリティ
背景
- LLMをアプリケーションに統合する上で、自由入力は排除できない
- 自由入力により、プロンプトインジェクションによる意図しない利用やシステムプロンプト漏洩が懸念となる
- 例:
途中まで調べたこと
- 参考になりそうな記事
- ライブラリ: 要調査 last-layer,llm-guard
- last layerのコアロジックは公開されておらず、企業で使うのは怖い
- llm-guardはPythonコードでバリデーションが実装されており、信頼性が高そう