자신의 PC를 가져와서 같이 앱을 개발 해보는 방식의 앱 캠프가 시작 됩니다. 관심 있는 많은 개발자 분들과 만날 수 있었으면 합니다. 
‘첫 클래우드 앱 개발하기’ 세션에서 필요한 것은 본인의 PC에 여기 링크에서 Get Tools & SDK를 클릭하시면 나오는 WPI를 통해서 윈도우 애저 개발에 필요한 도구를 모두 설치하신 후에 참석하셔야 합니다.

<첫번째 App Camp 진행 일정>

일시 : 2011년 7월 20일(수)
시간 : 오후 7시~10시
장소 : 대치동 포스코센터 서관 5층 회의실
**주의사항 : 앱 캠프는 무료로 진행되며 별도로 노트북을 제공해 드리지 않습니다. 참석하시는 분들은 필요한 소프트웨어를 설치한 노트북을 지참해 주십시오.


참가 신청하기 : http://blogs.msdn.com/b/eva/

저작자 표시 비영리 변경 금지
이 장소를 Daum지도에서 확인해보세요.
서울특별시 강남구 대치4동 | 포스코센터
도움말 Daum 지도
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Windows Azure MVP 남정현 (rkttu.com)

PDC 2010에서 언급된 대로 이번 Windows Azure 업데이트에는 많은 수의 업그레이드가 있었습니다. 이러한 업그레이드들의 공통적인 목표는 단 한가지, 좀 더 높은 수준의 서비스를 좀 더 손쉽고 빠르게 개발할 수 있도록 개발자들을 지원하기 위함이었습니다. 그리고 12월 1일, 드디어 새 버전의 SDK와 함께 윈도 애저 서비스 포털이 새 단장을 합니다.

