2009/02/23 16:38

Visusal Studio 2008 SP1을 영어가 아닌 다른 언어로 설치할 경우 Intellisense가 영어로 나오는 버그가 있습니다.
분명 FIX가 나왔을 때 설치했을 터인데... 다시금 VS 2008을 설치하니 또 찾게 되는군요.

또 잊어버릴까봐 블로그에 포스팅. 이거 건망증이야 뭐야~

FIX: 영어가 아닌 다른 언어 버전의 Microsoft Visual Studio 2008 서비스 팩 1을 설치한 후 몇몇 지역화된 IntelliSense 텍스트가 영어로 되돌려질 수 있음

다운로드 - 한글파일을 다운로드 하면 됩니다.
저작자 표시 비영리 동일 조건 변경 허락
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by mari
2008/07/16 16:30
텍스트 편집기나 개발 툴들을 보면 대부분 흰바탕에 검정색 폰트를 사용합니다.
가끔 이 기본 색들이 실증이 나거나 눈의 피로도를 좀 줄이기 위해 색을 변경하기도 합니다.

저는 명령 프롬프트(cmd.exe)의 색도 변경하여 사용합니다.
그런데 오늘 인터넷 카페에 들렀다가 Visual Studio의 색을 변경하는 글이 올라와 관련 링크를
돌아 다녔습니다.
http://www.hanselman.com/blog/VisualStudioProgrammerThemesGallery.aspx
이곳에 보시면 여러 테마들이 나오는데 그나마 처음에 나오는 Oren Ellenbogen's Dark Scheme가
제일 괜찮아 보이더군요. 노트북 LCD가 반사광이라 해야 하나? 있는 편이라 검정색은 좀 눈이
부신 느낌이 들더군요. 그리하여
Oren의 블로그 에 가서 다운로드 받았습니다.
포스트 제목이 2005를 설정하는 것인데 2008도 되려니 하고 자연스레...ㅋ

이제 설정하는 방법을 알려드려야지요...
영문 버전의 VS는
http://blogs.msdn.com/charlie/archive/2008/05/26/ide-color-schemes-for-the-vs-editor.aspx 여기서 확인하시구요.

한글의 경우 "도구" - "설정 가져오기 및 내보내기" - "선택한 설정 가져오기" - "아니오, 새 설정을 가져와 현재 설정을 덮어 씁니다." - "찾아보기" - 다운받은 vssettings확장자 파일을 선택합니다.
그러면 아래와 같은 화면이 나오는데 "글꼴 및 색" 만 선택하여 마침을 누릅니다.
사용자 삽입 이미지


모두 선택할 경우 이전 VS의 설정이 변경될 수 있습니다. 그런 이유로 미리 현재 설정을 내보내기로 저장하는 것도 좋은 방법입니다.

세팅을 마치면 뭔가 좀 부족하고... 폰트 종류나 키워드등의 색이 맘에 안듭니다.
그래서 도구 - 옵션에 들어가 색을 아래와 같이 변경해 봤습니다.
사용자 삽입 이미지

폰트는 비스타를 사용하기 때문에 가장 맘에 드는 맑은 고딕입니다.
Dark_20080716.vssettings

Visual Studio 2008 Color 설정 파일


제가 설정한 파일을 첨부하겠습니다.

가만 보니
Scott Guthrie 횽님도 위의 테마를 사용중 인듯 하네요..
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by mari
2007/03/08 02:33

비스타에서 Visual Studio 2005 SP1을 설치하면 비스타용 서비스 팩을 설치하라고 나온다.

 

하지만 친절하게 알려준 사이트로 가면 영어 버전만 떡하니 자리잡고 있었다... 일본어가 있었나?? 가물...ㅡㅡ;

 

당연히 그걸 다운로드 받아서 설치해도 버전이 다르니 설치가 안된다.(그렇다...혹시나 하는 맘에 설치해 봄;;ㅠ)

 

이 서비스 팩이 한글 버전이 이제서야 나왔다. ㅋ

 

Windows Vista용 Visual Studio 2005 서비스 팩 1 업데이트

 

 

아... 비스타 설치해보고 싶어도 마땅한 컴터가 없다. 놋북을 사고 싶지만...가격의 압박.

 

왜?? 무이자는 2~3개월일까... 100만원이 넘으면 10~12개월을 안되나...ㅅ ㅑ붕;;

크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by mari
2007/01/18 19:06

특정 웹사이트의 기능들이 어느 정도의 시간이 경과한 후에 사용자에게 응답을 하는지

 

시간을 측정하는 이상한?? 프로그램을 개발해야 하는 상황이 왔다...ㅠ

 

그런데...이전 개발시 패킷으로 측정을 하다 보니 이게 사용자들이 체감하는 속도보다 빨라서

 

클라이언트가 불만이였다. 그래서 IE를 이용해서 해보자라는 결론이 나왔는데 매번 IE를 띄우는 것도 그렇고

 

IE를 컨트롤 하는 것도 그렇고...좋은 방법은 아니였다.

 

그러던 중 눈에 들어온 컨트롤이 있었으니..

 

.NET 2.0에서 지원되는 WebBrowser Control... 1.x에서도 지원되기는 했지만...

 

아무튼 그 Control을 사용해서 기능을 테스트하는데...

 

WebBrowser의 이벤트중 _DocumentCompleted이벤트가 있는데 이 이벤트 발생시

 

해당 웹사이트의 소스를 정해진 룰에 의해 약간의 파싱을 해야 하는 작업이다.

 

그런데 이게 웬걸... 한글이 지맘대로 깨지는 것이 아닌가...ㅠ

 

클래스의 속성중 DocumentText를 이용해서 가져오는데 이상하게 웹사이트가 EUC-KR 한글 인코딩을 사용하면

 

