과거 오래된 문서화 자료나 기타 패키지의 폴더 내용을 쭉 트리 구조로 리스팅 해 놓으면 검색 및 분석에 용이한 경우가 있습니다. 개발자에 따라 여러 방법이 있겠지만 검색 및 분석 방법으로 생각나는 것을 대충 정리해보면 윈도우 탐색기로 폴더를 클릭 하면서 찾아보거나콘솔에서 cd 명령을 입력하면서 보거나find나 grep 기타 검색도구로 특정 단어로 검색할 수 도 있습니다. 다음의 방법들은 전체적인 디렉토리 및 폴더의 그림을 확인하는 방법들 입니다. ■ 윈도우 환경 윈도우 환경을 쓰는 분은 간단히 tree /F라고 입력 하면 위의 그림과 같이 트리구조로 파일명까지 출력합니다. 결과를 파일로 저장하시려면 tree /F > result.txt 와 같이 명령을 이용하면 됩니다. ■ 리눅스 환경 리눅스 환경에서도 ..
얼마전 프로젝트에서는 영문 윈도우 개발환경을 사용해야 했는데, 영문 환경에서 이전 프로젝트의 공통 모듈을 사용하려다 보니 한글로 기입했던 주석들이 모두 깨져 보이는 문제가 발생했습니다(물론 영문 윈도우 환경에서 비주얼스튜디오를 사용했습니다). 그래서 jEdit 텍스트 편집기로 해당 소스를 불러보았더니 정상적으로 표시되었습니다. jEdit에서는 EUC-KR을 기본 인코딩을 설정해 놓았기 때문이었는데 이것을 UTF-16 인코딩으로 바꾸어서 저장한 다음 비쥬얼스튜디오에서 다시 열어보니 정상적으로 보여졌습니다. jEdit에서의 인코딩 변환은 화면 우측 하단에 있는 인코딩 표시를 더블클릭하여 위의 화면과 같이 조정하신후 저장하시면 됩니다. 문제는 헤더, C/C++소스, 텍스트등 한글이 포함된 것을 일일이 하나씩 ..
개인적으로 프로그램을 제작 하거나, 오픈 소스로 자유롭게 코딩하는 경우가 아니라면 대부분의 프로젝트나 개발조직에서는 프로그램 제작 지침이나 표준을 만들어서 개발자들로 하여금 상호 약속한 형식에 맞게 코드를 작성하도록 가이드 하는 경우가 있습니다. 대부분의 개발자들이 짜증내며 힘들어 하는 일이지만, 협업의 효율성을 높이고, 코드의 가독성(Readability)을 향상시키며개발자 스스로에게도 디버깅을 용이하게 하는 장점이 있습니다. 물론 제한적이기는 하지만 일단 개발자는 가이드로 부터 자유롭게 개발하고, 디버깅까지 수행한 다음 Code Beautifier를 통해서 일괄 정리하는 방법이 있기는 합니다. 이번 포스팅에서는 일단 약속한 코드 작성 표준에 따라 코딩하는 과정에서 한줄에 너무 긴 코드 작성이 되지 않..
무텍스(Mutex)는 MUTual EXclusion(상호배제)의 의미이며, 특정 시점에 프로세스 또는 스레드 간에 특정 자원이나 역할에 대해 우선권을 갖는 문제를 교통 정리하기 위해서 시스템에서 제공하는 자원 입니다. 유닉스/리눅스나 윈도우 모두 대표적인 IPC(Inter Process Communication) 자원으로 공유메모리, 메시지 큐, 세마포어를 제공하는데 세마포어와 유사한 개념이라고 할 수 있습니다. 자원의 우선권을 획득하기 위해 줄서고, 자원 사용이 끝나면 반환하는 형태는 Mutex나 세마포어나 유사하다고 볼 수 있습니다. 여러 프로세스나 스레드가 동시에 작업을 할 수 없는(동시에 작업을 한다면 문제가 생기는...) 부분에 Mutex를 배치함으로서 시스템 전체적으로 정확한 작업을 할 수 있..
비주얼스튜디오를(이하 VS) 사용하는 VS 고수분들은 자주 사용하는 기능 일 수 있지만 아직 이 기능을 접해보지 않은 개발자에게는 마술과 같은 결과를 도출할 수 있는 방법입니다. 이해를 돕기위해 이런 경우를 상정해 볼까합니다.PutLog( ERROR, 1, "Program started!!!"); 같은 형태로 프로그램 실행중 계속적으로 로그를 찍는 프로그램을 쭉 작성해 놓았습니다. 전체 프로그램 개수와 라인은 몇 천일지 몇 만 일지 모르고요. PutLog함수 호출시 첫번째 파라미터는 로그의 종류, 두번째는 심각성을 설정하기로 했었는데 #define문을 찾기도 귀챦고 대부분 GENERAL(1)이어서 Name을 쓰지 않고 그냥 값을 쓴 경우도 허다한 상황이 입니다. 그런데, 코드 리뷰 과정에서 코딩 규칙을 ..