Apple MacBook Pro 사용기 (개발자나 연구원이 맥을 사용하면 좋은 점)
서론
하브레인넷 부설 연구소의 개발 연구원으로 개발과 연구활동을하고 있습니다. 하이브레인넷(http://www.hibrain.net)은 지난 1996년부터 창원대학교 데이터베이스연구실에서 운영 하고 있는 교수/연구원/전문직공무원 채용정보사이트가 개설 5주년을 맞이하여 학술/연구/채용 포털사이트로 발전하기 위해 새로운 도메인으로 오픈한 사이트입니다. 그리고 하이브레인넷 부설연구소는 데이터베이스 연구를 기반으로 인터넷 신기술을 연구하여 하이브레인넷 서비스와 인터넷, 모바일, 클라이언트 서비스를 위한 연구 활동을하는 연구소입니다. 저는 이곳에서 개발연구원 막내로 연구활동을 하고 있습니다 ^^~.
오늘은 15인치 애플케어를 연장하면서 1년동안 맥을 사용면서 개발 연구원에게 맥을 사용하면서 좋았던 점을 포스팅하려고 합니다. (MS에 대한 반감을 가지고 포스팅하지 않는 것임을 미리 말씀드립니다. MS 제품군도 훌륭한 PC 운영체제라고 생각합니다.) 아래 사진은 오늘 Apple Core Protecion Plan을 구입한 기념으로 찍은 사진입니다. 이제 지난 1년 동안 MacBook Pro를 어떻게 활용했는지 간단하게 포스팅을 시작하겠습니다.
구입기
오늘 Apple Care를 연장했으니 지금으로부터 한 1년 정도 전에 지금 MacBook Pro가 저에게 지원되었군요. Apple Care를 연정할때 보니 제가 사용하고 있는 MacBook Pro는 2010 mid 형이였습니다. 2011년부터 썬더볼트가 지원되는 모델인데 바로전 모델입니다. 애플은 보통 6월달에 신제품을 출시하고 매년 2월 9월에 마이너 업데이트가 일어지는데 MacBook Pro를 구입하고 일주일 뒤에 새 재품이 나와서 약간은 아쉬웠던 기억이 납니다 ^^ 지금도 SSD는 매우 고가이지만 1년전에 SSD는 엄청난 고가의 저장 매체였습니다. MacBook Pro를 연구소에서 지원받게 된 계기는 제가 3년동안 사용하던 MacBook (Black)이 슬슬 말을 듣지 않고 13인치 화면에서 Xcode를 사용하기에 불편함이 느끼고 있던 때였습니다. 결정적으로 MacBook의 Airport가 잦은 문제가 발생해서 연구실에서 MacBook Pro를 지원해주셨습니다. 아마 맥북프로를 구입하실때 옵션가를 결정하는 것 때문에 고민들 많이 하셨을거라 생각합니다. 저 또한 옵션을 구매하는데 엄청나게 많은 시간을 보내며 어떻게 맞춰서 구입해야 가장 효율적이고 효과적으로 사용할 수 있을까 고민을 했었습니다. 그때 당시 구입했던 옵션들입니다. 메모리는 8G로, 하드디스크는 256G SSD, 무반사 디스플레이를 선택했습니다. 애플 공식 온라인 스토어에서 구입하면 시중가보다 돈을 많이 주고 삽니다 (ㅡㅡ;). 하지만 연구실에서 다시 조립하거나 수작업으로 하지말고 CTO로 바로 조립되어져 있는것을 구매하자고 말씀해주셔서 온라인 스토어에서 모두 맞춥으로 CTO로 주문을 완료했습니다.
지금 현재 제가 사용하고 있는 MacBook Pro의 CPU는 샌디브릿지가 아닙니다. iCore i7으로 샌디브릿지 전 모델입니다. 밴치마킹 결과를 보면 제 모델보다 더 높은 i7 업그레이드보다 2011년 샌디브릿지 모델은 약 20% 정도 빠르다고 나와있더군요. 전 기본 i7 CPU에서 CPU를 업그레이드하는 대신에 SSD 256G를 업그레이드하는 것을 선택하였습니다. 최정 제가 사용하고 있는 2010년 mid 형 MacBook Pro 사양입니다.
포스팅의 편의를 위해서 지금부터는 평어체를 사용하겠습니다. 양해를 부탁드리며 계속하겠습니다.
SSD 선택
CPU를 업그레이드 시키는 대신에 SSD 256G를 선택한 이유를 우선 말씀드리자면 DISK IO를 줄이고 싶었고 SSD 특징상 read 퍼포먼스가 매우 좋기 때문에 IDE (Xcode, IntelliJ, Eclipse 등)의 indexing 속도 ( code assistances 를 위해서 라이브러리와 코드 인덱싱)와 컴파일 속도와 라이브러리 링크 속도 등 개발에서 상주프로그램에서 사용하다 하드디스크에서 프로그램이나 코드를 읽어서 메모리에 올리거나 메모리 패이징을 위해서 디스크를 사용할때 일반 7200 RPM 하드 디스크보다 SSD의 속도가 월등히 좋기 때문이다. 체감 속도는 개발할때 IDE의 가동과 컴파일 속도를 비교하면 HDD를 사용하는 iMac보다 빠른 느낌이다. 또한 Mac 운영체제와 Mac의 어플리케이션들이 가지고 있는 indexing 특징을 SSD에서 매우 만족스러운 속도로 처리하기 때문에 어플리케이션 런칭 속도와 구동속도는 일반 HDD보다 쾌적하게 사용할 수 있다. CPU를 업그레이드해서 몇퍼센트 연산속도를 빠르게하는 것보다. 운영체제와 전반적인 IO 속도를 높이는 것이 더 효과적이라고 판단했기 때문이다. iTunes를 사용하는 사용자에게 256G는 엄청나게 작은 저장 공간이다. 윈도우즈에서는 iTunes에 파일을 넣으면 복사가 아니라 링크가 되지만 맥에서 iTunes는 기본적으로 파일을 복사하는 것으로 되어 있다. 만약 링크로 변경하고 싶은 사용자는 preferences에서 링크로 변경해도 무관하다. 하지만 링크된 파일은 원본이 사라지면 iTunes에서 사용이 원활하게 이루어지지 않는다. 그래서 카피되는 것을 사용하라고 권유하고 싶다. 그렇지만 SSD 256G에 mp3, mp4a, ipa(앱), e-book 으로 채워버리면 고가의 저장공간에 실제 필요한 작업을 위한 디스크가 적어져버리게 된다. 그래서 firewire800 을 제공하는 외장형 하드에 반은 Time machine으로 백업용으로 사용하고 반은 Repository로 만들어서 iTunes 파일이나 iPhoto 등의 실제 파일들이 저장되도록 하였다. 그래서 멀티미디어 작업을 하거나, 음악, 사진, 앱, 동기화 작업을 할때는 firewire800 외장형 하드를 붙여서 작업을하고 프로그램을 만들때는 SSD 256G를 모두 활용한다.
무반사 디스플레이 선택
두번째는 CPU 업그레이드를 포기하면서 선택한것이 무반사화면이다. MacBook Pro는 기본적으로 LED 디스플레이를 사요하는데 다른 LCD 화면보다 매우 선명해서 DVD를 보거나 HD급 동영상을 보게 된다면 매우 만족하게 된다. 처음 iMac을 구입하고 27인치 속에 그 선명함을 아직도 잊을 수 없다. iMac을 사용하다가 디스플레이에대해서 딱 한가지 아쉬운게 있다면 반사기 심사하다는 것이다. 실제 코딩에 집중하면 잘 느낄수 없을지 모르지만 그림자의 반사라던지 빛 반사 때문에 문서를 읽거나 코딩을 할때 약간 신경이 쓰이는것은 사실이다. 하지만 이것도 익숙해지면 괜찮아진다. 다만 LED는 너무 선명하고 밝고 빛 반사가 있어서 오랜 시간 이런 신경쓰지않고 사용하고 싶어서 무반사 고해상도를 옵션으로 선택했다. 말로 설명하면 이 차이를 설명하기 어려워서 http://www.anandtech.com/print/3669 사이트에서 두가지 모델 차이를 나타낸 사진이 있어서 참고를 하기 바란다. 사람마다 선호도 차이가 있다 무반사 화면이 LED 화면보다 글자체가 약간은 덜 선명하다. 그렇지만 반사율은 낮다. LED는 반사율은 높지만 글자체가 선명하다. 선명도의 차이는 미비하지만 LED가 더 좋다는 사람들도 있다. 개발자와 연구원들은 장시간 모니터를 바라봐야하기 때문에 난 반사율이 낮은 무반사를 선택했을 뿐이다.
이렇게 온셥 선택은 끝났다. 아, 물론 DVI, RGB adapter는 별도로 구매해야한다. 애플의 Simply Design 철학은 매우 마음에 들어하지만 너무 심플하게 만들다보니 악세사리들은 모두 따로 구매를 해야한다. 매직마우스도 물론 따로 구매해야한다. 강사로 초빙되어서 강연을 하기 위해서 DVI와 RGB adapter는 필수로 샀고 개발의 편리성때문에 매직마우스도 구입했다.
Mac 사용 동기와 사용기
리눅스와 비슷한 환경 필요
Mac을 처음 사용한 것은 5년전부터이다. 그때 당시 리눅스 서버를 관리하면서 리눅스에 대한 만족도가 매우 높았고 실제 프로그램을 개발해서 리눅스 서버에 deploy 시켜야하는 문제 때문에 윈도우즈의 경로 기반으로 svn으로 작업할때 매번 리눅스 path로 변경해서 commit해서 deploy를 시켜야하는 문제가 있었다. 그래서 데스크탑으로 리눅스를 사용할만한 것을 찾다가 Ubuntu가 가장 만족스러웠는데 그당시는 지금과 같이 성능과 UI가 좋지 않은 상태였다. 그래서 좀더 UI도 이쁘고 성능도 빠른 리눅스 시스템을 찾다가 Macintosh가 BSD 기반에 돌아간다는 것을 알았고 그당시 Mac OS X이 x86시스템에 port되는 것이 유행처럼 국내외의 포럼들이 생겨나기 시작했을때 였다. 그래서 잘 돌아가고 있는 윈도우즈 컴퓨터에다 X86 이미지를 받아서 Mac OS X tiger부터 사용하기 시작했다. 그때는 드라이브 파일들이 없어서 소리도 나지 않았고, 그래픽 드라이브가 없어서 글자도 선명하지 않았지만 새로운 운영체제를 사용하는게 신기하고 재밌었다. 더구나 Unix 명령어를 그대로 사용할 수 있고 Path를 따로 변경하지 않고도 svn으로 리눅스 서버로 프로그램을 commit할 수 있다는 것 자체가 좋았었던것 같다. 또한, Unix 명령어를 그대로 사용한다는 것은 컴퓨터 전공을 하고 있는 나에게 매우 큰 효율성을 제공하였다. 윈도우즈를 사용할 때는 Java 프로그램을 제외한 서버 프로그램을 할때 서버 로그를 보고 디버깅을 하기 위해서 서버에 원격으로 접속해서 작업을 하거나 로컬에 작업한 것을 ftp로 업로드를 하여서 작업을 하였다. 특히 python이나 perl, ruby와 같은 것을 작업하기 위해서는 윈도우즈에서는 한계가 있었다. 그래서 cygwin과 같은 것을 설치하거나 했어야 했는데, BSD 유닉스 기반이라 Unix 명령어를 그대로 사용할 수 있을 뿐만 아니라 MacBook Pro에 바로 서버에 사용되는 똑같은 서버를 설치하고 로그를 보고 디버깅해서 최종 작업이 끝난 파일만 그대로 서버로 옮기면 완벽하게 운영이 되었다. 그래서 이동중에서도 서버 작업을 할 수 있고, 네트워크가 없어도 서버 프로그램을 할 수 있었던 것이 가장 큰 장점이였다. 아마 현재 존재하는 대부분의 Unix, Linux 서버 프로그램를 Mac에 설치할수 있는 것으로 알고 있다. 그리고 bash, csh, ksh 등 shell로 바로 사용할 수 있고 cron 파일도 만들 수가 있다. 서버에서 할수 있는 모든 일을 Mac에서 할 수 있다는 것이다. 이러면서도 Ubuntu와 같이 다소 느린 UI가 아니라 UI 자체도 빠르게 사용할 수가 있기 때문에 Unix의 장점과 Window의 장점을 모두 사용할 수 있는게 Mac 운영체제의 장점이다. BSD 위에 운영되기 때문에 Unix의 장점을 가지고 있다. windows와 다르게 레지스트리를 사용하지 않고 파일 기반으로 운영되기 때문에 파일시스템의 장점을 그대로 가지고 있다.
디자인 희소성
그러다가 석사 석사에 들어가게 될때 난생 처음으로 어머니께서 노트북을 사주시겠다고 하셨고, 그때 당시 MacBook Black 을 사게 되었다. 그때 당시 여성 디자이너들만 MacBook white를 사용하고 있었고, 당시 국립대 컴퓨터공학과를 다니고 있는 본교에서도 유일하게 MacBook을 처음 사용하는 맥 유저 1호가 되었었다. 그 당시만해도 MacBook은 그렇게 대중화된 노트북이 아니였었던 것이다. 이 때 MacBook은 지금의 MacBook Pro처럼 알루미늄 유니바디가 아니고 멀터터치패드가 아니였다. 지금 패드는 버턴이 따로 없지만 저 당시에는 패드에 버턴이 하나 있었는데 그때 오른쪽 마우스처럼 버턴 클릭하는 것을 몰라서 한참 뒤애 command와 같이 눌러야 오른쪽 마우스처럼 클릭되는 것을 알았던 기억도 있다. 이러한 MacBook는 너무나 아름다웠다. 특히 white 상품은 여성 디자이너들이 선호할수 밖에 없을 정도로 아름다운 아이콘의 대표였고 희소성의 가치가 마치 인텔리하고 전문가처럼 보여주기 까지 했다. 하지만 지금은 MacBook 자체가 매우 대중화가 되어서 이런 희소성 가치는 많이 사라진것 같기도하다. 애플 메니아들은 애플이 대중화가 되지 않거나 제품이 팔리는 양이 줄어들어도 애플자체를 대중성을 보고 산 제품이 아니기 때문에 별로 상관하지 않고 계속적으로 애플 제품만을 사용한다. 애플은 디자인, 성능, 호율성 모두를 만족 시켜주기 때문이다. 특히 MacBook은 중고 가격이 높아서 새롭게 MacBook을 구매할때 중고로 팔고 다시 새로운 MacBook을 사는것도 가능했었던 것 같다. 지금의 중고가는 예전만큼 높진 않겠지만 그래도 다른 노트북에 비해서 비교적 애플 제품들은 중고가가 높은 편이다. 특히 MacBook black는 판매 년도가 길지 않아서 레어 아이템으로 사람들이 생각하기도 한다. 검은색 MacBook 덮개를 열어서 하얀색 애플 로고를 보면 나도 모르게 기분이 좋아졌던것 같다. 처음 MacBook black을 들고 강의실에 들어간 적이 있는데 그 당시 학생들이 내가 말하는 것은 기억하지 못하는데 나중에 이야기하다보면 노트북에 대해서 이야기를 하거나 노트북으로 나를 기억하는 학생들도 많았다. 그만큼 그 당시에는 희소성있는 노트북이였고 사람들에게 신선한 디자인이였던 것이다.
맥의 코코아 인터페이스 또한 매우 아름답다. Mac OS X로 넘어오면서 맥의 모든 UI 디자인은 정말 이뻐진것 같다. 물론 이전에도 딱딱한 윈도우와 약간은 달랐지만 Mac OS X 의 코코아 인터페이스는 어플리케이션 자체를 매우 아름답게 만들어준다. 그리고 맥의 어플리케이션은 모두가 약속이라도 한것 처럼 아주 멋진 아이콘들과 아름다운 인터페이스로 어플리케이션을 만든다. 아마 Mac을 사용하는 모든 유저는 이 아름다움을 버리고 XP로 되돌아 가지 못할 것이다. 간단한 예로 맥용 트위터 클라이언트 앱의 아이콘과 UI를 살펴보면 windows에서 트위터를 할때와 다르게 아름답운 UI를 가지고 트위터를 할 수 있다는 것을 알 수 있을 것이다.
발열 없고 팬소리 적은 노트북 필요
MacBook 자체는 매우 완성도 높고 장시간 사용을 해도 키보드 위쪽으로 발열이라고는 전혀 느낄수 없어서 다른 노트북에서는 비교할수 없는 쾌적함을 가졌었다. 하지만 문제는 외적으로 느끼는 온도의 문제가 아니라 CPU의 온도가 특정 작업을 할때 (indexing, flash playing, compiling, redering)는 90도까지 상승을하면서 팬이 도는데 그 소음이 매우 귀어 거슬렸다. MacBook Pro에는 내부에 팬이 2개가 있지만 MacBook에는 팬이 하나가 존재한다. MacBook의 팬이 동작하는 정책은 다른 노트북과 틀리다. 특히 HP와 같은 노트북은 노트북을 켜자말자 팬이 돌기시작해서 계속적으로 팬이 돌지만, MacBook의 팬은 특정 온도가 넘어가면 그때야 동작을 해서 온도가 내려가면 다시 팬이 돌지 않는다. 그래서 CPU 온도가 급격하게 상승하면 갑자기 팬이 미친듯이 돌면서 소음이 심해지는데 어떤 유저들은 비행기 이륙이라는 표현을 사용하기도 한다. 그당시 모든 애플의 제품은 다 그렇게 팬소리가 심한줄 알았는데, 이후 MacBook Pro를 사용해서 느낀점은 MacBook Pro가 MacBook 보다 훨신 CPU 소리가 심하지 않고 또 팬이 도는 횟수도 적다는 것이다. 알루미늄 유니 바디에서 어느정도 자연 방열을 해줘서 그런지는 잘 모르겠다. 다만 MacBook보다 MacBook Pro의 팜스레드(키보드 밑에 판을 대는곳) 온도가 높게 느껴진다. MacBook Pro를 구입하려던 때 Intel Core i7을 장착한 모델은 발열이 너무 심해서 후라이도 할수 있다는 루머가 번지기 시작했는데 아무리 무거운 작업을 해도 그정도의 발열은 나지 않았던것 같다. SSD의 효과가 얼마나 큰지 잘 모르겠지만 IntelliJ, Xcode, Photoshop, Keynote, Tomcat, Apache, MySQL, 기타 프로그램, thread 프로그램 등을 아무리 동시에 많이 해도 손이 뜨거워서 작업을 못하거더나, 미친듯한 팬 소리 같은 것은 전혀 발생하지 않았다. 단, Flash로 실행되는 동영상을 보면 장시간 동영상을 볼때 팬이 돌기 시작한다. Flash Player의 문제인지 이것과 Mac과 어떻게 궁합이 잘 안맞는지는 기술적으로 모르지만 확실히 Flash Player를 사용하면 리소스 사용율이 급격하게 상승되는것은 예전도 지금도 변함없는 사실이다. 그래서 스티브잡스가 Flash를 싫어하지 않았을까 하는 생각도 들 정도였다. (물론, 다른 이유였겠지만) 나중에 알게 되었지만 모든 노트북은 팬소리가 심하게 난다는 것이였고, MacBook Pro가 다른 노트북보다 상당히 조용한 편이라는 것도 알게되었다. 이 말에 동의할수 없는 유저도 많을지 모르지만, 만약 도서관에서 노트북을 사용하려면 일반 노트북보다 MacBook 노트북을 사용하라고 말하고 싶다. 다른 노트북은 쉬지않고 팬이 돌아가는 소리가 나지만 MacBook는 특정 작업을 하지 않거나 어떠한 경우에 팬이 도는지를 알고 있으면 팬소리 없이 도서관에서 조용히 작업할 수 있기 때문이다.
키보드 백라이트 기능
MacBook을 3년 사용하면서 MacBook pro에 가장 부러웠던 기능이 바로 Keyboard Back Light 기능이였다. 어두워지면 자동으로 키보드에 불이 들어와서 키 자판을 볼수 있는 기능이였는데, 당시 자치 생활을 하면서 룸메이트들이 잠을 잔다고 불을 끄면 키 자판이 보이지 않아서 LED를 반쯤 접어서 논문을 보거나 코딩을 했던 것 기억이 난다. 지금 나오는 MacBook Pro에서는 기본적으로 키보드 백라이트 기능이 탑재되어 있다. 이 기능도 그때 당시만해도 다른 노트북에서는 찾아볼수 없는 기능이였는데 지금은 고급형 노트북에서는 대부분 이 키보드 백라이트 기능을 포함해서 출시되고 있는 것 같다.
기본 내장 프로그램과 오픈 소스
Mac을 사용하면서 처음 놀란 것은 윈도우즈에서는 돈주고 사야했던 것들이 훨씬 아름답고 편리하게 기본으로 제공되어지고 있다는 것과 오픈 소스로 만들어진 공개 툴과 소스들이 많다는 것이다. 예를 들어, Windows에서 PDF 파일을 열거나 만들려면 어도비 Adobe Acrobat Pro를 구매하거나 PDF 툴들을 사야했지만 Mac에서는 기본적으로 PDF 문서를 읽을 수 있고 모든 출력을 PDF로 만들어 낼수 있다. 석사 때 논문을 수집하고 읽을 때 Mac에 기본으로 제공하는 Preview에서 PDF로 된 논문을 읽는게 정말 편리했다. vista 부터는 Windows에서도 압축파일을 열수 있는데 Mac에서는 기본적으로 zip과 tar 파일을 풀수 있는 툴이 내장되어 있다. 또한 iLife가 기본적으로 제공되어 지기 때문에 사진을 편집하거나 동양상을 편집하거나 음악을 편집하는 것을 고가의 돈을 들여서 Adobe 제품군을 살 필요가 없다. 물론 디테일 작업을 위해서는 따로 구매하는 사람도 많다. 뿐만아니라 다양한 무료 공개 소프트웨어가 참 많아서 필요할때마다 다운받아서 사용하는 재미 또한 쏠쏠하다. Mac을 사용한지 이제 5년 넘었지만 회사에서 업무상 소프트웨어를 구매한 것을 제외하고는 거의 유료로 구매한 소프트웨어는 없는것 같다.
오픈소스를 사용할 수 있다는 것도 Mac을 사용하면서 큰 장점인것 같다. 더구나 BSD 기반의 운영체제에대가 macport, fink, homebrew 와 같은 것을 사용해서 unix 프로그램까지 사용할수가 있다. X11이 지원되기 때문에 유닉스 X11 프로그램도 사용할수가 있다.
편리성
Mac이 windows보다 사용하기 어렵다? 이런 말을 하는 사용자는 windows 사용자 경험에 익숙해져서 Mac의 사용자 경험이 낯설어서 하는 말이다. 사실 처음에 컨트롤할수 있는 option, control, command, fn 키의 사용법이 익숙하지 않아서 그렇게 느껴질 수도 있다. 심지어 Mac에서 윈도우 컨트롤 키들은 windows와 틀리게 왼쪽 상단에 있다. 하지만 이것 뿐만 아니라 Mac의 숨겨진 기능이 너무 많아서 windows에서 다른 사용자 경험이 어렵게 느껴질지라도 이 기능들에 익숙해지면 놀랍게도 다시 windows 를 사용하게 되면 당황하게 된다. 이건 Mac에서 되는데 왜 windows에서 안되지?라는 것들이 생기게 되고 오히려 익숙해지지 않게 되는것 같다. 이 편리성에 대해서는 앞으로 포스팅에 여러가지를 포스팅할 예정이다. 몇가지 예를 들면 웹 브라우저의 이미지를 바로 드래그해서 어느 곳에서나 첨부해서 붙일수 있고 위도우 창이 겹쳐저 있어서 밑의 윈도를 선택하여 윈도우의 순서를 바꾸지 않아서 스크롤하여 컨텐츠를 바꿀수 있다. 그리고 Mac에서 가장 마음에드는 것은 space와 expose 인데 지금인 mission controller로 새로운 기능처럼 보이지만 그래도 아직 space는 그래도 사용할 수 있다. space라는 것은 프로그램 영역을 여러개로 나누어서 독립적 화면에 각각의 프로그램을 띄워서 사용할수 있고 그 화면 사이를 이동할 수 있다. 그리고 mission controller는 현재 활성화된 프로그램을 한번에 정돈되어 볼수 있고 프로그램 사이를 이동하거나 선택할 수 있게 하는 기능인데 정말 놀라울 정도로 편한 기능이다. 현재 windows에는 이것들이 아마 다른 형태로 지원되고 있을 거라고 생각이 든다. 말했듯이 windows와 Mac은 서로가 있고 없고의 차이가 아니라 몇가지 기능만 제외하면 서로 같은 기능이고 서로 있는 기능인데 사용자 경험이 달라서 없는 것 처럼 느껴지고 어렵게 느껴진다고 생각을 하는 것 같다. 하지만 Mac 사용자 경험에 익숙해지면 Mac이 매우 편리한 인터페이스와 기능을 가지고 있다는 것을 알게 될 것이라고 말해주고 싶다. Mac 만이 가지는 장점은 너무 많아서 짧은 포스트에 다 나열하기 힘들다. 이 특징에 대해서는 앞으로 차근차근 블로그에 포스팅을 할 예정이다.
개발용으로 Mac의 장점
예전에는 보기 드물었는데 이제는 개발자 컨퍼런스나 세미나에가면 강사부터 개발자까지 대부분 Mac을 사용하는 것을 쉽게 볼수 있을 것이다. 물론 Windows 개발자 컨퍼런스에는 당연히 보기 힘들것이지만 나머지 Java, Web, Mobile, Database 기타 Unix에 운영하는 개발에 관련된 개발자나 관리자들은 대부분 Mac 을 사용한다. 다시 말하지만 Windows 운영체제가 결코 나쁘다는 것이 아니다. 만약 Windows 소프트웨어를 개발하고자 할때 Mac을 사용하는 사람이 있겠느냐는 질문을 던지면 모두가 Mac은 Windows 소프트웨어를 개발하는데 적합하지 않다고 말할 것이다. Mac에서 Unix 기반의 프로그램을 만들기에는 Windows 보다 더 효과적이기 때문이다. 어떤 소프트웨어는 Mac에서보다 Windows에서 더 성능이 좋은 소프트웨어도 있다. 하지만 Mac은 Unix 기반의 운영체제이다. 터미널을 열고 Unix 명령얼를 사용하면서 gcc나 javac 또는 python이나 ruby, perl과 같은 인터프리터를 바로 사용할 수 있다. 또한 UTF-8 운영체제에서 필요한 tarbal을 다운받아서 서버를 설치할 수도 있고 export나 import를 캐릭터문제 없이 서버 환경과 동일하게 할 수가 있다. 그럼 Windows를 사용할수 없느냐?라는 질문을 한다면 VM 소프트웨어로 그 문제를 해결하거나 Mac 자체에 제공해주는 bootcamp를 이용해서 Windows 환경의 프로그램을 동시에 운영할수 있다는 것이 또하나의 장점이다. 지금 Windows의 vmware에서 Mac의 운영체제 이미지가 돌아갈수도 있겠지만 예전에는 windows에서는 Mac을 vmware로 돌릴수 없었고 Mac에서는 Windows를 가상 머신으로 운영할 수 있었기 때문이다. 모바일 개발이 부각되면서 Mac의 수요가 더 늘어나지 않았냐는 생각도 든다. 앞에서도 이야기하듯 Windows 소프트웨어를 개발하기 위해서 Windows를 사용해야하듯 iPhone 을 개발하기 위해서 Xcode라는 놀라울 정도로 멋진 툴을 사용하기 위해서는 Mac을 사용해야하기 때문이다. 하자민 iPhone을 개발하는데 반드시 Xcode로만 할수 있는 것은 아니다. Windows에서도 개발할 수 있는 것으로 알고 있다. 원래 Adobe 제품군 역시 Windows에서 개발하는 동영상을 배포하다가 어느순간 podcast에서 MacBook pro로 개발하는 동영상을 배포하기 시작했고, 많은 웹 개발자들이 MacBook으로 웹 개발하는 동영상을 배포하기 시작했다. Google IO에서는 몇가지 세션만 제외하고나서는 대부분 MacBook을 가지고 시연하는 장면을 Youtube로 볼수 있을 것이다. Google의 대표 개발 3대 언어가 python, java, c++이다 이제 Go라는 언어도 추가되었지만, java는 후발에 추가되었고 가장먼저 Google 의 개발 언어는 python이 많았다. Windows는 python 인터프리터를 제공하고 있지 않지만 Mac에서는 Python 인터프리터를 기본적으로 내장하고 있다. Podcast와 Ruby의 붐이 일어나면서 MacBook의 인기는 더 높아졌다. 나도 Ruby를 사용하기 위해서 Mac에 관심을 가졌던 기억이 있다. TextMate라는 정말 빠르고 아름다운 editor 때문에 해킨토시를 설치하기 위해서 며칠을 끙끙거리며 고생했던 기억도 난다. TextMate는 Windows에서는 Edit plus나 Acrobt Editor와 비슷한 경량 코딩 에디터인데 bundles과 snippet의 기능을 현란하게 사용하는 Railscast 동영상을 보면 TextMate를 사용하고 싶은 욕구를 멈출수가 없을 것이다. 이 블로그에 포스팅되는 코드들은 java를 제외하고는 TextMate로 모두 작성되어진 것들이다. 코드 하이라이팅 기능과 bundle과 snippet의 기능이 너무도 마음에 들어서 꼭 필요로 하는 맥용 툴이다. Mac을 사용하는 개발자라면 반드시 macport, fink, homebrew 중에서 한가지를 사용해 보길 권하고 싶다. 이 툴은 unix 패키지를 mac 운영체제에 동작할 수 있게 포팅한 패키지 관리 툴들이다. BSD 유닉스에서 패키지 관리툴로 port라는 것이 있는데 이 기능을 맥에서도 동일하게 사용할 수 있도록 macport 개발자들이 만들어 놓았다.
Unix 기반의 운영체제라는 것을 계속 강조하는 것은 실제 서비스들이 서버에서 운영되고 그 서버에 운영되는 것을 클라이언트엥서 서버와 동일하게 개발한다는 것은 정말 효율성과 효과를 극대화 할 수 있다. ssh나 telent을 사용하기 위해서 putty나 PineTerm 같은 터미널을 설치할 필요도 없고, 알 FTP나 알 zip을 설치할 필요도 없다. 이미 unix 기본 패키지로 모두 설치가 되어 있는것과 동일하게 사용 가능하다. macport를 사용하거나 homebrew를 사용하면 필요한 패키지를 바로 터미널에서 커멘드를 사용해서 다운받어서 설치할수 있다. 복잡하지 않다. 단 하나의 문장으로 모든 것이 처리된다. 예를 들어서 curl이라는 프로그램을 설치한다고 가정하자. windows에서는 curl을 지원하는 소프트웨어를 다운받거나 cygwin을 설치해서 이 프로그램을 설치해야하지만 macport를 사용하면 port install curl로 끝난다. homebrew를 사용하면 brew install curl로 끝이다. 업데이트도 마찬가지다. 간단하게 unix의 거의 대부분의 프로그램을 설치하거나 업데이트하거나 삭제를 하나의 문장으로 처리할 수 있다.
석사 논문을 준비할때 논문 실험 데이터를 MacBook에서 모두 다 했던 기억도 있다. 그때 당시 Java를 이용해서 추론시스템을 만들어보거나 Ruby를 이용해서 추론 엔진등을 만들었는데 이 작업을 하기 위해서 unix 기계를 접근해서 작업하거나 했더라면 얼마나 불편했을지 감이 오지 않는다. 로컬에서 IDE를 사용하면서 웹 서버를 돌리고 인터프리터를 사용할 수 있다는 것은 개발자와 연구자들에게 개발과 연구를 언제 어디서든지 할 수 있다는 것을 의미한다. git를 이용해서 소스를 로클에 받아서 버전관리를 하면서 카페나 달리는 기차 안에서도 언제든지 프로그램을 개발할 수 있고 테스트를 할 수 있다. 개발자에게 이것보다 좋은 개발 환경이 있을 수가 있겠는가? 멈추지 않고 개발할 수 있다는 것이 신비롭지 않는가? 서버 개발자, front-end 개발자, UX 개발자, 모바일 개발자, 데이터베이스 쿼리 개발자 모두에거 Mac은 최상의 개발 시스템이 될것이라고 권유하고 싶다.
아쉬운 점
Mac 운영체제 자체는 너무 훌륭한 운영체제이다. 이미 역사적으로 BSD 유닉스는 높은 TCP 스펙을 가지고 있으며 안정성이 이미 검증되어진 운영체제이다. 이 운영체제 위에 Cocoa 인터페이스까지 갖춘 Mac은 정말 멋진 운영체제이고, MacBook은 이러한 Mac 운영체제에 효율성과 효과를 극대화하기 위해서 아름답게 디자인되어진 노트북임은 이제 모두가 아는 사실이다. 다만 5년간 사용하면 아쉬웠던 부분이 몇가지 존재한다.
Windows 환경에 최적화된 국내 서비스 형태
Mac 자체에 대한 실망이나 단점은 5년도안 거의 찾아볼 수 없었다. 다만 Mac과는 상관없이 windows 서비스에 국한된 국내의 서비스 형태에서 오는 불편함이 존재한다. 지금은 포털에서 N-Screen, 멀티 디바이스를 지원하기 위해서 ActiveX를 걷어내고 있는 운동을 계속적으로 진행하고 있지만 5년동안 MacBook으로 서비스 받지 못한 국내 사이트들이 꽤 많이 존재했다. 물론 논문을 준비하고 개발을 하기위해서는 국내 서비스를 사용할 일이 거의 없다. 대부분 자료는 외국에서 찾아서 하고 있고, 외국에서는 Windows 중심적 서비스라고는 찾아볼수 없기 때문에 Mac을 사용하다고 해서 서비스 받지 못하는 사이트라고는 찾아보기 힘들다. 이것은 Mac의 단점이 아니고 점점 변화하는 추세이기 때문에 빠른 시간안에 이 단점은 극복될거라 예상된다. 포털과 금융권에서 보안 문제를 담당하던 ActiveX대신 Mac용 보안 프로그램을 설치하도록 유도하기도 하고 대형 서비스들이 Mac을 점점 지원하고 있는 이유로 Mac을 사용해서 제한받던 서비스들이 조금씩 해결되고 있다.
국내 표준 문서 형태
Mac을 사용하면서 논문을 준비한다던지 문서를 준비할 때 가장 아쉬운 부분이다. 국내에서 공식 문서들이 아래한글 문서 포멧을 요구하기 때문인데 아쉽게도 Mac용 아래한글이 공식적으로 제공하고 있지 않다. 로제타에서 돌아가는 오래된 버전이 있기는 하지만 매우 느리고 Lion부터는 로제타 지원이 사라졌기 때문에 이것 또한 사용할 수 없다. Mac에서는 Pages라는 매우 훌륭한 문서 제작툴이 있지만 프린트 물로 제출하지 않는 이상 아래한글 문서를 생성시키기는 어렵다. 예전에는 한글 문서 자체도 볼수 없었는데, 그래도 한컴에서 한글뷰어를 앱 스토어에 공식으로 런칭해서 아래한글 문서를 볼수는 있게 되었다. MS office로 작성된 문서는 Pages에서 바로 볼수 있고 Pages에서 MS office문서로 바로 저장이 가능하기 때문에 MS 문서 포멧은 걱정할 필요가 없다. 몇가지 폰트가 없어서 약간 문제가 될 경우는 폰트를 추가해서 사용하면 된다.
결론
Mac이 국내에서 사용된 것은 몇 사람을 제외하고는 사실 디자인이나 사진, 음악등 전문직 몇몇 분류만 사용되었다. 하지만 이제 MacBook이 보급화가 많이 되었고 개발자들와 연구원들도 Mac을 선호하고 있다. 이렇게 Mac을 선호하는 이유는 Apple이라는 브랜드 가치가 아니라 높은 만족도를 가지는 BSD Unix 기반의 운영체제와 이 장점을 최대한 사용할 수 있는 아름다운 디자인을 가진 MacBook이 있기 때문이다. Mac이 고가의 노트북이라고 생각하는 사람도 있지만 이정도 만족도를 다른 노트북을 맞춘다고 한다면 금액 차이는 그렇게 많이 나지 않는것 같다. 하지만 Mac이 무조건 모든 사람들에게 좋은 운영체제이고 노트북이라 생각하지 않는다. 아직까지 Mac을 사용하기 불편해하고 익숙하지 않아서 고비용의 노트북을 구매하고도 Windows를 설치해서 사용하는 사람들도 본다. 이런 사람들은 왜 MacBook을 사용하는 것인지 궁금하다. Mac을 사용하기 위해서 MacBook을 구입해야하는데 단지 MacBook의 디자인 때문에 MacBook을 구매하는 사람이 있다면 반대하고 싶다. MacBook의 팬 시스템은 Windows 환경에 최적화 되지 않았고 Key라던지 멑리패드터치, 매직마우스 등 Mac에서 제공하는 기능을 Windows에서는 전혀 사용할 수 없기 때문이다. 차라리 더 좋은 Windows 노트북을 사는게 좋다고 생각한다. 반면, 개발자와 관리자 연구원들에게는 MacBook은 자신의 업무를 멈추지 않고 연장해서 할 수 있는 환경을 제공하기 때문에 반드시 한번쯤 사용할 수 있는 기회가 생기면 사용해 볼 것을 추천하고 싶다. 우선 컴퓨터공학을 전공한다면 다양한 운영체제를 사용하는 것이 좋을 것 같고, Windows 시스템을 사용하면서 한쪽으로만 정착되어 있는 사용자 경험을 Mac을 사용하면서 다른 시각으로 사용자 경험을 체험할 수 있을 것이다. 또한 Unix 기반의 운영체제가 얼마나 안정성이 높고 편리한지를 체험할 수 있을 것이다. 만약 MacBook Pro를 사용한다면 CPU 성능을 올리기위해서 고가를 투자하지말고 그 금액을 가지고 SSD 하드를 선택하거나 무반사 디스플레이를 선택해보는 것이 어떤지 한번 고려하길 추천한다. Mac에 대한 많은 루머와 언론들이 있지만, Mac은 그렇게 사용하기 어렵고 불편한 운영체제가 아니다. 또한 발열 때문에 계란 후라이를 할 것 같다는 말들도 루머일 뿐이다. 모르겠다. 난 한번도 게임을 해본적이 없지만 Mac으로 게임을 하면 그런 비행기 이륙소리와 미친듯한 발열이 날수 있을지도 모르겠다. 하지만 그렇지 않고 개발용으로 연구용으로 사용한다면 Mac은 매우 훌륭하고 안전한 운영체제이고 MacBook은 그 훌륭한 운영체제의 효율성과 효과를 극대화 시킬수 있는 노트북이라는 것을 알려주고 싶다. Mac도 운영체제이고 운영체제 자체가 프로그램이다. 그래서 간혹 버그가 발생하거나 보안상 문제있어서 보안패치등을 해줘야한다. Mac이 마치 바이러스에 천하 무적이라고 말하는 사람들도 있지만 잘못된 말이다. Windows와 바이르스 형태가 다르고 침투 경로만 다를 뿐이지 Unix 시스템에도 바이르스가 존재한다. 보안 문제는 운영체제의 책임이 아니라 사용자의 책임이다. 반드시 애플에서 주기적으로 패치하는 보안 패치는 설치해줘야한다는 것을 잊어서는 안된다. 가장 중요한 것은 자신이 개발하고 연구하는 분야에서 Mac 운영체제와 MacBook이 효율적인지 효과적인지를 생각하고 선택해야한다는 것을 명심하길 바란다. 실제 본인이 연구하고 있는 연구소에서도 Mac을 사용하는 연구원보다 Windows를 사용하는 연구원이 더 많다. 만약 이 조건만 만족한다면 개발자와 연구원들에게 Mac은 현재 존재하는 개발자의 운영체제 중에서 개발하고 연구하기에 가장 아름답고 유용한 운영체제가 아닌가 생각된다.
주석 : Windows 운영체제는 매우 효율성이 좋고 편리한 PC 운영체제 입니다. 이 포스트는 Windows가 Mac 보다 좋지 않다고 말하는 것이 아니라 Mac을 사용하는 개발 연구원 입장에서 5년 동안 Mac을 사용하면서 편리한 점과 아쉬운 점을 말하고 싶었습니다. Windows 운영체제 대해서는 또 다른 포스팅으로 소개할 예정입니다. 1년 전 연구소에서 iMac 27인치와 MacBook Pro 15인치를 제공해주셨습니다. 감사한 마음에 그간 지원받은 디바이스를 사용한 소감을 포스팅했습니다. 앞으로도 Mac을 사용해서 더 열심히 개발하고 연구할 수 있도록 최선을 다하겠습니다.
연구원 소개
- 작성자 : 송성광 개발 연구원
- 블로그 : http://blog.saltfactory.net
- 이메일 : saltfactory@gmail.com
- 트위터 : @saltfactory
- 페이스북 : https://facebook.com/salthub
- 연구소 : 하이브레인넷 부설연구소
- 연구실 : 창원대학교 데이터베이스 연구실