Hello .NET Framework 4 세미나 Part 2 발표 자료 및 샘플 소스 코드 올립니다. Part 1 및 Part 3에 대한 발표 자료 - 또는 - 샘플 소스 코드는 이번 주중에 모두 공개가 완료될 예정입니다. :-)

세미나 참가 신청 바로가기: http://www.devpia.com/MAEUL/Contents/Detail.aspx?BoardID=324&MAEULNo=28&no=1260

세미나 참가 신청 바로가기: http://www.devpia.com/MAEUL/Contents/Detail.aspx?BoardID=324&MAEULNo=28&no=1260

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

많은 Windows Azure Application 개발자들의 피드백을 수용한 최신 버전의 Windows Azure Tools for Visual Studio와 Windows Azure SDK가 새롭게 출시되었습니다. 이제 비로소 Visual Studio 2010의 모든 기능을 Windows Azure 개발에도 직접 활용할 수 있게 되었습니다.

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을 통해 클라우드 기반 응용프로그램 개발을 시작해보세요. 참고로 Visual Studio 2010의 데이터베이스 탐색기는 SQL Azure 데이터베이스에 대한 탐색도 지원하므로 이전처럼 별도의 SSMSE를 필요로 하지 않습니다. 그리고 이번 버전의 SDK 역시 1.0과 1.1과 마찬 가지로 처음 설치하는 경우에는 OS와 개발 도구의 환경에 따라 패치와 핫 픽스들을 적용하셔야 합니다.

다운로드 바로가기

 

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

두 번째 닷넷 개발자 컨퍼런스 행사가 열립니다. 닷넷 기술 개발자 여러분들의 많은 관심과 참석을 부탁드립니다. 특히, Microsoft의 최신 웹 기술 및 Rich Internet Application 기술에 관심이 있으신 개발자 및 디자이너 여러분들께서는 이 행사에 꼭 참석하셔서 좋은 정보를 얻어가시면 좋겠습니다.

더불어서 닷넷 애플리케이션 경진 대회가 같이 열리니 닷넷 기반 응용프로그램 개발에 관심이 있으신 학생 개발자 여러분들의 많은 참여도 있었으면 좋겠습니다. 행사 등록을 하시려면 http://www.devddc.net/default.aspx?ref=hsem 에 방문하시면 되겠습니다.

devddc

devddc
devddc
경품 경품 경품 경품 경품
devddc
devddc
devddc
devddc

저작자 표시 비영리 동일 조건 변경 허락
이 장소를 Daum지도에서 확인해보세요.
서울특별시 강남구 논현2동 | 건설회관
도움말 Daum 지도
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Windows Azure MVP 남정현 (rkttu.com)

Microsoft .NET이 처음 소개되어 전세계적으로 널리 사용되어지기 시작한지 어느덧 10년에 가까워져 가고 있습니다. 차세대 .NET 기술이 일정한 주기마다 한번씩 새롭게 리뉴얼이 되고 발표되고 있습니다만 이번에는 다른 때보다 더욱 특별한 의미를 가지게 되는 것 같습니다.

 

금번 국내에서 열리는 Microsoft Techday 행사는 Windows 7, Windows Server 2008 R2를 중심으로, 조만간 발표될 .NET Framework 4.0, Visual Studio 2010, Exchange Server 2010, Expression Series 3와 같은 새로운 제품과 기술들을 살펴볼 수 있음은 물론, Microsoft가 생각하는, .NET 기술을 통한 차세대 컴퓨팅 기술의 전망이 무엇인지를 잘 보여주는 그런 행사가 될 것입니다.

 

Techday 행사는 크게 두 트랙으로 구분되며, 개발자들을 위한 트랙과 IT 전문가들을 위한 트랙으로 구성되어있습니다. 전체 행사는 온라인 세미나의 형태로 진행이 되며, 국내에서 활동하시는 MVP 분들과 에반젤리스트 분들의 세션을 들으실 수 있습니다. 그리고 개인적으로는 키노트의 내용이 상당히 흥미로운 점이 많은것 같습니다. :-)

 

다음의 URL을 통하여 Agenda를 살펴보고 여러분께서 원하시는 세션을 선택하시면 됩니다.

 

http://techdays.co.kr/Sessions/

 

최신 트렌드나 기술에 대해서 정보를 빠르고 정확하게 구할 수 있는 자리는 그렇게 흔하지 않을 것입니다. 이번 Techday 행사를 통하여 Microsoft의 기술 비전을 공유하고, 체험할 수 있는 기회를 꼭 마련하시기 바랍니다.


 

