구글 태그

2007년 6월 26일 화요일

과연 직장생활에 있어서 노력이란게 얼마나 중요한 것인가..

회사생활을 몇년 하면서 뼈저리게 느끼는게, 누구나 다 아는 얘기겠지만, 직원이 백날 열심히 하는것보다 경영진이 한번 제대로 판단하는게 회사의 발전에 몇만배는 가치가 있다는 사실입니다..

그래서 제가 직원보고 너희가 이 회사의 주인이니 열심히 하라는 둥의 말을 뼛속 깊숙히부터 안 믿습니다. 직원이 아주 열심히 일해서 110, 120의 노력을 하고 버닝한 후 타버리느니, 경영진이 한번 제대로 판단해서 몇만의 효과를 얻고 직원은 꾸준히 100의 노력만 하는게 회사 성장에 훨씬 도움이 됩니다.

그리고, 너희가 회사의 주인이니 어쩌구 하는 얘기는 꼭 회사 사정이 어려워졌을때만 나옵니다. 이것도 누구나 다 아는 얘기지만, 회사의 주인은 주주이지 직원이 아니죠.. 그런 얘기가 나오면 회사의 현금 유동성을 의심해봐야 합니다. -_-

2007년 6월 22일 금요일

공개 Code Beautifier의 모음, UniversalIndentGUI

요즘 어쩐지 계속 개발도구 이야기만 하고 있는것 같네요. 어쩌다보니 계속 이것저것 필요한게 많아져서..

작업하고 있는 모듈에 외부 코드를 끌어다 쓸때면 들여쓰기(indentation) 스타일이 나랑 맞지 않아서 짜증났던 경험이 있으실 겁니다. (아, 모든 모듈을 자체개발하시거나 아예 라이브러리 단위로 끌어다 쓰기 때문에 코드를 직접 긁어오는 일이 없으시다면 해당 사항이 없겠지만요) 이러한 경우에 명색이 프로그래머라는 사람이 들여쓰기를 수동으로 맞춰주는 짓을 하고 있으면 최악이라고 할 수 있죠. 일단 생산성 면에서 나쁘고, 나중에 만일 원본에서 버그가 발견되거나 기능이 추가되거나 해서 업데이트가 된다면, 코드를 다시 긁어오는 경우가 생길수도 있는데 다시 들여쓰기를 맞춰주는 삽질을 반복할수는 없잖아요? 이럴때 쓰라고 만든 도구가 있으니 바로 Code Beautifier(혹은 Code Formatter)라고 부르는 녀석들이죠. 사실 명칭은 어느쪽으로 불러도 마찬가지지만, 왠지 Code Beautifier라는 명칭이 더 맘에 듭니다. 들여쓰기는 실용성의 문제이기도 하지만 미적인 문제이기도 하거든요.

뭐 여하튼, 이러한 도구를 쓰게 되는 사람들이 겪는 사연이 다 그렇듯, 저도 어떤 코드를 긁어오다보니 들여쓰기가 너무 맘에 안 들어서 손으로 맞춰주는 삽질을 할까 하다가 도구를 쓰기로 했습니다. 구글링을 해서 몇개를 찾기는 했는데, GUI의 세상에 너무 오래 살아서 그런지 커맨드라인툴은 쓰기가 영.. 몇십개나 되는 옵션을 커맨드라인에 직접 줄수는 없으니 대부분 설정파일을 만들어서 실행하는 방식인데, 설정파일을 만들다보니 미리보기가 안되는건 참 답답하더군요. 그래서 누군가 미리보기를 구현해놓지 않았을까 하고 찾다보니 나온게 바로 이 도구입니다. 미리보기 기능을 지원할 뿐만 아니라 여러 공개 Code Beautifer들을 하나의 통합 환경에 모아놔서 입맛에 맞게 골라 쓸 수 있도록 되어있습니다.

(링크) UniversalIndentGUI

설치프로그램도 필요없고, 받아서 적당히 풀고 UniversalIndentGUI.exe 파일을 실행하면 다음과 같은 화면이 나옵니다.

그림을 누르면 새 창이 뜹니다.

