MSA의 문지기, API Gateway: 구현부터 모니터링까지
마이크로서비스 아키텍처(MSA)에서 API Gateway가 필수적인 이유를 '호텔 프론트 데스크' 비유로 설명합니다. Kong, Nginx, AWS API Gateway 비교 및 Rate Limiting, GraphQL 통합, Observability까지 심층 분석.

개발과 기술에 대한 이야기를 기록합니다.
마이크로서비스 아키텍처(MSA)에서 API Gateway가 필수적인 이유를 '호텔 프론트 데스크' 비유로 설명합니다. Kong, Nginx, AWS API Gateway 비교 및 Rate Limiting, GraphQL 통합, Observability까지 심층 분석.

나만 알아보는 코드는 쓰레기입니다. 변수명 짓기부터 함수 쪼개기, 그리고 주석을 달지 말아야 하는 이유까지. 6개월 뒤의 나를 살리는 리팩토링의 기술.

손님이 주방에 들어가서 직접 피자 도우를 반죽하지 않습니다. '페퍼로니 하나요'라고 주문하면 공장(Factory)이 알아서 만들어줍니다.

기존 클래스를 수정하지 않고 새 기능을 추가합니다. 커피에 휘핑크림, 시럽, 샷 추가처럼 기능을 동적으로 조합. Python @decorator의 원리.

서로 다른 인터페이스를 연결해주는 변환기. 레거시 시스템과 신규 시스템을 이어주는 가장 강력한 디자인 패턴.

새 영상이 올라왔는지 매초 확인하는 게 아니라, 구독 버튼 하나로 자동 알림을 받습니다. 1:N 의존 관계를 우아하게 해결하는 디자인 패턴의 핵심.

테이블 하나에 10억 개의 행이 쌓이면 인덱스도 소용없습니다. 수직 파티셔닝(Vertical)과 수평 샤딩(Horizontal)의 차이, 일관된 해싱(Consistent Hashing), 그리고 샤딩의 치명적 단점인 JOIN 문제를 분석합니다.

대통령은 나라에 한 명뿐입니다. DB 커넥션 풀도 하나뿐. 전역 관리자를 만들 때 쓰는 가장 유명하면서도 논쟁적인 패턴. 편리하지만 테스트 지옥의 지름길.

개발자들이 맨날 겪는 문제에 대해 선배들이 만들어둔 족보(Cheat Sheet). 싱글톤, 팩토리, 옵저버 패턴의 핵심.

객체지향의 거장 로버트 마틴(Uncle Bob)이 정립한 5가지 설계 원칙. SRP, OCP, LSP, ISP, DIP가 무엇인지, 왜 지켜야 하는지, 실제 타입스크립트 예제로 정리해본다.

빠르게 개발하기 위해 저지른 더러운 코드는 '빚'입니다. 나중에 이자(수정 비용)까지 쳐서 갚아야 합니다. 파산하지 않으려면 관리하세요.

서버가 100대로 늘어나면 로그 파일도 100개로 쪼개집니다. 에러가 났을 때 이 파일들을 하나하나 열어볼 수는 없죠. 흩어진 로그를 수집(L), 저장/검색(E), 시각화(K)하는 ELK Stack의 구조와, 최신 트렌드인 ELKB(Beats) 및 EFK(Fluentd) 스택으로의 진화 과정을 다뤄봤습니다.

모든 데이터를 중앙 클라우드로만 보내면 늦습니다. 자율주행차가 브레이크를 밟는데 0.1초의 지연도 허용될까요? 데이터 처리의 중심을 중앙 데이터센터에서 사용자가 있는 '가장자리(Edge)'로 옮기는 엣지 컴퓨팅의 개념과, 클라우드 컴퓨팅과의 차이, 그리고 5G 시대의 필수 기술인 이유를 파헤쳐봤습니다.

MVC에서 Controller가 너무 뚱뚱해졌습니다. Presenter/ViewModel로 분리하고, Data Binding으로 자동 업데이트하는 현대 프론트엔드의 핵심 패턴.

소스 코드를 기계어로 바꾸는 두 가지 전략. C와 Python의 실행 방식 차이와 Java/JavaScript가 사용하는 하이브리드 방식(JIT).

유닛 테스트가 다 통과해도 배포하면 에러가 나는 이유는 뭘까요? 사용자가 실제로 사용하는 흐름 그대로를 검증하는 E2E(End-to-End) 테스트가 필요합니다. Cypress와 Playwright의 장단점 비교, 깨지기 쉬운(Flaky) 테스트를 방지하는 전략, 그리고 테스트 피라미드 속 E2E의 역할을 정리합니다.

코드를 먼저 짜고 테스트하는 게 아닙니다. 테스트를 먼저 짜고, 그걸 통과하기 위해 코딩하는 것. 순서를 뒤집으면 버그가 사라집니다.

가장 단순하지만 가장 강력한 업무 관리법. To Do, Doing, Done. WIP(동시 작업 제한)로 병목 현상을 뚫어보자.

서비스를 MSA로 쪼갰더니 트랜잭션 관리가 지옥이 되었습니다. 주문은 성공했는데 결제는 실패하고, 재고는 이미 차감되었다면? 모놀리식의 ACID가 그리워지는 순간, 분산 환경에서 데이터 일관성을 지키는 Two-Phase Commit(2PC), Saga 패턴(Choreography, Orchestration)을 구체적인 예제와 함께 다뤄봤습니다.

많은 회사가 'DevOps 엔지니어'를 채용하지만, 정작 DevOps가 무엇인지 오해하는 경우가 많습니다. 단순히 Jenkins를 돌리고 AWS를 관리하는 것이 DevOps일까요? 개발(Dev)과 운영(Ops)의 벽을 허물고, 비즈니스 가치를 빠르게 전달하기 위한 DevOps의 철학(The Three Ways), 문화, 그리고 CI/CD 파이프라인의 핵심을 파헤칩니다.
