gRPC vs REST vs GraphQL: API 프로토콜 선택 기준
REST는 왜 지금도 지배적인가, GraphQL은 어떤 문제를 해결하는가, gRPC는 언제 진짜 빛나는가. 세 프로토콜의 차이와 선택 기준을 실전 코드와 함께 정리했다.

개발과 기술에 대한 이야기를 기록합니다.
REST는 왜 지금도 지배적인가, GraphQL은 어떤 문제를 해결하는가, gRPC는 언제 진짜 빛나는가. 세 프로토콜의 차이와 선택 기준을 실전 코드와 함께 정리했다.

Kubernetes는 처음엔 용어만 봐도 압도된다. Pod, ReplicaSet, Deployment, Service, Ingress가 각각 무엇이고 어떻게 연결되는지, ConfigMap과 Secret까지 실전 YAML과 함께 한 번에 정리한다.

단어와 문장을 숫자 벡터로 바꾸면 '의미'를 수학으로 계산할 수 있다. 코사인 유사도, ANN 알고리즘, OpenAI 임베딩 API까지 원리부터 실전까지 한번에 정리했다.

API는 한번 공개하면 마음대로 바꾸지 못한다. 클라이언트를 깨트리지 않으면서 API를 진화시키는 버저닝 전략 4가지를 비교하고, GitHub·Stripe·Twilio의 실제 선택을 분석한다.

코드 커버리지 100%인데 버그가 새나간다면? 테스트가 있다고 다 좋은 테스트가 아니다. 뮤테이션 테스트가 테스트 스위트의 진짜 품질을 드러내는 방법을 알아봤다.

공개 API를 운영하다 보면 예상치 못한 대량 요청에 시달릴 수 있다. Rate Limiting과 API Key 관리로 API를 보호하는 방법을 정리했다.

admin/user 두 역할로 시작했는데, 요구사항이 복잡해지면서 RBAC만으로 부족해졌다. ABAC까지 고려한 권한 설계를 정리했다.

서비스가 3개로 늘어나면서 각각 로그인을 구현하는 게 지옥이었다. SSO로 한 번의 인증으로 모든 서비스에 접근하게 만든 이야기.

비밀번호 찾기가 CS의 절반을 차지했는데, Passkey를 도입하니 비밀번호 자체가 필요 없어졌다. 근데 구현이 생각보다 복잡했다.

SQLite는 모바일에서만 쓰는 줄 알았는데, Turso와 Litestream 덕분에 프로덕션 웹 서비스에서도 진지하게 쓸 수 있게 됐다.

운영 중인 테이블에 컬럼을 추가했다가 서비스가 5분간 멈췄다. 무중단으로 스키마를 변경하는 전략을 배운 이야기.

검색 기능이 필요할 때마다 Elasticsearch를 써야 하나 고민했는데, PostgreSQL의 Full-Text Search만으로도 충분한 경우가 많았다.

단순 SELECT만 쓰다가 JSONB, CTE, Window Function을 알게 되니 SQL 한 줄로 해결되는 것들이 급격히 늘었다.

Redis를 단순 캐시로만 쓰고 있었는데, 세션 관리, 실시간 랭킹, Pub/Sub, Rate Limiting까지 가능한 만능 도구였다.

혼자 개발하면 코드 리뷰를 받을 수 없다고 생각했는데, AI 코드 리뷰 도구가 그 역할을 해줬다. PR마다 자동으로 리뷰받는 세팅을 정리했다.

LLM API를 처음 연동했을 때 토큰 비용 폭탄, 응답 지연, 할루시네이션에 당황했다. 실제로 배운 LLM API 활용법을 정리했다.

AI가 파일을 읽고, DB를 조회하고, API를 호출할 수 있게 해주는 MCP. USB처럼 AI와 도구를 표준화된 방식으로 연결하는 프로토콜을 정리했다.

ChatGPT는 질문에 답하지만, AI Agent는 스스로 계획하고 도구를 사용해 작업을 완료한다. 이 차이가 왜 중요한지 정리했다.

AI에게 '로그인 만들어줘'라고 했더니 엉망인 코드가 나왔다. 프롬프트를 구조화하니 결과물이 완전히 달라졌다.

세 가지 AI 코딩 도구를 실제로 써보고 비교했다. 자동완성, 코드 생성, 리팩토링 각각 어디가 강한지 솔직한 후기.
