2010 겨울 마이크로소프트는 XBOX 360 새로운 사용자 인터페이스로 프로젝트 명 나탈을 키넥트라는 이름으로 출시했습니다(Kinect for Xbox 360). 이후 키넥트는 기록상 가장 빨리 판매된 가전기기로 선정되었고, 최근에 나온 마이크로소프트의 제품 사용자에게 가장 빠른 시간에 인정받는 제품으로 인정 받은 것 같습니다.

키넥트는 상황인지 컴퓨팅 중 NUI의 일반 사용자 버전으로 개발자, 과학자, 그리고 해커들에게도 상당히 매력적으로 보인 같습니다. 여기에 의료와 전시 다양한 분야에서 키넥트를 활용한 시나리오가 거론되면서, Xbox360 아닌 PC에서의 적용에 대한 다양한 시도가 일어나게 됩니다.

 마이크로소프트는 이러한 시도에 대해 과거와는 다른 접근 방법을 보이게 되고, 개발자와 과학자들을 위한 SDK 출시를 선언하게 됩니다.

MIX 발표와는 달리 오래 기다리기는 했지만, 마이크로소프트는 Windows 7에서 구동할 있는 키넥트용 개발 키트를 출시하게 되었습니다.(Kinect for Windows SDK)

공식 사이트(http://research.microsoft.com/kinectsdk)

키넥트를 활용할 있는 방법을 사용자와 장치 가지 기준으로 보면, 사용자는 일반 소비자와 기업 소비자, 장치는 PC Xbox 구분 있습니다.

현재 우리가 키넥트라고 부르는 것은 정확히 kinect for xbox 360으로 xbox 이용한 일반 소비자를 대상으로 게임 인터페이스로 있습니다.


<
그림1> 키넥트용 Xbox 360 게임과 키넥트를 통한 동작 인식

그림1에서 보이는 처럼, 스포츠와 모험, 그리고 댄스를 중심으로 게임들이 인기를 끌게 되고,

디바이스를 PC 바뀌게 되면, 장르가 단순히 게임을 떠나 의료와 교육 부분이 눈에 뛰게 됩니다.

가장 대표적인 것이 지난 Mix2011에서 보여준 데모들이 같습니다.

#Kinect for Windows SDK Preview(http://www.youtube.com/watch?v=co8jEyVjlPo)

내용 이외에도 유튜브를 보면 다양한 재미있는 동영상을 보실 있으실 입니다.

기업 부분에서는 홍보와 전시, 그리고 PC 제어가 쉽지 않은 공간 등에서 활용도가 많아지게 같습니다.

 

그럼, 이제 키넥트의 실체를 살펴 보도록 하겠습니다.

키넥트는 그림1 2 같이 개의 3D 센서와 하나의 RGB 카메라, 그리고 개의 마이크로 구성되어 있습니다.


<그림2> 키넥트 구조1

<그림3> 키넥트 구조2

<그림4> 키넥트 구조 3

키넥트의 동작 방식은 다음과 같습니다. 먼저 적외선 조명기에서 적외선을 방출합니다. 물체에 반사되는 적외선을 CMOS 카메라가 인식하고, 심도(Depth) 인식해서 처리 합니다. 컬러 이미지 CMOS 카메라에서 인식된 색과 위의 정보를 모두 모아서 스켈레톤 형태로 동작을 처리하는 방식으로 사용됩니다.

 

그럼, Xbox PC에서 키넥트는 어떤 차이점이 있을까?

정밀도(해상도) 부분은 TV 기반으로 XBox 모니터를 기반으로 PC 보다 떨어지게 됩니다. 아무래도 다양한 TV 만족시키기 위해서는 높은 해상도를 사용하기 쉽지 않을 같습니다. 여기에 비해 PC 그것도 Windows 7 이라는 OS 기본으로 하게 되면, 넷북을 최저 사양으로 있을 입니다.

결국 이러한 차이가 xbox 기반 키넥트의 해상도인 320x240 30 프레임 이라는 한계를 지니게 되었고, 여기에 비해서 PC 보다 다양한 해상도를 지원하게 같습니다.

PC SDK 320x24 30, 640x480 30, 1280x960 10 프레임을 지원할 있습니다.

아무래도 하드웨어 전문가가 아닌 필자가 내용을 모두 설명하기에는 부족한 감이 많을 같습니다. 이런 부분은 전기, 전자를 전공하신 유능하신 분들의 포스팅을 기다려봐야 같습니다.

 

현재까지 나온 데모 소스만으로 키넥트 SDK 평가 하기에는 이른 느낌이 듭니다. 다른 공개 라이브러리와 비교해서, 부족하다는 의견 또한 없지 않지만, 아직 베타 버전이고, 근거리 인식에 있어서는 장점을 보이고 있습니다.

 

이제 베타 버전을 통해 키넥트가 PC에서 어떻게 활용될 것인지 가능성을 점쳐보고, 향후에 어떻게 있을 것인지, 지적 호기심을 가지고 기다리고 준비하는 것도 재미있을 같습니다.

신고

안녕하세요. Visual C# MVP 남정현입니다. 지난번 Windows Azure Update (2010/07/29 - [Cloud] - Windows Azure Update: Microsoft Project Code-Named "Houston" CTP 1) 에 이어서 오늘은 Windows Azure Cafe 내에서 발견한 이슈에 대하여 소개하는 글을 올립니다. 이 글은 Windows Azure Tools for Visual Studio 버전 1.2에 적용되며 향후에 개선될 여지가 있는 부분으로 꼭 메모해두시면 좋을만한 부분입니다.

CloudStorageAccount 클래스에 대하여

Windows Azure Platform에서 사용하는 서비스의 유형 중에서, BLOB, Table, Queue를 다루기 위해서는 Windows Azure Storage 서비스를 신청하고 여기에 직접 접근하는 API를 호출해야 하는 데, 이 때 최초에 사용자 인증을 완료하기 위하여 제일 먼저 활용하는 클래스가 바로 CloudStorageAccount 클래스입니다. 이 클래스에는 다음과 같은 멤버들을 포함하고 있습니다.

  • [static] FromConfigurationSetting: Windows Azure의 Worker - 또는 - Web Role의 개별 환경 설정 파일에 들어있는 설정 파일로부터 Storage 연결 문자열을 가져와 CloudStorageAccount 객체를 생성하는 Factory Method입니다.
  • [static] Parse: 형식과 규칙에 맞는 연결 문자열이 있을 경우 문자열을 해석하여 CloudStorageAccount 객체를 생성하는 Factory Method입니다. 만약 분석에 실패할 경우 예외를 발생시킵니다.
  • [static] SetConfigurationSettingPublisher: Windows Azure Management API 등을 통해서 동적으로 설정 내역이 바뀌었을 경우 이를 전달하고 시스템 내부에 반영하는 통지 이벤트 처리기를 등록합니다.
  • [static] TryParse: 기본적으로 Parse 메서드와 하는 일이 동일하지만, 예외를 직접 던지지 않고 실패할 경우 반환값으로 false를 반환하도록 설계되어있어 조건문 만으로 예외 상황을 처리할 수 있도록 도와주는 도우미 메서드입니다.

위의 Static Member들 중에서도 특별히 굵게 강조 표시한 메서드 2개는, 기본적으로 제공되는 프로젝트 템플릿 상에 별도의 언급도 없으며, 이에 대한 구체적인 문서를 쉽게 발견하기 힘들지만, 이 글에서 소개하는 내용을 적용하지 않았을 경우 다음의 문제가 발생할 수 있습니다.

  • FromConfigurationSettings 메서드를 호출할 때 예외가 발생합니다.
  • FromConfigurationSettings 메서드를 사용하지 않기 위하여 Role의 자체적인 Configuration File을 사용하도록 구성한 경우 설정 변경을 위하여 매번 Role을 새로 업데이트해야 하는 비효율적인 상황에 직면할 수 있습니다.

문제 해결 방법

이러한 문제를 해결하고, Storage API의 설정이 매 순간 관리 도구에 의하여 편집되고 정확히 반영될 수 있도록 하려면 SetConfigurationSettingPublisher 정적 메서드를 호출하여 이벤트 핸들러를 하나만 지정하면 됩니다. 아래의 코드를 WebRole.cs 파일 - 또는 - WorkerRole.cs 파일의 내용 중 OnStart 메서드에 추가하시면 됩니다.

CloudStorageAccount.SetConfigurationSettingPublisher((configName, configSetter) =>
            {
                string connectionString;

                if (RoleEnvironment.IsAvailable) [각주:1]
                {
                    connectionString = RoleEnvironment.GetConfigurationSettingValue(configName); [각주:2]
                }
                else
                {
                    connectionString = System.Configuration.ConfigurationManager.AppSettings[configName];
                }

                configSetter(connectionString); [각주:3]
            });

같이 보기: http://social.msdn.microsoft.com/Forums/en-US/windowsazure/thread/6d79ca07-f53a-4110-af46-e4edc7e34e9b 

아래 그림은 적용 예시입니다.

감사합니다. :-)

  1. Windows Azure SDK Simulator 위에서 실행 중이거나 실제 Windows Azure Platform 위에서 실행 중일 때 이 Static Property의 반환값은 항상 True이며, 그 외에 단순히 일반 ASP.NET 웹 사이트로 기동 중일 때에는 항상 False가 됩니다. [본문으로]
  2. 관리 도구 등에 의하여 변경된 신규 설정값을 읽습니다. [본문으로]
  3. 실제 설정이 반영되는 구간입니다. [본문으로]
