All the latest
ClaudeMixで扱う技術一覧
2026.06.03
...R サーバーサイドレンダリングです。初期表示やパフォーマンス最適化に関する記事を扱います。 Loader データ取得機構です。キャッシュ戦略やデータ取得設計に関する記事を扱います。 N...

蜘蛛は巣を張る前に全経路を知っている:Prerender Spider が問い直したSSRの必然性
2026.05.22
はじめに Remixを使い始めたとき、 loader 関数を書いた。 リクエストが来るたびに、サーバーがデータを取得して、HTMLを生成して返す。それが「フルスタックフレームワーク」の動...

色を決めるためにJSを待つな:light-dark() が問い直したテーマ制御の責務
2026.05.15
...る。 【実装の単純さ】: useEffect 一本で完結していた構造が、CSS・Cookie・loaderの3層に分散する。 ④ 実装でどう解決しているか `light-dark(...

フレームを先に送れ:HTML Streaming が問い直した「送る単位」の設計判断
2026.05.11
...払っている「最遅クエリ税」 従来のSSRはこう動く。 Request → loader: getUser() → 20ms → loader: ge...

AIに「修正して」と言っている限りバグは直らない
2026.05.04
...のパス / ルート名] 観点: - ルーティング - データ取得(loader / API) - コンポーネント構造 - spec / 設定参照 ...

CLAUDE.md最適化:公式ベストプラクティスでコンテキスト負荷を削減
2026.03.09
...e: - `app/routes/` - UI Layer: Routing, Loaders/Actions. - `app/components/` - U...

E2Eテストメイン記事
2026.03.06
..., useMemo } from 'react' ; import { useLoaderData, Link } from '@remix-run/react' ; ...

AIのE2Eテストの落とし穴? Wrangler × Windowsに潜むトークン浪費ポイント
2026.02.20
...ーションテストが間欠的に失敗し、AIと一緒にフォーカストラップ・ハイドレーション・ useRouteLoaderData の3仮説を検証しましたが全て棄却されました。PC再起動で問題が消え、原因が ...

AIにRemixを任せる前に知っておくこと ― Reactの歴史がSSRで牙を剥くとき
2026.02.13
...ーネントの再レンダリングのたびにReactがコンポーネントを再マウントしていたことです。 key={loaderData.flashMessage} を追加するだけで解決しました。 Remixで...

Lighthouseモバイルスコア85点から100点へ - 7つの最適化で実現した完全合格
2026.01.15
... app/routes/blog._index.tsx import type { LoaderFunctionArgs, MetaFunction } from "@remi...

爆速ブログを実現するJamstackアーキテクチャ:RemixとViteで作るHTMLプレビルドシステム
2026.01.09
...house 100点を維持しながら動いている。 私も同じでした このブログの初期実装は、loaderでMarkdownをその場で変換していました。記事数が増えるにつれ、TTFBの遅延が気に...

Cloudflare WorkersのWebAssembly制約をビルド時HTML変換で乗り越える
2026.01.07
...みで、21記事を数秒で変換しエラーゼロを達成した。 私も同じでした このブログでも最初はloaderでShikiを呼び出し、記事詳細ページが Application Error になり...

AIと育てる型定義 Part 5: UIとデータ層を繋ぐ『生きた仕様書』の完成
2025.12.29
...とデータ層の戻り値型を中央定義に集約 アプリケーション全体のデータフロー保証 - Remixのloaderとコンポーネント間のデータ受け渡しを型レベルで完全保証 生きた仕様書の完成 - デ...

Remix+Vite環境で`import.meta.glob`がファイルを見つけられない問題のデバッグログ
2025.12.03
...の設定を整合させる本質的な解決力を習得できる。 私も同じでした このブログの specLoader.server.ts で import.meta.glob('/app/spec//...
