오늘은 땡스빌을 외치며 시작하죠. 그리고 코드 플렉스에도 감사를.

개발자를 지긋지긋하게 괴롭히는 것 중 하나는 문서 작업이죠. 어쩌겠습니까 뭐.

최근에 회사에서 라이브러리를 정리하면서 '위키로 라이브러리를 정리하자!'하고 막상 위키를 개설해 놨더니… 뭐 결과는 다 아시잖아요? 문서 만드는게 죽도록 귀찮은 일이라서…

이럴 시간에 한 줄이라도 더 쓰지 OTL

음음.

그래서 한동안 잊고 있었던 샌드캐슬 프로젝트를 혹시나 하고 기웃거려 봤더니 코드플렉스로 죄다 이사를 갔더군요. 그리고 기대를 져버리지 않고 닷넷 3.5까지 잘 지원을 하고 있었어요. 앗싸~

여튼, 슬슬 이 글 쓰는 것도 귀찮아지고 있어서 아주 초간단하게 준비물과 해야 할 일을 주욱 늘어놓고 끝내도록 하죠.

준비물

[필수]

[툴]

[옵션]

와우, 죄다 코드 플렉스로 이사갔네요. 요즘은 마이크로소프트랑 관계된 오픈 소스 프로젝트는 거의 대부분 코드 플렉스에 있는 것 같아요.

간단하게 설명하자면 Sandcastle은 일종의 라이브러리이고 Sandcastle을 사용하여 여러 가지 프로젝트들이 각기 다른 방법으로 문서화나 빌드를 하는 툴 혹은 프로젝트를 진행하고 있죠.

실제로 사용할 툴은 Sandcastle Help File Builder(SHFB) 또는 DocProject에서 진행하고 있는 건데요 서로 다른 특성을 가지고 있어요.

SHFB는 GUI 툴로 프로젝트 파일을 추가하고 연관된 어셈블리 들을 넣어주면 헬프 파일을 만들어주는데 단점은 의존성 있는 어셈블리를 일일이 추가해 줘야 한다는 것과 편집 옵션이 전체 헬프 파일 서머리와 네임스페이스 별 서머리만을 지원하고 나머지는 그냥 기본이라는 점. (이 외에 다른 방법이 있는 것 같은데 귀찮습니다. … ㅠ.ㅜ)

이에 반해 DocProject는 의존성 있는 어셈블리를 별도로 지정할 수 있어서 간편하고 좀 더 편리한 편집 툴도 제공해서 더 좋은 것 같아요. 하지만 C# 프로젝트 형식이라서 별도의 솔루션을 만드는 것이 좋고 해서 스탠드얼론 방식을 좋아하는 분에게는 별로겠죠.

여튼 선택은 자유…이지만 설명은 DocProject만 할께요.

헬프 파일 스타일은 헬프 파일의 디자인의 몇몇 템플릿인데요, MSDN말고도 다른 스타일로 할 수 있죠. 이건 뭐 말 그대로 옵션.

마지막으로 MS 헬프 2.0 형식의 파일(.HsX)는 CHM과는 다르게 곧바로 볼 수 없고 별도의 등록 과정을 거쳐야만 Document Explorer에서 볼 수 있죠. 근데 이게 또 만만치가 않아요. =_=;

 

설치 과정

 

사용 방법

DocProject를 기준으로, 기본적으로 릴리즈 노트에 잘 설명이 되어 있으니,

…라고 하고 싶습니다만, 실버라이트용 프로젝트에서는 약간 더 손대야 할 부분이 있어서 그 부분만 언급하고 넘어갈께요;; 길어서 접어둡니다.

Posted by gongdo

