C 소스 인벤토리와 OCR 신뢰도 정리 #1
5 changed files with 437 additions and 0 deletions
88
.dev-docs/migration/bais-spring/c파일-정리-OCR-위험-구간.md
Normal file
88
.dev-docs/migration/bais-spring/c파일-정리-OCR-위험-구간.md
Normal file
|
|
@ -0,0 +1,88 @@
|
||||||
|
# OCR 위험 구간 상세 분석
|
||||||
|
|
||||||
|
## 위험 분류 기준
|
||||||
|
|
||||||
|
- **높음**: 수동 리뷰 필수, 자동 전환 불가
|
||||||
|
- **중간**: 샘플 검증 후 전환 가능
|
||||||
|
- **낮음**: 자동 전환 권장
|
||||||
|
|
||||||
|
## 위험 구간 목록
|
||||||
|
|
||||||
|
### 높음 위험 (4개)
|
||||||
|
|
||||||
|
#### 1. api_parser.c - 파서 상태머신
|
||||||
|
```c
|
||||||
|
// 위험 구간: parser_state_t enum 및 상태 전이
|
||||||
|
typedef enum {
|
||||||
|
PARSER_INIT,
|
||||||
|
PARSER_HEADER,
|
||||||
|
PARSER_BODY,
|
||||||
|
PARSER_COMPLETE,
|
||||||
|
PARSER_ERROR
|
||||||
|
} parser_state_t;
|
||||||
|
|
||||||
|
// 위험 구간: 중첩 switch-case
|
||||||
|
switch (state) {
|
||||||
|
case PARSER_HEADER:
|
||||||
|
switch (field_type) {
|
||||||
|
// ...
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
#### 2. db_migrator.c - 스키마 diff 로직
|
||||||
|
```c
|
||||||
|
// 위험 구간: 테이블 비교 알고리즘
|
||||||
|
int compare_columns(column_t* a, column_t* b) {
|
||||||
|
// 복잡한 비교 로직
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
#### 3. net_protocol.c - 프로토콜 상태머신
|
||||||
|
```c
|
||||||
|
// 위험 구간: 바이너리 프로토콜 파싱
|
||||||
|
switch (packet_type) {
|
||||||
|
case PKT_HANDSHAKE:
|
||||||
|
// ...
|
||||||
|
case PKT_DATA:
|
||||||
|
// ...
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
#### 4. utils_string.c - 인코딩 변환
|
||||||
|
```c
|
||||||
|
// 위험 구간: 멀티바이트 문자 처리
|
||||||
|
size_t convert_encoding(char* out, const char* in, enc_t from, enc_t to) {
|
||||||
|
// EUC-KR, UTF-8, ISO-2022-KR 변환
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### 중간 위험 (6개)
|
||||||
|
|
||||||
|
| 파일 | 구간 | 위험 이유 |
|
||||||
|
|------|------|-----------|
|
||||||
|
| api_handler.c | 콜백 레지스트리 | 함수 포인터 배열 초기화 |
|
||||||
|
| api_router.c | 동적 라우트 테이블 | 해시맵 구현체 |
|
||||||
|
| db_query.c | 트랜잭션 처리 | 에러 코드 매핑 |
|
||||||
|
| net_client.c | SSL 핸드셰이크 | OpenSSL 콜백 |
|
||||||
|
| crypto_cipher.c | 키 관리 | 키 파생 함수 |
|
||||||
|
| utils_config.c | 설정 파싱 | 토큰 파싱 로직 |
|
||||||
|
|
||||||
|
### 낮음 위험 (8개)
|
||||||
|
|
||||||
|
| 파일 | 구간 | 비고 |
|
||||||
|
|------|------|------|
|
||||||
|
| api_validator.c | 스키마 검증 | 단순 검증 로직 |
|
||||||
|
| db_connector.c | 연결 풀 관리 | 표준 인터페이스 |
|
||||||
|
| net_server.c | 소켓 옵션 | 표준 소켓 API |
|
||||||
|
| net_buffer.c | 메모리 풀 | 단순 할당 래퍼 |
|
||||||
|
| crypto_hash.c | HMAC 처리 | 표준 OpenSSL |
|
||||||
|
| crypto_random.c | 엔트로피 소스 | 단순 래퍼 |
|
||||||
|
| utils_logger.c | 로그 로테이션 | 표준 파일 I/O |
|
||||||
|
| utils_timer.c | 타이머 큐 | 단순链表 |
|
||||||
|
|
||||||
|
## OCR 리스크 완화 전략
|
||||||
|
|
||||||
|
1. **높음 위험**: 전문 리뷰어 수동 검토, 테스트 케이스 보강
|
||||||
|
2. **중간 위험**: 샘플 입력으로 검증, 커버리지 테스트 작성
|
||||||
|
3. **낮음 위험**: 자동 전환 후 기본 테스트만 수행
|
||||||
68
.dev-docs/migration/bais-spring/c파일-정리-모듈-매핑.md
Normal file
68
.dev-docs/migration/bais-spring/c파일-정리-모듈-매핑.md
Normal file
|
|
@ -0,0 +1,68 @@
|
||||||
|
# C 파일 모듈 매핑
|
||||||
|
|
||||||
|
## 모듈 구조
|
||||||
|
|
||||||
|
```
|
||||||
|
┌──────────────────────────────────────────────────────────────┐
|
||||||
|
│ Application │
|
||||||
|
├──────────────────────────────────────────────────────────────┤
|
||||||
|
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
|
||||||
|
│ │ API │ │ DB │ │ Network │ │ Crypto │ │
|
||||||
|
│ │ Module │ │ Module │ │ Module │ │ Module │ │
|
||||||
|
│ └────┬────┘ └────┬────┘ └────┬────┘ └────┬────┘ │
|
||||||
|
│ │ │ │ │ │
|
||||||
|
│ └────────────┴────────────┴────────────┘ │
|
||||||
|
│ │ │
|
||||||
|
│ ┌─────┴─────┐ │
|
||||||
|
│ │ Utils │ │
|
||||||
|
│ │ Module │ │
|
||||||
|
│ └───────────┘ │
|
||||||
|
└──────────────────────────────────────────────────────────────┘
|
||||||
|
```
|
||||||
|
|
||||||
|
## 의존성 그래프
|
||||||
|
|
||||||
|
```
|
||||||
|
API ─────► DB
|
||||||
|
│ │
|
||||||
|
▼ ▼
|
||||||
|
Utils ◄──────┘
|
||||||
|
|
||||||
|
Network ────► Crypto
|
||||||
|
│
|
||||||
|
▼
|
||||||
|
Utils
|
||||||
|
```
|
||||||
|
|
||||||
|
## 파일별 모듈归属
|
||||||
|
|
||||||
|
| 파일명 | 모듈 | 레이어 |
|
||||||
|
|--------|------|--------|
|
||||||
|
| api_handler.c | API | Application |
|
||||||
|
| api_parser.c | API | Application |
|
||||||
|
| api_validator.c | API | Application |
|
||||||
|
| api_router.c | API | Application |
|
||||||
|
| db_connector.c | DB | Data |
|
||||||
|
| db_query.c | DB | Data |
|
||||||
|
| db_migrator.c | DB | Data |
|
||||||
|
| net_server.c | Network | Infrastructure |
|
||||||
|
| net_client.c | Network | Infrastructure |
|
||||||
|
| net_protocol.c | Network | Infrastructure |
|
||||||
|
| net_buffer.c | Network | Infrastructure |
|
||||||
|
| crypto_hash.c | Crypto | Security |
|
||||||
|
| crypto_cipher.c | Crypto | Security |
|
||||||
|
| crypto_random.c | Crypto | Security |
|
||||||
|
| utils_logger.c | Utils | Common |
|
||||||
|
| utils_config.c | Utils | Common |
|
||||||
|
| utils_timer.c | Utils | Common |
|
||||||
|
| utils_string.c | Utils | Common |
|
||||||
|
|
||||||
|
## 전환 영향도 매트릭스
|
||||||
|
|
||||||
|
| 전환 대상 | 영향받는 모듈 | 영향도 |
|
||||||
|
|-----------|---------------|--------|
|
||||||
|
| API 모듈 전체 | DB, Utils | 높음 |
|
||||||
|
| DB 모듈 전체 | API | 중간 |
|
||||||
|
| Network 모듈 전체 | API, Crypto | 중간 |
|
||||||
|
| Crypto 모듈 전체 | Network | 높음 |
|
||||||
|
| Utils 모듈 전체 | 모든 모듈 | 매우 높음 |
|
||||||
147
.dev-docs/migration/bais-spring/c파일-정리-인벤토리-세부사항.md
Normal file
147
.dev-docs/migration/bais-spring/c파일-정리-인벤토리-세부사항.md
Normal file
|
|
@ -0,0 +1,147 @@
|
||||||
|
# C 파일 상세 분석
|
||||||
|
|
||||||
|
## 파일별 상세 분석
|
||||||
|
|
||||||
|
### api_handler.c
|
||||||
|
- **모듈**: API
|
||||||
|
- **Entry Point**: `handle_api_request(request_t* req, response_t* res)`
|
||||||
|
- **Dependencies**: `api_parser.c`, `api_validator.c`, `api_router.c`
|
||||||
|
- **미캡처 구간**: 콜백 레지스트리 (`callback_registry[]` 배열)
|
||||||
|
- **OCR 위험**: 중간 - 함수 포인터 배열 초기화 부분
|
||||||
|
- **전환 우선순위**: P1
|
||||||
|
|
||||||
|
### api_parser.c
|
||||||
|
- **모듈**: API
|
||||||
|
- **Entry Point**: `parse_api_payload(const char* data, size_t len)`
|
||||||
|
- **Dependencies**: `utils_string.c`
|
||||||
|
- **미캡처 구간**: 파서 상태머신 (`parser_state_t` enum 및 상태 전이)
|
||||||
|
- **OCR 위험**: 높음 - 중첩 switch-case 및 상태 열거형
|
||||||
|
- **전환 우선순위**: P1
|
||||||
|
|
||||||
|
### api_validator.c
|
||||||
|
- **모듈**: API
|
||||||
|
- **Entry Point**: `validate_request(const request_t* req)`
|
||||||
|
- **Dependencies**: `utils_config.c`
|
||||||
|
- **미캡처 구간**: 스키마 검증 로직 (정규식 패턴 매칭)
|
||||||
|
- **OCR 위험**: 낮음 - 비교적 단순한 검증 로직
|
||||||
|
- **전환 우선순위**: P2
|
||||||
|
|
||||||
|
### api_router.c
|
||||||
|
- **모듈**: API
|
||||||
|
- **Entry Point**: `route_request(const request_t* req)`
|
||||||
|
- **Dependencies**: `api_handler.c`
|
||||||
|
- **미캡처 구간**: 동적 라우트 테이블 (`route_table` 해시맵)
|
||||||
|
- **OCR 위험**: 중간 - 라우트 패턴 파싱 로직
|
||||||
|
- **전환 우선순위**: P2
|
||||||
|
|
||||||
|
### db_connector.c
|
||||||
|
- **모듈**: DB
|
||||||
|
- **Entry Point**: `db_connect(const char* conn_str)`
|
||||||
|
- **Dependencies**: `net_client.c` (소켓 사용)
|
||||||
|
- **미캡처 구간**: 연결 풀 관리 (`connection_pool_t`)
|
||||||
|
- **OCR 위험**: 낮음 - 표준 libpq 인터페이스
|
||||||
|
- **전환 우선순위**: P1
|
||||||
|
|
||||||
|
### db_query.c
|
||||||
|
- **모듈**: DB
|
||||||
|
- **Entry Point**: `execute_query(db_conn_t* conn, const char* sql)`
|
||||||
|
- **Dependencies**: `db_connector.c`
|
||||||
|
- **미캡처 구간**: 트랜잭션 처리 (isolation level, savepoint)
|
||||||
|
- **OCR 위험**: 중간 - 에러 코드 매핑 로직
|
||||||
|
- **전환 우선순위**: P1
|
||||||
|
|
||||||
|
### db_migrator.c
|
||||||
|
- **모듈**: DB
|
||||||
|
- **Entry Point**: `run_migration(const char* migration_dir)`
|
||||||
|
- **Dependencies**: `db_query.c`, `utils_logger.c`
|
||||||
|
- **미캡처 구간**: 스키마 diff 로직 (테이블 비교 알고리즘)
|
||||||
|
- **OCR 위험**: 높음 - 복잡한 diff 알고리즘
|
||||||
|
- **전환 우선순위**: P3
|
||||||
|
|
||||||
|
### net_server.c
|
||||||
|
- **모듈**: Network
|
||||||
|
- **Entry Point**: `start_server(uint16_t port)`
|
||||||
|
- **Dependencies**: `net_buffer.c`
|
||||||
|
- **미캡처 구간**: 소켓 옵션 설정 (SO_REUSEADDR 등)
|
||||||
|
- **OCR 위험**: 낮음 - 표준 소켓 API
|
||||||
|
- **전환 우선순위**: P1
|
||||||
|
|
||||||
|
### net_client.c
|
||||||
|
- **모듈**: Network
|
||||||
|
- **Entry Point**: `connect_remote(const char* host, uint16_t port)`
|
||||||
|
- **Dependencies**: `net_buffer.c`, `crypto_cipher.c` (TLS)
|
||||||
|
- **미캡처 구간**: SSL 핸드셰이크 로직
|
||||||
|
- **OCR 위험**: 중간 - OpenSSL 콜백 인터페이스
|
||||||
|
- **전환 우선순위**: P2
|
||||||
|
|
||||||
|
### net_protocol.c
|
||||||
|
- **모듈**: Network
|
||||||
|
- **Entry Point**: `process_packet(buffer_t* buf)`
|
||||||
|
- **Dependencies**: `net_buffer.c`
|
||||||
|
- **미캡처 구간**: 프로토콜 상태머신 (패킷 파싱 상태 전이)
|
||||||
|
- **OCR 위험**: 높음 - 바이너리 프로토콜 파싱
|
||||||
|
- **전환 우선순위**: P2
|
||||||
|
|
||||||
|
### net_buffer.c
|
||||||
|
- **모듈**: Network
|
||||||
|
- **Entry Point**: `alloc_buffer(size_t size)`
|
||||||
|
- **Dependencies**: 없음
|
||||||
|
- **미캡처 구간**: 메모리 풀 (`buffer_pool_t`)
|
||||||
|
- **OCR 위험**: 낮음 - 단순 메모리 할당 래퍼
|
||||||
|
- **전환 우선순위**: P3
|
||||||
|
|
||||||
|
### crypto_hash.c
|
||||||
|
- **모듈**: Crypto
|
||||||
|
- **Entry Point**: `compute_hash(const void* data, size_t len, hash_algo_t algo)`
|
||||||
|
- **Dependencies**: 없음
|
||||||
|
- **미캡처 구간**: HMAC 처리 (키 확장 로직)
|
||||||
|
- **OCR 위험**: 낮음 - 표준 OpenSSL 인터페이스
|
||||||
|
- **전환 우선순위**: P1
|
||||||
|
|
||||||
|
### crypto_cipher.c
|
||||||
|
- **모듈**: Crypto
|
||||||
|
- **Entry Point**: `encrypt_data(const void* key, const void* iv, const void* data)`
|
||||||
|
- **Dependencies**: `crypto_random.c`
|
||||||
|
- **미캡처 구간**: 키 관리 (키 롤링, 스토어)
|
||||||
|
- **OCR 위험**: 중간 - 키 파생 함수
|
||||||
|
- **전환 우선순위**: P2
|
||||||
|
|
||||||
|
### crypto_random.c
|
||||||
|
- **모듈**: Crypto
|
||||||
|
- **Entry Point**: `generate_random(void* buf, size_t len)`
|
||||||
|
- **Dependencies**: 없음
|
||||||
|
- **미캡처 구간**: 엔트로피 소스 (`/dev/urandom` fallback)
|
||||||
|
- **OCR 위험**: 낮음 - 단순 래퍼 함수
|
||||||
|
- **전환 우선순위**: P3
|
||||||
|
|
||||||
|
### utils_logger.c
|
||||||
|
- **모듈**: Utils
|
||||||
|
- **Entry Point**: `log_message(log_level_t level, const char* fmt, ...)`
|
||||||
|
- **Dependencies**: `utils_string.c`
|
||||||
|
- **미캡처 구간**: 로그 로테이션 (파일 크기 기반)
|
||||||
|
- **OCR 위험**: 낮음 - 표준 파일 I/O
|
||||||
|
- **전환 우선순위**: P2
|
||||||
|
|
||||||
|
### utils_config.c
|
||||||
|
- **모듈**: Utils
|
||||||
|
- **Entry Point**: `load_config(const char* path)`
|
||||||
|
- **Dependencies**: `utils_string.c`
|
||||||
|
- **미캡처 구간**: 설정 파싱 (INI/JSON 섹션 처리)
|
||||||
|
- **OCR 위험**: 중간 - 토큰 파싱 로직
|
||||||
|
- **전환 우선순위**: P2
|
||||||
|
|
||||||
|
### utils_timer.c
|
||||||
|
- **모듈**: Utils
|
||||||
|
- **Entry Point**: `start_timer(uint32_t ms, timer_callback_t cb)`
|
||||||
|
- **Dependencies**: 없음
|
||||||
|
- **미캡처 구간**: 타이머 큐 (우선순위 큐 구현)
|
||||||
|
- **OCR 위험**: 낮음 - 단순链表 기반
|
||||||
|
- **전환 우선순위**: P3
|
||||||
|
|
||||||
|
### utils_string.c
|
||||||
|
- **모듈**: Utils
|
||||||
|
- **Entry Point**: `string_utils(const char* op, char* dest, const char* src)`
|
||||||
|
- **Dependencies**: 없음
|
||||||
|
- **미캡처 구간**: 인코딩 변환 (UTF-8, EUC-KR, ISO-2022-KR)
|
||||||
|
- **OCR 위험**: 높음 - 멀티바이트 문자 처리
|
||||||
|
- **전환 우선순위**: P3
|
||||||
131
.dev-docs/migration/bais-spring/c파일-정리-인벤토리.md
Normal file
131
.dev-docs/migration/bais-spring/c파일-정리-인벤토리.md
Normal file
|
|
@ -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 타이머/문자열
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
# codex-bais-final4-20260713-195657-BAIS-SPRING-CTX-001-attempt-1-run-374d0c84ac09
|
||||||
|
|
||||||
|
Forge 이슈 작업 브랜치 `forge/codex-bais-final4-20260713-195657-BAIS-SPRING-CTX-001-attempt-1-run-374d0c84ac09`.
|
||||||
Loading…
Add table
Add a link
Reference in a new issue