← 목록
기타 2026-07-12 2KB 읽기 2분

크라우니워드프로세서 기초도구 — 자동저장복구.한선

개요

크라우니워드프로세서 기초도구 시리즈(도구/ 디렉토리)의 "자동저장복구" 도메인을 완전 한선씨로 작성. 자기완결(임포트 없음), 자체시험 26/26 PASS.

무엇을 했는지

  • 상태 직렬화 규약: "간격|경로|더티|마지막저장시각|이력카운트" (구분자 |, 필드분할/필드조인 내부 헬퍼로 처리)
  • 시각은 전부 인자로 전달(체계 호출 없음) — 결정론적 테스트 보장
  • 구현 함수(명세 15개 + 보조):
  • 상태생성/직렬화/상태파싱+접근자 5종/상태갱신더티
  • 저장필요판정(더티,경과,간격) — 더티=1 그리고 경과≥간격이면 참
  • 자동저장실행(상태,내용,현재시각)<경로>.autosave 저장 + 이력기록 + 갱신상태 반환
  • 복구검출(경로,정상종료플래그) — autosave 존재 + 비정상종료면 참
  • 복구실행/복구폐기 — autosave 읽기/비우기
  • 백업순환(경로,현재내용).bak1←bak2←bak3 3세대 롤링
  • 이력기록/이력포함확인<경로>.history시각|이벤트\n 덧쓰기
  • 저장후재읽기검증 — 쓰기 후 재읽어 일치 확인
  • 크라우니코드 이식: 문서파일.한선의 문서저장/문서열기(읽기+글자수0가드) 패턴을 안전읽기 헬퍼로, 줄분할/문단분할 관용구를 일반 구분자 필드분할로 일반화
  • 관련 파일

    • /Users/ef/crowny-word/도구/자동저장복구.한선 (본체)
    • 컴파일: /tmp/자동저장복구.toau (2>/tmp/자동저장복구.err)
    • 참조 이식원: /Users/ef/crowny-word/도구/문서파일.한선, /Users/ef/crowny-word/도구/텍스트버퍼.한선

    크라우니코드

    • lookup 사전조회 2회(자동저장/백업순환) — MISS(신규 도메인 확인, 충돌_파일_자동저장 1건만 유사 HIT이나 무관한 로직)
    • learn add 4건: 자동저장복구_상태생성(별칭 자동저장복구 등록)·자동저장복구_저장필요판정·자동저장복구_복구검출·자동저장복구_백업순환

    시험 결과

    검사: PASS 26/26 (전부 통과, 최초 1회 컴파일+실행에서 통과 — 수정 불필요)

    잔여 이슈

    • 없음. VM 한계(파일삭제 함수 부재) 대응: "복구폐기"는 .autosave 파일을 빈 문자열로 덮어써 논리적 폐기 처리(실제 파일 unlink는 VM에 없음).