Mac으로 개발하기

안녕하세요. 개발팀의 임현수입니다. 오늘은 화요일, 바로 제가 짜파게티.. 아니 블로그에 글 쓰는 날입니다. 게을러서 제 블로그에도 글을 잘 안쓰고 있는데, 팀 블로그에 글을 쓰다니..흑흑.. (여기 쓰고, 나중에 정리해서 내 블로그에 옮겨야지)

이번엔 OS X와 윈도우를 사용하고 있는 제 개발환경에 대해 써보려고 합니다.

환경

아래 사진은 제 책상입니다. LCD 2대와 맥북이 놓여있죠. 책상 아래에는 윈도우가 깔려 있는 데스크탑이 있습니다. 오른쪽 LCD는 맥북과 연결되어 있고, 오른쪽 LCD는 데스크탑과 연결되어 있습니다. 즉, 1대의 랩탑과 1대의 데스크탑을 쓰고 있는 셈입니다. 2대의 컴퓨터를 Synergy를 통해 1개의 키보드/마우스로 쓰고 있습니다. 듀얼모니터의 생산성 향상에 대해서는 이미 많은 연구 결과들이 뒷받침해 주고 있습니다. 굳이 조엘 아저씨가 아니더라두요. :)

사용자 삽입 이미지

키보드는 3년동안 라이트 버전을 쓰다가, 얼마전 큰맘먹고 지른 해피해킹2프로입니다. 마우스는 개발도, 웹서핑도, FPS게임도 내 맘대로 움직여주는 MS 인텔리 옵티컬 1.1이고, 마우스패드는 위키북스 사장님이 선물해주신 X-Ray Thunder 8 입니다. :D (쓸데없는 자랑모드-_-) 벽에 붙어 있는 것은 TextMate Cheat Sheats이고, 타이머는 Perky님 등 많은 분들이 쓰고 있는 모델이죠. 뒤에 보이는 플립시계는 C2 발표회때 받은 것입니다.

마우스/키보드 같이 쓰기 : Synergy

시너지는 운영체제에 상관없이 (리눅스, 유닉스, OS X, 윈도우 등), 키보드/마우스를 공유할 수 있는 오픈소스 솔루션입니다. 이미 많은 분들이 애용하고 있죠. 맥북을 시너지 클라이언트, 데스크탑을 시너지 서버로 설정했고, 당연히 키보드/마우스는 데스크탑에 연결 했습니다. 컴퓨터가 부팅되면 시너지 서버와 클라이언트는 자동으로 실행되기 때문에, 심리스하게(-_-) 사용할 수 있습니다.

윈도우와 OS X를 시너지로 연결할 때 Super(윈도우의 윈도우키, OS X의 커멘드 키)키와 Alt키가 뒤바껴 눌릴 수 있습니다. 이땐 시너지 서버의 Configure - Screen's Edit - Modifier에서 Alt와 Super의 매칭을 바꿔주면 됩니다. OS X에서 한글 상위로 사용할 때 bus error가 날때는 이 글 을 참고하면 됩니다.

맥의 마우스 감도는 윈도우보다 많이 떨어집니다. 이를 보완할 수 있는 유틸리티나, MS/로지텍의 마우스 드라이버를 깔면 좀 괜찮아지지만, 민감한 분들은 견디기 힘들 수 있습니다. 저 역시 그래서 윈도우에 마우스를 연결했습니다. 하지만, OS X의 TextMate를 쓰는 경우에는 휠스크롤이 너무 느리게 동작한다는 문제점이 있습니다. 이는 외국에서도 몇몇 사람이 문제제기를 했으나, 아직 마땅한 해결책은 나오지 않았습니다. 이 점이 걸리신다면, 맥을 시너지 서버로 사용하는게 좋습니다.

텍스트 편집기 : TextMate