Submit comment.

  1. Favicon of http://www.oscarplex.net BlogIcon 오스카 2008.11.05 15:52  comment URL  Edit/Remove  Submit comment.

    좀 다른 이야기이지만, chm -> hsx -> register document explorer 하는 방법 발견하시면 포스팅 좀... -0-

  2. Favicon of http://blog.powerumc.kr BlogIcon 땡초 2008.11.05 17:34  comment URL  Edit/Remove  Submit comment.

    //오스카
    제 블로그에 Help Integration 내용이 있습니다만,,,
    http://blog.powerumc.kr/article/2008/10/17/MS-HELP-2-And-Help-Integration-Trouble-Shooting.aspx

    개인적으로 DocProject 보다는 http://www.codeplex.com/doctools 이 더 편한것 같더라구요.
    최대 단점이 영문 Office 에서만 동작한다는 것을 제외하면 말이죠.

    Sandcastle 도 help 2.0 생성시 BOM 이 포함되어있어서, 원본 코드를 고치던가 해야지 불편하네요 -_-;

  3. Favicon of http://tc.netspheres.org/glradios/ BlogIcon Glradios 2008.11.06 00:39  comment URL  Edit/Remove  Submit comment.

    전혀 다른 얘기긴 하지만, 저거 무슨 영화인가요? '_'

    • Favicon of http://gongdosoft.com BlogIcon 공도 2008.11.06 09:14  comment URL  Modify/Remove

      스탠리 큐브릭 감독의 유명한 공포영화 '샤이닝'에서 따왔어요.
      저는 잭 니콜슨하면 떠오르는게 샤이닝과 배트맨 1밖에 없게 되어버렸죠;;;

  4. Favicon of http://www.dongyon.net BlogIcon fancyydk 2008.11.08 12:02  comment URL  Edit/Remove  Submit comment.

    처음 와봤는데 글이 너무 재밌네요 ㅎㅎㅎ
    실버라이트 개발자이신가요?

  5. 희eSpoir망 2008.11.13 11:19  comment URL  Edit/Remove  Submit comment.

    엇..안녕하세요
    새내기 IT개발자 =_=;; 입니다.
    졸업하고 일 시작한지는 8개월 조금 넘었구요.
    사는곳은 대전.. (왜 여기에 자기소개를 하고있지 ㅡ,.ㅡ)

    문서화 툴을 찾아보다나 Doxygen부터 찾기 시작해서 Ndoc을 거쳐 Sandcastle까지 오게 되었네요.
    글 참고 잘 할께요 감사합니다.

    이건 사족이지만, Silverlight개발자라고 하셨는데, 질문이 하나 있어서요
    C# winform에서 Silverlight를 붙여넣을수가 있나요?
    찾아봤더니 그냥 WPF를 사용하라고들만 하셔서요..
    Silverlight가 WPF/E에 여러 언어의 지원이 추가되서 이름이 바뀐거라고는 알고 있는데,
    정말 안붙나요? +_+ 알려주세용~

    • Favicon of http://gongdosoft.com BlogIcon 공도 2008.11.13 19:19  comment URL  Modify/Remove

      안녕하세요 에스포와로 호에 잘못타면 신세 망치는 수가 있죠.(이 말은 무시하세요)

      Winform에서 실버라이트를 꼭! 꼭! 넣어야겠다면 크게 두 가지 방법이 있는데요,
      1. 웹브라우저 컨트롤을 올리고 거기에 실버라이트 애플리케이션을 호스팅하는 HTML을 올리는 방법.
      이건 꽤나 간편하게 구현할 수 있긴 하지만 만약 실버라이트 영역과 WinForm영역이 뭔가 데이터를 자주 주고 받아야 한다면 그냥 WPF로 만드는 게 낫겠죠.

      2. 하나는 COM 인터페이스를 통해 직접 올리는 방법인데 http://msdn.microsoft.com/en-us/library/cc296246(VS.95).aspx 여기를 참고하세요. 사실 이쪽은 저도 잘 모르겠네요.

한창 PDC2008에서 소식이 쏟아져 나오고 있는데요, 관심 있는 주제들은 많은데 둘러 볼 시간이 없네요. 저는 한창 프로젝트 막바지에 이르러서요… 그래도 실버라이트 관련해서 그냥 지나칠 수 없는 소식이 있어요.

전에 실버라이트 2를 공식으로 발표한 컨퍼런스 콜에서도 나왔던 얘기지만 코드 플렉스를 통해 실버라이트 툴킷이 공개되었어요.