저작자 표시 비영리 동일 조건 변경 허락
신고

Hello Windows Azure / Windows Azure Tools for Visual Studio 1.2 출시

Cloud 2010.06.14 19:00 Posted by 남정현 (rkttu.com)

안녕하세요. Visual C# MVP 남정현입니다. 본 강좌를 올리기 전에 일종의 공지 사항 겸 소개를 위하여 이 글을 먼저 올리게 되었습니다. 얼마전에 Windows Azure Tools for Visual Studio 1.2 (2010년 6월 업데이트)가 새롭게 출시되었습니다. 메이저 버전도 아니고 마이너 버전인데 이와 같이 별도의 글을 써서 올리는 이유는, 다름이 아니라 Windows Azure Tools for Visual Studio의 기능에 많은 변화가 있었기 때문입니다.

Windows Azure SDK 1.2에서는 최근 발표된 .NET Framework 4.0 런타임을 내장한 Windows Azure OS 2010년 4월 버전에 대한 요구 사항을 모두 반영하고 있습니다. .NET Framework 4.0 기반의 응용프로그램을 작성 중이신 분들도 이제는 Windows Azure 환경 위에서 직접 응용프로그램을 호스팅할 수 있습니다. 그리고, Visual Studio 2010에서 새로 추가된 향상된 디버깅 기법인 IntelliTrace를 직접 지원하기 때문에 이전보다 더욱 쉬운 디버깅이 가능합니다.

