lifecarelog
제품소개

비공개 리서치 도구, 원문과 출력 포맷 분리하는 법

혼자 쓰는 리서치 도구에서 내부 원문과 외부 출력 포맷을 분리해야 하는 이유와 3단계 구조를 플랜엘 사례로 정리했어요.

5분 읽기

혼자 쓰는 리서치 도구를 만들다 보면, 수집한 원문 위에 요약을 그대로 덮어쓴 적 없나요?

저도 처음엔 그랬어요. 검색해 온 자료를 정리하면서 원문 필드에 요약본을 저장했는데, 나중에 출처를 다시 확인하려니 원문이 이미 사라진 뒤였어요. 요약이 맞는지 검증할 방법이 없어진 거죠.

원문과 출력은 수명이 달라요

내부 원문은 검증용이에요. 시간이 지나도 그대로 남아 있어야 "이 요약이 원문 어디서 나왔지?"를 추적할 수 있어요.

반면 외부 출력은 소비용이에요. 화면 구성이나 공유 포맷이 바뀔 때마다 얼마든지 다시 만들 수 있어야 하고요.

이 둘을 한 필드에 섞으면 포맷을 바꿀 때마다 원문이 조금씩 깎여 나가요. 직접 만들어 보니 분리 기준은 간단했어요. 다시 만들 수 있으면 출력, 다시 못 구하면 원문.

3단계로 분리했어요

  1. 원문은 불변 저장 — 수집 시점에 원문·출처 URL·수집 시각·해시 4개 필드로 저장하고, 이후엔 수정하지 않아요.
  2. 변환은 함수로 — 요약이나 인용 표기는 원문을 읽어 만드는 변환 함수에만 둬요. 결과가 이상하면 함수만 고치고 다시 돌리면 돼요.
  3. 출력은 템플릿으로 — 화면용·공유용 포맷은 변환 결과를 받아 그리는 템플릿이 담당해요.
원문 불변 저장변환 함수출력 템플릿

적용해 봤더니 가장 좋았던 건 되돌리기가 공짜라는 점이에요. 요약 방식을 바꾸고 싶으면 변환 함수만 수정하고 전체를 다시 돌리면 끝이에요. 원문이 살아 있으니까요.

플랜엘도 같은 구조예요

법령·판례 검색 도구인 플랜엘(plan-l)도 이 구조 위에 있어요. 국가법령정보센터와 대법원 데이터가 내부 원문 계층이고, 사용자가 보는 검색 결과 화면이 출력 계층이에요. 조문 표기 방식을 바꿀 일이 생겨도 원문 계층은 건드리지 않아요. 월 3건까지 무료로 검색할 수 있으니, 결과 화면과 원문 링크가 어떻게 나뉘어 있는지 살펴보셔도 좋아요.

작게 시작해도 충분해요

테스트해 보면 테이블 2개와 변환 함수 하나로도 구조가 성립해요. 저는 첫 분리 작업에 반나절이 안 걸렸어요.

  • 원문은 불변
  • 변환은 함수
  • 출력은 템플릿

지금 만들고 있는 도구가 있다면, 원문 필드에 마지막으로 덮어쓴 게 언제인지부터 확인해 보세요. 원문을 지키는 습관이 나중의 검증 비용을 줄여 줘요.

#리서치 도구#데이터 설계#1인 개발

라이프케어로그 서비스가 궁금하신가요?

AI 기반 건강·일정·재활 관리 앱을 직접 써보세요.

서비스 살펴보기

관련 글

댓글

아직 댓글이 없어요. 첫 댓글을 남겨주세요.