무한 리스트 기능을 코드 없이 옮기기 — 클린룸 계약과 keyset 페이지네이션
가상화 무한 리스트+스크롤 복원 기능을 다른 스택으로 옮기며 배운 것 — 구현 코드가 아니라 겉보기 행동을 계약으로 적는 클린룸 방식, 그리고 무한 스크롤의 안정성을 좌우하는 offset vs keyset 페이지네이션
- 기능을 옮기는 문서는 "우리가 쓴 라이브러리"가 아니라 "겉으로 어떻게 행동하고 실패 시 무엇을 보장하나"를 계약으로 적는다
- 무한 스크롤 리스트의 안정성은 대부분 페이지네이션 방식에서 온다 — offset은 삽입/삭제 시 중복·누락, keyset은 값 기준이라 안정