Silverlight 178

인터넷지도에 대한 단상 (부제 : AJAX vs. 실버라이트)

라이브맵, 구글맵, 다음맵, 네이버맵 등 많은 인터넷 지도 서비스들이 있다. AJAX방식으로 지도를 보여주고, 데이터와 인터랙션을 처리하기 위해 자바스크립트를 쓴다. 그리고 그 기능들은 상당히 인상깊다. 그런데 이런 기능들을 지원하기 위해 구현한 자바스크립트가 그리 작은 양의 것은 아닐 거라 예상해 볼 수 있다. 일단 다음맵을 예로 들어 이야기를 구체화해 보자. 다음맵에 접속했을 때 클라이언트로 다운로드 받아진 파일들의 목록을 fiddler 등으로 살펴보면, 아래 3가지 파일이 주축이 되고 있는 듯 하다. 파일이름 파일용량 압축시 용량(압축율:보통) map_js_v2/maps.js 395,888 byte 84,806 byte map_js_v2/mapApp.js 240,155 byte 56,581 byte..

다음맵을 실버라이트로 맛보기

딥줌기술이 아니구요. nemiso와 함께 개발한 실버라이트 MapViewer 엔진인데요. 얼마전 공개된 그 멋지다는 다음맵의 스카이뷰를 소스로 한번 사용해 보았습니다. AJAX 버전의 맵뷰와는 또 다른 느낌이지요? 아직 개선 가능한 구석이 많이 남아있고 (이럴 때 행복하죠... ^^), 다른 개념으로 접근한 엔진도 같이 개발하고 있습니다. (어떤 Exception이 숨어 있다가 브라우저를 죽일 수도 있으니, 브라우저에 중요한 내용이 함께 떠 있는 경우에는 특히 주의하세요!) (마우스 드래그, 휠 버튼 스크롤, 키보드 방향키를 지원하고 있습니다.) 이것은 한 일주일 전쯤 버전이구요. 계속 개선이 이루어지고 있습니다. 아마도 MIX09에 나갈 때 쯤에는 좋은 녀석이 완성되어 있을 것 같습니다. 기반이 되는 ..

Silverlight & WCF on HTTPS 사용시 체크할 것

ㄴ사진출처 : http://flickr.com/photos/trishabrunner/457232928/ 실버라이트가 HTTPS 프로토콜을 통해 WCF를 이용할 때, 다음 3가지 파일들의 설정에 의해 성패가 좌우됩니다. 1. Web.config (서버측) 2. clientaccesspolicy.xml (서버측) 3. ServiceReference.ClientConfig (클라이언트측 - 실버라이트 프로젝트에 포함) 그러면 순서대로 하나하나 살펴 보겠습니다. 1. Web.config WCF 서비스를 HTTPS프로토콜로 지원하기 위해서는 보안 바인딩을 사용해야 하는데요. 기본으로 생성되어 있는 binding을 수정하여 사용해도 되고, 해당 웹서버에서 서비스에 따라 HTTP와 HTTPS를 선택적으로 지원해야 한..

Silverlight/Lecture 2009.02.12

MIX09 최종 Agenda에 저희 세션이 추가되었습니다.

오늘 MIX09 측으로부터 You are a MIX2009 speaker라는 가슴 벅찬 제목의 메일을 받고, Agenda를 확인해 보니, 우리 기획자 미호씨와 제가 같이 발표하는 세션이 추가된 것을 확인하였습니다. 세션 제목이 B로 시작하여 비교적 앞쪽인 위에서 다섯번째에서 찾으실 수 있습니다. 아직 준비할 것이 무지무지 많이 남았는데... 대한민국 그리고 휴즈플로우에 먹칠 안하려면 죽어라 노력해야 겠어요. 기다려라 Las Vegas!

Silverlight/News 2009.02.11

Gravatar.com에서 프로필이미지 가져오기

Gravatar.com은 뭐하는 곳? grobally recognized avatar라는 의미를 가진 gravatar.com 간단하게 '프로필 이미지'를 등록해 놓고, 매쉬업 할 수 있게 지원해 주는 곳입니다. (avatar하면 왕년에 프리챌에서 서비스 했던 '옷사입히는 인형놀이식 avatar'만 자꾸 떠올라요.) gravatar.com에서 프로필 사진을 바꾸기만 하면, 여기저기에 사용된 프로필 이미지가 한꺼번에 바뀌니, 편하지 않겠습니까? 이메일 주소와 프로필 사진을 매치시켜 놓았기 때문에, 이 프로필 이미지를 활용하려는 곳에서는 사용자의 이메일주소만 확보하면, 프로필 이미지를 가져와 표시해 줄 수 있습니다. 사용자 프로필 이미지를 필요로하는 서비스를 만들 때, 한 번쯤은 지원을 고려할만한 서비스인 것..

실버라이트 PasswordBox.Password는 DataBind가 안된다?

