'2008/07'에 해당되는 글 15건
- 2008/07/31 회의실의 열기 그리고 위(Wii)기
- 2008/07/30 FLICKLOCK이 silverlight.net Gallery에 등록되었습니다. (8)
- 2008/07/30 Elevator Pitch (2)
- 2008/07/28 물결기호(~)를 영어로 (2)
- 2008/07/27 Deep Zoom Composer Online (PHP 버전) 제작기 (4)
- 2008/07/24 Namespace와 LINQ to XML
- 2008/07/24 MouseWheelHelper.cs (Ver. 휴즈플로우)
- 2008/07/20 FLICKLOCK?! - Flickr + Clock (Silverlight) (3)
- 2008/07/20 FLICKLOCK (플리클락) ?! - Flickr + Clock을 소개합니다. (16)
- 2008/07/09 UserControl 부모, 자식이 같은 이름의 스토리보드를 가지고 있을 경우, '간혹' 발생하는 에러 (2)
- 2008/07/03 [SL2 B2] Socket 사용을 위한 Policy Server 만들기
- 2008/07/01 [Remake] MediaElement 동시사용의 한계는 123개다.
- 2008/07/01 Remix Korea 2008 - 피그맵 시연 동영상
- 2008/07/01 Microsoft MVP Offline 모임 (06/30) (10)
- 2008/07/01 MSDN Premium Subscription + VSTS 2008
FLICKLOCK이 silverlight.net Gallery에 등록되었습니다.

