Hello Windows Azure / Windows Azure Platform의 이해

Cloud 2010. 5. 16. 15:00 Posted by 알 수 없는 사용자

안녕하세요. Visual Studio 2010 팀 블로그에 새로 참여하는 새내기, Visual C# MVP 남정현입니다. 데브피아 C# 포럼 SYSOP으로 활동 중이기도 하고, 데브피아 오프라인 세미나를 통해서 .NET 커뮤니티 개발자 여러분들과도 몇 번 인사드렸던 적이 있었는데, 이번에 VSTS 2010 팀 블로그에서 인사를 드리게 되었습니다. 반갑습니다. :-)

요즈음 클라우드 컴퓨팅에 관해서 이곳 저곳에서 이야기도 많이 회자되고 있는 것을 볼 수 있습니다. 2008년 후반에 Buzz Keyword로 급부상했던 아이템이 점차 트렌드로 바뀌어가고 있는 추세인데, 여러 유수 IT 기업들이 클라우드 컴퓨팅에 대한 다양한 해석과 아이디어를 더하여 자신들만의 플랫폼 구축에 열과 성을 다하고 있습니다. Microsoft에서도 지난 2월, 미국, 유럽, 일부 아시아 국가를 대상으로 Windows Azure Platform을 정식으로 런칭하였습니다.

