Today I Learned

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

20267

2026-07-22

無限リスト機能をコードなしで移す — クリーンルーム契約と keyset ページネーション

仮想化された無限リスト+スクロール復元機能を別スタックへ移しながら学んだこと — 実装コードではなく見た目の振る舞いを契約として書くクリーンルーム方式、そして無限スクロールの安定性を左右する offset と keyset ページネーション

  • 機能を移す文書は「使ったライブラリ」ではなく「外からどう振る舞い、失敗時に何を保証するか」を契約として書く
  • 無限スクロールリストの安定性は大半がページネーション方式で決まる — offset は挿入/削除で重複・欠落、keyset は値基準なので安定