블로그
-
libVDA5050++ 어댑터 만들기: 핸들러·설정·order 처리 흐름과 실행 확인
libVDA5050++ v2.11.3으로 VDA5050 차량 어댑터를 만드는 법을 설치, Config와 MQTT 설정, 내비게이션·액션·쿼리 핸들러 구현, order 검증과 horizon 갱신, pause·cancel 동작까지 컨테이너에서 실행한 메시지로 정리합니다.
-
Eclipse Paho MQTT C 라이브러리: MQTTClient와 MQTTAsync, 콜백 스레드, 재접속, Last Will
libVDA5050++가 paho.mqtt.cpp를 거쳐 감싸는 Eclipse Paho MQTT C 라이브러리를 정리합니다. 라이브러리 4종과 빌드 옵션, 동기 MQTTClient와 비동기 MQTTAsync의 차이, 콜백이 도는 스레드와 메시지 해제 규칙, 접속 옵션 기본값, 자동 재접속과 재구독, 끊긴 동안의 발행, 영속성, TLS, 디버깅까지 VDA5050 로봇 클라이언트 예제로 다룹니다.
-
git 한글 깨짐 해결: git status 한글 파일명 \354\225\210, 커밋 메시지·diff 깨짐 원인별 정리
git status에 한글 파일명이 \354\225\210처럼 나오는 core.quotepath, 윈도우 PowerShell 코드페이지, git log 커밋 메시지 깨짐, macOS NFD 파일명, CP949 파일 diff 깨짐을 증상별로 구분해 고칩니다.
-
ssh: connect to host port 22: Connection refused 해결: 우분투 24.04 SSH 연결 거부 원인별 점검
SSH Connection refused와 timed out, No route to host의 차이를 구분하고 우분투 24.04 기준 openssh-server 설치, ssh.socket 포트 변경, ufw, WSL2·VM, 보안 그룹, fail2ban을 순서대로 점검합니다.
-
npm install -g 권한 오류 EACCES: permission denied 해결 (우분투·맥, sudo 없이)
npm install -g가 EACCES: permission denied, mkdir /usr/local/lib/node_modules로 실패하는 이유와, sudo 대신 nvm 또는 npm prefix 변경으로 해결하는 방법, root 소유가 된 ~/.npm 캐시 복구, npx 활용, 윈도우 EPERM까지 다룹니다.
-
ModuleNotFoundError: No module named 해결: pip install 했는데 모듈이 없다고 나올 때 (윈도우·맥·리눅스)
pip install로 설치했는데 ModuleNotFoundError가 나는 가장 흔한 이유는 pip와 python이 서로 다른 인터프리터를 가리키기 때문입니다. python -m pip, sys.executable, venv 활성화 오류, VS Code·Jupyter 인터프리터, cv2·sklearn 같은 이름 차이, 상대 import 오류를 순서대로 확인합니다.
-
우분투 MySQL 설치 후 root 접속 안 됨: ERROR 1045 Access denied와 auth_socket, 원격 접속 설정
우분투 22.04/24.04에 apt로 MySQL 8.0을 설치한 직후 mysql -u root -p가 ERROR 1045로 막히는 이유(auth_socket), mysql_secure_installation 무한 반복 오류, 앱 전용 계정 생성, 원격 접속과 ERROR 2002 해결을 설명합니다.
-
우분투 apt Could not get lock /var/lib/dpkg/lock-frontend 해결: unattended-upgr 대기와 dpkg was interrupted 복구
우분투 22.04·24.04에서 apt의 Could not get lock, Unable to acquire the dpkg frontend lock 오류 원인과 잠금 프로세스 확인, 자동 업데이트 대기·중지, dpkg was interrupted 복구 순서를 다룹니다.
-
torch.cuda.is_available() False 해결: CPU 버전 PyTorch, 드라이버, WSL2, no kernel image 오류
GPU가 있는데 torch.cuda.is_available()이 False일 때 torch.__version__의 +cpu 접미사, torch.version.cuda, nvidia-smi의 CUDA Version 의미를 확인하고, 올바른 --index-url로 재설치하는 법과 WSL2·conda 혼용·no kernel image 오류까지 설명합니다.
-
git push rejected 해결: fetch first·non-fast-forward·refusing to merge unrelated histories·divergent branches
git push가 (fetch first), (non-fast-forward)로 거부되는 이유와 merge·rebase 해결 순서, unrelated histories, divergent branches 설정, force-with-lease, GH006 보호 브랜치까지 다룹니다.