한바둑 명리학 AI·데이터베이스 구축 11Case 올인원 총정리 - – Ruby·Rails·PostgreSQL·Claude로 만드는 디지털 명리학 플랫폼

소개

시도하고자 했던 것과 그 이유

시도한 것 (11개 사례 전체 관통 목적)

  1. 기술 스택 전환·확장

    • HTML/JavaScript + localStorage로 돌아가던 한바둑 프로토타입을
      Ruby + Ruby on Rails + PostgreSQL 기반 백엔드 시스템으로 전환 사례글 01

  2. 핵심 데이터의 표준화·DB화

    • 60갑자 일주 60개 × 7필드 = 420필드 통합 및 표준 JSON 구축 사례글 01

    • 연해자평 2,333페이지 텍스트의 구조화 및 누락 140건 추적·복구 사례글 01

    • 1920–2026년 107년 절기(24절기) 데이터베이스 구축 사례글 01

    • 310건 명리 통변 데이터를 정규화된 테이블 8개에 완전 마이그레이션 사례글 01

  3. AI와 협업하는 개발 워크플로우 정립

    • “Claude에게 ‘대충 만들어줘’ → 삽질 2~3시간” 패턴에서
      문서화·PRD·프롬프트 설계 기반의 구조적 개발로 전환 (이모카 5단계 워크플로우 적용) 사례글 01

  4. 장기 비전

    • 60년×12월×60일×13시×2성별 = 1,123,200개 사주 조합 전체 데이터 설계

    • 장기적으로 UNESCO 디지털 문화유산 등재를 목표로 하는 “한바둑 명리학 시스템”의 기반 마련 사례글 01

왜 이걸 했는가?

  • 학술·문화적 이유

    • 한국 전통 명리학 원전(연해자평 등)과 현대 통변 데이터를
      누가 와도 검증 가능한 데이터베이스로 남기기 위해.

  • 기술·교육적 이유

    • 은퇴 이후 평생교육 교수로서,
      “명리학으로 Ruby를 배우고, Ruby로 명리학을 체계화”하는 양방향 학습 패키지를 만들기 위해. 사례글 01



📊 사례글 전체 목록

순번

제목

핵심 키워드

1

명리학시스템으로 배우는 Ruby & Rails 학습 패키지

Ruby 학습, 기술 스택 확장

2

Claude로 11개 파일, 8가지 구조를 60갑자 표준 데이터로 완전 통합

데이터 통합, 60갑자

3

Ruby on Rails로 명리학 데이터베이스 시스템 구축하기 -1

Rails 구축, Vibe Coding 탈피

4

Claude와 함께한 Ruby on Rails 사전 학습

Rails 예습, 3.5시간

5

연해자평 2,333페이지 데이터베이스 완벽 구축

고전 디지털화, 140건 추적

6

Claude와 함께한 Ruby on Rails 사전 학습 (심화)

UNESCO 목표, 체계적 학습

7

밤새 PostgreSQL 설치 실패... Claude가 20분 만에 완성

620개 마이그레이션, 구조화

8

AI가 삽질하지 않게 만드는 법 - 5단계 문서화 워크플로우

이모카님, 문서화

9

Claude AI와 함께 107년 절기 데이터베이스 구축 - Day 1

절기 2,568건, KASI

10

한바둑 명리학 시스템 Day 2-3: 대운그룹 Import

1,129건, UI 개선

11

한바둑 명리학 시스템 Kamal 배포 실습

$6/월, DigitalOcean



진행 방법

3-1. 사용한 도구 (11개 사례 공통)

  • 프로그래밍 / 프레임워크

    • Ruby 3.x, Ruby on Rails 8.x 사례글 01

    • Python 3 (데이터 분석·변환, 검증 스크립트) 사례글 01

  • 데이터베이스

    • PostgreSQL 18 (실 서비스용 정규화 DB) 사례글 01

    • SQLite (GitHub Codespaces에서 초기 실습용) 사례글 01

  • AI 도구

    • Claude Sonnet 4.5 + Computer Use (코드 작성·파일 처리·Python 실행) 사례글 01

    • Claude Projects (한바둑 관련 30여 문서를 컨텍스트로 연동) 사례글 01

  • 기타

    • GitHub Codespaces, VS Code / 메모장, Bash·PowerShell

    • JSON·CSV·SQL 파일 포맷, 외장 1.4TB 스토리지 등


3-2. 대표 프롬프트 & 워크플로우

(1) Ruby 학습 + 명리 데이터 활용 패턴 (사례글 01, 03, 04)

“4주간 Ruby와 Rails를 공부하므로, 기존 한바둑 시스템(HTML/JS)을 Ruby/Rails로 응용하려고 합니다.
24절기 JSON·사주 파서·185필드 스키마를 기반으로
(1) 절기 분석기 (2) 사주 계산 엔진 (3) 185필드 변환기 3개 스크립트를 만들어 주세요.” 사례글 01

  • 결과: jeolgi_analyzer.rb, saju_engine.rb, field_185_converter.rb 3개 핵심 스크립트 생성 및 학습용 가이드 문서화 사례글 01

