OpenReplay ブログ
Vitest を使った Svelte 5 コンポーネントのテスト
VitestでSvelte 5コンポーネントをテストする方法を解説。mount、testing-library、browser modeと、runes・effects・snippetsの設定を紹介します。
npm Workspacesを使い始める
npm workspacesの設定、コマンド、制限を解説。モノレポを管理し、兄弟パッケージをリンクし、TurborepoやNxを使う基準もわかります。
CODEOWNERSによる自動コードレビュー
GitHub CODEOWNERS の設定方法、静かな失敗の回避、正しいパターン・権限・ブランチ保護によるレビュー強制を解説します。
WordPressサイトのバックアップ方法
mysqldump、tar、cron、rcloneでWordPressサイトをバックアップ。ファイル、MySQLデータベース、オフサイト保存、復元テストまで解説。
DifftasticでAI生成コードをレビューする
DifftasticでAI生成コードを構造差分でレビューし、gitに組み込み、整形ノイズから振る舞いの変更だけを見分けます。
JavaScriptの落とし穴3選を解説
JavaScriptの3つの落とし穴を解説: 浮動小数点演算、NaN判定、ループ内awaitと、それぞれの正しい対処法。
BroadcastChannelによるブラウザタブの同期
BroadcastChannelでタブをリアルタイム同期。structured clone、クリーンアップ、フォールバック、認証・カート・テーマの実践パターンを解説。
React Server Componentでのデータフェッチング
React Server Componentsでasync関数を使ってデータ取得し、Next.js 15/16のキャッシュ既定値とPromise.allでのウォーターフォール回避を解説。
テキストエクスパンダーをGit、PR、AIプロンプトに活用する
Git、PR、AIプロンプト向けのEspansoスニペット。shell、クリップボード、カーソル指定で文脈対応のテキスト拡張を作れます。
JavaScriptのハックなしで`display: none`をアニメーションさせる方法
CSSでdisplay noneをallow-discreteと@starting-styleでアニメーション化し、dialogとpopoverのoverlay対応とブラウザ対応も解説。
TypeScript の `satisfies` 演算子 実践ガイド
TypeScriptのsatisfies演算子を設定例で解説。狭い型推論を保ち、asや型注釈との使い分けもわかります。
JSPI解説:JavaScriptとWasmをつなぐより良いブリッジ
JSPIはJavaScriptとWebAssemblyをつなぎ、同期WasmがfetchのようなPromiseベースAPIを呼べるようにします。Suspendingとpromising、対応状況も解説。
`caffeinate`を使ってMacを夜通し起動させ続ける方法
MacのcaffeinateでClaude Code、Codex、ビルドを夜通し起動維持し、pmsetでassertionsを確認し、ふた閉じの制限も把握できます。
より良いノート管理のためのObsidianの5つのヒント
Obsidianのノート術5選: MOC、Dataview、Bases、Canvas、Mermaid、レビュー用ダッシュボード、Git同期で再利用しやすいMarkdown保管庫へ。
インテグレーションテスト vs エンドツーエンドテスト
Webアプリの統合テストとE2Eテストを比較し、定義・JSツール・Vitest、MSW、Playwright、Cypressの使い分けを整理します。
JavaScriptがついにリソースの後片付けを覚えた
JavaScriptのExplicit Resource Managementでusing、await using、DisposableStack、SuppressedErrorを使い、ファイル、ロック、socket、接続を確実に解放する方法。
リレーショナルデータベース設計のよくある間違い
PostgresとMySQLでのリレーショナルDB設計の典型的なミスを回避。制約、キー、索引、タイムスタンプの正しい扱いを解説。
JavaScriptでタイムゾーンを扱う際に正気を保つ方法
JavaScriptのタイムゾーンをUTCインスタント、IANAゾーンID、Intl.DateTimeFormat、Temporal、DST対応のルールで安全に扱う方法。
Node.jsにおけるデュアルCJS/ESMビルドの終焉
Node.jsはrequire(esm)をサポートし、多くのライブラリでESM専用が標準になりました。CJSをやめる条件、top-level awaitの注意点、安全な移行を解説します。
大規模プロジェクトにおけるTypeScriptベストプラクティス
大規模TypeScript開発のベストプラクティス: strict、noUncheckedIndexedAccess、exactOptionalPropertyTypes、生成型、実行時検証、CIガードレール.
Bun の組み込み Redis クライアントを使う
Bun標準Redisクライアントの解説。接続、型付きコマンド、Pub/Sub、自動パイプライン、レート制限、ioredisへ切り替える条件を整理します。
CSS `if()` とコンテナスタイルクエリの使い分け
CSS if() と container style queries の使い分け、構文の落とし穴、range syntax、2026年のブラウザ対応を比較解説。
FastifyでREST APIを構築する方法
Fastify v5 と Prisma で REST API を構築し、JSON Schema 検証、プラグイン、デコレータ、フック、TypeBox 型付けで posts CRUD を実装。
コンポーネントライブラリが不要なとき
2026年にUtility CSSとheadless primitivesがcomponent libraryより有効な理由と、使うべき場合の判断基準を解説。