블로그
-
Kubernetes Pod가 안 뜰 때: CrashLoopBackOff·ImagePullBackOff·Pending 원인 찾기
Kubernetes Pod 트러블슈팅. CrashLoopBackOff, ImagePullBackOff, Pending 상태의 흔한 원인과 kubectl logs·describe·events로 원인을 찾는 순서, 원인별 해결 방법을 정리합니다.
-
libVDA5050++ 어댑터 만들기: 핸들러·설정·order 처리 흐름과 실행 확인
libVDA5050++ v2.11.3으로 VDA5050 차량 어댑터를 만드는 법을 설치, Config와 MQTT 설정, 내비게이션·액션·쿼리 핸들러 구현, order 검증과 horizon 갱신, pause·cancel 동작까지 컨테이너에서 실행한 메시지로 정리합니다.
-
Linux 디스크 full vs inode full 해결 순서 | 용량·아이노드 트러블슈팅
“No space left on device”가 떴을 때 df -h와 df -i로 블록 부족과 inode 고갈을 먼저 구분하고, 큰 디렉터리·작은 파일이 몰린 경로·Docker 잔여물·삭제됐지만 열려 있는 파일(lsof +L1)을 차례로 찾아 정리하는 순서를 다룹니다.
-
맥·우분투 터미널 유틸 추천: ripgrep, fd, bat, fzf, tmux 설치와 이름 함정
ripgrep, fd, bat, fzf, jq, tmux, zoxide, eza, btop을 우분투 24.04 컨테이너에서 설치해 실제 버전과 명령 이름을 확인했습니다. 우분투에서는 fd가 fdfind, bat가 batcat으로 설치되는 점, ripgrep과 grep의 속도 비교 결과, 맥 Homebrew 이름을 함께 정리합니다.
-
MQTT 프로토콜과 발행-구독 메시징 모델 이해하기
MQTT의 Pub/Sub 구조와 Broker·Topic 개념, QoS 0/1/2 차이, Last Will·Retained Message 같은 실무 기능을 Python·Node.js 예제로 설명합니다.
-
우분투 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 해결을 설명합니다.
-
TCP vs UDP 전송 프로토콜 비교 | 신뢰성·지연·QUIC까지 선택 가이드
TCP와 UDP를 표로 외우는 대신 Wireshark 캡처에서 재전송·Dup ACK·손실이 어떻게 보이는지로 차이를 익히고, DNS·VoIP·게임·QUIC(HTTP/3)이 각각 어떤 이유로 전송 방식을 택했는지 실무 선택 기준으로 정리합니다.
-
HTTP vs FTP vs SSH 프로토콜 비교 | 용도·보안·파일 전송 선택 가이드
HTTP(S), FTP/FTPS, SSH(SFTP·SCP)의 포트·인증·암호화 방식과 채널 구조 차이를 비교하고, 웹 API·대용량 파일 전송·원격 서버 관리 상황별로 어떤 프로토콜을 고를지와 FTP에서 SFTP나 객체 스토리지로 옮기는 절차를 curl·OpenSSH 예제로 다룹니다.
-
FTP 프로토콜 실전 활용 | Active·Passive·FTPS·SFTP와 파일 전송 운영
FTP의 제어 채널과 데이터 채널이 따로 열리는 구조, Active와 Passive 모드에서 방화벽·NAT 때문에 전송이 실패하는 이유, lftp 클라이언트와 vsftpd chroot 설정, 평문 FTP 대신 FTPS나 SFTP로 옮길 때의 차이를 초급자 눈높이로 설명합니다.
-
HTTP 프로토콜: HTTP/1.1·HTTP/2·HTTP/3 차이, 연결 관리, 캐싱, 보안 실전
HTTP 메서드의 안전성과 멱등성, 상태 코드와 주요 헤더, HTTP/1.1·2·3의 프레이밍과 HOL 블로킹 차이, Keep-Alive와 연결 풀, Cache-Control·ETag 기반 캐시 검증을 프로덕션 관점으로 설명합니다.