블로그
-
RTMP(Real-Time Messaging Protocol) 레퍼런스 — 핸드셰이크·청크·Nginx·FFmpeg·OBS
RTMP의 앱 수준 핸드셰이크와 청크 스트림, AMF0 명령 메시지 구조를 짚고, Nginx-RTMP 설정, FFmpeg·OBS 송출, Node.js 서버 구성을 예제로 다룹니다. RTMPS·RTMPT의 차이와 연결 실패·지연·방화벽 문제를 점검하는 순서도 정리했습니다.
-
RTSP(Real Time Streaming Protocol) 레퍼런스 — RFC 2326·7826·SDP·RTP·IP 카메라
RFC 2326/7826 RTSP·SDP·RTP/RTCP, IP카메라·ONVIF·Digest, FFmpeg·GStreamer, NAT·방화벽, 버퍼·GOP·멀티스트림까지 실시간 수신·릴레이·녹화를 설계하는 가이드입니다.
-
VDA5050 커스텀 데이터 전송 가이드 - actionParameters·informations로 표준 확장하기
VDA5050 표준 필드 밖에서 제조사 고유 데이터를 주고받는 법. actionParameters, state.informations, factsheet 확장 필드, 커스텀 MQTT 토픽, 스키마 호환성까지 실전 정리.
-
ROS2 통신의 실체: RMW 계층과 Fast DDS, QoS 정책, XML 프로파일, Discovery Server
ROS2 통신의 실체인 RMW 추상화 계층과 Fast DDS를 파헤칩니다. QoS 정책, XML 프로파일, Discovery Server, 서브넷/Docker 트러블슈팅까지 실전 예제로 정리합니다.
-
효율적인 디버깅 팁 — 빠르고 정확하게 버그를 잡는 사고방식
간헐적 버그를 재현 가능한 상태로 만드는 법, 가설을 세우고 검증하는 순서, 코드·커밋·데이터·설정 범위에 이분 탐색을 적용하는 방법을 다룹니다. 스택 트레이스와 에러 메시지 읽는 법, 로그와 디버거 중 무엇을 쓸지 고르는 기준, 프로덕션 디버깅의 차이도 설명합니다.
-
소프트웨어 엔지니어가 알아야 할 AMR 기초: AGV와의 차이, SLAM, 경로 계획, ROS2
AMR이 정해진 길을 따라가는 AGV와 어떻게 다른지, SLAM·센서 퓨전·파티클 필터·전역/지역 경로 계획이 어떻게 이어지는지, ROS2의 노드와 토픽 구조가 코드베이스를 읽는 데 왜 필요한지 소프트웨어 엔지니어 관점에서 설명합니다.
-
AMR 경로 계획에서 미션 실행까지: A*·DWA·Nav2와 VDA5050 오더의 물리 동작 검증
코스트맵 위에서 A*가 전역 경로를 찾고 DWA·TEB가 매 제어 주기마다 속도를 고르는 과정, Nav2가 이를 하나의 스택으로 묶는 방식, 그리고 VDA5050 오더가 리프트·컨베이어·그리퍼 동작으로 실행되고 검증되는 과정을 다룹니다.
-
JSON 직렬화에서 데이터가 사라지는 경우: Date·BigInt·순환 참조, 검증, 대용량 성능
JSON.stringify/parse, json.dumps/loads부터 Date·BigInt·순환 참조 데이터 손실, Zod/Pydantic 검증, 대용량 페이로드 성능까지 언어 무관으로 정리한 직렬화 가이드.
-
우분투에서 kitty 터미널 사용하는 개발자 팁 | 설치·설정·SSH terminfo 해결까지
우분투에서 kitty 터미널을 apt 또는 공식 스크립트로 설치하고 kitty.conf, Nerd Font, 테마, 레이아웃을 설정하는 방법과, SSH 접속 시 xterm-kitty terminfo 오류를 ssh kitten이나 수동 복사로 해결하는 과정을 다룹니다.
-
AGV·AMR 플릿 게이트웨이 개발 가이드 - 이기종 로봇과 관제 시스템을 잇는 미들웨어 아키텍처
VDA5050을 쓰지 않는 로봇까지 섞인 AGV·AMR 플릿을 WMS/MES에 연결할 때, 어댑터형·브로커 중심·사이드카형 게이트웨이 중 무엇을 고르고 재연결·멱등성·페일세이프를 어떻게 설계할지 다룹니다.