OpenReplay ブログ
VuePress と VitePress、どちらを選ぶべきか
VuePressとVitePressをVueドキュメント向けに比較。保守状況、開発速度、カスタマイズ、VitePressかDocusaurusかの選び方を解説。
ORM が誤ったツールとなるとき
ORMがボトルネックになったら、N+1、ウィンドウ関数、CTE、大量更新、そして安全なパラメータ化で生SQLを使うべきです。
Vue アプリに動画再生機能を追加する方法
VueアプリにHTML5 video、再利用可能なコンポーネント、またはVideo.jsで動画再生を追加。HLS、字幕、autoplay、後片付けまで解説。
コミットとプッシュの先へ:知っておくべき5つのGitコマンド
commitとpush以外のGitコマンド5選: stash、reflog、cherry-pick、rebase -i、bisectで復元、履歴整理、バグ特定を行う。
読書プログレスバーの作り方
JavaScriptまたはCSSのスクロール連動アニメーションで読書進捗バーを作成し、正しいスクロール計算、性能、アクセシビリティまで解説します。
開発環境でポート番号を名前付きURLに置き換える
.localhost、リバースプロキシ、portlessでlocalhostのポートを名前付きURLに置き換え、ポート競合、Cookie漏れ、別タブ混乱を防ぎます。
preact/compat を使って Preact で React ライブラリを動かす
preact/compatでReactライブラリをPreactで動かす方法を解説。Vite、webpack、Rollup、Jest、TypeScriptのalias設定と失敗例を紹介。
Deno のパーミッションモデル徹底解説
Denoの権限モデルを解説。allowとdenyのフラグ、範囲指定、deno.jsonの権限セット、Permissions API、セキュリティ上の注意点まで整理。
ESLint による TypeScript のリント
TypeScript向けESLint 10のflat config設定。typescript-eslintで構成し、projectServiceで型付きlintを有効化し、Prettierも整合させます。
JavaScript の Error.isError() を解説
Error.isError()はrealmをまたぐ本物のJavaScriptエラーを判定し、instanceof Errorより優れる理由と安全なフォールバックを解説します。
N+1 クエリ問題を理解する
Rails、Django、Hibernate、LaravelでのN+1クエリ問題を解説し、eager loading、JOIN、検出方法まで整理します。
React で「Maximum Update Depth Exceeded」を解消する方法
Reactのmaximum update depth exceededを、レンダーのループ、effect依存、ハンドラ、高頻度イベントの対策で修正します。
開発者向けスクリーンレコーディングツール
開発者向けの画面録画ツールを比較。Loom、OBS、Screen Studio、CleanShot X、SDKで、素早い共有、洗練されたデモ、アプリ内録画に対応。
Svelte でトースト通知を作成する
Svelteのトースト通知をwritableストアで作る方法と、svelte-sonnerを使う方法を、Svelte 5構文、アクセシビリティ、自動消去まで解説。
Linux ネットワーキングの必須コマンド
Linuxのネットワークコマンドを、インターフェイス、ルーティング、DNS、ポート、診断までip、ss、dig、ping、traceroute、tcpdumpで解説。
History APIによるクライアントサイドルーティングの構築
History APIのバニアルーターを作成。pushState、popstate、動的パラメータ、SEO向けURL、更新時404とXSS対策まで解説。
WordPress で投稿を予約する方法
WordPressの投稿を予約し、Missed Scheduleを修正し、WP-Cronを実サーバーcronで設定して投稿を時間どおりに公開します。
LLM構造化出力のためのJSON Schema
JSON Schemaのstructured outputsを解説。OpenAI、Gemini、Claudeで有効なスキーマ出力を強制する仕組みと設定の注意点。
JavaScript Oxidation Compiler を読み解く
Oxcを解説。Rust製のJavaScriptとTypeScriptツール、Oxlint、Oxfmt、transformer、minifier、ESLintやPrettier、SWC、Biomeとの比較を紹介。
JavaScriptにおけるメソッドチェーン:メリットとデメリット
JavaScriptのメソッドチェーンの仕組み、読みやすくなる場面、長い連鎖がデバッグ、非同期処理、性能を難しくする理由を解説。
UUID v4 と v7: どちらを使うべきか?
データベースの主キーでUUID v4とv7を比較。v7が挿入性能を改善する理由、v4が時刻の秘匿に向く場面、生成方法まで解説。
Vanilla JavaScript で無限スクロールを実装する方法
Vanilla JavaScriptでIntersection Observerを使い、センチネル要素、ページネーション、重複防止、アクセシビリティ対応付きの無限スクロールを実装します。
Git Reflog で失われたコミットを復元する
git reflogで失ったGitコミットを復元。孤立したコミットの探し方、hard resetやrebaseの取り消し、ブランチ復元まで解説。
JavaScript の例で理解するクイックソート
JavaScriptのQuicksortを、読みやすい例とインプレース実装、partitionの追跡、pivot選択、計算量、安定性まで解説。