Silverlight 180

[휴즈플로우] 신입 멤버를 뽑습니다.

저희 회사 휴즈플로우에서는 현재 신입 개발자 1명을 애타게^^ 찾고 있습니다. 업무 실버라이트를 이용한 RIA 솔루션 개발, RIA 웹서비스 개발 필수 조건 C# ASP.NET HTML, CSS 우대 조건 Silverlight 어플리케이션 개발 유경험자 MSDN Library를 잘 활용하는 사람 플래시 액션 스크립트(Adobe Flash) 참고 채용공고 회사 멤버소개 개인적인 바램이 있다면, 제가 담배 연기를 몹시 싫어하고, 현재 멤버가 모두 비흡연자인 관계로 신입 멤버가 비흡연자였으면 좋겠다는거~ 혹은 흡연 매너가 아주 좋으신 분이라면...

Silverlight/News 2008.03.14

QuadTree

지도, Deep Zoom 등 2차원 솔루션에서, 정보의 구축과 검색을 원활히 하기 위해서, QuadTree 형식의 자료 구조가 구현되는 것이 바람직합니다. 예를들면 방대한 영역에 존재하는 데이터 중, 보이는 화면영역에 해당하는 데이터만 빨리빨리 찾아와야 할 때 유용합니다. QuadTree는 4개의 자식을 갖는 트리구조입니다. 평면을 계속 4분할해 나가면서 트리가 구성됩니다. 1개의 Cell은 maximum capacity를 가지고 있어서, 그 값이 넘게 자식이 존재해야할 필요성이 있을 때 또 분할됩니다. 수직선, 수평선이란 자식까지 정의하여 총 6개의 자식을 갖도록 설계하는 경우도 있습니다. (CAD/CAM 프로그래밍 할 때 그렇게 했었음.) 한번 이렇게 구성된(Build) QuadTree는 영역에 대한..

Silverlight 2 디버깅 중 중단점 안먹을 때 시도해 볼 것

ClientBin, bin 디렉토리 내용물 지우기, '다시 빌드' 해보기, VS2008 종료 후 재실행, 컴퓨터 리부팅 위와 같은 민간요법을 주로 애용 했었는데요. 이렇게 해도 안되면 Project를 아예 새로 만들었던 과격프로그래머!!! 웹사이트 속성에서 해결 할 수 있는 것을 공도님한테 배웠습니다. 속성창에서 Start Options 항목의 Debuggers Group에서 Silverlight 체크박스에 체크를 합니다. (원래 이 항목은 실버라이트 기본프로젝트 만들 당시에 체크가 되어있습니다. 허나 무슨 이유에서인지 쓰다가 이런 문제가 있어서 보면 해제되어 있습니다. -_-;;; 해제되는 단축키라도 있는거야????) 이렇게 하고 나니 다시 중단점에서 프로세스가 잘 걸리네요. 모르면 손발이 두잇이죠....

커뮤니티 세미나 마지막 날 '실버라이트의 밤'

우리 훈스닷넷 주최로 MS 5층 사무실에서 오후 5시 30분에 시작하여, 간단한 아이스브레이킹(서로 서먹서먹함을 없애주는 리크리에이션) 시간을 가졌습니다. 6개 조가 편성되었습니다. 저는 3조에 편성되었습니다. 우리조 조장은 서금욱 MVP님. 그 외에 장미연 씨와 김기석 씨, 김성헌 씨가 함께 해 주셨습니다. 그 다음 RIA에 대한 주제를 잡아 조별로 토론하고, 돌아가며 프레젠테이션을 하였습니다. 그 다음엔 공인석 MVP님(휴즈플로우)이 실버라이트2의 백미 Deep Zoom의 간단한 설명과 시연을 보여주었고, 그것을 바탕으로 대학을 갖 졸업한 가상의 인물 H군이 실버라이트2로 어떤 창업을 할 수 있을 것인지 조별로 구상해 보는 시간을 가졌습니다. 이 역시 마지막에 돌아가며 프레젠테이션을 하였습니다. 재밌..

Silverlight/News 2008.03.11

Downloader 대신 WebClient

Silverlight2 에서 Downloader가 사라졌습니다. 대신에 WebClient를 사용하시면 됩니다. 파일 전송을 위한 메서드로 OpenReadAsync과 DownloadStringAsync 두가지를 지원합니다. OpenReadAsync WebClient wc = new WebClient(); wc.OpenReadCompleted += new OpenReadCompletedEventHandler(wc_OpenReadCompleted); wc.OpenReadAsync(new Uri("song.wma", UriKind.Relative)); 이벤트 핸들러는 다음과 같이 사용합니다. (e.Result는 Stream) void wc_OpenReadCompleted(object sender, OpenRea..

HtmlTimer 대신 뭘 쓰면 될까요?

Silverlight 2에서 HtmlTimer가 사라졌습니다. System.Threading.Timer도 있고 System.Windows.Threading.DispatcherTimer도 있는데 이제 무얼 쓸까요? HtmlTimer를 쓰시던 분은 DispatcherTimer를 사용하실 것을 권합니다. 사용방법이 똑같아서 변수 선언부만 찾아서 고치시고, Interval을 TimeSpan으로 수정하시면 컴파일 에러가 해결될 거예요. DispatcherTimer timer = new DispatcherTimer(); timer.Interval = TimeSpan.FromMilliseconds(3000); // 3초 timer.Tick += new EventHandler(timer_Tick); timer.Star..

Image.Source는 어떻게 쓰나

이미지 사용하기가 조금 복잡해졌어요. Image image = new Image(); image.Source = new BitmapImage(new Uri("http://hugeflow.com/HFLogo.jpg", UriKind.Absolute)); 하지만 의미를 찾자면 BitmapImage에 DownloadProgress이벤트가 있다는 것! 이제 이미지가 다 받아졌는지 확인 할 때 Timer 안 써도 된다는 것! Image image = new Image(); BitmapImage bitmap = new BitmapImage(new Uri("http://hugeflow.com/HFLogo.jpg", UriKind.Absolute)); bitmap.DownloadProgress += new Downlo..

BrowserHost야 어딜 간거니???

BrowserHost.Resize 이벤트를 많이 애용했었지요. BrowserHost가 Application.Current.Host.Content로 대체됩니다. Resized 이벤트는 이렇게 Application.Current.Host.Content.Resized += new EventHandler(Content_Resized); void Content_Resized(object sender, EventArgs e) { Width = Application.Current.Host.Content.ActualWidth; Height = Application.Current.Host.Content.ActualHeight; } IsFullScreen도 여기서 찾을 수 있습니다. Application.Current.H..

와우!! SeaDragon을 위한 Deep Zoom Composer!!

실버라이트2 Beta1 공개를 앞두고 정말 기대되는 기능이 있었죠? 바로 SeaDragon~ 그리고 Deep Zoom Composer는 SeaDragon을 통해 Deep Zoom을 지원할 이미지들을 원본이미지로부터 쉽게 만들어주는 어플리케이션 입니다. MIX08에서 이런 형태의 어플리케이션이 공개될 것이라고 예상은 했는데요. 나왔네요. 일단 간단한 형태로 나왔습니다. 당연히 기능은 점점 보강될 것이구요! 다운로드 : http://blogs.msdn.com/expression/archive/2008/03/05/download-the-preview-of-the-deep-zoom-composer.aspx 유저가이드 : http://blogs.msdn.com/expression/archive/2008/03/05..

Silverlight/News 2008.03.06