삭제 기능을 만들지 않고 휴지통을 만든 이유
코딩은 AI에게 맡겼습니다 · 시즌 1 / 16
2026년 7월 17일 v1.3.0에서는 오래된 메모 자동 정리와 휴지통을 추가했습니다. 다섯 개 파일에서 411줄을 추가하고 10줄을 삭제했습니다. 구현보다 더 오래 고민한 부분은 무엇을 지우지 않을 것인가였습니다.
먼저 보는 핵심
자동화가 사용자 데이터를 다룬다면 되돌릴 수 있어야 합니다. 현재 편집 중인 메모와 고정 메모를 제외하고, 기능을 기본으로 끄며, 바로 삭제하지 않고 휴지통에 보관하는 안전장치를 먼저 설계했습니다.
“오래된 메모를 지워줘”에 빠진 질문
AI에게 오래된 메모를 자동 삭제하라고 하면 날짜를 비교하는 코드는 쉽게 나옵니다. 하지만 제품에는 다음 질문이 남습니다.
- 생성일과 마지막 수정일 중 어느 날짜를 기준으로 할 것인가
- 사용자가 지금 열어 둔 메모도 대상인가
- 고정한 메모는 오래돼도 지울 것인가
- 자동 정리 주기는 언제 실행할 것인가
- 잘못 정리된 메모를 되살릴 수 있는가
- 휴지통도 자동으로 비울 것인가
이 질문의 답은 JavaScript 문법이 아니라 사용자가 어떤 실수를 용서할 수 있는지에 달려 있습니다.
선택한 네 가지 안전장치
- 자동 정리는 기본적으로 꺼 둡니다.
- 현재 편집 중인 메모는 정리하지 않습니다.
- 고정한 메모는 보존 의도로 해석해 제외합니다.
- 삭제 대신 휴지통으로 이동하고 복원 기회를 제공합니다.
기능을 기본으로 끈 이유는 사용자가 예상하지 못한 자동 삭제의 피해가, 오래된 메모가 남아 있는 불편보다 크기 때문입니다.
휴지통도 데이터 모델이다
휴지통은 단순한 두 번째 배열이 아닙니다. 원래 메모 ID, 삭제 시각, 완전 삭제 예정일과 복원 시 충돌 정책이 필요합니다.
| 상황 | 필요한 결정 |
|---|---|
| 같은 ID의 메모가 이미 있음 | 새 ID 부여 또는 복원 거부 |
| 휴지통 보관 기간 만료 | 실행 시점과 사용자 안내 |
| 앱 업데이트 | 이전 데이터에 삭제 시각 보완 |
| 백업 | 휴지통 포함 여부 선택 |
AI에게 구현을 맡기기 전에 상태 전환을 활성 → 휴지통 → 복원 또는 완전 삭제로 명시했습니다.
안전한 자동화의 기준
자동화 기능은 다음 조건을 많이 충족할수록 안전합니다.
- 기본값이 보수적이다.
- 실행 전에 대상과 결과를 설명한다.
- 중요한 예외를 제외한다.
- 실행 기록을 확인할 수 있다.
- 일정 시간 안에 되돌릴 수 있다.
- 실패해도 원본을 잃지 않는다.
AI는 자동화 코드를 빠르게 만들었습니다. 어떤 실수를 허용할지는 제가 정해야 했습니다.
다음 편
기능을 출시한 뒤에는 한국어와 영어 업데이트 글, 기능 스크린샷을 다시 만들었습니다. 다음 편에서는 하나의 개발 기록을 여러 콘텐츠로 바꾸는 과정을 공개합니다.
댓글
댓글 쓰기