목록 보기
로컬 DB를 화면의 기준으로 삼는다는 것: hearth를 직접 만든 이유
프론트엔드

로컬 DB를 화면의 기준으로 삼는다는 것: hearth를 직접 만든 이유

채널톡
채널톡
2026년 7월 27일

두줄요약

로컬 DB를 화면의 기준으로 삼는 오프라인 퍼스트 구조와 사내 라이브러리 hearth의 설계 과정을 소개했습니다. 자체 서버와 재사용 조건에 맞춰 LWW, 낙관적 쓰기 보호, 동기화 재설계를 적용했고 다음 단계로 delta sync를 준비했습니다.

핵심 내용

  • 화면의 기준을 로컬 DB로 두고 서버 동기화가 뒤따르는 오프라인 퍼스트 구조와 그 장점 정리
  • 자체 서버와 여러 제품 공유 조건 때문에 기존 라이브러리 대신 사내 라이브러리 hearth를 직접 만든 배경 설명
  • hearth의 core/sync 구조, LWW 충돌 처리, 낙관적 쓰기 보호, 캐시 축출과 동기화 판단 재설계 소개
  • 다음 단계로 변경분만 주고받는 delta sync를 서버와 함께 구현하려는 계획 제시

선택 이유

  • 자체 API 서버와 제품별 재사용 요구로 범용 라이브러리보다 도메인 무지한 사내 패키지가 유리한 상황
  • 실전에서 검증된 코드를 추출해 재사용하는 방식이 기존 라이브러리 재적응보다 합리적인 선택

주의할 점

  • LWW 사용 시 서버가 값 변경과 타임스탬프 갱신을 함께 지켜야 정합성 유지 가능
  • 낙관적 쓰기 보호와 캐시 축출 정책이 어긋나면 유령 데이터나 잘못된 덮어쓰기 발생 가능
  • 동기화 판단 근거는 결과물과 분리하면 누락 복구가 어려워질 수 있음

적용해볼 점

  • 화면 렌더 기준을 서버 응답이 아니라 로컬 저장소로 옮기는 설계 검토
  • 동기화 로직을 제품 코드와 분리된 공통 엔진으로 묶는 방식 고려
  • 커서와 커밋 시점 차이까지 포함해 delta sync 안전성 점검

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...