제가 이런 스크린샷을 보내진 않았던 것 같은데...
이런 이미지로 등록이 되었습니다. ㅜ_ㅠ
지금 Silverlight Gallery에서 확인 가능하십니다.
자세한 내용은 제가 예전에 작성했던 포스트(아래)를 참고하실 수 있습니다.
FLICKLOCK을 소개하는 포스트
FLICKLOCK을 소개하는 포스트 (영문)
View It 버튼을 누르시면 위와 같은 Live Demo 페이지로 링크가 됩니다.
운좋게 초기 평점이 좋아서 Top Rated 상위에 등록이 되었습니다만,
시간이 지날수록 떨어질 것으로 보입니다. ^^;;
이 샘플을 보는 외국인들의 마음 속에 은연중 DOKDO가 한국땅으로 자리잡기를
바라는 마음에 페이지 여기 저기에 DOKDO / SOUTH KOREA를 넣었습니다.
그리고 사진대신 시간이 표시되는 5초 동안은 FLICKLOCK을 클릭 했을 때,
독도와 동해 홍보사이트로 이동되게 하였습니다.
FLICKLOCK을 통해 실버라이트에 관심 갖는 외국인들 중 몇몇이라도
독도를 한국땅으로 바로 아는데, 보탬이 되었으면 좋겠네요.
감사합니다.
대략 이런 내용을 포함하여, 30초 이내에 100~150 단어(영단어 기준?)로 설명하는 것.
참고 : http://en.wikipedia.org/wiki/Elevator_pitch
-
-
길버트 2008/07/31 09:23
제가 책을 접한 것은 아니고, 얼마전 회사에 TFS를 셋업해서 요즘 열심히 쓰고 있는데,
거기서 팀 프로젝트 생성할 때, 애자일 템플릿을 쓸 수 있더라구요.
그리고 친절하게 가이드가 나와있길래 훑어보는데,
개념적으로 쓸만한 내용이 많이 보여서 그중 하나 정리해 보았습니다.
[프리젠테이션 젠]이란 책도 기회되면 읽어보겠습니다.
-
ScreenShot
Intro
하는 생각에서 PHP로 딥줌 컴포저를 만들기 시작하였습니다.
일단 목표기능은 Composition 타입의 딥줌 데이터를 생성하는 것!
다행히 그동안 DeepView Lite 등을 개발하면서 Deep Zoom Data Structure는
어느 정도 빠삭하게 알고 있어서 컴포징하는 Core 부분 구현은 그렇게 시간이 오래 걸리지 않았습니다.
200라인짜리 PHP프로그램이 완성되는데, 3시간 정도 걸린 것 같습니다.
오히려 라이브 데모 사이트 꾸미는데 시간이 더 걸렸네요. ^^;;
Live Demo
아래 링크를 방문하셔서
딥줌 사진 구경도 하시고, 사진올리기도 해 보십시오.
아참! 잊지마시고 전체화면 기능도 사용해 보십시오.
(대형 와이드 모니터에서 보면 간지가...^^)
http://hugeflow.com/DZCPHP/
주의!
현재 삭제 기능은 관리자에게만 있으므로, 잘못 올린 사진은 직접 지우실 수가 없습니다.
'위험한' 사진은 절대 올리지 마세요. 무슨 말씀인지 알겠죠????
Issue
작업을 하다 보니 앞으로 넘어야 할 산들이 좀 있습니다.
1. 업로드 용량제한
세들어 사는 웹호스팅 환경이다 보니, 보통 10MB 정도의 Upload 제한이 있습니다.
각자의 서버에서는 phpinfo를 수행하면 PHP Core파트의 upload_max_filesize 변수로 확인하실 수 있습니다.
컴포저의 작동 한계에 도달하기 전에 업로드 용량제한에 먼저 부딪힙니다.
그래도 디카가 찍어내는 이미지들을 대상으로 해서 사용하기에는 부족함이 없어 보입니다.
2. 축소 알고리즘이 열악함
단계별 축소 이미지를 만들어 내기 위해
imagecopyresampled, imagecopyresize 따위의 함수를 사용하게 되는데,
이때 축소된 이미지에 만족할 수 없었습니다.
| Microsoft Deep Zoom Composer | PHP Deep Zoom Composer |
| 8/0_0.jpg | |
| 11/3_2.jpg | |
| 12/8_4.jpg | |
맨 마지막의 12/8_4.jpg 파일은 원본 사이즈를 축소 과정 없이 타일링한 파일로서,
퀄리티 차이나 느낌차이가 크게 나지 않습니다.
나머지 축소 과정을 거친 파일들은 Microsoft의 것은 Blur를 준 느낌이 나는 반면,
PHP에 의한 것은 Sharpen을 과도하게 먹인 느낌이 나는군요.
두 output 모두 맘에는 딱 안들지만 PHP 쪽의 결과물이 더 눈에 거슬립니다.
(DeepView Lite로 볼 때 느낌이 그렇습니다.)
개선할 방법이 있는지 생각해 봐야겠습니다.
3. Speed
컴포징 속도는 개인 PC와 웹호스팅 환경에 따라 느낌의 차이가 많이 나실 겁니다.
컴포징 전에 업로드하는 시간도 존재하구요.
일단 Live Demo 사이트에서는 업로드 시간과 컴포징 소요 시간을 분리한 뒤,
컴포징 소요 시간을 저장해 놓았으므로 열람하실 수 있습니다.
Composition Type의 Deep Zoom Data를 얻는데 있어서는
제 노트북에서 Microsoft Deep Zoom Composer를 통하는 것보다
빠르게 작업할 수 있다고 느꼈습니다.
무엇보다 그 과정의 간결함이 크게 작용하였습니다.
사진만 선택해서 업로드 하면, DeepView Lite로 바로 볼 수 있고,
바로 퍼가기도 가능하다는 것 말이죠.
Epilogue
브로드밴드 서비스를 위해서는 Deep Zoom 컴포징 서버가 따로 존재해야 하겠지만,
개인적으로 가볍게 사용할 목적으로는 Deep Zoom은 그렇게 멀기만 한 기술이 아닙니다.
(서버 버전의 컴포저는 이과장님이 전문이십니다.)
위 시도를 통해서, 제로보드, 태터툴즈(or 텍스트 큐브) 등 PHP 기반의 프로그램에서도
손쉽게 Deep Zoom 컴포징 & View 기능을 내장할 수 있다는 가능성을 확인하였습니다.
PHP는 제가 오래 사용해 왔던 언어라서 이번 실험에 사용했습니다만,
Image Handling이 가능한 수많은 서버 언어에서도 비슷한 시도가 가능하겠습니다.
감사합니다.
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="ButtonStyleSample.App"
xmlns:vsm="clr-namespace:System.Windows;assembly=System.Windows"
>
<vsm:Application.Resources>
<Style x:Key="myButtonStyle" TargetType="Button">
...생략
</Style>
<Style x:Key="yourButtonStyle" TargetType="Button">
...생략
</Style>
<Style x:Key="herButtonStyle" TargetType="Button">
...생략
</Style>
<Style x:Key="hisButtonStyle" TargetType="Button">
...생략
</Style>
</vsm:Application.Resources>
</Application>
string xml에 위의 내용이 들어있다고 가정하고,
위와 같이 xDoc을 준비해 놓고,
XML데이터에서 Style을 돌면서 x:Key의 Value값만 쏙쏙 뽑아내는 LINQ구문을 작성한다면
어떻게 하시겠습니까?
오답
첨엔 막연히 이렇게 해봤습니다.
select (string)c.Attribute("x:Key").Value;
네, 에러가 납니다.
Attribute의 이름에는 콜론(:)을 추가할 수 없습니다.
Attribute메서드의 파라미터는 XName이구요.
XName을 생성할 때 콜론(:)이 들어간 문자열을 허용하지 않기 때문입니다.
정답
var result = from c in xDoc.Descendants("Style")
select (string)c.Attribute(x + "Key").Value;
XNamespace + string이 XName이 되도록 연산기호 +에 대해
오퍼레이트 오버라이딩이 잘 되어있더라구요.
x + "Key" 이런 식으로 사용하는 것은 썩 직관적이지 않아서 맘에 안드는데,
알고 나니까 잘 쓸 수는 있겠더라구요. ^^
하지만 역시 LINQ는 쓰면 쓸수록 편한 것 같습니다.
Enjoy your LINQ!
Silverlight 1.1 시대의 그것과도 다르고
DeepZoom Composer에서 자동 생성해주는 프로젝트에 들어있는 그것과도 다른...
MouseWheelHelper.cs - Ver. 휴즈플로우
성능상의 차이도.. 글쎄요 ^^;
정리 및 공유 차원에서 포스팅합니다.
Usage
wheelHelper.Moved += new EventHandler<MouseWheelEventArgs>(wheelHelper_Moved);
void wheelHelper_Moved(object sender, MouseWheelEventArgs e)
{
e.Handled = true;
if (e.Delta > 0) // 휠 버튼 업!
{
// Zoom In 따위를 구현
}
else if (e.Delta < 0) // 휠 버튼 다운!
{
// Zoom Out 따위를 구현
}
}
FLICKLOCK?! - Flickr + Clock (Silverlight)

