From 17f13aba7bf69d23d06d762d68e78a51c6b61d3a Mon Sep 17 00:00:00 2001 From: forge-bot Date: Mon, 13 Jul 2026 10:57:49 +0000 Subject: [PATCH] =?UTF-8?q?C=20=EC=86=8C=EC=8A=A4=20=EC=9D=B8=EB=B2=A4?= =?UTF-8?q?=ED=86=A0=EB=A6=AC=EC=99=80=20OCR=20=EC=8B=A0=EB=A2=B0=EB=8F=84?= =?UTF-8?q?=20=EC=A0=95=EB=A6=AC=20(codex-bais-final4-20260713-195657-BAIS?= =?UTF-8?q?-SPRING-CTX-001)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bais-spring/c파일-정리-인벤토리.md | 131 ++++++++++++++++++ 1 file changed, 131 insertions(+) create mode 100644 .dev-docs/migration/bais-spring/c파일-정리-인벤토리.md diff --git a/.dev-docs/migration/bais-spring/c파일-정리-인벤토리.md b/.dev-docs/migration/bais-spring/c파일-정리-인벤토리.md new file mode 100644 index 0000000..3db0534 --- /dev/null +++ b/.dev-docs/migration/bais-spring/c파일-정리-인벤토리.md @@ -0,0 +1,131 @@ +# 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 타이머/문자열