다음은 Windows Azure Tools for Visual Studio 1.2의 변경 사항들입니다.

  • Visual Studio 2010 RTM 지원: Visual Studio 2010 RTM 버전을 지원합니다.
  • .NET Framework 4.0 지원: 이제는 .NET Framework 3.5와 4.0을 빌드 타겟으로 동시에 지정할 수 있습니다. 단, 4.0을 빌드 타겟으로 지정하게 되는 경우, Windows Azure OS의 이미지 중 2010년 초반의 일부 버전은 사용할 수 없습니다.
  • Cloud storage explorer 추가: 읽기 전용 기능이 지원되는 Windows Azure Table 및 BLOB 컨테이너 보기 프로그램이 서버 탐색기 패널을 통하여 제공됩니다. SQL Azure를 데이터베이스 목록에 추가하고 동시에 관리할 수 있어 편리합니다.
  • 통합 배포 환경: 솔루션 탐색기에서 Windows Azure 프로젝트를 오른쪽 버튼으로 클릭하여 'Publish' 메뉴를 클릭하면 이제는 직접 배포가 가능합니다. 이전 1.0 및 1.1 버전의 경우, CSPKG 파일과 CSCFG 파일이 생성된 디렉터리의 폴더가 Windows 탐색기에서 열리고, Windows Azure Portal Web Site가 웹 브라우저로 열렸기 때문에, 브라우저에서 로그인하고 여러 단계에 걸쳐서 배포할 파일을 찾아가야했기 때문에 Deploy 절차가 복잡했습니다. 통합 배포 환경에 대해서는 본 강좌의 말미에 한 번 다룰 수 있도록 하겠습니다.
  • 서비스 모니터링: 서비스의 상태를 웹 제어판이 아닌 "서버 탐색기"의 compute 노드에서 실시간으로 모니터링할 수 있습니다.
  • IntelliTrace 기능 지원: Visual Studio 2010을 사용하는 경우, IntelliTrace 기능을 Windows Azure 서비스에 배포한 이후에 "직접" 사용할 수 있습니다. 이 기능은 앞에서 설명한 통합 배포 환경의 일부로 동작하며, 배포가 끝난 이후에 자동으로 이 기능이 시작되어 서비스 모니터링과 함께 실시간으로 로그가 모니터링됩니다.

