-
[Google STT] 실시간 음성 → 텍스트 — 음성 turn에서의 스트리밍 패턴
결론 먼저 — interim_results=true 없이는 음성 UX가 깨진다 옵션 설정 영향 API 종류 StreamingRecognize partial result 수신 가능 interim_results true 발화 중 실시간 텍스트 single_utterance…
-
[Gemini] 2.0 Flash를 고른 이유 — 음성 상담의 응답 속도 vs 품질
결론 먼저 — 음성 상담에서 latency는 품질이다 축 Pro 계열 Flash 계열 응답 latency (체감) 높음 낮음 긴 문맥 (32k+) 추론 품질 우수 충분 function…
-
[전치사] over — 위에, 넘어서, 초과 | PIE *uper에서 시작된 단어
over의 어원: PIE *uper → Proto-Germanic *uber → 고대 영어 ofer. 독일어 über, 라틴어 super, 그리스어 hyper와 같은 어원. 전치사(위에/넘어/초과/동안/에 대해)와 접두사(over-)로 모두 활용되는 핵심…
-
[설계 판단] 1:1 AI 음성 상담을 위해 SFU를 ‘Dumb Pipe’로 둔 이유
결론 먼저 — 1:1 음성 상담의 미디어 토폴로지 비교 토폴로지 서버 CPU 대역폭 지연 구현 복잡도 1:1 상담 적합성 P2P (Mesh) 0 매우 낮음 최저…
-
[Pion] ForwardTrack 루프 — 미디어를 흘려보내는 가장 짧은 코드
결론 먼저 — 미디어 forward의 본질은 한 루프다 항목 값 핵심 코드 라인 수 ~10줄 Track 타입 TrackLocalStaticRTP 패킷 단위 RTP 패킷 (재인코딩 없음) 고루틴…
-
[WebRTC] STUN과 TURN, 언제 무엇을 — NAT 종류 × 성공률 매트릭스
결론 먼저 — Symmetric NAT가 양쪽이면 STUN은 0%다 A 측 NAT B 측 NAT STUN만으로 P2P 가능? fallback 필요 Full Cone 아무거나 O — Restricted…
-
[설계 판단] 서비스 분리는 비즈니스 도메인 중심으로 해야 한다
결론 먼저 서비스 분리는 비즈니스 도메인에 따라 수행하는 것이 적합하다. 이는 각 서비스가 특정 도메인에 집중할 수 있게 해주며, 서비스 간 의존성을 낮추는 장점이 있다.…
-
[WebRTC] 연결의 6단계 — Offer/Answer부터 ICE Connected까지
결론 먼저 — 단계별 실패 위치를 알면 디버깅이 빨라진다 단계 이름 대표 실패 원인 1 Signaling 채널 수립 WebSocket 인증/CORS/방화벽 2 SDP Offer/Answer 교환 codec…
-
[Go] INSERT-first protocol — Postgres partial UNIQUE를 분산 락으로 활용한 동시성 설계
GCS Copy(1~5초) 전에 DB INSERT를 먼저 수행해 Postgres partial UNIQUE 제약을 분산 락으로 활용. loser는 GCS Copy에 도달하지 못해 외부 호출 비용 0. Advisory lock…
-
[어원] cogitate — co(함께) + agit(움직이다) + ate = 생각을 이리저리 굴리다
cogitate의 어원: PIE *ag-(몰다, 움직이다) → 라틴어 agere → agitare(이리저리 움직이다) → co-agitare → cogitare(함께 생각을 굴리다) → cogitate(1570s). IT에서 설계 단계의 깊은 사고, 알고리즘…