Go Concurrency 모델

Go의 동시성 모델은 CSP를 기반으로 Goroutine과 Channel을 핵심 도구로 제공한다. 각 도구의 동작 원리와 선택 기준을 정리한다.

2024년 4월 5일 · 약 4분 읽기

concurrency-go

Go의 동시성 패턴 세 가지(mutex, channel, lock-free)를 직접 구현하고 벤치마크하며 체화한 과정의 기록.

2024년 4월 3일 · 약 3분 읽기

MongoDB와 Redis — 같은 NoSQL, 다른 역할

같은 NoSQL 우산 아래에서 MongoDB 와 Redis 가 서로 다른 역할로 자리잡은 이유. 데이터 모델·스토리지·스키마·확장·사용 사례를 기준으로 비교 정리.

2024년 4월 2일 · 약 4분 읽기

Spring WebFlux 기본 — 논블로킹 I/O와 리액티브 스택

Spring MVC는 요청당 스레드를 할당한다. I/O 대기가 길어지면 스레드가 묶인다. WebFlux는 이벤트 루프 기반 논블로킹 모델로 이 문제를 해결한다. MVC와의 구조적 차이, Reactor 패턴, 선택 기준을 정리한다.

2024년 3월 25일 · 약 3분 읽기

HTTP/1.1과 HTTP/2

HTTP/1.1은 요청과 응답이 순차적이다. HTTP/2는 멀티플렉싱, 바이너리 프레이밍, 헤더 압축으로 이 구조를 바꿨다. 두 프로토콜의 차이와 HTTP/2 위에서 동작하는 gRPC의 특성을 정리한다.

2024년 3월 20일 · 약 5분 읽기

Docker Container 기초

Container의 개념과 VM과의 차이를 정리하고, Docker의 아키텍처, Dockerfile, Docker Compose의 기본 사용법을 설명한다.

2024년 3월 15일 · 약 4분 읽기

Horizontal vs Vertical Slicing

코드를 기술 계층별로 나누는 수평 분할과, 기능/도메인별로 나누는 수직 분할의 차이를 정리한다. 각각의 장단점과 선택 기준.

2024년 3월 10일 · 약 3분 읽기

광고 fallback 서버 설계 회고

레거시 광고 서버를 제거하면서 Nest.js 기반 fallback 서버를 새로 설계한 과정. 단일 API에 복잡한 비즈니스 로직이 집중된 구조에서 수평 계층 아키텍처를 선택한 배경과 결과.

2024년 2월 28일 · 약 3분 읽기

Nest.js 기본 — DI와 Module 시스템

Nest.js는 Node.js 생태계에서 DI 컨테이너와 Module 시스템을 프레임워크 수준에서 제공한다. IoC, DI, Module, Provider 등 핵심 설계 원칙을 정리한다.

2024년 2월 26일 · 약 4분 읽기