대상: 개발 공부·회사 프로젝트·버그/에러 기록을 Notion 하나로 정리하고 싶은 개발자
환경: Notion 기본 사용 가능, 데이터베이스(DB) 개념 이해도 있으면 좋고, 나중에 ChatGPT / API / 자동화까지 확장할 계획이 있는 사람
개발을 하다 보면 자연스럽게 이런 것들이 쌓인다.
- 오늘 공부한 내용, 정리하고 싶은 개념들
- 회사/개인 프로젝트 진행 상황
- 삽질 끝에 겨우 해결한 에러/버그 기록
대부분은 메모 앱 / 카톡 / 블로그 / 종이 노트 등 여기저기 흩어져서,
막상 다시 찾으려고 하면 “어디다 적어놨더라…” 상태가 되기 쉽다.
이 글에서는 Notion 하나에
- 공부 로그
- 프로젝트
- 에러/문제 해결 로그
이 세 가지를 연결된 데이터베이스 구조로 설계하는 방법을 정리한다.
나중에 ChatGPT / Notion API / Make 자동화와 이어질 기본 베이스 구조라고 생각하면 된다.
1. 전체 구조 한눈에 보기 – DB 3개를 기준으로 설계
우선, Notion에서 만들 핵심 데이터베이스(DB)는 세 가지다.
- 공부 로그 DB – 오늘 무엇을 공부했고, 어떤 개념/문제를 다뤘는지
- 프로젝트 DB – 회사/개인/사이드 프로젝트 관리
- 에러/문제 로그 DB – 삽질 끝에 해결한 에러/버그/장애 기록
이 세 개를 Relation(관계)로 서로 연결해서:
- 어떤 공부가 어떤 프로젝트와 연결되는지
- 어떤 에러가 어떤 프로젝트/공부 세션에서 나왔는지
까지 한 번에 추적할 수 있는 구조를 만드는 게 목표다.
이 구조는 나중에
- 정보처리기사 / 리눅스 자격증 공부
- 회사 코드/샘플 코드 개발
- ChatGPT와의 대화 로그
와도 자연스럽게 연동할 수 있다.
2. 공부 로그 DB 설계 – “오늘 뭐 공부했는지”를 남기는 기본 단위
2-1. 공부 로그 DB에 들어갈 속성들
Notion에서 새 데이터베이스(테이블)를 만들고 이름을 예를 들어:
공부 로그
라고 하자. 추천 속성은 다음과 같다.
| 속성 이름 | 타입 | 설명 |
|---|---|---|
| 날짜 | Date | 공부한 날짜/시간 (오늘 날짜 기본값 추천) |
| 제목 | Title | 공부 세션 제목 (예: 우분투 18.04 시리얼 포트 정리) |
| 주제 | Multi-select | 리눅스, 시리얼, OpenCV, Notion, 자동화, 알고리즘 등 |
| 태그 | Multi-select | 시험, 회사 업무, 사이드 프로젝트, 블로그 초안 등 |
| 난이도 | Select | ★ / ★★ / ★★★ 또는 쉬움/보통/어려움 등 |
| 요약 | Text | 이번 공부의 핵심 한 줄 요약 |
| 상세 내용 | Text/페이지 | 본문(노트) – 개념 정리, 코드, 스크린샷 등 |
| 프로젝트 | Relation | “프로젝트 DB”와 연결 (옵션) |
| 관련 에러 | Relation | “에러 로그 DB”와 연결 (옵션) |
이 중에서 필수는 날짜, 제목, 주제, 요약 정도이고,
나머지는 점점 쓰면서 늘려도 된다.
2-2. 공부 로그 입력 패턴 예시
예를 들어, 오늘 시리얼 포트 공부를 했다면:
- 제목:
우분투에서 ttyUSB0 / ttyACM0 시리얼 포트 정리 - 날짜: 오늘 날짜
- 주제:
리눅스,시리얼 - 태그:
회사 업무,블로그 초안 - 난이도:
보통 - 요약:
dmesg로 포트 이름 확인, dialout 그룹 권한, udev 규칙 기본을 정리했다.
- 프로젝트:
샘플 코드 개발(프로젝트 DB에서 선택) - 관련 에러: 나중에 연결
이렇게 작성해두면, 나중에 “내가 시리얼 관련해서 언제 무엇을 공부했지?”를
날짜/주제/프로젝트 기준으로 다시 찾기 쉬워진다.
3. 프로젝트 DB 설계 – 회사/개인/사이드 프로젝트를 한곳에서
프로젝트는 공부와 에러 로그를 묶어주는 “상위 개념”이다.
3-1. 프로젝트 DB 속성 예시
새 데이터베이스 이름:
프로젝트
추천 속성:
| 속성 이름 | 타입 | 설명 |
|---|---|---|
| 프로젝트 이름 | Title | 프로젝트/업무 이름 |
| 상태 | Select | 계획, 진행 중, 일시중단, 완료 |
| 타입 | Select | 회사, 사이드, 공부용, 블로그용 등 |
| 시작일 | Date | 시작 날짜 |
| 마감일 | Date | 마감/목표 날짜 (옵션) |
| 설명 | Text | 프로젝트 개요 |
| 관련 공부 로그 | Relation | “공부 로그”와 Relation (양방향) |
| 관련 에러 로그 | Relation | “에러 로그 DB”와 Relation (양방향) |
이렇게 해두면:
- 특정 프로젝트를 클릭했을 때
- 그 프로젝트와 관련된 공부 기록,
- 그 프로젝트에서 발생했던 에러/버그 기록
를 아래 Relation 뷰에서 바로 볼 수 있다.
예시 프로젝트:
우분투 18.04 샘플 코드 정리시리얼 + 카메라 통합 샘플Notion 자동화 시스템정보처리기사 실기 준비
4. 에러/문제 로그 DB 설계 – “삽질 비용 줄이는 핵심 DB”
개발자로서 제일 아까운 건 같은 에러를 두 번 해결할 때다.
에러/버그/장애는 개별 DB로 분리해두는 걸 강력 추천한다.
4-1. 에러 로그 DB 속성 예시
데이터베이스 이름:
에러 / 문제 로그
추천 속성:
| 속성 이름 | 타입 | 설명 |
|---|---|---|
| 제목 | Title | 에러/문제 한 줄 설명 (예: permission denied on /dev/ttyUSB0) |
| 발생 날짜 | Date | 발생 날짜 (대략으로 적어도 됨) |
| 시스템/환경 | Multi-select | 우분투 18.04, 윈도우, WSL, Docker, Jetson 등 |
| 심각도 | Select | 낮음/보통/높음/치명적 |
| 상태 | Select | 미해결, 해결, 재발 |
| 원인 요약 | Text | 원인 한 줄 요약 |
| 해결 방법 요약 | Text | 해결 방법 한 줄 요약 |
| 상세 내용 | Text/페이지 | 로그, 스크린샷, 시도해본 것들, 링크 등 |
| 관련 프로젝트 | Relation | 프로젝트 DB와 Relation |
| 관련 공부 로그 | Relation | 공부 로그 DB와 Relation |
4-2. 에러 로그 작성 예시
예를 들어 A3에서 다뤘던 에러:
- 제목:
/dev/ttyUSB0 permission denied 에러 - 발생 날짜: 오늘 날짜
- 시스템/환경:
우분투 18.04,USB-시리얼 - 심각도:
보통 - 상태:
해결 - 원인 요약:
사용자가 dialout 그룹에 속해 있지 않아서 - 해결 방법 요약:
sudo usermod -aG dialout $USER 후 재로그인 - 관련 프로젝트:
우분투 18.04 샘플 코드 정리 - 관련 공부 로그:
우분투에서 시리얼 포트 확인 및 권한 설정 정리(공부 로그에서 선택)
이렇게 한 번만 제대로 적어놓으면:
- 나중에 같은 에러가 나도 “아 그때 뭐였지?” → 검색 → 바로 해결
- 블로그 글로 풀어서 쓸 때에도 재활용이 쉬움
- 시험/면접 준비할 때 “실제 장애 경험” 이야기로도 활용 가능
5. 세 DB를 Relation으로 연결하는 방법
이제 핵심은 세 DB를 어떻게 연결할지다.
5-1. 공부 로그 ↔ 프로젝트
공부 로그DB에프로젝트타입 Relation 속성을 만든다.- 대상 DB로
프로젝트를 선택. - 이제 공부 로그를 작성할 때, 해당 공부가 어느 프로젝트와 관련 있는지 골라 넣는다.
반대로 프로젝트 DB에서는:
관련 공부 로그Relation 속성이 자동으로 생겨서- 프로젝트 페이지 아래쪽에 “이 프로젝트와 연결된 공부 로그” 목록이 보이게 된다.
5-2. 에러 로그 ↔ 프로젝트
비슷하게:
에러 / 문제 로그DB에관련 프로젝트Relation 속성을 만든다.- 대상 DB로
프로젝트를 선택.
이렇게 하면:
- 프로젝트 페이지에서 “이 프로젝트에서 어떤 에러들이 있었는지”를 한눈에 볼 수 있다.
5-3. 공부 로그 ↔ 에러 로그
마지막으로:
공부 로그DB에관련 에러Relation 속성을 만들고- 대상 DB로
에러 / 문제 로그선택
혹은 반대로:
에러 / 문제 로그DB에관련 공부 로그Relation을 만들고- 대상 DB로
공부 로그선택
둘 중 하나만 만들면 반대편에도 자동으로 생성되므로,
어느 쪽에서 시작해도 괜찮다.
이 구조를 잘 써먹으면 예를 들어:
“이 에러는 어떤 공부/프로젝트 맥락에서 나왔었지?”
“이 프로젝트를 하면서 어떤 에러들을 겪었지?”
“최근 한 달 동안 ‘우분투 18.04’ 관련 에러는 뭐 있었지?”
같은 질문에 바로 답할 수 있다.
6. Notion 뷰(View)를 활용해서 “마실 수 있는 화면” 만들기
DB 구조만 있어서는 실사용이 불편하니까,
뷰(View)를 잘 만들어두는 게 중요하다.
6-1. 공부 로그 뷰 예시
- 오늘 공부 뷰
- 필터:
날짜 = 오늘 - 정렬:
날짜내림차순 - 목적: “오늘 뭐 했는지 빠르게 기록/확인”
- 필터:
- 이번 주 공부 뷰
- 필터:
날짜가 이번 주 범위 - 그룹:
주제기준 그룹핑 (리눅스, Notion, 알고리즘 등)
- 필터:
- 블로그 초안 후보 뷰
- 필터:
태그에블로그 초안포함 - 목적: “어떤 공부 기록을 블로그 글로 뽑을지” 한 번에 보기
- 필터:
6-2. 에러 로그 뷰 예시
- 최근 30일 에러
- 필터:
발생 날짜가 최근 30일 - 정렬:
발생 날짜내림차순
- 필터:
- 미해결 에러
- 필터:
상태 = 미해결
- 필터:
- 우분투 18.04 전용 에러
- 필터:
시스템/환경에우분투 18.04포함
- 필터:
이렇게 해두면, 진짜 문제가 생겼을 때
에러 로그 DB가 “살아있는 도감” 역할을 하게 된다.
7. 앞으로 ChatGPT / 자동화와 어떻게 연결할지
이 구조는 나중에:
- ChatGPT와의 대화 결과를 정리해서 공부 로그에 넣거나
- 코드/에러 질문에 대한 답변을 에러 로그에 붙여넣고
- Notion API / Make를 이용해서 자동으로 페이지를 생성하는 기반이 된다.
예를 들어:
- ChatGPT에게 “오늘 공부 요약”을 받아서
- 공부 로그 DB에 자동으로 한 줄 요약 + 태그까지 기록
- 특정 에러를 ChatGPT에게 설명해서
- 해결 방법 요약을 얻은 뒤 에러 로그 DB에 붙여넣기
- 시험 준비(정보처리기사, 리눅스마스터) 문제 풀이 기록을
- 공부 로그 DB + 에러 로그 DB로 구조화
8. 정리 – 개발자용 Notion 기본 구조 완성
지금까지 설계한 구조를 한 줄씩 정리하면:
- 공부 로그 DB – 날짜/주제/요약 기준으로 공부 내역을 관리
- 프로젝트 DB – 회사/개인/시험/블로그 프로젝트를 한 곳에서 관리
- 에러/문제 로그 DB – 에러/버그/장애를 따로 모아서 재사용 가능한 지식으로 만들기
- 세 DB를 Relation으로 연결해서
- 공부 ↔ 프로젝트
- 에러 ↔ 프로젝트
- 공부 ↔ 에러
를 이어준다.
- Notion 뷰(View)를 활용해서
- 오늘 공부, 이번 주 공부, 미해결 에러 등
자주 보는 화면을 따로 만든다.
- 오늘 공부, 이번 주 공부, 미해결 에러 등
이 구조만 잘 만들어놓고 쓰기 시작해도,
이미 “개발자용 지식/기록 시스템”의 뼈대는 갖춰진 거나 다름 없다.