Today I Learned

日々の仕事と学びの振り返りです。何をして、何を学んだかを記録します。

20267

2026-07-03

perf は 3× median、prefetch は skeleton とセット

Lab trace の outlier 区別、SSR prefetch の query key 整合、CLS skeleton 予約、JSON-LD サーバー注入を一日で整理

  • 開発サーバーの単一 Performance trace は outlier が多いので、N回 reload の median で before/after を比較すべきだ
  • SSR prefetch は query key がクライアントと1文字でも違えば cache miss であり、skeleton の高さ予約とセットで見ないと CLS が出る
2026-07-01

長いリストは flatten → SSR 初回 slice → virtualizer

無限スクロールとリスト仮想化を分離し、SSR 静的 gate で初回HTMLを保証してから virtual list に切り替えるパターン

  • 無限スクロールはデータ露出の上限、仮想化はDOMの上限をそれぞれ制御する
  • ネストしたグループUIは header/item row に flatten してから virtualizer に入れる

20266

2026-06-30

直接アップロード契約、CSSトークンテーマ、ハイドレーション境界

presigned URL の4段階アップロード、@layer ベースのトークンテーマの単一生成器、fr レイアウトとマウント後ハイドレーションから学んだ共通原則

  • presigned URL アップロードは presign→PUT→complete→create の4段階契約であり、complete 通知を漏らすとバックエンドはアップロードを認識できない。
  • CSSトークンテーマは @layer(優先度)・@scope(範囲)・light-dark()(モード)を分離し、ランタイム・ビルドCSSを一つの生成器に単一化しないとズレる。