(2) 60갑자 11개 파일 → 1개 표준 JSON 통합 (사례글 02)

“11개 파일·8가지 다른 구조로 흩어진 60갑자 일주 데이터를
7개 표준 필드(기본 특성, 성격·심리, 대인관계, 직업·재물, 건강·생활, 발전방향, 특징요약)로 통합해 주세요.
구조별 매핑 규칙을 정의하고, 누락·중복·마크다운도 모두 처리해 주세요.” 사례글 01

  • Python으로 구조 분석 → 매핑 규칙 정의 → 빈 필드 자동 생성 → Markdown 파싱까지 3단계 Phase로 처리 사례글 01

(3) Rails DB 설계·마이그레이션 (사례글 03, 07, 09)

“명리학 데이터 310건(원국·대운·세운)을
Rails + PostgreSQL 정규화 DB에 옮기고 싶습니다.
프로필, 원국, 대운, 세운, 절기, 일주 마스터 등 8개 테이블을 설계하고
seeds.rb로 310건을 한 번에 임포트하는 코드를 짜 주세요.” 사례글 01

  • Rails 마이그레이션·모델·db/seeds.rb를 Claude가 1차 작성 → 사용자가 필드명·관계·한글 통변 맥락에 맞게 수정 → 최종 310건/312건(대운) 임포트 성공 사례글 01

(4) “이모카 5단계 문서화 워크플로우” 적용 (사례글 08)

  • 문제: “AI에게 ‘명리학 앱 만들어줘’라 하면 2~3시간씩 엉뚱한 결과”

  • 해결:

    1. 문제 정의 → 2) 배경 설명 → 3) 요구사항 목록화 → 4) 예시 데이터·포맷 제시 → 5) 검증 기준 명시
      PRD 수준 문서를 먼저 작성하고, 그 문서를 Claude에게 먹이는 방식으로 전환 사례글 01


3-3. 대표 코드·설계 (요약)

  • Ruby 클래스 설계

    • JeolgiAnalyzer, SajuEngine, Field185Converter로 기능 분리

    • 각 클래스는 “입력 → 분석/계산 → 결과 출력” 구조로 설계 사례글 01

  • Rails DB 스키마

    • profiles (기본정보) – wonkuks (원국) – daeuns (대운) – sewuns (세운)

    • jeolgis (절기), ilju_masters (60갑자 마스터), ilju_educations (교육용 콘텐츠) 등 확장 테이블 설계 사례글 01

  • 검증용 Python 스크립트

    • 레코드 개수, 페이지 연속성, 중복, 비어있는 내용 등을 한 번에 체크하는 verify_data() 함수로 데이터 품질 관리 사례글 01

결과와 배운 점

📊 전체 프로젝트 성과 요약

11건 사례글 핵심 키워드 분석

┌─────────────────────────────────────────────────────────────┐
│                    핵심 주제별 분류                          │
├─────────────────────────────────────────────────────────────┤
│ 📚 학습/예습      │ 사례글 1, 4, 6                          │
│ 🗄️ 데이터 구축    │ 사례글 2, 3, 5, 9, 10                   │
│ 🔧 시스템 개발    │ 사례글 7                                │
│ 📝 방법론        │ 사례글 8                                │
│ 🚀 배포          │ 사례글 11                               │
└─────────────────────────────────────────────────────────────┘

데이터 현황 (2025-12-01 기준)

데이터 유형건수비고통변 상담 기록310건profiles원국 데이터310건wonkuks대운 그룹1,129건daeun_groups절기 데이터 (KASI)2,568건107년분연해자평 고전2,333건완전 디지털화60갑자 일주60건표준화 완료현재 총합약 6,710건최종 목표1,123,200건

기술 스택 진화

Phase 1: HTML/JavaScript + localStorage (Vibe Coding)
    ↓
Phase 2: Ruby on Rails + PostgreSQL (Structured Development)
    ↓
Phase 3: Kamal + DigitalOcean ($6/월 배포)
    ↓
Phase 4: Dify AI + RAG (AI 상담 시스템) [예정]

핵심 학습 포인트 (11건 통합)

순번교훈출처1"Vibe Coding"에서 "Structured Development"로사례글 3, 72문서화 80%, 코딩 20%사례글 8311개 파일 → 1개 표준 구조 통합사례글 24절기 데이터는 분 단위 정확도 필수사례글 95$6/월로 프로덕션 배포 가능사례글 11

🎯 최종 비전

현재: 6,710건 데이터 + Rails 앱 배포 완료
      ↓
중기: 110만 건 데이터 확장 + Dify RAG 통합
      ↓
장기: UNESCO 디지털 문화유산 등재

