CloudflareがAdaptive Intelligenceを発表、Astro 8月の更新ほか — Web Dev Digest: 2026‑08‑31
Top 20
Introducing Adaptive Intelligence: Undermining the economics of every bot attack(Adaptive Intelligence の提供開始 — あらゆるボット攻撃の採算を崩す)
Source: Cloudflare Blog | Published: 2026-08-31 21:59 JST
- Cloudflare は「壁を高くして攻撃者を締め出す」前提を捨て、突破そのものを遅く高コストにして攻撃の採算を割らせる新しいボット検出エンジン Adaptive Intelligence の提供を開始した。
- ルールベースの検出は同じ入力に同じ出力を返す決定論的な仕組みで、攻撃者は自動プローブを繰り返せば境界を正確に学習できてしまう。防御側が数か月かけてモデルを出荷する間に攻撃側は数日で回避を回すため、応答速度の差が広がり続けていると述べている。
- 攻撃の典型形として、大規模な住宅用プロキシ網へリクエストを分散し、1アドレスあたりの頻度を抑えたままログイン・決済・アカウント復旧のフローを辿る手口を挙げる。どの1件も新規訪問者に見え、単一の送信元がレート制限に触れないため、リクエストを個別に見る防御では検知できない。
- Adaptive Intelligence は検出を固定ルールではなく統計的判断として扱う非決定論的な設計で、多数のシグナルを同時に重み付けするため攻撃者が単一のロジックを切り出して破ることができない。ボットと判定しても表面上は反応しないため、攻撃者は自分の手掛かりが見えていることに気づけない。
- 今日提供が始まるのは3構成要素のうち第1の「自己改善」で、bot score の中心にある機械学習モデルが固定バージョンの出荷をやめて実トラフィック上で継続的に再学習する。残る「使い捨てルール生成」と「保護対象トラフィックからの学習」は後日提供予定で、利用側が使う bot score の値そのものは変わらない。
What’s new in Astro - August 2026(Astro の新着情報 — 2026年8月)
Source: Astro Blog | Published: 2026-08-31 09:00 JST
- Astro の Project Steward が Fred Schott から Matthew Phillips へ交代したことが、8月のコミュニティ月報で明らかにされた。
- マイナーリリースの Astro 7.2 が出ており、実験的なインクリメンタル静的ビルド、
astro previewのバックグラウンドモード、相対パス指定の logger エントリポイントなどが入った。 - Emanuele Stoppa による Astro Component Playground が公開され、セッションごとに Dynamic Worker 上で実物の Astro Compiler インスタンスを起動するためローカルと同じ結果が得られる。UI 自体は Svelte で作られている。
- Discord のサポートフォーラムに加えて GitHub 上に Community Support リポジトリが用意され、Discussion で質問と回答ができるようになった(Florian Lefebvre が起こしたコミュニティプロジェクト)。
- 9月5日にヴィースバーデンのパートナー代理店 Seibert 本社で Astro Together FRA が開かれ、10月には Kenji が Vue Fes Japan に、ViteConf 2026 には Fred Schott・Matthew Phillips・Sarah Rainsberger が登壇する。採用事例には Evil Martians、Microsoft の TypeSpec Azure と Microsoft Orleans が挙がり、パートナー側では ImageKit の Astro 連携と CloudCannon の Rosey コネクタ(英仏独を設定済みの多言語スターター)が加わった。
AWS Elastic Beanstalk now supports Active Directory domain join for Windows Server environments(AWS Elastic Beanstalk が Windows Server 環境の Active Directory ドメイン参加に対応)
Source: AWS What’s New | Published: 2026-08-31 13:00 JST
- AWS Elastic Beanstalk が Windows Server インスタンスを AWS Directory Service 管理の Active Directory ドメインへ自動参加させるようになり、自前の join スクリプトを書いて保守する必要がなくなった。
- 従来はドメイン参加済みの Windows ワークロードを Elastic Beanstalk で動かすのにカスタムスクリプトが必須だったが、設定を数項目入れるだけで、Auto Scaling が後から起動したインスタンスも含めて、アプリのデプロイ前・ブート時点でドメインへ参加する。
- ドメイン参加済みインスタンスは Windows 統合認証とグループポリシーを利用でき、ファイル共有や Windows 認証を使う SQL Server などのドメインリソースへ到達できる。
- グループポリシーを当てたい組織単位(OU)へインスタンスを配置でき、コンピュータ名はインスタンス ID から導かれる予測可能な名前になる。参加に失敗してもデプロイ自体は完了し、環境側が問題を報告するため join 失敗がデプロイを止めることはない。
- 利用条件は2026年8月18日以降にリリースされた Windows Server プラットフォームバージョンで、Elastic Beanstalk が提供される全商用リージョンと AWS GovCloud (US) リージョンが対象になる。
Automated Security Response on AWS adds AI Toolkit for custom remediations(Automated Security Response on AWS にカスタム修復用の AI Toolkit が追加)
Source: AWS What’s New | Published: 2026-08-31 15:00 JST
- AWS は Automated Security Response on AWS(ASR)に4つの機能を追加し、カスタム修復の開発期間が数週間から数時間へ短縮されると発表した。
- AI Remediation Toolkit は任意の AI アシスタントを使い、ガイド付きプロンプトと組み込みのセーフガード付きでカスタム修復を生成する。設定ミスを抑えつつ、SSM Automation の深い知識に頼らずに済むようになる。
- 自動修復の対象が広がり、Amazon Inspector・Amazon GuardDuty・Amazon Macie の検出結果に対応した。認証情報の侵害、未パッチの脆弱性、機微データの露出へ手動トリアージをほぼ挟まずに応答できる。
- Web コンソールが強化され、100を超えるセキュリティコントロールをアカウント・OU・リージョン・リソースタグ単位で一元的に設定・スコープ指定できる。従来の Amazon DynamoDB と SSM を手作業で設定する誤りやすい運用を置き換える。
- AWS Security Hub の検出結果通知に Email・Slack・Jira・ServiceNow のマルチチャネルアダプタが加わり、重要度フィルタと期限の強制を設定できる。通知には修復リンク・期限・IaC のコードスニペットが含まれる。提供範囲は GovCloud (US) と中国リージョンを含む全商用・オプトインリージョン。
TypeScript 7.0リリース! Misskeyで検証
Source: gihyo.jp | Published: 2026-08-31 08:58 JST
- Misskey のコードベースで TypeScript 7.0 を計測したところ、コンパイラ内部の処理は約8.5〜8.7倍、ビルドプロセス起動を含む開発者の実待ち時間でも約5倍速くなったと結論づけている。
- 計測環境は Misskey v2026.7.0、TypeScript 6.0.3 と 7.0.2、Node.js 26.4.0 / pnpm 11.21.0、CPU は Intel Core i9-13900K で、値はいずれも5回実行の平均。
- backend emit は 9.587秒→1.903秒(5.04倍)、backend type check は 8.258秒→1.666秒(4.96倍)。起動時間を除いた純粋なコンパイラ処理では emit 8.840秒→1.019秒(8.68倍)、type check 7.520秒→0.883秒(8.52倍)となり、公式の「概ね8〜12倍」という参考値どおりの結果になった。
- メモリは通常モードでは emit 1,067MB→1,002MB(-6%)、type check 993MB→894MB(-10%)にとどまるが、
--singleThreadedを付けると 744MB(-30%)・643MB(-35%)まで下がる。処理時間は約3倍遅くなるものの 6.0 よりは速く、メモリ制約の厳しい CI では現実的な選択肢になるとしている。 - Misskey はほぼ改修なしで 7.0 へ移行できたが、コンパイラ API の実装が未完了で Vue ファイルの型チェックなど API を要する用途は移行できず、バックエンド 7.0・フロントエンド 6.0 の併用構成をとっている。API 側では TypeScript を別言語へ埋め込む用途を想定した Content mappers が提案・実装されており、公式 API のリリース後に各ライブラリの対応が進むと見ている。
requestAnimationFrameは動いているのに、ゲームの中の時間だけ止まっていた話
Source: Zenn | Published: 2026-08-31 10:58 JST
- Playwright でブラウザゲームが進まなかった真因は requestAnimationFrame のスロットリングではなく、フォーカスの残ったボタンへ毎秒 Enter を送り、自分でゲームを最初からやり直させていたことだったと判明した。
- X 宣伝用の GIF を撮るため、ヘッドレス Chromium を起動して自動プレイし、
page.screenshot()を連射して pngjs でデコード、gifenc で量子化して GIF に書き出す構成を組んだが、8.5秒で消えるはずのオープニング演出が何十秒待っても進まなかった。 - 最初の仮説どおり rAF ループを注入して2秒間の発火回数を数えると2回しか呼ばれておらず、
--disable-background-timer-throttlingなど4つの Chromium 起動フラグで 107〜121回まで戻した。それでも症状は変わらなかった。 - 次に
Math.min((now - lastT) / 1000, 0.05)による dt のクランプを疑ったが、60fps 近く出ている以上成立しない。推測をやめて MutationObserver で全 overlay 要素の class 属性変化をタイムスタンプ付きに記録したところ、約1秒おきに演出が最初から作り直されていた。 - 直前にクリックした「チュートリアルは見ない」ボタンが DOM のフォーカスを保持しており、
keyboard.press('Enter')がゲームではなくそのボタンへ届いていた。クリック後にdocument.activeElement.blur()を呼び、Enter ではなく座標クリックで待機ループを組み直して解決している。
[Mastra Announce] TokenCostControlでエージェントのLLMコストを実行中に制御する
Source: Zenn | Published: 2026-08-31 14:10 JST
- Mastra が2026年8月27日に公開した TokenCostControl により、LLM の利用料金を請求後に確認するのではなく、次の呼び出しの前に累積コストを検査して上限超過を停止・警告できるようになった。
- TokenCostControl は observability に保存されたコスト情報を読む inputProcessor で、必要バージョンは
@mastra/core@1.59.0以降。公式アナウンスは「Introducing Token Cost Control for Mastra Agents」、著者は Paul Scanlon、追加 PR は mastra-ai/mastra#21372。 - 同じトークン数でも provider や model で料金が異なるため、リクエストごとの token limit だけでは支出上限を守れないという整理で、1回の入力量を抑える TokenLimiterProcessor とは別レイヤーとして併用する位置づけになっている。
- 集計単位の scope は resource(既定)/ run / thread / user / organization / session から選び、lookback 期間の window は 1h・6h・24h・7d・30d・365d を指定する。window は固定の請求月ではなく現在時刻からさかのぼる期間なので、契約上の請求期間とは一致しない。
- strategy は run を中断する block と、ログと onViolation callback で通知するだけの warn の2種類で、
maxCost: 0.5にwarnAtPercent: 80を併せると 0.40 ドル時点で soft warning が出る。判定は observability の保存値に基づくため同時実行や保存遅延があると厳密な請求とは一致せず、いきなり block にせず warn で分布を把握してから移す導入手順を勧めている。
MWAA×EventBridge通知基盤とRedshift Agent Toolkitを繋ぐ設計
Source: Zenn | Published: 2026-08-31 16:12 JST
- AWS の「Amazon Redshift integrates with Agent Toolkit for AWS」発表を受け、既存の MWAA×EventBridge×Bedrock AgentCore 通知基盤へ同ツールキットを組み込み、DAG 失敗時に Redshift 側の状態まで一次診断してから Slack へ流す構成へ拡張した。
- 従来の基盤はエージェントが CloudWatch Logs と Airflow メタデータ DB しか見られず、
redshift_load_taskが落ちた通知は届いても、権限エラーかクエリタイムアウトか WLM キューの詰まりかは人が Redshift コンソールを開いて確かめる必要があった。 - Lambda のイベント整形段階で task_id が
redshift_load_/redshift_unload_/redshift_query_で始まるかを判定し、該当時だけredshift_agent_toolkitをツールリストへ足す。全タスクに一律で持たせると S3 権限エラーのような無関係な失敗でも Redshift への問い合わせが走り、コストと待ち時間が無駄になる。 - AgentCore Runtime の実行ロールには
redshift:DescribeClustersやredshift-data:GetStatementResultなどの読み取り系だけを許可し、condition でredshift:StatementTypeを SELECT に固定する。プロンプトインジェクションで書き込みを誘導されても IAM 層で機械的に弾く狙いだと述べている。 - 運用面では、Toolkit 経由のクエリのタイムアウトを AgentCore Runtime 側より短くして Slack 通知全体の遅延を防ぐこと、Redshift Serverless の RPU 課金に診断クエリ分が上乗せされるため呼び出しを DAG 失敗時に絞ること、実行クエリが CloudTrail と Redshift の監査ログに残るのでセッション単位で追跡可能にしておくことを挙げている。
Innovation Sandbox on AWS v1.3 がリリースされました!
Source: Zenn | Published: 2026-08-31 16:21 JST
- 2026年8月26日にリリースされた Innovation Sandbox on AWS v1.3 で、要望の多かったマルチユーザー共有・コスト分析軸・SCPs カスタマイズなど6つの運用課題がまとめて解消された。
- 従来は払い出したアカウントを1ユーザーで使う前提で、チーム検証には AWS IAM Identity Center へ手作業でユーザーを足す回避策が要ったが、v1.3 では個人に加えて IAM Identity Center のグループ単位でリースを共有できる。
- リース発行時にアカウントへ LeaseId / LeaseTemplate / CostReportGroup / User のタグを付け、返却時に外す動的タグ付けが入った。これらはデプロイ時にコスト配分タグとして自動有効化されるため、再利用される同一アカウントの費用でも利用者・チーム・テンプレート別に AWS Cost Explorer で分解でき、AWS Budgets のフィルタや Cost Anomaly Detection のモニター軸にも使える。
- ただしコスト配分タグは課金計上時点の値でスタンプされて遡及せず、Cost Explorer の最小粒度は日次のため、同じ日に利用者が入れ替わると値が混線する。これに対し
cooldownPeriodHours(0〜8640時間、管理者は UI からスキップ可)でクリーンアップ後のアカウントを CleanUp OU に留め置く機能が追加された。 - ガードレールの許可サービスに Amazon Bedrock AgentCore、Amazon S3 Tables、Amazon S3 Vectors、Amazon Textract、
sts:*、execute-api:*など18サービスが加わり、AdditionalAllowedServicesなど3つの CloudFormation パラメータで既定 SCPs をアップグレードを跨いで拡張できる。API 認証は Amazon Cognito + SigV4 へ刷新され(旧 JWT 方式と rotation Lambda は廃止)、M2M アクセスが正式サポートされたが、M2M クライアントは Console SSO を持たないためリースの assignee にはなれない。
NocoBase 3.0 alpha の中心は「AI Portal」— 告知は無いが、公式ドキュメントは既に準備されている
Source: Zenn | Published: 2026-08-31 16:45 JST
- NocoBase 3.0 は公式ブログに告知記事が1本も無いまま alpha が積み上がっており、その中心は AI エージェントが書いたフロントエンドを載せる入口「AI Portal」だと公式ドキュメントから読み取れる。
- npm の dist-tags は latest 2.2.5 / beta 2.3.0-beta.6 / alpha 3.0.0-alpha.13(2026-08-31)/ v1 1.9.74 の4系統で、3.0 alpha は7月30日の alpha.1 から1か月で alpha.13 まで進んだ。alpha.1〜3 は npm にしか存在せず、GitHub Releases に載ったのは alpha.4 からだった。
@nocobase/preset-nocobaseの依存を比べると 2.2.5 と 2.3.0-beta.6 が同じ104パッケージなのに対し 3.0.0-alpha.13 だけ106で、差分は入口ごとに別レイアウトとメニューを持つ plugin-multi-portal と、React と shadcn/ui のテンプレートである portal-template-default の2つ。削除されたパッケージは無い。- リリースノート上の Portal manager 関連9件はすべて alpha.4〜8(7月31日〜8月10日)に集中し alpha.9 以降は0件で、3.0 が何を足すのかはリリースノートよりパッケージ構成のほうが素直に読めるとしている。
- 公式ドキュメントは、no-code Portal が
/v/<name>で画面設定を DB に持つのに対し、AI Portal は/x/<name>で React のソースを Git にコミットでき画面の自由度に制約が無いと整理する。ソースは開発者マシン上の./<ポータル名>に置かれ、そこでコーディングエージェントを走らせる前提でnb portal pull/dev(既定 localhost:5173)/push/deployの CLI が用意されている。
TypeScript 7でtsc —lspが使えるようになったので、NeovimのLSP設定をts_lsからtscに変更した
Source: Qiita | Published: 2026-08-31 18:12 JST
- TypeScript 7 で
tscに--lspオプションが入り、別パッケージの typescript-language-server なしで language server として動くようになったため、Neovim の LSP 設定を ts_ls から tsc へ置き換えた。 - 新しいリポジトリで TypeScript 7 を使い始めたところ Neovim 環境で LSP が正しく動かなくなり、調べると typescript-language-server が不要になっていたのが原因だった(記事執筆時には再現できなくなっていたと断っている)。
- nvim-lspconfig 側には
tsc --lsp --stdioを使うlsp/tsc.luaが既に追加されており、vim.lsp.enable()へ渡すサーバー名のリストで"ts_ls"を"tsc"に置き換えるだけで移行が済む。 - 根拠として neovim/nvim-lspconfig の issue #4467 などを挙げているが、公式ドキュメントにも
tsc --helpにも--lspの記載を見つけられず、まだ開発中の可能性があるとしている。 - 前提となる TypeScript 7 は2026-07-08にリリースされた Go で書き直されたネイティブコンパイラで、高速化の体感は今後の開発で確かめたいと締めている。
【JavaScript】usingがStage4になったので、ようやくリソース解放忘れから解放されるよ
Source: Qiita | Published: 2026-08-31 20:53 JST
- JavaScript の
usingキーワードが Stage 4 に到達し、Chrome 134・Firefox 141 が対応済みで Safari も Technology Preview 250 で実装されたため、全ブラウザで使えるようになる見通しが立った。 usingはスコープを抜けた時点で自動的にリソースを解放する構文で、これまで定石だった try-finally 内のhandle.release()を書かずに済む。C# のusingとほぼ同じ機能だと説明している。- 対応時期は Chrome 134 が2025-03-04、Firefox 141 が2025-07-22、Safari は2025-08-13のプレビュー版 TP250。
- 提案は ECMAScript Explicit Resource Management で、
iterator.return()、reader.releaseLock()、Node のファイルハンドラのhandle.close()、Emscripten のModule._free(ptr)のように解放手段がライブラリごとにばらばらだった状況を統一する狙いがある。 - 複数リソースを正しく閉じるには依存順に try-finally を入れ子にする必要があったが、
using a = ..., b = ...;と並べるだけで済む。非同期版はawait usingを使い、まとめて扱うためのコンテナとして DisposableStack と AsyncDisposableStack が追加される。
Amazon EKS Capability for Argo CD がカスタム設定をサポート
Source: Qiita | Published: 2026-08-31 01:34 JST
- 2026年8月21日に AWS が発表した Amazon EKS Capability for Argo CD の argocd-cm 対応により、カスタムリソースのヘルス判定が無いまま Application が Healthy と表示され sync wave が先走る問題を解消できるようになった。
- Argo CD は Deployment や Service には組み込みのヘルスロジックを持つが CRD 由来のカスタムリソースには持たず、未設定だとヘルス状態そのものが報告されず Application 全体の判定から除外される。結果としてプロビジョニング中や失敗中でも Healthy に見え、後続 wave が前段の準備完了を待たずにデプロイされる恐れがあった。
- 設定は UI 系(
ui.bannercontent、ui.bannerurl)、リソース系(resource.customizations.health.<group>_<kind>、resource.compareoptions)、リポジトリ・ツール系(kustomize.buildOptions、helm.enable)の3カテゴリで、キーとフォーマットはアップストリームの Argo CD と同一のためコミュニティのサンプルをそのまま流用できる。 resource.customizations.health.<group>_<kind>に Lua スクリプトを書くと、グローバル変数objからリソースを参照して Healthy / Progressing / Degraded / Suspended を自前のロジックで返せる。AWS Controllers for Kubernetes(ACK)と kro のリソースには追加設定なしで動く組み込みヘルスチェックが用意されている。- ConfigMap は名前を
argocd-cmにし、Capability の Argo CD 用 namespace(既定は argocd)へ作り、app.kubernetes.io/part-of: argocdラベルを必ず付ける必要がある。ConfigMap はセキュアなストアではないため secrets や credentials は入れてはいけない。活用例として、ACK 管理の RDS for PostgreSQL や DynamoDB が Ready になるまで Application を Progressing に保ち、接続未確立の段階で Pod が起動してクラッシュするのを防ぐケースを挙げている。
DuckDB開発元のDuckLabs、AWSの子会社に オープンソースのMITライセンスは維持
Source: ITmedia News | Published: 2026-08-31 14:05 JST
- DuckDB の開発元であるオランダの DuckLabs が9月初旬に AWS の子会社となる予定だと発表され、DuckDB は MIT ライセンスのオープンソースとして維持されることも示された。
- DuckDB はクライアント/サーバ型の複雑な OLAP データベースと異なり、SQLite のようにシングルバイナリあるいはアプリ組み込みでローカル実行できる OLAP データベースで、独自フォーマットの単一ファイルに加えて CSV・Parquet・JSON を読み書きし、拡張機能で MySQL・PostgreSQL・SQLite のデータベースも扱える。
- DuckDB と関連プロジェクトの DuckLake は非営利の DuckDB Foundation の下で MIT ライセンスのオープンソースとして開発されており、子会社化後もライセンス・開発体制・ガバナンス体制・ロードマップが引き続き維持されると説明されている。
- この秋登場予定の DuckDB 2.0 では手元の DuckDB からリモートで実行中のインスタンスへ接続して操作するクライアント/サーバ型対応など大型のアップデートが控えている。
- 新野淳一氏は、Amazon S3 を軸に Redshift・S3 Tables・ゼロETL統合を展開してきた AWS のデータ戦略を、S3 上の大規模な CSV/Parquet を高速に読んで分析する DuckDB のユースケースが補完する点を買収の狙いと見ており、同時に Snowflake・Databricks・BigQuery を持つ Google Cloud へ接近される前に自社陣営へ入れておきたかった事情もあるだろうと述べている。なお本記事は Publickey に2026年8月28日に掲載された記事を ITmedia NEWS 編集部が一部編集して転載したもの。
Next.js静的エクスポートでLighthouseスコアが伸びなかった原因が「4MBのロゴ画像」と「499件の全件レンダリング」だった話
Source: Qiita | Published: 2026-08-31 07:19 JST
- Next.js 16 の
output: "export"で Lighthouse スコアが伸びなかった原因は、4MB の無圧縮ロゴ PNG と499件の全件クライアントレンダリングの2点だったと判明した。 output: "export"ではnext/imageのビルド時最適化が使えずimages.unoptimized: trueが必須になるため、画像最適化はビルドパイプライン側の責務になる。ヘッダーで28〜64pxしか表示していないロゴが 2048×2048・約4MB の PNG のまま配信されていた。- sharp で 128×128・WebP(quality 90)へ事前変換すると 4,079,639 バイトが 9,152 バイト(-99.8%)になり、総転送量 10,938KiB→6,963KiB(-36%)、TBT 200ms→50ms(-75%)、Speed Index 11.6s→8.0s(-31%)へ改善した。
next/ogの OGP 画像生成には元の高解像度 PNG を使い続けている。 - ロゴを直しても LCP・FCP の絶対秒数はほぼ変わらず、
lcp-breakdown-insight監査を見ると LCP 要素はロゴではなく用語一覧カードの説明文テキストで、elementRenderDelay が 2,299.992ms を占めていた。用語データ499件を絞り込み前でも全件"use client"コンポーネントとして描画しており、ホームページの HTML は 1,694,432 バイト・<div>は 2,011 個あった。 - 初期表示を60件に制限して「もっと見る」で60件ずつ足す形にすると、HTML 436,778バイト(-74%)・
<div>256個・パフォーマンススコア 57→74 となり、FCP と Speed Index はともに 8.0s→1.7s になった。絞り込み条件が変わったら visibleCount を useEffect でリセットしないと、直前の「もっと見る」の件数を引き継いで表示が飛ぶ点を注意として挙げている。
Next.js 16 のフロントエンドを OpenNext v4 + Lambda でサーバーレスに動かしてみた:実装・構築とハマりポイント
Source: Qiita | Published: 2026-08-31 10:07 JST
- ECS/Fargate が RDS に次ぐコスト要因になっていたため、作り捨て前提の MVP を Next.js 16 × OpenNext v4 × Lambda のサーバーレス構成で作り、既存の CloudFront と ALB を共用したまま共存させた。
- 同一 CloudFront ドメイン配下で
/<mvp-base-path>/*のパスプレフィックスによりサービスを分割している。Lambda Function URL + CloudFront OAC も検討したが、SSR と静的アセットの配信先を分離できないため、パスベースルーティングが可能な ALB 経由を選んだ。 - Lambda は NODEJS_24_X ランタイムで、
Code.fromAssetに.open-next/server-functions/defaultを直接渡すため Docker イメージが不要になる。バックエンドの ECS へ VPC 内部通信で届くよう VPC 内に配置し、NEXT_PUBLIC_*を使わないことで環境別ビルドも不要にしている。 open-next buildは成果物を Lambda 用の.open-next/server-functions/defaultと S3 用の.open-next/assetsに分割する。この分離を理解していないと静的アセットが404になる。CloudFront の Behavior は最長一致で評価されるため、/<mvp-base-path>/_next/*を S3 オリジンに、/<mvp-base-path>/*を ALB オリジンに割り当てると前者が優先される。- ALB ターゲットグループに
lambda.multi_value_headers.enabled = trueを設定しないと、複数の Set-Cookie ヘッダーが1つに結合されて認証 Cookie がブラウザへ届かず、ログイン後もログイン画面へリダイレクトされ続ける。
Show HN: St. Louis Food Map(Show HN: セントルイスのフードマップ)
Source: Hacker News | Published: 2026-08-31 08:51 JST
- セントルイスの飲食店141軒を、Astro と MapLibre GL に自前ホストの .pmtiles を組み合わせた地図サイトとして公開した。
- 地図タイルは Protomaps と OpenStreetMap から生成した .pmtiles を自分でホストしており、外部の地図 API に依存しない。サイト自体は GitHub 上でホストしている。
- 投稿者は「実力以上に食のシーンが強い」と言われる街へ引っ越したのをきっかけに、自分で食べ歩いて記録したものをそのまま地図へ載せていったと述べている。
- 掲載店は Pizza・BBQ・Sandwiches・Balkan・Mexican・Middle Eastern といった料理ジャンルと、The Hill・Soulard・Bevo Mill・Tower Grove South などの地区名の両方でタグ付けされ、相互にリンクされている。
- Balkan 料理が Webster Groves・Lemay・Bevo Mill と複数地区に散っているといった地区とジャンルの結び付きが一覧から読み取れ、一部の店には「Diners, Drive-Ins and Dives に出た」「現金のみで席数が非常に少ない」など投稿者自身のコメントが付いている。
Lean Explained with TypeScript(TypeScriptで解説するLean)
Source: Hacker News | Published: 2026-08-31 16:35 JST
- Lean の検証器は実のところ「単なる型チェッカー」であり、命題を型として証明を値として書けば TypeScript でも単純な命題を証明できると示している。
- Lean は数学の命題を証明でき検証器がその正しさを自動確認する言語だが、
a+b=b+aのような基本的な文でも証明なしには受け付けないため、記述は極めて退屈だと述べる。 - Lean の人気が LLM の登場で大きく伸びた理由として、LLM は大量のコードを速く書くが検証が手間なのに対し、Lean は検証を自動化するがコードを書くのが手間、という相互補完の関係を挙げている。
- 数学者向けだけでなく汎用プログラミング言語でもあり、特定のエラー状態に到達しないこと、DB トランザクションが ACID であること、口座が同じ金を二重に使えないことといった保証の例を示す。
- TypeScript での書き方は
const proposition_name: PropositionAsType = proofAsValueの形で、明示的な型注釈により型チェッカーが値と命題の型の一致を検査する。定数では型変数が使えないため実際にはfunction proposition_name<P, Q>(): PropositionAsType<P, Q> { return proofAsValue }とダミー関数で包むが、これは呼び出すためのものではなく実行時には無意味な型の小細工だと断っている。
Editable 2.0 preview – CMS-free editable websites with Svelte and SQLite(Editable 2.0 プレビュー — CMS不要でページ上から編集できるサイトを Svelte と SQLite で)
Source: Hacker News | Published: 2026-08-31 20:10 JST
- Editable 2.0 のプレビューが公開され、CMS を挟まずページ上で直接編集できるサイトを Svelte と SQLite だけで構築できるようになった。
- 編集基盤は作者 Michael が開発したオープンソースのリッチテキストエディタ Svedit(★650+)で、その下に Svelte(★88.0k+)が載る。Editable 自体は★1.7k+。開発者はコンテンツ型(例: Figure)を定義して対応する
Figure.svelteを実装するだけで、それらは既定で編集可能になる。 - データは単一ディレクトリにまとまり、中身は SQLite の
db.sqlite3とアップロード資産のdata/assetsだけ。ローカルは既定で./data、Fly.io では/dataの永続ボリュームで、バックアップはこのディレクトリのコピーで済む。 - 静的ビルドは用意せず、SQLite の速度を前提に編集内容を即時反映する設計。Web 最適化画像はアップロード前にブラウザ側で canvas と
toBlob()によりリサイズし、WebP エンコードは@jsquash/webpが行う。 - 実行に必要なのは Node.js と SQLite だけで任意の VPS で動き、リポジトリには Dockerfile と fly.toml が同梱される。ライセンスは source-available で、公開ローンチ時にドメインごとの一回払い(個人 €99 / 商用 €299、開発中は無料)を求める形になっている。
Show HN: Astral – Astro.js, but in Elixir(Show HN: Astral — Elixir版の Astro.js)
Source: Hacker News | Published: 2026-08-31 21:32 JST
- Elixir 向けの静的サイト生成フレームワーク Astral が公開され、サイト層を Elixir に置いたまま Astro 相当の機能一式を使えるようになった。
- 既定のツールチェーンでは JavaScript のサイト設定も別のバンドラプロセスも Node.js も不要で、TypeScript・CSS・アセット・開発サーバー・HMR は Volt が担当し、Astral はサイト層に専念する分担になっている。導入は
mix igniter.install astral、開発はmix astral.dev、ビルドはmix astral.buildの3コマンド。 - 機能は Markdown・HTML・
.astralテンプレートからのファイルベース静的ページ、pages/blog/[slug].astralやpages/docs/[...path].mdのような動的ファイルルート、HEEx ファーストのページ/レイアウト/ローカルコンポーネント、Ecto 風フィールドや JSONSpec マップや Zoi スキーマで型付けするコンテンツコレクション、静的ページネーション、feed と sitemap のプラグインを含む。 - ビルド時最適化画像向けに
<.image>/<.picture>/<.figure>コンポーネントを備え、Volt 製フレームワークコンポーネント向けのクライアント専用アイランドもサポートする。Markdown 内では MDEx により HEEx 風のローカルコンポーネントを使える。 - 開発サーバーは Plug/Bandit でページ・レイアウト・コンポーネント・public ファイルの変更に完全リロードで追随する。リポジトリ自身が「Astral はまだ初期段階だが、小規模な静的サイト・ドキュメントの試作・ブログには使える」と断っている。
All Articles
Zenn
| # | Title | Summary | Author | Published |
|---|---|---|---|---|
| 1 | 共通基盤を1か所へ — 5つの共有リポジトリを1つに統合した | ユーティリティ・DynamoDB共通・共有ライブラリ・ブロックエディタ・通知の5リポジトリを1つのmonorepoへ集約し、共通パッケージがprocess.envを読まず環境依存値をconsumerから注入させる判断が最も効いたと述べている | @chooser | 01:45 |
| 2 | 分割して読み込むと壊れるCSVパーサーを、壊れないようにする | 200MBのCSVをUTF-16換算400MB超のメモリ消費なしで読むためFile.sliceで4MBずつ処理し、マルチバイト文字がチャンク境界にまたがる問題を外部ライブラリなしで解いた | @kotebako | 01:50 |
| 3 | ブラウザからOpenAI APIを直接呼ぶと無効キーの401が読めない | 2026年8月30日に東京からcurlで実測し、authorization付きPOSTのpreflightは通るのに無効キーの401はCORSヘッダ不足でJavaScriptから読めず、fetch自体がTypeError: Failed to fetchで落ちると確かめた | @ait | 02:51 |
| 4 | x-forwarded-host と x-forwarded-proto をどこまで信じ、どう読むか | プロキシ越しではrequest.urlのoriginもhostヘッダもlocalhost:3000を指すため公開URLを組めず、リダイレクト先やメール内リンクが他マシンから開けなくなる問題を出発点にしている | @junf | 03:01 |
| 5 | GAS+スプレッドシートで読み取り専用APIと簡易DBを作るハンズオン | GASをAPIエンドポイント、スプレッドシートを簡易DBにして郵便番号・住所・家電エラー・商品・出庫・発注の6種類の検索を6シート構成で動かし、Webアプリ公開まで一続きで通している | @watawatan1984 | 05:35 |
| 6 | 社内資料に「聞ける」RAGを作った話 ― MRR 0.146→0.618まで精度を上げた記録 | 資料本文も質問も外部に出さず社内LANだけで完結するRAG基盤KnowLocalを作り、コマンド集PDFの17問でMRRがベクトル検索のみ0.146からハイブリッド構成で0.618まで上がったと計測している | @maskedridersys | 05:46 |
| 7 | 【自宅HomeLab構築記 #39】ルートグループの罠 — budget-appログイン無限リダイレクト障害編 | ERR_TOO_MANY_REDIRECTSの原因はCookieの汚れではなく、ログイン画面を(app)/(auth)/login/page.tsxに置いたNext.jsルートグループの配置にあったと突き止めた | @st_systems | 07:19 |
| 8 | Snowflake × IoT: Amazon MSK(Apache Kafka)を経由してセンサーデータをSnowflakeへ流し込む | AWS IoT Core → Amazon MSK → Snowflake の経路をTerraformで組み、前回のData Firehose + Snowpipe Streaming版との違いを手を動かして比べている | @y_uuu | 07:30 |
| 9 | AWS Control Towerを有効化した。12個のガードレールは、私を守ってはいなかった | ダッシュボードが「36個のコントロールが有効」と表示していても中身を1つずつ確認すると守られていなかったと報告し、AWS Configの課金がリソース変更単位である点から管理対象を34リージョン中ap-northeast-1だけに絞った判断も記している | @santassn1224 | 07:30 |
| 10 | ローカルMCPサーバーは直しても即反映されない。ホストに繋がず stdio で叩いて確かめる | MCPサーバーはセッション開始時にしか繋がらず直後のセッションから呼べないため、stdioへJSON-RPCのinitialize→tools/list→tools/callを流す50行のクライアントを自作してホスト登録前に単体確認している | @kimura0314 | 07:37 |
| 11 | APIが止まる時間にも、MCPを黙らせない | 勤怠SaaSのAPIが打刻ピークに使えない前提では、キャッシュを高速化と捉えると利用禁止時間帯に値を返せなくなるとして、データごとの鮮度要求とライブ取得失敗時の返却物をTTLのカテゴリ分けとstale-while-errorへ落とし込んでいる | @miyakona | 08:05 |
| 12 | 子プロセスのログを SSE で流す管理画面 — ポーリングから移行した | 1秒ポーリングは表示遅延・無駄なリクエスト・終了判定の別問い合わせという3点の不満を残すため、双方向通信が不要でNext.jsのroute handlerだけで完結するSSEへ移した | @kodomo_news | 08:16 |
| 13 | Web API設計で最初に知っておきたいREST・HTTP・URIの考え方 | RESTはURL設計のルールではなくクライアント/サーバ・ステートレス・キャッシュ・統一インタフェース・階層化・コードオンデマンドから成るアーキテクチャスタイルだと『Webを支える技術』を読んで整理し直している | @ukigumo_shiina3 | 08:26 |
| 14 | Confidential Spaceを実測 ―実行中のコードをdigestで暗号証明し、運用者にも中身を見せない | Google CloudのConfidential Spaceを組織なしの個人プロジェクトで動かし、attestationトークンが「このdigestのコンテナを機密ハードでセキュアブート付きに実行中」と証明する中身まで実データで確認した(セキュアブート必須が詰まりどころ) | @ccie26302 | 08:31 |
| 15 | React Server Components(RSC)とは?Next.jsで実際に動かして理解する | RSCの核はサーバー専用実行によりComponentのJavaScriptをブラウザへ送らない点にあり、Pages RouterのSSRがhydrationのためJSを送るのとどう違うかをApp Routerで書きながら確かめている | @kiyoma | 08:48 |
| 16 | Google OAuth検証を個人開発で通す:申請文とデモ動画の全要件 | calendar.readonlyスコープの検証を2026年8月8日提出→8月10日承認で通した申請文の全文とデモ動画の要件9項目を公開し、詰まるのはコードではなく英語動画・申告アンケート・スコープ登録漏れの3点だったと書いている | @masa_lab | 09:00 |
| 17 | AIクローラー急増からサーバーを守る!Kernel.orgの事例と対策 | kernel.orgのインフラエンジニアによる「Creepy Crawlies」をもとに、robots.txt無視・分散IPからの高頻度リクエスト・git cloneやzipの無差別大量取得という3つの負荷パターンと防御策を整理している | @ament3 | 09:17 |
| 18 | ブラウザは音声を何個まで溜められるのか、Chromeがクラッシュするまで実測した | マニュアル読み上げの先読み設計にあたり実測データが見つからなかったため、同じmp3をHTMLAudioElement・AudioBuffer・Blobの3形態でタブに溜め続けてクラッシュするまでの上限を測っている | @pontan1001 | 10:00 |
| 19 | 1枚の画像をつなぎ目のない背景へ。ブラウザでシームレス化する | 端を広くぼかす方式ではなく画像を循環移動させて境界を中央へ寄せてから混ぜる方式を採り、ドット絵では2色を平均せず元画素を選ぶモードを初期状態で有効にしている | @holometer | 10:14 |
| 20 | 負のmarginで短いページだけフッターが重なる原因をDOMRectで切り分ける | 原因はz-indexでもpositionでもoverflowでもなく、負のmargin-topと内容量任せの高さの組み合わせで、getBoundingClientRect()とelementsFromPoint()で切り分けてmin-heightを設計寸法から決めている | @nadarakainc | 10:33 |
| 21 | Agent Gateway と Model Armor を使用して Agent Platform でエージェントを保護する | Gemini Enterprise Agent PlatformのBuild/Scale/Govern/OptimizeのうちGovernにあたるModel ArmorとAgent Gatewayで、増え続けるエージェントの追跡と外部脅威からの保護をどう組むかを扱っている | @bharen | 10:57 |
| 22 | Claude Managed Agents で構築する、Slack から使える業務データ分析基盤 | 各自のローカル端末でスキルを実行するとサプライチェーン攻撃と認証情報の個人管理というリスクが残るため、実行基盤をClaude Managed Agentsへ寄せてSalesforce連携の分析を非エンジニアがSlackから統制付きで叩けるようにしている | @rossan518 | 10:59 |
| 23 | migrate は exit 0、走ったのは別のSQL: マイグレーション番号を050で二重採番した話 | map[int]*migrationに格納する自前ツールで050が2組でき、後から読まれた側が先の側のSQLを黙って上書きしたままschema_migrationsへ「適用済み」を記録してexit 0で終わっていた。main.goに+14行の衝突検出を足して即エラーで止めるよう直した | @erenoa6622 | 11:52 |
| 24 | 創作の主体は、人間だった。 - 初音ミクのお誕生日なので TextAlive App API を使ってみた - | この春に未経験からエンジニアになった筆者が、マジカルミライのプログラミング・コンテスト入賞作で使われるTextAlive App APIを触り、歌詞が音楽に合わせて動くページを初めて自分で作った過程を書いている | @ecila | 12:00 |
| 25 | AIに任せると起きる「仕様は満たすが思想に反する実装」との付き合い方 | 数か月ごとに未知のコードベースへ入るSESの立場から、Claude Code v2.1.251でテストでは検出できない失敗2パターンを挙げ、READMEは説明文ではなくセットアップコマンドから読むといった立ち上がりの手順を示している | @haru_makes | 12:13 |
| 26 | NEXT TOKYO’26:ゲーム・インフラ・メディアのAI・クラウド活用事例まとめ | グリーとカプコンのセッションから、AI導入で最も苦労するのは「使おうとしない層」と「過信する層」に二分される人であり、現場の業務解像度が低い経営層のトップダウン導入はうまくいかないという指摘を拾っている | @cloud_ace | 12:34 |
| 27 | 自分のCSVツールが日本のCSVを読めなかった — 文字コード判定を書いて二度間違えた話 | Blob.text()は仕様上UTF-8でしかdecodeせず引数も取れないため日本語版ExcelのShift_JIS CSVを構造的に読めず、バイト列で読んでエンコーディングを判定する部分を二度書き直すことになった | @devkitlab | 12:57 |
| 28 | Redmineの「移行が面倒」を潰すために作ったCSVインポート機能の設計メモ | チケット番号の変化・親子関係の消失・添付とコメント履歴の欠落という3つの地雷に対し、主キーはUUIDのままsource_system / source_idへRedmine由来の識別子を保持する設計で対処している | @taski_app | 13:26 |
| 29 | 個人開発SaaSでAI機能を無料プランに全開放できた理由(BYOK設計) | サーバー側で自社APIキーを使うと無料開放時にコストが青天井になるため、ユーザー自身のGemini APIキーをブラウザから直接叩くBYOK方式にして、回数制限の設計・実装・維持コストごと消している | @taski_app | 13:26 |
| 30 | 連載再開~【連載】実況パズルプログラミング | 2024年3月で止まっていた連載を再開し、紙のペンシルパズルを撮影して解くアプリokozeを題材に「コードを書く前に実装するものとテストケースを書き出す」という自身の開発習慣を検証していくと宣言している | @ogwk | 13:36 |
| 31 | Turnstileはresetするだけでは足りない──新トークン待ちを送信ボタンで制御する | turnstile.reset()は新トークンを同期的に返さないため検証中に送信すると空または期限切れのトークンがsiteverifyで拒否される。Astroコンポーネント側で送信ボタンをdisabledで描画するfail-closeにして塞いだ | @jinsights | 13:37 |
| 32 | AWS WAFのSQLi_BODYだけを制御する|Managed RuleのCount + Labelを使った誤検知対策 | application/x-www-form-urlencodedではBody全体が1つの文字列として検査されパスワードがSQLiシグネチャに似ると誤検知するため、Rule全体やURI全体を除外せずManaged RuleのCount + LabelでSQLi_BODYだけを制御した | @takuyousou | 14:07 |
| 33 | 改訂新版 これからはじめるReact実践入門で前回から追加された要素を学習した | 山田祥寛氏の改訂版で初版から変わったCreate React App→Vite、Jest→Vitest、Recoil→Jotaiの移行と、React 19のActions・フォーム関連API、Next.js 15の非同期APIとServer Actionsを追っている | @hawklight1926 | 14:27 |
| 34 | Dockerコンテナの正体を理解する — ネットワーク・プロセスモデルからAWS/オンプレ運用まで | 「コンテナ起動のたびに軽量Linuxカーネルが起動する」という誤解を否定するところから始め、プロセスモデルと通信経路、ECS/EKS/Fargateの棲み分けまでを一本の線でつないでいる | @nyondev | 15:06 |
| 35 | クラウドNW設計|Subnetのアドレス設計 | 2つのAZを使うWebシステムを想定し、必要なSubnetの整理→SubnetごとのIPアドレス数の見積もり→収容できるCIDRの決定という順でVPCのアドレス設計を進めている | @naoki_mm | 15:23 |
| 36 | Web開発初心者の備忘録 -Vite + Vue 環境構築- | 大学のフロントエンド業務を任された筆者が、Viteが起動と更新の速さで主流になった経緯やVueの.vueファイルがtemplate/script/styleで構成される点から書き起こし、実際に使っている開発環境の構築手順を残している | @megupoid | 15:34 |
| 37 | SupabaseのリードレプリカとOAuth 2.1 Serverで社内分析用リモートMCPを作ってみた | 本番DBをAIへ繋ぐ怖さを「書き込み事故・本番への負荷・誰でも繋がる」の3点へ分解し、プロンプトでのお願いや正規表現に頼らずリードレプリカとOAuth 2.1 Serverで構造的に解消した(Supabase Meetup Tokyo #1 のLTに加筆) | @takashiasanuma | 16:05 |
| 38 | 権限件数の上限は Auth0 ではなく ALB の 11KB にあった | 社内チケットに書かれていた「IDプロバイダ側の500文字制限」は今回の経路と無関係で、1ユーザーの権限を50件に縛っていたのはALBがOIDC認証で受け取れるuser claimsの大きさ(11KB)だった | @george0701 | 16:12 |
| 39 | AWS MCP Serverで多要素認証(MFA)を通すための構成 | AWS MCP ServerはClaude Codeの裏側で動きMFAコードを対話入力できないため、先にAWS CLIでMFA認証を済ませた一時クレデンシャルをuvで実行するmcp-proxy-for-aws経由で使う構成にした | @shohei_12 | 16:30 |
| 40 | 画像編集AIのUndo設計|元画像を上書きしないイベントログをNode.jsで作る | Undoを再生成ではなく保存済みの親バージョンへ戻す操作として実装し、SHA-256・親ID・prompt・modelをJSONLへ追記する構成でNode.js v24.19.0上7/7テスト通過、10,001件のイベントを1.528msでリプレイできた | @kiritani_r | 16:33 |
| 41 | Cloud Native Kansai #1 に参加しました | はてなブログ2019年2月4日公開分をZennへ移行した記事で、2時間半に7発表が詰まった関西初開催のイベントからCNCFが示すKubernetes利用までのロードマップの話を持ち帰っている | @spookies_pr | 17:00 |
| 42 | StyleXとPlumeriaだけが、カスケードと特異性を解いている | 決済プラットフォームPolarがTailwind CSSからStyleXへ移った事例を出発点に、Plumeria作者自身が「衝突・カスケード・特異性の3つすべてを解き、Atomic CSSでありながら出力順序に依存しないのはこの2つだけ」と主張している | @refirst11 | 17:27 |
| 43 | AWS Hands-on for Beginners スケーラブルウェブサイト構築編をやってみた! | ELBのマルチAZとRDSのマルチAZ配置でWordPressを構築する公式ハンズオンをなぞりつつ、教材が使うAmazon Linux 2 AMIが2026年6月30日にサービス終了している点に突き当たっている | @eggplant | 17:28 |
| 44 | ReadOnlyAccess で terraform plan を実行する ─ plan 実行ロールのあるべき姿 | applyには構造的にadmin相当が要るがplanはReadに閉じるべきだという前提で、SOPSのkms:DecryptのようなReadを越えた権限を混ぜずにplan実行権限を組織内へ広く配る方法を検討している | @kaito_bq | 17:30 |
| 45 | SageMaker Feature StoreのBatchWriteRecordを実測 — 呼び出し25分の1で5.7倍高速 | PutRecordは1回1レコード1フィーチャーグループのため顧客200人×FG2つで400回の呼び出しが必要だったが、1リクエスト最大25エントリのBatchWriteRecordで呼び出し数が25分の1・5.7倍高速になったと実測している | @kashiwabaray | 18:02 |
| 46 | AgentCore Memoryのflexible namespace variablesを実測 — 渡し忘れをNull条件で即時エラー化 | 従来はnamespaceに{actorId}/{sessionId}/{memoryStrategyId}の3変数しか使えずテナントや組織の軸を持ち込めなかったが、2026/08/28追加のflexible namespace variablesで任意キーを宣言しCreateEventごとに値を渡せると確かめた | @kashiwabaray | 18:05 |
| 47 | GUIとTerraformのデフォルト値差異を比較検証 | Google CloudのCompute EngineとVPCネットワークを題材に、設定値の必須/任意やデフォルト値がGUIとTerraformでどう食い違うかを実際に作成しながら比較している | @takayuki_harada | 19:00 |
| 48 | 数億の画像を溜めるS3のコストを、ストレージクラス使い分けでコスト削減する | レシート画像が数百TB・数億ファイルすべてS3 Standardに積まれていたため、プレフィックスごとのアクセスパターンでストレージクラスを使い分け、対象バケットのコストを約55%削減した | @kiyokuro | 19:45 |
| 49 | Amazon Aurora のインスタンスの promotion_tier を設定しても、クラスタ新規作成時は無視される | フェイルオーバー時にどのreaderをwriterへ昇格させるかの優先度であるpromotion_tierをTerraformで指定しても、クラスタを新規作成する場面では反映されないという挙動を報告している | @gecko655 | 19:55 |
| 50 | ブラウザ録音で「無音テイク」を防ぐための3段階プリフライト設計 | MediaRecorder.start()の成功と有意な音声の保存は別物で、許可前はdeviceIdやlabelが空になるブラウザがあるため、最初のgetUserMediaを緩い制約で通してからデバイスを確定する3段階の確認手順を提案している | @cvvoice | 19:56 |
| 51 | 無関係な文の類似度が0.988だった — 韓国語RAGの埋め込みモデルを実測で選び直す | 英語最適化の埋め込みモデルは韓国語で無関係な文どうしのcos類似度が0.988に達し閾値をどう置いても絞れないと計測し、分離度が最も高いモデルを採らずネイティブ次元・スキーマ整合・単価まで含めて選んだ理由も書いている | @geonyole_ae | 20:11 |
| 52 | 英語コロケーションをAIと練習できる学習アプリをひとりで作った話(Next.js + Claude API) | “make a mistake”は正しいのに”do a mistake”はおかしいといったコロケーションを、調べて終わりにせずその場で会話練習まで繋ぐアプリColloquyを医学部生が個人開発した | @t_okubo | 21:19 |
| 53 | FIFAワールドカップ全104試合を支えたGoogle Cloud大規模配信基盤 | TelevisaUnivisionが全104試合のライブ配信で累積6億7,500万回再生・可用性100%を達成した構成を、Media CDNとMemorystore for Valkey 9.0を中核にエンジニア視点で解剖している | @adopture | 21:36 |
| 54 | 「TypeError: Failed to fetch」はHTTPエラーではない — 原因6パターンの切り分け | このエラーは404や500では発生せず「レスポンスがそもそも1バイトも得られなかった」ことを意味すると整理し、CORSブロック・接続拒否・Mixed Contentなど6パターンをChromeでの見分け方とともに並べている | @devtoolbox | 22:26 |
| 55 | AI に生成させたデータを読まずに使う — 保証9件を9通りに壊して、効いていない1件を見つける | SQLiteの7テーブルをAIに生成させたSQL捜査ゲームで、保証を9件書いて全部緑になった時点ではまだ何も確かめられておらず、9通りに壊して初めて1件が最初から一度も働いていなかったと分かった | @yusaka_lu | 22:27 |
| 56 | Reactライクにエージェントを開発? - Flueの宣言的エージェント開発入門 | Astro開発陣によるFlueではagent functionがモデル呼び出しごとに再レンダーされ、Hooksでモデル・ツール・Skills・Sandbox・Subagent・状態を宣言する形になるとして、PRレビューエージェントをデモ実装している | @senna | 22:35 |
| 57 | 【後編】これまでのキャリアの棚卸し ― 運用管理からクラウドエンジニアを目指して | AWS SAAの受験がテストセンター側のトラブルで延期になった間に、クラウドPBXを使ったコール環境の整備やAccessでのデータ加工など非エンジニア職で積んだ技術・運用寄りの経験を棚卸ししている | @hitakaha | 22:41 |
| 58 | MCP導入前のセキュリティチェックリスト11項目—エージェント暴走を防ぐ | LLMの競争軸がモデル単体の性能から業務特化と自律エージェント運用へ移ったという整理のもと、Agent/MCPを本番導入する前に確認すべきセキュリティ論点と、uv・Ruff・Polarsが注目される背景を並べている | @bambampurin | 23:00 |
| 59 | CSS Custom Propertiesを完全攻略するリファレンスツール | Basics / Scoping / Patterns / JavaScript / Gotchas の5カテゴリ17エントリをsyntax・tip・gotchaのバッジで分類し、「fallbackは無効値には効かない」といった落とし穴をコピー可能なコード付きで並べている | @devnestio | 23:10 |
| 60 | Spannerのback joinを読み解く | secondary indexで行を見つけた後にベーステーブルへ引き直すback joinは避けるべき動作ではなく問題になるのは回数とタイミングだとして、なぜ遅くなるか・いつ発生するか・どう減らすかを説明している | @sinozu | 23:42 |
| 61 | AWS EC2に使い捨てのTailscale Exit Nodeをオンデマンドで立てた | 常時稼働のexit nodeは使わない時間帯も課金されるため、カスタムAMIを持たずAmazon Linux 2023の素のAMIから起動し、user_dataだけでTailscaleの導入とtailnet参加を完結させる使い捨て運用にした | @takuyima | 23:57 |
| 62 | EUCをクラウドから呼んでAIエージェントに備える。 | WindowsのWorkerがSQSをLong Pollingし、typeにexcel/access/webを持つJSON形式のジョブを受けてEUCを操作し結果キューへ返す構成を、pywin32とPlaywrightで実験している(この回にAIエージェントは登場しない) | @fujihide | 23:59 |
Qiita
| # | Title | Summary | Author | Published |
|---|---|---|---|---|
| 1 | 【AIエージェント構築入門】Bedrock AgentCoreで複数のAWSアカウントを自然言語で調査するチャットボットを作る(後編) | 前編でローカルに作ったStrands Agents + StreamlitのチャットボットをBedrock AgentCore Runtimeへ載せ、セッションIDごとに専用microVMが割り当てられ処理中だけ課金される挙動を確かめている | @eureka_ | 00:11 |
| 2 | Parquet と Glue データカタログとは | S3に置かれたParquetの実体とGlueデータカタログのテーブル定義という2つが組み合わさって初めてAthenaがSQLでファイル群を表として扱えると、ECサイトの注文ログを例に分解している | @kkaattoo | 00:57 |
| 3 | AI時代に感謝してPMが一人でアプリをローンチした話 | PMがAIへ実装を任せる際に残る仕事はカスタマージャーニーからコアと「やらないこと」を決めることだとして、Cursor・Cloudflare・PWA構成で個人アプリを公開するまでの前後の作業を書いている | @karuca | 01:11 |
| 4 | 2 段ヘッダの作り方 — 下段を畳んで、隠れている間はナビを上段へ繰り上げる | スマートフォンでは1段にサイト名とナビが収まらないため上下2段に分け、下段をスクロールで畳む代わりに、畳まれている間だけナビの一部を上段へ出して導線を保っている | @kodomo-news | 08:00 |
| 5 | 数千社規模のBtoB SaaSを支えるマルチテナントDB設計と無停止マイグレーション | 数千テナントが相乗りする段階で綺麗に抽象化されたORMが牙を剥くとして、pg_stat_activityを睨みながら踏んだデッドロックとサービスクラッシュの記録から防衛的スキーマ設計とゼロダウンタイム移行を組み立てている | @TOAI | 08:07 |
| 6 | 【簡単AWS MLA】【初心者向け】Day 12:Model Monitor と Data Drift を整理する — デプロイ後の監視の基本 | 入力データの傾向やユーザー層が変われば精度もレイテンシーも劣化するという前提で、SageMaker Model Monitorが何を見るのか、Data Driftが起きたら何をするのかを試験での問われ方まで含めて整理している | @MetaYuan | 08:19 |
| 7 | CRDTで作る同時編集エディタ | Notionの仕組みを調べてCRDTに行き着き、Google Docsが使うOTはあらゆる操作の組み合わせについて矛盾のない変換関数を定義するのが難しいと整理したうえで、ライブラリなしで同時編集エディタを実装している | @kenny-m | 08:48 |
| 8 | ヤジサンカズサンを解く — ソルバーが最初に学ぶことは、必ず嘘つきから学んでいる | 手掛かりは盤面についての主張ではなく「自分のマスが塗られていなければ真」という条件付きの主張であり嘘をつけるという点を軸に、5つのルールセットを内蔵したソルバーをブラウザに実装した(ソルバー内蔵パズル第51弾) | @sen-ltd | 08:52 |
| 9 | 画像をJPEG/PNG/WebPに変換する — Canvas toBlobの品質引数と、透過を白で潰す理由 | toBlobの第3引数(品質0〜1)はJPEG・WebPのような非可逆形式にしか効かずPNGでは無視されるため明示的にundefinedを渡し、JPEGは透過を持てないので描画前に白でfillRectする必要があると実装ベースで示している | @sakutto-panda | 08:57 |
| 10 | 2026年08月第35週 GitHubで話題になったリポジトリまとめ | 直近1週間に新規作成されスターを集めた12件を挙げ、首位は研究プロセス自動化のsapientinc/PRAXIST(★4,528・Python)、2位はXiaoDuoYa/codex-with-chatgpt(★1,370・TypeScript)だった | @keishin_nishiura | 09:07 |
| 11 | S3の実体が消えたファイルが404ではなく403で返ってきて、非同期ジョブが止まった話 | 添付一括ZIP機能が「出力中」のまま終わらない原因は実体を失った写真1枚で、CloudFront署名付きURL経由のアクセスが404 Not Foundではなく403 Forbiddenを返す挙動を知らなかったため調査が遠回りした | @nozomir | 09:10 |
| 12 | Amazon S3の意図しない公開を防ぐための設定確認チェックリストとIAM・バケットポリシー設定例 | ブロックパブリックアクセス・バケットポリシー・ACLという3つの防御壁のうち、特別な理由がなければACLは無効化してIAMポリシーとバケットポリシーへ一元化するのが現行の推奨だとして、確認用のAWS CLIコマンドまで並べている | @blinkgroup_jp | 09:22 |
| 13 | 【AWS SES メール認証・なりすまし対策①】DMARCのp・sp・npを理解する ~サブドメインのなりすまし対策を設計してみた~ | 本番sample.comとSTG stg.sample.comの構成で、メール送信に使っていないサブドメインの悪用も拒否したいという要件から「sp=rejectがあるならnp=rejectは何のためか」を2026年5月公開のRFC 9989前提で整理している | @kooohei | 10:14 |
| 14 | 気象庁サイトを利用したビューアの作成 24 雷観測(表・報知機能付き) | 気象庁のnowcast系APIは現時点でドメイン制限が無く自由に取得できるとして、targetTimes_N3.jsonから最新観測時刻を取り、選択した市町村の近くで雷があれば音声で知らせるページを作っている | @KAI_Mutsumi | 10:36 |
| 15 | Next.js 16をOpenNextでCloudflare Workersにデプロイして踏んだハマりどころ3つ | @opennextjs/cloudflareのpeer dependencyがnext@”>=15.5.21 <16 || >=16.2.11”のため Next.js 16.2.10 だけがインストール時点で弾かれるなど、公式ドキュメントに書かれていない壁3つを実際のエラーとともに記録している | @hiro123 | 10:51 |
| 16 | 2026年8月31日 今日のQiitaトレンド記事をポッドキャストで聴こう! | 前日夜のQiitaトレンド記事をAIポッドキャスト化して毎朝7時に更新する取り組みで、この回は「AIの口癖を日本語記事で測ろうとして3回とも失敗した」などの記事を出典に挙げている | @ennagara128 | 10:56 |
| 17 | Next.jsのerror.tsxが拾うエラーと、拾わないエラーの境界線 | error.tsxは必ずClient Componentにする必要があり、そのフォルダに置けば何でも拾ってくれるわけではないとして、レンダリング中の例外という守備範囲と拾えないエラーの境界を整理している | @ennagara128 | 11:03 |
| 18 | 【2026年8月】AWS Cloud Practitioner 教材比較&おすすめ紹介 | AI Practitioner取得済みの状態から70時間かけたという実績を添えて、Udemyの模擬試験問題集(6回分390問)と7月にSkill Builderへ追加された日本語実写版のDigital courseを推している | @KM__ | 11:14 |
| 19 | AWS CLI入門 filters・query・outputの違いと検索コマンドの作り方 | —filtersはAWSサービス側で取得対象を減らし、—queryはCLI側でJMESPathにより結果を加工し、—outputは表示方法を決めるという処理場所の違いで整理し、EC2の実例で組み立て順を示している | @s_horikoshi | 12:33 |
| 20 | Building a Minimalist E-Commerce Architecture for Coolsiz Streetwear Brand(Coolsizストリートウェアブランド向けのミニマルなEC構成) | WordPress + WooCommerceのヘッドレス構成に自前CSSのFlexbox/Gridでエディトリアルなbentoグリッドを組み、WebP/AVIFの動的圧縮でLCPを1.2秒未満に収めたと報告している | @Coolsiz-Official | 12:34 |
| 21 | forkしていたAWS SamplesのSpec-Driven Presentation Maker(SDPM)を2ヶ月ぶりにアップデートしてみた | 本家への追従を2か月サボった結果 git log —oneline HEAD..upstream/main が312コミット差を返し、途中のv0.5.0でディレクトリ構成が変わった差分を追いながら追いつくまでの作業を記録している | @yama3133 | 12:36 |
| 22 | Cloudflare Tunnelで自宅サーバーを公開する【Cloudflare運用記録 #3】 | ルーターのポート開放ではグローバルIP・HTTPS証明書・DNS・セキュリティまで自分で抱えることになるため、Proxmox上のUbuntu VMで動くDocker + Nginxをcloudflared経由で公開する構成にした | @archer2232 | 13:00 |
| 23 | PDFを結合・分割する方法まとめ(JavaScript / Python / コード不要の無料ツール) | ブラウザでもNode.jsでも動くpdf-libのPDFDocument.create()による結合コードを軸に、Pythonでの処理とブラウザだけで完結する無料ツールを、そのまま使える形で並べている | @yuapi | 13:38 |
| 24 | SupabaseのRealtime購読でEgress(帯域)使用量が急増した話と対処法 | postgres_changesの変更イベントを受けるたび「安全側に倒して」プロジェクト全データをrefreshData()で再取得する実装が原因でEgress上限を超過したと、誰でも踏むアンチパターンとして共有している | @taski_app | 13:59 |
| 25 | Googleが読み込めない「ユーザートリガーコンテンツ」について|クリック時生成コンテンツ編 | Googleが読めるのはランディング直後に生成済みのコンテンツまでで、ユーザーのアクションで初めて生成されるHTMLは評価対象外になるとして、アコーディオンUIや無限スクロールでの回避策を挙げている | @satohiro-eguchi | 14:06 |
| 26 | Yellowfinのレポートをエクスポートするボタンをコードウィジェットで作る | ダッシュボードごとにJavaScriptをコピペするコードモードに対し、JARへまとめてプラグイン管理画面から上げるコードウィジェットなら標準ボタンのプロパティパネルを継承したまま配布できる(Yellowfin 9.18 build 20260813で検証) | @hadatuna | 14:08 |
| 27 | AWS製AutoMLライブラリのAutoGluonをKaggleデータで試してみる | House Pricesコンペで目的変数の列名を教えるだけの生データ投入が、数値列のみで前処理を最小限にした線形回帰のベースラインを普通に超えたと報告している | @yust0724 | 14:36 |
| 28 | 【AWS設計パターン】Direct Connect環境におけるRoute 53 ResolverとPHZを用いたハイブリッドDNSアーキテクチャの構築 | Direct Connect + Transit Gateway構成で、プライベートホストゾーンのcloud.example.comをVPC内からもオンプレのクライアントからも最高性能・最小運用コストで解決させる標準構成を整理している | @mooreyxia | 14:38 |
| 29 | テナントごとに項目を追加できる「カスタムフィールド」をJSONBで実装するパターン | 項目の「定義」をcustom_fieldsテーブルへ、「値」をJSONBへ分ける設計により、DBマイグレーションなしで文字列・数値・ドロップダウンの追加・削除・並び替えを管理画面から行えるようにしている | @taski_app | 14:52 |
| 30 | SageMaker Unified Studio「グロサリー(ビジネス用語集)ってなに?」 | グロサリーはアセットへ付与できるビジネスメタデータの一種だとして、用語集の定義方針や個人情報区分のラベルを用語として定義する例まで具体化している | @swkky | 16:06 |
| 31 | 【AWS設計パターン】レガシーIoT向けHTTPヘッダー動的削除とCloudFront Functions × ALB × Lambdaによるサーバーレス移行 | 古いファームウェアのテレビやネットワークラジオが現代的なレスポンスヘッダーを受け取るとパースエラーでクラッシュするため、CloudFront Functionsでヘッダーを動的に除去しALBから複数のLambdaへ振り分ける構成にしている | @mooreyxia | 16:19 |
| 32 | 5分で作る個人API – Next.js App Router と Vercel の最速デプロイ | create-next-app —ts で作った app/api/hello/route.ts にGETを1本書き、クエリパラメータをNextResponseで返すところからVercelへのデプロイまでを初心者向けに通している | @felix-jp-studio | 16:21 |
| 33 | AWS Summit 2026 初参加の感想 | 2026/06/25のDay1に初参加した2年目SREが、名刺の用意とJam/GameDayの下調べを怠った反省と、公式アプリの事前インストールとセッション予約が効いた点を来年用に残している | @Rabbit_booK | 16:46 |
| 34 | SageMaker Unified Studio のグロサリー(ビジネス用語集)を AWS CLI で作成する | datazone:CreateGlossary / CreateGlossaryTerm の権限を前提に、AWS CLI v2でグロサリーと用語を作りアセットへ付与するまでの手順を、ドメインIDやプロジェクトIDのサンプル値付きで通している | @swkky | 16:48 |
| 35 | 「EventBridge のタスク」って何のこと?ECS と EventBridge の登場人物を整理する | EventBridgeに「タスク」という資源はAPIにもコンソールにも存在せず、詰まる原因はECS側のタスク定義・タスク・サービスの3つが日常会話で全部「タスク」に圧縮される名前のねじれにあると指摘している | @gtakairo | 16:55 |
| 36 | 【AWS_Lore #SAA-40】影の半身が輪郭を持つ時(Shadow Half-Form Resonance) | AWS SAA学習を題材にした連作小説の第40話にあたり、観測装置と影の波形をめぐる物語が進むだけで、この回にAWSの技術的な記述は含まれていない | @Nika_Rulie | 17:00 |
| 37 | Blazor (.NET 8) で CSS/JS のキャッシュバスティングを実装する方法(asp-append-version の代替) | BlazorコンポーネントではTagHelperが使えずasp-append-versionをそのまま使えないため、.NET 8環境で静的ファイルの内容ハッシュから?v=を付ける仕組みを既存環境への影響を抑えつつ自前実装した | @af-dev-hub | 17:16 |
| 38 | .NET 10 / Blazor テンプレートで確認した @Assets と Fingerprinting(静的ファイルの自動キャッシュバスティング) | 前回.NET 8向けに自前実装した仕組みが、.NET 10のBlazorテンプレートでは最初から @Assets[”…”] とフィンガープリント付きアセット配信として組み込まれていたと確認している | @af-dev-hub | 17:24 |
| 39 | 【AWS DR設計】Pilot Lightパターンによるクロスリージョン自動フェイルオーバー(Route 53 × Lambda × RDS Read Replica) | DRリージョンのAuto ScalingグループをMin=0/Max=0にしてEC2コストを削りつつ、Route 53のヘルスチェックとLambdaでRTO 15分未満の自動昇格・起動・トラフィック切替を完結させる構成を整理している | @mooreyxia | 17:56 |
| 40 | EC2の古いOSを一括で棚卸しする4つの方法 - Windows Server 2016 EOL対応 | AWSはゲストOS内部の情報を保持せずEC2コンソールにもdescribe-instancesにもOSバージョンが出ないとして、SSMのdescribe-instance-informationを第一候補に4手法を精度順へ並べ、最も古いOSほどSSM管理外という逆説を指摘している | @ugoita | 18:43 |
| 41 | Java + PostgreSQL環境下でのデータベース接続タイムアウト設定の色々 | JDBCドライバや多くのRDBは既定でタイムアウトが無制限か非常に長く、重いSQLがロックを握り続けてカスケード障害を招くとして、PostgreSQLとJavaで設定できるタイムアウトを設定箇所と用途別に並べている | @gengen0719 | 19:00 |
| 42 | 【TypeScript】条件型のinfer——型の中から型を取り出す | inferは条件型のextendsの右辺にだけ書けるという制約から入り、Flatten | @aomr | 19:34 |
| 43 | AmazonLinux2023のリポジトリへインターフェースVPCエンドポイント経由でアクセスしてみた | 無料のS3ゲートウェイVPCエンドポイントを作れない制約下でインターフェース型から Amazon Linux 2023 のリポジトリへ届くかを試し、hostsで名前解決してから再接続する必要があったと記録している | @ss_IT_study | 19:37 |
| 44 | Next.jsとRails APIでセッションCookieを共有する | セッションCookieはRailsが発行しブラウザが保持するという前提で、ブラウザからのfetchはcredentials: “include”で足りるがサーバコンポーネントからRailsへ出すリクエストでは運び方が分かれると整理している | @aomr | 19:39 |
| 45 | 背景除去ツールが髪の毛を食べてしまう理由 — アルファマスクは 0/255 ではない | セグメンテーションモデルが出すアルファは連続値で1ピクセルの6割を覆う髪なら153前後であるべきだとして、多くのツールが既定で行うエッジ収縮・マスクぼかし・背景色被り除去をすべてオフにした理由を説明している | @cheng_pm8 | 19:56 |
| 46 | [React] コンポーネント | 同じスタイルオブジェクトを複数用意する必要が出た前回のコードを出発点に、styleを受け取るコンポーネントへ切り出す手順を写経形式で追っている | @sasuke_sss | 20:02 |
| 47 | AIは止めない、実行は止める。Cloudflare OSの「承認待ち」が面白い理由と落とし穴 | 同梱のConfluence実装を変更せずに承認順序・却下・待ち時間中の他者編集など11ケースを検証し、「最新versionで更新すれば安心」でも「却下すれば元どおり」でもないという境界を具体的に示している | @WhaleTech | 21:03 |
| 48 | 「git」は「ギット」?「ジット」?みんなの読み方を投票できる「YOMIKATA」を作った | 正しい読み方を1つに決めるのではなく分布そのものを見る狙いで作り、執筆時点でgitはギット38票・ジット15票・ジーアイティー5票、heightはハイト20票・ヘイト10票という結果を公開している | @xeje | 21:03 |
| 49 | 【React】バッチ更新で困る場合はupdater関数 | setHoge(hoge + 1)を2回実行してもバッチ更新のため値は1しか増えないので、setHoge(prev => prev + 1)のupdater関数で書けば2回分反映されると整理している | @J-T_ky2g | 21:09 |
| 50 | ハード設計の「データシートグラフ手打ち」が地味にしんどかったので、PDFに直接プロットするツールを作った話 | 対数軸のグラフを目で追ってExcelへ手打ちする作業が1特性あたり約40分かかっていたのを、PDFを直接開き軸を4点クリックで校正して読み取り点をクリックする方式にして約3分へ短縮した | @takusu1210 | 21:51 |
| 51 | AI駆動開発ライフサイクル(AI-DLC)の日本語版Skill Builderが公開されたので体験してみた | 2026/8/27のJAWS-UG AI-DLC #02で告知された日本語版コースを実際に受講し、英語版の字幕ではなく日本語用に撮り直されている点や、AWS Builder IDでEnrollするまでの手順を伝えている | @news_it_enj | 21:57 |
| 52 | 判定結果でHP・評判・ゴールドを変える――ResultDefinitionとEventEffect【第21回】 | React + TypeScriptでWeb RPGを作る連載で、success / partial_success / failure の3分類だけではゲーム状態が変わらないため、何が変化するかをResultDefinitionとEventEffectとして別に定義している | @mild_bonobo5557 | 22:15 |
| 53 | PostgreSQL advisory lockで最後の1枠を守る | READ COMMITTEDではSELECTとINSERTを同じトランザクションに入れても2つのトランザクションが同時に定員未満を観測できてしまうため、予約枠ごとのトランザクション単位advisory lockと条件付きINSERTを組み合わせている | @tex64 | 22:41 |
| 54 | GitHub Actions × AWS OIDC で急に Not authorized to perform sts:AssumeRoleWithWebIdentity になった話(原因は Immutable Subject Claim) | GitHubが2026年7月15日以降に作成されたリポジトリのOIDCトークンのsubを不変ID付き形式へ既定で切り替えたため、repo: | @issy929 | 22:49 |
| 55 | AWS SAA-C03 合格へのログ Part.2 | 2週目は学習そのものより講師AIの構築が中心で、OpenClawで「アマゾネスのAWS講師」の人格を設定し、不確かな情報はWeb検索で確認させ、正解以外の選択肢が不正解な理由まで説明させている | @Nob_Hi | 23:10 |
| 56 | お台場ガンダム閉幕に寄せて:「AWS IAM GUNDAM」とIAM Role解説記事の振り返り | 等身大ガンダム立像の公開終了に合わせ、IAM Roleのスイッチロールを「ロボット操縦」に喩えた過去記事を振り返っている(Zennへも同一タイトルで投稿されているが、公開はQiita側が5分ほど早い) | @soulgemanalyst | 23:17 |
| 57 | ElasticBeansTalkのデプロイポリシー整理 | All at once / Rolling / 追加バッチによるRolling / Immutable / Traffic splitting をダウンタイム・新旧混在・デプロイ中キャパシティの3軸で表にし、バッチ=デプロイ対象インスタンスのまとまりだと押さえれば違いが分かると整理している | @yuyuueue | 23:36 |
| 58 | NSレコードを登録してもらわないとALBは使えない?——DNS委譲からRoute 53 Aliasまでの一本道 | ALBはNSレコードと無関係に動いており繋がらないのはwww.example.comの問い合わせがRoute 53へ届いていないからだとして、ルートからALBまでのDNS委譲とAliasの経路を一本道で辿っている | @gtakairo | 23:37 |
Publickey
2026-08-31 付の Web 開発関連記事はありませんでした(対象日の掲載1件は Web 開発トピック対象外)
gihyo.jp
対象日の該当記事はすべて Top 20 に掲載されています。
GIGAZINE
2026-08-31 付の Web 開発関連記事はありませんでした(対象日の掲載25件はいずれも Web 開発トピック対象外)
ITmedia News
対象日の該当記事はすべて Top 20 に掲載されています。
TypeScript Blog
2026-08-31 付の記事はありませんでした
Node.js Blog
2026-08-31 付の記事はありませんでした
Astro Blog
対象日の該当記事はすべて Top 20 に掲載されています。
Cloudflare Blog
対象日の該当記事はすべて Top 20 に掲載されています。
Vercel Changelog
| # | Title | Summary | Published |
|---|---|---|---|
| 1 | Set per-user budgets on AI Gateway(AI Gateway でユーザーごとの予算を設定できるように) | チーム内の各ユーザーへドル建ての上限を設定でき、そのユーザーに紐づく全 API キーと app token の支出が対象になる。既定予算とユーザー個別のカスタム予算があり、リセットは月次のほか日次・週次・リセットなしを選べ、50%・75%・100% でメール通知を出せる。API キーは作成者へ帰属するため、本番アプリのキーは API Keys ページからチームへ付け替える | 15:00 |
AWS What’s New
対象日の該当記事はすべて Top 20 に掲載されています。
Google Cloud Blog
2026-08-31 付の記事はありませんでした
Supabase Blog
2026-08-31 付の記事はありませんでした
web.dev
2026-08-31 付の記事はありませんでした
Mozilla Hacks
2026-08-31 付の記事はありませんでした
CSS-Tricks
| # | Title | Summary | Published |
|---|---|---|---|
| 1 | What’s !important #18: <geolocation>, Syntax ::highlight()ing, named-feature(), and More(What’s !important 第18回: <geolocation>、::highlight() による構文強調、named-feature() ほか) | ツールチップは誤爆を防ぐため遅延させてから即座に消すべきという Abhishek Jakhar の実装に対し、Chris Coyier が Chrome のみ対応の interest invokers(interest-delay-start / interest-delay-end)を使う実装で応じた。<geolocation> は権限周りの面倒を解消する代わりにスタイリング制限を持ち込むため、現行の Geolocation API と併用する方法を筆者が解説している。ほかに Dave Rupert の ::highlight() ベースの構文強調ツール MicroLighter も紹介 | 23:08 |
Smashing Magazine
| # | Title | Summary | Published |
|---|---|---|---|
| 1 | The Many Faces Of September (2026 Wallpapers Edition)(9月のいろいろな顔(2026年壁紙版)) | 15年以上続く月替わりの壁紙企画で、ステークホルダーやクライアントの要件を満たす必要がない場だからこそ各自の発想をそのまま形にできると位置づけている。今回もコミュニティから寄せられた作品を各種解像度で無料配布する | 20:00 |
Hacker News
| # | Title | Summary | Published |
|---|---|---|---|
| 1 | Show HN: Nohtml.felixs.eu(Show HN: Nohtml.felixs.eu) | Chrome の恐竜ランナーゲームを HTML も JavaScript も使わずに遊べるようにした実験で、実際にページを取得しても本文が1バイトも返ってこない。Chromium 系ブラウザだけは「Google が楽しいことを嫌うので」ごく少量の HTML が必要だと投稿者が断っている | 00:19 |
| 2 | Show HN: Snaketron – Competitive multiplayer Snake. Back after 14 years(Show HN: Snaketron — 対戦型マルチプレイSnakeが14年ぶりに復活) | 2012年の初版はゲーム状態をクライアント側に持たせており、HN で話題になった直後に複数のプレイヤーが侵入して無敵の蛇が現れ、対戦相手の「蛇」がインベーダーゲームの描画になっていたという。今回 Rust で書き直して公開した | 00:23 |
| 3 | Show HN: BentoPDF, Hyper Compress and Kura(Show HN: BentoPDF、Hyper Compress、Kura) | 100種類以上のツールを備えたオープンソースの PDF ツールキットで、処理は完全にクライアント側で走りファイルが端末を出ない。最新版では既存 PDF のテキスト・画像・オブジェクトをブラウザ上で直接編集できるようになった。サインアップ不要・オフライン動作・件数無制限 | 00:57 |
| 4 | UltraHDR gain map implementation for JavaScript/TypeScript(JavaScript/TypeScript 向け UltraHDR ゲインマップ実装) | ISO 21496-1 のゲインマップ仕様を扱う JS/TS バインディングで、中身は google/libultrahdr を Emscripten/embind で WebAssembly へコンパイルしたもの。UltraHDR JPEG の判定・デコード(SDR ベース・ゲインマップ・メタデータの取り出し)・SDR+HDR ペアからのエンコード・後方互換な SDR 抽出に対応し、npm install open-ultrahdr で入る。上流に合わせ Apache-2.0 OR MIT のデュアルライセンス | 01:32 |
| 5 | Pure-Rust Headless Browser: 5× Faster, 80% Less Memory Compared to Chromium(純Rust製ヘッドレスブラウザ: Chromium比5倍高速・メモリ80%減) | AI エージェント向けに純 Rust でヘッドレスブラウザを実装し Chromium 比で5倍高速・メモリ80%減と主張する r/browsers への投稿だが、リンク先の Reddit はブラウザ以外からのアクセスに「Welcome to Reddit」の中間ページを返すため本文を取得できなかった | 02:05 |
| 6 | Show HN: Text Logo – create text logos and wordmarks in the browser(Show HN: Text Logo — ブラウザでテキストロゴとワードマークを作る) | キャンバス・テキスト・フォント・アイコン・図形・背景を編集して SVG / PNG / WebP / ICO で書き出せるブラウザ内エディタ。文字単位の色指定に対応し、Google Fonts を Latin 1817・Latin Extended 1518・ベトナム語 516 といった言語別に絞り込んでライブプレビューできる | 02:20 |
| 7 | Show HN: Tinysandbox-JS-Runtime - JS in WASM in v8(Show HN: Tinysandbox-JS-Runtime — v8 の中の WASM の中で JS を動かす) | 依存ゼロの QuickJS ランタイムを標準的な WebAssembly ホスト向けに切り出したもので、ブラウザ・Cloudflare Workers・Convex の v8 action など WASM が動く場所ならどこでも隔離実行できる。ファイル読み込みや fetch を自分では行わず wasm バイトを明示的に渡す設計で、runCode() の呼び出しごとに新しい線形メモリ・インスタンス・QuickJS ランタイムを作るためゲスト状態は一切残らない | 02:38 |
| 8 | Running SQLite Apps on Docker and Kubernetes with Litestream(Docker と Kubernetes で SQLite アプリを Litestream 付きで動かす) | セルフホスト型 GitOps プラットフォームの OpenRun が Litestream を内蔵し、アプリの SQLite を AWS S3 や Cloudflare R2・MinIO・SeaweedFS へ継続レプリケーションするようになった。ボリュームが空または作り直されたことを検知するとアプリ起動前に自動でリストアするため、開発者は SQLite を普通に使ったままでよい | 03:05 |
| 9 | Chrome Web Store extensions caught stealing crypto, browser data(暗号資産とブラウザデータを盗む Chrome ウェブストア拡張が発覚) | Socket が発見したキャンペーンで、Chrome と Microsoft Edge 向けの複数拡張が暗号資産・機微データ・閲覧履歴の窃取と ClickFix 誘導を行う19の悪性モジュールを配信していた。多くは公開当初は正常で、うち5本は元の作者から買収されたうえで自動更新経由でマルウェアを注入されており、活動は2024年初頭から続いていた可能性がある | 05:07 |
| 10 | D1 Migration Guard – zero-dep safety checks before wrangler d1 migrations apply(D1 Migration Guard — wrangler d1 migrations apply 前の依存ゼロ安全チェック) | ローカルのファイルだけを読み wrangler も本番 DB も触らない3種のチェックを提供する。ファイル名の並び順がファイルシステム順と食い違う場合や連番の重複・欠番を検出(cloudflare/workers-sdk#13568 で修正されたバグ種)、wrangler.toml の [[d1_databases]] で database_id が未設定やプレースホルダのままの場合を検出(同 #5049)、DROP TABLE や無条件 DELETE FROM を正規表現で走査する。npx で試せる MIT ライセンス | 05:35 |
| 11 | AWS mumbles about its cost-busting networking tech when it should be shouting(AWS はコストを下げるネットワーク技術をもっと大声で語るべきだ) | Corey Quinn が AWS の VP of Global Network Engineering である Matt Rehder と現地のネットワークラボで話した内容をもとに、顧客のコストを抑えている要因の一部が AWS 自身のネットワーク技術の進歩にあるのに、その説明が控えめすぎると論じている(The Register、2026年8月29日掲載) | 06:03 |
| 12 | Format.js: Industry-standard internationalization libraries for JavaScript(Format.js: JavaScript 向けの業界標準 i18n ライブラリ群) | ICU Message 構文と ECMA-402 の上に載る数値・日付・文字列フォーマットのモジュール群で、React と Vue への統合が同梱される。月間 NPM ダウンロード 5,000万超、GitHub スター 1.4万超、150以上の言語、1,000社以上の採用を掲げている | 06:09 |
| 13 | Show HN: Open-source hands-free mouse control with Tracky Mouse(Show HN: Tracky Mouse — オープンソースのハンズフリーマウス操作) | Webカメラで頭を動かしてポインタを操作するアクセシビリティツールで、デスクトップアプリと JavaScript ライブラリの両方として配布され Web アプリへ組み込める。クリックは dwell・まばたき・口を開ける方式から選べ、閉じた目を修飾キー扱いにして3ボタン相当の操作もできる。物理マウスを動かすと自動的に一時停止する | 09:00 |
| 14 | Ace Targets Streaming Pirates Through Cloudflare and Discord Subpoenas(ACE が Cloudflare と Discord への DMCA サピーナで海賊配信者を特定へ) | 米国法では権利者が訴訟を起こさずとも裁判所書記官の署名だけで DMCA サピーナを取得でき、匿名の侵害者の個人情報を第三者事業者から得られる。ACE を代理する Motion Picture Association がカリフォルニアの連邦裁判所へ2件を申請し、1件目の対象がインフラ事業者の Cloudflare、2件目が Discord だった | 09:20 |
| 15 | Show HN: Python Static Site Generator for Small Businesses(Show HN: 小規模事業者向けの Python 製静的サイトジェネレータ) | 実店舗のオンライン店頭を想定し、ローカルの CSV をデータストアにして静的 HTML を生成する CLI。追加フレームワークも標準ライブラリ外のパッケージも JavaScript も使わず、CSS は HTML へ埋め込むので出来上がった index.html 1枚をホスティング事業者の管理画面からアップロードするだけで済む。フルスタック構成と単純な静的サイトの中間を埋める狙い | 09:28 |
| 16 | Pgwire explorer: the Postgres wire protocol, byte by byte(pgwire explorer: PostgreSQL のワイヤプロトコルを1バイトずつ) | 実際の Postgres ワイヤプロトコルのセッションをメッセージ単位でたどり、各パケットの全バイトをデコードして対応するフィールドへ対応付けて見せるツール。ページ自体は JavaScript がなければ「キャプチャをデコードして表示できない」と表示するだけで、静的な取得では中身が出てこない | 09:43 |
| 17 | Reimagine-it – redesign existing HTML from its own content (CLI)(Reimagine-it — 既存 HTML をその中身から作り直す CLI) | 既存ページから実際の見出し・事実・リンク・名前・日付・数値・配色を抽出し、埋め草を発明せずにその周りへ強い視覚システムを組み直す。元ファイルは変更せず、CDN も Figma もビルドも要らない単一の HTML を出力する。generate / variations / lock / audit の4コマンドが同じエンジンを共有し、7つのサンプルで異なる Auto トークンが選ばれた結果を公開している | 10:23 |
| 18 | Show HN: ScriptSpool – Create code animations in the browser(Show HN: ScriptSpool — ブラウザでコードのアニメーションを作る) | 自分の開発チュートリアル用に作ったもので、既存ツールは機能が足りず動画編集ソフトは大げさすぎたのが動機。コードを貼ってテーマとアニメーションを選び速度を調整して書き出す形で、行単位再生・GIF 出力・縦長 PNG スクリーンショット・ウィンドウスタイルを後から追加した。処理はすべてブラウザ内で走りコードは送信されない | 12:04 |
| 19 | Workers Builds Are Degraded – Cloudflare Status(Workers Builds が劣化 — Cloudflare ステータス) | Cloudflare のステータスページに記録された Workers Builds の障害で、影響を受けたサービスは Workers Builds のみ、Minor Impact 扱い。発生は 2026年8月27日 21:19 UTC、22:07 UTC に原因特定とビルド再開、22:58 UTC に解決済みとして記録されており、対象日に投稿されたのはこの過去の記録ページである | 12:16 |
| 20 | Protecting Postgres from everything that isn’t Postgres(Postgres を「Postgres 以外のすべて」から守る) | ClickHouse Managed Postgres では同じ VM 上に複数の PgBouncer・バックアップエージェント・メトリクスエクスポータ・ローカル Prometheus・ログコレクタ・ウォッチドッグが同居しており、そのどれもがメモリリークや CPU の消費、ディスク逼迫を起こしうるためデータベースの障害モデルの内側にあると位置づける。実行時の予算・cgroup 制限・ディスク満杯時のセッション例外で可用性を守る仕組みを説明している(2026年8月21日掲載) | 13:56 |
| 21 | Show HN: FlarePeek – a chrome extension for Cloudflare Worker developers(Show HN: FlarePeek — Cloudflare Workers 開発者向け Chrome 拡張) | 開いているタブを配信している Worker のデプロイ状態をダッシュボードを開かずに確認・操作できる拡張。Version Overrides を使って自分のブラウザにだけ特定バージョンを配信させ、実 DNS と実バインディングのまま本番ドメインでプレビューできる。トラフィックの10%を取るバージョンが6%失敗しても全体では0.6%にしか見えない問題に対し、バージョン別のエラー率を出し、ロールアウト中にバージョンをピン留めできる | 15:31 |
| 22 | Ghps: A Minimal GitHub Pages Simulator for Local Development(Ghps: ローカル開発向けの最小限 GitHub Pages シミュレータ) | 依存ゼロの純 Python 製で、404.html の扱い、プロジェクトのベースパス、厳格ルーティングモード、任意のキャッシュ制御まで GitHub Pages の静的ホスティング挙動を再現する。CLI としても Python ライブラリとしても使え、pip install ghps で入る(現行 0.6) | 17:49 |
| 23 | One AWS Bill Went from Almost $8k a Month Toward $6k(ある AWS の請求が月8,000ドル弱から6,000ドルへ下がるまで) | 同一の本番アカウントに対し8週間の間隔で読み取り専用 CLI の npx greenops-scan を2回走らせた実測記録で、指摘は53件から1件へ減った。初回時点の請求は月 $7,726.20 で、最大の内訳は ECS の $3,235.93 と DocumentDB の $1,506.78。専任の FinOps がいないまま2023年後半の約$2,000/月から2026年半ばに$7,800/月近くまで積み上がった経緯も Cost Explorer の履歴で示している | 19:15 |
| 24 | Show HN: Three Slicer, I ported OrcaSlicer to run in the browser(Show HN: OrcaSlicer をブラウザで動くよう移植した Three Slicer) | OrcaSlicer カーネルの WebAssembly ビルドにより、STL・OBJ・3MF・AMF・PLY と(STEP ファイルを開いたときだけロードされるローダー経由で)STEP を G-code へ変換する。インストールもアップロードも不要で、スライス処理はタブ内の自分のマシンで走る。Arachne の可変幅ウォール、gyroid / honeycomb / crosshatch のインフィル、ツリー・グリッドサポート、サポートと素材のペイントに対応 | 21:18 |
| 25 | The Supabase graph on GitMir could be a CS university course(GitMir 上の Supabase グラフは大学の CS 講義になりうる) | Supabase の459,339行を一度だけ解釈して、ドメイン・エンティティ・アクション・API・画面・ジャーニー・ライフサイクルからなる検証済み Object Context に変換した事例。3,972ファイルを完全に読んで2,263個のプロダクトオブジェクトを作り、計測対象のエージェントの質問に対し 15.2MB ではなく 90KB を返せたとしている | 21:30 |
| 26 | Dataloupe – turn any CSV, Parquet, or Excel file into an offline HTML explorer(Dataloupe — CSV・Parquet・Excel を単一のオフライン HTML エクスプローラへ) | npx dataloupe data.csv --open の1コマンドで、ソート・検索・フィルタ可能なテーブルと列ごとの統計、自動生成チャートを備えた自己完結 HTML を隣に書き出す。生成物には default-src 'none'; connect-src 'none' の厳格な CSP メタタグが入るためブラウザ自身がネットワーク要求を遮断し、エアギャップ環境でも同じ挙動になる。作者は AI エージェント名義 | 21:35 |
| 27 | Show HN: Nos4.fun – A functional iOS 4 recreation in the browser(Show HN: Nos4.fun — ブラウザで動く iOS 4 の再現) | Safari・Mail・Messages・Maps・iPod といった23本のアプリを、Foundation → CoreGraphics → UIKit → SpringBoard → アプリという上向き参照を禁じた16のフレームワーク層の上に実装している。ボタンが押せそうに見え、リストがリネンの上に載り、ドック下の反射がガラスの位置を教えていた当時の作り込みを保存する目的だと述べる。Node 22.6+ と pnpm 10+ が必要 | 21:55 |
| 28 | Ask HN: A translation pipeline that doesn’t chew up long HTML pages(Ask HN: 長い HTML ページを食い散らかさない翻訳パイプライン) | AI が下書きしてテンプレートへ流し込んだ1000ページ超のサイトで、長い HTML をそのまま LLM へ渡すと誤訳ではなく無警告の欠落が起きると相談している。節がまるごと消え、段落が翻訳ではなく要約に置き換わり、ページが長いほど悪化するのに、返ってきたものは一見翻訳に見えてしまうという | 22:18 |
| 29 | Leaked Corporate AWS Keys Held Full Admin Rights(流出した企業の AWS キーがフル管理者権限を持っていた) | 2022年8月から2026年8月に公開された 10,616 件の流出 AWS キーを2026年8月10日に再検証したところ 88% がまだ認証に成功し、うち 768 件が企業アカウントのフル管理権限(root キー 526 件と管理者権限キー 242 件)を持っていた。流出キーの中央値は5年前のもので、一度もローテーションされていない(Truffle Security、2026年8月19日掲載) | 22:33 |
| 30 | Show HN: Clicking a React element shouldn’t stop at the first component(Show HN: React 要素のクリックは最初のコンポーネントで止まるべきではない) | 画面上のカードをクリックしてから本当のコードに辿り着くまでには、.map() によるループ、いま画面に出ていない条件分岐、ラッパー、別ファイルへの re-export という4つの壁があると整理する。多くのツールは最初の壁で止まり、近いだけの場所へ着地して終わってしまうため、止まらずに掘り下げるには何が必要かを書いている | 22:59 |
| 31 | Show HN: A file-based router for Cloudflare Workers(Show HN: Cloudflare Workers 向けファイルベースルーター) | @cloudflare/vite-plugin と併用する Vite プラグインで、src/routes/ 配下の各フォルダの index.ts が1ルートになる。フォルダ名の . が URL の / に変わり(api.users/ → /api/users)、[] で囲んだ名前が動的セグメントになる。エントリポイントでは virtual:cloudflare-router から routes を読んで createRouter に渡すだけで済む | 22:59 |
| 32 | Show HN: PNG Binder – convert PNG images to PDF in the browser(Show HN: PNG Binder — ブラウザで PNG を PDF に変換) | 最大50枚の PNG または JPG を並べ替えて1つの PDF にまとめるツールで、1枚が1ページになる。スクリーンショットの貼り付けにも対応し、生成はすべてブラウザ内で行われるため画像はアップロードされない。サインアップも透かしもない | 23:22 |
| 33 | Show HN: WOML – an HTML-like language for building workflows(Show HN: WOML — ワークフローを組むための HTML 風言語) | ワークフローアプリを読める文書として書く HTML 着想の言語とセルフホスト型ランタイムで、.woml ファイルを開けばトリガー・ステップ・判断・承認・実行ポリシーが上から下へ読める。実際のロジックが要る箇所には JavaScript をそのまま書け、同じファイルが信頼できる実行・デプロイ・検査・制御・復旧を備えた実体になる。curl / npm / bun / pnpm で CLI を導入する | 23:38 |
| 34 | QR Creator that runs in the browser, nothing uploaded(ブラウザで動きアップロードしない QR コード作成ツール) | URL・WiFi・連絡先・電話番号・SMS・メールの QR を入力に応じて即時生成し、PNG・JPEG・SVG・PDF で書き出せる。中央にロゴを載せると読み取れるよう誤り訂正レベルが自動的に引き上げられる。生成はローカルで行われ、データは送信されない | 23:43 |