2010. 3. 10. 10:31
WPF에서 다양한 효과를 줄 수 있는 두 가지 프로젝트가 있어서 소개해 드립니다. CODEPLEX에서 공개되어 있는 아래 두 개의 프로젝트는 Pixel Effiect를 줄 수 있는 Effects Library와 전환 효과를 줄 수 있는 Transitionals 입니다. 
  사진이나 동영상 혹은 씬의 전환에 사용하면 괜찮을 것 같습니다.

http://wpffx.codeplex.com/ 

http://www.codeplex.com/transitionals 

2010. 3. 10. 08:29

개발자의 디자이너를 위한 행사인 MIX가 열립니다.
이번에도 Silverlight 4, ASP.NET MVC와 같은 대박 기술에 대한 세션들이 기대되고 있는 가운데 Windows Mobile 7.0이 이야기 될 것 같습니다.

 한국 마이크로소프트에서도 5명이 참가해서 발빠르게 좋은 정보들을 전달해 주실 예정입니다.
트위터 @winkey7과 본 블로그를 통해서도 핵심 이슈들을 빠르게 정리해 드리도록 하겠습니다.

또 하나 UX Bakery에서도 MIX 10의 방대한 내용을 정리하는 "MIX 10 다시 보기" 세미나를 3월 24일과 3월 30일 양일에 걸쳐서 진행한다고 합니다. 관련한 공지를 곧 올리도록 하겠습니다.