한글이 깨지게 된다. 당연.. UTF-8은 잘 나오지만...

 

이상하다 여기고 Document, DocumentTitle, DocumentStream을 모두 살펴보니... 한글이 잘 나온다.

 

유독... DocumentText만 한글이 깨지는 것이다. 이런...된장~!!

 

아무래도 무조건 UTF-8 인코딩으로 가져오는 듯 했다.

 

MSDN 뒤지고 검색하고 그렇지만 답을 찾을 수가 없었다.

 

질문을 해놓고 나름 생각끝에 꽁수를 하나 발견했는데...

 

Document.All을 이용해서 사용하는 것인데 저 Document.All[0] 즉, Document상에 첫번째

 

HtmlElmentCollection의 OuterHtml을 찾는 것이다.

 

그러나 저것도 문제인 것이 일반적으로... HTML소스에 첫번째 나오는 것이 HTML태그 이지만...

 

.NET 처럼 상위에 DOCTYPE태그가 존재하면 위 코드는 HTML내의 OuterHtml을  리턴하지 못한다.

 

그래서... 사용한 코드가...

 

   66      for(inti = 0; i <this.WebBrowser1.Document.All.Count; i++)

   67       {

   68         if(this.WebBrowser1.Document.All[i].TagName =="HTML")

   69            returnthis.WebBrowser1.Document.All[i].OuterHtml;

   70       }

 

저렇게 하면... HTML태그의 OuterHtml을 리턴하는데 한글이 안깨지고 잘 나온다. ㅋ

 

저걸로 테스트하는데 질문에 대한 답변이 달렸다고 메일이 왔다...

 

답변은 Reflector로 열어보니 UTF-8로 인코딩을 수행한다는 점.

 

DocumentText도 내부적으로는 DocumentStream으로 받는다는 점.

 

아...내가 왜 진작 Reflector를 생각 못 했을까...바보;;

 

바로 Reflector로 확인해보았다. 아니... 왜?? 우째서 인코딩 지정을 안해놨을까...

 

Reflector로 열어본 코드는...

 

     publicstringget_DocumentText()

      {

        Streamstream1 =this.DocumentStream;

        if(stream1 ==null)

         {

           return"";

         }

        StreamReaderreader1 =newStreamReader(stream1);

         stream1.Position = 0;

        returnreader1.ReadToEnd();

      }

 

위 꽁수를 재끼고 DocumentText내부 방식대로 DocumentStream을 사용해서

 

코드를 작성했지만 난 이상하게도 꽁수 코드보다 약간 느리다는 느낌이였다.

 

아무튼...

 

   72         StreamdocStream =this.WebBrowser1.DocumentStream;

   73         if(docStream ==null)

   74            return"";

   75         StreamReaderdocStreamReader =newStreamReader(docStream , System.Text.Encoding.GetEncoding(this.WebBrowser1.Document.Encoding));

   76          docStream.Position = 0;

   77         returndocStreamReader.ReadToEnd();

 

아...된장, 저렇게 인코딩만 지정해주면 되는 것을...

 

DocumentText 버그일꺼야...ㅋ 저거 개발 할 당시 개발자가 안좋은 일이 있어나보다.ㅎㅎ

 

최종적으로 어떤 방법으로 쓰일지 모르지만... 테스트를 충분히 해보고 결정해야겠따.

크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by mari
2006/09/06 20:36

출처 :msdn

Team Foundation Server의 기초: 기능 및 아키텍처 둘러보기

버전 제어, 결함 및 작업 항목 추적, 그리고 빌드 관리를 위한 효과적인 방법

Dennis Minium
프로그램 관리자, Visual Studio Team System

2006년 1월

적용 대상:
Microsoft Team Foundation Server

요약:팀 단위 소프트웨어 개발 과정을 최적화하는 Microsoft Team Foundation Server의 배포 토폴로지, 기능 집합 및 확장 아키텍처에 대해 설명합니다(7페이지/인쇄 페이지 기준).

목차

Team Foundation Server란?
Team Foundation의 형태
Team Foundation Server의 요소
확장을 고려한 아키텍처 설계
결론

Team Foundation Server란?

Microsoft는 오랫동안 정교한 소프트웨어를 개발하는 사업을 계속해왔으며, 이를 위해 대규모 팀에서 여러 릴리스에 걸쳐 지속적으로 복잡한 코드 베이스를 만들고 유지 관리해야 했습니다. 또한 성공적인 소프트웨어 개발을 위해 버전 제어, 결함 및 작업 항목 추적, 그리고 빌드 관리를 위한 효과적인 방법을 개발해야 했습니다.

Microsoft는 기업 고객이 채택하고 있는 다양한 프로젝트 관리 방식을 이해하기 위해 고객 및 업계 전문가와 공동으로 수행하는 정기적인 조사에 상당히 많은 시간을 투자했으며 Microsoft Solutions Framework 팀의 도움을 얻어 이러한 기술의 핵심만 뽑아 유연한 프로젝트 관리 요소 모음으로 탄생시켰습니다.

소프트웨어 제작 및 방법론에 대한 Microsoft의 조사와 경험으로부터 얻은 결과를 모아 팀 단위로 소프트웨어를 개발하는 과정을 최적화하는 데 사용할 수 있는 여러 가지 새로운 기술과 기법을 개발했으며 이러한 노력의 결실이 바로 Microsoft Team Foundation Server입니다.

Team Foundation Server에는 두 가지 면이 있습니다. 첫째, 여러 프로젝트 팀 구성원이 보다 효과적으로 협력할 수 있도록 공동으로 사용하는 기능을 한데 모았습니다. 이제 팀 구성원은 편리하고 자연스럽게 프로젝트 계획을 공유하고, 제품을 개발하고, 프로세스 평가를 수행할 수 있습니다.