4-1. 기술적 결과

  1. 학습·실습 겸용 Ruby 패키지 완성

    • 절기 분석기, 사주엔진, 185필드 변환기 + README + 4주 학습 가이드 등 총 1,900줄 이상 코드·문서 생성 사례글 01

  2. 60갑자 일주 데이터 100% 통합

    • 11개 파일·8개 구조·420필드 →
      60개 일주 × 7필드, 58만 자, 1.25MB 표준 JSON으로 완전 통합 사례글 01

  3. 정규화된 명리 DB 310건 구축

    • Profiles 310, Wonkuk 310, Daeun 312 레코드까지 실제 Rails DB로 이관 완료 사례글 01

  4. 절기·연해자평 등 대용량 데이터 구조화 기반 확보

    • 연해자평 2,333건 페이지 관리 로직, 누락·중복 검증 코드 확보 사례글 01

    • 107년 절기 데이터 저장용 Rails 모델·마이그레이션 설계(일부는 SQLite 실습으로 진행) 사례글 01


4-2. 배운 점

(1) “Vibe Coding → Structured Development” 전환

  • 감으로 코딩하면:

    • 버전 난립, 로직 중복, 데이터 무결성 붕괴(여러 ULTIMATE/MEGA 버전 등장) 사례글 01

  • 구조화된 개발로 바꾸니:

    • DB 스키마 → 모델 → 마이그레이션 → 시드 → API → UI 순으로 명확한 단계

    • Rails의 Convention을 따르면, 관계·쿼리·라우팅이 거의 자동화된다는 걸 체감

(2) “AI는 머릿속을 읽지 못한다”는 깨달음

  • 좋은 결과를 얻기 위해서는

    1. 문제 배경, 2) 원하는 산출물 예시, 3) 데이터 스키마, 4) 검증 기준까지
      문서와 프롬프트에 명시해야 한다는 것을 이모카 5단계 워크플로우를 통해 학습 사례글 01

(3) 데이터 품질은 “코드로 관리하는 것”

  • “눈으로 대강 확인”이 아니라

    • 누락·중복·비어있는 내용·페이지 범위 등을 Python 검증 스크립트로 자동 체크하는 습관을 확보 사례글 01

(4) 은퇴 후 학습 전략

  • 3.5시간의 사전 예습(Rails 개념·MVC·ActiveRecord·RESTful 라우팅)을 통해
    향후 수십 시간의 삽질을 줄일 수 있다는 경험을 얻음 사례글 01


4-3. 시행착오와 나만의 꿀팁

시행착오

  • YAML 들여쓰기 한 칸 때문에 database.yml 에러 → “YAML은 공백도 문법”이라는 교훈 사례글 01

  • test DB에서 IPv6(::1) 인증 문제 → host: 127.0.0.1로 명시해 해결 사례글 01

  • 60갑자 수동 입력 중 “기유” 중복 → 간지 조합을 코드로 자동 생성하는 방식으로 재설계 사례글 01

꿀팁

  1. “한 번에 다”가 아니라 “단계별 완료”

    • 파일 분석 → 구조 그룹화 → 표준 매핑 → 빈 필드 채우기 → 검증 → 최종 통합.

  2. Rails Console·IRB 적극 활용

    • rails console에서 관계·쿼리를 바로 확인하면서 설계 오류를 조기 발견.

  3. 진행 상황을 항상 출력

    • puts "#{index+1}/#{total}..." 한 줄로, 긴 시드 작업도 심리적 안정 확보. 사례글 01


<< 앞으로의 계획 >>

  1. Rails 기반 한바둑 백엔드 완성

    • 프로필/원국/대운/세운/절기/60갑자 일주 API 완전 개방

    • RESTful + JWT 인증 구조 설계, Dify에서 바로 호출 가능하게 구축

  2. Dify·RAG 연동

    • 60갑자·연해자평·통변 데이터를 벡터DB에 올려
      “사주 입력 → 일주·대운·세운 계산 → 관련 문헌 자동 검색 → AI 통합 통변” 파이프라인 완성

  3. 1,123,200 조합 풀 데이터셋 구축

    • 배치·분산 처리로 전체 조합 생성

    • 캐싱·인덱싱 전략 수립, 통계·리포트 기능 추가 사례글 01

  4. UNESCO 디지털 문화유산 수준 품질로 끌어올리기

    • 데이터 출처·계산 로직·검증 절차를 모두 문서화

    • 학술 논문·제안서와 연동 가능한 구조로 정리

도움 받은 글 (옵션)

  • 지피터스 / 내부 글

    • 이모카 – 아이디어만 있으면 AI가 다 개발해주는 바이브코딩 전 문서 작성 워크플로우 사례글 01

    • 19기 1인 풀스택 / 바이브코딩 탈출 관련 글들 사례글 01

  • 공식 문서

    • Ruby 공식 문서 (ruby-lang.org) 사례글 01

    • Rails Guides – ActiveRecord, Migrations, Routing 등 사례글 01

    • PostgreSQL 공식 문서 – JSON, 인덱싱, Windows 설치 가이드 사례글 01

  • 기타

    • Anthropic 프롬프트 엔지니어링 가이드

    • 한국천문연구원(KASI) 24절기 자료 (절기 DB 구축 참고) 사례글 01

1

뉴스레터 무료 구독

👉 이 게시글도 읽어보세요