Categories
AstroJavaScriptMarkdoc
hidetaka.devという個人のポートフォリオサイトを運用しており、Next.jsとNetlifyで公開していたが、SSRへの移行を検討。CloudflareとAstro採用し、MarkdocからNext.jsにカスタマイズ追加。Astroではastro.config.mjsに設定記述。取得処理やAstroコンポーネント実装も実施。Next.jsからAstroに移行し、getStaticProps内のカスタマイズもAstroコンポーネント側に移行。最終的にCloudflare Pagesでfsが使えないことが判明し、Markdocでのコンテンツ管理諦めたが、Astroの使用を今後他の環境でも検討。
CloudflareSaaS / FaaS
独自ドメインをCloudflareで管理する手順をまとめた内容で、Pagesへの登録やDNSの移行など詳細な手順が紹介されています。レコード情報のインポート機能や無料プランの利用が可能で、便利で使いやすい印象です。
sainty.io
WordCamp Asiaで話題の「Composable Content」について紹介。複数のページや媒体でコンテンツを合成するアプローチで、LPやコンテンツマーケティングが効率的に。Sanity.ioを使って記事作成方法やプロジェクト管理を体験。Sanityの特徴は、SaaS側がAPIや管理機能を提供し、ユーザーが管理UIを自身のアプリに組み込む点。コードで記事やコンテンツを管理し、参照関係を指定できるところが特に便利。CSSの設定やフローは親切で、セキュリティ面も強固。SANITYを使う際は、CQRS的なコンテンツ配信フローも検討可能。
AI / MLCloudflareLLM
LangSmithを使用して、LLMアプリのトレースと分析方法を調査中。Cloudflareにデプロイする際の環境変数の扱いについて説明。LangSmithでは環境変数のexportが必要であり、Cloudflareでは実行時の引数で設定。LangSmithの方法だとトレースが開始できないため、実行時に直接値を設定する方法を紹介。Honoを使用する際はmiddlewareを利用して全リクエストで処理可能。詳細は参考資料をご覧ください。
AI / MLLLM
LangChainやBedrockを使用してAIアプリを開発する際の課題は、「実行結果の評価」。LangSmithを利用し、実行結果のモニタリングやトレースログ確認を行うことが重要。無料でアカウントを作成し、デモ用プロジェクトを通じてLLMアプリの実行結果やトレース機能を活用することが可能。LangSmithは複数回のLLM API呼び出しをトレースするツールで、JavaScriptとPythonをサポート。環境変数の扱いには注意が必要。
Vercel
Vercelへのウェブサイト移行ではSSL証明書の事前発行が必要であり、CLIを使用して証明書をリクエストする方法が紹介されています。証明書発行後はTXTレコードを追加し、設定を確認してから証明書を発行します。SSL証明書エラーを避けるためにはcurlコマンドを使用して確認し、問題が解決されれば安全な移行が可能です。CLIのバージョンや–scopeオプションの使用にも注意が必要です。
Cloudflareremix
Remixを使用してCloudflare Pagesにデプロイを試みた結果、CLIツールを利用すると簡単にデプロイが完了した。セットアップ方法やフレームワークによっては調整が必要だが、CLIツールであれば対話形式でプロジェクトを作成し、デプロイまでがスムーズに行える。今後は、Next.jsなどでもCLIツールから立ち上げることで効率的に設定できる可能性が高い。最新版以外のフレームワークもあるため、「設定値だけ参照する」方法も検討すると良い。
CloudflareJavaScriptReactremixSaaS / FaaS
Remixアプリ開発でCloudflare Pagesへデプロイ時に発生した”Could not resolve”エラーの対策をまとめました。ライブラリのインポート元を@remix-run/cloudflareに変更し、Node.js環境依存エラーを解消できました。Remixではライブラリの選択に注意し、プロキシーファイルを作成することで環境別のライブラリインポートも検討できます。
生成系AIを利用したFAQアプリの精度向上を目指し、Cloudflare Workers上にRAGの仕組みを構築し、それを使って回答を生成し、記録する仕組みを作成しました。回答の精度を評価するため、Analytics Engineを使用し、REST API形式でSQLクエリを送信して結果を取得します。しかし、一部の回答が精度に疑問を残すこともあり、性能評価には追加の処理が必要です。また、プライバシー保護にも配慮する必要があります。
WordPress
WordCamp Kansai 2024を運営中に、決済エラーの問題に遭遇。Stripeのmetadata処理に関する不具合を発見し、修正に挑戦。エラーの原因はmetadataの値にオブジェクトが含まれることで、keyの置換で解決。修正パッチをPull requestで送信し、コミュニティに貢献。WordCampのコード修正を経験し、今後も関わりたいと考えている。WordPressのコミュニティ活動が成長に繋がる良い経験となった。