Backend & Distributed Systems
D1 위에 학습 도메인 원장 확장하기
실행 중인 할 일 앱을 갈아엎지 않고 목표, 계획, 시도, 오답, 복습, 증거 원장을 단계적으로 추가한 사례입니다.
할 일의 완료 상태 하나로는 지연 회상, 오답, 다음 복습, 포트폴리오 승인 결과를 표현할 수 없다. 기존 앱을 교체하는 대신 현재 데이터 주위에 의미가 분명한 원장을 추가했다.
목표는 결과와 가중치, 주간 계획은 수락한 용량, 시도는 점수와 응답 신호, 오답은 해결 여부, 복습은 간격 단계와 다음 날짜를 가진다. Evidence는 공개 범위와 승인 상태를 별도로 추적한다. 영상 완주와 실제 숙달을 같은 완료 값으로 합치지 않는다.
체크인된 SQL 마이그레이션은 목표 스키마를 기록하고, 멱등 런타임 초기화는 이전 로컬 DB를 단계적으로 올린다. 기존 DB를 삭제하거나 기본값으로 덮지 않는다. Evidence는 candidate -> approved -> published 순서만 허용한다. 테스트에서 직접 published 전이는 409였고 approved 전이는 비공개 상태를 유지한 채 성공했다.
관련 글
Backend & Distributed Systems
CI 디스패치로 연결한 이벤트 기반 비공개 초안
승인된 로컬 원문만 정책으로 거르고 비공개 초안을 만든 뒤 원본을 노출하지 않고 CI를 호출하는 이벤트 경계입니다.
Backend & Distributed Systems
삭제 후 재생성을 막는 툼스톤 설계
사용자가 삭제한 기본 항목을 영구 삭제하면서 앱 초기화 로직이 같은 항목을 되살리지 못하게 하는 데이터 설계입니다.
Backend & Distributed Systems
새로고침에 복구되는 클라이언트 타이머
브라우저 새로고침 뒤에도 실행 시간을 복구하고 하나의 요청 ID를 유지해 중복 완료 기록을 막는 타이머 설계입니다.