나만의 독서 기록장 만들기: 평범한 텍스트의 자유

Making myself a reading log

작성자
발행일
2025년 09월 11일

핵심 요약

  • 1 Goodreads의 불편함으로 인해 평범한 텍스트 파일 기반의 개인 독서 기록 시스템을 구축하고 Ruby 스크립트를 활용하여 데이터를 관리 및 시각화했습니다.
  • 2 단순한 CSV/PSV 파일로 시작했으나, 독서 이력, 형식, 출처 등 상세 정보를 포함하도록 확장되었으며, Rainbow CSV 확장 프로그램을 통해 가독성을 유지했습니다.
  • 3 복잡한 구문 분석 로직과 사회적 기능 부재라는 단점에도 불구하고, 개인에게 최적화된 도구를 통해 독서 습관을 개선하고 플랫폼 종속성에서 벗어나는 이점을 얻었습니다.

도입

저자는 Goodreads의 UI 불편함과 데이터베이스 부족 문제에 직면하여, 자신만의 독서 기록 시스템을 구축하게 된 배경을 설명합니다. 그는 프로그래밍 방식으로 구문 분석, 쿼리 및 시각화될 수 있는 상세한 평문 텍스트 파일 기반의 독서 로그를 만들고자 했으며, 이는 2년간의 작업 끝에 그의 웹사이트에 결과물로 공개되었습니다. 이 프로젝트는 인기는 없지만, 저자 스스로를 위한 도구를 만들고 그것이 그의 독서 방식까지 변화시켰다는 점에 의미를 둡니다.

저자는 Goodreads 사용 중 겪었던 불편함, 특히 희귀한 책의 데이터베이스 부재 문제를 해결하기 위해 평문 텍스트 파일로 된 오프라인 독서 로그로 전환했습니다. 초기에는 Rating|Title|Start date|End date와 같은 간단한 CSV/PSV 형식이었으며, VS Code의 Rainbow CSV 확장 프로그램으로 가독성을 확보했습니다.

“Showing off” 측면의 중요성을 깨닫고, 저자는 Ruby 스크립트를 작성하여 독서 로그를 구문 분석하고 필터링하여 웹사이트에 공개 목록을 게시했습니다. Dropbox 동기화와 GitHub Actions를 통한 주간 빌드를 설정하여 이 목록이 자동으로 업데이트되도록 구현했습니다.

독서 로그 기능 확장

이후 저자는 독서 로그에 더 많은 정보를 추적하고 쿼리할 수 있도록 기능을 확장했습니다.

  • formats (형식)

  • editions (판본)

  • sources (출처)

  • length (페이지 수 또는 시간)

  • history (시작/종료일 외에 세부적인 독서 이력)

  • notes (메모)

이 모든 정보는 각 항목당 한 줄에 기록되었으며, “to-be-read” 목록과 같은 새로운 유형의 항목도 추가되었습니다. 저자는 구문 가이드를 참조해야 할 정도로 복잡해졌을 때 기능 추가를 중단했다고 언급합니다. 그럼에도 Rainbow CSV 덕분에 여전히 가독성을 유지하고 있습니다.

개인 독서 시스템의 이점

이러한 노력은 저자에게 더 나은 독자가 되는 계기가 되었습니다.

  • 분산되어 있던 메모를 독서 로그에 통합하여 관리 용이성 증대.

  • 읽고 싶은 책이나 다시 읽을 책을 추적하기 용이.

  • 향후 아마존/Goodreads 추천 시스템과 같은 기능을 자동화할 잠재력.

저자는 타사 플랫폼에 종속되지 않고, 그들의 기능 제한이나 UI, 그리고 데이터 내보내기 문제로부터 자유로워지는 것을 목표로 합니다.

결론

이 프로젝트는 개인 독서 기록 시스템을 구축하는 데 많은 노력이 필요했지만, 그 결과는 저자에게 매우 가치 있었습니다. 복잡한 사용자 정의 구문과 이에 따른 방대한 구문 분석 로직(예: 94줄의 정규 표현식, 500줄 이상의 데이터 변환 로직)이 단점으로 지적되지만, 저자는 JSONL보다 CSV/PSV 형식이 직접 편집하기에 더 편리하다고 생각합니다. 유일한 아쉬움은 다른 사람들과 연결될 수 있는 사회적 기능의 부재입니다. 그러나 Goodreads의 "enshittification" 이후 파편화된 독서 앱 시장에서, 저자는 자신만을 위해 설계된 도구를 통해 많은 것을 얻었으며, 특정 플랫폼에 갇히지 않는 자유를 누리고 있다고 결론 내립니다.

댓글 0

로그인이 필요합니다

댓글을 작성하거나 대화에 참여하려면 로그인이 필요합니다.

로그인 하러 가기

아직 댓글이 없습니다

첫 번째 댓글을 작성해보세요!