수치·웹 S급 잔여 로직버그 정리 (P5)
개요
재측정_P4_최종.md가 명시한 두 도메인의 유일 잔여 갭(수치-과학의 보간법,
웹-응용프로토콜의 HTTP chunked 전송인코딩)을 재현→수정→표준대조 검증까지
완료. t검정은 이미 P3에서 정상 재배선되어 있음을 재확인(코드 변경 없음).
무엇을 했는지
1. 보간법(라그랑주/뉴턴) — libs/보간.한선
- 재현: 라그랑주보간이 항상 0 반환(변수 결과=0 bare int 초기값 + float 항을
- 수정: 두 함수 모두 순수 float로 전면 재작성.
수학.한선의실수합_*
* 1.0으로 float 승격.
- 검증: 6개 케이스(포물선/3차식/비정수 x 등) 전부 독립 Python Lagrange
2. t검정 — libs/통계분석.한선 (변경 없음, 재확인만)
- psv 문서상 "평균()/분산() 버그 상속"으로 기록돼 있었으나, 실제로는 이미
표본평균()/모표준편차()(실수합_* + 실수제곱근 기반)로 재배선
완료된 상태였음. 두 개의 서로 다른 표본 조합으로 Python 독립 재계산 대조
→ 완전 일치 확인. 코드 수정 불필요.3. HTTP chunked 전송 인코딩 — libs/네트워크.한선 (신규)
- 신규 함수 6개:
_청크16진,_청크16진파싱,HTTP청크인코드,HTTP청크종료,
HTTP청크헤더, HTTP청크전송(+ 자체 디코더 HTTP청크디코드, ASCII/자체생성
청크 한정 안전).
- 십육진 자릿수 추출은
절단나눗셈/절단나머지(opcode 738, 트렁케이션)로
/·%의 균형3진 자연반올림 함정 회피.
- 함정 발견: 첫 테스트에서
소켓생성/소켓수락(slot 계열)로 얻은 fd를
TCP쓰기 기반 HTTP청크전송에 넘기니 curl은 "Empty reply", 서버 자신의
stdout에 응답이 통째로 출력되는 현상 발견 — TCP_WRITE가 raw fd로 가정하고
바로 write()하는데 slot 계열 fd가 우연히 낮은 정수(stdout과 충돌)라 발생.
TCP대기/TCP수락(raw fd 계열)로 교체해 해결 (기존 웹소켓 TRAP-CONFIRMED
함정과 동일 계열).
- 검증: 라이브 TCP 서버(한/영 혼합 UTF-8, 3760바이트, 9청크) → curl로
curl --raw로 원시 와이어 캡처 후 Python으로 직접 파싱해 9개
청크 전부 hex 크기=실제 데이터 길이 일치 + 매 청크 CRLF 정확 + 종료청크
정확 — 이중 독립 검증 통과.회귀 확인
tests/run_all.sh — 수정 전/후 동일하게 99/107 통과(8개 실패는 전부
본 작업과 무관한 기존 실패). 신규 회귀 없음.
관련 파일
/Users/ef/CrownyOS/crownyc/libs/보간.한선(라그랑주보간/뉴턴차분/뉴턴보간
pkg/libs/보간.한선 자동 동기)
/Users/ef/CrownyOS/crownyc/libs/네트워크.한선(chunked 함수 6개 신규,
pkg/libs/네트워크.한선 자동 동기)
/Users/ef/CrownyOS/crownyc/libs/통계분석.한선(변경 없음, 재확인만)- 검증 로그:
/Users/ef/CrownyOS/crownyc/docs/한선씨-P5-20260710/수치웹_검증.md - 근거 문서:
/Users/ef/CrownyOS/docs/한선씨-P4보완-20260710/재측정_P4_최종.md - 데모 서버(임시):
/private/tmp/claude-501/-Users-ef/75958a3d-340c-4503-b5cb-7ff1ab34a93b/scratchpad/p5test/chunk_demo_server.한선 - 크라우니코드 학습:
라그랑주보간_float재작성,뉴턴차분_뉴턴보간_float재작성,
HTTP청크전송_chunked인코딩 3건 등록 (~/.claude/scripts/crownycode-learn.sh)잔여 이슈
HTTP청크디코드는 문자(UTF-8) 인덱스 기반 슬라이스라 자체 생성한 청크
바이트수() 헤더 주석과
동일한 기존 한계, 이번 작업 범위 밖).
- 웹-응용프로토콜 과제 "gzip+chunked"는 이제 두 축 모두 구현됨 — 다음 재측정