화면 오른쪽 상단에 보면 현재 사용하는 Code Beautifier의 이름이 나옵니다. 공개된 여러 Code Beautifier들의 컴파일된 바이너리를 포함하고 있기 때문에, 그냥 설치해서 입맛에 맞는 기능을 제공하는 Code Beautifier를 찾아서 미리보기를 이용하여 옵션을 조정하고 코드를 변환하면 됩니다.

현재 제공하는 Code Beautifier의 목록은 다음과 같습니다.


ArtisticStyle
BCPP
CSSTidy
GNU Indent
GreatCode
HTML Tidy
PHP Code Beautifier
Uncrustify


C++의 경우에는 ArtisticStyle이 가장 사용하기 편하고, 저의 경우엔 필요한 옵션을 찾다보니 GreatCode를 쓰고 있습니다.

2007년 6월 18일 월요일

소스코드 문서화 도구, Doxygen..

개인적으로 만들고 있는 프로그램이 있는데, 시간이 날때만 조금씩 띄엄띄엄 작업을 하다보니 가끔은 저 자신도 어디서부터 다시 손을 봐야 할지 감을 찾는데 시간이 오래 걸리는 경우가 있습니다. 소스에 주석을 달아놓기는 하지만 라이브러리의 전체적인 윤곽을 빨리 훑어보는데에는 주석만으로는 좀 부족하죠. 그래서 소스코드 문서화 도구를 이용해 보기로 마음을 먹었습니다.

아무래도 가장 많은 사람들이 사용하는 도구가 일반적인 용도로는 가장 유용할 가능성이 높다고 할 수 있죠. 가장 유명한 Doxygen을 써보기로 했습니다.

(링크) Doxygen, Source code documentation generator tool

이 글을 작성하는 시점에서 최신 버전은 1.5.2입니다만, 설치해서 테스트해보니 한글로 작성한 주석을 제대로 처리하지 못합니다. 관련된 내용을 좀 찾아보니 1.5.2는 자체적으로 문자열 인코딩/디코딩 기능을 구현한듯 하고, 직전 버전인 1.5.1-p1은 OS의 인코딩을 따라가는듯 합니다. 자체 기능이 제대로 구현될 때까지는 OS를 따라가는 1.5.1-p1을 쓰는게 정신건강에 좋을듯.

(링크) Doxygen 1.5.1-p1

설치해보니 한글 주석이 잘 처리됩니다. 문서 생성 설정을 찾아보니 클래스간의 관계를 그래프로 그려주는 기능이 있는데, 이걸 활용하려면 dot라는 도구가 필요하다고 합니다. dot는 Graphviz에 포함된 그래프 생성 도구라네요.

(링크) Graphviz - Graph Visualization Software

Windows용은 다음 링크에서 받을 수 있습니다.

(링크) Graphviz Download (Windows)

필요한 도구를 모두 설치하고 옵션을 설정하여 문서를 생성해보니 클래스 및 멤버 목록과 관계도, 색인 등이 포함된 꽤 괜찮은 문서가 나오긴 하지만 정작 제가 작성해 놓은 주석은 포함되지 않는군요. C++의 경우에는 Doxygen이 인식할 수 있도록 주석 스타일을 바꿔서 달아줘야 생성된 문서에 주석이 포함된다고 하는데, 앞으로 작성하는 주석부터 그렇게 하기로 하고 이전 주석을 수정하는 노가다는 하지 않기로 했습니다. 조금씩 코드를 수정하다보면 언젠가는 전부 Doxygen 스타일로 바뀔 날이 오겠죠.

시험삼아 C# 프로젝트를 하나 문서화해 보았는데, 이 쪽은 결과가 훨씬 좋습니다. Visual Studio .NET 개발툴이 C#에 대해서는 어느정도 주석의 스타일을 강제하는데,(인텔리센스-자동표시기능-에 주석이 표시될 수 있도록 하기 위해서 그렇게 하는듯) 이를 정확히 인식하기 때문에 생성된 문서에 필요한 주석이 고스란히 포함됩니다. Doxygen을 대비해서 주석을 신경써서 달지 않은 경우에는 C++보다 C#쪽 프로젝트를 Doxygen으로 문서화하는게 더 효율적일것 같네요.

