MSDN 기술자료
현장의 실무 전문가들 및 Microsoft 전문가들이 쓴 최신 정보 기사를 보실 수 있습니다.
- CardSpace, SqlMembershipProvider 및 추가 정보
이번 달 기사에서는 독자들에게서 자주 받는 몇 가지 질문에 대해 답하는 데 시간을 할애하겠습니다. 여기에서는 정보 카드, ASP.NET 2.0의 SqlMembershipProvider 및 액세스 제어 GUI에 대해 살펴보겠습니다.
- 컨트롤 어댑터
컨트롤 어댑터 아키텍처를 소개하고 사용자 에이전트 문자열에 따라 컨트롤 렌더링을 완전히 변경하는 방법을 소개합니다. 그 다음 CSS Control Adapter Toolkit에 대해 설명하고 이 기능을 현재의 사이트에 통합하는 방법을 살펴볼 것입니다.
- ASP.NET "Atlas"를 사용한 작업 진행률 표시줄 구현 간소화
이전 Cutting Edge 기사에서 설명했던 모든 예를 Atlas를 사용하여 다시 작성할 것입니다. 훨씬 단순하고 깔끔한 방법으로 정적 및 상황에 맞는 진행률 표시줄을 구현하는 방법을 확인할 수 있을 것입니다.
- Windows 워크플로 및 웹 서비스를 사용한 분산 비즈니스 프로세스 배포
먼저 Windows Workflow Foundation의 선언적 모델링 기술에 대해 검토할 것입니다. 그런 다음 웹 서비스에 대해 검토하고 Windows Workflow Foundation을 사용하여 비즈니스 프로세스를 구현하는 방법과 웹 서비스로 워크플로를 공개하는 방법을 살펴볼 것입니다. 마지막으로 워크플로로 모델링되고 웹 서비스에서 호스팅되는 비용 보고서 예를 살펴보겠습니다. 기사의 말미에 가면 선언적으로 모델링된 워크플로를 사용하여 비즈니스 프로세스를 웹 서비스로 공개하는 방법에 대해 충분히 이해할 수 있을 것입니다.
- Windows Presentation Foundation으로 최상의 사용자 인터페이스 빌드
Windows Presentation Foundation 응용 프로그램 모델은 독립 실행형 응용 프로그램과 브라우저 응용 프로그램이라는 두 가지 응용 프로그램 유형을 구분합니다. 독립 실행형 응용 프로그램에서는 해당 응용 프로그램의 창과 대화 상자, 메시지 상자를 통해 콘텐츠를 표시합니다. 이에 반해 브라우저 응용 프로그램은 브라우저에서 호스팅되는 고유의 페이지로 구성됩니다.
- 단방향 호출, 콜백 및 이벤트에 대해 알아야 할 점
먼저 Windows Communication Foundation 작업 호출 방법 및 관련 디자인 지침을 제시한 다음, 이벤트를 게시하고 구독하기 위한 사용자 지정 프레임워크의 구성 요소로 이러한 작업 형식을 사용하는 방법에 대해 설명합니다. 이 과정에서 다양한 고급 Microsoft® .NET Framework 및 Windows Communication Foundation 프로그래밍 기법을 소개합니다
- 웹 응용 프로그램에서 보다 효율적인 ASP.NET 파일 다운로드 구축
사용자에게 보다 빠르고 오류 없는 다운로드 환경을 제공할 수 있도록 이러한 문제에 대한 몇 가지 해결책을 제시합니다. 또한 동적으로 생성된 링크에 대해 알아보고, 기본 파일 동작을 우회하는 방법을 설명하며, HTTP 1.1 기능을 사용하는 다시 시작 가능한 ASP.NET 기반 다운로드를 보여 줄 것입니다.
- ASP.NET 2.0의 비동기 페이지
순수하게 ASP.NET 2.0의 관점에서 진행 중인 작업의 모니터링에 대해 알아봅니다. 브라우저 간에 호환 가능하며 일반적인 상황을 처리할 수 있는 서로 다른 솔루션에 대해 설명하고 추가 프레임워크나 라이브러리는 사용하지 않고 ASP.NET 2.0에서 제공되는 리소스만 사용할 것입니다. 그리고 다음 칼럼에서는 진행률 표시줄을 작성할 때 Microsoft ASP.NET "Atlas"를 사용하는 방법과 몇 가지 기본 제공 기능을 활용하는 방법을 설명합니다.
- Windows Vista의 트랜잭션, 에어로 마법사, 그리고 작업 대화상자
개발자에게 제공되는 새로운 서비스 중에서 가장 신나는 것들 중 하나로 커널 트랜잭션 관리자(KTM) 을 꼽을 수 있습니다. 이는 로컬 트랜잭션 관리자의 역할을 하는 동시에 분산된 로컬 트랜잭션을 위한 자원 관리자 역할 도 합니다. KTM은 단일 컴퓨터에 작동 하는 다중의 트랜잭션 관리자라는 새로운 개념을 제공 합니다. 이는 복수의 트랜잭션과 이와 관련된 리소스 관리자를 함께 관리 하게 됩니다. KTM의 기능에 대해 좀더 자세히 들여다 보기 전에 트랜잭션과 리소스 관리자의 용도에 대해 간단히 복습 해보겠습니다.
- ASP.NET Atlas를 활용한 AJAX 방식의 사이트 개발
2005년 9월, ASP.NET 팀은 "Atlas"라는 코드명의 ASP.NET에 도입된 새 기능에 대한 첫 CTP(Community Technology Preview) 버전을 발표했습니다. Microsoft .NET Framework 2.0에 적용되는 이 확장 기능을 사용하여 개발자는 브라우저와 서버의 기능을 모두 활용하여 풍부한 기능의 대화형 웹 사이트를 보다 쉽게 만들 수 있습니다.
- Extreme ASP.NET: 비동기 웹 파트
ASP.NET 2.0에는 비동기 웹 서비스 호출 및 비동기 데이터베이스 액세스를 조합한 비동기 페이지 모델이 도입되어 여러 독립적인 웹 파트가 병렬로 데이터를 수집하는 방법으로 포털 페이지의 응답 시간을 크게 향상시켜 줍니다. 여기에서는 비동기적으로 데이터 검색을 수행하여 이를 포함하고 있는 포털 페이지의 응답성 및 확장성을 향상시켜 주는 웹 파트를 만드는 기법을 살펴보겠습니다.
- Managed Code in Visual Studio 2005
많은 분들이 현재 Visual Studio® 2005로 업그레이드 중일 것으로 생각 됩니다. 그래서 지금 이야 말로 새 컴파일러와 저의 경험담에 대한 글을 쓰기에 좋은 시기인 것으로 생각 되어 이 기사를 쓰게 되었습니다.
- Windows Vista 전역화 기능
Windows XP와 Microsoft .NET Framework에는 모두 전역화를 지원하는 API가 있습니다. Windows Vista에서는 새로운 기능의 도입으로 전역화 지원이 더욱 확장됩니다. Windows Vista에 관심이 있다면 .NET Framework의 culture와 Windows Vista의 로캘이 서로 어떻게 다르고, 관리되는 인코딩과 Windows 기반 코드 페이지의 차이점은 무엇이며, 관리되는 코드에서 사용할 수 없는 IDN(다국어 도메인 이름) 위험 완화 기능이 Windows Vista에 있는 이유에 대해 알고 싶을 것입니다. 이번 달 기사에서는 이러한 의문점을 비롯해 .NET Framework 2.0 및 Windows Vista의 전역화 기능에 대한 기타 질문에 답할 것입니다.
- 64비트 윈도우를 프로그래밍 하기 위해서 알아야 할 모든 것들
새로운 64비트 윈도우에서 일했던 경험의 좋았던 점 중의 하나는, 새로운 기술이 어떻게 동작하는지 눈으로 확인할 수 있다는 것이었습니다. 저 자신은 특히 어떤 운영체제 밑바닥에 대해서 조금이라도 알기 전까지는, 그 운영체제에 대해서 그렇게 편안함을 느끼지 못하는 편입니다. 그래서, 64비트 Windows XP와 Windows Server™ 2003이 나타났을 때, 저는 아주 열심히 그 운영체제에 대해서 연구하였습니다.
- C++ 상호운용성을 통한 MFC 어플리케이션과 윈도우 폼 컨트롤간의 통합
마이크로 소프트 .NET 프레임웍이 5년 전에 공개가 되고, 버전 2.0이 최근에 출시되었지만, 아직도 많은 C++ 어플리케이션이 아직도 순수한 네이티브(Native) 코드로 작성되고 있습니다. 그러나 C++개발자들 사이에 .NET 프레임웍에 대한 관심은 크게 높아져 가고 있고, 이것은 향후에 출시될 많은 Windows® API가 .NET에 기반을 두고 있고, 현재 윈도우 비스타에 기본으로 포함되어 있는 Windows Presentation Foundation, Windows Communication Foundation, 그리도 Windows Workflow Foundation 등과 같은 WinFX® 컴포넌트 들이 .NET을 기반으로 작성되어 있기 때문에 C++ 개발자들이 .NET에 대한 관심이 많아지는 것은 아주 좋은 현상이라고 생각합니다.
- 윈도우 워크플로우 파운데이션, 파트 2
이번 달에는 ASP.NET의 워크플로우 응용 프로그램과 웹서비스로의 워크플로우의 노출할 수 있는 기능 그리고 웹서비스에서의 워크플로우의 호출에 대해서 논의해 보기로 하겠습니다.
- 템플릿과 generics(Generics) 타입의 동작
템플릿과 generic이 함께 작동하거나 작동하지 않는 상황을 설명하고 Visual C++ 2005의 현재 템플릿 구현의 한계를 지적함으로써 Microsoft .NET Framework의 generic 프로그래밍에 대한 칼럼 시리즈를 마칠까 합니다. 필자는 현재 진행 중인 .NET에 STL(Standard Template Library)을 구현하는 작업에 관한 논의를 거쳐 이 주제를 선택했습니다. 먼저, STL의 모든 기본 요소를 간략하게 살펴보겠습니다.
- 윈도우 워크플로우 파운데이션(Windows Workflow Foundation)
이 윈도우 워크플로우는 복잡한 프로세스들에 기반해서 넒은 범위의 응용 프로그램을 개발하거나 실행할 수 있는 프레임웍을 제공합니다. 가장 일반 적인 예는 문서 관리, 회사와 회사 간에 사용하는 응용 프로그램, 마지막으로 소비자를 위한 응용 프로그램입니다. 관련된 어셈블리와 제일 상위의 응용 프로그램에 추가해서 내부적인 워크플로우를 개발하기 위해서 여러분은 Visual Studio® 2005을 사용하셔야 합니다.
- 팀 파운데이션 서버의 확장을 통한 Continuous Integration을 가능케 하기
많은 개발 팀들이 개발중의 변화와 소프트웨어 품질을 향상시키기 위해 Agile 방법론을 채택했습니다. 이 개발방법은 새로운 기능이 추가되었을 때, 버그가 고쳐졌을 때, 그리고 코드가 새로 고쳐졌을 때, 소프트웨어 프로젝트를 점차적으로 테스트하고 빌드하는 방법를 이용하여 Continuous Integration을 증진시킵니다.
- .NET Framework 2.0으로 사용자 지정 디자이너 만들기와 호스트
Microsoft .NET Framework 버전 1.0은 융통성이 뛰어난 디자인 타임 아키텍처를 제공하지만 실제로 디자이너를 만들고 호스트하는 코드가 거의 구현되어 있지 않았습니다. 모든 호스트 로직은 Visual Studio .NET에서 구현되어 타사에서 이 복잡한 로직을 모두 다시 작성해야 했습니다. 이제 모든 것이 바뀌었습니다. .NET Framework 2.0에는 디자이너를 호스트하는 데 사용할 수 있는 클래스 집합이 기본적으로 제공됩니다.
- 이벤트 프로그래밍 두 번째 이야기
저는 CPrimeCalculator라는 소수를 계산하는 클래스를 이용하여, PrimeCalc라는 프로그램을 작성했었습니다. CPrimeCalculator는 두 개의 이벤트를 발생시킵니다. 진행과 완료 이벤트가 그것이죠. 소수를 계산 하면서, CPrimeCalculator 클래스는 지금까지 몇 개의 소수가 발견되었는지를 알려주는 진행 이벤트를 발생시킵니다. 소수를 다 찾은 뒤에는 완료 이벤트를 발생시킵니다. 이러한 이벤트 들은 IPrimeEvents 라는 인터페이스에 의해 정의되어 있습니다:
- 이벤트 프로그래밍
Visual C++® .NET 은 매니지드 클래스(managed class)에서 _event 키워드를 이용하여 이벤트를 핸들링하는 것처럼, 네이티브 C++(native C++)에서도 동일한 방식으로 이벤트를 구현할 수 있게 해주는 통합된 이벤트 모델이라고 불리는 메카니즘을 가지고 있습니다.
- My 네임스페이스를 사용하여 .NET Framework 및 사용자 프로젝트 탐색
처음에는 Visual Basic 2005에 대한 이야기로 기사를 쓰기 시작했지만 그 범위가 너무 방대했습니다. 전체 기능 목록을 두루 살펴보거나, 편집하며 계속하기와 같은 멋진 IDE 기능과 IntelliSense 코드 조각 또는 예외 도우미에 대한 몇 가지 정보를 제공하거나, generic, partial 클래스, 부호 없는 형식 등 고급 언어 기능을 개략적으로 살펴보거나 아니면 Windows Forms, 데이터 바인딩, ClickOnce 배포 등의 뛰어난 Microsoft .NET Framework 개선 사항을 간략하게 설명할 수도 있었습니다. 그러나 결국 이러한 흥미로운 기능을 모두 뒤로하고 Visual Basic 2005의 가장 멋진 기능 중 하나인 My 네임스페이스에 대해 자세히 설명하기로 결정했습니다.
- .NET Framework 2.0의 향상된 보안 기능
Microsoft.NET Framework 2.0 버전이 출시되었습니다. 일년 전, 필자가 베타 2 버전을 처음 접했을 때 간단한 프로그램을 사용하여 전체 프레임워크에서 모든 public 형식의 public 멤버를 덤프하여 2.0 버전뿐 아니라 1.1 버전에서도 실행해 본 적이 있습니다. 그런 다음 WINDIFF.EXE를 사용하여 두 텍스트 파일을 비교하고 몇 시간 동안 특히 보안과 관련된 부분에 주안점을 두고 변경된 내용을 대략적으로 살펴보았습니다.
그 결과 얻은 결론은 .NET Framework의 보안 기능이 2.0 버전에서 많이 향상되었다는 것이고, 이 칼럼에서는 이러한 향상된 보안 기능에 대해서 살펴보고자 합니다. 모든 내용을 다룰 수는 없으나 새롭게 변경된 기능에는 어떤 것이 있으며 어떤 부분이 중요한지 알 수 있을 것입니다. 그러면 추가된 네임스페이스를 하나씩 살펴보도록 하겠습니다.
|