맥에는 TextMate라는 쿨-한 편집기가 있습니다. TextMate를 쓰기 위해 맥을 쓴다는 사람들이 있을만큼, 말 그대로 "The missing editor"라고 불릴만 합니다. 루비 온 레일스의 스크린캐스트 덕택에 더욱 유명해졌지요. 저 역시, 블로그 15분 만들기를 보고 사게 되었으니까요.

하지만, 한글을 제대로 표현해 주지 않는 등의 문제가 있습니다. 2바이트 언어권 문제는 레오퍼드 이후에 해결될 예정이니, 그 동안은 별도의 한글 글꼴을 사용해야 합니다.

TextMate에 대한 글들은 이곳과, Official Website의 Screencast를 보면 되겠습니다.

MAMP (Mac + Apache + Mysql + PHP)

펌핏과 IDTail은 APM(Apache, PHP, Mysql) 환경에서 개발되었습니다. 윈도우/리눅스에서 이를 APM이라 한다면, 맥에서는 앞에 Mac을 붙여 MAMP라고 합니다. 윈도우에 APM Setup이나 Autoset과 같은 APM통합 설치/운영이 있듯이, 맥에도 이러한 통합 솔루션이 있습니다. 가장 널리 사용되는 것은 MAMP와 XAMPP입니다. XAMPP는 Linux, Solaris, Windows 버전도 있지요.

MAMP가 가장 편리합니다. Cocoa기반의 GUI Tool도 제공이 됩니다. 자세한 설정사항은 정목님의 블로그를 참고하세요. MySQL 최신 버전을 사용하시려면 MAMP 1.5b를 받아야 합니다. 전 Mysql/Apache의 Port를 Default Port로 변경하고, htdocs 위치를 변경하고 다른 설정은 건드리지 않았습니다. (물론 아파치 설정은 조금 바꿨지요) mysql.sock 위치를 변경하는게 번거로워서 그냥 /var/tmp에 심볼릭 링크를 만들어 쓰고 있습니다.

하지만, MAMP는 SSL을 지원하지 않습니다. 잠깐 찾아보니, MAMP에서 사용하는 Apache는 SSL이 붙을 수 없는 빌드라고 합니다. IDTail에서는 ssl을 사용하기 때문에 제 환경을 XAMPP로 바꾸고 있습니다.

Mysql GUI Tools

루비 온 레일스로 블로그 15분 만에 만들기 에 등장했던 공개SW CocoaMySQL도 너무 예쁘고, 편리한 MySQL 관리 툴이지만, MySQL '공식' 제공 툴이며, OS 상관없이 쓸 수 있는 Mysql GUI Tools를 쓰고 있습니다.

Safari, Firefox

개발을 사파리로 하고 있진 않습니다. 듀얼모니터의 이점을 살리기 위해서 입니다. 또, 맥에서 Firefox가 너무 느리고, 버그도 많아서 제대로 쓸 수도 없구요. 맥북의 LCD에는 메신저, 터미널, 콘솔, Query Browser, SVN Client 등을 띄워놓구요. 왼쪽 LCD는 TextMate를, 오른쪽 LCD(윈도우 머신)에는 firefox를 띄워놓습니다. firefox에 firebug, Web Developer를 깔아놓은 건 당연하지요. (아 이녀석들 없을 땐 대체 어떻게 개발했었는지.. 아찔합니다. -_-)

SVN

OS X를 처음 설치하면, Subversion은 1.2.x가 깔려 있습니다. 1.4.3을 사용하려면 직접 빌드하거나, OS X용으로 빌드된 녀석을 찾아야 합니다. Fink로도 최신버전을 찾을 수 없습니다. 미리 컴파일 후 패키징된 것을 까는게 편합니다.

SVN Client