Team Foundation Server에는 다음과 같은 주요 기능이 포함되어 있습니다.

  • 버전 제어. 버전 관리가 필요한 소스 코드 및 기타 실행 가능 개체 관리
  • 작업 항목 추적. 결함, 요구 사항, 작업 및 시나리오와 같은 항목에 대한 지속적인 추적
  • 프로젝트 관리 기능. 사용자가 지정할 수 있는 소프트웨어 프로세스에 따라 팀 프로젝트를 구성하고 Microsoft Excel 및 Microsoft Project를 사용하여 계획 및 추적할 수 있도록 지원
  • 팀 빌드. 실행 가능한 제품으로 빌드하는 공통 프로세스 제공
  • 데이터 수집 및 보고. Team Foundation Server 도구에서 얻은 정보를 토대로 팀 프로젝트의 상태를 평가할 수 있도록 지원
  • 팀 프로젝트 포털. Microsoft Windows SharePoint Services 사이트로 집약된 팀 프로젝트를 위한 커뮤니케이션의 중심점 제공
  • Team Foundation 공유 서비스. 최종 사용자는 볼 수 없지만 도구 개발자 및 확장 공급자에게 중요한 공용 인프라 서비스 제공

둘째, Team Foundation Server는 통합 및 확장을 위해 아키텍처를 특수 설계한 플랫폼입니다. 고객 및 파트너는 Team Foundation Server의 요소를 사용자 지정하고 새로운 기능으로 보완할 수 있습니다. 확장 기능은 작업 항목의 필드 이름을 바꾸는 것과 같은 매우 간단한 기능에서 완전히 새로운 도구를 통합하는 것과 같은 복잡한 기능까지 매우 다양합니다.

기능 집합과 확장 아키텍처에 대해서는 이 문서의 뒷부분에서 설명할 것이며, 먼저 Team Foundation Server의 일반적인 배포 토폴로지를 이해하는 것이 중요합니다.

Team Foundation의 형태

Team Foundation은 클라이언트 계층, 응용 프로그램 계층 및 데이터 계층이라는 세 개의 계층으로 이루어진 아키텍처입니다. 클라이언트는 웹 서비스를 통해 응용 프로그램 계층과 상호 작용하고 응용 프로그램 계층은 데이터베이스 연결을 통해 데이터 계층의 영구 데이터 저장소에 연결됩니다. 아키텍처에 대한 개요는 그림 1에 나와 있습니다.

사용자 삽입 이미지

그림 1. Team Foundation Server의 아키텍처

Team Foundation Server의 사용자 인터페이스의 대부분은 Microsoft Visual Studio IDE를 통해 제공됩니다. 이러한 UI는 고객 및 파트너가 사용하는 것과 동일한 VSIP 인터페이스를 사용하여 구현됩니다. 또한 Office 응용 프로그램, 특히 Microsoft Word와 Microsoft Project를 통해 클라이언트에 기능이 제공됩니다. 여기에는 팀 프로젝트 포털과 보고서 서버를 비롯한 몇 가지 웹 요소도 있습니다.

Visual Studio IDE를 복잡하고 어려운 환경으로 느낄 수 있는 프로젝트 관리자 및 기타 비개발자를 위해 이러한 간소화된 UI를 개발했습니다. TFC(Team Foundation Client)는 프로젝트 구성원이 기술 담당자의 도움 없이 언어 도구, 디버거 및 개발자 유틸리티를 사용하지 않고도 기능에 액세스할 수 있도록 해 줍니다. 이러한 기능에는 프로젝트 프로세스 만들기 및 모니터링, 정책 관리, 작업 항목 추적 등이 포함됩니다. 언어 도구와 Team Foundation에 대한 액세스가 모두 필요한 개발자와 테스터는 전체 기능의 IDE를 손쉽게 TFC 기능으로 강화할 수 있습니다.

클라이언트 응용 프로그램은 Visual Studio IDE에서 실행되도록 작성되었든 또는 독립 실행형 Windows 응용 프로그램으로 실행되도록 작성되었든 관계없이 웹 서비스와 통신하기 위해 개체 모델과 다양한 프록시 역할을 하는 API 집합을 사용합니다. 이러한 메커니즘으로 인해 원시 웹 서비스 계층에 대한 프로그래밍이 매우 간단해졌으며 지능형 캐싱을 통해 서버 왕복 작업을 최소화할 수 있게 되었습니다. 실제로 유효성 검사, 캐싱, 도구 간 상호 작용과 같은 다양한 기능이 클라이언트 API에 포함되었으므로 도구 개발자 및 확장 공급자는 웹 서비스 API에 대한 직접 코딩보다는 제공되는 기능을 활용하는 것이 좋습니다. 게다가 완전한 WSDL(Web Service Description Language)이 제공되는 직접 웹 서비스 API를 포함하여 모든 API는 공용입니다.

Team Foundation Server의 서버 부분은 응용 프로그램 계층과 데이터 계층으로 구성되며 두 계층에 모두 Microsoft Windows 2003 Server 운영 체제가 필요합니다. 이러한 계층은 실제로는 확장성을 구현하기 위한 논리적 구분이며 간단한 설치를 위해서는 한 시스템에 응용 프로그램 계층과 데이터 계층의 기능을 나란히 배치하는 경우도 있습니다.