MIX와 관련한 가장 빠르고 정확한 채널 UX 엔지니어(http://winkey.tistory.com) 과 UX Bakery(http://www.uxbakery.com)에서 함께 하십시오
2010. 3. 9. 14:42
안타깝게도 원서라는게 한계이긴 하지만 그래도 최근 MVVM(혹은 MVC) 모델에 대한 추측과 잘못된 가이드가 난무하는 가운데 정리를 할 수 있는 한권의 책이라는 점에서 의미가 있을 것 같습니다.

책으로는 19.9$ 디지털 카피는 9.9$라고 합니다.

2010. 3. 9. 13:32
이런게 있었네요 XAML을 HTML로 변환하는 데모인데 저도 아직 사용해 보지는 않았서 얼마만큼 잘 동작할지는 모르겠습니다. 하지만 혹시나 필요로 하시는 분이 계실까 해서 올려 놓습니다.

XAML to HTML는 있는데 HTML to XAML은 없는 것 같습니다.
XAML은 형식이 고정되어 있고 형식이 틀리면 아예 실행이 안되는데 반해서 HTML의 경우는 테그를 누락한다 든지 하는 것에 대해서 비교적 여유롭게 경우의 수가 너무 많아서 상대적으로 구현이 어려운 것이라고 추정만 하고 있습니다.


좀 더 자세한 정보는 아래 링크로 접속해 보시기 바랍니다.
http://msdn.microsoft.com/en-us/library/aa972129.aspx 
2010. 3. 8. 12:52

ASP.NET/WPF/WCF/ALM/.NET/UX 등 다양한 교육과정이 준비되어 있습니다. 참조하시기 바랍니다. ^^

2010. 3. 5. 12:57
WPF를 처음 사용하시는 분들~ ^^
쉽지 않으셨으리라 생각됩니다. 관련된 테마별로 소스와 문서가 잘 정리되어 있는 링크를 공유합니다.
Visual Studio 2010과 함께 WPF도 4.0으로 업그레이드 될 예정입니다.

http://code.msdn.microsoft.com/wpfsamples 


2010. 3. 4. 15:56

시대는 바야흐로 멀티코어 시대 입니다. CPU의 속도 경쟁에서 이제는 CPU 코어 갯수 경쟁으로 바뀌었습니다. Parallel을 통해서 성능 향상을 꾀할 수 있는 좋은 시기이기도 합니다.

.NET 4.0에서는 Parallel Programming을 직접적으로 지원하기 위한 기능들이 포함되어 있는데 찾아 보다 보니 너무 많은 자료들에 깜짝 놀랄 수 밖에 없군요  ^^

먼저 관련된 사이트를 소개합니다.

  1. Parallel Programming with .NET Team Blog
  2. Parallel Computing Developer Center
  3. Patterns for Parallel Programming: Understanding and Applying Parallel Patterns with the .NET Framework 4
관련된 아티클들도 다수 올라와 있구요
  1. Patterns for Parallel Programming: Understanding and Applying Parallel Patterns with the .NET Framework 4
  2. Windows Communication Foundation (WCF) and Windows Workflow Foundation (WF) Samples for .NET Framework 4 RC
  3. Microsoft .NET Framework 4 RC
  4. Microsoft Application Architecture Guide, 2nd Edition

문서자료는 아래 링크에서 보실 수 있습니다.총 9개 정도의 PDF 파일이 있는데 이것만 해도 충분한 정보가 될 듯 싶습니다.
http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=c3ea8fb5-650d-434b-a216-7e54c53965d1

마이크로소프트웨어 2010년 1월인지 2월호인지에 유경상 수석님이 기고해 주신 글도 주옥 같습니다. 마소가 있으신 분은 지금 찾아 보세요 ^^

C#, VB.NET도 이제는 병렬 처리가 잘 되는 군요 ^^

2010. 3. 4. 09:50
내용은 PDF 파일로 되어 있네요. A3지로 출력해도 다소 작게 느껴지는 큰 사이즈의 포스터 입니다. ^^


2010. 2. 8. 09:40

1.RichTextArea Part 1
2.RichTextArea Part 2
3.Accessing Web Camera and Microphone
4.Right Click Mouse Events

5.MouseWheel API

6.Using Silverlight Controls As Drip Targets
7.DataGrid Enhancements
8.Printing API Basics 
9.Hosting HTML Content

10.Accessing the Global Clipboard Programmatically

11.Using the ViewBox Control

12.Asynchronous Data Validation 
13.BiDi and Right-to-Left Support 
14.Notification API
15.Local File Access 
16.RIA Services support in Visual Studio 2010 

블로그 이미지 김영욱 차장 Microsoft Korea  .NET Evangelist
Enterprise UX 를 위한  UI 기술과 SOA, Cloud Computing, NUI등 다양한 분야의 접목과 응용을 통해 최적의 IT 인프라 구축을 위해서 노력하고 있다.
Email: iwinkey@hotmail.com
Blog: http://winkey.tistory.com

 거듭 강조하는 이야기 중에 하나가 바로 Silverlight 4에서 강화된 부분이 바로 OOB(Out of browser)에 관한 내용이다. OOB를 통해서 Silverlight 4는 단순한 웹 플랫폼이 아니라 Microsoft의 클라이언트 플랫폼으로 정확하게 자리 매김 할 수 있게 되었습니다

 Visual Studio 2008에서는 OOB를 사용하기 위해서는 AppManifest.xml 파일을 직접 편집해 주어야 하지만 Visual Studio 2010을 사용하게 되면 AppManifest.xml을 툴에서 관리하게 되면서 훨씬 작업이 편리해 졌습니다.

<그림1>프로젝트 속성에서 지원이 가능해진 OOB 기능
<그림1>에서 보면 알 수 있듯이 프로젝트 속성에서 바로 OOB 기능을 선택할 수 있으며 옆에 있는 Out of browser setting 버튼을 누르면 <그림2>와 같이 세세한 세팅을 할 수 있는 창이 나타나게 되어 있다.


<그림2>Out of browser setting
그런데 <그림2>에서 보면 못 보던 옵션이 하나 생긴 것을 볼 수 있는데 Require elevated trust when running outside the browser라는 체크 박스가 그것입니다. 단순한 체크 박스 하나로 보기에는 너무 막강하기 때문에 주의해서 사용해야 하는데 이 이유는 이 체크 박스를 선택하는 순간 실행시에 사용자에게 권한 상승을 요구하게 됩니다.
 사용자가 권한 상승을 허가해 주게 되면 그 때 부터는 Silverlight 응용프로그램이지만 로컬의 파일과 API에 접근이 가능하게 된다. Silverlight가 그냥 웹 응용 프로그램을 개발하기 위한 툴이 아니라 Microsoft의 클라이언트 플랫폼이라고 이야기 할 수 있는 근거가 바로 이 체크 박스로 하나로 생길 수 있습니다

 이 글에서 설명하려고 하는 로컬 파일 접근도 이와 같이 권한 상승을 통해서 충분한 권한이 있어야 사용가능 한 기능입니다. 아무튼 이렇게 권한 상승을 하게 되면 로컬 파일에 대한 접근 권한이 생기기 때문에 유의해서 사용하셔야 합니다. 아무리 사용자에게 권한을 요청한다고 해도 좀비와 같은 성향을 보이는 우리네 고객들은 아무생각없이 마구 권한을 승일 해줄 일들이 분명하기 때문입니다.

우선 OOB상태로 실행시키기 위해서 해당 응용프로그램을 로컬에 설치하는 기능을 다음과 같이 한 줄로 추가해야 합니다.

<소스1>Silverlight 응용 프로그램을 로컬에 설치하기 위한 파일

일단 로컬에 설치되고 충분한 권한이 주어진 상태라면 파일을 핸들링 하는 과정은 일반적인 로컬 파일을 다루는 과정과 다를 바 없습니다. 한 가지 재미있는 점은 Enviroment 객체를 추가적으로 사용 할 수 있게 된 점인데 이를 통해서 로컬의 각종 경로들을 확인 할 수 있게 되었습니다.
<소스2>파일 읽기 쓰기

OOB 상태에서 좋은 점이 바로 Cross domain과 관련된 제약이 없어진다는 것이다. OOB를 하게 되면 실행이 로컬 기준으로 바뀌게 되므로 일반적인 Cross domain 제약이 없어지게 된다. 따라서 상당히 편리하게 여러 주소에서 데이터를 모아 오는 것이 가능하게 된다.

<소스3>파일 다운로드 소스
<소스3>에서 볼 수 있듯이 특정한 주소의 RSS를 다운 받는 등의 행위가 자연스럽게 가능하게 되었다. 또 주석으로 처리 된 부분을 보면 mp3 파일을 다운로드 받는 소스도 함께 포함되어 있다.

<소스4>로컬 비디오 목록을 가져오는 소스

설명을 길게 한 듯 하지만 핵심 키워드는 '권한상승'에 있다. ^^

2010. 1. 29. 09:00

1.RichTextArea Part 1
2.RichTextArea Part 2
3.Accessing Web Camera and Microphone
4.Right Click Mouse Events

5.MouseWheel API

6.Using Silverlight Controls As Drip Targets
7.DataGrid Enhancements
8.Printing API Basics 
9.Hosting HTML Content

10.Accessing the Global Clipboard Programmatically

11.Using the ViewBox Control

12.Asynchronous Data Validation 
13.BiDi and Right-to-Left Support 
14.Notification API
15.Local File Access 
16.RIA Services support in Visual Studio 2010 

블로그 이미지 김영욱 차장 Microsoft Korea  .NET Evangelist
Enterprise UX 를 위한  UI 기술과 SOA, Cloud Computing, NUI등 다양한 분야의 접목과 응용을 통해 최적의 IT 인프라 구축을 위해서 노력하고 있다.
Email: iwinkey@hotmail.com
Blog: http://winkey.tistory.com

 

경고창을 띄울 수 있는 방법을 물으면 혹자는 자바스크립트의 Alert()을 이야기 할 것 이고 또 다른 분은 MessageBox.Show()를 이야기 할 것 입니다. 하지만 두 가지 방법 모두다 웹 브라우저 기반의 방법으로 시스템 기반의 경고창을 띄우지는 못합니다. 시스템 기반의 경고창은 Silverlight를 사용해서 모니터링 시스템을 만든다든지 할 경우에 꼭 필요한 기술 입니다. 시스템 기반의 경고창을 이용하면 다른 창들에 의해서 경고창이 가려져서 인지하지 못하는 경우가 없어지기 때문입니다.

 

<그림1>Notification API 샘플

 

이미 눈치를 채신 분들이 계실지 모르겠습니다만 시스템 차원에서 경고창을 띄우는 것은 시스템 API에 대한 접근이 필요로 합니다. 그래서 이 기능은 OOB에서만 사용 가능합니다. 앞서서 설명한 적이 있는 방법으로 로컬에 설치를 해줘야 실행이 가능합니다.

 

 

Silverlight 4에서는 Notification을 위한 방법을 제공해 주고 있습니다. 기본적으로는 Window만 제공해주고 있는 방법으로 아주 심플하게 사용할 수 있는 방법입니다.

 

<그림2> NotificationWindow 사용 예

 

시스템 차원의 경고창을 지원하는 객체로 NotificationWindow라는 객체가 제공 됩니다.

 

<소스1>NotificationWindow의 사용 예

 

사용하는 방법은 NotificationWindows 객체를 하나 만들고 거기에 화면에 보여줄 객체를 넣고 Show()를 호출하면 됩니다. 여기서는 Show(3000)이라고 되어 있는데 이는 3초를 의미합니다.

 

그런데 보기 싫기도 하고 사용자가 원하는 타입이 아닐 확률이 대단히 대단히 높습니다. 그래서 사용자가 좀 더 예쁜 레이아웃을 정의해서 사용할 수 있는 방법을 <소스2>에서 볼 수 있습니다.

 

 

<소스2>Custom 디자인을 보여주는 NotificationWindows

<소스2>에서 보면 중간에 CustomNotification이라는 객체가 나오는데 이는 기본으로 제공 해주는 객체는 아니고 예쁜 디자인을 위해서 사용자가 추가한 커스텀 컨트롤입니다. 첨부된 샘플을 보시면 디자인 소스를 보실 수 있습니다.