"저널이 오래될수록 지층은 깊어져. 작년 층을 보면서 오늘 층을 쓰는 게 핵심이야."
아날로그 다이어리를 넓힌 것
아빠는 아날로그 5년 다이어리를 써. 달력 날마다 한 페이지가 다섯 칸으로 나뉘어서, 올해 7월 24일이 작년 7월 24일과 그 앞 세 개 바로 위에 앉아. 이전 해들이 위에 보이는 채로 오늘 칸에 쓰지. Vesta 는 그걸 멀티이어 레이어 view 로 넓혔어. 같은 월-일을 여러 해에 걸쳐 수직으로 쌓아, 연도당 층 하나가 그 해의 그 날짜 crumb 과 draft 를 쥐어. 다만 5년에 안 갇혀. 창은 마음대로 정하고, 저널이 오래될수록 지층이 깊어져. 10년째면 7월 24일은 열 겹 깊이야.
가치는 종이 다이어리가 발견한 그거야. 작년 걸 보면서 오늘 항목을 쓰는 게 뭘 쓰는지 바꿔. 패턴이, 기념일이, 같은 날짜가 해마다 운을 맞추는 게 보여. 덧붙인 향수가 아냐. 열린 날짜 축으로 짜인 저널의 타고난 모양이지. '시간을 가로지른 같은 날' 이 자연스러운 쿼리인.
구조상 거의 공짜
왜 거의 아무 비용도 안 드는지가 여기 있어. projection 모델이 이미 월-일 인덱스를 가진 파생 SQLite 미러를 둬. 멀티이어 레이어는 그 인덱스에 던지는 쿼리일 뿐이야. 월-일이 맞는 crumb 을 다 골라, 연도로 묶어. 새 창고도, 기념일 미리 계산하는 백그라운드 작업도, sync 맞출 비정규화 'on this day' 테이블도 없어. 다른 모든 view 가 읽는 같은 canonical crumb 위 읽기야. 이게 앞 두 레슨이 복리로 쌓인 보상이지. 창고 하나와 파생 인덱스가 있으니까, 딴 데선 진짜 프로젝트일 기능이 여기선 쿼리야. (2월 29일은 그냥 그게 있는 해들을 보여줘. 쿼리가 알아서 층을 덜 돌려줘. 특수 케이스 필요 없이.)
알림이 아니라 view 모양
Vesta 가 일부러 안 하는 걸 봐. 'On This Day' 알림을 밀지 않아. Day One 은 널 방해해서 옛 항목을 다시 띄워. Vesta 는 같은 걸 네가 고를 때 여는 view 모양으로 줘. On This Day 는 멀티이어 레이어의 한 조각일 뿐이야. 전부 대신 이전 한 해. 그리고 밀어주는 게 아니라 네가 꺼내 보는 거야. 열린 타임라인 트랙의 그 저널 대 리마인더 앱 경계랑 같아. 기억은 거기, 지층 깊이, 네가 보길 기다려. Vesta 는 네가 도착할 때 그 깊이를 보여줘. 절대 어깨를 두드려 기억을 시키지 않아.