응용 프로그램 계층은 Team Foundation Server 작업의 대부분이 수행되는 곳이며 각 도구의 웹 서비스가 제공되는 곳이기도 합니다. Team Foundation 아키텍처에서는 클라이언트 응용 프로그램에서 데이터 계층에 저장된 데이터에 직접 액세스하는 것을 금지합니다. 데이터에 대한 모든 요청은 응용 프로그램 계층을 통해야 하며 응용 프로그램 계층에서 구성 요소 간의 통신은 모두 웹 서비스를 통해 수행됩니다.

응용 프로그램 계층은 각 도구의 웹 서비스뿐 아니라 프로젝트 포털을 위한 WWS(Windows SharePoint Services) 사이트도 호스팅합니다. 이 사이트는 프로젝트 문서가 저장되는 WSS 데이터 저장소를 연결합니다. 마지막으로 SQL Reporting Services 웹 사이트도 응용 프로그램 계층에서 호스팅됩니다.

영구 데이터는 모두 데이터 계층에 저장됩니다. 이러한 데이터에는 버전 제어 저장소, 작업 항목 데이터베이스, 개발자 및 테스터 도구에서 유지 관리하는 테스트 결과 데이터베이스 및 팀 빌드 데이터베이스를 포함하여 모든 Microsoft Visual Studio Team System 도구에서 사용 중인 저장소가 포함됩니다. 데이터 계층은 이러한 작업 중인 프로덕션 저장소 이외에도 프로젝트 분석과 보고에 사용되는 혼합 관계형 및 OLAP 데이터 웨어하우스도 호스팅합니다. 데이터 계층에 있는 데이터의 대부분은 SQL Server 데이터베이스에 저장됩니다. Team Foundation Server에는 Microsoft SQL Server 2005 이상이 필요합니다.

세 계층으로 이루어진 아키텍처에 직접 구성 요소를 추가하는 것 이외에 팀 빌드를 통해 전용 빌드 시스템을 도입할 수 있습니다. 빌드는 클라이언트에서 시작되고 빌드 시스템에서 실행되며 결과는 응용 프로그램 계층의 팀 빌드 웹 서비스를 통해 데이터 계층의 결과 저장소로 전송됩니다.

Team Foundation Server의 요소

이 문서의 처음에서 언급했듯이 Team Foundation Server에는 여러 가지 주요 기능이 포함되어 있습니다. 이제 이러한 기능에 대해 자세히 살펴보겠습니다.

프로젝트 관리

보고 웨어하우스의 분석 및 저장된 정보와 함께 작업 항목 추적과 Microsoft Office 제품군을 사용하면 사용자는 프로젝트 진행 및 상태를 모니터링할 수 있는 도구를 갖추게 됩니다. 또한 Team Foundation의 프로세스 템플릿 메커니즘을 사용하면 프로젝트 프로세스를 환경에 맞게 조정할 수도 있습니다. 프로세스 템플릿은 작업 항목 유형, 프로젝트 역할 및 사용 권한, 프로젝트 로드맵으로 사용할 미리 채워진 작업, 문서 템플릿 및 보고서 정의와 같은 항목을 포함하여 새로운 프로젝트를 설정하기 위해 필요한 지침을 모두 정의합니다. Microsoft Solutions Framework의 효율적인 정식 프로세스를 위한 기본 프로세스 템플릿이 Team Foundation Server와 함께 설치됩니다. 고객은 필요에 맞게 개발 프로세스를 맞춤 구성하기 위해 이러한 템플릿을 수정 및 확장하거나 새로운 템플릿을 만들 수 있습니다.

그러나 "팀 프로젝트"라는 개념은 Visual Studio 언어 프로젝트와는 매우 다릅니다. 팀 프로젝트에는 작업 항목, 소스 분기, 보고서 및 문서와 같은 서버 기반의 공유된 모음이 포함되는 반면 Visual Studio 언어 프로젝트는 일반적으로 실행 파일이나 .dll을 만드는 데 필요한 데이터의 모음입니다. 팀 프로젝트의 내용은 팀 탐색기를 통해 볼 수 있습니다.

버전 제어

Team Foundation Server에는 엔터프라이즈 소스 제어 요구 사항을 겨냥한 업계 최강의 버전 제어 시스템이 포함되어 있습니다. SQL Server의 지원을 받는 이 기능은 버전이 있는 데이터에 대해 신뢰할 수 있는 고속의 보안 액세스를 제공할 수 있도록 개발되었습니다. Team Foundation에는 체크인, 체크아웃, 버전 관리 및 차별화/병합을 위한 표준 버전 제어 메커니즘이 있으며 쉘빙(전체 유효성 검사 체크인을 수행하지 않고 부분 변경 내용을 저장하는 기능) 및 동적 체크인 정책과 같은 대규모 배포의 세부적인 문제를 해결하는 혁신적인 기능도 포함되어 있습니다.

작업 항목 추적

Team Foundation Server의 작업 항목 추적 시스템은 버그, 요구 사항, 시나리오, 작업 및 기타 모니터링하기를 원하는 작업 항목을 저장 및 평가하는 데 사용됩니다. 작업 항목 유형은 XML로 저장되므로 추가 필드 유형과 규칙을 사용하여 기본 제공 작업 항목 유형을 손쉽게 확장 및 수정할 수 있습니다. 또한 프로젝트별로 완전히 새로운 작업 항목 유형을 만드는 것도 가능합니다.

사용자는 Visual Studio IDE에서 직접 작업 항목을 보고 수정할 수 있으며 친근한 Office 제품을 사용하여 작업 항목을 보고 편집할 수 있도록 Microsoft Excel 및 Microsoft Project에도 작업 항목 추적 시스템이 통합되어 있습니다.

팀 빌드