2007년 6월 14일 목요일

id, Tech 5 엔진 데모 공개..

존 카맥이 id의 새 엔진인 Tech 5의 데모를 시연했다는군요.

(링크) First footage of id's new engine

'미친듯이 정교하다'고 표현을 하는 MegaTexture 기술을 사용해서 텍스쳐 용량만 20GB랍니다. PC, Mac, PS3, Xbox360을 지원하구요.

..라는건 현세대에서는 PS3에서만 쓸모있는 기술이 될듯하군요. PC, Mac, Xbox360은 아직 기본적으로 탑재되는 광디스크 매체가 그 정도 용량을 지원하지 못하죠. 역시 하드웨어 성능은 좋아서 손해볼건 없는듯 합니다. 아, 판매에서 손해를 보죠? ^^;;

..라곤 해도 지금 데모를 보여준 엔진이 실제로 사용되려면 시간이 좀 걸릴테니까 Xbox360은 몰라도 PC와 Mac의 경우엔 차세대 광디스크 매체로 이행할만한 시간적인 여유가 있을지도 모르겠네요.

2007년 6월 11일 월요일

소니에릭슨, PSP폰 개발?

소니에릭슨이 미국에서 특허를 신청했다고 합니다. 그런 회사들이야 특허를 한두개 신청하는것도 아닐테지만, 기사화까지 된걸 보면 이번에는 좀 흥미로운 내용인가 봅니다.

(링크) 소니에릭슨, '워크맨폰' 다음은 'PSP폰'

그림을 보시면, 더도말고 덜도말고 딱 PSP폰이죠?



와 정말 멋지다! 라고 순수하게 말해주고는 싶지만, 크기는? 배터리는? 그립감은? 하는 걱정이 앞서는 것도 사실입니다. 제가 그림을 5초간 바라보며 생각해봐도 마음에 걸릴 정도면 그쪽의 하드웨어 디자이너들이 알아서 고민하면서 잘 해결하겠지만요.

국내에서는 GxG와 Gpang등의 3D 게임폰 서비스가 실패한 전력이 있지만, 그쪽은 허술한 라인업에 플랫폼 단일화도 실패했었고 하니 이거랑 비교할 수는 없을테구요. PSP 정도의 성능이면 벼라별 기능을 개발해서 추가할 수 있을텐데, 다소 상상력이 부족해 보이는 SCE대신 소니에릭슨이 다양한 서비스를 개발해서 제공한다면 나름대로 괜찮을것도 같습니다. 물론 잘 한다면 말이죠. ^^;;

2007년 6월 7일 목요일

이명박 전 시장의 잘못된 맞춤법..

이명박 전 시장이 현충일에 작성한 방명록 문구(아마도 역시나 현충원에서겠죠?)에 잘못된 맞춤법을 사용해서 온라인 상에서 화제가 되고 있습니다. 사진이 돌아다니는데, 한편으로는 이해가 가기도 하지만 한편으로는 좀 그렇기도 하군요.

사진을 누르면 새 창이 뜹니다

"~습니다"를 "~읍니다"로 쓴건 나이드신 분들이 개정 맞춤법을 잘 몰라서 흔히 하시는 실수이니 별 문제는 안된다고 보지만, "바치다"를 "받치다"로 쓴건 좀 의외입니다. 이건 그냥 흔한 실수로 치부하기에는 좀 눈에 띠죠?

구글링을 해보니 전에 이런 일도 있었던 모양이네요. 이 전 시장이 방명록 때문에 난감했던 일이 이번이 처음은 아닌듯 한데요. 비서진이 방명록 문구를 미리 다듬어서 정해놓는게 나을지도 모르겠습니다. 근데 그렇게까지 하면 또 너무 삭막하죠? -_-

2007년 6월 5일 화요일

이, 이, 이게 뭐냐는!!!

아마 이 그림은 많이들 보셨을겁니다.. (아닌가?)

그림을 누르면 새 창이 뜹니다

근데 이게 뭡니까 진짜.. 아키바계는 진정 마계가 되어가는겁니까? -_-

(크게 보시려면 그림을 누르세요. 새 창이 뜹니다)