IMPLEMENTATION NOTES / HONEST BY DESIGN

작동하는 범위와
검증의 경계를 함께 남깁니다.

2026년 10월 30일 기준. 프로젝트 당시 경험과 이번 웹 확장, 실제 서버에서 확인한 결과를 구분합니다.

서버 없이도 읽을 수 있는 포트폴리오

Cloudflare Pages의 정적 소개·다섯 프로젝트·문제 해결 기록과 CLIPEDU 개념 지도는 AI 서버와 별개입니다. Watchers의 합성 영상·프레임 추출·라벨 검수·CVAT ZIP, Bit-Hive의 가상 거래·커뮤니티는 브라우저 체험입니다.

새싹톡의 기존 정답·점수와 문장 조작은 브라우저에서 처리하지만, 새 문제·문장·끝말잇기 응답은 실제 AI API를 요청합니다. 별도로 선택하는 로컬 문제은행과 면접 규칙 연습은 서버 없이 사용할 수 있습니다. 서버 실패를 로컬 성공으로 자동 대체하지 않습니다.

공개 API에서 확인한 상태

youngjoong.dev의 공개 웹사이트와 api.youngjoong.dev의 외부 HTTPS 연결을 확인했습니다. /health는 API 프로세스 생존을, /ready의 ai_ready는 Ollama 연결·모델 설치를 확인합니다. inference_checked=false는 실제 추론을 검사하지 않았다는 의미입니다.

초기 검사에서 면접 첫 답변이 503이었으나, 2026-10-30 후속 검사에서는 합성 답변의 2문항 면접·후속 질문·보고서·종료가 성공했습니다. 게임·SSE의 실제 추론 검증은 남아 있습니다. 서버의 마지막 재시작·배포 커밋과 Windows 자동 실행은 별도 확인이 필요합니다.

실제 AI 면접의 연결 방식

질문 생성·시작·답변·상태·종료·보고서·독립 평가를 최신 서버 계약에 맞춰 연결했습니다. 서버의 세션 ID와 revision으로 진행하며, 중단된 답변은 상태 조회 뒤 이어갑니다. 고정 점수나 후속 질문을 AI 응답으로 만들지 않습니다.

fetch SSE는 서버의 mode·start·token·done·error·request_id를 읽습니다. UTF-8과 이벤트 경계가 청크에 나뉘어도 처리하며 전체 대기 여유는 165초입니다. 오류나 done 없는 종료는 미완료입니다. 부분 텍스트는 종합 보고서로 저장하지 않습니다.

체험권과 서버 자원

공용 체험권은 발급부터 절대 1시간이며 최대 5개 세션이 함께 이용합니다. 면접·챗봇·새싹톡은 요청과 AI 호출 예산을 공유합니다. 기본 2문항 면접은 보고서까지 모델 호출 5회가 필요합니다. 다른 기능을 먼저 쓰면 예산이 부족할 수 있습니다.

사용량은 서버 응답만 표시합니다. 게임의 차례별 제한 시간은 제거했지만 체험권 만료·서버 Timeout·공유 대기열·사용량 한도는 유지합니다. 실패·취소한 호출도 차감될 수 있으며 자동 재발급·자동 재시도로 우회하지 않습니다.

입력과 출력의 보안 경계

모델 출력은 React 텍스트로 표시합니다. raw HTML·원격 이미지·자동 링크 미리보기를 실행하지 않습니다. 장기 비밀키는 브라우저에 두지 않으며 쿠키를 자동 전송하지 않습니다.

공용 Bearer는 같은 탭의 sessionStorage에 보관됩니다. 유효 토큰이 XSS나 악성 확장에 탈취되면 만료·서버 취소 전까지 재사용될 위험이 남아 있습니다. CORS나 Tunnel이 이를 해결하지 않습니다. 쿠키·BFF 전환은 서버 취소·CSRF 등을 포함한 공동 설계가 필요합니다.

면접 답변·파일·설정은 현재 화면 메모리에만 둡니다. JSON 보고서는 서버의 완료된 질문·답변·평가로 브라우저에서 생성하며, 다운로드 파일에는 입력 원문이 포함됩니다. 점수는 학습용 모델 추정치입니다.

공개 범위와 남은 확인

CLIPEDU는 기존 기반과 본인 확장 영역을 구분한 아키텍처·익명화된 사례만 제공합니다. 사내 서비스 화면·고객 정보·내부 API·식별자는 공개하지 않습니다. PDF의 과거 지표와 이번 체험의 합성 결과를 혼합하지 않습니다.

실제 면접 답변 실패 해결 후 전체 흐름·게임·SSE를 다시 확인해야 합니다. Windows 로그인 없는 자동 실행과 자정 종료·Cloudflare 계정 정책은 서버 PC 담당 확인 사항입니다. 목표 운영 시간은 한국시간 07:00~24:00이며 정적 사이트는 별도로 제공됩니다.

INTERACTIVE FIELD NOTE교육용 모델 · 서버 요청 없음

한 번의 요청,
다섯 개의 경계.

같은 요청도 조건이 달라지면 다른 지점에서 멈춥니다. 입력을 바꾸고 각 경계의 역할을 살펴보세요.

이 모델은 개념을 설명합니다. 실제 FastAPI의 보안 구현과 검증은 구현 노트에서 확인할 수 있습니다.

실제 적용한 보안 살펴보기 ↗
  1. 01
    요청 제한RATE LIMIT
  2. 02
    토큰 검증AUTHENTICATION
  3. 03
    역할 검사AUTHORIZATION
  4. 04
    입력 검증VALIDATION
  5. 05
    응답RESPONSE
EXPLORING BOUNDARY01

처리 비용이 커지기 전에 요청 횟수와 허용량을 확인합니다.