nagiyu

個人開発者による、実運用ベースの技術メディアです。 AWS・Next.js を主軸としたフルスタック開発で実際に直面した 設計判断と実装の詳細を、運用視点で記録しています。

特集記事

特集

AWS CDK で IAM 最小権限を設計する:Grant メソッドと PolicyStatement の使い分け

AWS CDK でコンストラクト間の権限を付与する方法を解説。Grant メソッド・addToRolePolicy・PolicyStatement の使い分け、ARN のハードコードを避けるテクニック、ユニットテストによる権限検証まで実運用ベースで整理します。

2026-05-21
AWSCDKIAM
特集

GitHub Actions でモノレポの差分デプロイを実装する

モノレポ構成で GitHub Actions を使い、変更があったサービスだけをデプロイするワークフローの実装方法を解説。paths フィルタ・dorny/paths-filter・依存ライブラリ変更時の波及・並列実行までカバーします。

2026-04-02
GitHub ActionsCI/CDmonorepo

最新の技術記事

直近に公開・更新した技術記事です。AWS・Next.js・開発ツールを中心に記録しています。

zod でランタイムバリデーションと型を一元化する

TypeScript の型は実行時には消える。外部から来る入力を信用しないために、zod でスキーマを単一の真実源にし、ランタイム検証と静的型を一元化する方法を、parse/safeParse の使い分けや API 境界での実践とともに整理します。

2026-06-20
TypeScriptzodバリデーション型設計

Auth.js の signOut がリバースプロキシ背後で内部ホストにリダイレクトする問題

Auth.js(NextAuth)の signOut が、ALB / CloudFront などのリバースプロキシ背後で `ip-10-2-0-48.ec2.internal` のような内部ホスト名にリダイレクトして ERR_NAME_NOT_RESOLVED になる原因と、サーバー側リダイレクト解決に頼らずクライアント側で遷移する確実な対処を解説します。

2026-06-14
Next.jsAuth.jsNextAuth認証リバースプロキシ

DynamoDB の GSI は 1 デプロイにつき 1 つまで:CloudFormation 一括追加でハマった話

CloudFormation / CDK で DynamoDB テーブルに GSI を 2 つ同時追加して "Cannot perform more than one GSI creation or deletion in a single update" で本番デプロイが失敗した実体験を整理。UPDATE 時のみの制約・CREATE 時は一括 OK という仕様の差、RETAIN を踏まえた復旧手順、本番で使える恒久対策まで解説します。

2026-06-14
AWSDynamoDBCloudFormationCDK運用

Markdown を DOMPurify で安全にレンダリングする:Next.js SSG の XSS 対策

Next.js SSG で Markdown を HTML 化して dangerouslySetInnerHTML で描画する際の XSS リスクを解説し、DOMPurify(isomorphic-dompurify)によるサニタイズとリポジトリ規約に沿った責務分離設計を紹介します。

2026-06-14
Next.jsセキュリティMarkdown

draw.io が「d.setId is not a function」で開けない:ID と Array.prototype の衝突

draw.io で特定の .drawio ファイルを開いたときに「d.setId is not a function」が出る原因を解説します。mxGraph のデコーダがキャッシュに配列を使っており、セルの id 属性が Array.prototype のメンバ名(push など)と衝突すると、プロトタイプチェーンを経由して関数が返ってしまうのが真因です。再現手順・修正方法・JavaScript での汎用的な対策まで整理します。

2026-06-13
JavaScriptTypeScriptデバッグdraw.io

EventBridge Rules で定期バッチを CDK で組む:資産・株価管理サービスの 6 ルール構成

AWS CDK(aws-events)を使って EventBridge Rules でバッチ定期実行を組む方法を解説。rate() / cron() の使い分け、LambdaFunction target の指定、EventBridge Scheduler との選択判断まで、資産・株価管理サービスの実装をベースに紹介します。

2026-05-27
AWSEventBridgeLambdaCDK