팀 빌드는 공개 빌드를 구축할 수 있는 가장 간단한 방법이며 테스트 자동화, 코드 변동률 확인 및 작업 항목 업데이트와 같은 Team System별 작업으로 MSBuild 엔진을 보강합니다. 팀 빌드는 응용 프로그램 계층의 웹 서비스를 통해 클라이언트와 상호 작용하지만 빌드 및 테스트를 실행하는 별도의 "빌드 서버"도 지원합니다. 빌드 서버는 데이터 계층의 팀 빌드 저장소에 상태와 결과를 기록합니다. 이 데이터는 나중에 분석 및 보고를 위해 웨어하우스로 가져갈 수 있습니다.

데이터 수집 및 보고

Team Foundation Server 도구에서 유지하는 데이터는 데이터 계층의 SQL Server 데이터베이스에 저장됩니다. 각 도구에는 정규화된 작업 테이블에서 분석 및 보고에 사용되는 데이터 웨어하우스로 데이터를 가져오는 웨어하우스 어댑터가 있습니다. 이 데이터 웨어하우스는 별모양 스키마에 의해 팩트 테이블 및 차원 테이블로 구성되는 SQL Server 데이터베이스이며 집계와 기타 다양한 작업을 편리하기 수행할 수 있도록 이러한 테이블에 대한 SQL Server Analysis Services 큐브가 생성됩니다. SQL Server Reporting Services를 사용하여 작성한 웨어하우스에 대한 표준 보고서가 Team Foundation Server에 포함되어 있습니다. 이러한 보고서에는 버그 경향, 테스트 범위, 코드 변동률 등의 도구 및 프로젝트 전반의 다양한 보고서가 포함됩니다. 사용자는 또한 Microsoft Excel 및 타사 보고 패키지를 사용하여 사용자 지정 보고서를 생성할 수 있습니다.

프로젝트 포털

프로젝트 생성 마법사를 사용하여 팀 프로젝트를 생성하면 응용 프로그램 계층에 Windows SharePoint Services 사이트가 인스턴스화됩니다. 이 사이트는 팀 프로젝트의 포털 역할을 합니다. 기본적으로 이 사이트의 홈 페이지에는 프로젝트 상태 보고서 집합이 표시되며 문서 라이브러리는 사용자가 수정할 수 있는 문서 템플릿과 샘플 파일로 미리 채워집니다. 각 프로젝트에 맞게 사이트를 사용자 지정할 수 있으며 프로젝트 사이트 생성에 사용되는 템플릿은 조직에서 다시 디자인할 수 있습니다.

공유 서비스

Team Foundation Server 아키텍처는 간편한 확장을 지원할 수 있도록 설계된 공유 서비스 집합으로 구성되어 있으며 도구는 이러한 공유 서비스를 사용하여 통합 작업을 수행합니다. 고객 및 파트너 역시 Team Foundation 환경에 자신의 도구를 효과적으로 통합하는 데 이러한 공유 서비스를 사용할 수 있습니다. 이러한 서비스에 대해서는 다음 섹션에서 자세히 살펴보겠습니다.

확장을 고려한 아키텍처 설계

Team Foundation Server에서 제공되는 각 도구는 사용자 지정 기능과 자동화 기능면에서 매우 우수합니다. 사용자는 작업 항목 정의, 소스 제어 정책, 빌드 스크립트, 프로세스 템플릿 및 프로그램 가능 인터페이스 등을 사용하여 Team Foundation 설치를 필요에 맞게 맞춤 구성할 수 있습니다. 또한 Team Foundation Server의 핵심에는 외부 도구를 효과적으로 Team Foundation Server 환경으로 통합할 수 있도록 해주는 메커니즘 집합이 있습니다.

이러한 공유 Team Foundation Server 통합 서비스는 그림 2에 파란색 상자로 표시되어 있습니다. 녹색 상자는 Team Foundation Server 아키텍처 활용을 위해 도구 개발자가 제공할 수 있는 요소를 나타내며 주황색 상자는 Team Foundation Server에 포함되어 있는 도구를 보여 줍니다.

사용자 삽입 이미지

그림 2. Team Foundation Server와의 통합

Team Foundation의 공유 서비스에는 다음과 같은 서비스가 있습니다.

  • 연결 서비스를 통해 도구에 포함된 데이터 요소 간의 느슨하게 연결된 관계("링크")를 만들 수 있습니다. 예를 들어 Team Foundation Server에서는 결함이 있는 작업 항목과 해당 결함을 수정하기 위해 변경된 소스 코드 간의 관계가 이러한 링크로 유지됩니다. 도구에서 이러한 관계에 참여하려면 데이터를 Team Foundation "아티팩트"로 공개하고 이에 대한 쿼리에 응답하는 메서드를 구현해야 합니다. 이 기능을 통해 처음에는 인식할 수 없던 관계에 도구를 참여시킬 수 있습니다.
  • 보안 서비스에서는 권한 할당을 위해 Windows ID를 수집하는 데 사용할 수 있는 Team Foundation Server별 보안 그룹을 지원합니다. 이러한 그룹은 Team Foundation Server에 로컬이므로 IT 부서의 도움 없이도 관리 가능합니다. 새로운 도구를 Team Foundation Server에 도입할 때는 그룹 보안 서비스 API를 사용하여 이러한 그룹을 보호해야 합니다. 보안 서비스에서는 인증 서비스도 제공합니다. 자체 인증 메커니즘을 제공하지 않는 도구의 경우 보안 서비스를 사용하여 개체의 보안을 유지하고 권한을 설정할 수 있습니다.
  • 이벤트 서비스는 웹 서비스 기반 게시/구독 메커니즘입니다. 예상할 수 있겠지만 도구는 이벤트 서비스에 이벤트를 발생시킬 수 있습니다. 구독자는 이벤트가 해당 구독 조건과 일치할 경우 알림을 받도록 등록할 수 있습니다. 이러한 알림은 웹 서비스 또는 전자 메일 주소를 통해 받을 수 있습니다. 웹 서비스를 통해 알림을 받는 경우 구독 정보에는 알림이 배달될 때 호출될 웹 서비스 URL이 포함됩니다. 전자 메일 주소로 알림을 받는 경우 SMTP 서버를 통해 전자 메일로 알림이 배달됩니다.
  • 분류 서비스는 미리 정의된 분류 기준에 따라 연결 서비스와 함께 Team Foundation Server 아티팩트를 분류합니다. 이를 통해 아티팩트가 공통 "자연" 분류 기준을 공유하지 않는 도구에서 공통 축을 사용한 도구 간 보고가 가능하도록 데이터를 구성할 수 있습니다. 예를 들어 작업 항목이 자연스럽게 팀별로 구성되어 있고 테스트가 자연스럽게 구성 요소별로 구성되어 있는 경우 추가적으로 테스트를 팀별로 구성하여 작업 항목과 함께 보고되도록 할 수 있습니다.
  • Team Foundation Server에 새로운 도구를 도입할 때는 도구의 아티팩트 유형, 링크 유형, 이벤트 스키마 및 서비스 인터페이스가 등록 서비스를 통해 등록됩니다. 새 도구의 클라이언트에서는 등록 서비스를 쿼리하여 도구의 위치를 찾을 수 있습니다.