그간 Windows Azure 기반의 개발이 어려우셨다면 이제는 최신 버전의 SDK와 개발 도구를 이용하여 좀 더 편안하게 Visual Studio 2010을 통해 클라우드 기반 응용프로그램 개발을 시작해보세요. 이러한 기능들은 모두 Windows Azure가 제공하는 Management REST API를 기반으로 작성된 것이며, REST API의 Specification들은 모두 문서화되어있으므로, 누구나 쉽게 응용할 수 있습니다.

참고로 Visual Studio 2010의 데이터베이스 탐색기는 SQL Azure 데이터베이스에 대한 탐색도 지원하므로 이전처럼 별도의 SSMSE를 필요로 하지 않습니다. 그리고 이번 버전의 SDK 역시 1.0과 1.1과 마찬 가지로 처음 설치하는 경우에는 OS와 개발 도구의 환경에 따라 패치와 핫 픽스들을 적용하셔야 합니다.

참고로, IntelliTrace 기능은 Visual Studio 2010 Ultimate에서만 사용이 가능합니다. Visual Web Developer 2010 Express에서는 기본적인 Deploy 기능만이 지원됩니다.

다운로드 바로가기

저작자 표시 비영리 동일 조건 변경 허락
신고

Hello Windows Azure / Understanding Windows Azure Development Process

Cloud 2010.06.07 09:00 Posted by 남정현 (rkttu.com)