터미널에서 작업하는게 더 명료하지만, 아무래도 귀찮죠. SvnX라는 괜찮은 SVN GUI Client가 있습니다. 커밋 계획을 '스마트 뷰'로 보는게 특히 편리합니다. 하지만, 한글 Log를 남기면 깨지는게 단점입니다. Zig Version이라는 맥답게 심플한 프로그램도 좋습니다. 한글도 깨지지 않아요. 하지만, diff에 연결할 에디터를 고를 수 없는 등의 단점이 있습니다. 몇몇 다른 클라이언트들도 있지만, 인터페이스가 복잡하고 좀 무겁습니다.

VI

TextMate를 쓴다고 해도 vi를 안쓸 수는 없겠죠. SVN과 마찬가지로 OS X를 처음 설치하면, vim 6.2가 깔려 있고 vim.org에서 맥용 vim 7.0을 공식 지원하진 않습니다. 이곳에서 파일을 받으면 됩니다. 따로 빌드해도 되구요. 아니면, 여기서 vim7.0.188-univ.tar.bz2 를 받고 적당한 곳에 복사를 하고, alias vi="/Applications/OA/Vim.app/Contents/MacOS/Vim" 와 같은 식으로 추가해서 써도 되겠죠.

마치며

사실 맥으로 개발한다고 해서 완벽한 웹표준, 완벽한 크로스브라우징을 지키고 있진 못합니다. IDTail역시 사파리에선 깨지는 페이지들도 아직 남아 있구요. 차차 개선해 나가야지요.

맥으로 처음 웹 개발을 해보면서 겪었던 삽질들도 앞으로 하나씩 써보겠습니다. 맥이라서 해야했던 삽질도 있겠지만, 제가 잘 몰라서 했던 삽질들도 많겠죠. 어쨋든, 저처럼 무식한 삽질을 하는 분들을 한분이라도 막기 위해서 (흑흑... 있긴 있을까) 글을 써봅니다. 아, 벌써 9시가 다되가네요. -_- 집에 가야지


 이 글을 쓴 저는 개발팀의 임현수입니다. (아이디어 고갈로 또 C2 스타일)

Posted by 공장장

2007/04/03 20:43 2007/04/03 20:43

Trackback URL : http://hedgeplus.net/trackback/22