PasswordBox의 Password 프로퍼티에 데이터 바인딩을 시도해 보신 적이 있으신가요? 다음과 같이 AG_E_RUNTIME_MANAGED_UNKNOWN_ERROR 에러가 나실 거예요. 우리가 뭘 잘못한 걸가요? 그렇다기 보다는 PasswordBox.Password 프로퍼티는 데이터바인딩을 지원하지 않고 있다네요. 실버라이트 포럼의 관련문답을 보면, Silverlight Product Manager인 mark가 다음과 같이 답을 해 놓았습니다. 패스워드가 평범한 문자들(****가 아닌)로 보내지는 것을 방지하려고 데이터 바인드가 지원되지 않고 있고, WPF에서와 같이 행동하고 있는 것이라는 군요. 보안이슈네요. Password property cannot be bound to. This is co..

Silverlight/Lecture 2009.02.06

매쉬업 이미지 검색 + MVVM모델 + CommandPattern 예제

2009 매쉬업 경진대회 – 매쉬업 캠프 마이크로소프트 편에서 데모로 공개했던 간단한 이미지 검색 예제를 1. Open API를 이용한 MVVM모델을 고려하여 정리하고, 2. Command Pattern까지 적용한 후에, 3. Flickr, Daum, Naver 이미지 검색을 추가한... 예제를 소스와 함께 공개합니다. 스크린샷 라이브 데모 (콤보박스를 클릭하여 원하는 검색 서비스를 선택합니다.) 검색어를 입력하시고, 엔터를 치시거나 'Search' 버튼을 누르세요. 검색어를 변경하지 않으시고 Search를 계속해서 누르시면 추가 검색이 됩니다. 소스 다운로드 invalid-file 약간의 코드리뷰 소스를 다운로드 받으시고 솔루션 파일을 여시면 다음과 같은 구조를 보시게 됩니다. View 폴더 아래에 I..

Silverlight/Lecture 2009.01.30

Angus Logan의 서명?

오늘 마이크로소프트에서 Angus Logan, John Richard와 미팅이 있었습니다. 휴즈플로우에서 개발하고 있는 것들을 보여주는 내용이 주가 되었습니다. GuestInk를 통해 그린 그림을 me2day로 매쉬업하는 것을 보여주기 위해, Angus에게 부탁을 했더니, 아래와 같은 서명을 하더군요. ^^ 보시면 Bill G라고 적은 것을 아실 수 있습니다. Bill G라면 빌게이츠죠. Angus의 부연 설명은 이렇습니다. American Express 등으로 결제하고 나면 자기는 가끔 이렇게 서명한다고 하면서, 운 좋으면 빌(빌 게이츠)이 대금지불을 해 줄지도 모른다고... :) 빌형님의 필체까지 흉내를 냈는지는 모르겠습니다만, 재밌는 친구예요. 아래 사진은 작년 5월 방콕 Remix에서 만났을 때 ..

Common/Surroundings 2009.01.29

QuadTree 검색 Live Demo

바로 전 포스트에서 QuadTree가 데이터에 따라 어떻게 분화되는지를 보여드렸는데요, 이번엔 QuadTree를 이용한 Search를 테스트하기 위해서 만들어 본 데모입니다. QuadTree를 통해서 검색을 하면 QuadTree Leaf Node의 Boundary들과 검색 영역을 먼저 비교하여 내부 노드로 더 깊숙히 들어가야 할지 말지를 미리 결정하기 때문에, 전체 데이터를 모두 순회하면서 데이터들을 검색 영역과 비교하는 방법에 비해서 상당히 매력적인 자료구조입니다. Live Demo Mouse 왼쪽버튼 클릭 - 데이터 1개 추가 Random 버튼 - 한 번 누르실 때 마다, 임의의 위치에 200개 데이터가 추가됩니다. 화면 Drag - 선택 영역을 설정합니다. 선택 영역을 변경할 때마다, QuadTre..

QuadTree가 어떻게 분화되는지 보여주는 Live Demo

제가 예전에 QuadTree에 대해서 간략하게 소개한 적이 있는데요, 아래 데모는 제가 만든 QuadTree 라이브러리를 테스트 하기 위한 용도로 만들어 본 것입니다. Threshold를 5로 지정해 놓아서 몇 번만 클릭하셔도 QuadTree가 분화되는 것을 체험하실 수 있습니다. QuadTree는 재귀적(Recursive)으로 구성되는데, 하나의 QuadTree 잎(Leaf) Node가 보유하고 있는 데이터 수가 Threshold 값을 넘어가면, 다시 4장의 잎(Leaf) Node 와 X줄기 Node, Y줄기 Node로 분열하면서, 데이터를 나누어 갖습니다. Live Demo Mouse LeftButton 클릭을 통해서 체험해 보시기 바랍니다. 이렇게 만들어지는 QuadTree는 2차원 상에 분포된 객..