얼마전 Apple 제품 두개를 같이 장만하게 됬다. MacBook Pro 15' 하고 iPod touch 8G. 요즘 환률이 많이 올라서 제품가격이 처음 이녀석들을 노릴때에 비해서는 많이 올랐지만 좋은 계기가 생겨서 다행히 장만하게 됬다. 친구 녀석도 얼마전 학교를 떠나면서 내꺼보다 한단계 윗 모델로 장만...
올라간 가격때문에 막판까지 맥북을 살까말까 고민을 많이 했던 반면, iPod touch의 경우는 조만간 출퇴근 시간등 이래저래 짜투리 시간이 늘어갈 것이 뻔한 관계로 mp3가 있으면 어떨까 싶어서 알아보기 시작했는데 막상 알아보다보니 이 녀석 기능이 만만찮은게 오히려 더 사고 싶어졌다.
이 두 녀석을들 만져가면서 한가지씩 알아가는 중이다.
맥북과 덩달에 장만한 Wireless Mighty Mouse, 맥북덕에 펄펄 날고 있는 HHK2 pro :)
CAPTCHA는 아래 그림을 보면 바로 알아차리겠지만 웹 봇이 정보를 자동으로 얻을 수 없도록 OCR 기법을 통해서는 인식할 수 없는 (하지만 사람은 알아볼 수 있는) 찌그러트린 글자를 화면상에 보여주어 그것을 입력해야만 다음 단계로 넘어갈 수 있도록 하는 웹페이지의 장치이다. (좀 더 자세한 블로그의 글)
언제부터인가 Matlab editor에 cell mode라는 기능이 추가되었다. 기억상으로는 R2006부터가 아니었을까? 지금 내가 사용하고 있는 기능 이외에 추가적으로 다양한 기능이 있는 것 같지만 몇가지만 꼽아보자면
선택된 cell 부분의 바탕색 강조 기능
선택한 cell만을 단축키만으로 실행가능 (Ctrl+Enter)
cell별 출판(publish) 기능
출판기능은 지금 글에서는 논지에서 벗어나므로 기회가 되면 다른 글에서 설명하구, cell기능에 대해서만 살펴보자.
부가적으로 제공되는 현재 커서가 위치한 줄의 바탕색을 지정해서 쉽게 찾을 수 있도록 하는 기능 이외에 선택된 cell은 기본적으로 약간 노란색의 바탕색으로 표시된다. (물론 옵션을 이용해서 각자 자기가 좋아하는 색으로 설정가능하다.)
가장 편리한 기능은 뭐니뭐니해도 선택된 cell만을 Ctrl+Enter 조합으로 간단하게 실행할 수 있다는 점이다. 일일이 마우스로 긁어서 우클릭해서 실행하지 않아도 된다구 (물론 F9를 누르면 실행되기는 하지만 긁는 부분이 한 화면을 넘어간다면 너무 귀찮은 일이 되버린다.)
근데 잘 사용하다가 오늘 하나의 문제라면 문제점을 발견했다. 종종 simulation code를 짜면서 아래쪽에 결과를 확인하는 그림을 그리는 routine을 추가하고는 하는데 편하게 전체 code를 실행하기 위해서는 보통 F5를 사용하기 마련이다. 또한 항상 그림으로 결과를 확인하지 않는다면 나의 경우는 그림을 그리는 routine앞에 return 함수를 적어둔다. 문제는 이 경우 그림그리는 부분의 cell이 제대로 나눠지지 않는다는 점이다. 화일의 제일 마지막 부분에 있는 cell만이 정상적으로 선택되고 나머지 return 아래에서 마자막 cell 전까지는 제대로 cell이 선택되지 않고 제멋대로 나눠져버린다. return 함수가 cell의 정상적인 구분을 못하도록 하는 것 같다. (물론 버그겠지.)
일단 편법으로 이렇게 하기로 했다.
% return control
ExecuteAloneMode = 1;
# Wanted EOF point
if ExecuteReturnMode
return;
end
이렇게 하면 main code 뒷부분의 cell도 정상적으로 나눠지고 편하게 실행할 수 있다.
실제로 구글링을 해보면 나오겠지만 코딩용 폰트에 대한 사람들의 관심은 아주 높다. 실제로 일반적인 글을 읽을때와 달리 코드의 경우 가독성을 높이기 위해서는 일반적인 폰트와는 달리 몇가지 꼭 필요한 점들이 있다. 뭐 예를 들면
글자 간격이 같아야 하고
숫자 0과 알파벳 o/O의 구분이 쉬워야한다
숫자1하고 알파벳 l 또는
알파벳 l 과 i의 구분이 쉬울 것 등이다.
대체적으로 인터넷에서 볼 수 있는 대표적인 폰트들은 Fixsys/consolas/Bitstream sans mono 등이 있는 것 같다. 더불어 찾을 수 있는 것은 한글폰트에 대한 문제다. 위의 3개의 폰트는 당연한 말이겠지만 한글폰트를 포함하고 있지 않다. 솔직히 코딩하면서 모든 주석을 영어로만 다는것도 곤혹스러운 문제일수 있다. 대부분의 방법은 윈도에서 각 폰트에 대응하는 한글폰트를 연결해주는 registry를 등록하는 것이다. 윈도우 상에서 동작하는 대부분의 개발환경에서는 이런방법을 사용해서 한글 폰트문제를 해결할 수 있다.
그런데 내 경우는 이런 방법을 통해서도 해결되지 않는 대표적인 플그램이 있었으니 그건 바로 Matlab 이다. 당연히 해결될줄 알았던 Matlab editor에서의 한글 주석 문제가 하나도 해결이 안되는 것이 아닌가. 만약 coding font를 consolas로 지정할 경우에는 한글 주석은 registry를 수정하던말던 ㅁ글자로 깨져보인다. 내부적으로 자체적인 폰트사용 루틴이 있던지 그런 것 같다. 뭐 Matlab 홈페이지에서 검색해봐도 대부분의 글올리는 사용자들은 당연히 영어권사람들인고로 폰트에 대한 불만은 찾아보기 어렵다.
불편한대로 일단 Microsoft에서 제공하는 consolas를 이용하고 있었다. Matlab에서 기본적으로 제공하는 글꼴은 Fixsys이지만 일단 consolas의 맛을 보고난 뒤로는 다시 그리로 돌아갈 수 없었다. (가독성이 너무 차이가나... :( ) 결국 모든 주석을 영어로 작성하고 있었다.