저의 개발 환경을 소개 합니다.

회사에서 제가 사용하는 개발 환경을 소개합니다. 제가 하는 일은 프로그래밍 언어의 compiler, interpreter, traslator를 개발하는 것 입니다. 주로 사용하는 툴은 gcc, flex, bison, subversion, vi, eclipse 등등 이구요.

한동안 console + screen + vi 환경을 고집하다 eclipse + vi plugin으로 넘어온지 몇달 되었습니다.


자주 들여다보는 flex, bison description의 syntax highlighting이 안된다는 것을 제외하고는 매우 만족스럽습니다. 특히 eclipse를 사용할때 가장 좋은 점은 Refactor > Rename 기능을 제공하기 때문에 변수, 함수 등의 이름을 바꾸기가 편리하다는 것 입니다.

제가 사용하는 컴퓨터에는 Vista가 설치되어 있고, VMWARE 환경에서 Ubuntu를 부팅해 놓고 개발환경으로 사용하고 있습니다. 2GB의 메모리를 할당해서 개발환경으로 부족함 없이 잘 동작합니다. 이렇게 설정해 놓은 덕분에 윈도우와 리눅스를 아주 편리하게 동시에 사용하고 있습니다.

console 환경에서 기본적인 툴을 다루는 능력이 뒷받침 된다는 전제하에, 다양한 개발 도구, 개발 환경에 대하여 열린 자세를 지니는 것은 개발자가 가져야할 중요한 덕목이라고 생각합니다. 좀 더 효율적으로 일할 수 있는 방법에 대한 끊임 없는 고민이 우리의 퇴근 시간을 앞당겨 줄 수 있을테니까요.

SteerMouse 3.9

맥을 사용하면서 가장 불편한 것은 바로 마우스의 움직임 입니다! 가속도가 적용되는 방식에 적응하기가 쉽지 않네요. 더군다나 회사에서는 윈도우, 리눅스를 쓰고 집에서 잠깐 맥을 사용하다보면 맥의 마우스 방식이 너무 불편하게 느껴집니다.

맥에서는 마우스가 같은 거리를 움직이더라도 빠르게 움직이면 포인터가 많이 이동하고, 느리게 움직이면 적게 이동합니다. 윈도우의 경우에는 빠르던지 느리던지 동일하게 이동하기 때문에, 이런 습관대로 맥에서 마우스를 움직이면 정교한 컨트롤을 하기 어렵고 손목이 아파옵니다.

게다가 기본적인 마우스 속도도 굉장히 느립니다. 덕분에 24인치 아이맥 화면을 기본 마우스 설정으로 돌아 다니다 보면 속에서 천불이 나죠! 그래서 마우스 속도를 높이고자 주로 사용되는 프로그램이 MouseZoom 입니다. 그러나 여전히 가속도를 반영하는 움직임으로 인한 불편함은 해결되지 않죠. 이 때 이와 같은 문제를 어느정도 개선해 주는 프로그램이 바로 SteerMouse 입니다.

http://www.apple.com/downloads/macosx/drivers/steermouse.html
약간의 설정을 해주니 윈도우랑 별차이를 못 느끼겠군요. 맥에서 마우스 사용에 불편함을 겪고 계신 분이라면 꼭 한번 설치해 보세요.

나눔고딕 코딩글꼴

NHN에서 프로그래머를 위한 나눔고딕 코딩글꼴을 배포하였습니다! 회사에서(Vista) 집에서(Mac) 나눔고딕을 사용해왔는데 코딩글꼴까지 나와서 정말 반가웠습니다.

http://dev.naver.com/projects/nanumfont

백문이 불여일견! 다양한 환경에 적용된 스크린 샷을 보여드리겠습니다.

Window Vista: Putty

Ubuntu Linux: Eclipse


Ubuntu Linux: Gnome Terminal


Mac OS X Leopard: Terminal

윈도우 환경에서는 지금까지 Dina를 주로 사용했습니다. 그래서 그런지 Putty에서 나눔고딕 코딩글꼴을 적용해 보니 비교적 선명하지 않은 느낌이 들어 아쉬웠습니다. 그러나 리눅스나 맥의 경우에는 아주 만족스러웠어요. 당분간은 이 폰트만 사용하게 될 것 같습니다. 그러나 약간의 문제가 있습니다.