컴퓨팅 플랫폼의 획기적인 변화는 기업의 데이터 센터에서 우리 가정의 PC와 웹 브라우저,
그리고 내 손 안의 디바이스 단말까지 모든 일상을 바꾸고 있습니다. 또한 불확실한 미래와 비용 절감의 압박은
비즈니스에서 IT의 역할을 더욱 강화시키고 있습니다.

마이크로소프트는 10월 말 출시 예정인 새로운 운영 체제 Windows 7을 비롯하여
Visual Studio 2010, Expression 3, Windows Server 2008 R2, Exchange 2010을 비롯한 다양하고 우수한 기술로
개발자와 IT 전문가들의 새로운 시대를 열어드리고자 합니다.

클라이언트부터 웹, 모바일, 서버 그리고 클라우드까지 최신 플랫폼과 기술 트렌드를 한 자리에서 만나볼 수 있는
국내 최대 온라인 컨퍼런스 TechDays 2009에서 주요 기술 흐름을 점검하시기 바랍니다.

감사합니다.

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

C#을 제 포트폴리오상의 주력 프로그래밍 언어로 삼은지 벌써 수 년이 지났고 어느덧 C#의 네 번째 버전이 베일을 벗고 있습니다. C#을 처음 접할 때만 하더라도 Cava 라는 웃지 못할 별명 (C + Java)이 꼬리표처럼 따라 다녔지만 이제는 C#은 Java와 다르다는 것을 증명해 나가고 있고 C# 3.0 이후로는 더 이상 Cava라는 이름이 따라다니는 불행이 없다는 것이 참 좋았습니다. :-)

이번 C# 4.0에서는, 제가 이전에 C# 3.0에서 우려했던 var 키워드의 모습을 실제로 구현하는 dynamic 키워드가 등장합니다. var 키워드가 컴파일 타임에서의 유추에 의존하는 것이면 dynamic 키워드는 예전의 Variant 키워드를 연상하게 하는 내용입니다. 하지만 예전에 스크립트 프로그래밍을 구현하던 때와는 중요한 차이점이 있는데, 바로 Reflection의 유무입니다.

Reflection이 없었을 때의 Duck Typing은 사치의 절정이었습니다. 메모리 소모량도 크고 불안정하기까지 했으니까요. 하지만 .NET Framework가 제시하는 Duck Typing은 개념이 많이 다른데, 그 기반에는 Reflection과 DLR (Dynamic Language Runtime)이 저변에 있습니다.

DLR은 이미 Iron 시리즈 (IronPython, IronRuby 등)에서 핵심 엔진으로 채택하여 사용 중인 Microsoft의 스크립트 언어용 런타임입니다. C# 4.0은 DLR에 대한 호환성을 높일 목적으로 dynamic 키워드를 이들 스크립트 언어에서 사용하는 것과 같은 의도로 사용할 수 있게 해줍니다. 다음의 예를 보기로 하겠습니다.

dynamic calc = GetCalculator();
int sum = calc.Add(10, 20);

단정을 하고 본다면 위의 코드에서 calc는 object 형식과 다르지 않으며, 컴파일러 수준에서 Reflection으로 Add 메서드를 찾아내고 동적 파라미터로 10과 20을 배열로 구성하여 호출한 결과를 다시 가져온 것입니다. 하지만 언어의 확장과 DLR이 미리 제공하는 인터페이스인 IDynamicObject 인터페이스를 구현하여 목적에 맞고 좀 더 빠르게 동작하도록 확장할 수 있습니다.

object calc = GetCalculator();
Type calcType = calc.GetType();
object res = calcType.InvokeMember("Add", BindingFlags.InvokeMethod, null, new object[] { 10, 20 });
int sum = Convert.ToInt32(res);

특히 주목해야 할 것은 IDynamicObject 인터페이스를 이용하여 기존의 COM Interop 프로그래밍은 형 변환 작업 없이, 오버헤드 없이 손쉽게 프로그래밍을 할 수 있게 됩니다. C# 이야기는 아니지만 이러한 수혜를 바탕으로 Visual Basic .NET의 차기 버전도 더욱 향상된 Lazy-Binding 프로그래밍 기술을 가지게 될 것으로 봅니다.

요약하면, 이번 C# 4.0은 동적 프로그래밍 언어로서의 면모를 갖추는 본격적인 단계로 정의내릴 수 있습니다. 다음 Article에서는 C# 4.0이 가지는 또 다른 파격적인 변화 하나를 소개하겠습니다.

참고: http://blogs.msdn.com/bkchung/archive/2008/11/09/c-4-0-2008-10-ctp.aspx

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