| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 |
- next.js
- contextBridge
- github actions
- JWT
- 아키텍처
- 메일자동화
- 백엔드
- 마이그레이션
- electron
- 프론트엔드
- 보안
- 상태관리
- playwright
- 소셜로그인
- python
- Kotlin
- REST API
- php
- sqlite
- typescript
- Vite
- 도메인설계
- FastAPI
- 배포
- 인증
- 온디바이스AI
- javascript
- Android
- React
- 크롤링
- Today
- Total
목록FastAPI (9)
HM소프트
공간 대여 매칭 플랫폼 MVP를 위치 기반 검색부터 만든 기록. PostGIS geography와 GiST 인덱스로 반경 검색을 풀며 ST_DWithin은 필터, ST_Distance는 표시로 나누고, 좌표 순서 함정과 모바일 JWT 토큰 갱신을 인터셉터 한 곳에 가둔 과정을 담았다.세 종류의 사용자를 잇는다는 문제유휴 공간을 가진 사람, 그 공간에 둘 제품을 가진 사람, 그리고 그걸 팔아줄 사람. 한 공간 대여 매칭 플랫폼의 MVP를 만들면서 가장 먼저 부딪힌 건 "이건 흔한 양방향 매칭이 아니다"라는 사실이었다. 보통의 마켓플레이스는 공급자와 수요자, 두 역할만 있으면 된다. 그런데 이 서비스는 공간 제공자 · 제품 제공자 · 판매자라는 세 종류의 사용자가 서로를 향해 요청을 날린다. 공간 주인이 "..
관리자 콘솔을 받치는 인증·역할·보안을 다진다. 신뢰 경계를 사람 세션 쿠키와 머신 API 키로 가르고, owner/reception 역할과 테넌트 격리를 의존성 계층으로 쌓았다. 1회용 부트스트랩 토큰, 보안 리뷰에서 깨진 기본 시크릿·서버측 세션 폐기, scrypt·HMAC 표준 라이브러리 해시까지 기록한다.AI보다 콘솔이 먼저 팔린다1편은 음성 런타임, 2편은 AI 두뇌(예약 tool-call·RAG·가드레일)였다. 마지막 3편은 그걸 운영 가능하게 만드는 일이다. 사실 이 단계가 체감상 가장 "제품"에 가까웠다. 한 의료기관 입장에서 매일 들여다보는 화면은 AI 내부가 아니라 관리자 콘솔이기 때문이다. 승인 대기 예약을 처리하고, 통화 로그를 확인하고, 시술과 가드레일을 설정하는 그 화면이 곧 제..
음성 AI의 출력을 실제 데이터에 묶는 두뇌 층을 만든다. 예약은 LLM 자유 생성이 아닌 tool-call 두 개로 고정하고 판정은 백엔드가, 더블부킹은 구간 겹침과 상태머신으로 막았다. 좀비 슬롯 만료 스윕, RAG 근거를 콘솔 입력 시술 DB로 교체한 테넌트 격리, 설정형 가드레일까지 다룬다.AI가 멋대로 말하면 안 되는 도메인1편에서 음성 런타임의 골격을 만들었다. 오디오가 들어와 응답 음성으로 나가는 파이프라인이다. 이번 2편은 그 위에 올라가는 "두뇌" 쪽 이야기다. 한 의료기관의 상담 전화를 받는 AI에서 가장 어려운 지점은 정확도가 아니라 신뢰 경계다. 일반 챗봇이 그럴듯하게 지어낸 답은 애교지만, 여기서는 사고가 된다. 그 기관에 없는 시술을 추천하거나, 비어 있지 않은 시간에 예약을 잡..
온프레미스 음성 AI의 오디오 한 턴이 들어와 응답 음성으로 나가는 런타임을 다룬다. STT·LLM·TTS·RAG를 Protocol 계약으로 먼저 못 박고 mock을 기본 어댑터로 두어 GPU 없이 엔드투엔드를 돌렸다. 첫 음성 KPI 시뮬레이션, lazy import seam, 응급은 LLM을 우회하는 오케스트레이터까지 기록한다.시리즈를 시작하며전화로 걸려 오는 문의를 자연어로 알아듣고, 그 기관이 보유한 데이터에 근거해 적절한 안내를 하고, 예약 신청까지 이어 주는 음성 AI 상담 시스템을 만들고 있다. 한 의료기관의 상담 전화를 사람 대신 받아 1차 응대를 하는 제품이라고 보면 된다. 특이한 제약이 하나 붙는다 — STT(음성 인식)·LLM·TTS(음성 합성)·RAG(검색)가 전부 기관 내부 서버에..
수출 영업 메일 자동화를 FastAPI로 구현한 기록. 사람이 승인해야만 발송되는 Outbox 패턴과 CAS 상태 전이, 멱등키, 4-eyes, DB 부분 유니크 인덱스로 중복 발송을 막고, 온디바이스 LLM과 클라우드 fail-closed, 무음 폴백 금지, 프롬프트 인젝션 방어, CP949·RFC 2047 한글 인코딩 처리까지 다룹니다.무엇을 만들었나 — '보내주는' 자동화가 아니라 '검토를 줄이는' 자동화해외 거래처와 메일로 일하는 한 화장품 수출사의 영업팀 메일함을 자동화했다. 예전에 만든 도구가 "내가 쓴 메일을 여러 명에게 보내는" 대량 발송 쪽이었다면, 이번 건은 정확히 반대 방향이다. 들어오는 메일을 받아서 요약하고, 중요도를 S/A/B/C로 분류하고, 회사 말투로 회신 초안까지 자동으로 ..
Render 무료 플랜이 15분 뒤 잠드는 cold start를 14분 자가 핑 태스크로 막고, lifespan에 생성·취소를 묶는다. Supabase 풀러 트랜잭션 모드(6543)에선 NullPool, 직접 연결은 QueuePool로 포트 하나로 자동 분기. pool_pre_ping으로 죽은 커넥션을, 0.0.0.0·$PORT·CORS로 연결 함정을 잡는다.무료 플랜 위에 서비스를 올린다는 것1편에서 외부 화면을 긁어 데이터를 모으는 크롤러를, 2편에서 그 데이터를 사용자에게 내보내는 API·검색·인증을 다뤘다. 이번 3편은 이 백엔드를 실제로 인터넷에 띄운 배포 이야기다.전제부터 분명히 해 둔다. 이건 트래픽이 폭발하는 서비스가 아니다. 지역에 흩어진 시설 정보를 모아 검색하게 해 주는, 사용자가 아..