본문 바로가기

Silverlight

(33)
Observer 를 만들어 보세요. #1 객체지향 언어를 사용하시는 많은 개발자분들은 좀 더 객체지향적인 코드를 원하곤 합니다. 여기서, 좀 더 객체지향적인 코드란 것은 객체지향이 추구하는 언어적인 특색을 잘 살리는 코드를 말하는 것이죠. 그래서, 많은 분들이 클래스 다운 클래스를 만드려고 하고, Design Pattern 등에 관심도 보이고 합니다. 또한, 객체의 생성과 소멸 등에 관해서도 관심을 갖게 되고요 :) 이번 포스팅에서는 Design Pattern 의 하나인 Observer Pattern과 Singleton Pattern을 포스팅 해 보려고 합니다. 그러나, 여기서 Observer Pattern과 Singleton Pattern을 사용하고 안하고의 유무에 따라서 코드가 좀 더 객체지향적이라고 할 수 있는 것은 아닙니다. 좀 더 크게..
Expression Encoder 3 SDK 사용시 FileNotFoundException 이 난다면? Microsoft Expression Encoder 3 에서는 SDK 가 제공 되는데요. SDK 문서를 보시면 Get Started 에 Encoder 3 SDK 를 사용하는 방법이 자세히 설명 되 있습니다. 우선 Encoder 3 SDK 를 사용하기 위해서는 Project 에서 References 를 추가 해 주셔야 합니다. Microsoft.Expression.Encoder Microsoft.Expression.Encoder.Types Microsoft.Expression.Encoder.Utilities 이렇게 네 가지 dll을 추가 하셔야 합니다. (아, 마지막의 WindowBase 는, Encoder.Types 에서 ObservableCollection 을 사용했기 때문에 추가 해 줘야 하고요^^)..
Smooth Streaming을 위한 IIS7 Media Services 설정 Smooth Streaming 을 서비스 하기 위해서는 IIS 웹서버가 필요합니다. (IIS 버전은 7.0이상) 참고로, 필자의 Test 환경은 Windows Server 2008 R2인데요, IIS 7이상 설치가 가능한 OS면 2008 R2가 아니어도 상관 없습니다. 우선 IIS 웹서버가 구축 되 있다는 가정을 두고, 다음 순서부터 설명 드릴께요. 일단, IIS 웹서버에 IIS Media Services 를 추가적으로 설치 해 주셔야 합니다. IIS Media Services 설치파일을 다운로드 하시려면, IIS 사이트를 방문하시면 됩니다. 사이트의 우측 상단에 보시면, 위 그림과 같은 링크가 있습니다. 여기서 서버 환경이 x86/ x64인지에 따라 다운로드 하세요. 설치파일 다운로드가 종료되면, 설치..
Smooth Streaming UI 만들기 Silverlight 3 에서는 HD급 고화질의 영상을 끊김 없이 사용자의 환경(CPU, 로컬 네트웍 상태)에 기반하여 최적의 화질을 감상할 수 있는 Smooth Streaming 기술을 선보였습니다. 이전 버전인 Silverlight 2 에서 선보였던 Deepzoom 만큼이나 강력한 이슈가 되고 있는데요. 그래서, Smooth Streaming Media Player를 만드는 방법을 소개하도록 하겠습니다. (Smooth Streaming 에 관해 더욱 자세히 알고 싶으시다면 Silverlight 사이트에 방문 해 보시기 바랍니다.) 우선, Smooth Streaming 을 이용한 Media Player UI를 구현하기 위해서는 Microsoft Expression Encoder 3 에 새롭게 추가 된 ..
Out-of-Browser 디버깅하는 방법 이번 포스팅은 Out-of-Broswer 를 Debugging 하는 간단한 Tip입니다. :D Out of Browser 를 염두하고 개발을 하시다 보면, 디버깅이 안 되서 답답한 경우가 있을 것입니다. 저 또한, Out of Browser 를 테스트 하면서 디버깅이 안 되, 추측만 했었는데요. 자세히 찾아보니, OOB 도 디버깅 할 수 있는 방법이 있네요. 우선, 프로젝트 속성에서 Debug 탭을 선택 하신 후, Start Action에서 Installed out-of-browser application 을 선택 합니다. 그 다음, 실버라이트 프로젝트를 우 클릭 하신 뒤, Set as StartUp Project를 선택 하여 스타트 프로젝트로 설정하면 됩니다. 이렇게 설정하셨다면, Out-of-Brow..
Lambda Expressions in Silverlight #2 Lambda Expressions in Silverlight #1 포스팅과 이어지는 내용입니다. 구체적인 예를 한 가지 들어보자면, Image Control을 배치 한 뒤 ImageOpened 되면 Image Control을 MouseLeftButtonUp 했을 때, 마우스의 포인트를 ListBox에 추가하는 기능을 구현한다고 가정 해 보겠습니다. 위와 같이 구현하기 위해서는 이미지가 반드시 Opened 되야 만 MouseLeftButtonUp 이 발생하여야 하도록 하기 때문에 ImageOpened 이벤트 구현부에서 MouseLeftButtonUp 이벤트를 구현 한다면, 무리 없이 모든 기능을 구현할 수 있습니다. int count = 1; this.LogoImage.ImageOpened += (s, e..
Lambda Expressions in Silverlight #1 안녕하세요. 오늘은 포스팅 할 주제는 C# 3.0의 언어적 특성인 부분이라서 Silverlight 뿐만 아니라, WPF든, WinForm이건 상관 없이 유용한 팁이 될 것 같습니다. Variable Lifting 제가 생각하는 람다식의 가장 큰 이점 중 하나는 바로, Variable Lifting 입니다. Variable Lifting 이란, 다음 코드와 같이 전역 변수가 아닌 블럭 내 지역 변수 임에도 람다식의 블럭에서도 사용이 가능한 것을 말합니다. void MainPage_Loaded(object sender, RoutedEventArgs e) { int index = 0; this.TestButton.Click += (s, args) => { index++; MessageBox.Show(index..
New Deepzoom Composer in Silverlight 3 안녕하세요. 지난 10일 Silverlight 3 RTW (정식버전)이 런칭 되면서, Deepzoom Composer 도 함께 새 버전이 나왔는데요. 새로운 Deepzoom Composer 를 열심히 분석 해 본 결과, 놀라운 기능(Sildershow, Navigation, Hyperlink)이 추가 된 것 처럼 보이지만, 실상 Export 해 보면 지난 버전과 크게 차이나는 게 없고, scene.xml 이란 파일이 생성되는데 도통 어떻게 써먹는 것인지도 모르겠더라고요. 그래서 미 완성된 버전이라 생각하고 차후 버전을 기다려 왔습니다. 헌데, 지난 22일 차후 버전이 드디어 나왔더군요!! +_+ New Deepzoom 다운로드 ☜ 우선, 놀랍고 쉽게 구현 할 수 있는 Sildershow, Menu, Hy..