OpenReplay ブログ
ローカルファースト・アーキテクチャとプログレッシブウェブアプリ
PWA向けのlocal-first設計を解説。Service Worker、IndexedDBやSQLite、同期エンジンでデータをオフラインでも一貫して保持します。
npqによるnpmパッケージセキュリティチェックの自動化
npqでnpmパッケージの安全性をインストール前に自動チェック。pre-commitフック、npmエイリアス、pnpm対応、ヒューリスティック監査を解説。
私たちが忘れていたフロントエンドパフォーマンスの技術
フロントエンド性能の基本は今も重要です。画像サイズ、font-display、preconnect、lazy loading、defer、async、イベント制御を整理します。
Claude CodeとRemotionで動画を作成する
Claude CodeとRemotionで、プロンプトからMP4動画を生成し、フレーム計算を読み、Sequenceを修正し、Studioでレンダリングをデバッグする方法。
JSON-LDがAIによるウェブサイト理解を助ける仕組み
JSON-LDとSchema.orgは、AIクローラーとGoogleにサイトを正しく伝えます。サーバー側の構造化データでJavaScriptの欠落を防ぐ方法を解説します。
開発者向けオープンソースEコマースプラットフォーム5選
Medusa、Saleor、Vendure、Sylius、Shopwareを比較し、ヘッドレスECのバックエンド、Next.js対応、API、セルフホストの違いを整理します。
Vite+ 入門ガイド
Vite+の始め方を解説。vpの導入、プロジェクト作成、dev・check・test・buildの実行、統一されたvite.config.tsの流れを整理します。
Animataでアニメーションをコピー&ペースト
Animataは、Tailwind CSSとshadcn/uiワークフローを使うコピペ式のReactアニメーションコンポーネント集で、依存関係も軽量です。
煩わしい「404 favicon.ico Not Found」エラーの修正方法
favicon.icoの404エラーを修正する方法。ルートにfaviconを置き、SVG・PNG・Apple Touch Iconを適切に設定します。
Pretext とウェブテキストレイアウトの未来
Pretextは、DOM外でテキストを測定してreflowを避け、仮想化リスト、チャットフィード、masonryレイアウトを高速化するTypeScriptライブラリです。
JWT認証におけるCookieとlocalStorageの比較
JWT認証でCookiesとlocalStorageを比較。XSSとCSRFのリスク、HttpOnly・Secure・SameSite、最新のトークン保存法を解説。
GitHub ワークフローのセキュリティリスク監査
GitHub Actionsのトークン権限、スクリプト注入、pull_request_targetの危険、アクション固定、self-hosted runner、OIDCを監査します。
キャッシュしてはいけないもの
ユーザー別データ、認証レスポンス、JWT、機密ページはキャッシュしない。no-store、private、bfcacheの安全な使い方を解説。
Next.js の代替となる 5 つのフレームワーク
2026年向けのNext.js代替5選。React Router v7、Astro 5、SvelteKit、Nuxt 4、TanStack Startを比較。
ElectronアプリへのAuthentication追加方法
ElectronアプリにOAuth 2.0 PKCE、システムブラウザでのログイン、deep linkやloopback redirect、safeStorage保存で認証を追加する方法。
JavaScriptプロジェクトのための静的サイトジェネレーター選び
Astro 6、Eleventy 3、Next.js 16、Nuxt 4、SvelteKitを比較し、JavaScriptプロジェクトに最適な静的サイトジェネレーターを選ぶ。
アクセシブルなアニメーションのための prefers-reduced-motion 活用
prefers-reduced-motionでCSS、JavaScript、Motion.devのアニメーションを安全に減らし、テスト方法とWCAG対応を確認します。
CSS の `all: unset` でネイティブ要素のスタイリングを除去する
all: unsetでCSSのネイティブスタイルを外し、ボタンやフォームをリセットし、focus-visibleの操作性を戻します。
npm から pnpm に乗り換えるべきか?
npmからpnpmへ切り替えるべきか。依存関係の分離、ディスク節約、workspace機能、pnpm 11のビルドスクリプト承認を比較します。
Chrome Extension Manifest V3 徹底解説
Manifest V3を解説。service worker、declarativeNetRequest、chrome.action、Offscreen API、そしてMV2のバックグラウンドページとリモートコード廃止の理由を整理。
ブラウザタブが非アクティブになったことを検出する方法
Page Visibility APIで、ブラウザのタブが非アクティブになったタイミングを検出。visibilitychangeでポーリング、動画、分析処理を停止できます。
React Compiler vs 手動メモ化
React Compilerと手動メモ化の比較。React.memo、useMemo、useCallbackが自動化される場面と、手動制御が必要な場面を解説。
エージェント型ブラウザ入門
エージェント型ブラウザがWebアプリを変えています。Seleniumとの違い、セマンティックHTMLの重要性、開発者が備えるべきセキュリティリスクを解説します。
Knip で未使用ファイルと依存関係を削除する
KnipはJavaScriptとTypeScriptの未使用ファイル、export、依存関係を検出し、自動修正とCI運用を支援します。