새 버전의 Windows Azure SDK의 버전은 1.3이며, Windows Azure Management Portal은 이제 정식으로 사용할 수 있도록 서비스됩니다. 다음은 Windows Azure SDK 버전 1.3에서 바뀐 사항들을 정리한 것입니다.

  • 권한 상승과 전체 IIS 기능 사용을 통하여 좀 더 완성도 높은 응용프로그램의 개발이 가능하게 됩니다. 이제 웹 역할과 작업자 역할에서 관리자 권한을 이용한 실행을 지원하므로 고유한 소프트웨어의 설치가 가능하게 되었고, 특히 웹 역할의 경우 IIS 전체 기능을 지원하도록 개선되어 IIS 7 전용 모듈을 설치하는 등의 작업이 가능하게 되었습니다.
  • 원격 데스크톱 기능을 켜고 끌 수 있도록 웹 역할이나 작업자 역할의 출판 속성이 추가되었습니다. 이에 대한 자세한 내용은 제 블로그의 글 ([Software Development/Windows Azure] - Windows Azure 인스턴스를 원격 제어하기)을 참조하십시오.
  • 윈도 서버 2008 R2 기반의 역할 지원: Windows Azure는 이제 Windows Server 2008 R2를 OS로 사용할 수 있도록 웹 역할, 작업자 역할, 그리고 가상 머신 역할이 개선되었습니다. 여기에는 IIS 7.5, AppLocker를 비롯하여 고급 명령줄 도구와 PowerShell 버전 2.0과 같은 자동화 기능까지 지원되며, 이전에 제 블로그 글 ([Software Development/Windows Azure] - 이제 UNIX 기반 프로그램도 Windows Azure의 First Citizen이 됩니다.)에서 언급했던 것과 마찬가지로 SUA 등의 리소스를 사용하여 UNIX, LINUX, POSIX 기반 응용프로그램을 윈도 애저 플랫폼으로 이식하는 작업도 가능하게 됩니다.
  • 다중 서비스 관리자 지원: 이제 Windows Azure는 다수의 윈도 라이브 ID를 관리자로 인정하여 서비스에 대한 제어를 수행할 수 있도록 기능이 개선되었습니다. 팀 단위 작업에 대한 지원을 고려하여 추가된 기능으로 더 효율적이고 편리한 작업을 수행할 수 있습니다. 특히 이 기능은 작업 시간대가 서로 다르고 위치가 떨어져있는 팀원들 사이에 관리 작업을 공유할 때 매우 효율적입니다.
  • 실버라이트 기반의 Windows Azure Portal 런칭: 기존의 AJAX 기반 Windows Azure Portal보다 더 사용하기 쉽고 빠르며, 새로운 기능들에 대한 완벽한 인터페이스를 제공하는 실버라이트 UI를 Windows Azure Portal에서 사용할 수 있습니다.
  • 향상된 진단 정보: 1차원적인 진단 정보가 아닌 좀 더 상세한 진단 정보를 통하여 관리하는 역할 인스턴스들의 종류, 배포된 시간, 마지막으로 다시 부팅한 시간등을 확인할 수 있습니다.
  • 새로운 회원 가입 프로세스: 이전보다 더욱 편리하고 쉽게 Windows Azure 서비스에 가입하여 곧바로 클라우드 컴퓨팅 서비스를 이용할 수 있게 됩니다.
  • 시나리오 기반의 Windows Azure Platform 포럼 런칭: 상황 별 대처 방안에 따라 빠르게 답을 구할 수 있는 Windows Azure Platform 포럼이 런칭됩니다. (http://social.msdn.microsoft.com/Forums/en-US/category/windowsazureplatform)

다음의 기능들은 베타 버전으로 제공됩니다.

  • Windows Azure 가상 머신 역할: 새로운 - 또는 - 기존의 윈도 서버 기반 응용프로그램을 VM Role을 이용하여 손쉽게 클라우드로 이관할 수 있습니다. 이에 대한 자세한 정보는 http://www.microsoft.com/windowsazure/compute/#vmrole 의 내용을 참조하십시오.
  • 극소형 인스턴스 레벨: 런타임 시간당 0.05$, 원화로 환산하면 한달 약 4~5만원 선으로 새로운 Windows Azure Platform의 기능을 경험해볼 수 있습니다. 극소형 인스턴스를 통하여 여러분이 원하는 클라우드 솔루션을 비용 걱정없이 자유롭게 테스트하며 개발할 수 있습니다. 자세한 내용은 http://www.microsoft.com/windowsazure/compute/#computeinstancesize 의 내용을 참조하십시오.

이제 개발자와 IT 전문가들은 Windows Azure Management Portal을 통하여 다음의 베타 서비스에 액세스할 수 있습니다.

  • Windows Azure 마켓플레이스: Windows Azure 마켓플레이스는 여러분의 빌딩 블록 구성 요소를 공유하거나, 판매하거나, 구입할 수 있도록 도우며, 고급 데이터를 거래할 수 있도록 도와주는 온라인 마켓플레이스입니다. 현재는 DataMarket (구 Codename: Dallas)이 런칭된 상태이며, 이번에는 Application Market Section이 오픈되었습니다. 40개 파트너사와 50여개의 응용프로그램과 서비스가 현재 게시되어있습니다.

다음의 기능은 CTP (Community Technology Preview)로 제공됩니다.

  • Windows Azure Connect (구 Project Sydney): 더욱 단순하고 관리하기 쉬운, 클라우드와 온 프레미스 사이의 IP 기반의 네트워크를 형성할 수 있도록 도움을 주는 서비스가 CTP로 런칭되었습니다. 현재는 별도의 비용을 받지 않는 CTP 버전으로 제공되며 Windows Azure Management Portal을 통하여 서비스를 신청하고 미리 테스트해보실 수 있습니다.

미국 시간 기준으로 2010년 12월 1일 오전 9시 (한국 시간은 2010년 12월 2일 오전 2시)에 Windows Azure Management Portal을 통하여 Overview 웹 캐스트 (http://go.microsoft.com/fwlink/?LinkID=207019)가 게시될 예정이니 관심있으신 분들께서는 꼭 살펴보시기 바랍니다. :-)

PDC10에서 발표된 Windows Azure 업데이트들을 다시 보시려면 http://www.microsoft.com/windowsazure/pdcannouncements/ 의 내용도 같이 확인하십시오.

출처: http://blogs.msdn.com/b/windowsazure/archive/2010/11/29/just-released-windows-azure-sdk-1-3-and-the-new-windows-azure-management-portal.aspx

저작자 표시 비영리 동일 조건 변경 허락
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Windows Azure MVP 남정현 (rkttu.com)

이번 PDC 2010에서 공개된 Windows Azure의 개선 사항 및 향후 업데이트 내용들을 한번에 정리하여 블로그 포스트로 올립니다.

엔터프라이즈 클라우드를 위한 개선 사항

  • 가상 컴퓨터 역할 (VM Role - http://www.microsoft.com/windowsazure/compute/#vmrole)이 추가되어, 기존의 Windows 응용프로그램은 물론 새 Windows 기반 응용프로그램도 Windows Azure에서 직접 실행할 수 있는 환경이 마련됩니다.
  • 웹 역할은 IIS 7.5 전체 사양 지원을 통하여, 좀 더 완성된 웹 응용프로그램과 미들웨어를 Windows Azure에서 호스팅할 수 있게 되었습니다.
  • 웹 역할과 작업자 역할의 경우, 관리자 권한 개념이 추가되어 소프트웨어 구동에 필요한 COM 서버, ActiveX 컨트롤, COM+ 서버 등을 64비트 내의 32비트 호환 모드 - 또는 - 64비트 모드에서 미리 설치하여 구성할 수 있게 되어 더욱 다양한 서버 환경을 호스팅할 수 있게 되었습니다.
  • 원격 데스크톱 기능을 각각의 인스턴스에 허용하여, 실행 중인 인스턴스에서 발생하는 다양한 문제점을 Windows Azure Team의 기술 지원이 완료되기까지 기다리지 않고 직접 관리자 재량으로 수행할 수 있는 방안이 제공됩니다. 이는 웹 역할, 작업자 역할에도 동일하게 적용됩니다.
  • 새로운 클라우드 기반의 네트워킹 기능이 Windows Azure 가상 네트워크 아래에서 제공되며, 첫 단계로 Windows Azure Connect가 (http://www.microsoft.com/windowsazure/virtualnetwork/default.aspx) 현재 CTP 발표 준비 중에 있습니다. Windows Azure Connect는 이전에 Codename: Sydney로 발표된 적이 있었으며, IP 기반의 네트워크를 기존의 온 프레미스 환경과 Windows Azure의 클라우드 환경 사이에 형성할 수 있도록 하여 Windows Azure의 다양한 리소스를 인터넷이 아닌 로컬 네트워크 수준에서 손쉽게 관리하고 공유할 수 있는 메카니즘을 제공하게 됩니다.

더욱 합리적인 플랫폼 접근

클라우드 컴퓨팅을 운영하면서 가장 이슈가 되는 부분은 비용에 관한 부분이며, 이에 대한 답으로 이번 PDC 2010에서는 최대한 저렴하게 개발하고 테스트할 수 있는 방안으로 기존의 소형 인스턴스 요금보다 최대 50% 이상 저렴한 Extra Small 인스턴스를 제공합니다. 그리고 Microsoft 파트너 회원사를 위하여 Cloud Essential Pack 요금제의 출시를 앞두고 있다는 소식도 있습니다. (http://www.microsoft.com/windowsazure/faq/#partners)

향상되는 서비스

  • 실버라이트 기반의 새 Windows Azure 포털 서비스는 이전과는 완전히 다릅니다. 더 사용하기 쉽고, 더 직관적이며, 더욱 강력한 기능들을 제공할 것입니다.
  • 현재 제공되는 진단 정보 (Diagnostic Information)에 새로운 항목이 더 추가됩니다. 역할의 종류를 확인하고, 배포된 시간과, 최근 해당 인스턴스나 역할이 다시 기동된 시점을 알아볼 수 있습니다.
  • 새로운 가입 절차를 기획 중에 있으며, 이를 통하여 지금보다 더 빠르고 간편하게 Windows Azure 서비스에 가입할 수 있게 될 것이라고 합니다.
  • 시나리오 기반의 Windows Azure Platform 포럼을 통하여 다양한 상황에 따라 손쉽게 대처하고 도움을 구할 수 있는 커뮤니티 및 피드백 시스템을 형성해 나갈 것이라고 합니다. (http://social.msdn.microsoft.com/Forums/en-US/category/windowsazureplatform)
  • Windows Azure Marketplace가 새로 발표되었습니다. Windows Azure Marketplace에는 향후 여러 종류의 마켓이 추가될 것이며 여기에는 데이터 뿐만 아니라 소프트웨어, 서비스, 빌딩 블럭 등 클라우드 환경 구축에 필요한 다양한 제품의 판매를 목적으로 합니다. 첫 번째 마켓으로, Codename: Dallas가 정식으로 DataMarket(https://datamarket.azure.com/)으로 데뷔합니다.

2011년 중에 발표될 예정인 업데이트들

  • 동적 컨텐츠 캐시: 지금은 BLOB 저장소에서 공개 권한으로 열려있는 파일에 대한 CDN 서비스만이 가능하지만, 직접 운영하는 Windows Azure 응용프로그램에서 API를 사용하여 CDN 서비스로 게시할 컨텐츠를 직접 설정할 수 있게 됩니다.
  • CDN SSL 지원: 현재는 일반적인 유형의 CDN 서비스가 제공되지만, SSL/TLS 기반의 암호화된 내용을 바탕으로 데이터를 전달하는 CDN 서비스가 추가될 예정입니다.
  • CDN 노드 추가 개설: 중동 국가들을 경유하는 노드가 추가될 예정에 있으며, 현행 미국과 브라질 간 연결 속도를 더 개선할 예정입니다.
  • 주문형 VM 역할 제작 서비스: VM 역할이 발표된 직후에는 온 프레미스 환경의 Windows Server 2008 R2 기반의 컴퓨터만을 Physical to Virtual (P2V) 도구를 이용하여 VM 역할로 변환이 가능하지만, 새로운 인스턴스의 생성을 관리 도구 수준에서 가능하게 할 예정입니다. 이는 기존의 가상화 기반 클라우드 서비스들이 제공하는 것과 동일한 컨셉입니다.
  • 2011년 중에 VM 역할로 사용할 수 있는 서버 운영 체제로 Windows Server 2003과 Windows Server 2008 SP2가 추가될 것입니다. 발표 직후에는 Windows Server 2008 R2에만 한정됩니다.
  • Java 개발자를 위한 지원 향상: 현재와 같이 Visual Studio - 또는 - Visual Web Developer에 JRE나 JDK를 같이 배포하는 방식이 아닌, Java를 직접 Windows Azure 개발 환경에 사용할 수 있도록 Eclipse용 개발 도구와 라이브러리가 향상될 것이며, 2011년 중에 이에 대한 새로운 내용이 발표될 것입니다. 이로서 Windows Azure를 이용하는 사업자는 .NET 이외에도 Java를 프로그래밍 언어로 직접 선택할 수 있습니다. Microsoft는 이러한 전략에 대하여, Java를 Windows Azure의 First Citizen으로 향상시키는 것으로 표현하고 있습니다.

출처: http://blogs.msdn.com/b/windowsazure/archive/2010/10/28/you-spoke-we-listened-and-responded.aspx

저작자 표시 비영리 동일 조건 변경 허락
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Windows Azure MVP 남정현 (rkttu.com)
출처: http://blogs.msdn.com/b/jmeier/archive/2010/10/31/windows-azure-code-samples-collection.aspx

Windows Azure 코드 샘플을 한 곳에 모아서 찾아보기 쉽게 만든 블로그 아티클이 있어서 올려봅니다. Windows Azure 실전 예제에 관심있으신 분들께 도움이 되셨으면 합니다. :-)

예제 응용프로그램

아키텍처 및 디자인 예제

  • 코드 갤러리
    • 동적 스케일링 샘플 - 처리량에 대응하여 동적으로 인스턴스의 수가 늘어나고 줄어드는 것을 보여주는 다중 역할 샘플입니다: http://code.msdn.microsoft.com/azurescale
  • 본사 DPE 부서에서 작성한 예제
    • Project Riviera - 동적 스케일링 샘플에서 더 확장된 예제로, 윈도 애저 스토리지, Windows Workflow, 액티브 디렉터리 페더레이션 서비스, Patterns & Practices Enterprise Library 캐싱 및 로깅 응용프로그램 블럭, 윈도 라이브 ID 인증 등 엔터프라이즈 및 아키텍처에서 등장하는 기술들이 골고루 사용된 고급 샘플입니다: http://code.msdn.microsoft.com/riviera
  • Patterns & Practice - Windows Azure Platform을 위한 아티클이 새로 업데이트되고 있는 중입니다.

클레임 / 아이덴티티 예제

환경 설정

데이터 액세스 및 스토리지 예제

응용프로그램 배포

일반적인 내용들

로깅 및 운영 전략

기존 응용프로그램을 클라우드로 마이그레이션
서비스 버스 (AppFabric)
서비스 관리 API
SQL 애저
WCF (Windows Communication Foundation)
윈도 애저 스토리지
저작자 표시 비영리 동일 조건 변경 허락
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Windows Azure MVP 남정현 (rkttu.com)

커뮤니티 뉴스 레터를 구독하다가 우연히 발견한 좋은 리소스 소개 페이지가 있어서 한글로 간단히 번역하여 블로그 아티클로 올려봅니다. Client App Dev MVP이신 Anoop Madhusudana님의 블로그로부터 발췌하여 인용한 것임을 밝혀둡니다. (http://amazedsaint.blogspot.com/2010/09/7-freely-available-e-booksguides-i.html)

Foundations Of Programming
다운로드 링크: http://codebetter.com/media/p/179694.aspx

이 e-Book은 단순 명료하면서도 이해하기 쉽게 구성되어있습니다. 특히, 프로그래밍에 첫발을 막 내딛은 - 혹은 - 아직 숙련되지 않은 개발자들에게 더 좋은 코드와 설계력을 부여할 수 있도록 도움을 줄 것입니다. 이 블로그를 운영하시는 MVP 분의 마음에 아주 쏙 드는 책이라는 인상깊은 설명도 덧붙여져있습니다. :-)

Microsoft Application Architecture Guide, 2nd Edition
다운로드 링크: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=ce40e4e1-9838-4c89-a197-a373b2a60df2&displaylang=en

Microsoft에 의하여 작성된 e-Book이며, .NET Framework를 사용하는 개발자 - 또는 - 설계자들이 반드시 읽어보아야할 내용들로 구성되어있습니다. 이 도서를 통하여, Microsoft .NET 기반 소프트웨어 개발 환경에서, 디자인 기본 원칙이나 패턴을 성공적으로 개발하고 적용할 수 있도록 할 수 있습니다. 또한, .NET 기반에서 개발하는 동안 흔히 부딪힐 수 있는 문제점들에 대해 최적의 해결 방안을 언급하고 있으므로 엔터프라이즈 기반의 .NET 개발 환경에서 특히 유용합니다.

Rob Miles C# Yellow Book 2010
http://www.csharpcourse.com/

C#과 .NET의 컨셉을 쉽고 빠르게 이해할 수 있도록 도와줍니다. 이 e-Book을 통하여 최상의 구현 방법을 학습하고 패턴과 컨셉을 빠르게 습득하실 수 있습니다.

Threading in C#
http://www.albahari.com/threading/

제 블로그에서, 그리고 SQL Azure와 LINQ 세미나를 진행하는 동안에 자주 언급했던 무료 개발 도구인 LINQpad의 제작자이자 Microsoft MVP인 Joe Albahari님의 리소스입니다. 복잡하고 까다로울 수 있는 주제인 멀티 스레딩에 대해 알기 쉽게 쓴 책으로, 스레드에 대한 다양한 컨셉, 예를 들어 스레드 풀링이나 동기화, Non-blocking 동기화 등 다양한 주제들을 다룹니다. 그리고 특별히 요즈음 .NET Framework 4.0에서 강조되는 병렬 프로그래밍에 대한 이야기도 같이 소개하고 있습니다. e-Book으로도 다운로드 가능합니다.

Improving .NET Application Performance and Scalability
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=8A2E454D-F30E-4E72-B531-75384A0F1C47

이번에도 역시 Microsoft의 e-Book입니다. 여러분의 응용프로그램에서 발생할 수 있는 다양한 성능 상의 문제를 점검하고 해결할 수 있도록 도움을 주는 최상의 리소스로, 설계자, 개발자, 테스터, 관리자에 이르는 다양한 범위를 포괄합니다. e-Book의 후반에 수록된 부록에는 체크리스트가 있으므로, 체크리스트만을 따로 인쇄하고 책상 옆에 놓아두면 여러분의 응용프로그램을 스스로 점검해볼 때 매우 유용할 것입니다.

Applying Design Patterns
http://amazedsaint.blogspot.com/2009/06/software-design-patterns-for-everyone.html

디자인 패턴을 활용해보고 싶지만 어렵게 느껴지시나요? 그렇다면 이 리소스를 활용해보시면 좋을것 같습니다. 이 리소스에서는 디자인 패턴을 닷넷 개발 환경에서 어떻게하면 좀 더 쉽게 적용할 수 있을지 자세한 내용을 단계별로 소개하고 있습니다. 역시 e-Book으로도 다운로드 가능합니다.

RefCardz from DZone: Getting started with WCF 4.0
http://refcardz.dzone.com/refcardz/getting-started-windows-0

RefCardz from DZone: Getting started with Silverlight + Expression Blend
http://refcardz.dzone.com/refcardz/getting-started-silverlight

RefCardz from DZone: Essential F#
http://refcardz.dzone.com/refcardz/essential-f

위의 세 리소스는 e-Book은 아니지만 책상 옆에 놓고 쓸 수 있는 단어장 카드의 형태로 구성된 리소스입니다. 위 사이트에서 회원 가입을 하고 파일을 다운로드받아 카드로 오려서 바인더 링 등으로 매달아두면 생각날 때 마다 찾아볼 수 있는 여러분만의 리소스가 될 것입니다. 위에서 소개한 세 가지 카드 말고도 다른 카드들이 더 있으니 사이트 이곳저곳을 둘러 보시길 권합니다.

저작자 표시 비영리 동일 조건 변경 허락
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Windows Azure MVP 남정현 (rkttu.com)

MSDN 온라인 버전 2.0에서 개인적으로 많이 활용하는 팁이 한 가지 있는데 이 팁을 이용하면 컴퓨터에 .NET Framework SDK 2.0이나 MSDN Express Edition을 힘들게 설치하지 않아도 언제 어디서나 다양한 언어 버전의 MSDN Library를 만날 수 있습니다. 지금 이야기하는 것은 .NET Framework 레퍼런스에만 해당됩니다.

  • http://msdn.microsoft.com/지역코드/네임스페이스.aspx
  • http://msdn.microsoft.com/지역코드/네임스페이스.클래스이름.aspx
  • http://msdn.microsoft.com/지역코드/네임스페이스.클래스이름_members.aspx

지역 코드는 ko-kr, en-us와 같이 표기할 수 있으며 이 설정에 따라서 언어를 선택할 수 있습니다. 한글 MSDN를 보시려면 ko-kr을 지정하시면 됩니다. 만약, 문서의 내용 자체가 특정 언어로 기술되어있을 경우 문서 내용은 해당 언어 그대로 출력되고, 인터페이스 요소 (메뉴, 문맥)만 선택한 언어로 나타나게 됩니다.

네임스페이스와 클래스 이름은 모두 소문자로 표기하는 것을 원칙으로 합니다. 가령 System.Windows.Forms 네임스페이스의 한글 도움말을 찾으려면 아래와 같이 합니다.

http://msdn.microsoft.com/ko-kr/system.windows.forms.aspx

그리고 Form 클래스의 기본 정보를 보려면 아래와 같이 합니다.

http://msdn.microsoft.com/ko-kr/system.windows.forms.form.aspx

만약 Form의 멤버들 (필드, 메서드, 이벤트, 프로퍼티, 상수 등)을 보려면 아래와 같이 클래스 이름 뒤에 _members 접미어를 붙여서 URL을 만들면 됩니다.

http://msdn.microsoft.com/ko-kr/system.windows.forms.form_members.aspx

2009년 9월 28일 업데이트: 만약 닷넷 프레임워크별로 버전을 선택적으로 확인하고자 하신다면 아래와 같은 버전 예약어를 사용하여 직접 확인하는 것도 가능하니 참고하시기 바랍니다. (devia님 정보 감사합니다. ^^)

  • VS.71: Visual Studio 2003 (내부 버전 7.1, Codename: Everett) + .NET Framework 1.1에 대응되는 문서로 내용 보기
  • VS.80: Visual Studio 2005 (내부 버전 8.0, Codename: Whidbey) + .NET Framework 2.0에 대응되는 문서로 내용 보기
  • VS.85: Visual Studio 2005 (내부 버전 8.0, Codename: Whidbey) + .NET Framework 3.0 (Codename: WinFX)에 대응되는 문서로 내용 보기
  • VS.90: Visual Studio 2008 (내부 버전 9.0, Codename: Orcas) + .NET Framework 3.5에 대응되는 문서로 내용 보기
  • VS.95: Visual Studio 2008 (내부 버전 9.0, Codename: Orcas) + Silverlight v2.0 / v3.0에 대응되는 문서로 내용 보기 (실버라이트 개발 환경에 해당)
  • VS.100: Visual Studio 2010 (내부 버전 10.0, Codename: Hawaii / DEV10) + .NET Framework 4.0에 대응되는 문서로 내용 보기

사용 방법 1 - Silverlight 도움말 중 한국어 UI를 사용하고, 한국어로 번역된 문서를 기본으로 하여 System.Windows 네임스페이스의 문서 내용을 살펴 봅니다: http://msdn.microsoft.com/ko-kr/system.windows(VS.95).aspx

사용 방법 2 - Silverlight 도움말 중 한국어 UI를 사용하고, 영어로 번역된 문서를 기본으로 하여 System.Windows 네임스페이스의 문서 내용을 살펴봅니다.: http://msdn.microsoft.com/ko-kr/system.windows(en-us,VS.95).aspx

크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Windows Azure MVP 남정현 (rkttu.com)

이미 여러 블로그 아티클로도 잘 다뤄진 내용이지만 몇 가지 부수적인 내용을 덧붙여서 ActiveX 패키징 및 배포에 관한 내용을 총 정리해보았습니다. 실무에서는 아직도 ActiveX 컨트롤에 관한 유지보수를 틈틈이 수행할 필요가 있다보니 이런 문서를 작성하게 되는 것 같습니다. :-)

1. INF 파일에 대한 이해

INF 파일은 ActiveX 패키지 배포 시 내장되는 설치 정보 파일로 보통 배포되는 CAB 파일의 이름과 동일하게 맞추어서 배포합니다. 예를 들어 MyControl.cab을 배포한다면 MyControl.inf 파일을 내장하고 있어야 하는 것입니다.

그리고 INF 파일의 문법적인 구조에 대한 상세한 설명이 없어서 상당히 답답한 때가 많습니다만 간략하게 두 가지 사례를 짚어서 설명해보도록 하겠습니다.

a. Hooking 없이 설치하는 경우

Hooking이란 설치 도중에 별도의 외부 프로세스를 이용하여 설치 자체를 자동화하거나 설치 전/후 과정을 제어하기 위한 일종의 옵션 기능입니다. ActiveX에 수많은 보안 결함이 존재하지만 디자인적으로 보았을 때에도 충분히 문제가 드러납니다. 대부분 간단한 유형의 ActiveX 컨트롤은 Hooking 기능 없이 배포가 되는 편입니다. 다음의 샘플 INF 코드를 살펴보기로 합니다.

더보기

흔히 볼 수 있는 형태의 INF 파일입니다. 제일 상단에 있는 것이 INF 파일의 형식에 관한 기본 정보이고 Windows 95 이후로부터는 대체로 Advanced INF 2.0 규격을 따르는 것 같네요. (시그니처에 Windows 95의 코드 네임인 Chicago가 적혀있는 것으로 보았을 때도 그러합니다.)

하단의 [Add.Code] 섹션에서는 이 CAB 파일을 통해서 배포될 파일들을 기술합니다. 편의 상 파일 이름과 엔트리 이름을 일치시켜두는 것도 좋습니다. 그리고 각각의 파일명으로 기술된 섹션이 해당 파일을 어떤 식으로 복사되고 관리되어야 하는지를 서술하는 부분으로 이후에 설치 제거를 할 때 근거 정보가 됩니다.

각 섹션 별로 file-win32-x86 이라는 엔트리 명이 보이는데 파일의 플랫폼과 대상 아키텍처를 지정하는 부분입니다. 옛날 (NT 시절)에는 Alpha나 MIPS 계열 프로세서를 위하여, 요즈음에는 x64 (AMD64) 프로세서를 위하여 이 부분이 달리 할당될 수도 있을 것입니다. 그리고 thiscab 이라는 값은 이 CAB 파일 내에 파일이 있음을 뜻하는 부분입니다.

DestDir 엔트리는 이 파일이 어느 위치로 복사되어야 하는지를 나타내는 부분으로 많은 옵션이 있을것 처럼 보이지만 실제로 알려진 것은 세 종류인듯 합니다. 값을 10으로 지정하면 %windir% 경로 (흔히 C:\Windows)에, 11로 지정하면 %windir%\system32 (Windows 9x 계열 운영체제에서는 %windir%\system)에, 비워두면 OCCACHE 디렉터리 (%windir%\Downloaded Program Files)에 복사됩니다.

그리고 이제 OCX 파일 섹션의 내용을 살펴보기로 합니다. OCX 파일의 내용에서 꼭 확인해야 할 것은 RegisterServer=yes 항목과 Version 항목, 그리고 clsid 항목입니다. Version은 OCX 파일을 빌드할 때 추가되는 Win32 리소스의 버전 테이블 정보와 일치할 필요가 있으며, clsid 항목은 실제로 브라우저에서 인스턴스화되어 실행되어야 하는 COCLASS의 CLSID와 일치해야 합니다.

b. Hooking의 경우

더보기

ActiveX를 이용하여 대리 설치 프로그램을 기동시키기 위하여 위와 같이 작성할 수도 있지만, 컴포넌트별로 Hook을 다르게 지정할 수도 있으니 참고하시기 바랍니다. Hook을 실행하기 위하여 %EXTRACT_DIR% 라는 지역 환경 변수를 지정한 것을 볼 수 있고 프로그램 매개 변수까지 지정이 가능한 것을 보실 수 있습니다.

Hook에서 지정한 프로그램의 경우 주의 사항이 한 가지 있다면, 프로그램의 실행 종료 코드가 0으로 끝날 필요가 있다는 것입니다. 그렇지 않으면 설치가 중간에 실패한 것으로 인지되어 브라우저에는 아무것도 표시되지 않는다고 합니다. 이를 미리 확인해보려면 패키징 하기 전에 Hook을 통해서 구동하려는 프로그램을 똑같이 명령 프롬프트에서 아래와 같이 실행하면 알 수 있습니다.

START /WAIT "실행할 프로그램 및 매개 변수들"
ECHO %ERRORLEVEL%

%ERRORLEVEL% 환경 변수의 값이 0이 아닌 것으로 나타나면 Hook 프로그램으로는 사용할 수 없을 것입니다.

2. PVK 파일과 SPC 인증서 파일을 PFX 파일로 변환하기

SIGNCODE 도구에서 SIGNTOOL 도구로 새롭게 바뀐 이후부터, ActiveX CAB 파일에 서명을 하거나 EXE 파일 위에 서명을 하는 방법이 조금 바뀌었습니다. 바로 PFX 파일을 생성하는 작업이 추가 된 것인데, 기존에 가지고 있는 인증서 파일 형식이 PVK 파일과 SPC 파일 두 가지로 구성된 경우 아래와 같이 변환해야 합니다.

PVK2PFX -PVK "PVK 파일의 경로" -SPC "SPC 파일의 경로" -PFX "PFX 파일을 만들 경로" -PI "기존 인증서의 Password" -F

PVK2PFX 유틸리티는 .NET Framework SDK v2.0 혹은 Windows SDK v6.0 이상을 설치하면 같이 따라오는 유틸리티입니다. 여기서 -PVK 스위치 다음에 PVK 파일의 경로를, -SPC 스위치 다음에 SPC 파일의 경로를 서술해주어야 하고, 그 다음 -PFX 스위치 다음에 새로 만들 PFX 파일의 경로를 서술해야 합니다. 추가적으로 인증서로부터 암호를 해독하고 PFX 파일에 암호를 새로 설정하기 위하여 -PI 스위치 뒤에 인증서 암호를 기술합니다. 기본 동작이 기존 파일이 있을 경우 실패로 처리되는데 편의상 -F 스위치를 지정하여 PFX 파일을 덮어쓰도록 실행합니다.

3. CAB 파일에 서명을 할 때에는 반드시 Spanning Space를 확보할 것

CAB 파일에 서명을 추가하기 위해서는 별도의 Spanning Space를 확보해야 하는데 이를 위해서는 CABARC 유틸리티로 압축해야 합니다. (다른 압축 유틸리티에서는 지원하지 않을 수도 있습니다.)

CABARC -S 6144 N "생성할 CAB 파일의 경로" "파일1" "파일2" ... "파일n"

-S 스위치가 Spanning Space 확보를 지시하는 스위치로 이 뒤에 Magic Constant 값 6144를 지정합니다. 이것이 인증서 크기에 관한 Magic Constant로 문서화된 수치이므로 그대로 사용하면 됩니다. 새로운 파일을 만들어야 하므로 N 스위치를 지정하여 모드를 변경하고, 그 다음에는 CAB 파일이 생성될 경로, 그리고 그 다음부터는 CAB 파일에 포함할 파일들을 하나씩 서술하면 됩니다. 와일드 카드도 지원하므로 편리합니다.

4. 실제로 서명하고 확인하기

SIGNCODE 프로그램보다 기능이 다양하고 정교해진 SIGNTOOL을 이용해서 서명을 하려면 다음의 스위치 설정을 활용합니다.

SIGNTOOL SIGN /F "PFX 파일 경로" /P "PFX 파일 암호" /T "타임스탬프 URL" "대상 파일 1" "대상 파일 2" ... "대상 파일 n"

SIGNTOOL 프로그램을 서명 모드로 실행하기 위하여 SIGN 스위치를 지정하고, /F 스위치에는 2단계에서 만든 PFX 파일, 그리고 /P 스위치에는 2단계에서 지정한 인증서 암호를 입력합니다. /T 스위치 뒤에는 실제로 접속 가능한 타임스탬프 URL을 지정해야 하는데 이는 인증서 발행 업체가 제공하는 고유 URL을 이용하면 됩니다. 마지막으로 대상 파일들을 지정하면 한꺼번에 동일한 인증서로 서명할 수 있습니다.

CAB 파일을 제외한 보통의 EXE, DLL, OCX 등에 직접 서명하는 것은 별도로 빌드할 때 설정해주어야 할 특별 옵션같은것들은 존재하지 않습니다.

좀 더 자세한 내용을 보시려면 아래 Article들도 참고하시면 좋겠습니다.

http://ditongs.egloos.com/1511212
http://littletrue.egloos.com/3968904


크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Windows Azure MVP 남정현 (rkttu.com)

그간 데브피아 C# 포럼 RSS 방송국을 통해서 보실 수 있었던 여러 포스트들을 과연 어떤 분들이 올려주셨는지 오늘은 특별히 이를 소개하는 포스트를 띄웁니다. 여러분께서도 여기에 참여하실 수 있습니다. :-)

한국 Microsoft 에반젤리스트 블로그 (http://blogs.msdn.com/eva/) : 에반젤리스트로 활동하시는 한국 Microsoft 관계자 여러분들의 최신 기술 동향 정보를 접할 수 있는 블로그입니다. 데브피아 RSS 방송국이 아니더라도 이 블로그는 최신 Microsoft 기술에 관하여 관심있으신 분들이라면 꼭 챙겨볼 필요가 있을 것입니다. :-)

MSDN 팝콘 블로그 (http://blogs.msdn.com/popcon) : 물론 에반젤리스트 블로그의 자료들은 훌륭합니다. 그러나, 에반젤리스트 블로그에서 미처 다루어지지 못했던 한국 Microsoft의 이모저모를 살펴볼 수 있는 또 다른 블로그가 바로 MSDN 팝콘 블로그입니다. 대학생 여러분들께서 누구나 관심있어 하실 전 세계적인 컴퓨터 관련 경진 대회인 Imagine Cup의 실황, Microsoft Student Partners 관련 모집 공고, 최신 제품들 (예: Internet Explorer 8)의 비디오 캐스트 동영상, 그리고 요즈음 큰 세미나들을 통해서 자주 접하실 수 있는 "Winkey와 꼬알라의 Windows 7 만담"까지 재미있는 컨텐츠들이 많습니다. :-)

mvpmagazine.net (http://www.mvpmagazine.net) : ASP 3.0 시절부터 지속적으로 ASP, ASP.NET에 관한 전문 도서를 저술하거나 외국 서적들을 번역 출간해오셨던 장현희 MVP님께서 운영하시는 블로그입니다. ASP.NET에 관한 최신 기술 동향을 살펴보고 싶으시다면 꼭 참고해야 할 블로그입니다. 참고로, 그간 집필하셨던 도서들도 살펴보시어 필요하신 책을 장만하실 것을 강력히 추천합니다. :-) http://www.aladdin.co.kr/search/wsearchresult.aspx?AuthorSearch=%c0%e5%c7%f6%c8%f1@83203&BranchType=1

Small Box (http://zmeun.tistory.com) : 생각하는 C#, LINQ를 출간하셨고, 다방면의 닷넷 프로그래밍 기술을 전문적으로 블로그에 강좌를 올려주시는 천호민 MVP님께서 운영하시는 블로그입니다. 최근 기술에 대한 동향을 살펴보기 위함이라면 역시 놓치지 말아야 할 블로그입니다. :-)

UMC BLOG (http://blog.powerumc.kr) : Visual Studio 2010 팀 스터디를 진행하시면서 올 연말에 출시될 Visual Studio 2010 및 .NET Framework 4.0에 대한 정보를 다양한 채널을 통하여 바쁘게 알려주시는 엄준일 MVP님의 블로그입니다. 데브피아 C# 포럼 마을에도 Visual Studio 2005/2008에 대한 전문적인 강좌를 올려주시는 고마운 분입니다. 참고로 팀 스터디 블로그는 "Visual Studio Team System 2010 공식 팀 블로그" 이며 주소는 http://vsts2010.net 입니다. :-)

ZZANGMYON BLOG♡ (http://www.zzangmyon.com) : Microsoft Expression MVP이며, 훈스닷넷에서 Expression 시삽을 맡고 계시는 장미연 MVP 님의 블로그입니다. Expression, Windows Presentation Foundation (WPF), Silverlight에 대한 다양한 정보를 제공하는 블로그입니다. 훈스닷넷 Expression/WPF/Silverlight 스터디, 세미나에 함께하신다면 더욱 좋겠죠? :-)

서진호의 윈도우 7 이야기 (http://windows7.textcube.com) : Windows Mobile, Windows Embedded, Windows 7 등 최신 Windows 운영 체제들에 관한 소식을 재빠르게 전해주시는 한국 Microsoft의 서진호 차장님의 Windows 7 블로그입니다. Windows 7 만담과 함께 둘러보시면 좋은 정보들을 많이 가지고 가실 수 있을 것입니다. :-)

데브피아 RSS 방송국은 이와 같이 닷넷 기술 및 UX 기술의 필두에 서 계신 분들의 블로그를 재빠르게 전달해 드리고 있습니다. 데브피아 RSS 방속국의 피드를 구독하시려면 아래의 링크를 클릭하시면 됩니다. :-)

RSS 피드 주소: http://feeds2.feedburner.com/devpia-csharp-rss
메일로 받아보기: http://feedburner.google.com/fb/a/mailverify?uri=devpia-csharp-rss

데브피아 C# 포럼 RSS 방송국에 블로그를 등록하고자 하시는 분들도 언제든 환영합니다. 데브피아 ID rkttu2002로 블로그 RSS 피드 주소와 함께 간단한 소개를 적어주시면 검토 후 등록하도록 하겠습니다. 감사합니다. :-)

크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Windows Azure MVP 남정현 (rkttu.com)

Mono 1.1.x 빌드에서 C# 2.0 문법을 사용하기 위해서는 "반드시" 참고하셔야 합니다. mcs 컴파일러는 C# 1.x 문법을 다루는 컴파일러입니다. 당연히 아래의 세 강좌를 mcs 컴파일러로 구동하려고 한다면 오류를 만납니다. gmcs 컴파일러를 사용하여 컴파일하셔야 합니다.

Mono 1.1.x 빌드는 Microsoft .NET Framework 2.x와 마찬가지로 ASP .NET 2.0을 지원합니다. ASP .NET 2.0에 관한 간단한 기능 시험을 해보시려면 우선 XSP 웹 서버로 테스트해보시길 권장하고 싶습니다. ASP .NET 1.x 만을 지원하는 웹 서버는 xsp 이며, ASP .NET 2.0까지 지원하는 웹 서버는 xsp2 입니다.

최신 기술에 대한 개념 이해는 Visual Studio 2005를 활용해보시는 것이 좋을 것이라 권장하고 싶습니다. Visual Studio 2005의 무료 버전인 Express Edition 버전이 MSDN에서 배포중이니 Windows 플랫폼에서 한번 사용해 보십시오. 인터넷을 통하여 다운로드하므로 프록시에 대한 설정이 필요할 수 있고 시간이 오래 걸릴 수 있습니다. 전화 접속 모뎀에서는 권장하지 않습니다.

Visual Studio 2005 Express Edition 다운로드 페이지

http://msdn.microsoft.com/express/

좋은 하루 되십시오. ^^

크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Windows Azure MVP 남정현 (rkttu.com)