지난번 글 (http://www.vsts2010.net/313)에 이어서, 오늘은 Windows Azure 기반의 응용프로그램을 작성하는 과정에 대해서 실습하고 기본적인 이해를 더하는 내용을 살펴보도록 하겠습니다. 지난번 글에서 언급한 모든 구성 요소들이 설치되고, 관련된 패치들도 설치가 되어야 Windows Azure 기반의 응용프로그램 개발을 시작할 수 있음을 다시한번 말씀드립니다.

Windows Azure 개발 과정에서의 각 구성 요소들에 대한 이해

Windows Azure 위에서 호스팅될 응용프로그램을 개발하는 과정에서, 여러가지 구성 요소들이 필요합니다. 그리고 이러한 구성 요소들은 상당히 유기적으로 작용하게 되는데요, 겉으로 보기에는 복잡하지만 나름대로의 이유와 규칙들이 있습니다. 이번 장에서는 이러한 세부적인 내용들을 조명해보기로 하겠습니다.

우선, 지난번 글에서 언급한 Windows Azure Tools for Visual Studio의 역할을 살펴보겠습니다. Windows Azure Tools for Visual Studio는 이름에서 알 수 있듯이 Visual Studio와 연동하여 Visual Studio를 이용하여 손쉽게 응용프로그램을 개발하고 테스트할 수 있는 수단을 제공해줍니다. Visual Studio 2008과 Visual Studio 2010에 대한 연동 기능을 제공하고, 프로젝트 템플릿과 Visual Studio 확장 기능을 제공해주는 것이 주된 역할입니다. 그리고, Windows Azure SDK도 같이 설치해줍니다.

Windows Azure SDK는 실제 클라우드 컴퓨팅 환경과 최대한 비슷하게 기능을 재현하는 Emulation Service와 Windows Azure의 핵심 API, 클라우드 환경에서 응용프로그램 패키지를 쉽게 배포할 수 있도록 해주는 Package Builder를 제공합니다. Windows Azure SDK의 핵심 기능만 잘 이해하고, 활용할 수 있어도 Windows Azure 기반의 응용프로그램 개발은 이미 절반 이상 안 것이나 다름 없습니다.

실제로 실습을 하다보면 느끼시게 되겠지만 (특히 이전에 Windows Mobile이나 Windows Phone Series 7 기반의 개발 환경을 경험해보신 분들께서는 쉽게 이해할 수 있을 것입니다) Windows Azure의 개발 환경은 모바일 응용프로그램의 개발과 상당히 유사한 Perspective를 보여줍니다. 실제로 응용프로그램을 실행할 장치와 환경은 별도의 위치에 존재하지만, 그 이전까지 충분히 테스트를 해볼 수 있는 에뮬레이터와 모의 API 집합, 그리고 이에 관련된 문서들을 받아서 개발할 수 있다는 점이 비슷합니다. 다른 점이 있다면, 모바일이 아닌 전체 버전의 Windows Server를 기반 OS로 사용하는 응용프로그램을 개발한다는 점이 되겠습니다.

Windows Azure SDK를 이용하여 개발된 프로그램은 확장자가 CSPKG인 파일과 CSCFG인 파일로 최종 결과물이 나타납니다. CSPKG 파일은 몇 가지 기본적인 메타데이터와 함께 Windows Azure Fabric Controller를 통하여 배포할 수 있는 Binary Image가 담겨있는 (여기서의 Binary Image는 PE 파일 형식이 아닙니다. DLL의 형태도 아니고 EXE의 형태도 아닙니다.) ZIP 형식의 파일이고, CSCFG 파일은 XML의 형태를 띄고 있는 응용프로그램 전체에 대한 설정 파일입니다. 이 두 개의 파일을 Windows Azure Portal을 통하여 배포하게 되면 모든 처리 과정이 Windows Azure에 의해서 이루어지게되고 여러분의 서비스가 사용 가능한 상태로 진입하게 되는 것입니다.

Visual Web Developer 2010 Express로 Windows Azure 응용프로그램 개발 시작하기

앞서 설명드렸던 것처럼, Windows Azure 개발 환경을 Visual Studio와 함께 구축하셨을 경우에는 에뮬레이션 환경까지 같이 제공이 됩니다. 여기서 두 가지 선택을 할 수 있습니다.

에뮬레이션 환경에서 테스트하고 디버깅하는 과정을 거칠 필요가 있는 경우: 대부분의 경우 여기에 해당됩니다. 이 경우, 에뮬레이션 환경이 정상적으로 시스템에 설치되고 기동되기 위하여 Visual Studio 2008이나 Visual Studio 2010을 관리자 권한으로 "권한 상승"시킨 상태에서 시작해야 합니다.

간단하게 코드를 수정한 후 단순히 CSPKG, CSCFG 파일을 제작하기 위한 경우: 이 경우에는 관리자 권한으로 "권한 상승"한 상태에서 시작하지 않아도 무방합니다.

관리자 권한으로 권한 상승 시킨 상태에서 Visual Studio를 실행하는 경우, 일반적으로는 문제되지 않습니다. 하지만 다른 응용프로그램과 OLE 방식 (Drag & Drop과 같은 유형의 통신)으로 상호 작용하는 데에 문제가 있을 수 있습니다. 이러한 기능을 자주 사용하시거나, 프로그래밍하는 시간이 오래 걸리신다면 권한 상승을 하지 않고 먼저 완벽하게 프로그래밍을 끝낸 후 다시 관리자 권한으로 권한 상승시킨 후에 시작하여도 좋습니다.

관리자 권한으로 권한 상승하는 방법은 다음과 같습니다.

혹은, 관리자 권한 상승을 매번 사용하도록 고정시킬 수 있습니다. Windows Azure 기반 응용프로그램 개발을 집중적으로 활용하실 때에는 이 방법을 적용하시는 것도 좋습니다.

Note 1: 만약 Windows Azure Tools for Visual Studio를 설치하지 않은 상태에서 Cloud Project를 만들면?

기본으로 제공되는 개발 환경이 아니기 때문에 간혹 Visual Studio나 Visual Web Developer Express만 설치하고 Cloud Project를 생성하게 될 때가 있는데요, 걱정하지 않으셔도 됩니다. 아직 Tool과의 연동이 되지 않았다면 아래와 같이 Enable Windows Azure Tools 항목이 나타나며, 이를 이용하여 프로젝트를 생성하면 안내 웹 페이지를 포함하는 기본 문구가 나타납니다.

단순히 아래의 웹 페이지에서 Download Windows Azure Tools 버튼을 클릭하고, 다운로드 페이지에서 필요한 소프트웨어들을 모두 내려받아 설치하면 됩니다. (이 때, Visual Studio나 Visual Web Developer는 종료되어야 합니다.)

그리고 정상적으로 설치가 되었다면, 각 언어 별 (Visual C#, Visual Basic .NET, Visual F#)로 Cloud Category 아래에 Windows Azure Cloud Service 프로젝트 템플릿 항목이 보일 것입니다.

Note 2: 설치 시작과 동시에 혹시 아래와 같은 오류 메시지가 보이세요?


Installation Requirements:

These versions of Windows Azure SDK and Windows Azure Tools for Microsoft Visual Studio 2008 and Windows Azure Tools for Microsoft Visual Studio 2010 are already installed.  If the Windows Azure Cloud Service project templates are missing from Visual Studio, please uninstall the Windows Azure Tools and run this installer again.

내용인즉 그렇습니다. Windows Azure Tools는 일반적인 Windows Installer 기반의 응용프로그램이나 Visual Studio Installer 기반의 응용프로그램처럼 In-place Update가 (아마도 아직은) 지원되지 않습니다. 문제가 있어서 재설치하는 경우, 새 버전이 발표되어 재설치하는 경우, Visual Studio와 Visual Web Developer 중 어느 한쪽에 먼저 설치하고 나중에 추가 설치하게 되는 경우 모두 기존에 설치된 Windows Azure Tools를 먼저 제거한 후 다시 설치해야 합니다.

Windows Azure Tools로 프로젝트 만들어보기

이제 Windows Azure Tools를 이용하여 프로젝트를 시험삼아 만들어보겠습니다. Windows Azure Cloud Service 프로젝트 항목을 이용하여 프로젝트를 생성하면 아래의 화면과 같이 별도의 프로젝트 생성 마법사가 나타납니다. 여기서 필요한 만큼 Worker Role과 Web Role, 각 Role에서 사용할 언어, Role의 성격을 정의할 수 있습니다. Visual Studio 2008의 경우 사용 가능한 언어가 C#과 VB.NET으로 제한되고, Visual Studio 2010의 경우 C#과 VB.NET 외에 Worker Role에 한하여 F#도 사용할 수 있습니다.

추가하기를 원하는 프로젝트 템플릿의 종류를 좌측 Roles 목록에서 선택하고, ">" 버튼을 클릭하여 Cloud Service Solution 목록에 추가합니다. 여러 언어를 동시에 추가하고 관리할 수 있으며 필요하지 않을 것 같은 프로젝트는 우측에서 항목을 선택한 후 "<" 버튼을 클릭하여 다시 제거할 수 있습니다. 아래는 선택의 예시입니다. 일반적으로, 대표 Web Role 하나와 여러 개의 Sub Worker Role의 조합을 많이 사용합니다.

프로젝트의 이름을 지정하기 위하여, 우측 목록에서 이름을 바꾸기 원하는 항목을 선택하고, 마우스가 항목 위에 롤 오버 되었을 때 나타나는 우측의 연필 모양 아이콘을 클릭하면 이름을 바꿀 수 있는 입력란이 나타나게 됩니다. 이 때 원하는 이름을 입력하면 됩니다. 모든 설정이 아래와 같이 끝이 났다고 하였을 때 OK 버튼을 클릭하여 프로젝트를 생성합니다.

이제 아래와 같이 프로젝트가 생성되는 것을 보실 수 있습니다.

위의 그림에서 주황색 사각형으로 강조 표시한 파일들이 각각의 Role에서 핵심이 되는 파일들입니다. Worker Role은 백그라운드 작업을 중심으로 구성되는 프로그램이기 때문에 프로그램의 시작을 직접 프로그래밍 코드로 구현하는 것이 주가 되며, Web Role은 처음 보여줄 웹 페이지를 정의하는 일이 주가 되기 때문입니다. 그리고 우측의 솔루션 탐색기에서 파란색 사각형으로 강조 표시한 항목이 우리가 나중에 Windows Azure에 프로그램을 배포할 때 사용하는 핵심 단위 프로젝트입니다. 이 프로젝트를 정상적으로 표현하고 기능을 활용할 수 있기 위한 것이 Windows Azure Tools for Visual Studio의 주된 역할입니다.

다음 시간에는

다음 시간부터는 Windows Azure 기반의 응용프로그램에서 가장 고른 기능 사용 분포를 보여주는 트위터 스타일의 방명록 응용프로그램을 단계별로 작성하는 과정을 설명하도록 하겠습니다. Windows Azure Storage의 Queue, BLOB, Table을 사용하도록 구성되어있으며, SQL Azure를 이용하여 사용자 인증을 수행하기까지 하는 과정을 종합적으로 다루게 될 것입니다.

감사합니다. :-)

저작자 표시 비영리 동일 조건 변경 허락
신고

기존에 Visual Studio 2008에서 Silverlight 3 SDK를 설치하여 사용 하시던 분들 중에
Visual Studio 2010 Beta 2를 설치 할 때 Silverlight SDK에서 에러가 나는 경우가 있습니다.

Silverlight 3 SDK가 초기에 배포된 이후 마이너 업데이트 되어 GDR 버전이 나왔는데
VS2010 설치를 할 때 같이 설치되는 Silverlight 3 SDK 버전은 최신 버전(GDR)입니다.

VS 2010 Beta 2에서는 최신 버전을 자동으로 설치하지 않고 설치 과정에서 에러를 표시하게 되는데
이 문제는 RTM에서는 해결 될 예정이라고 합니다.

초기 버전의 Silverlight 3 SDK를 사용 하시던 경우에는 먼저 삭제를 하고 Visual Studio 2010 Beta 2를
설치하시면 에러 없이 깔끔하게 설치가 완료 될 것입니다.

그러나 이미 설치 한 경우도 Visual Studio 2010 Beta 2 사용에는 문제가 없고
단지 Silverlight 3 SDK 버전 문제로 에러가 나는 것입니다.

최신 버전의 Silverlight 3 SDK를 사용하기 위해선 Silverlight 3 SDK를 삭제하고
최신 버전인 GDR 버전으로 다시 설치 해 주면 됩니다.

여기에서 Silverlight 3 SDK GDR 버전의 다운로드가 가능합니다.
신고
Setting up the infrastructure for developing VSIX

개발을 시작하기 전 기본적인 인프라 구성을 먼저 하여 봅니다. 일단 Visual Studio 2010 을 다운로드 받아 설치해 보도록 하겠습니다.


친절하게도 이전에 슈러님께서 포스팅한 글이 있으므로 참고하면서 설치 하도록 하고, 이제 Visual Studio 2010 Beta 1 SDK를 설치 해 보도록 하겠습니다.

Installing Visual Studio 2010 SDK Beta 1


참고 링크를 따라 이동 하면 그림 1-1과 같은 Microsoft Download Center의 웹페이지가 나타날 것입니다. 거기서 Download 버튼 클릭 하면 Visual Studio 2010 SDK Beta 1을 다운로드 하실 수 있습니다. Release 날짜가 2009년 6월 12일로 다소 따끈 따끈한(?) 아이입니다.
Visual Studio 2010 SDK에는 Tool Windows, Menu Commands, Isolated Shell Projects, Editor Extension을 생성 할 수 있도록 프로젝트 템플릿을 제공하고 있으며, Editor Extension에는 Text Adorment, Colorizer, Magin 템플릿을 포함하고 있고, 빌드와 디버그 Extension은 개발자에게 VSX를 개발
                                                                           <그림 1-1>      하는데 큰 도움을 줍니다.

                                                                                                                         <그림 1-2>
그림 1-2는 초기 Visual Studio 2010 SDK Beta 1 Setup 화면입니다 Next버튼을 클릭하여 다음으로 넘어 갑니다. 그림 1-3과 같이 라이센스 동의 화면이 나타나는데 역시나 인스톨할 때 화면들이기 때문에 다음버튼만 죽어라 누르면 됩니다. 

                                                                                                                         <그림 1-3>
그리고 설치 경로를 물어보고 다음 버튼을 선택하면 설치를 시작합니다. 설치 시간은 대략 몇분이면 마무리 되므로 큰 인내심은 필요치 않습니다. 그리고 정확히 DSL 부분까지 파고 들어갈지 의문이기 때문에 만약 DSL도 다루게 된다면 그때가서 설치 부분을 포스팅 할지를 생각해 보도록 하겠습니다.

VSX를 개발하기 위한 물밑 작업은 완료 되었습니다. 참 쉽~죠잉~!
File > New > Project 를 클릭하면 그림 1-4와 같이 Extensibility 메뉴에 해당 Project Templete이 생성되어 있는 것을 확인 하실 수 있습니다.
                                                                                                                                    <그림 1-4>

다음 포스팅에서는 Editor Templete에 기능에 대하여 알아 보도록 하겠습니다.

신고