고객 및 파트너는 이러한 공유 서비스뿐 아니라 다양한 추가 연결 지점을 활용하여 Team Foundation Server에 도구를 완벽하게 통합할 수 있습니다. 다음은 그림 2의 녹색 상자에 대한 설명입니다.

  • 일관성 있는 클라이언트 활용을 위해 VSIP를 사용하여 UI를 IDE에 통합합니다. 또는 지능형 프록시 계층을 사용하여 응용 프로그램 계층에 액세스하는 독립 실행형 Microsoft .NET 응용 프로그램을 구축할 수도 있습니다.
  • 팀 프로젝트 생성 마법사에 도구의 아티팩트 생성을 추가합니다(이를 주도할 프로세스 템플릿은 암시적으로 추가).
  • Visual Studio 팀 탐색기에 도구와 해당 데이터를 노드로 표시할 수 있도록 합니다.
  • 웨어하우스 동적 스키마 수정 기능을 사용하여 도구의 데이터로 웨어하우스를 확장합니다. 그런 다음 도구의 작업 데이터를 웨어하우스 구조로 가져올 웨어하우스 어댑터를 작성합니다.

결론

이 문서에서는 Team Foundation Server의 기능과 아키텍처에 대해 매우 개략적으로 살펴보았습니다. Team Foundation Server에 대한 자세한 정보는 MSDN 웹 사이트http://www.microsoft.com/korea/msdn/vstudio/teamsystem/을 참조하십시오.


저자 소개

Dennis Minium은 Visual Studio Team System의 수석 프로젝트 관리자로 VSTS의 통합 아키텍처 정의 및 설계 업무를 맡고 있습니다. Dennis는 VSTS가 구축되는 Team Foundation Server 소프트웨어를 파트너 및 고객이 모두 편리하게 확장 및 사용자 지정할 수 있는 풍부한 기능의 편리한 환경으로 만드는 데 주력하고 있습니다. VSTS 팀에 합류하기 전 Dennis는 Microsoft에서 다양한 응용 프로그램 개발 도구 설계에 참여했으며 Microsoft로 이직하기 전에는 주로 엔터프라이즈 응용 프로그램 개발을 위한 도구와 방법을 설계했습니다.

크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by mari
2006/08/29 07:09

출처 -http://www.longhornblogs.com/robert/archive/2005/06/03/14156.aspx

 

Announcing the MSBuild Toolkit for Visual Studio 2005 RC!

The MSBuild Toolkit for Visual Studio 2005 RC is the long-awaited successor to theMSBuild Compatibility Toolkitthat I released late last year. Thanks to the work ofJomo Fisher,Mark Michaelis, and others, I've been able to put together a toolset that delivers on what I wanted to do since I first saw MSBuild at the Whidbey Alpha Design Review two years ago.

What Is It?
The MSBuild Toolkit for Visual Studio 2005 RC consists of two distinct parts:

  1. Drastically improved .TARGETS files for compiling MSBuild-based projects to .NET 1.1 and 1.0.
  2. A Visual Studio 2005 add-in that helps you manage the .TARGETS files your projects are referencing.

Lets take a look at these parts in depth.

Improved .TARGETS Files
After I released the first toolkit (based onthe work of Jomo Fisher), Mark Michaelis and others led the charge to improve support for other runtimes through the underlying build engine. When .NET 2.0 Beta 2 was released, Jomo released the result of that workin a sample .TARGETS filethat allowed C# projects to compile to .NET 1.1. This version allowed you to add other frameworks as options in the "Build Configuration" dialog. This is really powerful, as it allows you to compile to different frameworks individually, and batch build to all supported versions later on.

These new targets are significantly smaller than their predecessors, and far less brittle. They now handle non-Framework assembly references really well, and the wholesystemis practically seamless. It's really slick, and Jomo did a great job of laying the foundation for this project.

Besides support for Visual Basic and .NET 1.0 (which I added, and is included in this release), I still felt that a crucial portion of UI was missing...