리눅스의 경우, 그놈 터미널에 적용했을때 커서가 두글자 크기로 잡히면서 다음 글자를 가려버리는 현상이 발생하더라구요. 해결 방법은 다음 URL에 잘 정리되어 있습니다.
http://dev.naver.com/wiki/nanumfont/index.php/TroubleShooting

맥의 경우, 터미널의 Preference에서 나눔고딕 코딩글꼴로 설정한 후 터미널을 완전히 종료하고 다시 실행하면 다른 폰트로 설정이 바뀌어 있습니다. 그래도 맥에는 Monaco라는 예쁜 고정폭 글꼴이 있어서 그리 아쉽지는 않네요.

Putty에 적용했을때를 제외하고는 대체로 매우 만족스럽습니다. 프로그래머라면 한번 사용해 보세요.

Objective-C 공부중

본격적으로 iPhone 어플리케이션을 개발해 보려고, 기초가 되는 Objective-C 언어를 공부중입니다. 컴파일러팀에서 일하다보면 다양한 언어를 접하게 되는데 이녀석도 만만찮게 독특한 개성을 지니고 있는 듯 합니다. 특히나 Smalltalk에서 가져온 복수의 파라메터를 가지는 메서드의 정의 및 호출 방식은 굉장히 독특하네요.


Objective-C를 공부하면서 본격적으로 Xcode를 사용하고 있습니다. vi 에디터 기능을 쓸 수 없다는 것을 빼고는 훌륭합니다! 화면에 노란 줄이 Warning 메세지 입니다. 소스코드에 바로 Error, Warning을 표시해 주네요. 블로그에 공부한 지식을 정리할 수 있는 수준히 되도록 틈틈히 부지런히 공부해야겠습니다.

Caps Lock키를 Ctrl키로 활용하기

저는 주로 해피해킹프로2 키보드를 사용합니다. 이 키보드는 일반 키보드와 키 배열이 조금 다른데, Caps Lock키 자리에 Control키가 위치하고 있습니다. 일반 키보드에 왼손을 가만히 가져다 놓으면 아래에 위치한 Ctrl키보다 가운데 위치한 큼직한 Caps Lock키를 새끼 손가락으로 누르는 것이 훨씬 편하다는 것을 알 수 있습니다. 해피해킹 키보드를 사용하면서 습관이 되서 그런지 저는 일반 키보드에서도 Caps Lock키를 Ctrl키로 바꿔서 사용하곤 합니다. 실제로 훨씬 편하기도 하구요. 각 운영체제 별로 그 요령을 알아보도록 하겠습니다.

System Preferences > Keyboard & Mouse에 가셔서 Keyboard 탭의 아래쪽을 보시면 Modifier Keys… 버튼이 있습니다. 이걸 누르시면 Caps Lock, Control, Option, Command Key에 대한 키매핑을 수정할 수 있습니다.  Caps Lock을 Control로 매핑해 주시면 설정이 완료됩니다!

리눅스

일회성 방법
쉘에 다음 내용을 입력하세요.

xmodmap -e ‘keycode 66 = Control_L’
xmodmap -e ‘clear Lock’
xmodmap -e ‘add Control = Control_L’

xmodmap -e ‘keycode 117 = Caps_Lock’
xmodmap -e ‘add Lock = Caps_Lock

영구적인 방법
~/.Xmodmap에 다음 내용을 추가하세요.

keycode 66 = Control_L
clear Lock
add Control = Control_L
keycode 117 = Caps_Lock
add Lock = Caps_Lock

참고: http://efod.se/writings/linuxbook/html/caps-lock-to-ctrl.html

윈도우

첨부파일을 열어보시면 2개의 레지스트리 파일이 있습니다. 하나는 Caps Lock키를 Control키로 매핑하고 다른 하나는 원래 상태로 돌려 놓습니다. 실행시키고 재부팅 하시면 설정이 완료됩니다.

494f28e2de5e2CJ.zip