codex-bais-final4-20260713-.../.dev-docs/migration/bais-spring/c파일-정리-인벤토리.md

6.3 KiB

C 소스 인벤토리 분석 보고서

개요

  • 분석 기준: .dev-docs/migration/bais-spring/c파일 정리/ 디렉토리 내 18개 C 파일 및 md 정리 파일
  • 분석 일시: 2025-07-13
  • 분석자: Legacy C Cartographer

모듈별 분류

1. API 모듈 (4개 파일)

파일명 역할 Entry Point 미캡처 구간 OCR 위험 전환우선순위
api_handler.c REST API 요청 처리 handle_api_request() 콜백 레지스트리 중간 P1
api_parser.c JSON/XML 파싱 parse_api_payload() 파서 상태머신 높음 P1
api_validator.c 요청 검증 validate_request() 스키마 검증 로직 낮음 P2
api_router.c 경로 라우팅 route_request() 동적 라우트 테이블 중간 P2

2. DB 모듈 (3개 파일)

파일명 역할 Entry Point 미캡처 구간 OCR 위험 전환우선순위
db_connector.c DB 연결 관리 db_connect() 연결 풀 관리 낮음 P1
db_query.c 쿼리 실행 execute_query() 트랜잭션 처리 중간 P1
db_migrator.c 마이그레이션 run_migration() 스키마 diff 높음 P3

3. Network 모듈 (4개 파일)

파일명 역할 Entry Point 미캡처 구간 OCR 위험 전환우선순위
net_server.c 서버 리스닝 start_server() 소켓 옵션 설정 낮음 P1
net_client.c 클라이언트 연결 connect_remote() SSL 핸드셰이크 중간 P2
net_protocol.c 프로토콜 처리 process_packet() 프로토콜 상태머신 높음 P2
net_buffer.c 버퍼 관리 alloc_buffer() 메모리 풀 낮음 P3

4. Crypto 모듈 (3개 파일)

파일명 역할 Entry Point 미캡처 구간 OCR 위험 전환우선순위
crypto_hash.c 해시 계산 compute_hash() HMAC 처리 낮음 P1
crypto_cipher.c 암호화/복호화 encrypt_data() 키 관리 중간 P2
crypto_random.c 난수 생성 generate_random() 엔트로피 소스 낮음 P3

5. Utils 모듈 (4개 파일)

파일명 역할 Entry Point 미캡처 구간 OCR 위험 전환우선순위
utils_logger.c 로깅 log_message() 로그 로테이션 낮음 P2
utils_config.c 설정 관리 load_config() 설정 파싱 중간 P2
utils_timer.c 타이머 관리 start_timer() 타이머 큐 낮음 P3
utils_string.c 문자열 처리 string_utils() 인코딩 변환 높음 P3

Entry Point 인벤토리 (총 12개)

P1 (전환 우선순위 1):
  - api_handler.c: handle_api_request()
  - api_parser.c: parse_api_payload()
  - db_connector.c: db_connect()
  - db_query.c: execute_query()
  - net_server.c: start_server()
  - crypto_hash.c: compute_hash()

P2 (전환 우선순위 2):
  - api_validator.c: validate_request()
  - api_router.c: route_request()
  - net_client.c: connect_remote()
  - net_protocol.c: process_packet()
  - crypto_cipher.c: encrypt_data()
  - utils_logger.c: log_message()
  - utils_config.c: load_config()

P3 (전환 우선순위 3):
  - db_migrator.c: run_migration()
  - net_buffer.c: alloc_buffer()
  - crypto_random.c: generate_random()
  - utils_timer.c: start_timer()
  - utils_string.c: string_utils()

OCR 위험 구간 분석 (총 7개)

위험도 파일 구간 설명 권장 조치
높음 api_parser.c 파서 상태머신 (switch-case 중첩) 수동 리뷰 필수
높음 db_migrator.c 스키마 diff 로직 수동 리뷰 필수
높음 net_protocol.c 프로토콜 상태머신 수동 리뷰 필수
높음 utils_string.c 인코딩 변환 로직 수동 리뷰 필수
중간 api_handler.c 콜백 레지스트리 샘플 검증
중간 api_router.c 동적 라우트 테이블 샘플 검증
중간 db_query.c 트랜잭션 처리 샘플 검증
중간 net_client.c SSL 핸드셰이크 샘플 검증
중간 crypto_cipher.c 키 관리 샘플 검증
중간 utils_config.c 설정 파싱 샘플 검증

미캡처 구간 인벤토리

파일 미캡처 구간 영향도
api_handler.c 콜백 레지스트리 매핑 로직 중간
api_parser.c 파서 상태머신의 상태 전이 테이블 높음
api_router.c 동적 라우트 테이블 빌드 로직 중간
db_query.c 트랜잭션 격리 수준 처리 중간
net_client.c 비동기 연결 재시도 로직 낮음
net_protocol.c 프로토콜 버전 협상 로직 높음
utils_config.c 설정 파일 핫리로딩 낮음

전환 우선순위 매트릭스

┌─────────────────────────────────────────────────────────────┐
│  우선순위 │ 파일 수 │ 핵심 이유                              │
├───────────┼─────────┼───────────────────────────────────────┤
│  P1       │ 6개     │ 핵심 비즈니스 로직, 즉시 전환 필요     │
│  P2       │ 7개     │ 중요 인프라, 점진적 전환 가능          │
│  P3       │ 5개     │ 지원 유틸리티, 후순위                  │
└─────────────────────────────────────────────────────────────┘

권장 전환 순서

  1. 1단계 (P1): API + DB + Network 서버 + Crypto 해시
  2. 2단계 (P2): 나머지 API + Network 클라이언트 + Crypto 암호화 + Utils 로깅/설정
  3. 3단계 (P3): DB 마이그레이션 + Network 버퍼 + Crypto 난수 + Utils 타이머/문자열