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 표준화 현황도 정리합니다.

Featured image of post [Concurrency 07] C++20 Barrier/Latch 활용

[Concurrency 07] C++20 Barrier/Latch 활용

C++20 std::barrier(재사용 가능한 동기 지점)와 std::latch(1회성 카운트다운)의 내부 동작과 비용을 다룹니다. phase·completion function 설계, mutex/condition_variable과의 선택 기준, 완화된 표준 보장(P2588R3)까지 정리합니다.

Featured image of post [Concurrency 07] C++26 std::execution: Senders/Receivers 실전

[Concurrency 07] C++26 std::execution: Senders/Receivers 실전

C++26에 확정된 std::execution(P2300)의 센더·리시버·스케줄러 합성 모델을 stdexec 레퍼런스 구현으로 실습하고, 완료 신호 3채널·구조적 동시성·Citadel Securities 프로덕션 도입 사례를 다룹니다.

Featured image of post [Concurrency 07] Condition Variable 성능 패턴

[Concurrency 07] Condition Variable 성능 패턴

condition_variable의 spurious wakeup과 thundering herd 비용을 Mesa semantics 기원부터 다루고, predicate 루프·notify 선택·wait morphing으로 대기 비용을 줄이는 법과 atomic::wait/notify 대안을 비교합니다.

Featured image of post [Concurrency 07] Executors 기초

[Concurrency 07] Executors 기초

C++ 표준화가 콜백형 executor에서 scheduler·sender/receiver 모델로 옮겨간 과정과, 실행 컨텍스트와 스케줄링을 분리하는 최소 구조를 다룹니다. P0443의 한계와 C++26 채택 배경을 정리합니다.