Monthly Archives: December 2007

모닝365 온라인 서점 5000원 할인

이런 글은 잘 안올렸었지만 저도 어제 15000원 짜리 6000원에 주문했습니다.

단, 아래 링크를 통해서 가입해야 마일리지 5000원이 쌓인답니다.

http://www.morning365.com/member/member_article.asp?fromwhere=en_skt5000

저는 “소프트웨어 프로젝트에서의 리스크 관리”라는 책을 샀는데
정가 15000원에서, 20% 할인(3000원), 이책에 쿠폰이 제공되서 1000원 추가 할인,
마일리지 5000원 사용해서 총 9000원이 할인됐습니다. 그리고 한권도 무료배송을
해주네요. ^^

회사 SVN 통계 그래프

얼마전(12월6일)에 TortoiseSVN에서 Merge기능을 사용하다가 새로운 기능을 찾았습니다.
Commit 통계를 그래프로 그려주는 기능이 있더군요! 이제 회사 생긴지도 6년이 넘었고, 연말이고 해서 지난 Commit 통계를 그래프로 그려봤습니다.

회사는 2001년 말에 만들어졌고, APP 개발만 SVN으로 관리하고 있습니다. 원래 CVS로 관리했었는데 작년에 SVN으로 갈아탔습니다. CVS에서 파일단위로 커밋이 관리되는데, SVN으로 가져올때 커밋단위로 변경해서 가져와서 통계내는데도 전혀 문제가 없네요.

먼저 회사의 SVN은 세가지로 관리됩니다. 내부 개발이 Develop, 외부 프로젝트가 Project, 실험 프로젝트가 Test. Test에서 어느정도 쓸만하게 되면 Develop으로 옮겨갑니다. 외부 프로젝트의 경우 외부 저장소에서 관리되는 경우도 있어서 이런 경우는 포함되어 있지 않습니다.

예상외로 그래프가 들쑥날쑥하지는 않네요. 2002년까지는 3명정도, 그 이후로는 4명 정도가 개발인원으로 유지되고 있는거 같네요. 예전엔 외부 프로젝트가 많아서 인당 프로젝트가 할당되서 스트레스 받았었는데, 요즘은 외부 프로젝트를 안해서 그래도 살만합니다.

현재 revision 10948으로 대략 한달에 20일 일한다고 하면 하루 8회 정도 commit이 일어났네요..

아래는 올해 Develop commit 그래프 입니다.

새로 들어온 사람들이 잘 적응하고 있는거 같아서 다행이네요.

아래는 사용자별 그래프입니다. 제가 제일 commit은 많이 하는데… 다른 사람들은 commit하는 주기가 저에 비해서 좀 길어서 그런거 같습니다.


TortoiseCVS에도 이런 기능이 있는지는 모르겠지만 CVS에서 SVN으로 바꾼 이후 후회한적이 거의 없습니다. Trac의 소스보기가 CVSWeb하고 인터페이스가 좀 틀려서 Revision보느거하고 Diff보는게 헷갈렸던거 빼고는 정말 장점이 많네요.

위 그래프를 개발자들에게 보여주니 commit 자주해야겠다고 하네요. commit 횟수가 아닌 commit 라인수 단위로 그래프를 그려볼수 있는 방법이 없나 찾아봐야겠네요.

Visual C++ 컴파일 속도 향상

간만에 글 올리네요…

회사 프로젝트 빌드 시간이 갈수록 길어지고 있었는데, 빌드시간을 아주 많이 줄일수 있는 좋은 글을 찾았습니다. precompiled header를 사용하고 있었지만, 제대로 설정이 안되어있었나봅니다.

제가 VC++ 6.0을 사용하기 때문에 6.0 기준으로 설명합니다.

일단 라이브러리를 제외하고 메인 exe 빌드하는데 시간을 측정했습니다. 측정 방법은 msdev.exe 실행할때 /y3 옵션을 주면 빌드시간이 표시됩니다.

변경하기전 출력입니다.
Build Time 5:21.9

변경후 출력입니다.
Build Time 1:32.8

대략 3.4배 빨라졌습니다.
근데, 팀 개발자들의 반응은 의외였습니다! 빌드시키고 놀시간이 없어졌다고 부정적인 반응을 —

변경 내용은 프로젝트 전체에서 precompiled header 세팅을 새로 했습니다. 원래 Automatic use of precompiled header에서 Use precompiled header file (stdafx.h)로 지정했습니다. 그리고 예외적으로 precompiled header를 안쓰던 몇개의 C(++) 소스들은 파일별로 Not using precompiled header로 설정했습니다.

다음 stdafx.h에 편의상 resource.h와 로그 관련 헤더를 하나 포함했었는데, 프로젝트 관련 헤더는 모두 뺐습니다. 대신 자주 사용하는 STL 헤더들을 stdafx.h에서 include 했습니다.

10분 정도 간단한 변경으로 빌드 속도가 3배 이상 빨라졌습니다. ^^v