피드로 돌아가기
Dev.toBackend
원문 읽기
RFC 2324 표준 기반의 관료주의적 커피 머신 서버 구현 기록
Depresso-Tron 418: I Built a Bureaucratic Coffee Machine That Cannot Make Coffee
AI 요약
Context
HTTP 기반 커피 포트 제어 프로토콜인 RFC 2324의 기술적 구현. 단순한 기능 제공이 아닌 의도적인 복잡성과 관료적 절차를 통한 사용자 경험 설계. AI를 활용한 조건부 승인 체계 구축.
Technical Solution
- Go 1.25와 net/http 기반의 RFC 2324 준수 HTCPCP 서버 설계
- HTMX 2.0.4와 SSE(Server-Sent Events)를 결합한 실시간 브루잉 상태 스트리밍 구조
- Gemini-2.5-flash 모델을 활용하여 원두 품질을 검증하고 거절 횟수에 따라 응답 형식을 iambic pentameter로 변경하는 동적 프롬프트 전략
- CGO 없는 pure Go 구현을 위해 modernc.org/sqlite 라이브러리를 채택하고 //go:embed를 통해 모든 정적 자원을 바이너리에 내장한 단일 파일 배포 방식
- 클라이언트 사이드에서 SHA-256 해시 충돌(nonce N)을 찾는 Proof-of-Work 로직을 구현하여 의도적인 CPU 부하 생성
- 세션별 API Key 입력을 강제하여 서버 측 쿼터 소모를 방지하고 외부 어뷰징 벡터를 차단한 보안 설계
Impact
- Docker 이미지 크기 27MB 달성
- CaffeineChain 연산 시 약 5~30초의 CPU 점유 시간 발생
- 특정 조건 발생 시 15% 확률로 HTTP 418 상태 코드 반환
Key Takeaway
- 프로토콜 표준 준수와 AI의 페르소나 설계를 결합하여 기술적 제약 조건을 창의적인 사용자 경험으로 승화시킨 사례.
실천 포인트
공개 API 엔드포인트 설계 시 글로벌 API Key 대신 사용자 세션별 키 전달 방식을 채택하여 쿼터 남용 및 비용 리스크를 방지할 것