요즘 제가 블로그 글을 너무 안올렸죠? ^^;
주말에 일본 여행 가느라 할 게 너무 많아져서 어쩔 수 없었습니다 ㅠ 그래도 최대한 열심히 올리게욘
9월 14일 (일요일)에 공부했던 내용 정리했습니다. 14일인데 왜 17일 새벽에 올리냐구요?
그 때 바 로 정 리 안 해 서 그 럼
graphics
색상 표현
- RGB
- HSV : Hue, Saturation, Value (색상, 채도, 명도)
- RGB는 사람이 색상을 직관적으로 인식하기 어려워서 대안으로 HSV

PPM(Portable PixMap)
- 컬러 이미지를 표현하는 비트맵 파일 포맷
- 텍스트 기반으로 이미지 정보를 저장 → 사람이 직접 읽고 수정(디버깅) 가능
- 이미지 정보 생성 후 JPG, PNG 포맷으로 변환되기 전 데이터 저장 및 정보 전달을 위한 중간 파일로 사용
- 주석 접두사 :
#
- 파일 내용: Header + Data 구성
- h1 : P3 혹은 P6 으로 ASCII texte나 binary를 나타냄
- h2 : width height
- h3 : r, g, b 색상의 최댓값
- data : 각 필셀마다 r g b 값을 width x height 만큼 나열 (공백으로 구분)
- 공백은 스페이스 줄바꿈 등 자유롭게 사용
- 기하 도형
- c로 시작하면 원을 나타내며, 원 중심 좌표 cx, cy, 원 반지름 radius, 색상 R, G, B
- b로 시작하면 축에 평행한 박스를 나타내며, 박스를 구성하는 최소점 x1, y1과 최대점 x2, y2, 색상 R, G, B
1000 1000
-1 1 -1 1
b -0.9 -0.9 -0.8 -0.7 100 123 200
b -0.5 -0.9 0.3 -0.7 200 144 3
b 0.35 -0.9 0.8 -0.6 0 255 255
b -0.85 -0.4 -0.75 0 255 255 0
b 0.7 0.4 0.95 0.95 255 255 200
c -0.2 -0.2 0.4 255 0 255
c 0.35 -0.2 0.1 212 111 56
c 0.65 0.15 0.15 12 234 200
c -0.6 0.6 0.4 100 100 100
c 0.15 0.55 0.25 150 200 180
위와 같이 하면 결과물은 아래와 같습니다

코드 리뷰 후 정리한 내용
- 목업 데이터로 ui 확인하는 단계에서도 code별 mock mapping을 두거나 지원하지 않는 code는 별도로 처리해두면 실제 API 연동 전에도 화면 흐름을 정확하게 확인할 수 있음 (목업 단계에서도 라우팅 흐름 따라가게 만들어두기
- RequestValidationError(422), HTTPException(404 등), 미처리 Exception(500) 에러 등 에러 타입에 대한 핸들러 추가
- code 필드(STOCK_NOT_FOUND, VALIDATION_ERROR 등)가 고정돼 있으면 로그에서 특정 실패 유형만 grep하거나 모니터링 규칙을 걸기 쉬워짐
- 원본 예외 메시지(DB 에러 문구, 스택트레이스 등)를 클라이언트에 그대로 내려주지 않고 관리할 수 있다는 점에서 정보 노출도 막을 수 있음
- 에러 형식 관리는 에러를 낼 수 있는 계층이 공통적으로 참조하는 곳에서 관리하면 좋음
- 동기 에러 처리 vs 폴링 방식
- 동기식 : 요청 하나 처리하는 도중 예외 발생 → 같은 요청 흐름 안에서 handler가 잡아서 상태코드 포함된 응답으로 바로 돌려줌
- 폴링 방식 : 최초 요청은 202로 바로 끝나고, 실패는 별도 폴링 요청(GET /api/reports/{jobId})의 응답 바디 안 상태 필드로 알게 됨
- 폴링 방식이란 ? 주기적으로 확인하여 조건이 맞을 때 데이터를 주고받는 통신 및 처리 기법
- AI 파이프라인 설계는 완성된 구조를 한 번에 정하려고 하기보다, 말씀하신 것처럼 먼저 시스템 프롬프트만으로 baseline을 만들어보면서 정하는 것도 좋음
- 모델이 자유롭게 만들어낸 "사고 과정" 자체를 그대로 파이프라인으로 옮기기보다는, 그 실험을 통해 어떤 정보가 필요했고 어떤 판단 지점이 있었는지를 뽑아내는 용도로 사용
- 출력에 대해서도 단순 자연어 말고 구조화된 값으로 반환하면 어떤 path/tool을 선택했는지를 확인할 수 있어서 좋음
- 몇 개의 고정 시나리오를 만들어서 어떤 실행 경로를 선택했는지부터 검증하는 것도 좋음