링 버퍼(Ring Buffer)의 동작 원리와 O(1) 성능 특성을 설명하고, 실시간 데이터 처리·IPC·임베디드 시스템 등 활용 사례와 C++ lock-free 구현 예제를 정리합니다.
Uber가 폴링 방식의 한계를 극복하기 위해 SSE 기반 RAMEN을 구축하고 gRPC 양방향 스트리밍으로 진화시킨 실시간 푸시 플랫폼의 설계 원칙, 메시지 전달 프로토콜, 확장 아키텍처를 소개합니다.
State/Control이 만드는 복잡성의 원인부터 결합도와 응집도를 낮추는 구체적 기법, Deep Module과 Stratified Design의 기원, 분산 시스템의 본질적 복잡성까지 이론과 실천을 정리합니다.
논리 삭제가 실무에서 부딪히는 문제를 짚고, Immutable Data Model 관점에서 물리 삭제 없는 설계법을 정리합니다. 싱글·구체·클래스 테이블 상속과 이벤트가 참조할 사용자 상태를 스냅샷·버전 관리(시점 기준) 중 무엇으로 다룰지까지 다룹니다.
시스템을 복잡하게 만드는 주범인 UPDATE를 데이터 모델 설계 단계에서 줄이는 Immutable Data Model을 소개합니다. 시간과 사실(Fact)의 관점에서 다섯 단계 절차를 온라인 쇼핑몰 예제로 설명하고, Event Sourcing과의 차이와 적용 기준까지 정리합니다.
NGINX를 활용해 캐싱 프록시, DNS/애니캐스트 라우팅, 캐시 샤딩, 계층적 프록시 구조까지 CDN을 단계적으로 설계하는 과정을 fly.io 원문을 바탕으로 정리합니다.
Thoughtworks Technology Radar의 개념과 선정 과정을 살펴보고, 기업에서 기술 트렌드 파악과 적정 기술 선택에 어떻게 활용할 수 있는지 자사 버전 Radar 만들기까지 단계별로 정리합니다.
추상화로 골라내고 모델로 정리한 다음의 질문은 모델의 크기입니다. 언어가 유효한 경계인 바운디드 컨텍스트와 규칙이 지켜지는 경계인 애그리거트, 컨텍스트 맵, 분해의 판단 기준과 잘못 그은 경계의 신호를 주문 도메인으로 설명합니다.
추상화로 골라낸 것을 업무의 언어로 정리한 결과물이 모델이고, 모델을 코드와 스키마로 옮겨 적는 일이 표현입니다. 모델의 세 수준과 발견 도구, 빈혈증과 Always-Valid, 엔티티부터 바운디드 컨텍스트까지의 구성 요소, 여섯 가지 표현 방식을 설명합니다.
추상화는 목적에 맞게 현실에서 필요한 것만 골라내는 일이고, 메타는 다루는 대상이 데이터에 대한 기술로 바뀌는 일입니다. 노선도와 역 타입, 인터페이스 예시로 두 축의 차이와 진짜 추상을 가려내는 기준을 설명합니다.