Today I Learned

날짜별 업무 및 학습 회고입니다. 매일 무엇을 했고, 무엇을 배웠는지 기록합니다.

20267

2026-07-22

무한 리스트 기능을 코드 없이 옮기기 — 클린룸 계약과 keyset 페이지네이션

가상화 무한 리스트+스크롤 복원 기능을 다른 스택으로 옮기며 배운 것 — 구현 코드가 아니라 겉보기 행동을 계약으로 적는 클린룸 방식, 그리고 무한 스크롤의 안정성을 좌우하는 offset vs keyset 페이지네이션

  • 기능을 옮기는 문서는 "우리가 쓴 라이브러리"가 아니라 "겉으로 어떻게 행동하고 실패 시 무엇을 보장하나"를 계약으로 적는다
  • 무한 스크롤 리스트의 안정성은 대부분 페이지네이션 방식에서 온다 — offset은 삽입/삭제 시 중복·누락, keyset은 값 기준이라 안정
2026-07-09

계층형 문서 네비와 viewer 번들 분리

page push/peek navigator와 read-only viewer entry 분리로 포트폴리오 데모 깊이와 번들을 동시에 맞춘 하루

  • 문서 그래프는 page 블록 + push/peek navigator 계약으로 flat editor와 분리하는 편이 낫다
  • peek·embed는 editor와 DOM은 같아도 import graph가 달라야 viewer 번들이 작아진다

20266

2026-06-29

서버리스 환경의 검색 백엔드 선택

서버리스에서 무엇을 함수 안/밖에 둘지와, 교체 가능한 검색을 provider 계약으로 감추는 법

  • 상주해야 하는 검색 엔진은 서버리스 함수에 못 올리고, 사전 빌드한 인메모리 인덱스로 대체할 수 있다.
  • 런타임에 읽는 빌드 산출물은 번들 파일 추적에 명시해야 콜드 스타트에서 누락되지 않는다.