옵시디언 볼트 분류 감사와 개발 환경 삽질

26년 03월 15일

옵시디언 볼트 분류 감사

하루 종일 옵시디언 볼트 분류 감사랑 개발 환경 디버깅 하느라 삽질한 날이었다.

둘 다

별개 작업인데 하루에 몰아서 하느라 꽤 빡섰다.

볼트가 점점 커지니까 문서들이 분류 없이 쌓이기 시작했다.

Inbox랑 Daily 빼고 모든 문서의 분류 상태를 확인했는데, 생각보다 문제가 꽤 많았다.

기존 볼트는 type이랑 area 두 가지 필드로 문서를 분류하고 있었다.

근데 이 체계가 잘 안 먹혔다.

하나의 문서가 프로젝트 기록이면서 동시에 journal 성격도 띄고 그러면, type에 뭘 넣어야 할지 애매해진다.

그래서 아예 분류를 안 한 문서도 꽤 있었다.

이 감사는 다음 날 분류 체계를 단일 category 필드로 통합하려고 미리 해둔 조사였다.

전체 상태를 파악하고, 문제 있는 문서 목록을 만들었다.

기존 분류 체계를 보고 재분류 제안도 정리했다.

분류 감사는 자칫 사소해 보이지만, 볼트 장기 유지보수에는 큰 영향이 있다.

문서가 많아지면 분류 일관성이 중요해진다.

제자리에 없는 문서는 나중에 찾기도 어렵고, 연결도 끊긴다.

개발 환경 디버깅

볼트 감사랑 별개로, 개발 환경도 점검해야 했다.

env

gen
두 가지 명령이 동시에 실패하고 있었다.

두 문제가 동시에 터졌지만, 원인은 각각 달랐다.

그래서 하나씩 원인을 분리해서 확인했다.

Doppler 키체인 잠김

env

실패하는 원인은 Doppler 키체인이 잠겨 있었기 때문이다.

Doppler는 운영체제 키체인에 시크릿을 저장하는데, 리눅스에서 키체인이 잠긴 상태면 — 예를 들어 재부팅 후 데스크톱 로그인을 하지 않은 경우 — env

오류를 내거나 조용히 실패한다.

해결 방법은 간단했다.

키체인을 잠금 해제하면 됐다.

근데 문제는 이 사실을 알아차리는 데 있었다.

에러 메시지만 보면 키체인과 관련된 내용이 명확하지 않다.

Supabase CLI 미설치

gen

실패하는 원인은 Supabase CLI가 설치되어 있지 않았기 때문이다.

이 명령은 npm 스크립트로, 내부에서 Supabase CLI 바이너리를 호출한다.

새로운 개발 환경이거나 도구 체인이 완전히 세팅되지 않은 경우 흔히 발생하는 문제다.

Supabase CLI를 설치하고 나서야 이 명령이 정상 동작했다.

격리 기법이 잘 맞았던 이유

두 문제가 겹쳐서 발생했을 때, 나는 한 번에 해결하려 하지 않았다.

대신 각 문제의 원인을 개별적으로 확인했다.

env

왜 실패하는지, gen
왜 실패하는지 따로따로 추적했다.

이렇게 하니까 잘 됐다.

하나의 큰 문제처럼 보였지만, 실제로는 서로 무관한 두 가지 문제였기 때문이다.

만약 한꺼번에 해결하려 했다면, 어느 쪽이 해결되었는지 파악하기 어려웠을 것이다.

도구 체인 의존성

이 디버깅하면서 도구 체인의 의존성 구조를 다시 확인했다.

키체인 → 환경 변수 → CLI → 생성 스크립트. 이 체인에서 앞 단계가 막히면 뒤 단계가 모두 영향을 받는다.

개발 환경 세팅할 때 이 의존성을 순서대로 확인하는 게 중요하다.

모든 도구가 설치되어 있다고 가정하지 말고, 실제로 동작하는지 하나씩 점검하는 게 낫다.