← 목록
기타 2026-04-25 8KB 읽기 9분

크라우니라이프OS 한선씨화 — Phase 0~5 완료

날짜: 2026-04-25

개요

크라우니라이프OS를 위해 전체 코드를 한선씨화하는 대규모 전환 작업의 첫 3단계 완료. 160개 라이브러리 + 388개 앱 기반 위에 컴파일러 강화 + 서버 프레임워크 + 게이트웨이 전환.

Phase 0: 컴파일러 문자열 보간 (완료)

파일: /Users/ef/CrownyOS/crownyc/hanseonc_high.c

  • "${변수}" 문자열 보간 구문 추가
  • preprocess_interpolation() 전처리기로 구현 (소스 레벨 변환)
  • \${으로 이스케이프, 중첩 표현식 지원
  • 모든 기존 코드 하위호환 유지
영향: JS→한선씨 변환 시 + 지옥 해소. 코드 가독성 대폭 향상.

Phase 1: 서버 추상화 라이브러리 (완료)

새 라이브러리:

  • libs/HTTP서버.한선 (292줄) — TCP 기반 HTTP/1.1 서버 프레임워크
  • 요청/응답 객체, 라우터 통합, CORS, 정적파일 서빙
  • 서버생성(), 서버GET(), 서버시작(), 응답JSON(), 응답HTML()
  • libs/미들웨어체인.한선 (136줄) — 조합 가능한 미들웨어 파이프라인
  • CORS, 속도제한, 로깅, 보안 헤더 미들웨어 내장
  • 영향: 모든 서버(gateway/int/mind/church/doc) 한선씨화의 기반.

    Phase 2: crowny-gateway 한선씨 전환 (완료)

    새 파일:

    • lib/트라이던트.한선 (372줄) — FlameCache LRU + WaveTrie + 3진 헬스체커 + 응답캐시
    • lib/게이트웨이.한선 (212줄) — 메인 서버 + 서비스 등록 + 프록시 디스패치 + Admin API
    • lib/프록시.한선 (102줄) — HTTP 포워딩 + 헤더 변환 + 정적파일
    • lib/게이트웨이_테스트.한선 — 통합 테스트 (라우팅/헬스/캐시 전부 통과)
    추가 수정:
    • libs/라우터.한선 — 예약어 메서드방식 수정
    • libs/미들웨어.한선 — 동일 수정
    • apps/ 디렉토리의 섀도잉 라이브러리 복사본 7개 제거

    실전 앱

    • apps/크라우니라이프서버.한선 (91줄) — CrownyLifeOS 포탈 서버 (문자열보간 + HTTP서버 프레임워크 활용)

    총 신규 코드 (Phase 0~3 누적)

    • 2,309줄 한선씨 코드 (Phase 0~2: 1,205줄 + Phase 3: 1,104줄)
    • 컴파일러 C 코드 약 70줄 (문자열 보간 전처리기)
    • 기존 5개 한선씨 파일 컴파일 오류 수정

    Phase 3: 서비스 5종 서버 한선씨화 (완료)

    crowny-hub (3 JS → 3 한선씨, 신규)

  • lib/허브.한선 (453줄) — 커밋/스냅샷/레지스트리/인수인계/Blob GC
  • SHA256 해시 기반 스냅샷, JSON 파일 영속, 서비스 자동 발견
  • lib/웹.한선 (215줄) — HTTP API + HTML 대시보드
  • /api/timeline, /api/services, /api/handovers, /api/log/:service
  • bin/CLI.한선 (213줄) — CLI 인터페이스
  • commit, log, status, services, handover, context, commit-all, gc, web
  • crowny-infra (1 JS → 1 한선씨, 신규)

    • bin/CLI.한선 (223줄) — status/scan/tiers/monitor/watchdog/up/down

    기존 파일 수정 (컴파일 오류 해결)

    • crowny-int/server.한선 — 엔진 4개 import 추가 (경로 순서 해결)
    • crowny-int/긴급경보서버.한선메서드 예약어 → 방식 수정
    • crowny-mind/server.한선 — 엔진 4개 import 추가
    • crowny-mind/마인드서버.한선메서드 예약어 → 방식 수정
    • crowny-infra/lib/infra.한선${ 보간 충돌 이스케이프

    총 신규 코드

    • 1,104줄 한선씨 (허브 881줄 + 인프라 CLI 223줄)
    • 기존 5개 파일 컴파일 오류 수정

    Phase 4: CrownyDoc 한선씨화 (완료)

    server-docs.js(1876줄) + 94 TS 소스 → 24 한선씨 파일, 7,819줄. 전부 컴파일 통과.

    서버 (4파일, 1,577줄)

    • lib/인증.한선 (134줄) — SHA256 비밀번호, 쿠키 세션, 회원가입/로그인
    • lib/셀엔진.한선 (445줄) — 4상 인식론 셀/시냅스/타임라인 엔진
    • lib/문서.한선 (302줄) — 프론트매터 YAML, 마크다운, 명령 패턴 8종
    • 서버.한선 (696줄) — HTTP 서버 (포트 4101), REST API 22종, 정적파일, SPA

    core (13파일, 4,521줄)

    • cell.한선 (327), knowledge.한선 (252), synapse.한선 (65)
    • graph.한선 (585), phase.한선 (144), contradictionDetector.한선 (275)
    • autoEvidence.한선 (251), cellContent.한선 (154)
    • documentDNA.한선 (494), empathyMap.한선 (416), cellAlchemy.한선 (758)
    • smartTemplate.한선 (545), synapticPlasticity.한선 (253)

    fileio (4파일, 944줄)

    • crwdoc.한선 (239), exportMarkdown.한선 (285)
    • fileManager.한선 (205), importCsv.한선 (215)

    cdf (3파일, 779줄)

    • cdfFormat.한선 (284), cdfPermissions.한선 (172), cdfRollback.한선 (323)

    발견한 예약어/함정 (Phase 4에서 학습)

    • 다음 = NEXT opcode 307 예약어 → 변수명/continue 대체 필요 (건너뜀 플래그 패턴)
    • 오류 = TOK_CATCH 예약어 → 매개변수명으로 사용 불가
    • 모르면 = 3값 논리 키워드 → 값 비교/분기에 혼용 금지
    • 함수명은 숫자로 시작 불가 (16진수변환헥스변환)
    • SHA256 (내장), JSON생성/JSON파싱/JSON키목록 (JSON.한선)

    Phase 5: crowny-church 한선씨화 (완료)

    server/index.js(1409줄) + 97 TS/TSX → 102 한선씨 파일, 14,018줄. 전부 컴파일 통과.

    서버 (3파일, 1,113줄)

    • server/교회서버_전체.한선 (713줄) — 60+ API 라우트 완전 대응
    • server/index.한선 (187줄), 교회서버.한선 (213줄) — 기존 간략판

    lib/ 데이터 (14파일)

    • 교회데이터 7종 (기쁨/하늘숲/수영로/등대/임마누엘/은평/기본)
    • 교회후보(156개 교회), 교회후보_확장(296개), 성경(66권), 일일말씀, 설교데이터, 예배데이터, 교회영상

    lib/ 로직 (14파일)

    • 교회리졸버, 교회스크리닝, 교회그룹, 새가족, 교회테마, 크라우니서비스
    • 플랫폼데이터, 퀴즈, 선교, 사역패턴, 라우터, 저장소, 교회내비, 모바일

    portal 페이지 (16파일 → HTML 생성)

    • 홈, 메인, 랜딩, 설교, 예배, 커뮤니티, 헌금, 소개, 팀, 다음세대, 찬양, 악보대, 메신저, 시청, 선교페이지, 긍휼

    platform 페이지 (17파일), my (5파일), admin (10파일), components (12파일)

    발견한 VM 한계/패턴

    • 순수 데이터 파일에서 가져오기 "JSON.한선" 제거 필수 (string pool 선점)
    • 대형 파일(19K+ cubes)은 tick 한계로 main block 실행 안 됨
    • 선택 키워드 예약어 → 변수명 불가
    • 부동소수점 리터럴 오버플로우 → 정수 산술 대체

    총 누적 코드

    Phase줄 수파일 수
    0~21,2057
    31,1044
    47,81924
    514,018102
    합계24,146137

    남은 작업 (Phase 6)

    Phase내용규모
    6160개 라이브러리 전수 컴파일 검증품질 보증

    관련 파일 경로

    Phase 0~2

    • 컴파일러: /Users/ef/CrownyOS/crownyc/hanseonc_high.c
    • HTTP서버: /Users/ef/CrownyOS/crownyc/libs/HTTP서버.한선
    • 미들웨어체인: /Users/ef/CrownyOS/crownyc/libs/미들웨어체인.한선
    • 트라이던트: /Users/ef/crowny-gateway/lib/트라이던트.한선
    • 게이트웨이: /Users/ef/crowny-gateway/lib/게이트웨이.한선
    • 프록시: /Users/ef/crowny-gateway/lib/프록시.한선
    • 라이프서버: /Users/ef/CrownyOS/apps/크라우니라이프서버.한선

    Phase 3

    • 허브: /Users/ef/crowny-hub/lib/허브.한선
    • 웹: /Users/ef/crowny-hub/lib/웹.한선
    • Hub CLI: /Users/ef/crowny-hub/bin/CLI.한선
    • Infra CLI: /Users/ef/crowny-infra/bin/CLI.한선

    Phase 4

    • 서버: /Users/ef/CrownyDoc/서버.한선, lib/{인증,셀엔진,문서}.한선
    • core 13종: /Users/ef/CrownyDoc/src/core/*.한선
    • fileio 4종: /Users/ef/CrownyDoc/src/fileio/*.한선
    • cdf 3종: /Users/ef/CrownyDoc/src/cdf/*.한선

    Phase 5

    • 서버: /Users/ef/crowny-church/server/교회서버_전체.한선
    • lib/ 50종: /Users/ef/crowny-church/hanseon/*.한선
    • portal 16종: /Users/ef/crowny-church/hanseon/페이지/*.한선
    • platform 17종: /Users/ef/crowny-church/hanseon/플랫폼/*.한선
    • my 5종: /Users/ef/crowny-church/hanseon/마이/*.한선
    • admin 10종: /Users/ef/crowny-church/hanseon/관리/*.한선