Web Dev Digest: 2026‑05‑31
Top 20
What’s new in Astro - May 2026
Source: Astro Blog | Published: 2026-05-31 09:00 JST
- Astro 6.3でHonoサポート付きの実験的なAdvanced Routingが、6.4でプラガブルなMarkdownパイプラインとRust製プロセッサが導入され、Astro 7 alphaがVite 8とRust安定版コンパイラを目標に進行中だと月次サマリで報告された
- Astro Jobsという同エコシステム向け求人板が公式に開設され、TinaCMSがコミュニティ採用状況を理由にデフォルトのCMSテンプレートをAstroに切り替えた
- ImageKitとの公式インテグレーションがリリースされ、画像と動画のリアルタイムリサイズ・自動最適化・ファイルアップロードがAstro側から呼べるようになった
- Starlight 0.39ではサイドバー生成ロジックが改善され、ドキュメントサイトでの自動目次が扱いやすくなった
- Astro 7 alphaの開発はVite 8対応・Rust安定版コンパイラ・追加機能を主軸に継続中であることが告知された
鉄板切断計画SaaSをリリース前に整えた公開前checklist 12項目(B2B SaaS / Supabase + Stripe)
Source: Qiita | Published: 2026-05-31 12:38 JST
- 鉄板切断計画SaaS「TORIAI」公開前にチェックすべき12項目を、Supabase + Stripe + AI構成で実運用したリリース前知見として整理したと共有された
- RLSは「有効化」だけでなく匿名/メンバー/オーナー各ロールでゼロ行返却を確認する境界テストまで実施し、UI判定と独立した課金エンタイトルメントテーブルをStripe webhookで真とする
- Service Workerキャッシュ管理を必ずリリース手順に組み込み、新規スキーマ作成と旧オブジェクト削除のマイグレーションを分離して破壊操作前に人手承認ゲートを置く
- Smokeテストはnpm test・構文チェック・Playwright・成果物パリティ検証の最小構成に絞り、CIで都度再生成してスキーマやバンドルの差分を検出する
- CSP/connect-src/script-src監査、grepによるservice_role等の秘密鍵漏洩スキャン、PII除外監視、DNS切り戻し手順を1ページに集約したDR文書化を含む
Supabase + Stripe + AI で B2B SaaS を出す前にやる 公開前 checklist 12 項目
Source: Zenn | Published: 2026-05-31 13:21 JST
- Supabase + Stripe + AI構成のB2B SaaS公開前に踏むべき12項目チェックリストを実装パターン込みで提示し、RLSは出発点にすぎないと明記された
- 課金エンタイトルメントはクライアント側の
isProフラグではなくStripe webhookが書き換える権威テーブルをDBで強制し、UI層チェックと分離する - Service Workerキャッシュは新リリース時に古いアセットが残留しないよう、リリースフローに明示的なキャッシュ管理ステップを組み込む必要がある
- マイグレーションは新規オブジェクト作成と旧オブジェクト削除を別ファイルに分割し、破壊的本番操作の前に明示的な人手承認ゲートを通す
- CIは成果物を都度再生成してスキーマ・バンドル差分を自動検出するスモークテスト構成にし、通知系・監視系から機微情報を除外する設計が推奨された
JavaScriptパッケージ管理のセキュリティ対策ガイド
Source: Zenn | Published: 2026-05-31 20:02 JST
- npmサプライチェーン攻撃に対抗する具体策を7点提示し、リリース直後の新規パッケージインストール遅延設定と無料セキュリティツール導入が即効性を持つと結論づけられた
- .npmrc・pnpm config.yaml・bunfig.tomlで「最小エイジ」を設定し、post-installスクリプトはpnpmデフォルト無効かlavamoat-allow-scriptsで遮断する
- Git URL経由のレジストリ迂回は
allow-git=noneまたはblock-exotic-subdependencies=trueで塞ぎ、npq(Snykベース)またはSocket Firewallで事前審査する - lockfile-lintで解決済みURL・パッケージ名・ハッシュが信頼済みホスト由来かを検証し、CI/本番では
npm ciと--frozen-lockfileで揺らぎを排除する - 盲目的な一括アップデートを避け依存数を最小化しバージョンを固定するという開発習慣を、上記ツール群と組み合わせて運用すべきとされた
Antigravity CLIの開発フローをAGENT.mdとSkillsで整えたうえで、雑なインプットでWebアプリを開発する
Source: Qiita | Published: 2026-05-31 22:25 JST
- Google CloudのGemini Enterprise Agent PlatformとAntigravity CLIに、AGENT.mdとSkillsで開発フェーズ・役割・品質ゲートを定義し、77分・¥3,472で「いっぽめベビー」育児レビューWebアプリを実装できたと報告された
- AGENT.mdは要件→バックエンド設計→フロントエンド設計→並列レビュー→PO調停→実装→E2Eの7段階を規定し、各フェーズの全項目が「完了」または「不要」になるまで次段階に進めないルールを設けた
- Skillsはproduct-owner・frontend-designer・backend-designer・security-reviewerなどの専門役割定義で、各々の責務・成果物・出力ファイルパスまで明示される
- 並列レビューはsecurity・maintainability・performanceの3観点で同時実行し、衝突したフィードバックはproduct-ownerが調停する設計とした
- 完成物はユーザー登録・商品/レビュー投稿・お気に入り・プロフィールを備えた育児レビュー基盤で、最終E2Eは生成されたPlaywrightテストで検証された
☁️アプリエンジニアのためのインフラ入門 — Cloud Run × Nuxt でキャッシュを理解する
Source: Zenn | Published: 2026-05-31 08:30 JST
- Cloud Run + Nuxtで「データが古いまま」「更新が反映されない」が起きる原因は複数コンテナのインメモリキャッシュ非同期にあり、unstorage + redisDriverで共有Redisに置き換える解決策が提示された
- アーキテクチャはCloud CDN → Cloud Load Balancing → Cloud Runコンテナ → Memorystore(Redis) → Cloud SQLの三段構成で、ローカルはDocker Redis、本番はGCP Memorystoreに環境変数で切替
- DBアップデート時は
cache.removeItem('users:${id}')のようにキー命名規約付きで対になる削除呼び出しを必ず実行する運用ルールを明示 - ブラウザ向け
max-ageとCDN向けs-maxageを区別し、CDN強制パージはgcloud CLIから手動で実行するレスポンスヘッダ設計を採用した public/直下の静的アセットはCloud RunコンテナをCDN手前で吸収して起動させない構成にし、コールドスタートと無駄課金を抑制する
React × Tailwind CSS 入門 #11|TODOアプリを作ろう|これまでの総集編
Source: Zenn | Published: 2026-05-31 10:11 JST
- React × Tailwind CSS入門シリーズ全11回の総集編として、入力・完了切替・削除・フィルタを備えるTODOアプリをカスタムフックでロジック分離する形で実装する流れに到達したと示された
- useStateで入力フィールドとフィルタ選択を、useReducerで追加・トグル・削除のトランジションを管理する組み合わせを採用した
- useCallbackで関数参照を安定化させて不要な再レンダリングを抑え、useMemoでフィルタ後リストの計算結果をキャッシュする
- ビジネスロジックをカスタムフックに、表示をUIコンポーネントに分離する構成で、後続の実プロダクト実装に進める足場とした
- 「このコードがスラスラ読めればReactの基礎は習得できている」とシリーズの卒業基準を明示し、TailwindクラスとReact構造の対応を点検する位置づけにしている
Node.jsのGCを理解する(V8世代GC・Minor/Major・Mark-Sweep-Compact)
Source: Qiita | Published: 2026-05-31 12:28 JST
- Node.jsで動くV8のGCはNew SpaceとOld Spaceに分かれた世代別ヒープ構成で、Minor GC(Scavenger)はsemi-space方式、Major GCはMark→Sweep→Compactの3フェーズで動作することが整理された
- New Spaceを半分に区切り、生存オブジェクトを反対側に転写してゴミを一括破棄するScavengerは、断片化を同時解消できるのが利点
- Major GCはルートから到達可能なオブジェクトをMarkし、空き領域をSweepで登録、Compactで散在領域を集約してOld Spaceを再編する
- Minor GCを生き残ったNursery世代のオブジェクトは中間世代に昇格し、最終的にOld Spaceへ昇格し、不到達なら任意段階で破棄される
- 本記事は前回のメモリ構造編に続くシリーズで、Minor GC・Major GC・Mark-Sweep-Compactの用語を実際の昇格規則と合わせて読めるよう整理している
Astroで作った静的サイトを「さくらレンタルサーバー」へ毎日自動デプロイする(GitHub Actions × rsync × SSH)
Source: Qiita | Published: 2026-05-31 14:07 JST
- AstroビルドはGitHub Actionsクラウド上で行い、rsync + SSHでさくらレンタルサーバーへ毎日07:00 JSTにスケジュール公開する構成が、push即時公開より「コンプライアンスゲート」として優れていると結論された
- ワークフローは
.github/workflows/deploy.yml一つとSSH秘密鍵のGitHub Secret一つで完結し、ローカルPCの起動状況に依存しない自動運用を実現する - 公開前に
check-emoji.mjs・check-articles.mjsが走り、絵文字や誇張表現を含む記事の不本意な公開を機械的に防止するゲートを設けた - 複数サイトが同居するサーバーでも、公開フォルダをドメインごとに分離し
--deleteの使用範囲を制御することで他サイトへの上書き事故を回避した - Windowsタスクスケジューラやさくらのcronを使わずGitHub Actions単独で完結させ、SSHキーはリポジトリSecretとして格納してパスワード入力なしの無人実行を可能にした
Spring Boot + React + TypeScriptでOpenAPIから型を自動生成する方法
Source: Qiita | Published: 2026-05-31 15:09 JST
- Spring Boot側の
/v3/api-docsが返すOpenAPI定義から、フロントエンドがopenapi-typescriptでschema.d.tsを再生成する1コマンド(npm run gen:api-types)でTypeScript型をAPI仕様と同期する運用が提案された - API仕様変更時は再生成だけで型が追従するため、フロントとバックエンドで型定義を二重管理する従来の手戻りを排除できる
- OpenAPIスキーマを単一のソースオブトゥルースとして扱うことで、手書き型定義に伴う型不整合エラーを根本から除去する
- 本番ビルドではSwagger UIを環境別設定で無効化し、開発環境のみAPIドキュメント閲覧を残すセキュリティ運用も併記された
- Spring Boot + React + TypeScript構成の現場で、設計と実装のずれをCIが検知できる前提条件として位置づけられている
React クイックスタート学習メモ
Source: Zenn | Published: 2026-05-31 17:22 JST
- React公式チュートリアル「クイックスタート」を写経して学んだ要点を、コンポーネント=JSXを返す関数・JSXの単一親要素ルール・Hooksのトップレベル呼び出し制約として整理した学習メモ
- コンポーネントは「マークアップ(JSX)を返すJavaScript関数」と定義され、UIロジックを関数単位で閉じ込めるという理解を起点に据える
- JSX構文はHTML風記法をJavaScript内に書く仕組みで、必ず単一の親要素で包み、波括弧で動的式を埋め込むという2つの制約を整理
- 状態管理はuseState Hookを使い、stateはコンポーネント単位で独立する性質と、共有したい場合は親へリフトアップする必要性を明記
- Hooksは条件分岐やループ内ではなく必ずコンポーネントのトップレベルで呼び出す、というRules of Hooksを具体例つきで再確認している
June Is For Exploring (2026 Wallpapers Edition)
Source: Smashing Magazine | Published: 2026-05-31 17:00 JST
- Smashing Magazineの毎月恒例企画として、世界中のアーティスト・デザイナーが投稿した2026年6月版のデスクトップ壁紙コレクションが公開された
- カレンダー入り版とカレンダーなし版の両方が同一の画像から提供され、複数解像度に対応する
- 6月=夏の始まりというテーマで募集された投稿が並び、デザイナーの作風と制作背景を併記する月次フォーマットを継続
- Webデザイン直接の技術記事ではないが、Smashingのコミュニティ寄稿型コンテンツとして月初のトラフィック誘導の柱になっている定期企画
- 次月(7月)版の投稿募集要項も併記され、自作壁紙投稿への参加導線が示されている
All Articles
Zenn
| # | Title | Summary | Author | Published |
|---|---|---|---|---|
| 1 | AgentCore Gateway で Claude Code の MCP ツールを一元管理する | Bedrock AgentCore Gateway経由でGitHub・Notion・Slack等のMCPツール認証情報を一元管理する構成を解説 | @Taiki Maekawa | 00:10 |
| 2 | AWS WAFのログ分析をAgent Skillにまとめた話 | /.env や /wp-login.php などへの不正リクエスト解析を、Claude Skillとして再利用可能にまとめた知見 | @yamadatt | 07:00 |
| 3 | Shouniエコシステム:Go言語向けGCP・AI・I/O連携ツールキットの全貌 | Go言語向けにGCP・Gemini/Vertex AI・I/O連携を束ねた自作ツールキット「Shouni」エコシステムの全体像を解説 | @shouni | 07:10 |
| 4 | 【React】タイマーを書くときにsetIntervalとsetTimeoutをどう使い分けるか | ReactでタイマーUIを作るときsetIntervalとsetTimeoutをどう使い分けるか、useEffectとの組み合わせ込みで整理 | @div.sawa | 11:34 |
| 5 | AITustList: AIツールを発見するためのキュレーションディレクトリを作る | AIツール発見用キュレーションディレクトリ「AITustList」を、選別重視で開発した動機・機能・スタックを共有 | @shawnhacks | 13:07 |
| 6 | 「ILIKEで十分じゃないの?」PostgreSQLの全文検索をClaude AIに調べさせた話 | ILIKEで止まりがちなPostgreSQL検索を、Claude AIに調査させて全文検索(tsvector/GIN)導入まで進めた記録 | @Yuta Goi | 15:06 |
| 7 | 「pnpm」の解説と使い方 | npm/yarnと比較したpnpmのcontent-addressable storeによるディスク節約と厳格な依存解決を解説する入門 | @zag | 16:32 |
| 8 | Tiptap × Claude APIで「ブロックタイプを保持したまま」選択範囲を置換する | Tiptap上で選択範囲をClaude APIに置換させる際、見出し/リスト/引用などのブロックタイプを保持する実装方法 | @haruto | 17:39 |
| 9 | プログラミング英単語を楽しく学べるクイズアプリ「PEQ」を作った | プログラミング現場に頻出する英単語をクイズ形式で覚える学習アプリ「PEQ」を作った開発者の制作記 | @よこやまたく | 17:41 |
| 10 | HTML First の現在地 — Next.js と比べて選ぶ Web 技術選定 | HTMX・Astro・HotwireをNext.jsと比較する技術選定本として、HTMLファースト派の現在地と棲み分け基準を整理 | @永井佑樹 | 19:41 |
| 11 | Markdown→HTML変換ツールを marked + DOMPurify で作った(ブラウザ完結・GFM対応) | marked+DOMPurifyでブラウザ完結のMarkdown→HTML変換ツールをGFM対応で実装した手順を共有 | @サクッとぱんだ | 19:48 |
| 12 | ビルドの裏側をNext.jsで理解する | フロントエンドの「ビルド」が何を変換しているかを、Next.jsを題材にトランスパイル・バンドル・最適化の各段階で説明 | @なぎ | 19:52 |
| 13 | AIエージェントに「読ませる情報」をそのまま信じさせない — Context Firewall実践ガイド | AIエージェントに渡す情報を「指示」として信用しないためのContext Firewall設計を、実装観点で整理した実践ガイド | @あきらパパ | 20:42 |
| 14 | useOptimistic を導入して、結局外した話 — 手動 state 管理との二重カウント | 野球投球記録アプリでuseOptimisticを導入したが手動stateとの二重カウント表示が出て、結局採用を取り下げた失敗談 | @さわ | 21:33 |
Qiita
| # | Title | Summary | Author | Published |
|---|---|---|---|---|
| 1 | Tech Radar 試してみた #2 — Markdown → Typst 変換器で「LaTeX より Markdown 寄り」を体感する | Thoughtworks Tech Radar掲載のTypstを試し、Markdown→Typst変換器でLaTeX寄りからMarkdown寄りに移行する感覚を体験 | @sen-ltd | 08:21 |
| 2 | あなたの記事、ChatGPTやClaudeに読まれている? ── AI Botの足跡をサーバーログから可視化する方法 | note/Qiita/Zenn/MediumへのChatGPT・Claude・Perplexity系Bot流入をサーバーログから検出する手法を解説 | @etale_cohomology | 12:36 |
| 3 | PostgreSQL 17から18へのバージョンアップ手順 ─ Amazon Linux 2023標準で試してみた | Amazon Linux 2023標準パッケージでPostgreSQL 17→18にアップグレードした実機手順とハマりどころを記録 | @matsutomu | 16:12 |
| 4 | PostgreSQLのバックアップについて【OSSDB-Silver】 | OSSDB-Silver受験者向けに、PostgreSQLバックアップ3方式(pg_dump/pg_basebackup/物理)の違いを整理した個人学習記 | @92yuki | 16:59 |
| 5 | Next.js/TypeScript/Prisma/Supabase/Vercelで掲示板アプリを開発した記録 | Next.js/TypeScript/Prisma/Supabase/Vercel構成の掲示板を実務エンジニアが復習教材として手早く実装した記録 | @pmpm_nk | 17:07 |
| 6 | CI/CDハンズオン入門(モダンAI開発時代の品質確保) | AI駆動開発時代における品質確保の前提としてCI/CDが必要だと位置づけ、ハンズオン形式で導入手順を共有 | @rabut | 17:32 |
| 7 | SSR/SSG/CSRを使い分ける掲示板アプリをNext.js/TypeScript/Supabase/Vitest/Tailwindで作った | 学生開発者が同じ掲示板をSSR/SSG/CSRで作り分け、Next.js/Supabase/Vitest/Tailwindでテスト含めた就活向け教材化 | @keikeigo | 17:43 |
| 8 | ビルドの裏側をNext.jsで理解する | 同著者によるNext.js題材のビルド解説Qiita版。Zenn版とほぼ同内容を別プラットフォームで横展開した記事 | @Nagi_5417 | 19:55 |
| 9 | 「マニュアル誰も読まないんですよ」〜使い方ガイドを静的HTMLでアプリに埋め込む〜 | 別ドキュメントとして用意したマニュアルが読まれない問題を、アプリ内に静的HTMLとして埋め込む形で解決する提案 | @toarusyakaijin | 21:02 |
| 10 | Next.jsを使ったページをNetlifyからCloudflare Pagesに移行する際エラーで止まった | NetlifyからCloudflare PagesへNext.jsサイトを移行する際にビルドエラーで止まり、設定差分で解決した実録 | @san_bay3 | 22:01 |
| 11 | 子どもの共通テスト対策に、AIに問題を作らせるブラウザアプリを作った話 | 子の共通テスト対策に、Claudeに問題生成させるブラウザ完結アプリをゲーミフィケーション付きで自作した記録 | @watyanabe164 | 22:02 |
| 12 | パンくずリスト実装 | macOS Sequoia + VS Code + React 19.2.0環境でパンくずリストUIを実装した個人メモ | @yunokizono | 22:12 |
| 13 | AIで家系図アプリを作ろうとしたら、必要だったのはBPO型進捗共有ポータルだった | AIで家系図アプリを作ろうとして、結局必要だったのは進捗共有用のBPO型ポータルだったと気づいた開発記 | @Azarashi_struct | 22:25 |
| 14 | 圧縮とかLZP+BWTの小技 | BWT(Burrows-Wheeler Transform)が文脈から前方文字を予測する性質を、PPMの後方予測と対比して圧縮小技として整理 | @mashuel | 22:34 |
| 15 | Hyper-VのExternal SwitchをWi-Fiにバインドすると自前Express動画配信が90KB/sに激減した話 | 自作Express動画配信が90KB/sまで落ちる原因がHyper-V External SwitchのWi-Fiアダプタバインドだったと特定した検証ログ | @MicroAster | 23:07 |
| 16 | 初学者がAWSを整理する ~S3 / Aurora / WAF の役割と関連サービスを理解する~ | AWS初学者がS3/Aurora/WAFの役割と関連サービスをドキュメント/研修教材ベースで整理したまとめ記事 | @kandu | 23:15 |
| 17 | 2025 Japan AWS Jr. Championsの活動を振り返って | 2025 Japan AWS Jr. Championsとしての記事執筆数・登壇・イベント参加実績を数値で振り返った年次総括 | @hoshi7_n | 23:19 |
| 18 | Partial型について | AI任せのコーディングで追いつかない知識を補うため、TypeScript Partial | @makoto-ogata | 23:22 |
| 19 | 「Amazon Bedrock AgentCore 実践入門 Strands Agentsで構築するAIエージェント [AWS深掘りガイド]」を読んだ | 小田 稔ほか著『Amazon Bedrock AgentCore実践入門 Strands Agentsで構築するAIエージェント』の書評 | @news_it_enj | 23:59 |
Publickey
2026-05-31 付の記事はありませんでした。
gihyo.jp
2026-05-31 付の記事はありませんでした。
GIGAZINE
2026-05-31 付の記事はありませんでした。
ITmedia News
2026-05-31 付の記事はありませんでした。
TypeScript Blog
2026-05-31 付の記事はありませんでした。
Node.js Blog
2026-05-31 付の記事はありませんでした。
Astro Blog
対象日の該当記事はすべて Top 20 に掲載されています。
Cloudflare Blog
2026-05-31 付の記事はありませんでした。
Vercel Changelog
2026-05-31 付の記事はありませんでした。
AWS What’s New
2026-05-31 付の記事はありませんでした。
Google Cloud Blog
2026-05-31 付の記事はありませんでした。
Supabase Blog
2026-05-31 付の記事はありませんでした。
web.dev
2026-05-31 付の記事はありませんでした。
Mozilla Hacks
2026-05-31 付の記事はありませんでした。
CSS-Tricks
2026-05-31 付の記事はありませんでした。
Smashing Magazine
対象日の該当記事はすべて Top 20 に掲載されています。
Hacker News
2026-05-31 付の記事はありませんでした。