FLICKLOCK?
FLICKLOCK is 'FLICKR + CLOCK'.
It shows you recent photo from flickr.com using Flickr Open API
Does it looks like something you have event seen?
You're right!
It's exactly is the homage to UNIQLOCK.
SPECIFICATION
UNIQLOCK is showing the 'Time Zone Name' under the time text.
Butm FLICKLOCK shows 'DOKDO / SOUTH KOREA' (hard coded).
It means 'Dokdo(=island) is absolutely Korean territory'.
You can see clock for 5 seconds (the way UNIQLOCK does),
then you can see 5 recent photos from flickr.com.
1. If you click FLICKLOCK when the photos are being showed,
it will float new window to get the flickr.com webpage for the photo.
2. If you click FLICKLOCK when time text is being showed,
it will float new window to get the 'Dokdo Museum'
Share
Click to SHARE button to get the code for sharing.
Source
Silverlight 2 Beta 2
I hope it would be helpful to you.
-
SadTear 2008/11/07 10:28
Flicklock의 share 소스가 잘못 된거 같아요 .
첫째중의 타입에 x-silverlight-2-b2 로 되어있습니다.
<object data='data:application/x-silverlight,' type='application/x-silverlight-2-b2' width='160' height='120'>
이렇게 수정해서 적용하니까 되더라고요.
<object data='data:application/x-silverlight,' type='application/x-silverlight-2' width='160' height='120'>
share 버튼 눌러서 퍼갔는데 갑자기 이전버전을 설치하라고 그래서 놀랬네요 ㅎㅎ;
FLICKLOCK (플리클락) ?! - Flickr + Clock을 소개합니다.

이올린에 북마크하기
이올린에 추천하기
MouseWheelHelper.cs
Flicklock_Source.zip