이번에 공개된 툴 킷에는 12개의 컨트롤과 6개의 테마를 포함하고 있으며 모두다 유닛 테스트와 문서화가 완벽하게 이루어져 있어요. 여느 오픈 소스와는 질적으로 다른 게 바로 유닛 테스트와 문서화라고 생각해요.

 
MSDN 스타일의 표준화된 문서화야 말로 마이크로소프트 기술의 강점중 하나!

 
진짜 프로젝트를 이 정도로만 깔끔하게 만들면 하산해도 될거에요. 앞으로 실버라이트 컴포넌트를 만들 때의 교과서가 될 듯. 저도 이번 프로젝트 끝내고 빨리 공부해보고 싶군요.

실버라이트 툴킷 프로젝트에서는 컨트롤을 4개의 퀄러티 대역으로 구분하고 있네요.

  • Experimental ; 실험적이고 평가를 위해 작성된 컨트롤.
  • Preview ; 기본적인 사용 시나리오를 미리 보기 위한 퀄러티로 피드백에 따라 많은 수정이 있을 수 있음.
  • Stable ; 90% 이상의 완성도로 이 후 브레이킹 체인지는 거의 없는 퀄러티.
  • Mature ; 풀 릴리즈를 위해 준비된 퀄러티.

이번에 공개된 컨트롤은 다음과 같아요.

Preview 퀄러티

  • AutoCompleteBox
  • NumericUpDown
  • ViewBox
  • Expander
  • ImplicitStyleManager
  • Charting

Stable 퀄러티

  • TreeView
  • DockPanel
  • WrapPanel
  • Label
  • HeaderedContentControl
  • HeaderedItemsControl

네, WPF를 하셨던 분이라면 익숙한 몇몇 컨트롤도 있고 새로 추가된 컨트롤도 있네요. 특히 썩 아름답지는 않지만 쓸만한 차트가 포함된 것도 고무적이고요.

또 특이한 점으로는 기존 컨트롤에 쉽게 테마를 입힐 수 있도록 준비된 ImplicityStyleManager인데요, 자세한 사항은 Theming에서 확인해 보세요. 간단하게 눈으로만 봐도 무슨 내용인지 파악할 수 있을 거에요.

아우아우… 바빠 죽겠는데 새로운 것들은 쏟아져 나오고… 진짜 정신 없네요!

Posted by gongdo

Submit comment.

  1. Favicon of http://joongs.net BlogIcon 중스 2008.10.29 18:11  comment URL  Edit/Remove  Submit comment.

    '진짜 프로젝트를 이 정도로만 깔끔하게 만들면 하산해도 될거에요' -> 공감, 실버라이트 컴포저 대기대 :)

요즘은 HugeFlow에서 작은 프로젝트를 하고 있어요. 이번 프로젝트에서 테스트 겸 해서 CodePlex에서 제공하는 TFS(Team Foundation Server)의 기능들을 경험해보고 있는데 이거 잘만 활용하면 정말로 좋은 개발 환경을 갖출 수 있는 것 같아요. CodePlex로 오픈 소스 개발팀을 만들고 개발을 시작하는 방법에 대해 소개할게요. Visual Studio 2005에서도 가능하지만 여기에서는 2008을 기준으로 설명할게요.

우선 필요한 것은

  • Visual Studio 2008
  • Team Explorer 2008
  • E-mail 주소
  • 개발할 프로젝트 아이템
  • 함께 개발할 사람

정도가 되겠네요.

※CodePlex란?
CodePlex는 마이크로소프트에서 만든 오픈 소스 프로젝트 개발을 위한 프로젝트 관리 서비스를 제공하는 사이트에요. 아마 개발자라면 누구나 한번쯤 거쳐갔을 SourceForge라는 사이트와 유사하죠. CodePlex는 SourceForge에 비해 Visual Studio와 Team Foundation Server 경험에 집중되어 있다는 특징이 있죠.

