블로그
-
SSH 프로토콜 보안 원격 접속 | 공개키·ProxyJump·포트 포워딩·OpenSSH 실전
SSH의 키 교환·호스트 검증·사용자 인증 흐름을 짚고, Ed25519 키와 ~/.ssh/config, ProxyJump와 에이전트 포워딩의 차이, 로컬·원격 포트 포워딩, SCP/SFTP, Permission denied·호스트 키 변경·ssh-rsa 거부 같은 오류 대응을 OpenSSH 기준으로 정리합니다.
-
AAC vs MP3 vs Opus 오디오 코덱 비교 | 음질·비트레이트·호환성 가이드
음악 스트리밍, WebRTC 화상회의, 팟캐스트처럼 용도가 다를 때 AAC·MP3·Opus 중 무엇을 골라야 하는지 음질·지연·호환성·라이선스 기준으로 비교하고, 바로 쓸 수 있는 FFmpeg 인코딩 명령을 함께 제공합니다.
-
MP3 오디오 코덱 실전 활용 | LAME·CBR·VBR·FFmpeg 인코딩 가이드
LAME의 CBR·VBR·ABR 모드를 언제 써야 하는지 FFmpeg 인코딩·일괄 변환 명령과 함께 설명하고, VBR 재생 시간 오류, 클리핑, 샘플레이트 불일치처럼 MP3 작업에서 자주 부딪히는 문제의 해결법을 다룹니다.
-
Opus 오디오 코덱 | SILK·CELT 구조, WebRTC 설정, FFmpeg 인코딩
Opus가 음성용 SILK와 음악용 CELT를 어떻게 오가는지 설명하고, WebRTC·게임 보이스챗·팟캐스트에 맞는 FFmpeg 비트레이트와 프레임 길이 설정, 패킷 손실 대응, 구형 기기 미지원 문제의 해결법을 다룹니다.
-
MP4 vs MKV vs WebM 컨테이너 비교: 호환성, 스트리밍, 자막
웹 배포, 블루레이 아카이브, 온라인 강의처럼 목적이 다를 때 MP4·MKV·WebM 중 무엇을 쓸지 코덱 조합·자막·스트리밍·편집 툴 지원 기준으로 비교하고, 컨테이너 간 리먹스 FFmpeg 명령을 제공합니다.
-
MKV(Matroska) 컨테이너 실전 활용 | EBML·다중 자막·FFmpeg 리먹스
Matroska의 EBML·Segment·Cluster 구조를 이해한 뒤, FFmpeg와 mkvtoolnix로 다중 오디오·자막 트랙과 챕터를 추가·제거하고 MKV를 MP4로 리먹스하는 방법, 브라우저 재생 실패 같은 문제의 해결법을 다룹니다.
-
MP4 컨테이너 구조: ISO BMFF 박스, moov·mdat, fMP4와 FFmpeg 실전
MP4의 ftyp·moov·mdat 박스 배치가 재생 시작 속도에 주는 영향을 설명하고, -movflags +faststart와 fragmented MP4 생성, HLS 세그먼트 출력, 웹·모바일 호환성을 맞추는 FFmpeg 명령을 사례별로 제공합니다.
-
WebM 컨테이너 웹 표준 | VP9·AV1·Opus·HTML5·FFmpeg 입문
WebM이 Matroska에서 허용 코덱을 VP8·VP9·AV1과 Vorbis·Opus로 좁힌 이유를 설명하고, HTML5 video 태그용 인코딩, 다중 품질 출력과 배치 처리, 스트리밍 최적화를 위한 FFmpeg 명령을 입문자 눈높이에서 다룹니다.
-
C++ 서버 메모리 누수 디버깅 사례: Valgrind·ASan·Heaptrack으로 리스너 누적 찾기
계속 늘어나는 C++ 채팅 서버 메모리를 예로, RSS 지표로 누수 여부를 판단하고 Valgrind, ASan, Heaptrack을 각각 어디에 쓰는지, 해제되지 않는 이벤트 리스너를 어떻게 찾아 RAII로 고치는지 설명합니다. CI에 ASan을 넣을 때 잡히지 않는 누수의 종류도 다룹니다.
-
C++ REST API 성능 최적화 예제: perf로 병목 찾고 해시맵 인덱스·참조 반환으로 응답 시간 줄이기
사용자 목록을 반환하는 C++ REST API를 예로 들어, 벤치마크 기준선을 잡고 perf로 핫스팟을 찾은 뒤 요청마다 전체를 훑던 탐색을 해시맵 인덱스로 바꾸고, User 복사를 참조 반환으로 없애고, JSON 직렬화를 정리하는 과정을 연산 횟수 기준으로 설명합니다. 요청 안에서의 병렬화가 왜 위험한지도 다룹니다.