Windows IPC와 메모리 관리 아키텍처 완벽 가이드: WM_COPYDATA부터 Lock-Free MPMC 공유 메모리까지
금융/증권 HTS 시스템이나 초고속 메시징 애플리케이션처럼 단 한 번의 예외 상황도 허용되지 않는 견고한 C++ 시스템을 구축할 때 가장 중요한 요소 중 하나는 프로세스 간 통신(IPC, Inter-Process Communication)과 OS 레벨의 메모리 수명 관리 원리입…
DevLog 섹션에 발행된 전체 아티클 및 엔지니어링 노트 아카이브입니다.
금융/증권 HTS 시스템이나 초고속 메시징 애플리케이션처럼 단 한 번의 예외 상황도 허용되지 않는 견고한 C++ 시스템을 구축할 때 가장 중요한 요소 중 하나는 프로세스 간 통신(IPC, Inter-Process Communication)과 OS 레벨의 메모리 수명 관리 원리입…
맥북 기본 용량(256GB / 512GB)으로 웹, 앱, AI 에이전트 개발을 병행하다 보면 어느 순간 "시스템 디스크 용량이 부족합니다"라는 공포의 알림을 만나게 됩니다. Xcode DerivedData, Android AVD 가상 머신, Docker 이미지, Node.js …
Hugo와 Vercel 조합으로 정적 블로그를 운영할 때, 여행기나 맛집 탐방처럼 사진이 많이 들어가는 글을 올리게 되면 한 가지 고민에 빠지게 됩니다. "Git 리포지토리 용량이 너무 커지지 않을까?", "Vercel의 용량 제한 및 네트워크 트래픽 초과는 괜찮을까?" 스마트…
정적 사이트 생성기인 Hugo(PaperMod 테마)로 개발 블로그를 운영하다 보면 기술 포스팅뿐만 아니라 일상, 여행, 서평 등 다양한 분야의 글을 추가하고 싶어집니다. 이때 독자가 원하는 카테고리의 글을 한눈에 찾아볼 수 있도록 카테고리(Categories) 분류 체계를 구…
블로그나 웹사이트를 운영할 때 브라우저 탭에 표시되는 작은 아이콘인 파비콘(Favicon)은 브랜드 정체성을 보여주는 아주 중요한 요소입니다. 기존 워드프레스(WordPress) 환경에서 정적 사이트 생성기인 Hugo(PaperMod 테마)로 전환하면서, 파비콘을 새롭게 설정하…
지난 글에서는 HTS 데이터 파이프라인의 병목 현상을 해결하기 위해 std::shared_ptr의 커스텀 디리터와 오브젝트 풀(Object Pool)을 결합한 Lock-free 아키텍처의 뼈대를 설계했습니다. 하지만 실제 증권사 실무 환경에서는 이보다 훨씬 복잡한 예외 상황들을…
최근 사내 HTS 프로그램의 아키텍처를 Direct2D와 멀티코어 병렬 처리 기반으로 모더나이징하는 작업을 구상하면서, 가장 깊게 고민했던 부분은 '데이터 파이프라인의 병목 현상'이었습니다. 실시간으로 수신되는 방대한 양의 시세 데이터를 여러 화면 컴포넌트들이 동시에 받아가서 …
맥북(MacBook)을 사용하는 앱 개발자들의 영원한 숙제, 바로 '부족한 용량'입니다. 256GB나 512GB 모델을 사용하다 보면 어느 순간 시스템 데이터(System Data) 항목이 50GB, 100GB를 돌파하며 맥북을 압박해 오기 시작합니다. 용량을 아끼고자 Flut…
24시간 무중단으로 수많은 주문과 시세 데이터를 처리해야 하는 증권사 HTS/MTS 서버나 클라이언트 시스템에서 메모리 누수(Memory Leak)는 단순한 버그를 넘어 서비스 중단으로 이어질 수 있는 치명적인 결함입니다. 과거 C++03 시절에는 new로 동적 할당한 후 예외…
초당 수천 건의 시세 데이터와 체결 통보가 오가는 증권사 HTS/MTS 핵심 트레이딩 엔진 모듈은 무엇보다 성능(Performance)과 안전성(Stability)이 최우선입니다. 하지만 오랜 기간 유지보수되어 온 C++ 레거시 코드를 다루다 보면, 최적화라는 명목하에 복잡하고…