Featured image of post [Network 10] 네트워크 압축 전략

[Network 10] 네트워크 압축 전략

LZ4·Zstd·Snappy 압축의 계보와 매치 탐색·엔트로피 코딩 원리를 설명하고, CPU-대역폭 트레이드오프와 손익분기 부등식을 바탕으로 메시지 크기·CPU·대역폭·딕셔너리 사용 여부에 따라 알고리즘과 레벨을 선택하는 기준을 정리합니다.

Featured image of post [Network 10] 네트워크 지연 구조

[Network 10] 네트워크 지연 구조

네트워크 지연시간을 전파·전송·처리·큐잉 네 요소로 분해하고 각 요소의 물리적 근거와 계산식을 정리합니다. WAN·데이터센터·혼잡 액세스 링크 등 환경별로 어떤 성분이 지배적인지 판단하는 기준과 흔한 오개념, 이론치와 실측의 간극을 함께 다룹니다.

Featured image of post [Network 10] 네트워크 지연 직관

[Network 10] 네트워크 지연 직관

RTT·대역폭·직렬화 지연이 조합되어 네트워크 지연을 만드는 원리를 정성적·정량적으로 다지는 입문 챕터입니다. Bandwidth-Delay Product 계산과 흔한 오개념을 정리해 이후 소켓·TCP·직렬화 챕터를 읽을 직관을 세웁니다.

Featured image of post [Network 10] 메시지 프레이밍

[Network 10] 메시지 프레이밍

TCP는 바이트 스트림이라 메시지 경계를 스스로 보장하지 않습니다. 이 장은 length-prefix, delimiter, fixed-size 세 프레이밍 전략의 동작 원리와 부분 수신 처리, 상황별 선택 기준을 정리합니다.

Featured image of post [Network 10] 소켓 옵션 튜닝

[Network 10] 소켓 옵션 튜닝

TCP_NODELAY로 Nagle 알고리즘을 끄는 시점, SO_SNDBUF/SO_RCVBUF 버퍼 크기가 지연·처리량에 미치는 영향, 커널 자동 튜닝과 수동 설정의 경계를 setsockopt 예제와 ss 출력으로 정리합니다.

Featured image of post [Network 10] 직렬화 성능 비교

[Network 10] 직렬화 성능 비교

Protocol Buffers, FlatBuffers, Cap'n Proto의 인코딩 방식과 직렬화·역직렬화 비용 차이를 비교하고, 메시지 크기·접근 패턴·스키마 진화 요구에 따라 어떤 포맷을 선택할지 판단 기준을 정리합니다.

Featured image of post [Network 10] 차세대 Zero-copy 직렬화 포맷 동향

[Network 10] 차세대 Zero-copy 직렬화 포맷 동향

2026년 6월 Yandex가 오픈소스로 공개한 zero-copy 포맷 YaFF의 레이아웃 전략과 벤치마크 수치를 분석하고, FlatBuffers·Cap'n Proto 대비 언제 신흥 포맷을 도입할지 판단하는 기준을 제시합니다.

Featured image of post [Network 10] 프로토콜 설계

[Network 10] 프로토콜 설계

저지연 바이너리 프로토콜에서 고정 크기 헤더가 파싱 없는 오프셋 접근을 가능하게 하는 원리, additive-only 버전 관리 규칙, 플래그·예약 필드·TLV 확장 블록으로 하위 호환성과 확장성을 함께 확보하는 설계 원칙을 SBE와 ITCH 사례로 정리합니다.

Featured image of post [Concurrency 07] C++ 메모리 모델 실무 해석

[Concurrency 07] C++ 메모리 모델 실무 해석

C++ 메모리 모델의 relaxed/acquire/release/seq_cst 순서를 happens-before 관점에서 실무적으로 해석합니다. 잘못된 relaxed 사용이 만드는 데이터 레이스 버그를 깨진 코드로 재현하고 ThreadSanitizer로 검증하는 절차를 다룹니다.

Featured image of post [Concurrency 07] C++20 Atomics 실전

[Concurrency 07] C++20 Atomics 실전

C++20 atomic::wait/notify로 스핀 폴링을 커널 대기로 바꾸는 패턴과 libstdc++의 futex 기반 구현을 다룹니다. notify 누락이 만드는 lost wakeup 버그를 재현하고, C++26 fetch_max/fetch_min 표준화 현황도 정리합니다.