사주 웹

✅ 왜 사주 웹앱을 만들게 되었을까?

요즘 사주와 명리학에 관심 있는 사람들이 많아졌습니다.
하지만 기존 사주 서비스들은 대부분 앱 기반이거나, UI가 무겁고 복잡하다는 한계가 있습니다.

그래서 저는 누구나 웹에서 바로 사주팔자를 확인할 수 있는 가볍고 빠른 시스템을 만들어 보기로 했습니다.
입력은 단순하게, 출력은 정확하게.
📌 목표는 “태어난 날짜와 시간을 입력하면 사주팔자와 대운, 세운, 월운까지 확인할 수 있는 PHP 기반 웹앱”입니다.

 

🧱 어떤 기술을 썼을까?

이 프로젝트는 ChatGPT를 적극적으로 활용해 설계되었습니다.
기존에 Python으로 작성된 사주 계산 로직을 분석하고, 이를 PHP로 이식하기 위한 구조와 알고리즘을 GPT와 함께 정리하면서 점진적으로 완성해 나갔습니다.

항목선택한 기술
백엔드PHP (7.x 이상)
데이터베이스SQLite (경량 DB)
프론트엔드HTML + PHP 출력
서버 환경일반 웹호스팅 (Cafe24, 워드프레스 호스팅도 가능)

💬 GPT를 통해 사주 개념 정리, 간지 계산 알고리즘 검증, 월운 오류 분석 등 많은 도움을 받았습니다.

 

🗂️ 필요한 데이터베이스는?

사주 계산에는 단순한 생년월일만으로는 부족합니다.
양력-음력 변환, 절기 정보(입춘, 경칩 등), 연월일 간지 등의 정보가 필요합니다.

이를 위해 다음 두 가지 SQLite 기반 데이터베이스를 준비했습니다:

 

📁 1. 캘린더 DB 구성 예시 (년주·월주·일주 포함)

양력 날짜음력 날짜연간지월간지일간지
2025-01-062024-12-07갑진병자병자
2025-01-072025-01-01을사정축정축

💡 DB에서 간지 데이터를 미리 조회할 수 있게 구성하면 사주 계산 속도가 빨라집니다.

 

📁 2. 절기 DB 구성 예시 (12절기 컬럼 구조)

연도입춘경칩청명입하망종소서입추백로한로입동대설소한
202501-07 17:4503-05 10:0904-04 21:0305-05 15:2306-05 06:1007-07 00:4608-07 21:3909-07 13:1210-08 06:4111-07 01:3912-07 00:1401-06 00:24

💡 각 절기값은 MM-DD HH:MM 형식의 문자열로 저장되며,
월주 및 대운 계산 시 해당 절기의 시각 이후인지 여부가 핵심 조건이 됩니다.

📌 공공 데이터 출처

이러한 음양력 변환표와 절기 시각 데이터는 한국천문연구원에서 제공하는 공공 자료를 기반으로 구성할 수 있습니다.

🔗 한국천문연구원 천문우주지식정보 (KASI)

 

🔌 PHP에서 SQLite 연결은 이렇게!

✅ 실제 파일명은 서버에 업로드한 이름과 일치하도록 설정하면 됩니다.
예: calendar.sqlite, solar_data.sqlite

🧠 사주를 구성하는 요소는?

기둥구성 요소의미
년주천간 + 지지태어난 해의 기운
월주천간 + 지지해당 달의 절기 기준 기운
일주천간 + 지지해당 날의 기운
시주천간 + 지지태어난 시각의 기운

이 네 가지 기둥을 정확히 구하기 위해, 천간 10개 + 지지 12개를 조합한 60갑자 배열이 필요합니다.
또한 월주와 대운은 달력상의 달이 아닌, 절기 기준(입춘 등)으로 간지가 바뀌므로 절기 정보가 필수입니다.

✨ 마무리

1편에서는 전체적인 구조와 데이터 준비 과정을 정리해봤습니다.

  • 어떤 기술을 사용했는지
  • 어떤 데이터가 필요한지
  • 사주를 어떻게 구성할 수 있는지

다음 글에서는 본격적으로 사주 계산 알고리즘을 PHP로 구현하는 과정을 공유할 예정입니다.
Python에서 사용하던 알고리즘을 PHP로 옮길 때 겪은 시행착오와, 60갑자 순서 문제, 월운 계산에서 간지 오차를 해결한 과정까지 자세히 다룹니다.

📌 다음 편 예고

👉 [2편] 사주 계산 로직 구현하기 – Python 알고리즘을 PHP로 이식

📌 만세력 테스트하러 가기

Beta test 해보기(클릭)

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다