RemixでVercel AI SDKを使う時はzodを添える
この記事では、RemixアプリケーションでVercel AI SDKを使用する際に発生する「z8.string(…).base64 is not a function」エラーの原因と解決策を解説しています。エラーの原因はzodライブラリの依存関係が明示的にインストールされていないことでした。zodをインストールすることで問題が解決し、Anthropicの言語モデルを使ったストリーミングレスポンスの実装例も紹介されています。
I posted several blog platform. So we can easy to summarize of my blog in this page.
この記事では、RemixアプリケーションでVercel AI SDKを使用する際に発生する「z8.string(…).base64 is not a function」エラーの原因と解決策を解説しています。エラーの原因はzodライブラリの依存関係が明示的にインストールされていないことでした。zodをインストールすることで問題が解決し、Anthropicの言語モデルを使ったストリーミングレスポンスの実装例も紹介されています。
この記事では、Cloudflare Workersで開発中のAPIをローカル環境のみで実行できるようにするコードスニペットを紹介しています。リクエストのホスト名をチェックし、ローカルホストからのアクセスのみを許可することで、安全な開発環境を実現できます。
この記事では、LINEのメッセージングAPIでチャットのローディングアニメーションを表示する方法をTypeScriptで実装しています。秒数を型で制限し、FetchでAPIを直接呼び出す方法を紹介。関数化した実装例も掲載されており、チャンネルアクセストークン、チャットID、秒数を指定するだけで簡単にローディングアニメーションを表示できます。
この記事では、Cloudflare WorkersでVitestを使用してテストを行う際に発生する「`SELF`バインディングエラー」の解決方法を解説しています。`poolOptions.workers.main`の設定を追加することで、ワーカーのエントリーポイントを正しく認識し、リアルなインテグレーションテストが可能になります。
この記事では、ClerkとStripeを連携させて無料トライアル付きのサブスクリプションシステムを実装する方法を解説しています。ユーザー新規登録時にStripeで顧客を作成し無料プランを付与、退会時に顧客情報を削除するなど、認証と課金を一元管理できます。Webhookの署名検証やユーザーメタデータの活用など、実装のポイントも紹介されています。
Cloudflare Pages、React、Hono を組み合わせたサーバーレスフルスタック開発の手法。単一リポジトリで管理でき、git push一発でデプロイ。Cloudflareのエッジネットワークを活用した高速応答と、Vite、TypeScriptによる快適な開発体験。
GitHub連携時のClaudeでは、lockファイルやテストカバレッジ、publicディレクトリなど質問に不要な大量のファイルを読み込むと、すぐに入力文字数の上限に達してしまいます。関係ないファイルは適切に除外し、効率的にAIを活用しましょう。
Cursorの独自UIコンポーネントサポート能力を検証。Stripe AppsのUIコンポーネントを一定程度生成できるが、完璧ではない。しかし開発の叩き台や速達チケットとしては有効で、人間の知識力が試される範囲にあると結論づけている。
Stripe Appsから外部APIを呼び出す際のCORS設定の落とし穴と対処法について。Stripe Dashboardの実行環境の仕様により、originがnullになるため、緩めのCORS設定が必要。代わりに署名検証を行い、セキュリティを確保する必要がある。
Cloudflareなどのエッジ環境でStripeのWebhookを実装する際、同期処理でエラーが発生する可能性があります。その対策として、非同期版の`verifyHeaderAsync`メソッドを使うことで、エッジ環境でも安全にWebhookの署名検証ができます。
この記事では、物理的なアイテムを提供したり、初期設定を完了したりする必要がある場合に、顧客にサービスを提供する方法について説明します。Stripe Billing と Checkout を使用して新…
この記事では、生成AIとStripeの新しいエージェント向けSDKを活用したAIエージェントの開発・テストをGoogle Colaboratory (Google Colab)で簡単に行う方法を紹介…
この記事では、Stripeを利用した決済フォームを実装する際に、リダイレクトをオフにする方法をElements / Checkoutの2つで紹介します。kintoneなどのビジネスアプリケーションに…
この記事では、VS CodeそしてGItHub Copilotを利用して決済・サブスクリプション機能の開発をスムーズに行う方法を紹介します。これからStripeの組み込みを開始するという開発者だけで…
複数のStripeアカウントで開発や運用を行っていると、プロジェクトで利用しているAPIキーがどのStripeアカウントで利用しているものかがわからなくなることがあります。 この記事では、APIキーから対象のStripeアカウントを特定する方法を紹介します。 Checkout Sessionを利用して確認する もっとも簡単な方法は、Checkout Sessionを利用することです。Checkout Sessionには、カード情報を保存するためのsetupモードが用意されています。setupモードでセッションを作成し、リダイレクトを行うAPIを実装しましょう。 app.get('/c...
Stripeにはサービス連携やカスタムUI、ワークフローなどを構築・カスタマイズできる「Stripe Apps」があります。 https://stripe.com/jp/apps これをローカルで開発する際、時より「localhost:4242 is already in use」というエラーが発生することがあります。 今回はこのエラーが発生した時の対処法を簡単に紹介します。 ステップ1: 現在のポート使用状況の確認 エラーが発生した際、まず確認することは、対象のポートを使用しているプロセスがあるかどうかをチェックすることです。Terminalやコマンドプロンプトで以下のコマンドを実...
このワークショップでは、StripeとNext.jsを利用したシンプルなe-commerceサイトを作る方法を学びます。 "
StripeのPayment Linksを利用すると、コードを書かずにクレジットカードなどの決済を受け付けるURLを作成できます。 また、Dashboardで設定を行うことで、割引やGoogle Analyticsでのトラッキング、QRコード発行なども簡単に行えます。 この本では、Stripe Payment Linksを使って、簡単に決済・サブスクリプション申し込みを組み込む方法を紹介します。 サービスやアプリを新しくスタートする際に欠かせない「オンライン決済」を、Payment Linksでシンプルにはじめましょう。
dev.to/stripe のStripe Connect fundamentals Seriesを日本語化していきます。2章以降は随時追加予定
AstroとCloudflareそしてStripeを利用して、サブスクリプションの申し込みページを構築します。
「Cloudflare Workers」を利用すると、サーバーレスなアプリケーションをCloudflareのデータセンターにデプロイできます。 この記事では、これからCloudflare Workers(以下Workers)を触ってみようという方向けの、簡単なAPIの作り方を紹介します。 Stripe SDKを利用して、オリジナルのPayment Linksを作るAPIを作成しよう ここでは、「Stripeの決済フォームへ遷移するAPI」をWorkers上に作りましょう。 ユーザーがWorkersのURLにアクセスする Workers内でStripe SDKを利用して、Checko...
このワークショップ資料は、JP_Stripesで開催された「AWSでサーバーレスなSaaSバックエンド開発ワークショップ」の後編資料です。 ここでは、AWS Step FunctionsとAWS CloudFormationを利用したWordPressサーバーの起動システムを構築します。 その後、Amazon EventBridgeと連携させ、Stripeのサブスクリプション申し込みと連動してサーバーが起動するようにします。 AWSマネージメントコンソールとStripe Dashboardのみで完結する、ローコードなワークショップ資料です。
Stripeでは、決済方法の増加や法的な要件の追加といった周りの状況の変化に応じて、大きくAPIを変更することがあります。 その場合、より多くの決済方法や機能・オプションを利用するためには、実装の変更が必要です。 このガイドでは、言語・FW別に、Charge APIやToken APIから、Payment Intentsを利用した決済フローへ変更する方法を紹介します。
やりたかったこと /adminのように、特定のパス以下でのルーティングやファイル群をmoduleにまとめたい。 ベースアプリ 公式チュートリアルをやっていたので、これをリファクタリングした。 https://angular.jp/tutorial やったこと 1: 子ページのRoutingモジュールを作成 子ページにしたいコンポーネントのインポートとRouteの定義を実施。 ネスト先の場合、RouterModuleはforChildを使う。 import { NgModule } from '@angular/core'; import { RouterModule, R...
環境 "@angular/common": "^14.0.0", "@angular/compiler": "^14.0.0", "@angular/core": "^14.0.0", "@angular/router": "^14.0.0", "@angular-eslint/builder": "14.0.2", "@angular-eslint/eslint-plugin": "14.0.2", "@angular-eslint/eslint-plugin-template": "14.0.2", "@angula...
Next.jsを利用することで、より多様なwebサイト・アプリケーションを開発できるようになります。 今回のワークショップでは、Next.jsとStripeを利用した、シンプルなECサイトをフルスクラッチする方法を体験できます。 なお、このワークショップドキュメントは不定期にアップデートを行います。 内容が前回開催時と変更されている場合もございますのでご了承ください。
年末のJP_Stripe配信で、Stripe Connectでの住所の書き方の記事が話題になりました。 https://gist.github.com/toruf-stripe/60293ec99a333a7af1daaca31b562741 その中で、「Geoloniaがリリースしている住所正規化ライブラリが使えるのでは?」と思いつきで言っちゃったので、どこまでいけるか試してみました。 使用するライブラリ https://github.com/geolonia/normalize-japanese-addresses 表記揺れや新旧字体など、住所入力でありがちな揺らぎを吸収してくれ...
DevRel Advent Calendar 2021 20日目の遅刻記事です。 これまで 2013年ごろからWeb業界に入り、PHPやWordPressでプログラミングを始めました。 2015年にAWSを利用するSaaS企業に転職し、そこからはAWS LambdaまたはAmplifyとNetlify / Stripe / Algoliaを組み合わせるようなアプリケーションをJavaScript / TypeScriptで色々作ったり保守したりしていました。 現在地 2021年11月末からDeveloper AdvocateとしてStripeにジョインしました。 まだ1ヶ月経って...
2021/11/29から、Stripeにジョインしました。 自分の知る限りでは、日本でコミュニティ経由でStripeに入社したのは、自分が一人目なはずなので、そのへんの振り返りを兼ねて、Stripe Advent Calendar 1日目の記事としたいと思います。 StripeとStripeコミュニティへの関わり Stripeそのものを触り始め、Stripeコミュニティ(以降JP_Stripesと表記)への関わりが始まったのが2017年でした。 在籍していた会社でStripeを採用することになり、Stripeに関する情報がより知れる場所を探していた時期だったと記憶しています。そして...
GraphQL (AppSync)やREST APIですでに作成済みのDynamoDBテーブルにアクセスしたい場合、Amplify CLIでデータをインポートする必要があります。 Storageとしてimportする必要がある これ結構な罠な気がしますが、DynamoDBのテーブルはStorageとしてimportします。 amplify import storageを実行すると、S3バケットかDynamoDBかを質問されるので、ここでDynamoDBを選びましょう。 % amplify import storage ? Please select from one of the b...
できれば公式のExampleに持っていきたいので、PRたててリクエスト中。 https://github.com/serverless-nextjs/serverless-next.js/pull/1522 マージされたらそっちベースにちゃんとした記事書き直す予定。 Serverless Next.jsでAWS CDK Serverless Next.jsといえば、Serverless Componentを使う印象でした。が、最近CDK版も出たみたいです。 定義イメージ import * as cdk from '@aws-cdk/core'; import { NextJSLa...
Stripe Checkoutは少ないコード(ローコード)で単発・定期課金のカード決済システムを提供できるStripeのサービスです。この機能を、NestJSをつかったAPIと静的ホスティング機能を利用して、簡単な商品購入ページを作る本です。 # 触れるもの - NestJSで作るREST API - NestJSで静的なHTMLを配信する - Stripe Checkoutの決済URLの発行方法など NestJSの入門と、Stripe Checkoutのことはじめに役立てばと思い執筆しました。
Stripeから提供されているCLIツールのインストール方法や使い方について紹介します。 JP_Stripesなどのコミュニティイベントで紹介する内容を本としてまとめたものですので、本編については無料公開としています。 有料部分には個人的に使っているTipsのようなものを載せていますので、興味がある方はあわせてご覧ください。 ## 紹介しているCLI version v1.7.9 ## 前提としている環境 macOS / zsh
https://talkyjs.dev/ この記事について Amazon Alexaのカスタムスキルを開発する際に使用するnodejsのライブラリ、「ask-sdk」をより便利に使えるようにするフレームワークを作りました。 そして例によってその紹介記事をまともに書いていないことを思い出したので、ここにまとめます。 背景: スキル開発100チャレンジからask-utilsまで 2018 -> 2019年に「#スキル開発100チャレンジ」というものに挑戦してました。 https://twitter.com/search?q=%23スキル開発100チャレンジ&src=h...
ブログにまとめるほどでもないけど、記録しておきたかったのでこちらに。 現象 Ionic ReactでSPA AWS Amplify SDKをいれてAppSync(GraphQL)を使う ionic buildを実行 ビルドした後のアプリでCannot read property 'call' of undefinedが発生する 原因 どうもIonic Reactが内部的に使っているreact-scriptがAWS Amplify SDKの地雷を踏むらしい。 Issue: https://github.com/aws-amplify/amplify-js/issues/2667...
そのままデータが取れる系のAPIが見当たらない様子だったので、作ってみました。 コード import { useSelect } from '@wordpress/data'; const useCurrentPostCategories = () => { const categoryIds = wp.data.select('core/editor').getEditedPostAttribute('categories') return useSelect((select) => { const {getEntityRecords} = select('co...
AWSが突如としてリリースしたOSSが「AWS Northstar」です。 Aboutをざっと読む限り、「社内でのプロトタイピングなどを目的に作られたデザインシステム兼FWをオープンにしました」というところかなという感じですね。 せっかくなので触ってみます。 セットアップ 実際の実装ではTypeScriptを使っていますが、説明が面倒なのでこちらでは省きます。 $ npx create-react-app northstar $ cd northstar $ yarn add aws-northstar react-router react-router-dom Provid...
TypeScriptでいい感じにかけるライブラリとかが見当たらなかったので、自前で書いた覚書。 参考記事 https://stackoverflow.com/questions/51566816/what-is-the-best-way-to-mock-window-sessionstorage-in-jest https://github.com/facebook/jest/issues/2098 setupTests.ts const localStorageMock = (() => { let store = {}; return { getI...
Zennで何か書いてみようと思ったので、最近受験したAWS認定試験のことについて振り返ります。 AWS Certified Alexa Skill Builderとは AWSの認定資格の1つで、「Specialty」というカテゴリに含まれています。 Alexaスキルの開発や運用に関する知識の試験ですので、Alexaスキル開発に注力したい方は受験しておくとよいでしょう。 また、Alexaスキルに関する人材を採用したい企業は、この資格を持っている人であればある程度の知識があると判断できるかなと思います。 試験結果 試験は制限時間170分で、1,000点中750点以上獲得する必要がある...
Scope.Requestを使うケース こういうの https://qiita.com/rdlabo/items/7c25b711fa8db99512a6 起きること @Injectable({ s…
NestJS的にもAWS Lambda with API Gateway的にもアンチパターンな香りがしますが、欲しいものは欲しいので作りました。 https://www.npmjs.com/pack…
NestJSをLambdaでホストしているとき、特定のサービスのメソッドをダイレクトに実行したい場合があります。 例:cronジョブをCloudWatch Event -> Lambdaで実行する …
こういうエラーに遭遇することがある。 Something went wrong installing the "sharp" module The module '/opt/nodejs/node_…