CodePlex는 이미 많은 유용한 프로젝트들을 배출했는데요, 대표적으로 ASP.NET AJAX에 정식으로 추가된 AJAX Control Toolkit 프로젝트가 있죠.

기본적으로 CodePlex는 오픈 소스 프로젝트를 지원하기 위한 사이트이지만 소규모 IT 기업이라면 선뜻 접근하기 어려웠던 TFS를 미리 경험할 수 있다는 점에서 작은 프로젝트를 CodePlex를 활용하여 진행한다면 많은 경험과 관리적인 이점을 얻을 수 있을거라고 생각해요.

※ 스크롤의 압박 주의! ※

저도 CodePlex를 통해 처음으로 TFS 팀시스템의 일부를 맛보고 있고 이걸 잘 활용한다면 멋진 오픈 소스 프로젝트 혹은 소규모 프로젝트를 진행할 수 있을 거란 생각이 들어요.

혹시 TFS에 대해 알기 쉽게 정리된 곳이 있다면 알려주시고 CodePlex로 실버라이트 프로젝트를 진행하고 싶은 분은 저에게도 알려주세요. 참고로 제 CodePlex아이디는 gongdo에요. ^^

Posted by gongdo

Submit comment.

  1. Favicon of http://www.uxkorea.net BlogIcon 준서아빠 2008.02.11 02:54  comment URL  Edit/Remove  Submit comment.

    아... 감동의 안습...

  2. Favicon of http://rkttu.com BlogIcon 남정현 2008.02.11 09:17  comment URL  Edit/Remove  Submit comment.

    Codeplex에서 제공하는 SW 형상 관리 시스템을 써보다가 익숙하지 않아서 결국 개인 리포지터리로 전환했었죠. 뭔가 묘하게 불편하더랬습니다. -_-;

    • Favicon of http://gongdosoft.com BlogIcon 공도 2008.02.11 09:32  comment URL  Modify/Remove

      아무래도 로컬이나 로컬 네트웍에서 작동되는 서버에 비해서는 속도도 느리고 특히 소스세잎이랑도 약간씩 다른 점이 있어서 불편한 점도 있더군요. 그래도 TFS는 협업 프로세스를 세우는 하나의 기준이 될 수 있어서 좋은 것 같아요. :)

  3. Favicon of http://www.feelmind.com BlogIcon 이과장 2008.02.12 09:48  comment URL  Edit/Remove  Submit comment.

    후덜덜 이제야 이 글봤네요 -_-;;

    codeplex 이용하고자 하는 사용자에게 큰도움이 될것 같습니다. ^

  4. 노구라 2008.02.12 13:23  comment URL  Edit/Remove  Submit comment.

    감동입니다~~~

  5. Favicon of https://gilverlight.tistory.com BlogIcon 길버트 2008.02.14 02:15 신고  comment URL  Edit/Remove  Submit comment.

    공도님은 정리쟁이~
    이 많은 내용은 언제 다 스크린샷 떠가면서 정리하셨을꼬?? ^^

    • Favicon of http://gongdosoft.com BlogIcon 공도 2008.02.14 02:57  comment URL  Modify/Remove

      제가 정리쟁이였으면 하루에 블로깅 5개씩도 할 수 있을걸요 ㅠ.ㅜ
      그냥 가끔 삘받고 폭주할 뿐이죠;;;

  6. Favicon of http://cafe.naver.com/mssilverlight BlogIcon 패러다임 2008.02.20 10:57  comment URL  Edit/Remove  Submit comment.

    호곡!~
    깔끔한 정리에 전 달리기만 하면 되는거군요. ^^
    감사합니다.

  7. 널새 2008.02.27 13:14  comment URL  Edit/Remove  Submit comment.

    잘봤습니다.. ^^

  8. Favicon of http://onestone.tistory.com BlogIcon ONESTONE 2008.04.04 17:41  comment URL  Edit/Remove  Submit comment.

    정리 감사합니다. 굿 ~

  9. 강두루 2009.12.04 14:05  comment URL  Edit/Remove  Submit comment.

    정리 잘 봤습니다. 굿 굿 좋은 자료네요. 감사