生成AI
ON CONFLICT DO NOTHINGの排他制御は「一度きり」にしか効かない: TTL付きUPSERTで直す新着!!

同じ処理を並列リクエストのうち一件だけに実行させたい、という要件はよくあります。手軽な実装として `INSERT ... ON CONFLICT DO NOTHING` を使い、行を作れたリクエストだけを「勝者」にする排他制御は広く使われています。

続きを読む
生成AI
CIの成功判定で「わからない」を握りつぶさない設計新着!!

自前のCIディスパッチャやデプロイスクリプトを書いていると、「このジョブは成功と名乗ってよいか」を複数の条件から判定する処理が必ず出てきます。

続きを読む
生成AI
エラーメッセージの文字列判定をやめて、AppErrorに一本化する新着!!

エラーメッセージの文言を見て、HTTPステータスコードを判定するコードを書いたことはないでしょうか。

続きを読む
生成AI
夜間監視の自動起票が『同じ原因なのに量産される』を止めた話新着!!

夜間に自動実行される監視ジョブが失敗するたびに、GitHub Issueを自動起票する仕組みは便利です。

続きを読む
Vitest
『overlapping act() calls』から学ぶ、React Testing Library × fake timer × MSWの罠新着!!

React Testing Libraryのact/waitFor、fake timer、MSWを組み合わせた際に起きる4つの罠(overlapping act、timeout、プロバイダ分裂、型チェック漏れ)と解決策を整理します。

続きを読む
生成AI
Playwrightでwebkitだけ落ちるE2Eを直す: cold-load nav-stallをin-contextで復帰させる新着!!

Playwrightのnightly E2Eでwebkitだけ失敗する「wedge」状態を、about:blank遷移で復帰させる方法と、flakyと実装バグを機械的に分類しCIノイズを減らす設計を解説します。

続きを読む
生成AI
Next.js 16 Cache Componentsで踏んだ2つの罠——キャッシュの反映遅延とE2Eの多重ヒット

Next.js 16のCache Componentsで、revalidateTagの反映遅延とPlaywrightのstrict mode違反という2つの不具合に遭遇。原因と対処法(expire:0指定・ロケータのスコープ変更)を整理しました。

続きを読む
生成AI
CIのクリティカルパスを壊さずにsqliteで時系列メトリクスを蓄積する設計

CIホストのようなインフラでは、「ジョブの取得・解放」や「死活監視」といったクリティカルパスに手を加えるのはとてもリスクが高い作業です。ログに障害の兆候を出力するだけなら簡単ですが、「Dockerイメージの容量が右肩上がりになっていないか」「同時実行の枠が足りているか」といったトレンドを判断するには、時系列で数値を蓄積する仕組みが必要になります。

続きを読む
生成AI
fix(ci): macOS Lighthouse の NO_FCP を背景化抑止フラグで解消する

macOSでのLighthouse CIにおける`NO_FCP`エラーは、アプリの問題ではなく、OSがヘッドレスウィンドウを非可視扱いにしてVSYNCを止めるのが原因。本記事では原因特定とChromeの起動フラグによる解決、CI構成での不安定なチェックの扱い方を解説します。

続きを読む
生成AI
npm未publishの内部パッケージをvendoringで配る:取り込み元の追跡と改変検知を自動化する設計

npmにもGitHub Packagesにも公開しない方針の社内限定ライブラリを、複数のリポジトリが `vendor/` 配下に手でコピーして参照する構成は珍しくありません。ただし手コピーには弱点があります。どのコミットから持ってきたコードなのか、コピーしたあとに誰かが手を加えていないか、を追跡する手段がどこにもないのです。

続きを読む