Comments List

  1. codian  2007/04/04 19:56 # M/D Reply Permalink

    안녕하세요 임현수님.
    맥에서 개발하고 싶어지는 글이네요.

  2. 한날 2007/04/04 20:33 # M/D Reply Permalink

    안녕하세요 임현수님.
    맥에서 개발하고 싶어지는 글이네요.

  3. 임현수  2007/04/04 23:24 # M/D Reply Permalink

    아니 두분 다 맥으로 개발하고 있으면서, 왜들 그러시지 말입니다. -,.-

  4. 소타 2007/04/05 06:34 # M/D Reply Permalink

    라이프팟 개발환경과 비슷하네요 ㅎㅎ
    저도 맥과 윈도우를 synergy로 공유하고 서버(Apache2+PHP5+PostgreSQL)를 맥으로 씁니다
    다른 점이 있다면 윈도우쪽 화면은 피벗? ㅎㅎ

    1. 임현수 2007/04/05 09:56 # M/D Permalink

      안녕하세요.

      라이프팟 잘 쓰고 있습니다. 장호형에게 "궁극의 개발속도(!!!)를 가진 분"이라는 이야기를 많이 들었는데, 앞으로도 어떻게 발전할지 기대가 됩니다. ^^ ㄷㄷㄷ 저도 개선방안 많이 건의할께요. :D

      저도 피벗으로 쓰고 싶은데, 윈도우XP에서는 운영체제 단에서 피벗을 지원하는게 아니라 그래픽카드 드라이버 단에서 지원을 하다보니 글자가 약간 번져서 눈이 아프더라구요. 비스타는 자체적으로 지원하는거 같은데...

      그럼 좋은 하루 되세요~

  5. 하늘의쉼터  2007/04/05 13:52 # M/D Reply Permalink

    ㅎㅎㅎ 이거 방금전에 가입하고 댓글하나 달아보려고
    고생했습니다.ㅠ.ㅠ
    지금 똑같은 내용만 세번째 적고 있네요..
    아마도 이제서야 성공한것같습니다.
    맥북 참 끌리고 좋네요..
    깔끔하고 멋나는 디자인.. 합리적(?) 가격대.. 위의 글까지..
    지름신이 정수리에 꽂힌 느낌입니다.
    하지만 참아야죠..참고 견뎌야죠..
    제 의지는 강철로된 무지개랍니다~~^^

    1. 임현수  2007/04/05 14:41 # M/D Permalink

      엇, 고생하셨네요 T_T

      일단, 남자라면 맥북말고 맥북 프로를;;;;;;;;;;;;

  6. likejazz 2007/04/06 12:51 # M/D Reply Permalink

    듀얼모니터의 한쪽을 맥북에게 내준다는 생각을 왜 못했을까요. 덕분에 저도 오늘부터 따라해보는 중입니다. ^^

    1. 임현수 2007/04/06 13:09 # M/D Permalink

      앗, 지금까진 맥북 + 윈도우 듀얼 모니터 쓰고 계셨었어요? 어쨋든, 도움이 되었으니 다행입니다. :)

      참, 리퍼러 로그를 보니, DNA Lens 등록되었네요. 감사합니다. ^_^ 완소 Lens!

  7. 위키북스 2007/04/07 11:49 # M/D Reply Permalink

    여기 블로그가 일전에 말씀하신 팀 블로그군요...^^
    가끔 와서 구경하고 저희 블로그 운영에 참고 해야겠습니다.

    1. 임현수 2007/04/07 13:34 # M/D Permalink

      앗, 안녕하세요. 리퍼러 보고 찾아오셨나보네요.

      아직 정돈이 다 안되어서, 정돈 드리고 말씀드리려고 했는데..^^;

      책 잘 읽고 있습니다~ 블로그에 좋은 글 올라오길 기다리고 있습니다. :=)

  8. 유역비  2007/04/27 07:06 # M/D Reply Permalink

    안녕하세요? OpenID에 대해서 공부하는 사람인데요, 현재 PHP-openid-1.2.2를 이용해서 apm상태 윈도우 환경하에 하고있습니다. http://mydomain.net/consumer로 OpenID로그인 정상적으로 됩니다. 또 http://mydomain.net/server로 하면 정상적으로 페이지가 나오면, 로그인을 이용해서 로그인도 가능합니다. 헌대
    1. 제가구성한 Provider에 접속하기 위해서 <link rel="openid.server" href="http://www.mydomain.net/examples/server/server.php" /> 를 consumer로그인 페이지에 넣으라는 얘기같은데 해보면 실제 넣은후, 로그인시 아이디를 어케 넣어야되는지요
    myid.net처럼 아이디에 id.myid.net이라고 입력해서 로그인 되게 할려면 어케해야되나요?

    2. Provider를 구성해볼려면, 웹서버 설정 등 필요한 제반 사항좀 공유 해주시면 안될까요? 아니면, 제 이메일로라도좀 자료 있으시면 보내주시면 감사하겠습니다.ㅠ.ㅠ 몇일 째 해메고있는데 진척이 없어서요...
    hanamsg@paran.com 좀 부탁드리며, 항상 즐거운 하루보내세요....

Leave a comment
[로그인][오픈아이디란?]
« Previous : 1 : ... 182 : 183 : 184 : 185 : 186 : 187 : 188 : 189 : 190 : ... 205 : Next »

블로그 이미지

"좋은 기업을 넘어 위대한 기업으로 (“Good to great”, Jim Collins 저)"라는 책의 내용 중에 "고슴도치 컨셉 (Hedgehog concept)"이 라는 개념이 나옵니다. 현실에서 약삭빠른 여우와 왠지 우둔해 보이는 ..

- 공장장

Notices

Recent Trackbacks

Calendar

«   2008/11   »
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30            

Bookmarks

Site Stats

Total hits:
325129
Today:
477
Yesterday:
530