이번 글에서는 제너릭 알고리즘에 대한 이야기입니다. 우선 간단하게 제너릭 알고리즘 중 merge 함수의 바른 사용법에 대해서 이야기해보고 본론으로 들어가서 컨테이너와 제너릭 알고리즘에 대해서 이야기 해보겠습니다. merge 함수 바르게 알고쓰기 merge 함수는 두 컨테이너의 반복자를 받아서 대상 컨테이너에 순서대로 요소를 추가하는 함수입니다. 그런데, merge 함수의 5번째 파라미터로 넘겨줄 대상 컨테이너가 문제입니다. merge 함수는 대상 컨테이너에 요소를... Continue Reading →
예외는 프로그램을 죽이기 위해 던져라
프로그램은 죽기 마련이다 프로그램의 정상적인 흐름에 방해가 되는 케이스가 발생했을때 더이상 프로그램의 동작을 감당하지 못할 경우 프로그램은 죽어야 합니다. 다만, 예외를 던짐으로서 프로그램이 이런 이상 흐름에 대해서 아무런 대처도 못하고 죽는 것보다는 마지막 소임을 다하고 죽을 수 있는 기회를 제공할 수 있습니다. 모든 이상 흐름이 프로그램을 죽일 필요는 없다 하지만 프로그램의 정상적인 흐름은 아니지만 새로운 흐름을... Continue Reading →
로그 메시지와 조건 검사
아무리 확률적으로 발생하지 않을 것이라 예상되는 경우라 하더라도 프로그램의 오류를 발생시킬 수 있는 조건에 대해서는 조건 검사를 추가하고 프로그램의 실행 상태가 유지될 수 있도록 한다. 예외를 발생시키는 것은 이미 확률적으로 해당 상황에 대한 예측이 가능한 경우이므로, 적절한 예외 처리 과정을 거친다. 이런 경우가 발생했을 때는 반드시 로그를 남기어 프로그램이 결과에 예상하지 못한 경우가 발생했음을 사용자에게... Continue Reading →
비주얼 스튜디오 컬럼 지시자 활성화
비주얼 스튜디오의 에디터 역시 울트라 에디트, 아크로 에디터 처럼 컬럼 지시자를 표시할 수 있습니다. 라인 당 글자 수 제한, 과연 필요할까? 많은 코딩 규칙에서는 한 라인의 최대 글자 수를 80자로 제한하곤 합니다. 요즘 같이 GUI 기반의 운영 체제가 보급되기 전에는 한 라인에 표시할 수 있는 글자 수는 대략 80자 정도였고, 일부 고해상도 디스플레이를 사용하는 경우... Continue Reading →
Mac 파일 경로 생성하는 방법
Cocoa 프로그래밍에서 파일 경로에 대한 이해 Cocoa 프로그래밍에서 파일 경로를 나타내는 방법은 문자열을 이용하는 방법과 URL을 이용하는 두 가지 방법이 있습니다. Cocoa 프로그래밍에서 URL은 NSUrl 클래스로 카본 프레임웍에서는 CFURL 클래스로 나타냅니다. 파일 경로를 URL로 표기하는 것은 URL 형식의 문자열을 생성하는 것과 같습니다. 따라서, 로컬 파일 시스템의 파일은 local://로 시작합니다. 이는 마치 웹 서버의 위치를 표시하기... Continue Reading →