개발&Development/프로그래밍 일반

개발자 표준PC - 2006년 3월 버전

겐도 2006. 3. 3. 10:46
이전에는 듀얼 CPU를 써야 하고 이것을 상사에게 설득 시켜야 한다느니 하다가 최근의 듀얼 코어를 보면서 이제 이 문제는 사라졌구나 생각이 들긴 한다. 약간의 코스트 추가로 이제 개발자는 멀티 시피유를 가질 수 있게 되었다. 그러고 나니 욕심이 더 생긴다고 할까나? 아무튼 현재 시점에서 개발자에게 권장되는 장비 스펙을 불러볼까 한다. 물론 UNIX같은 특별한 환경이 아니라 IBM-PC Compatible 환경에 대해..

CPU
당연 듀얼 코어다. 듀얼이 왜 필요하냐고 물으신다면 싱글코어에서는 멀티쓰레딩시의 문제를 잡는게 거의 불가능 하기 때문이라고 하고 싶다. 콘솔 어플리케이션의 개발은 물론이고 요즘 유행하는 웹 어플리케이션도 각 콤포넌트가 동시에 돌아줘야 개발타임에 뭔가 꼬여 주기도 한다. 더불어 프로그램이 Hang 되었을때 리붓을 안시키고 작업관리자를 뛰워 해당 프로세스를 죽일 수 있는 상황이 될 확률이 높다.
아직까지도 개인적으로는 Intel CPU를 추천한다. Intel의 Compiler와 Performace Analyzer(VTune)이라는 비밀병기의 존재 때문이다.(개발자 PC임을 잊지 말자) AMD도 이제 개발자 레퍼런스를 제공하고 있는듯 하지만 컴파일러의 제공차이는 상당히 시사하는 바가 크다. CPU가 정해지면 몇몇 부품들의 스펙은 대충 정해질 것이다.

메모리
640K이후 하드 용량처럼 메모리 용량도 기하 급수적으로 늘어나고 있다. 현 시점에서 권장하는 메모리 양은 2G 이상이다. 4G까지도 메인보드에 꼽을 수 있다면 적극 권장하는 바이다.
메모리가 충분하면 물론 일하면서 뻘짓을 할 수 있기도 하지만 개발 과정에서 다양한 툴을 동시에 적용하는 것을 가능하게 한다. 더불어 덕지덕지 쓴 500메가 워드파일을 열어도 윈도우가 크래쉬 되는 상황을 피할 수 있기도 할것이다.
대용량 메모리를 권하는 또다른 이유는 최근의 Virtual Machine 때문이기도 하다. VMWARE나 MS의 Virtual PC를 사용하면 개개인이 부가적인 헤쳐모여장비(굴러다니는 부품을 모아 만든..)로 여러 플랫폼의 장비를 가질 필요가 사라진다. 대신 이런 기술을 쓰려면 물리적인 메모리를 상당히 요구한다.
한마디로 정리한다면... 꼽을 수 있는 만큼 최대한 꼽아라.

메인보드
비싼거 써라. USB나 Firewire(IEEE1394)같은거 주렁주렁 달린게 필요하다. 이전에는 SCSI도 추천품목이었지만 최근에는 상대적으로 낮아진거 같기는 하다.
고급 부품을 쓰는 것이 왜 중요하나면 개발자의 PC가 Crash되었을때 발생하는 Cost 때문이다. 개발자의 PC는 한가로울땐 별 이상이 없다. 꼭 듀 며칠 앞두고 말썽을 부릴때가 많다.

그래픽카드
Dual DVI만 확인하면 되겠다. 두개의 모니터가 주는 넓은 작업환경은 개인적인 느낌으론 120% 이상의 능률 향상을 보여주는 것으로 보고 있다. Wide 모니터(Apple의 Cinema시리즈 같은)에 대한 자료는 아직 없으나 적어도 17인치 LCD 두개가 주는 장점은 많다. 책상위의 널부러진 메뉴얼이나 책 보다는 화면 한쪽에 올라와 있는 PDF 메뉴얼이 여러모로 좋다.

하드디스크
200G~300G정도의 하드도 이제 충분히 가격이 다운된 상태. 개발을 하다보면 여러벌의 코드셋을 가지게 되고 컴파일 중간물들도 쌓이고 하면 몇기가는 순식간에 차버린다. 그리고 위에서 언급한 Virtual Machine들을 이용하려면 고용량은 필수. 더불어 2개를 추천한다. 하나는 시스템, 그리고 하나는 데이터로 만들어 위험을 분산시켜야 한다. 물론 개발 그룹에서는 중앙 백업센터를 만들어 중요한 데이터는 백업할 수 있도록 하는 것도 중요하다.
인터페이스의 대세는 역시 싸다!(SATA)

ODD
DVD-RW나 CD-ROM이나 가격 차이가 크지 않다. 회사 기밀(특히 소스들)을 훔쳐 나갈 수 있지 않나 걱정하실지 모르겠으나 CD media보다는 USB 메모리가 더 위험하다.
가끔씩 있는 데모를 위해 개발자에게 RW를 투자하는 것도 그리 나쁘지 않다. 업종에 따라 가끔씩 빌려오는 서버를 셋팅함에 있어 RW의 존재는 막강하다.

케이스
개인 취향. 그래도 소중한 개발자의 손가락(때로는 머리보다 더 중요한지도 --;)을 보호하기 위해.. 비싼거 사주길. 싼거에 베이기라도 하면 가끔 프로젝트 전체에 영향을 주기도 한다.

파워서플라이
최근에 당했다. 그렇게 나쁜거도 아닌데 생소한 브랜드 샀다가 윈도우를 장장 3일동안 깔지 못했다. 전기세 차이도 얼마 나지 않으니 고용량으로 브랜드 있는 놈으로 사면 된다.

키보드 & 마우스
개인적인 취향차가 매우 큰 부품이라 일괄 지급보다는 예산을 주고 알아서 선택하라고 하는 편이 좋을 것이다. 때로는 (아는 사람은 다 아는)HHK를 질러 주는 것도 개발자의 사기진작을 200% 향상 시키기도 한다. 모니터와 더불어 키보드는 생산성에 의외로 민감한 부분인것 같다.

모니터
요즘은 왠만하면 LCD 17인치 이상으로 지급해 주는 것 같다. 반대로 아직도 창고에서 CRT 꺼내주는 회사도 있다. 개발자의 2세를 위해서라도 LCD로 이제는 변하길 바란다.책상위의 여유 공간은 개발자의 정서에 많은 영향을 주는 것으로 보고 있다. 반대로 모니터로 가득차 있는 책상은 상당한 악영향을 미친다.

그외
전쟁에 나가는 병사에게 가끔씩 안쏴지는 총을 주는 것은 전쟁의 승패에 상당한 악영향을 줄 수 있다. 반대로 예산이 허용하는 범위내에서 좋은 무기를 지급하면 이길 수 있는 가능성은 높아진다. (물론 병사에 문제가 있으면 안되겠지만....)
많은 회사들이 개발자의 장비에 상당한 투자를 하고는 있지만 또 많은 업체들은 창고에 먼지가 수북히 쌓인 장비를 신입사원에게 지급하곤 한다.(혹은 관리자나 사장 컴퓨터가 가장 좋은 상황도..) 회사내의 개발자가 최고의 수준을 가지길 바란다면 그들의 장비도 전문가에게 걸맞아야 한다.

인터넷이 잠시 안되는 틈을 탄 가쉽쓰기;;;