Silverlight/Experiment 13

Blend-Safe 그래픽카드는 어떤 것일까요?

Blend 작업을 하다보면 이런 식으로 화면이 깨지는 경우가 있습니다. 창크기를 변경하면 다시 정상으로 돌아오곤 하지요. 이런 일이 자주 있으면 짜증이 나지요! 그래픽 카드 문제로 생각되는데... 중요! 붉은 글자는 포스트 작성 후 3월 30일 업데이트 한 내용입니다. 트위터에서 @ivoryguard님의 조언에 따라 http://www.kbench.com에서 최신 GeForce 드라이버를 다운받아 설치하고 나니, 문제가 해결되었습니다. 아이보리가드형님 감사합니다. 여러분도 같은 문제를 발견하시면 최신 드라이버를 먼저 설치해 보십시오. Expression Blend와 궁합이 잘 맞는 안전한 그래픽카드를 찾습니다. 저가이면서도 궁합이 잘 맞으면 좋겠지요. Expression Blend를 애용하시는 개발자 &..

[실버라이트] LINQ to JSON 샘플 프로젝트

제가 앞서 소개드린 Json.Net 라이브러리를 이용하여, 간단한 LINQ to JSON 샘플 프로젝트를 만들어 보았습니다. JSON Sample Data 아래 Json 파일(http://hugeflow.com/Sample/lotto.json)을 읽어들여서 LINQ to JSON으로 처리하여 화면에 표현해주는 초간단 예제입니다. { GRWNO : "373", FirstBall : "15", SecondBall : "26", ThirdBall : "37", FourthBall : "42", FifthBall : "43", SixthBall : "45", BonusBall : "09", GRWDate : "2010.01.23", FirstPrzwnerCo : "4", FirstWinamnt : "279180..

[DeepZoom] 소녀시대 친필사인시디 인증샷

실버라이트 3 출시 이후 딥뷰 퍼가기가 제대로 작동하지 않아서 점검중입니다. 그래서 위 사진은 스크린 샷이구요, 실제 컨텐트는 여기에서 보세요. 5월에 함께 재미있는 프로젝트를 했던 S사 관계자 여러분들이 초레어 아이템을 보내왔습니다. 피쓰군이 이런 아이템은 인증샷을 꼭 올려야 한다기에 대충 Scan하여 딥줌으로 제공합니다. 이런 좋은 깜짝 선물을 주신 S사 여러분 감사합니다. ^^; 실버라이트 딥줌기술을 처음 접하시는 분들에게 : [마우스 드래그]를 통해 보시는 위치를 이동하실 수 있습니다. [마우스 왼쪽 버튼 클릭] 또는 [휠버튼 업]으로 확대하실 수 있습니다. [쉬프트키 + 마우스 왼쪽 버튼 클릭] 또는 [휠버튼 다운]으로 축소하실 수 있습니다.

실버라이트로 즐기는 네이버맵

네이버맵도 다음과 같이 실버라이트로 즐겨보십시오. 실제로 서비스되고 있는 네이버맵 사이트에서의 사용자 경험과 한번 비교해 보십시오. 국내 1위 포탈인 네이버 답지않게도 다음맵에 비해서 지원하는 최대 해상도가 떨어집니다만, 독점과 독주를 견제하는 국내업체 간의 건강한 경쟁구도는 언제나 환영입니다! (다음맵 훌륭하죠. 하지만 네이버맵도 파이팅~!) 조작법 지도 이동 - 마우스 드래그, 방향키, Ctrl+방향키(섬세한 이동) 지도 줌 인/아웃 - 마우스 휠버튼, PageUp키, PageDown키 * 전체화면 모드에서는 마우스 휠버튼이 작동하지 않습니다.

실버라이트로 즐기는 다음맵 (개선판)

제가 며칠 전에 포스팅했던 '다음맵을 실버라이트로 맛보기'에서 [다른 개념으로 접근한 엔진]도 동시에 개발 중이라고 말씀드렸었는데요. 이제 완성이 되어 적용이 되었습니다. (boxmile 수고했어~) 한 번 사용해 보시고 피드백도 많이 부탁드립니다. ^^ (어떤 Exception이 숨어 있다가 브라우저를 죽일 수도 있으니, 브라우저에 중요한 내용이 함께 떠 있는 경우에는 특히 주의하세요!) 40.8kb(41802byte) 버전 다음과 같은 변화가 있습니다. - 용량을 41kb로 다이어트 했습니다. - 지도 종류를 선택할 수 있습니다. - Page Up, Page Down으로 줌 인/아웃을 지원합니다. (Full Screen 모드에서도 사용 가능) - Control 키와 방향키를 누르면 좀 더 섬세한 이동..

인터넷지도에 대한 단상 (부제 : 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에 나갈 때 쯤에는 좋은 녀석이 완성되어 있을 것 같습니다. 기반이 되는 ..

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차원 상에 분포된 객..

실버라이트 2 RC0에서 HttpUtility.UrlEncode 정상적 사용이 가능하네요.

이글을 보시면 그동안 실버라이트에서 UrlEncode를 사용할 때는 무조건 두번 중복해서 사용하는 게, 원하는 결과를 얻어오는 팁이었습니다. string encoded = HttpUtility.UrlEncode(HttpUtility.UrlEncode(something)); 이번에 RC0에서 다시 확인해 보니, 한 번만 사용해도 정상 작동하네요. string encoded = HttpUtility.UrlEncode(something); // 이젠 정상적으로 한 번만!!! Beta 2에서 HttpUtility.UrlEncode를 사용하셨었다면, 포팅하실 때 한번 확인해 주시는 것이 좋겠습니다. 감사합니다.