기술 블로그
[s3c:w6:cat:tech:v1] 실무에서 직접 설계·운영한 백엔드 시스템과 의사결정 기록. Go·Java/Spring·PostgreSQL·Kubernetes 기반의 분산 시스템 패턴, 음성 AI 파이프라인(WebRTC·STT·LLM·TTS)의 latency·동시성 트레이드오프, OCR/문서 탐지 모델의 평가 지표(F1·Precision·Recall) 적용기 등을 다룹니다. 모든 글은 본인이 직접 운영하며 측정한 1차 데이터에서 출발합니다.
-
[아키텍처 #3] Event-Driven Architecture(EDA) — 브로커로 서비스를 느슨하게 잇기
Go 아키텍처 시리즈 #1 Clean Architecture #2 Hexagonal & MessageQueue #3 Event-Driven Architecture — 지금 이 글 #4 Microservices(MSA) 2편에서 Publisher/Consumer를 한 서비스 안에서 정리했다.…
-
[아키텍처 #2] Hexagonal(Ports & Adapters)와 MessageQueue — Consumer·Publisher는 어느 레이어에?
Go 아키텍처 시리즈 #1 Clean Architecture #2 Hexagonal & MessageQueue — 지금 이 글 #3 Event-Driven Architecture #4 Microservices(MSA) 1편의 동심원을 옆으로 눕혀 육각형으로 그리면…
-
[아키텍처 #1] Go로 이해하는 Clean Architecture — 의존성 규칙과 레이어
Go 아키텍처 시리즈 #1 Clean Architecture — 지금 이 글 #2 Hexagonal & MessageQueue #3 Event-Driven Architecture #4 Microservices(MSA) 서버를 Go로 짜다 보면 늘 같은…
-
[OKE 인프라 학습 시리즈] 상시 가동 OKE에서 채팅 싱크 테스트 — 자기 에코 제거와 게스트끼리 붙여 보기
Cloud Run에서 OKE로 옮긴 이유는 결국 ‘상시 연결 채팅을 실제로 돌려 보는 것’이었다. 자기 메시지 에코를 없애고 게스트끼리 붙인 뒤, 자동화 스킬로 올린 무료 arm64…
-
[홈랩] 리눅스 배포판, 뭐가 다른가 — Debian·Ubuntu·Mint·RHEL 계열 비교 분석
지난 글 「10년 된 본가 PC를 Debian 서버로 — 32GB RAM + 870 EVO 2TB 스펙업 기록」 마지막에, OS로 Debian을 “순정에 가깝고 손에 익어서” 골랐지만…
-
[홈랩] 10년 된 본가 PC를 Debian 서버로 — 32GB RAM + 870 EVO 2TB 스펙업 기록
집에 방치돼 있던 홈 서버 PC의 스펙을 올렸다. 램을 32GB까지 채우고, 우연히 싸게 나온 SSD를 하나 더 붙였다. 오랜만에 케이스를 열어 부품을 갈아 끼운 김에,…
-
[인프라 비용] Bitnami Helm으로 무료 인프라? — 라이선스 피와 개발자 시간, 무엇이 진짜 싼가
Bitnami Helm 차트는 프로덕션급 Postgres·RabbitMQ·Redis를 한 줄로 띄워주던 무료 지름길이었다. 그런데 2025년 라이선스 변경으로 무료 사용이 크게 제약됐다. 무료 인프라를 목표로 할 때 이게 무슨…
-
[채팅 백엔드 보안] WebSocket은 무엇으로 지키고, 셀프호스팅한 메시지 큐는 누가 들여다보나
WebSocket 채팅을 무엇으로 인증·격리하는지(JWT HS256 + TLS + 테넌트 네임스페이싱), 메시지 큐로 RabbitMQ를 고른 이유와 PV 구성, 그 큐를 headless ClusterIP로 바깥에 안 여는 접근…
-
[인프라 자동화] Provider 계층만 교체한다 — 인프라에 적용한 Hexagonal과 ‘무료가 기본값’인 스킬 설계
GKE에서 OKE로 갈아탔는데 ArgoCD·Traefik·배포 스크립트는 한 줄도 안 바꿨다. 인프라 자동화 스킬을 Hexagonal 포트/어댑터로 설계해 클라우드 provider 계층만 교체하는 법, 실수로 과금되지 않도록 ‘무료를 기본값’으로…
-
[Flutter × 채팅] 낙관적 UI와 clientMsgId — 서버 멱등키가 클라이언트에서 중복 제거로 완성되는 지점
이중 쓰기(WS 릴레이 + REST 영속화)를 하면 내가 보낸 메시지가 WS로 되돌아와 중복된다. Flutter 앱 Bibleana가 clientMsgId 하나로 낙관적 UI와 에코 dedupe를 잇는 방법, single-flight…