리눅스 환경에서의 프로그래밍 과정에서 편리한 통합 개발 환경의 존재는 프로그래머에게 날개를 달아주는 것이다. 맥 환경의 XCode나 윈도우 환경의 비주얼스튜디오가 바로 그런 존재이다. 물론 리눅스 환경에서도 NetBeans, CodeBlocks 등을 사용할 수 있지만 비주얼스튜디오 코드의 등장은 여러모로 반갑다. 필자의 경우 C/C++ 개발 과정에서 gdb와 연동하여 디버깅하는 과정은 나름 만족스러운 수준이다. 그런데 복병이 등장했다. 프로그램이 네트워크 인터페이스나 통신 포트와 같은 시스템 자원을 직접 접근하는 경우에는 sudo 권한이 필요한데 일반적인 상황으로는 sudo 권한을 받는 과정에서 실패하여 디버깅을 할 수 없었다. 여러 가지 해결책이 있으나 시스템 보안을 유지하며 자연스럽게 이러한 필요를 ..
주기억 장치에서의 데이터 처리의 최소 단위는 바이트입니다. 물론 기억소자나 통신 과정에서는 비트 단위까지 다루어지 지지만 사람이 인지하는 대부분의 데이터 표현은 바이트 단위가 기본입니다. 그런데 메모리에 저장한 데이터를 어떻게 해석하는지에 따라 데이터는 단순 바이너리 값으로 숫자나 이미지 데이터를 표현하는 정보일 수도 있고, 십진수를 저장하는 값일 수도 있으며(BCD), 영문자, 숫자, 특수문자를 표현할 수도 있습니다(EBCDIC, ASCII). 한 바이트가 아닌 둘 이상의 바이트를 가지고 고정 소숫점을 표현하는 이진값을 나타낼 수도 있고, 더 큰 범위의 수를 표현하기 위한 부동 소숫점을 표현할 수도 있을 뿐만아니라 한국어(CP949, EUC-KR, UTF-8)와 같은 다양한 언어를 표현할 수도 있습니다..