VSTS 2010 팀 블로그를 통하여 제가 연재하게 될 Article Series인 "Hello Windows Azure"의 내용은, Windows Azure Platform에서 실행되는 응용프로그램을 Visual Studio 2010을 통하여 개발하는 과정을 주로 소개하는 내용으로, Visual Studio 2010 이외의 다른 IDE를 활용한 개발 방법 및 Windows Azure Platform 기반의 상호 운용성에 대한 주제는 저의 블로그 (http://www.rkttu.com/) - 또는 - 저의 개인 메일 (rkttu nospam rkttu dot com)을 통하여 질문, 토론, 의견 등을 받고자 합니다. 많은 관심 부탁드립니다.

Windows Azure Platform 개요

Windows Azure Platform은 Microsoft Data Center 위에서 실행되는 Public Cloud Platform으로, 응용프로그램을 호스팅하고 실행하는 기능을 제공하는 Windows Azure, 관계형 데이터베이스 (RDBMS) 데이터를 호스팅하고 제공하는 SQL Azure, 분산 컴퓨팅 기술의 구현과 Hybrid Cloud Platform의 구현을 가능하게 하는 AppFabric, 실시간으로 제공되는 동적 데이터 카탈로그를 구현할 수 있는 SQL Data Services (Codename: Dallas) 등으로 구성됩니다.

그 외에 부수적으로는 Windows Azure Platform과 조합하였을 때 훨씬 더 효과적으로 사용할 수 있는 Microsoft의 다른 Web SDK 및 온라인 서비스들 (예: Facebook SDK, Windows Live ID 및 Windows Live 관련 SDK)을 접목한다면 더욱 사용성이 편리하고 우수한 클라우드 기반 응용프로그램을 만드실 수 있습니다.

위의 그림에서 보여지는 것처럼, Windows Azure Platform은 핵심 인프라를 기반으로하여, End User들에게는 실제 클라우드 응용프로그램이 제공하는 서비스를 활용할 수 있게 하고, 개발자들에게는 Visual Studio 및 기존에 자신이 사용하던 IDE를 이용하여 Cloud Application을 개발할 수 있게 하고, 호스팅되는 Cloud Application의 재량이지만, SOAP, REST, XML-RPC 등의 통신 프로토콜을 통하여 기존의 On-Premise 기반 소프트웨어에서도 클라우드 응용프로그램의 이점을 누릴 수 있게함을 보여줍니다.

특히, Visual Studio는 이 블로그를 찾아주시는 여러분들께서 제일 많이 애용하시는 개발 도구일 것입니다. 익숙한 프로그래밍 언어 (C#, VB.NET, F#)들을 활용해서 최신의, 그리고 강력한 컴퓨팅 환경 위에서 구동 가능한 응용프로그램을 자유롭게 개발하실 수 있다는 것을 뜻합니다. 아직까지 국내에 정식 출시되지 않은 서비스이지만, Windows Azure가 실제로 어떻게 동작하고, 어떤 절차를 거쳐서 개발이 이루어지는지에 대해서 먼저 아실 수 있다면 그 또한 좋은 이득이 되지 않겠는가 하는 생각입니다.

Windows Azure에 대하여

아래 그림은 Windows Azure Platform을 이루는 주요 구성 요소들을 Layer별로 표현한 모식도입니다. 아래 그림에서 몇 가지 핵심적인 요소들을 살펴보겠습니다.


Windows Azure는 Windows Azure Platform에서 운영 체제에 해당하는 인프라 구성 요소입니다. 내부적으로 Windows Server 2008 R2 x64를 Guest OS로 사용하여, Hypervisor 및 Load Balancer를 기반으로 외부에서 발생하는 요청을 항상 고성능 / 실시간으로 처리하고 결과를 내보낼 수 있도록 돕습니다. Windows Azure는 응용프로그램을 게시하고 실행할 수 있는 Compute 서비스와, 인스턴스 및 응용프로그램의 개수나 종류에 관계없이 동일한 영속성을 부여하기 위한 Storage 서비스를 제공합니다.

Compute 서비스를 통하여 실행되는 Windows Azure 응용프로그램은 보통 여러 개의 역할 (Role) 구성 요소가 동시에 실행됩니다. Role 하나에는 하나 이상의 Virtual Machine Instance가 복제되어 서비스를 담당하게 됩니다. 이 때, Load Balancer가 하는 일은, 실행되는 Virtual Machine Instance의 네트워크 부하, CPU 부하 등을 측정하여 현 시점에서 제일 최적의 성능을 낼 수 있는 Instance가 처리를 대행하도록 연결해주는 일입니다. Compute 서비스를 통하여 실행할 수 있는 Role의 종류는 크게 두 가지인데, Web Role과 Worker Role이 있습니다.

Web Role은 IIS를 내장하고 있는 OS 템플릿을 바탕으로 구축됩니다. IIS를 이용하여 기본적으로는 ASP.NET 응용프로그램을 호스팅할 수 있게 되어있습니다. 여기에 IIS 7.x 이후부터는 Fast CGI를 지원할 수 있게 되어 PHP, Perl, Python 등 대중의 인기를 많이 받는 새로운 웹 프로그래밍 언어까지 더할 수 있고, 특별히 Windows Azure SDK for Visual Studio에서는 Windows Azure용 Fast CGI를 개발할 수 있는 템플릿도 제공하고 있어서 더욱 편리하게 웹 응용프로그램을 개발할 수 있는 것이 특징입니다.

Worker Role은 OS의 핵심 기능을 템플릿으로 하여 구축됩니다. 별도의 기본 서비스 없이, 최소한의 운영 체제의 기능을 이용하여 고속의 연산 처리나 백그라운드 응용프로그램 처리 작업을 개발할 때에는 유용하게 쓰일 수 있습니다.

012345678910


동일하게 복제된 여러 Virtual Machine Instance는, 장애나 Load Balancer의 판단으로 내부적으로 외부의 응답을 처리하는 Instance가 계속 바뀌게 됩니다. 이에 따라, 여러 Instance들이 동일한 내용을 보고 처리할 수 있게 하기 위해서는 외부적인 저장소가 필요한 데, 이 때 사용할 수 있는 것이 바로 Storage 서비스를 통하여 제공되는 Table, Queue, BLOB Storage입니다. Table Storage는 행과 열로 구성된 2차원 행렬 타입의 테이블 자료 구조를 구현하고, Queue Storage는 응용프로그램간 실시간 메시지 교환을 목적으로 사용하는 FIFO (First In First Out) 타입의 큐 자료 구조를 구현하며, BLOB Storage는 파일 크기에 관계없이 대용량의 BLOB (Binary Large Object)를 저장하고 로드할 수 있도록 한 것입니다. 특별히 BLOB Storage의 경우, BLOB Storage의 파일을 외부에서 안정적으로 다운로드할 수 있도록, CDN (Contents Delivery Network) 서비스와 연계하는 기능을 제공합니다. 이 글을 작성하는 시점에서 CDN 서비스와의 연동은 아직 CTP (Community Technology Preview) 단계에 머물러 있습니다.


그리고 최근에는 Windows 7, Windows Server 2008 R2 이후부터 본격적으로 Native Format으로 자리잡은 VHD File을 이용하여 Win32 I/O API를 통한 파일 입/출력을 가능하게 하는 Windows Azure Drive API가 새롭게 런칭되었습니다. Windows Azure Drive API를 이용하여 VHD를 생성하고, 마운트하는 기능을 제공하며, VHD 파일 내부적으로는 NTFS 파티션을 자동으로 생성합니다. Windows Azure Drive와 BLOB Storage 사이의 가장 큰 차이점을 꼽는다면, Windows Azure Drive는 CreateFile 같은 Win32 API로 파일 입/출력이 가능한 저장소이고, BLOB Storage는 외부에 파일을 직접 노출하거나, 서로 다른 시스템간에 파일을 교환할 수 있다는 것입니다. 상황과 조건에 따라서 적절한 방법을 택할 수 있을것입니다.

다음 시간에는

이번 첫 Article에서는 Windows Azure Platform에 대한 개요와 Windows Azure의 기본적인 구성 요소에 대해서 살펴보는 내용을 다루었습니다. 다음 시간에는 Windows Azure Platform 서비스를 신청하고 활용하는 방법을 소개하고, 몇 가지 실제 Windows Azure 기반 응용프로그램 및 개발 사례들을 소개하도록 하겠습니다.

감사합니다. 즐거운 하루 되세요. :-)

이미지 파일 인용: Microsoft Cloud Platform - David Chou / Microsoft

VS TFS 2010 사용편 - SourceSafe? 버려~

Team Foundation Server 2010. 5. 10. 09:00 Posted by 알 수 없는 사용자
 

SourceSafe 보다 좋은 VS TFS 2010  3부작~ 1

 

팀장 : "XX ~"

: "~(룰루 랄라~)"

팀장 : "현재 쓰고 있는 VS 2008 하고 VS 2005 SourceSafe 있는거 사용하고, 신규부터 VS TFS 2010 사용하죠."

: "? 그거 전부 VS TFS 올리는 아닌가용????"

팀장: "? 뭐야 VS 2008 있는거? VS TFS 2010으로 연결해서 사용할 있어? 그리고 TFS 2010 에서 소스 관리하는거 새로 배워야 하는거 아냐?"

: "??? 새로 배워요? SourceSafe 사용했던 처럼 체크 / 아웃 하면 돼요~"

팀장: "새로 안배워도 ? 정말? 그리고 VS 2008 있는거 SourceSafe 말고 VS TFS 2010 써도 ?"

: "~~~ ~~ 얼씬 안정빵으로 소스 관리할 수있어요~ 이번에도 저만 믿으세요~ ㅋㅋㅋㅋ(이번엔 팀장에게 저녁 사달라 할까? 마눌님 친정갔는데 ㅋㅋㅋ)"

팀장 : " 그래? 해봐"( 이번에도 내기 해봐? 그런데 웃음은 뭐지??? 불안해 확실할 해야겠당...)

 

이제 드뎌 사용편입니다. 3부작으로 천천히 하죠 ㅎㅎㅎ

1편 : VSS 에서 VS TFS 2010으로 업그레이드 준비 작업하기
 

사용편에서는 Visual SourceSafe 2005 사용하는 사용자 분들을 위해 앞에서 설치, 구성을 상태에서 진행하셔야 합니다. VS TFS 2010 우선 기존의 사용하는 방법 그대로 사용하면서 추가 기능을 알아보는게 좋을 같습니다.

 

~ Visual SourceSafe 2005(VSS 2005) 업그레이드 작전(?) 입니다.

 

VSS 2005 이라고 불리는 녀석이 회사 프로젝트의 모든 소스를 관리하는 녀석으로 20 정도가 있다고 가정합니다.~ (가정 VS 2005 하고 2008 같이 사용하는 회사도 있습니다. ^^)

 

회사는( 백수입니다 .) VS 2005 부터 VS 2008 까지 프로젝트로 진행하고 있으며 개발자들은 모두 두개의 VS 설치하고 있다고 가정합니다. 이런 상황에서 VS TFS 2010 사용할 있으냐? 사용 가능합니다. 처음 부터 VS 2010을 사용하면 좋지만… 여러가지 이유로 당분간 VS 2005, 2008 사용해야 하는 어쩔수 없는 상황도 있을 있습니다.

 

VS TFS 2010 만들어낸 Microsoft 에서는 이런 상황에 대한 지원은 기본이라 수있습니다.( VS 2003 번외편으로 하죠 ㅎㅎ 아직 완전하지는 않은듯 합니다 ^^ 제가 테스트 하구요^^)

 

이제 본론으로 넘어와서 TFS 2010 이란 녀석을 활용해야 하는데.. 솔직히 기존 프로젝트를 VS 2010으로 업그레이드 하는 것이 젤루 좋지만…. 앞에서 설명한 여러가지 이유중에 회사마다 돈을 내고 사용하는 VS 추가 콤포넌트들이 있을 경우에는 바로 업그레이드 하기에는 조금 위험하기 때문에.. 그냥 VS 기존 버전을 사용하는 경우도 있습니다. 그렇다면, 정말 연결을 하려면 어떻게 해야 하는가??

기존 버전에서 VS TFS 2010으로 연결하기 위해서는 다음 같은 파일들을 다운로드 받아서 설치만 하면 됩니다.

 

VS 2005 SP1 호환성 업데이트

VS 2008 SP1 호환성 업데이트

 

~ 2개만 있으면.. 바로 사용할 있다는 것입니다.(한글판 다운로드입니다.^^)

 

그런데~~ 여기서 잠깐 주의 하실 것이 있습니다.

 

VS 2005에서는 최소한 Visual Studio Team System 제품군이여야 한다는 전제조건이 있습니다. VS 2008 Professional 에서 Team Explorer 2008 설치해서 접속해도 되지만… VS 2005 약간 부끄러움을 타는건지(?) Team System 계열만 가능합니다.

 

하나. 바로 Service Pack관련 부분으로 어느 회사에서는 Service Pack1 설치하지 않는 경우도 있습니다. Service Pack1 닷넷은 아닙니다. 개발자분들이 오해하시는 것중에 하나가 .NET 서비스팩 업그레이드 했으니 VS 업그레이드 된거 아냐? 하시는데.. 아닙니다.

그래서 절대 주의 하셔야 합니다.

 

Visual SourceSafe 2005 에서 Visual Studio Team Foundation Server 2010 으로 가기 위한 작업

 

Visual Studio 2005 경우

 - Visual Studio Team System 제품군인지 확인

 - Visual Studio Team Explorer 2005 설치

 - Visual Studio 2005 Service Pack 1 설치

 

Visual Studio2008 경우

 - Visual Studio Team Explorer 2008 설치

 - Visual Studio 2008 Service Pack 1 설치

 

이런 순서로 진행하셔야 합니다.

 

Service Pack 1 설치 후에 Team Explorer 설치하시면.. 다시 Service Pack 1 설치하셔야 합니다.

그런 이제 VS TFS 2010 접속할 있는 환경으로 전환이 입니다.

 

그런데… 회사 개발팀들.. 마디 합니다. TFS 2010으로 가야 하는데????

~ 소주 한잔 하시죠?? 하고 이야기 하면.. 소주값 만이 들어갑니다.(한달 월급이 얼마인데 . 잘못 카드값이 나오면 마눌님에게 둑는데 ㅠㅠ)

 

그래서 다음과 같이 정리 했습니다.

 

구분

Visual Source Safe 2005

Visual Studio Team Foundation Server

저장소

파일 형식

MS SQL Server

보안

공유폴더 접근권한 사용

소스에 직접 접근 불가

편의성(사용자 계정)

VSS 에서 직접 관리

Windows 계정 사용

성능

파일 I/O

Proxy 서버로 성능 향상가능

요구사항 관리

불가

설계부터 요구사항과 연결

문서 형상관리

소스만 가능

가능(SharePoint Services)

보고서

직접 작성

가능(SQL Server Reporting 또는 엑셀)

백업 및 복구

수동

Database 백업 / 복구

개발방법 지원

지원불가

Agile 또는 CMMI 지원

기술지원

2005버전 이후 계획 없음

2011 까지 가능

지속적인 업그레이드

기술 지원 가능

 

ㅎㅎㅎ .. 이런 이유로 사용하면 좋다는 것인데요.. 일단 VSS 2005 아니 VSS 오랫 동안 사용해보신 분들이라면.. 다들 VSS 때문에 약속이나 소스 원복으로 인한 철야 작업들이 기억나실 겁니다.

 

VS TFS SQL Server 사용하기 때문에 DB 백업/복구만 잘되어 있다면 언제든지 복구가 가능하다는 것이죠. SQL 이긴 하지만, Database 장점과 Windows 계정의 활용등등.. 여러 가지 장점이 있다는 것입니다. 앞에서 정리한 것으로 개발팀원들과 이야기가 끝났다면… 이제 사용해야 겠죠?

 

.. 바로 Service Pack 1 설치 다음이 사용자 계정과 소스를 TFS 2010으로 이전 작업입니다.

사용자 계정과 소스 이전 작업은 다음에~~ Soon 입니다~


VS TFS 2010 설치편 - 설치 시작

Team Foundation Server 2010. 5. 4. 09:00 Posted by 알 수 없는 사용자

 

팀장에게 VS TFS 설치보여주기 - VS TFS이게 쉽습다~.

 

드디어 사전 준비사항이 끝나고.. 설치를 진행합니다. 설치는 정말 단순합니다.

 

설치 DVD DVD-ROM 넣습니다. 요즘에는 CD 아니라 DVD 많이 나오네요.. ^.^

DVD 폴더로 이동합니다. 여기에는.. 몇개의 설치 폴더가 있습니다. 설치 파일은 Setup

어디에 있는지 궁금하신 분들은.. 잠시 참아 주십시요.^^

 

 

이게 설치 DVD 내용입니다.

 

"TFSInstall" 파일은 설치 설명서입니다. 아직 영문이라 영어로 나오는다는…(한글은 언제??)

그럼 폴더를 조금 설명해 드리면..

 

Client.upd ->VS2008 Team Explorer설치 지원파일

Team Explorer -> Team Explorer 설치 폴더

TFS-X64 -> Team Foundation Server 2010 설치 파일 64bit

TFS-X32 -> Team Foundation Server 2010 설치 파일 32bit

 

이렇게 4개의 폴더로 구분했습니다.

 

설치할 OS bit 확인하시고 그에 맞는 설치 폴더로 이동하십시요.

 

Windows Server 2008 R2이므로.. TFS-x64 이동합니다.

 

여기 드뎌 설치파일이 있습니다.(설마 여기 이것을 찾기 위하여 검색으로 찾지는?? ㅎㅎㅎ)

 

그럼 여기서 "Setup" 선택해서 설치를 시작합니다. (따쁘~~ 클릭을 하는거죵 ㅎㅎㅎ)

그럼 설치하기 위한 설치 콤포넌트를 읽기 시작해서 다음 화면이 표시됩니다.

 

 

끝난 다음 "Next" 선택합니다.

 

 

설치 라이선스 동의하시고~ "Next" 쏘세요~

다음 . 이제 중요합니다. ? 설치할 기능을 선택하기 때문입니다.

 

 

설치할 기능을 선택하는 것입니다.

 

Team Foundation Server - TFS 주요 기능 구성요소

Team Foundation Server Proxy - TFS 프락시 서버

Team Foundation Build Service - TFS 빌드 서비스

 

세개의 구성요소 중에 첫번째는 설치해야 겠죠??

그럼 나머지 2개는.. 필요에 따라 설치하실  있습니다.

 

간단히 요약해 드리면

2번째 - 사용자 많아지만 추가로 설치해서 Proxy서버를 중간에 두는 것입니다. 사용자가 많아서 서버 접속이 원할하지 않을 사용하는 .

3번째 - 빌드 서비스로 자동으로 소스 코드를 빌드하는 기능입니다. 이것도 필요하면 설치하시면 됩니다.

 

여기서는 TFS 주요 기능 기능 구송요소와 TFS 빌드 서비스를 설치하겠습니다.

TFS 빌드는.. 막내 꼬맹이가 일을 했는지 결과를 확인하는데 도움이 되기 때문이라고 팀장에게 이야기 합니다.  ^.^

 

그럼 2 선택하고 "install" 선택합니다.

 

 

그럼 설치를 진행하느데.. 여기서 잠깐.

 

Windows Server 2003이라면. Windows Installer 4.5 설치하기 때문에 여기서 리부팅이 한번 이루어집니다.

Windows Server 2003 , 2008 에서는 .NET Framework 4.0 설치하고 다음 리부팅을 다시 한번 합니다.

 

한번 정도 리부팅이 이루어 지는데요.. ^^ 이게 싫으시면.. .NET 4.0 먼저 설치하시는 것도 좋습니다.^^ 다시 부팅하는 횟수를 줄이러면 Windows Server 2008 이상을 권장합니다. ^___^ ㅎㅎ

 

설치를 완료하고 나면..

 

설치가 완료 되면 "Lunch Team Foundation Server configuration Tool" 체크되어 있어서

"Configure" 버튼이 활성화 되어 있습니다. 이제 "Configure" 선택하도록 하겠습니다.

 

이것을 선택하면 환경 설정을 하게 됩니다. 환경 설정은 Soon 입니다요.~~

 

ㅎㅎ 오늘은 여기까지 설치만 했습니다. 설치?? 쉽죠잉~~

팀장님께 설치 보세요~ DVD 넣고 설치하니 아무 문제 없이 설치 되자나요~

VS 2008 처럼.. 설치전에 뭔가 복잡한 안해두 돼죠? 글구 64bit 지원되고~ 어떠세요??

설치 관련된 말은 이제 할말이 없으시죠??

 

ㅎㅎㅎㅎ


 

이번에는 두번째로 프로젝트를 만들거나 새롭게 cs 또는 vb 파일을 추가할 도움이 되는 것입니다.

 

바로 프로젝트를 생성할 나타나는 화면입니다.

 

 

여기서 우리는 그냥 해당하는 프로젝트를 선택합니다. 그리고 프로젝트 만들기를 하는데 VS 2008에서는 .NET 플랫폼의 선택 기능이 있었습니다. VS 2010에서는 다른 보다 우선 설치된 템플릿과 기존에 만들었던 템플릿들 온라인 템플릿으로 나우어 집니다. 첫번째인 Recent Templates 최근에 만들었던 것으로 여러분들이 기존에 만들었던 템플릿을 불러옵니다.

 

이렇게 기존에 만들었던 템플릿을 가져와서 템플릿을 이용하여 다시 만들수가 있습니다. 다음은 설치된 템플릿입니다.

설치된 템플릿은 여러분들 설치한 VS 2010 언어에 맞추어 템플릿이 표시됩니다.

 

 

 

바로 이렇게 표시가 되죠.^^ 그렇다면.. 바로 위에 있는 Enable loading of per user extensions 틀릭하면 도구상자의 옵션 대화상자를 열고 안에 있는 Extension Manager 메뉴를 호출합니다. 여기서 "Automatically check.." 하면 자동으로 자기가 템플릿 관련 확장을 체크하여 업데이트를 합니다.

 

 

 

다음이 온라인 템플릿입니다. 템플릿은 온라인상에서 템플릿을 불러오는데 바로 사용자를 추가로 새롭게 템플릿을 만든 것을 지원하는 것입니다. 바로 사이트에 있는 내용을 가져오는 것입니다.

 

http://visualstudiogallery.msdn.microsoft.com/en-us

 

 

화면은 이렇게 나오는데 왼쪽 템플릿 메뉴에 여러 목록이 있는데 목록에 해당하는 것을 선택하면 선택한 것만 표시됩니다.

  

 

 

물론 기존의 VS 2008 있는 .NET 선택할 있게 되어있는 것은 그대로입니다. 하나 추간된 것은 왼쪽의 Sort by라고 하는 부분이 추가되어 정렬도 있습니다. Sort by VS 2008에서는 없는 것입니다.

 


.NET 선택 시에는 2.0 버전부터 선택할 있으며(이건 당근이죠 ^^) 그외 .NET 버전도 선택할 있습니다.

 

여기 More Frameworks 부분입니다. 그러면 닷넷 프레임 워크 홈페이지로 이동을 합니다. 주소는

http://msdn.microsoft.com/en-us/netframework 이쪽으로 이동을 하여 추가적인 닷넷 프레임워크를 지원합니다. 사이트에는 지금까지의 닷넷을 다운로드 받을 있도록 하고 있습니다.(예를 들어 SharePoint 2010 개발하기 위하여는 최소한 .NET Framework 3.5 이상을 선택해야 합니다.)

 

이제 이번 글의 하이라트라고 있을까요? Search 입니다.

 

 

부분은 IE 에서 많이 보셨거나 Windows Desktop Search 사용해 보신 분은 이거~ 하실 겁니다.

바로 VS 프로젝트 템플릿을 찾아주는 역활을 합니다. 제가 여기서 C 라고 입력하면 C 관련된 템플릿이 표시됩니다.

 

cs 하면 C#관련 내용일 것입니다. 이것이 중요한 것은 중간에 파일을 추가할 class 파일을 추가 할때 어떨가요? 해당 프로젝트에서 클래스 하나 추가할 때에도 도움이 됩니다.(사실 중간에 강의 하거나 갑자기 class 파일 하나 만들때 가끔 어디 있는지 못찾을 때가 .)

 

바로 생각외로 도움이 것입니다.(사실 정말 도움이 됩니다 ㅋㅋㅋ)

 

오늘은 VS 에서 새롭게 프로젝트를 생성하거나 중간에 프로젝트를 추가 또는 class 이나 cs 또는 aspx파일을 같은 것을 추가하는 대화 상자를 봤습니다. 사실 여기서 집고 넘아가는 것은 개발자에게 파일을 찾기, 또는 추가 할때 위치가 어디 있는지 갑자기 당황 스럽거나 또는 기존에 만들었던 템플릿을 다시 만들고자 할때 쉽고 빠르게 만들 있도록 도와 준다는 것입니다.

 

한가지 확실히 도움을 받습니다. 프로젝트 파일을 추가할 경우 저는 C# , C++, Modeling 같이 있으며 Web Services파일등이 있을 추가하려고 하는 파일을 쉽게 찾아서 추가 한다는 것입니다. 정말 편리합니다. 이것을 조금 유식하게(?) 하면 바로 생산성 향상 측면으로 볼수 있을 겁니다.

 

그럼 다음 번에는 실제 코딩과 관련 있는 부분을 보겠습니다.

Visual Studio 2010! 나랑 놀아보자 – 기본편 (4회)

 

영상이 보이지 않으면 이곳을 클릭해서 실버라이트를 설치하세요

Call Hierarchy 기능은 코드의 흐름을 파악하기 위한 유용한 기능입니다.
이제는 코드의 흐름을 파악하기 위해 이곳 저곳으로 찾아다니면서 분석할 필요가 없습니다.
Call Hierarchy 기능은 코드를 보지 않고도, 코드의 연관 관계를 추적할 수 있기 때문입니다.
특히 Interface Programming 에서 빠져서는 안될 유용한 기능 중에 하나입니다.

Visual Studio 2010! 나랑 놀아보자 – 기본편 (3회)

 

영상이 보이지 않으면 이곳을 클릭해서 실버라이트를 설치하세요

반복적인 코드를 만들기 위해, Copy&Paste 는 매우 유용한 기능입니다.
특히 Box Selection 기능은 예전부터 가끔씩 사용하던 기능이지만, 일부 편리하게 사용하기는 쉽지 않았습니다.

Visual Studio 2010 은 Box Selection 기능은 '선택 영역 글자 삽입'과 '0(Zero) 길이 지원' 으로 좀 더 편리하게 사용할 수 있습니다.

Visual Studio 2010! 나랑 놀아보자 – 기본편 (2회)

 

영상이 보이지 않으면 이곳을 클릭해서 실버라이트를 설치하세

Visual Studio 2010 의 코드 에디터는 WPF 가 적용되어 시각적인 효과를 표현할 수 있습니다.
그리고 멀티 모니터를 지원하게 되어, 사용자가 여러 개의 모니터를 이용하여 코드를 개발하기가 수월해 졌습니다.

코드 에디터가 어떻게 변화하였는지 살펴보도록 하겠습니다.

 

오랜만의 포스팅입니다.

지난 글에서 말씀 드렸듯이, 이번 글에서는 새롭게 추가된 Data Flow Rules에 대해서 소개 드리겠습니다.

새롭게 추가된 8개의 Data Flow 규칙들

일단, 새롭게 추가된 규칙 목록을 먼저 보도록 하겠습니다.

CA1062 ValidateArgumentsOfPublicMethods: 함수의 인자유효성 검사 여부
CA1303 DoNotPassLiteralsAsLocalizedParameters: 문자열 인자의 Globalization 처리 여부
CA2100 ReviewSqlQueriesForSecurityVulnerabilities: SQL Injection 취약점 파악
CA2202 DoNotDisposeObjectsMultipleTimes: Dispose 메서드를 여러 번 호출하는지 여부
CA2204 LiteralsShouldBeSpelledCorrectly: 스펠링 체크
CA2215 DisposeMethodsShouldCallBaseClassDispose: Base 클래스의 Dispose 메서드를 호출하는지 여부
CA2241 ProvideCorrectArgumentsToFormattingMethods: Format 함수 인자 검사
CA2000 DisposeObjectsBeforeLosingScope: Dispose 메서드를 호출하는지 여부

이 규칙들 중에서, CA2000을 제외하면 모두 Visual Studio Team System 2005에서 이미 지원했었던 규칙입니다. 그리고 사실 CA2000도 VSTS 2005에 없었다 뿐이지, FxCop 1.35버전에서는 있었구요. 하지만 이 규칙들은 FxCop 1.36과 Visual Studio Team System 2008에서는 빠져있습니다.

이 규칙들이 빠졌던 이유에 대해서는 아래 URL을 보시면 됩니다.

http://code.msdn.microsoft.com/codeanalysis/Release/ProjectReleases.aspx?ReleaseId=556

즉, FxCop 1.35와 VSTS 2005에 있었던 Analysis 엔진에 성능의 결함, 버그, 일관적이지 못한 분석 결과 등의 문제가 있어서, 그 엔진을 VSTS 2008과 FxCop 1.36에서는 완전히 없애 버린 것입니다.

하지만, 이번 Visual Studio 2010에서는 화려하게 복귀가 되었습니다. 


Phoenix Framework의 탑재


그게 가능했던 이유는 새롭게 탑재된 Phoenix Framework 덕분입니다. 피닉스 프레임워크는 향후 마이크로소프트 컴파일러 기술을 위한 새로운 코드 최적화/분석 프레임워크입니다. C++/CLI 기반으로 만들어진 피닉스 프레임워크는 컴파일러, 코드 최적화, 자동 코드 생성 등 여러 분야에 사용될 수 있는 프레임워크인데요. 자세한 정보는 아래 URL에서 보실 수가 있습니다.

http://research.microsoft.com/en-us/collaboration/focus/cs/phoenix.aspx

https://connect.microsoft.com/Phoenix


그러면 다음 글을 통해서, 새로운 Analysis Engine인 Phoenix 프레임워크에 대해서 더 자세히, 그리고 어떻게 우리가 사용할 수 있을지 알아보도록 하겠습니다.


저희 Viva 2010 팀은 차세대 개발 플랫폼인 Visual Studio 2010, Visual Studio Team System 2010, C# 4.0, C++ 0x, Cloud 등을 공부하고 다양한 매체를 통해 알리는 팀 입니다.

저희 VSTS 2010 팀은 최근 Visual Studio 2010 베타 2 공개와 앞으로 곧 나오게 될 RC 및 정식 버전 출시에 발 맞춰서 활동을 더욱 강화하기 위해서 팀 멤버를 추가로 모집하고 있습니다.


그간의 활동

온라인 활동

http://vsts2010.net 블로그를 통해서 총 164개의 Article 발행, 총 방문자 약 50000, 일 평균 300명의 방문


오프라인 활동


[2009년 6월 10일 MSDN 주간 세미나]

강보람 - C#연대기 -C#의 Before/After

공성의 - VSTS2010에서의 소프트웨어 품질 관리

김병진 - VSTS 2010 Architecture & UML

엄준일 - Managed Extensibility Framework

최흥배 - Visual C++ 10, C++0x 그리고 Concurrency Runtime


[TechDays 2009 참여]

김병진, 강성재 - Visual Studio Team System 2010 Overview

최흥배새로운 시대를 여는 Visual C++ 10

강보람C# 4.0 with dynamic : 사랑과 전쟁. 그들의 4주 후…

조진현Multi-threaded rendering in DirectX11

엄준일, 공성의Visual Studio Team System 2010 With Agile

김대욱, 김태균WPF4.0 을 위한 VIsualStudio 2010



활동 영역

온라인 활동 영역

팀 블로그 활동

팀 블로그를 통해 자신의 글을 게시할 수 있습니다. 현재 수백 명의 정기 구독자에게 글이 공개가 되며, 팀 블로그가 구글 등의 검색 상위권에 이르게 됨으로 자신의 글이 상위 검색에 노출되는 간접적인 혜택을 누릴 수 있습니다.

온라인 세미나

한국 마이크로소프트와 팀 자체에서 진행하는 여러 가지 온라인 세미나의 스피커로 활동하게 됩니다.

온라인 커뮤니티(예정)

온라인 커뮤니티 활동과 함께 커뮤니티 운영 활동을 하게 됩니다.

   

오프라인 활동 영역

오프라인 스터디

오프라인 스터디를 통해 자신의 분야를 공부하고 발표합니다. 그리고 좋은 콘텐츠는 곧바로 온라인/오프라인 세미나 스피커 활동으로 이어집니다.

오프라인 세미나

한국 마이크로소프트와 팀 자체에서 진행하는 오프라인 세미나의 스피커로 활동할 수 있습니다. 팀 자체에서는 매월 오프라인 정기 세미나를 진행하며, 자신의 노하우를 오프라인 세미나를 통해 전달할 수 있는 기회를 드립니다.

기고

팀 블로그를 통해 축적된 자신의 콘텐츠는 월간 잡지 등에 기고할 수 있습니다.

책 집필, 번역(예정)

다양한 노하우를 책으로 집필하고, 외국의 유명 서적을 번역하는 활동을 계획하고 있습니다.

Microsoft MVP 추천

MVP 에 되고자 하시는 분은 한국 이크로소프트 직원과 마이크로소프트 MVP 의 추천을 드립니다.

   

모집 분야

  • Cloud Development
  • C#
  • VB.NET
  • C++
  • Agile Development
  • Parallel Development
  • Web Development
  • ASP.NET
  • Silverlight
  • Windows 7 Development
  • RIA Development
  • Architect Development
  • Office Business Application Development
  • .NET Framework 4.0
  • Visual Studio 2010
  • Visual Studio Team System 2010
  • ETC…

   

마감

정해진 마감 일자는 없습니다만, 적어도 12월 중에는 저희와 함께 할 수 있었으면 합니다. 가능한 빨리 지원해주시길 부탁드립니다.

   

지원 방법

아래의 양식을 채워주시고 kkongchi@gmail.com 으로 보내주세요.

이름

  

사진

  

블로그

  

전화번호, 이메일

  

티스토리 아이디

  

소개

(직업 및 회사명 포함)

관심 분야

(중복 가능)

   

지원해 주신 내용에 대한 심사 후, 오프라인 인터뷰를 통해서 멤버를 선정하게 됩니다. 이번에는 특히 활발한 온라인 활동, 특히 개인 블로그 활동을 많이 해오신 분들을 우선적으로 선정할 예정입니다.

   

지원 시 유의 사항

참고로 저희 스터디에서는 배우고자 지원하시는 분들은 선발하지 않습니다. 저희 팀의 스터디에서는 여러분들에게 아무것도 가르쳐주지 않습니다.

저희 팀에서는 절대 실력을 보고 맴버를 선발하지 않습니다. 물론 실력이 출중하면 좋겠지만 새로운 VSTS 2010 분야는 어느 누구도 밟아보지 않은 새로운 황야와 같습니다. 새로운 길을 함께 가실 활동력이 충분하신 분들은 꼭 지원해 주시기 바랍니다. ^^

Visual Studio 2010과 Blend Preview for .NET 4 통합 문제

Visual Studio 2010 2009. 11. 23. 17:40 Posted by 알 수 없는 사용자
Visual Studio 2008과 Expression Blend 3를 사용 할 때 Visual Studio의 프로젝트/솔루션의 xaml 파일에서 마우스 오른쪽 버튼 클릭 후 Open in Expression Blend 메뉴를 클릭하면 Blend 3가 열리면서 디자인 작업 하는 방법을 많이 사용하실겁니다.

이번에 PDC09에서 Silverlight 4가 발표되면서 VS2010과 Blend Preview for .NET 4를 설치 하신 분들이 많을텐데 VS2010에서 Open in Expression Blend 메뉴를 클릭하면 Blend Preview for .NET으로 열리는게 아니고 Blend 3로 열리는것을 경험 할 수 있습니다.

기존에 설치된 Blend 3 때문에 그런 줄 알았는데 VS2010과 Blend Preview for .NET 4만 클린 설치 해도 Blend가 실행 되지 않는다고 합니다. 이 경우에는 Open in Expression Blend 메뉴가 나타나지 않는다고 하네요.


결론적으로 Blend 3가 함께 설치된 경우에만 메뉴가 나타나며 그것도 Blend 3로만 연결되어 실행되는 결과가 나타납니다.
이 문제를 해결하기 위해서는 레지스트리를 수정해서 해결 할 수 있습니다.

레지스트리 편집기에서 HKLM\Software\Microsoft\Expression\Blend 항목에서 VS키에서 String 이름을BlendLaunchPath 로 해주고 Expression Blend의 경로를 입력해주면 됩니다.

 1: [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Expression\Blend\VS]
 2: "BlendLaunchPath"="\"c:\\Program Files\\Microsoft Expression\\
     Blend Preview for .NET 4\\Blend.exe\""

x64 시스템의 경우 경로가 조금 다릅니다.
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Expression\Blend\VS

Wow6432Node 아래에 있으니 주의하시고 수정하시기 바랍니다.

수정하기 번거로우면 첨부 파일을 열어서 시스템에 맞는 파일로 실행시켜주면 됩니다.



※ 원문은 Microsoft의 Tim Heuer 블로그에 있습니다.

우선 설치해서 잠깐 둘러본 결과, 가장 우려했던 IDE 의 성능 문제는 의외로 빨랐습니다. 어떤 부분은 Visual Studio 2008 보다 더 빨랐고, 기본적인 대부분의 동작의 실행 속도는 굉장히 만족스럽습니다.

마이크로소프트 Visual Studio 개발팀도 이 점을 인지하고 개선하려고 상당히 노력한 흔적이 엿보입니다. 기존 CTP 와 Beta 1 에서 기어가는 듯한 IDE 가 느렸던 문제는, Beta 2 버전에서는 걱정하지 않으셔도 될 것 같습니다. 체감적으로 Visual Studio 2008 보다 느리지 않네요.  

Visual Studio CTP 와 Beta 버전에 익숙해졌는지 외관상 크게 거부감도 없습니다. 

   

설치된 구성 요소 검색하는 화면

   

라이선스 동의 화면

   

설치 패키지 선택 화면

   

설치 시작 화면

   

설치되는 구성 요소 목록

   

   

   

   

.NET Framework Beta 2 가 설치 된 후 시스템 재시작이 필요합니다.

   

   

Visual Studio 2010 Beta 2 의 Splash 화면

   

   

Visual Studio 시작 페이지 화면

   

Visual Studio 2010 Beta 2 출시

Visual Studio 2010 2009. 10. 20. 10:06 Posted by POWERUMC

미국 시간으로 2009년 10월 19일, Visual Studio 2010 Beta 2 버전이 공개가 되었습니다. MSDN 을 통해 Beta 2 버전을 다운로드 받으실 수 있습니다.

다운로드
http://msdn.microsoft.com/en-us/vstudio/dd582936.aspx

 

그간 Visual Studio 2010 CTP/Beta 버전에서 보여주었던 약간의 성능적인 문제는 이번 Beta 2 버전에서 상당히 많이 개선이 되었다고 합니다.

특히 이번 Beta 2 버전부터는 제품 라인이 전체적으로 변경되었습니다. 기존의 Professional 제품을 제외한 모든 제품의 라인이 변경이 됩니다. 다운로드 받으실 때 혼란이 없으시길 ^_^

더불어 Expression 제품 군도 두 개의 제품으로 나뉘어지게 될 것입니다.

기존 제품

Beta 2 부터 적용되는 제품

Visual Studio Team Suite

Visual Studio Ultimate

Visual Studio Test Edition
Visual Studio Database Edition
Visual Studio Architecture Edition Visual Studio Development Edition

Visual Studio Premium

Visual Studio Professional

Visual Studio Professional

아래는 변경된 MSDN 로고 입니다. ^_^

   

안녕하세요. VSTS 2010 공식 팀에서 Twitter 를 시작했습니다. Twitter 를 통해 차마 시간이 없어 정리하지 못한 정보나 알아두면 좋은 팁과 정보 등을 단문 메시지로 여러분들에게 전달해 드릴 예정입니다.

차세대 플랫폼인 Visual Studio / Team System 2010 등 관심 있는 분들의 많은 Following 을 부탁 드립니다.

http://twitter.com/vsts2010

   

 

Windows SDK 설치 후 XAML 인텔리센스 문제

Windows 7 2009. 4. 16. 22:50 Posted by 알 수 없는 사용자

Windows SDK 설치 후 XAML을 사용하는 프로젝트에서 인텔리센스가 동작하지 않는 문제가 있습니다.
Windows SDK가 설치 된 후 Visual Studio의 레지스트리 값이 변경되어 관련된 dll 파일  연결이 깨져버린 현상입니다. 

regedit 명령어를 이용해서 레지스트리 편집기를 연 후 다음 키를 살펴봅니다. 

x86
 HKEY_CLASSES_ROOT\CLSID\{73B7DC00-F498-4ABD-AB79-D07AFD52F395}\InProcServer32 

x64
 HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{73B7DC00-F498-4ABD-AB79-D07AFD52F395}\InProcServer32 

이 항목이 없다면 인텔리센스 문제가 생길 것입니다. 

두 가지 해결 방법이 있는데 제어판의 프로그램 추가/삭제에서 Visual Studio 2008을 복구 하거나
수동으로 dll 파일을 등록해주면 됩니다. 

수동으로 dll 파일 연결 방법은 다음과 같으니 시스템에 맞게 해주시면 됩니다. 

x86
 regsvr32 "%CommonProgramFiles%\Microsoft Shared\MSEnv\TextMgrP.dll" 

x64
 regsvr32 "%CommonProgramFiles(X86)%\Microsoft Shared\MSEnv\TextMgrP.dll" 

이렇게 해주고 다시 확인해보면 인텔리센스가 정상적으로 작동하는 것을 확인 할 수 있습니다.


.NET 의 과거와 현재, 그리고 미래

.NET Framework 2009. 2. 1. 21:00 Posted by POWERUMC

학창 시절 사회/역사 시간을 통해 우리나라의 역사에 대해서 공부를 하였고, 많은 한 시대를 통치하던 왕 이름과, ~시대와 수많은 ~전쟁 이름 까지 외운 적이 있을 것입니다. 그때는 시험 때문이라도 목숨(?) 걸고 외웠던 적이 있지만, 그 때 배웠던 것을 통해 우리 사회와 문화를 이해하고, 계승할 수 있던 계기가 아니었나 생각합니다. 아마 지금의 .NET 세계도 마찬가지 일 것입니다. .NET 의 과거를 모르면 현재의 .NET 도 이해할 수 없는 것들이 많을 것입니다. 그래서 오늘날 .NET 4.0 의 출연에 앞서 .NET 의 역사를 한번 짚어 보고자 합니다.

오늘날 우리 .NET 개발자들은 수많은 개발 툴(Visual Studio IDE) 버전과 .NET Framework 버전의 홍수 속에서 처음부터 .NET 1.0 을 다루어본 독자는 그리 많지는 않을 거라고 생각합니다. 아마도 .NET 3.0, 3.5 시대에 뛰어든 독자라면 이전 .NET 버전의 특징을 잘 알 수 없기 때문에, 쓰고 있는 신 버전의 특징도 체감하기가 쉽지 않을 것입니다.

자! 그럼 .NET 의 세계를 한번 뒤돌아 보도록 합시다.

Visual Studio .NET 2002 / .NET Framework 1.0

  제품의 버전 / 특징
2002년
  • Visual Studio .NET 2002 / .NET Framework 1.0
    첫 통합 개발 환경
    발매 당초의 제품명은 ‘ Visual Studio .NET
  • C# 1.0 / Visual Basic .NET (7.0)
    C# 은 마이크로소프트의 새로운 객체 지향 언어
    Visual Basic 도 객체지향 언어


Visual Studio 와 .NET Framework 의 최초 버전이다. PDC 2000 을 통해 처음으로 Beta 버전이 세상에 공개가 되었습니다. 이 버전을 통해 Managed Code(관리 코드)가 등장 하였고, C# 이라는 객체지향 언어가 출연하였습니다. 그리고 Visual Basic 7.0 이라는 이름으로 Visual Basic 도 객체지향 언어로 탈바꿈 하였습니다. 그리고 현재까지도 특정 버전이 명시되지 않은 Visual Studio.NET 이라는 IDE(통합 개발 도구)도 공개가 되었습니다.

Visual Studio IDE 를 통해 하나의 개발 툴에서 Web Application, Windows Application, Mobile, XML, XML Web Services 를 쉽게 개발할 수 있게 되었습니다. 그리고 Java 진영의 개발자들을 위한 J# 이라는 Java 와 쉽게 호환이 되는 언어도 제공하였습니다. Visual Studio 를 통해 개발을 단순화하는 핵심 기술에 대한 엑세스를 제공하는 .NET Framework 의 기능을 활용할 수 있습니다.

.NET Framework 는 응용 프로그램을 빌드하고  실행하는 Windows 의 구성요소로서, ADO.NET, ASP.NET, Windows Forms 등을 포함하는 .NET Framework 클래스 라이브러리와 CLR(Common Language Runtime-공용 언어 런타임) 을 일컫습니다. 이 CLR 을 통해 공통된 API 집합을 만들어 다양한 언어간의 상속, 오류 처리, 디버깅이 가능하며 개발자들은 사용하려는 언어를 자유롭게 선택할 수 있게 되었습니다.


Visual Studio .NET 2003 / .NET Framework 1.1

  제품의 버전 / 특징
2003년
  • Visual Studio .NET 2003 / .NET Framework 1.1 (5월)
  • C# 1.1 / Visual Basic .NET (7.1)
    모두 버전 업
  • Windows Server 2003
    .NET Framework 1.1 표준 탑재


하지만, 첫 출발은 대중들에게 큰 이목을 집중하기에 충분하였지만, 그 행보는 순탄치만은 않았습니다. 왜냐하면, C# 이라는 언어가 Java 의 아류작에 불과하다는 편견과 수많은 버그로 인해 사용자들에게 원성을 사야 했습니다. 그리고 얼마 지나지 않아 새로운 버그 픽스 버전인 Visual Studio.NET 2003 과 .NET Framework 1.1 을 발표하였습니다.

C# 과 Visual Basic 의 버전을 각각 C# 1.1, Visual Basic 7.1, .NET Framework 1.1 로 버전업 하였습니다. 그리고, Windows Server 2003 제품에 표준으로 탑재하여 .NET Framework 의 확산에 큰 공을 이루게 되었습니다.

실제로 엔터프라이즈 시장에서 이 버전을 기준으로 많은 기업용 시스템에 도입이 되었습니다. 현재까지도 이 버전을 기준으로 운영이 되는 기업용 시스템이 상당수 존재하고 있으며, 아직까지도 많은 사랑(?)을 받고 있는 버전입니다.

Visual Studio .NET 2005 / .NET Framework 2.0

제품의 버전 / 특징
2005년
  • Visual Studio 2005 / .NET Framework 2.0 (12월)
    ClickOnce 배포
    제네릭 클래스 도입
    ASP.NET 2.0, ADO.NET 2.0, Windows Form 2.0
    리팩토링 기능 / 코드 스니펫
    무료 Express Edition (C#, VB, C++)
  • C# 2.0 / Visual Basic 2005 (8.0)
    제네릭 대응
  • Visual Studio 2005 Team System
  • SQL Server 2005

 .NET Framework 2.0 과 Visual Studio 2005 와 함께 .NET Framework 의 주요 컴포넌트들도 ASP.NET 2.0, ADO.NET 2.0, Windows Forms 2.0, C# 2.0 과 같이 ‘~2.0’ 이라는 버전 번호를 붙였고, 많은 기능이 확장 되었습니다. .NET Framework 2.0 의 주요 컴포넌트들은 더 이상 .NET Framework 1.1 에 의존하지 않게 되었으며, .NET Framework 2.0 은 현재까지도 .NET Framework 의 모태가 되고 있습니다.

Visual Studio 2005 도 .NET Framework 2.0 의 새로운 기능을 제공하기 위해 외관과 내관이 보다 화려해졌습니다. ClickOnce 배포를 Visual Studio 2005 에서 쉽게 수행할 수 있게 되었으며, 리팩토링(Refectoring)과 코드 스니펫(Code Snippet) 등의 기능이 추가되었으며, 솔루션 파일을 구조적으로 분류하기 위한 솔루션 폴더 등 수많은 기능이 추가되고 개선이 되었습니다.

C# 2.0 은 기존 C# 1.0 의 Boxing(박싱), Unboxing(언박싱)의 반복적인 캐스팅(Casting) 의 비효율을 개선하고, 보다 객체지향적인 코드 품질을 생산할 수 있는 제네릭(Generic) 이 등장하였습니다.  이와 함께 .NET Framework 클래스 라이브러리에 다수의 제네릭(Generic) 클래스가 추가되었습니다.

그리고, 이 제품의 버전부터 Visual Studio Team Suite + Team Foundation Server 의 제품을 조합하여 Visual Studio Team System(VSTS) 라는 새로운 개발 패러다임을 .NET 에서도 지원하게 되었습니다. VSTS 를 통해 ALM(Application Lifecycle Management-애플케이션 수명 주기 관리) 을 수행할 수 있게 되었으며, IT 조직의 비지니스 전반의 생산성을 향상 시키고, 사람과 개발 조직의 변화를 가져다 주는 시초가 되었습니다.

.NET Framework 3.0

제품의 버전 / 특징
2006년
  • .NET Framework 3.0 (11월)
    코어 부분은 .NET Framework 2.0 그대로
    WPF(Windows Presentation Foundation)
    WCF(Windows Communication Foundation)
    WF(Windows Workflow Foundation)
    CardSpace
  • Windows Vista
    .NET Framework 3.0 기본 탑재

.NET Framework 3.0 은 기존 2.0 보다 한층 버전업 되었지만, 그 내용은  .NET Framework 2.0 에 비해 한층 새로워졌습니다. .NET Framework 의 버전업 보다는 전혀 새로운 기술이 대거 등장하게 되었습니다.

단연, .NET Framework 3.0 의 가장 큰 특징이라면 WPF 를 꼽을 수 있을 것입니다. XAML(Extensible Application Markup Language) 과 함께 WPF 의 출연으로 UX(User Experience) 의 시대 흐름에 진입하게 되었습니다.

또한, WCF 의 출연으로 여러 가지의 분산 통신 기술이 통합되었습니다. 이전의 Remoting, XML Web Services, MSMQ 등이 하나의 WCF 컴포넌트에서 제공하게 됨으로써 Messaging Model 기반으로 통합할 수 있게 되었습니다.

Visual Studio 2005 Service Pack 1 / Expression Studio / AJAX.NET

제품의 버전 / 특징
2007년
  • Visual Studio 2005 Service Pack 1 (6월)
  • ASP.NET AJAX 1.0 (추가 모듈)
    AJAX Web Application 개발이 용이
  • Expression Blend
    Expression Studio 첫 제품
    WPF 어플케이션의 GUI 구축

ASP.NET 에서 AJAX 를 지원하기 위한 코드명 “Atlas” 의 정식 이름인 ASP.NET AJAX 1.0 이 릴리즈가 되었습니다. 클라이언트 사이드의 Sys 네임스페이스의 스크립트를 제공하고, 다양한 서버 사이드 모듈과 AJAX Control Toolkit 의 오픈 컨트롤 제공으로 이벤트 기반의 프로그래밍이 가능합니다.

WPF 도 Expression Blend 의 출시로 UI 작업을 위한 공개 도구인 XamlPad 보다 강력한 기능을 제공하게 되었습니다.

Visual Studio 2008 / .NET Framework 3.5

제품의 버전 / 특징
2007년
  • Visual Studio 2008 / .NET Framework 3.5 (11월 경)
    개발 코드명 ‘Orcas’
    WPF 의 GUI 설계 가능
    Javascript 디버그 기능 및 IntelliSense
    ASP.NET AJAX 표준 탑재
    .NET Framework 2.0, 3.0, 3.5 선택 가능
  • C# 3.0 / Visual Basic 2008 (9.0)
    LINQ 기능
  • SQL Server 2008
  • Windows Server 2008
  • Visual Studio Team System 2008


이 제품의 가장 큰 특징이라면, C# 3.0 일 것이다. C# 2.0 의 제네릭(Generic) 과 C# 3.0 의 람다식(Labmda Expression), 확장 메서드(Extension Methods) 등의 결정체로 LINQ 가 탄생하였습니다. LINQ 를 통해 강력한 프로그래밍적 쿼리가 가능해졌으며, XML, Database, Object 등의 다양한 데이터 소스(Data Source) 를 통해 동일한 코딩 패턴을 사용하여 질의가 가능해졌습니다.

WPF 도 Visual Studio 2008 에서 디자이너를 제공하게 되었습니다. 이전의 XamlPad 나 Expression Blend 와 같은 외부 도구의 도움이 없이도 WPF 의 UI 개발이 용이해졌습니다.

Visual Studio 2008 Service Pack 1 / .NET Framework 3.5 Service Pack 1

제품의 버전 / 특징
2008년
  • Visual Studio 2008 SP1 / .NET Framework SP1
    ASP.NET Dynamic Data
    ADO.NET Entity Framework / Data Services (Astoria)
    WCF Atom Pub Services
    클라이언트 프로파일(Client Profile)
  • VSTS
    Windows Server 2008 지원
    SQL Server 2008 지원
    성능 향상 및 개선
  • Visual Studio SDK 1.1 (SP1)
    Visual Studio Shell 재배포 패키지 경량화
    DSL 출력 미리보기 등…
  • Visual C++ 2008
    오피스 리본 스타일 Interface
    고급 GUI 컨트롤 등…


이번 업데이트는 정말 손가락으로 헤아리기 힘들 정도로 많은 부분에서 기능 개선과 새로운 기능을 제공하고 있습니다. 그렇기 때문에 지면상 요약하기도 굉장히 벅차지 않을까 생각하며, 필자가 월간 마이크로소프트 10월호에 기고한 내용을 참고하기 바랍니다.

마소10월호 - Visual Studio 2008 서비스 팩 1 알아보기
http://blog.powerumc.kr/article/2008/10/30/Maso-October-Visual-Studio-SP1.aspx

 

이처럼 .NET 은 그리 긴 역사는 아니지만, 많은 변화를 거듭하여 발전해왔습니다. 우리가 바라는 이상적인 개발 환경에 아직은 부족한 점도 있습니다만, VSTS 2010 은 그러한 갈증을 해소시켜 줄 수 있는 단비와도 같을 거라고 생각합니다. VSTS 2010 의 출연으로 .NET 4.0 세대 또한 우리가 바라는 최종 결정판이 아니며, 현재 진행형 입니다. 지금과 비교하면 .NET 1.0 은 초라해 보이지만, 그러한 과거를 통해 현재가 존재하고 .NET 4.0 도 거부할 수 없는 현재라는 것입니다.

참고 문헌
http://blog.powerumc.kr/article/2007/09/10/DotNet-Framework-AND-Visual-Studio-History.aspx