-
Vercel Edge FunctionsとUpstash Redisで実現する、安全で低遅延なフィルタリングによるデータ漏洩防止
インターネット上では、データ漏洩が深刻な問題となっています。Statistaの調査によると、2022年だけで4億人以上がデータ漏洩の影響を受けました。自分のデータがネット上に流出することを望む人は誰もいません。そのため、ユーザーのプライバシーを尊重するセキュアなアプリケーションの構築は、多くの業界において極めて重要な課題です。 データ漏洩に対抗する有効な手段の一つが、問題のあるデータを他のサービスやユーザーへ配信する前にフィルタリングすることです。この手法には、データの見逃しを防ぐための常に最新のフィルターと、フィルタリングによるパフォーマンスへの影響を最小限に抑えるための低遅延インフラという
-
Next.js・Replicate・Redisで作るAI画像キャプションアプリ開発ガイド
AIがますます身近な存在となる中、Replicateのような企業は機械学習モデルをプロジェクトへシームレスに組み込むことを容易にしています。 本記事では、ユーザーが画像をアップロードするとAIが生成したテキストキャプションを受け取れるWebアプリケーション「CaptionAI」の開発方法について解説します。このプロジェクトはVercelの公式テンプレートをベースに構築しており、開発の様子を収めた解説動画も公開されています。 使用する技術スタック Next.js 13(フロントエンドおよびバックエンド) Upstash Redis(レート制限) Replicate(機械学習API) Tail
-
レート制限アナリティクス登場:APIレート制限の可視化と最適化ガイド
@upstash/ratelimit ライブラリに新機能「Rate Limit Analytics(レート制限アナリティクス)」が追加されました。ライブラリの利用者が増えるにつれ、多くの貴重なフィードバックをいただくようになりました。その中で特に要望が多かったのが、アプリケーション全体のパフォーマンスや、レート制限が各ユーザーにどのように適用されているかを把握できる機能でした。 今回ご紹介する Rate Limit Dashboard(レート制限ダッシュボード)を使えば、まさにそれが実現できます。レート制限の状況を簡単に可視化・分析できるようになり、アプリケーションのパフォーマンスをより深く理
-
Upstash RedisでNext.jsブログに閲覧数カウンターを実装する方法
Leeさんのブログでは、すべての記事に閲覧数が表示されており、それに触発されて、自分のサイトにも同じ機能を導入したいと思うようになりました。私のプロジェクトでもNext.js 13の新しいApp Routerを使用していますが、ページビューの保存にはMySQLデータベースではなくUpstash Redisを採用します。 以下は、今回構築する機能のイメージです。トップページの各カードには、それぞれの記事の閲覧数が表示されます。 なぜRedisなのか? Redisには、重複排除とカウンターのインクリメントを簡単に実現できる、優れたコマンドが2つ標準で用意されています。 より正確なカウンターを実現
-
AWS Lambda・Python・Upstash Redisで構築するサーバーレスURL短縮ツール完全ガイド
本記事では、Upstash Redis、AWS Lambda(Python)、AWS API Gatewayを組み合わせて、サーバーレスのURL短縮サービスを構築する手順を解説します。Python製のLambda関数を作成し、Redisに接続して、API経由で利用できるようにするまでの一連の流れを学べる内容となっています。 プロジェクトの実装例はこちらから確認できます:URL Shortener 注意:出力されるURLはデモ用です。実際に運用するURL短縮サービスであれば、より短くシンプルなドメインを使用します。ここでは機能の実装自体に焦点を当てています。 プロジェクトの全体像 このプロジェ
-
RedisとUpstashでOpenAIプロジェクトを強化する:主要ユースケースと今後の機能計画
はじめに 近年、多くの開発者がUpstashをOpenAIはもちろん、Google Cloud AI、IBM Watson、Hugging Faceなどの各種AI APIと組み合わせて活用しています。本記事では、最も一般的なユースケースをご紹介するとともに、今後さらに多くの機能をサポートしていくための計画についてもお伝えします。 レート制限(Rate Limiting) レート制限は、AIアプリケーションを運用するうえで欠かせない重要な仕組みであり、開発者とユーザーの双方を保護する役割を果たします。AIアプリケーションは大量のデータ処理や複雑な計算を行うため、多大なコンピューティングリソース
-
Astro・Upstash・GitHubで作る無料オープンソースのLinkTree代替サービス構築ガイド
この記事では、LinkTreeのオープンソース代替サービスであるitsmy.fyiが、Upstash・Astro・GitHub・Edgioをどのように組み合わせて構築されているのかを詳しく解説します。Upstashは全ユーザーのデータ管理(CRUD操作)を担い、GitHub APIと比べてはるかに寛容なレート制限を提供してくれるため、きめ細かなレートリミットの実装も容易になりました。 使用する技術スタック Astro — フロントエンドおよびバックエンド Upstash — レート制限とCRUD操作 GitHub Issue & Webhooks — ユーザープロフィールを管理する
-
Firebase・Upstash・SvelteKitで作るオープンソースJIRAクローン開発ガイド
本記事では、Upstash、SvelteKit、Firebase Storageを活用して、Jiraのカンバンボードに代わるオープンソースアプリケーションを構築した方法について詳しく解説します。 使用する技術スタック SvelteKit(UIおよびAPIルート) Upstash(CRUD操作) Tailwind CSS(スタイリング) Firebase Storage(画像やPDFなどのアセット保存) Auth.jsによるSvelteKit Auth 事前に必要なもの データベース作成用のUpstashアカウント ストレージコンテナ作成用のFirebaseアカウント OAuthクレデン
-
Redis と NextAuth で Next.js ブログに安全なコメント機能を実装する方法
このチュートリアルでは、ブログにコメントセクションを実装する方法を解説します。使用する技術スタックは以下の通りです。 Next.js 13(App ディレクトリ構成) NextAuth(認証) Upstash Redis(コメントの保存) SWR(コメントのキャッシュと再検証) それでは始めましょう。 NextAuth で認証を処理する まず、誰でも自由にコメントを投稿できる状態は避けなければなりません。スクリプトを使ってスパムコメントを大量投稿されてしまう恐れがあるからです。コメント投稿を許可する前に、まず認証システムを構築しましょう。ここでは NextAuth を使用します。 プロジェ
-
Upstash Kafka・Redis・Next.jsでリアルタイムチャットアプリを構築する完全ガイド
プロジェクト概要 この記事では、ユーザーがメッセージクライアントやチャットルームを作成でき、過去のメッセージ履歴にもアクセスできるメッセージングアプリケーションを構築します。 本プロジェクトは2つのページで構成されています。1ページ目はクライアント登録専用のページで、一意の名前を持つ複数のクライアントを作成できます。 クライアントのユーザー名をクリックすると、そのユーザーに関連付けられたチャットルーム画面へ移動します。 チャットアプリの仕組み チャットアプリケーションのロジックは以下の通りです。 ユーザーはインデックスページで一意のユーザー名を持つ複数のクライアントを作成できます。ユーザー
-
Upstash RedisとCloudflare Workersを連携:サーバーレスURL短縮ツールの作り方
Cloudflareは recently、Cloudflare Workers向けのUpstashインテグレーションをリリースしました。これにより、Workers上でUpstash製品をこれまで以上に簡単に利用できるようになっています。本記事では、Upstash Redisインテグレーションを活用して、サーバーレスのURL短縮ツールを構築する方法を解説します。 はじめに このプロジェクトの構築手順は以下の通りです。 Upstashデータベースのセットアップ CloudflareでのWorker作成 Cloudflare WorkersとUpstashの連携 プロジェクトロジックの実装 アプリ
-
QStashで実現するタイムゾーン対応メールスケジューリング:ユーザーの現地時間に合わせた通知送信の実装ガイド
ドキュメントフィードバックツール「docsly」では、ユーザーが直近1週間または1か月に受け取ったフィードバックのサマリーをメールで届ける新機能をリリースしました。メール送信自体は珍しい課題ではありませんが、私たちはこの点でも最高のユーザー体験を提供したいと考えました。そこで、深夜や早朝といった変な時間帯にメールが届かないよう、すべてのメールをユーザーのタイムゾーンで送信することを決めました。さらに、ユーザーが受信頻度を選べること、そしてスケジュール済みのメール通知をいつでもキャンセルできることも要件に含めました。 実装が難しかった理由 このソリューションの実装は一筋縄ではいきませんでした。理
-
パフォーマンスの向上とコスト削減:Upstash RedisでOpenAI APIのレスポンスをキャッシュする方法
OpenAI APIを使ったことがある方なら、その応答がかなり遅く、場合によってはまったく応答しないことにお気づきかもしれません。特にGPT-4モデルはレイテンシ(応答遅延)が高くなりがちです。さらに、取得した回答ごとに課金されます。これらは、APIのレスポンスをそのままユーザーに提供すべきではない理由です。 こうした問題を回避するには、Upstash Redisにレスポンスを保存するのが有効です。同じレスポンスを多数のクライアントに配信する場合、かなりのコストを節約でき、グローバルに展開されたデータベースにより、ユーザーは可能な限り迅速に情報を取得できます。 本記事では、OpenAI API
-
ClerkとUpstash Redisで構築する、安全かつスケーラブルなセッションストアの作り方
Redisの主要なユースケースのひとつが、Webアプリケーションにおいてリクエスト間の状態を維持するためのユーザーセッションの保存・管理です。実装方法は複数あり、近年登場したサーバーレスツールの中には、簡単にデプロイできる選択肢を提供しているものもあります。 ユーザーセッションデータの管理は、さまざまなビジネスアプリケーションにとって非常に重要です。たとえば、パーソナライゼーションプラットフォームでは、Redisを使ってユーザーの操作履歴や設定を保存し、カスタマイズされたコンテンツや商品のおすすめを提供しています。ゲーム業界では、プレイヤー同士のやり取りをリアルタイムに追跡することで、快適なマ
-
LangChainとUpstash Redisでチャット履歴を永続化する方法
LangChainは、人間とAIの間の対話を実現するためのシンプルなインターフェースを提供しています。BufferMemoryを使うよう簡単に設定でき、会話履歴をメモリ上に保存できます。一部のユースケースではそれで十分ですが、アプリによってはチャット履歴を長期的に永続化したいケースもあるでしょう。幸い、これをUpstash Redisインスタンスに差し替えるのも同じくらい簡単です。 LangChainには、ioredis、node-redis、Upstash Redisなど、Redis向けの複数の統合機能が用意されています。Upstash RedisクライアントはREST経由で動作するため、V
-
パフォーマンス向上の鍵:LangChain・Redis・QStashで実現するオンデマンドLLMキャッシング
アプリケーションによっては、ユーザーからのリクエストのたびにLLMへ問い合わせることが現実的でないケースがあります。プロンプトをAPIに送信し、レスポンスを待つ一連の処理はどうしても時間がかかりがちです。PDFや音声ファイルからデータを抽出してLLMに渡すといった、LangChainを使った複雑なタスクになると、この遅延がユーザーエクスペリエンスに与える影響はさらに深刻になります。 ストリーミングも多くの場面で有効な解決策ですが、ユーザーがアプリケーションにアクセスする前の時点で処理を完了させておく方が都合が良いこともあります。そうすることで、キャッシュ済みのレスポンスをほぼ瞬時にユーザーへ提
-
Cloudflare KV vs Upstash Redis:実世界パフォーマンスベンチマーク徹底比較
デプロイプラットフォームを選ぶ際、実際の運用環境におけるパフォーマンスを公平に比較するのは非常に難しいものです。とりわけサーバーレスプラットフォームは、グローバルエッジ配置による超低レイテンシを売りにしているため、なおさらです。しかし、肝心のデータ取得が遅ければ、低レイテンシにどんな意味があるのでしょうか?APIがユーザーのすぐ近くで動作していても、データ取得のために地球の裏側へのネットワーク往復が発生するようでは、快適なユーザー体験は望めません。 従来、コンピュートとストレージは単一のサーバー上、あるいはせいぜい同一データセンター内に共存していました。しかしサーバーレスやエッジ関数の台頭によ
-
Deno KVとUpstash Redisを徹底比較!パフォーマンスとコストの実測ベンチマーク
約2週間前、私たちはCloudflare KVとUpstash Redisのパフォーマンスおよびコストを比較しました。今回は、Denoのグローバルエッジネットワーク上で動作するDenoネイティブのキーバリューストア「Deno KV」を取り上げます。 Deno KVはアーキテクチャの面でUpstash Redisとよく似ています。どちらのストアも、すべての書き込みが送信されるプライマリリージョンを持ち、そこから他のすべてのリージョンへレプリケーションされます。読み取りはクライアントに最も近いリージョンから提供されます。RedisにはKVにはない多くの機能があるため、利用可能な機能には多くの違いが
-
LangChain・Faiss・Next.jsでカスタムAIチャットボットを構築する方法 – 実践チュートリアル
本記事では、Upstash、Next.js、LangChain、Fly.ioを組み合わせて、オープンソースのカスタムコンテンツAIチャットボットを実際に構築した手順を詳しく解説します。Upstashを活用することで、モデル学習のスケジューリング、寛容なレートリミット設定、OpenAI APIレスポンスのキャッシングを実現できました。 使用する技術スタック Next.js: フロントエンドとバックエンドの両方を担当 LangChain: 言語モデルを活用したアプリケーション開発用フレームワーク Upstash: QStashによるモデル学習のスケジューリング、レートリミット、OpenAIレス
-
Ably・Upstash Redis・Node.jsで構築するリアルタイムチャットアプリの作り方
本記事では、ユーザーがチャットグループに参加し、リアルタイムでコミュニケーションできるシンプルなリアルタイムチャットアプリケーションを作成します。 低レイテンシでユーザー間のリアルタイムメッセージングを実現する「Ably」、メッセージを永続的に保存する「Upstash Redis」、そしてアプリケーションを構築するための「Node.js」という3つの技術を組み合わせて実装していきます。 Ablyとは Ablyは、ユーザー間の双方向通信を可能にするリアルタイムエクスペリエンスプラットフォームです。 このチャットアプリでは、AblyのPub/Subチャネルを活用します。ユーザーはAblyチャネルに