블로그
-
VDA5050 order 메시지 필드 해설: node·edge·nodePosition·액션 실무 가이드
VDA5050 2.0.0 order 메시지의 node, edge, nodePosition, trajectory 필드를 표준 문서 기준으로 하나씩 설명하고, base와 horizon, order update, 허용 오차, 층(mapId) 규칙을 order 작성 체크리스트로 정리합니다. 시뮬레이터에서 규칙을 어겼을 때의 실제 반응도 함께 기록했습니다.
-
C++ 클래스·링크·메모리 문제를 증상으로 찾는 표: Rule of Five, EBCO, 다이아몬드, 이름 맹글링, use-after-free
복사 때 이중 해제, 객체 크기가 예상보다 큼, 기본 클래스가 두 번 생성됨, 링크 에러의 _Z 심볼, 해제 후 사용 같은 증상을 실행 결과로 보여 주고 원인과 자세한 글을 연결합니다.
-
C++ 문법 선택 기준표: tuple, 구조적 바인딩, using, <=>, 사용자 정의 리터럴을 직접 실행해 고르기
코드 리뷰에서 자주 고민하는 tuple과 struct, auto와 auto&, typedef와 using, 삼원 비교, 초기화 캡처, size_t 같은 선택을 한 프로그램으로 실행해 확인했습니다. 각 선택의 결과와 자세한 글 링크를 표로 정리했습니다.
-
C++ 시간·타이머·세마포어 유틸리티 지도: 벤치마크, 주기 작업 드리프트, counting_semaphore, 날짜 서식
sleep_for로 만든 주기 작업의 누적 드리프트, sleep_until의 보정, counting_semaphore로 동시 실행 수 제한, std::format 날짜 서식을 직접 실행해 확인하고 스톱워치, 타이머, 로케일 글로 연결합니다.
-
개발 환경에서 자주 막히는 에러 응급처치표: pip, git, apt, MySQL, CUDA, CORS, Kubernetes
ModuleNotFoundError, git push rejected, 한글 파일명 깨짐, apt lock, MySQL root 접속, CUDA, CORS, Kubernetes Pod 같은 흔한 개발 환경 에러를 증상별로 정리하고 git과 파이썬은 컨테이너에서 재현해 확인했습니다.
-
실시간 서버 만들기 전에 알아 둘 네트워크 기본: TIME_WAIT, select와 epoll, WebSocket·SSE, 채팅 서버 구조
2,000번 연결·종료 뒤 TIME_WAIT 소켓 수, select의 파일 디스크립터 1,024 제한, epoll 등록 성공을 컨테이너에서 직접 확인하고 연결 상태, I/O 멀티플렉싱, 전송 방식 선택, 채팅 서버 구조 글로 이어서 읽는 순서를 제안합니다.
-
릴리스 패키징 자동화: 모듈별 빌드·취합·압축에서 시간과 실수를 줄이는 방법
사람이 모듈마다 빌드해 모아서 압축하는 수동 패키징을 릴리스 매니페스트, 빌드 전 버전 검사, 병렬 빌드와 캐시, 재현 가능한 압축으로 자동화하는 방법입니다. 12개 모듈 데모로 직렬 20.9초가 병렬 9.7초, 변경 없을 때 0초로 줄고 버전 불일치를 빌드 전에 잡는 과정을 실행 결과로 보여줍니다.
-
혼자 만들고 배포하는 개발자의 체크리스트: Cloudflare Pages 배포, 패키징 자동화, 검증 습관, 채용 시장 읽기
사이드 프로젝트를 만들고 배포하며 정리한 순서입니다. 정적 사이트 배포, 릴리스 패키징 자동화, 단계별 검증 규칙, 그리고 AI 시대 채용 시장을 읽는 관점을 실제로 쓴 글들과 연결해 정리했습니다.
-
우분투 로봇 현장 디버깅: SSH 접속, 유선랜 직결, 로그·CPU·네트워크 상태 점검 명령
현장에서 우분투 로봇에 유선랜을 직결하고 SSH로 접속해 로그, CPU·메모리·디스크, 네트워크, ROS 2 상태를 확인하는 순서와 명령을 정리했습니다. 컨테이너에서 직접 실행해 본 출력과 상태 점검 스크립트, 그리고 실제 로봇에서는 확인하지 못한 부분을 구분해 적었습니다.
-
영상 인코딩 도구 고르기: ffmpeg preset과 faststart 실행 결과, GStreamer와의 역할 차이
ffmpeg libx264에서 preset이 시간과 파일 크기를 얼마나 바꾸는지, faststart가 MP4 박스 순서를 어떻게 바꾸는지 합성 영상으로 실행해 확인하고, 파일 변환에는 ffmpeg, 파이프라인 조립에는 GStreamer라는 역할 차이를 실험 글과 연결해 설명합니다.