태그: 임베디드
6편
-
MongoDB 스키마 설계: 임베드 vs 참조 선택 기준 | 도큐먼트 모델링
MongoDB에서 댓글이나 주문 항목을 한 도큐먼트에 임베드할지 다른 컬렉션으로 참조할지를 관계의 크기, 업데이트 빈도, 16MB 문서 한도, 트랜잭션 필요 여부로 판단하는 기준을 다룹니다. 버킷 패턴과 $lookup 성능 문제도 설명합니다.
-
C++ volatile의 정확한 의미: MMIO 레지스터, ISR 공유 변수, std::atomic과의 차이
C++ volatile의 의미, 메모리 맵 I/O(MMIO), 인터럽트 서비스 루틴(ISR), volatile vs std::atomic 차이, 자주 하는 실수, 프로덕션 패턴까지. 릴리스 빌드에서 사라지는 하드웨어 접근 문제 해결.
-
임베디드 C++의 volatile: MMIO 레지스터 접근, ISR 공유 변수, 릴리스 빌드에서 사라지는 읽기
임베디드 C++에서 volatile 사용법. Memory-Mapped I/O로 하드웨어 레지스터 접근, ISR과 공유하는 변수, UART·GPIO·DMA 폴링, -O2 빌드에서 접근이 최적화로 사라지는 문제, volatile과 std::atomic의 차이를 다룹니다.
-
임베디드 C++ 최적화: 플래시 크기, RAM 정적 할당, 전력 소모, 실시간성(WCET)
64KB 플래시에 펌웨어가 안 들어가고, 스택이 넘치고, 배터리가 하루를 못 가는 상황을 다룹니다. LTO와 printf 제거로 플래시 줄이기, 정적 할당과 풀 allocator, 슬립 모드와 DMA, ISR 최소화와 WCET 예측을 C++ 관점에서 설명합니다.
-
C++ 도메인별 요구 역량: 네카라쿠배·금융(HFT)·게임 서버·임베디드 비교
게임 서버 경험으로 금융에 지원했다가 맞지 않는 식의 도메인 불일치 사례에서 출발해, 대형 IT 백엔드와 금융·HFT, 게임 서버, 임베디드·시스템 소프트웨어가 강조하는 면접 포인트와 최적화 방향을 비교합니다. 같은 이벤트 처리 요구를 세 스타일로 구현한 코드와 도메인 간 전환 전략도 다룹니다.
-
C++ 제약된 환경에서의 C++: Exception과 RTTI 없이 안전한 코드 짜기
플래시가 작은 MCU나 실시간 루프처럼 예외와 RTTI를 꺼야 하는 환경에서 오류를 반환값·optional·expected로 전달하는 방법을 다룹니다. 팩토리와 두 단계 초기화, dynamic_cast 대신 variant·enum 태그 분기, 할당 없는 고정 버퍼 예제도 보여줍니다.