Configuring Project Targets
Even with all this functionality, Visual Studio was still missing a way to manipulate the Project file (to change it's<Import Project="">tags) without leaving the IDE. So I wrote an add-in that takes care of that for you. It gives you a UI similar to your project assembly references, and lets you select from the available targets installed on the system. You can see that UI below.

사용자 삽입 이미지

Figure 1: Managing Imported Targets

You can access this functionality from either of the following menu commands:

사용자 삽입 이미지
 
사용자 삽입 이미지

Figure 2: Assessing the Configuration Dialog

Why Did I Put This Together?
Visual Studio 2005 is an extremely compelling development environment. After using it so much in the Alpha and Beta 1, the thought of developing newCommunity Serveradd-ons in VS.NET 2003 was really disheartening. This package has allowed me to develop a ton of new code for LonghornBlogs.com using the Class Designer, Code Snippets, and Refactoring, while compiling for .NET 1.1 (because CS 1.0 was not compatible with ASP.NET 2.0).

Also, while Interscape has stopped building ASP.NET components for now, we might re-enter the market in the near future. One of the most time-consuming parts of the development cycle was maintaining two project files in two different IDEs that share the same source code files. This problem was one of the driving forces in giving our componentbusinessa break, and now supporting older versions of the Framework is much more feasible.

What's Still Missing?
While the add-in works, I'm not really happy with it at all. The whole process for building an add-in is TERRIBLE (Note to the VS Core Team: HIRE JAMIE CANSDALE!!!) and not for the faint of heart. I haven't been able to figure out how to remove commands on uninstall, so for now that part will be buggy.

Ultimately, I'd like the form for the add-in to either a) appear as a tab on the Project Properties form, or b) dock in the Document pane like the Project Properties form. I've forwarded the code for the Toolkit to the MSBuild team and the Group Product Manager for VS Core, so hopefully this kit will find it's way into VS2005, either as a "VB Refactor"-type addon, or a part of the code product. Whether or not you compile to older versions of the Framework, I think the ability to configure your Project Targets is extremely important, and maybe this will kickstart the team into making it into VS2005 RTM.

The TARGETS files, on the other hand, I'm pretty satisfied with. They work in all my scenarios. Hopefully they'll work in yours too.

Getting Support
I want to make this Toolkit better. So if you have any issues, list them here in my commants or e-mail me thru my contact page, and I'll get them fixed ASAP.

Downloading the Release Candidate
Download version 2.0.50602 here.

Thanks to everyone who made this possible. Hope it is of use you guys.

posted on Friday, June 03, 2005 10:47 PM byrmclaws2k

Comments

Thursday, August 04, 2005 2:25 AM#Supporto del framework 1.x da Visual Studio 2005
Tuesday, August 09, 2005 2:29 PM#Developing .NET 1.0 and 1.1applicationsusing visual studio 2005!
Tuesday, May 30, 2006 4:40 AM#re: Announcing the MSBuild Toolkit for Visual Studio 2005 RC!
Cannot download the MSBuild toolkit!
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by mari
2005/06/21 23:55

출처 :MSDN

Hitchhiker의 Visual Studio 2005 Team System 설명서, 제I부

 
 

게시자:robcaron 

사용자 삽입 이미지

http://blogs.msdn.com/robcaron/archive/2005/04/15/408426.aspx 
사용자 삽입 이미지


제1부 - Visual Studio의 진화

먼저 Visual Studio .NET 2003 제품군을 살펴보고 현재의 제품 특성과 앞으로 출시될 제품의 특징에 대해 살펴보도록 하겠습니다.

사용자 삽입 이미지

그림 1.1 - Visual Studio .NET 2003

각 Visual Studio .NET 버전은 각 하위 버전에서 제공되는 모든 기능들을 포함하고 있습니다. 예를 들어 Visual Basic .NET 2003 Standard Edition, Visual Studio .NET C# 2003 Standard Edition, Visual Studio .NET J# 2003 Standard Edition 및 Visual C++ 2003 Standard Edition의 모든 기능은 Visual Studio .NET Professional에서도 모두 제공되며, Visual Studio .NET Professional의 모든 기능은 Visual Studio .NET 2003 Enterprise Developer에서도 제공됩니다.

Visual Studio .NET 2003 Enterprise Architect 및 Visual Studio .NET 2003 Professional은 Visual Studio .NET 2003 버전 중 가장 널리 사용되는 버전입니다. 이 중에서 Visual Studio .NET 2003 Enterprise Architect가 보다 많이 사용되며, 주로 MSDN Universal 구독 구매를 통해 판매됩니다(가격은 비슷함).

다음은 Visual Studio 제품군이 Visual Studio 2005로 어떻게 발전할 것인지에 대해 살펴보겠습니다.

사용자 삽입 이미지

그림 1.2 - 변화하는 Visual Studio

위 그림에서와 같이 제품군은 여러 측면에서 향상됩니다. 첫째, 제품군은 현재 언어별 Standard Editions보다 세부 버전으로 확장되고 있으며, 웹 개발 전문 버전을 비롯하여 각 언어별로 매우 저렴한 Express Editions 모음을 포함합니다.

사용자 삽입 이미지

그림 1.3 - Visual Studio 2005 Express Editions

Express Editions는 처음으로 소프트웨어 및 웹 개발을 배우거나 취미로 프로그래밍을 연습하려는 사용자에게 매우 적합한 제품입니다. 현재 언어별 Standard Editions는 Visual Studio 2005 Standard Edition으로 이동하고 있으며, 여기에는 클래스 디자이너와 같은 일부 새로운 기능과 스마트 장치 및 모바일 웹 응용 프로그램 개발 지원과 같이 Visual Studio .NET 2003 Professional에서 제공되었던 기능이 포함되어 있습니다.

사용자 삽입 이미지

그림 1.4 - Visual Studio 2005 Standard Edition

Visual Studio 2005 Professional Edition에서는 Visual Studio .NET Enterprise Developer 및 Visual Studio .NET 2003 Enterprise Architect의 기능 대부분과 Visual Studio 2005 Standard Edition의 모든 기능을 제공합니다.

이러한 방식은 Microsoft 개발자 도구에서는 매우 일반적입니다. 기능이 보다 일반화됨에 따라 해당 기능은 하위 버전으로 이동합니다.

사용자 삽입 이미지

그림 1.5 - Visual Studio 2005 Professional Edition

Visio for Enterprise Architects와 같이 Visual Studio 2005 Professional Edition에는 포함되지 않은 Visual Studio .NET 2003 Enterprise Architect 기능은 새로운 MSDN Premium Subscription에서 제공됩니다.

이러한 기능 덕분에 Visual Studio 2005에서는 새로 추가된 일련의 기능은 말할 것도 없이 현재 Visual Studio .NET 2003의 필수 기능들을 모두 제공합니다. 이러한 관점에서 볼 때 Visual Studio 2005 Team System의 기능에 대해서는 설명을 아직 제대로 시작하지도 못했습니다.

Team System 중에서 Team Foundation Server는 일단 접어두고, 먼저 역할 기반 제품들인 Team Edition for Software Architects, Team Edition for Software Developers 및 Team Edition for Software Testers에 대해 설명하겠습니다.

사용자 삽입 이미지

그림 1.6 - Visual Studio 2005 Team Editions

Team Edition for Software Developers에서 Visual Studio는 단위 테스트 및 C/C++ 네이티브 코드 분석과 같이 Microsoft에서 아직 상업적으로 제공하지 않은 기능이나 프로파일링 및 관리되는 코드 분석과 같이 Visual Studio IDE에 통합된 기능을 제공합니다.

Team Edition for Software Architects의 분산 시스템 디자이너는 Microsoft에서 아직 개발 중에 있는 중요 선도 기술인 Dynamic Systems Initiative의 일부입니다. 이러한 디자이너 및 함께 제공되는 도구는 서비스 지향 응용 프로그램의 디자인 및 배포 성능을 향상시키기 위한 첫 번째 주요 도구입니다.

Team Edition for Software Testers는 전문적인 소프트웨어 테스터의 역할을 인식하고 Virtual Server 2005와 함께 테스트 관리, 로드 및 스트레스 테스트 실행, 로드 테스트 에이전트 관리 및 시스템 가상화 활용 등의 기능을 제공합니다. 로드 테스트 성능을 향상시키려면 테스트 관리자는 추가 로드 에이전트를 지원하는 Visual Studio 2005 Team Test Load Agent를 구입해야 합니다.

또한 각 Visual Studio 2005 Team Editions에는 Microsoft Office System을 위한 Visual Studio 2005 Tools가 포함됩니다.

소프트웨어 공동 개발 팀의 주요 과제 중 하나는 공동 작업 및 의사 전달 방식일 것입니다. 이러한 문제에 대한 해답을 찾기 위해 Visual Studio 2005는 새로운 서버 제품인 Visual Studio 2005 Team Foundation Server를 제시합니다. Team Foundation Server는 Visual Studio 2005 소프트웨어 개발 팀을 위한 핵심 기반입니다. 세밀하게 통합된 핵심 서비스를 사용하여 Team Foundation Server는 버전 컨트롤, 작업 항목 추적 및 빌드 자동화 기능을 제공합니다. 또한 Team Foundation Server는 Windows SharePoint Services와 통합하여 프로젝트 포탈 사이트 제공하며 SQL Server Reporting Services와 통합하여 프로젝트 보고를 제공합니다.

사용자 삽입 이미지

그림 1.7 - Visual Studio 2005 Team Foundation Server

SQL Server와 비슷한 모델을 사용하는 Team Foundation Server에서는 클라이언트 연결을 위해 CAL(Client Access License)이 필요합니다. 각 Team Edition 제품은 CAL 및 Team Explorer 기능을 제공합니다. 데스크톱 한 대에서 여러 Team Edition 제품을 사용해야 하는 사용자를 위해서는 세 개의 Team Edition 제품이 하나로 통합된 Visual Studio 2005 Team Suite가 제공됩니다.

사용자 삽입 이미지

그림 1.8 - Visual Studio 2005 Team Suite

또한 Team Foundation의 통합 기능을 사용하려면 Visual Studio 2005 Professional Edition 및 Visual Studio 2005 Standard Edition에서 Team Explorer를 사용할 수 있는 Team Foundation Server CAL을 구입해야 합니다.

사용자 삽입 이미지

그림 1.9 - Visual Studio 2005 Team Explorer

사용자의 프로젝트를 아직 Visual Studio 2005로 마이그레이션할 수는 없지만 Team Foundation Server를 먼저 사용해보고 싶은 경우에는 Team Foundation Server CAL을 구입하여 Visual Studio .NET 2003 및 이전 버전의 Visual Studio에서 Team Explorer를 함께 사용할 수 있습니다. 이 경우 Visual Studio 2005의 통합 성능을 이용할 수는 없지만 버전 컨트롤 및 작업 항목 추적과 같은 Team Foundation Server의 핵심 기능은 이용할 수 있습니다.

사용자 삽입 이미지

그림 1.10 - Visual Studio .NET 2003에서의 Visual Studio 2005 Team Explorer

핵심 결론 - Visual Studio 2005는 Visual Studio의 발전에 있어서 뚜렷한 성능 향상을 제공합니다. Microsoft는 Visual Studio 2005 Team System을 추가함으로써 소프트웨어 개발 수명 주기 도구 분야로 사업 역량을 확장했습니다.

제2부에서는 Visual Studio 2005의 가격 및 라이센스에 대한 내용이 다뤄집니다.

크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by mari