<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="/style/rss/style.xsl" type="text/xsl" media="screen"?>
<rss version="2.0">
	<channel>
		<title>길버라이트(GILVERLIGHT)</title>
		<link>http://gilverlight.net/</link>
		<description>Gilbert&#039;s silverlight workshop</description>
		<language>ko</language>
		<pubDate>Fri, 25 Jul 2008 08:02:51 +0900</pubDate>
		<generator>Tistory 1.1</generator>
		<image>
		<title>길버라이트(GILVERLIGHT)</title>
		<url><![CDATA[http://cfs3.tistory.com/upload_control/download.blog?fhandle=YmxvZzEwNjg3MEBmczMudGlzdG9yeS5jb206L2F0dGFjaC8wLzg2LmpwZw==]]></url>
		<link>http://gilverlight.net/</link>
		<description>Gilbert&#039;s silverlight workshop</description>
		</image>
		<item>
			<title>Namespace와 LINQ to XML</title>
			<link>http://gilverlight.net/2904</link>
			<description>&lt;DIV style=&quot;PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; PADDING-TOP: 10px; BACKGROUND-COLOR: #e4e4e4&quot;&gt;&amp;lt;Application xmlns=&quot;&lt;A href=&quot;http://schemas.microsoft.com/winfx/2006/xaml/presentation&quot;&gt;http://schemas.microsoft.com/winfx/2006/xaml/presentation&lt;/A&gt;&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; xmlns:x=&quot;&lt;A href=&quot;http://schemas.microsoft.com/winfx/2006/xaml&quot;&gt;http://schemas.microsoft.com/winfx/2006/xaml&lt;/A&gt;&quot; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; x:Class=&quot;ButtonStyleSample.App&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; xmlns:vsm=&quot;clr-namespace:System.Windows;assembly=System.Windows&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;lt;vsm:Application.Resources&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;lt;Style x:Key=&quot;myButtonStyle&quot; TargetType=&quot;Button&quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; ...생략&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;lt;/Style&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;lt;Style x:Key=&quot;yourButtonStyle&quot; TargetType=&quot;Button&quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; ...생략&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;lt;/Style&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;lt;Style x:Key=&quot;herButtonStyle&quot; TargetType=&quot;Button&quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; ...생략&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;lt;/Style&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;lt;Style x:Key=&quot;hisButtonStyle&quot; TargetType=&quot;Button&quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; ...생략&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;lt;/Style&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/vsm:Application.Resources&amp;gt;&lt;br /&gt;&amp;lt;/Application&amp;gt;&lt;br /&gt;&lt;/DIV&gt;&lt;br /&gt;string xml에 위의 내용이 들어있다고 가정하고,&lt;br /&gt;&lt;br /&gt;
&lt;DIV style=&quot;PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; PADDING-TOP: 10px; BACKGROUND-COLOR: #e4e4e4&quot;&gt;XDocument xDoc = XDocument.Parse(xml);&lt;/DIV&gt;&lt;br /&gt;위와 같이 xDoc을 준비해 놓고,&lt;br /&gt;&lt;br /&gt;XML데이터에서 Style을 돌면서 x:Key의 Value값만 쏙쏙 뽑아내는 LINQ구문을 작성한다면&lt;br /&gt;어떻게 하시겠습니까?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;FONT size=3&gt;&lt;STRONG&gt;&lt;U&gt;오답&lt;/U&gt;&lt;/STRONG&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;br /&gt;첨엔 막연히 이렇게 해봤습니다.&lt;br /&gt;&lt;br /&gt;
&lt;DIV style=&quot;PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; PADDING-TOP: 10px; BACKGROUND-COLOR: #e4e4e4&quot;&gt;var result = from c in xDoc.Descendants(&quot;Style&quot;)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; select (string)c.Attribute(&lt;STRONG&gt;&lt;FONT color=#ff7635&gt;&quot;x:Key&quot;&lt;/FONT&gt;&lt;/STRONG&gt;).Value;&lt;/DIV&gt;&lt;br /&gt;네, 에러가 납니다.&lt;br /&gt;Attribute의 이름에는 콜론(:)을 추가할 수 없습니다.&lt;br /&gt;&lt;br /&gt;Attribute메서드의 파라미터는 XName이구요.&lt;br /&gt;XName을 생성할 때 콜론(:)이 들어간 문자열을 허용하지 않기 때문입니다.&lt;br /&gt;&lt;br /&gt;&lt;STRONG&gt;&lt;U&gt;&lt;FONT size=3&gt;정답&lt;/FONT&gt;&lt;/U&gt;&lt;/STRONG&gt;&lt;br /&gt;&lt;br /&gt;
&lt;DIV style=&quot;PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; PADDING-TOP: 10px; BACKGROUND-COLOR: #e4e4e4&quot;&gt;&lt;STRONG&gt;&lt;FONT color=#ff7635&gt;XNamespace x = &quot;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;A href=&quot;http://schemas.microsoft.com/winfx/2006/xaml&quot;&gt;&lt;STRONG&gt;&lt;FONT color=#ff7635&gt;http://schemas.microsoft.com/winfx/2006/xaml&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/A&gt;&lt;STRONG&gt;&lt;FONT color=#ff7635&gt;&quot;;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;br /&gt;var result = from c in xDoc.Descendants(&quot;Style&quot;)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; select (string)c.Attribute(&lt;STRONG&gt;&lt;FONT color=#ff7635&gt;x + &quot;Key&quot;&lt;/FONT&gt;&lt;/STRONG&gt;).Value;&lt;/DIV&gt;&lt;br /&gt;XNamespace + string이 XName이 되도록 연산기호 +에 대해 &lt;br /&gt;오퍼레이트 오버라이딩이 잘 되어있더라구요.&lt;br /&gt;&lt;br /&gt;x + &quot;Key&quot; 이런 식으로 사용하는 것은 &lt;STRONG&gt;썩 직관적이지 않아서&lt;/STRONG&gt; 맘에 안드는데,&lt;br /&gt;알고 나니까 잘 쓸 수는 있겠더라구요. ^^&lt;br /&gt;&lt;br /&gt;&lt;STRONG&gt;&lt;FONT size=3&gt;하지만 역시 LINQ는 쓰면 쓸수록 편한 것 같습니다.&lt;/FONT&gt;&lt;/STRONG&gt;&lt;br /&gt;&lt;br /&gt;Enjoy your LINQ!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</description>
			<category>Lecture</category>
			<category>LINQ</category>
			<category>namespace</category>
			<category>Silverlight</category>
			<category>xml</category>
			<category>실버라이트</category>
			<author>길버트</author>
			<guid>http://gilverlight.net/2904</guid>
			<comments>http://gilverlight.net/2904#entry2904comment</comments>
			<pubDate>Thu, 24 Jul 2008 22:13:03 +0900</pubDate>
		</item>
		<item>
			<title>MouseWheelHelper.cs (Ver. 휴즈플로우)</title>
			<link>http://gilverlight.net/2903</link>
			<description>&lt;P&gt;Silverlight 1.1 시대의 그것과도 다르고&lt;br /&gt;DeepZoom Composer에서 자동 생성해주는 프로젝트에 들어있는 그것과도 다른...&lt;br /&gt;&lt;br /&gt;MouseWheelHelper.cs - Ver. 휴즈플로우&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://gilverlight.tistory.com/attachment/hk070000000001.cs&quot;&gt;&lt;img src=&quot;http://cfs.tistory.com/blog/image/extension/unknown.gif&quot; alt=&quot;&quot; style=&quot;vertical-align: middle;&quot; /&gt; MouseWheelHelper.cs&lt;/a&gt;&lt;/div&gt;&lt;/P&gt;소스가 약간 다르지만 사용방법은 다를 것이 없습니다.&lt;br /&gt;성능상의 차이도.. 글쎄요 ^^;&lt;br /&gt;&lt;br /&gt;정리 및 공유 차원에서 포스팅합니다.&lt;br /&gt;&lt;br /&gt;&lt;U&gt;&lt;STRONG&gt;Usage&lt;/STRONG&gt;&lt;/U&gt;&lt;br /&gt;&lt;br /&gt;
&lt;DIV style=&quot;PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; PADDING-TOP: 10px; BACKGROUND-COLOR: #e4e4e4&quot;&gt;&lt;FONT color=#993366&gt;MouseWheelHelper&lt;/FONT&gt; wheelHelper = new &lt;FONT color=#993366&gt;MouseWheelHelper&lt;/FONT&gt;(this);&lt;br /&gt;wheelHelper.Moved += new EventHandler&amp;lt;&lt;FONT color=#993366&gt;MouseWheelEventArgs&lt;/FONT&gt;&amp;gt;(wheelHelper_Moved);&lt;/DIV&gt;&lt;br /&gt;
&lt;DIV style=&quot;PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; PADDING-TOP: 10px; BACKGROUND-COLOR: #e4e4e4&quot;&gt;
&lt;P&gt;void wheelHelper_Moved(object sender, &lt;FONT color=#993366&gt;MouseWheelEventArgs &lt;/FONT&gt;e)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp; &amp;nbsp; e.Handled = true;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; if (e.Delta &amp;gt; 0) // 휠 버튼 업!&lt;br /&gt;&amp;nbsp; &amp;nbsp; {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// Zoom In 따위를 구현&lt;br /&gt;&amp;nbsp; &amp;nbsp; }&lt;br /&gt;&amp;nbsp; &amp;nbsp; else if (e.Delta &amp;lt; 0) // 휠 버튼 다운!&lt;br /&gt;&amp;nbsp; &amp;nbsp; {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; // Zoom Out 따위를 구현&lt;br /&gt;&amp;nbsp; &amp;nbsp; }&lt;br /&gt;}&lt;/P&gt;&lt;/DIV&gt;</description>
			<category>Workshop</category>
			<category>MouseWheelHelper</category>
			<category>Silverlight</category>
			<category>실버라이트</category>
			<category>휠버튼</category>
			<category>휴즈플로우</category>
			<author>길버트</author>
			<guid>http://gilverlight.net/2903</guid>
			<comments>http://gilverlight.net/2903#entry2903comment</comments>
			<pubDate>Thu, 24 Jul 2008 08:06:43 +0900</pubDate>
		</item>
		<item>
			<title>FLICKLOCK?! - Flickr + Clock (Silverlight)</title>
			<link>http://gilverlight.net/2901</link>
			<description>&lt;STRONG&gt;&lt;U&gt;&lt;FONT size=3&gt;&lt;object data=&#039;data:application/x-silverlight,&#039; type=&#039;application/x-silverlight-2-b2&#039; width=&quot;160&quot; height=&quot;120&quot;&gt;&amp;#9;&amp;#9;&amp;#9;&lt;param name=&#039;source&#039; value=&#039;http://shiverlight.net/Sample/Flicklock/FLICKLOCK.xap&#039;/&gt;&amp;#9;&amp;#9;&amp;#9;&lt;param name=&#039;background&#039; value=&#039;Transparent&#039;/&gt;&amp;#9;&amp;#9;&amp;#9;&lt;param name=&#039;windowless&#039; value=&#039;true&#039;/&gt;            &lt;param name=&#039;enableHtmlAccess&#039; value=&#039;true&#039;/&gt;&amp;#9;&amp;#9;&amp;#9;&lt;a href=&#039;http://go.microsoft.com/fwlink/?LinkID=115261&#039; style=&#039;text-decoration: none;&#039;&gt;     &amp;#9;&amp;#9;&amp;#9;&lt;img src=&#039;http://shiverlight.net/Sample/Flicklock/NotInstalled.png&#039; alt=&#039;Get Microsoft Silverlight&#039; style=&#039;border-style: none&#039;/&gt;&amp;#9;&amp;#9;&amp;#9;&lt;/a&gt;&amp;#9;&amp;#9;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;FLICKLOCK?&lt;br /&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/U&gt;&lt;/STRONG&gt;FLICKLOCK is &#039;FLICKR + CLOCK&#039;.&lt;br /&gt;It shows you recent photo from &lt;A href=&quot;http://flickr.com/&quot; target=_blank&gt;flickr.com&lt;/A&gt; using &lt;A href=&quot;http://www.flickr.com/services/api/&quot; target=_blank&gt;&lt;STRONG&gt;&lt;FONT color=#557191&gt;Flickr Open API&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/A&gt;&lt;br /&gt;&lt;br /&gt;Does it looks like something you have event seen?&lt;br /&gt;You&#039;re right!&lt;br /&gt;It&#039;s exactly is the homage to &lt;A href=&quot;http://www.uniqlo.jp/uniqlock/&quot; target=_blank&gt;&lt;STRONG&gt;&lt;FONT color=#557191&gt;UNIQLOCK&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/A&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;STRONG&gt;&lt;U&gt;&lt;FONT size=3&gt;SPECIFICATION&lt;/FONT&gt;&lt;/U&gt;&lt;/STRONG&gt;&lt;br /&gt;&lt;br /&gt;UNIQLOCK is showing the &#039;Time Zone Name&#039; under the time text.&lt;br /&gt;Butm FLICKLOCK shows &lt;STRONG&gt;&lt;FONT color=#ff0000&gt;&#039;&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;DOKDO / SOUTH KOREA&#039;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT color=#000000&gt; (hard coded).&lt;br /&gt;&lt;/FONT&gt;&lt;br /&gt;It means &#039;&lt;STRONG&gt;Dokdo&lt;/STRONG&gt;(=island) is absolutely &lt;STRONG&gt;Korean territory&#039;&lt;/STRONG&gt;.&lt;br /&gt;&lt;br /&gt;You can see clock for 5 seconds (the way UNIQLOCK does),&lt;br /&gt;then you can see 5 recent photos from flickr.com.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #9b18c1&quot; color=#ffffff size=4&gt;1.&lt;/FONT&gt;&amp;nbsp;If you click FLICKLOCK when the photos are being showed, &amp;nbsp;&lt;br /&gt;it will float new window to get the flickr.com webpage for the photo.&lt;br /&gt;&lt;br /&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #9b18c1&quot; color=#ffffff size=4&gt;2.&lt;/FONT&gt; If you click FLICKLOCK when time text is being showed,&lt;br /&gt;it will float new window to get the &#039;Dokdo Museum&#039;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;STRONG&gt;&lt;U&gt;&lt;FONT size=3&gt;Share&lt;/FONT&gt;&lt;/U&gt;&lt;/STRONG&gt;&lt;br /&gt;&lt;br /&gt;Click to SHARE button to get the code for sharing.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;STRONG&gt;&lt;U&gt;&lt;FONT size=3&gt;Source&lt;br /&gt;&lt;/FONT&gt;&lt;/U&gt;&lt;/STRONG&gt;&lt;br /&gt;
&lt;DIV class=&quot;imageblock center&quot; style=&quot;CLEAR: both; TEXT-ALIGN: center&quot;&gt;&lt;A href=&quot;http://gilverlight.net/attachment/jk060000000000.zip&quot;&gt;&lt;FONT color=#557191&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://gilverlight.tistory.com/attachment/hk060000000000.zip&quot;&gt;&lt;img src=&quot;http://cfs.tistory.com/blog/image/extension/zip.gif&quot; alt=&quot;&quot; style=&quot;vertical-align: middle;&quot; /&gt; Flicklock_Source.zip&lt;/a&gt;&lt;/div&gt;&lt;/A&gt;&lt;A href=&quot;http://gilverlight.net/attachment/jk060000000000.zip&quot;&gt;&lt;/A&gt;&lt;A href=&quot;http://gilverlight.net/attachment/jk060000000000.zip&quot;&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;/DIV&gt;&lt;br /&gt;I hope it would be helpful to you.</description>
			<category>Workshop</category>
			<category>flickr</category>
			<category>Silverlight</category>
			<category>uniqlock</category>
			<author>길버트</author>
			<guid>http://gilverlight.net/2901</guid>
			<comments>http://gilverlight.net/2901#entry2901comment</comments>
			<pubDate>Sun, 20 Jul 2008 01:49:03 +0900</pubDate>
		</item>
		<item>
			<title>FLICKLOCK (플리클락) ?! - Flickr + Clock을 소개합니다.</title>
			<link>http://gilverlight.net/2900</link>
			<description>&lt;STRONG&gt;&lt;U&gt;&lt;FONT size=3&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;object data=&#039;data:application/x-silverlight,&#039; type=&#039;application/x-silverlight-2-b2&#039; width=&quot;160&quot; height=&quot;120&quot;&gt;&amp;#9;&amp;#9;&amp;#9;&lt;param name=&#039;source&#039; value=&#039;http://shiverlight.net/Sample/Flicklock/FLICKLOCK.xap&#039;/&gt;&amp;#9;&amp;#9;&amp;#9;&lt;param name=&#039;background&#039; value=&#039;Transparent&#039;/&gt;&amp;#9;&amp;#9;&amp;#9;&lt;param name=&#039;windowless&#039; value=&#039;true&#039;/&gt;            &lt;param name=&#039;enableHtmlAccess&#039; value=&#039;true&#039;/&gt;&amp;#9;&amp;#9;&amp;#9;&lt;a href=&#039;http://go.microsoft.com/fwlink/?LinkID=115261&#039; style=&#039;text-decoration: none;&#039;&gt;     &amp;#9;&amp;#9;&amp;#9;&lt;img src=&#039;http://shiverlight.net/Sample/Flicklock/NotInstalled.png&#039; alt=&#039;Get Microsoft Silverlight&#039; style=&#039;border-style: none&#039;/&gt;&amp;#9;&amp;#9;&amp;#9;&lt;/a&gt;&amp;#9;&amp;#9;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;FLICKLOCK?&lt;/FONT&gt;&lt;/U&gt;&lt;/STRONG&gt;&lt;br /&gt;&lt;br /&gt;FLICKLOCK은 FLICKR + CLOCK으로,&lt;br /&gt;&lt;A href=&quot;http://www.flickr.com/services/api/&quot; target=_blank&gt;&lt;STRONG&gt;Flickr Open API&lt;/STRONG&gt;&lt;/A&gt;를 이용하여 flickr.com에 업로드 된 최신 이미지를 보여줍니다.&lt;br /&gt;&lt;br /&gt;어디서 많이 본 모습을 하고 있지요?&lt;br /&gt;맞습니다. &lt;br /&gt;많은 블로거들의 사랑을 받는 &lt;A href=&quot;http://www.uniqlo.jp/uniqlock/&quot; target=_blank&gt;&lt;STRONG&gt;UNIQLOCK&lt;/STRONG&gt;&lt;/A&gt;의 &lt;STRONG&gt;&lt;A href=&quot;http://dic.naver.com/search.nhn?target=dic&amp;amp;query=%EC%98%A4%EB%A7%88%EC%A5%AC&amp;amp;ie=utf8&amp;amp;query_utf=&quot; target=_blank&gt;&lt;STRONG&gt;오마주&lt;/STRONG&gt;&lt;/A&gt;&lt;/STRONG&gt;입니다.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;STRONG&gt;&lt;U&gt;&lt;FONT size=3&gt;특징&lt;/FONT&gt;&lt;/U&gt;&lt;/STRONG&gt;&lt;br /&gt;&lt;br /&gt;UNIQLOCK에서는 TIMEZONE 설정을 시계 아래 보여줍니다만,&lt;br /&gt;FLICKLOCK에서는 &lt;STRONG&gt;&lt;FONT color=#ff0000&gt;DOKDO / SOUTH KOREA&lt;/FONT&gt;&lt;/STRONG&gt;란 문구를 하드코딩 해 버렸습니다.&lt;br /&gt;&lt;br /&gt;silverlight.net 공식사이트 갤러리에도 소스와 함께 등록요청을 할 계획인데요,&lt;br /&gt;만약 그대로 등록이 될 경우, 은연 중에 외국인 개발자에게 DOKDO가 한국 땅이라는 메세지를&lt;br /&gt;전할 수 있길 바라고 있습니다.&lt;br /&gt;&lt;br /&gt;UNIQLOCK과 마찬가지로 5초 동안 시계를 보여주고,&lt;br /&gt;FLICKLOCK에 실시간으로 올라온 최신 사진 5개를 1초 간격으로 번갈아가며&lt;br /&gt;노출합니다.&lt;br /&gt;&lt;br /&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #9b18c1&quot; color=#ffffff size=4&gt;1.&lt;/FONT&gt; 각 사진이 화면에 떠있는 동안 FLICKLOCK을 클릭하면,&lt;br /&gt;해당 사진이 등록되어 있는 flickr.com의 페이지를 새창으로 띄워줍니다.&lt;br /&gt;&lt;br /&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #9b18c1&quot; color=#ffffff size=4&gt;2.&lt;/FONT&gt; 시계만 보이고 있는 동안 FLICKLOCK을 클릭하면,&lt;br /&gt;독도 박물관 사이트(영문)를 새창으로 띄워줍니다.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;STRONG&gt;&lt;U&gt;&lt;FONT size=3&gt;퍼가기&lt;/FONT&gt;&lt;/U&gt;&lt;/STRONG&gt;&lt;br /&gt;&lt;br /&gt;SHARE버튼을 누르면 퍼가기 코드를 제공합니다.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;STRONG&gt;&lt;U&gt;&lt;FONT size=3&gt;소스공개&lt;br /&gt;&lt;/FONT&gt;&lt;/U&gt;&lt;/STRONG&gt;&lt;br /&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://gilverlight.tistory.com/attachment/ik060000000001.zip&quot;&gt;&lt;img src=&quot;http://cfs.tistory.com/blog/image/extension/zip.gif&quot; alt=&quot;&quot; style=&quot;vertical-align: middle;&quot; /&gt; Flicklock_Source.zip&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;업무시간 쪼개서 만드느라 급하게 만들어서, 소스가 조금 허접합니다만,&lt;br /&gt;응용작품 만드시는데 도움이 되시길 바랍니다.&lt;br /&gt;</description>
			<category>Workshop</category>
			<category>DokDo</category>
			<category>flickr</category>
			<category>Silverlight</category>
			<category>uniqlock</category>
			<category>독도</category>
			<category>실버라이트</category>
			<category>유니클락</category>
			<author>길버트</author>
			<guid>http://gilverlight.net/2900</guid>
			<comments>http://gilverlight.net/2900#entry2900comment</comments>
			<pubDate>Sun, 20 Jul 2008 01:33:05 +0900</pubDate>
		</item>
		<item>
			<title>UserControl 부모, 자식이 같은 이름의 스토리보드를 가지고 있을 경우, &#039;간혹&#039; 발생하는 에러</title>
			<link>http://gilverlight.net/2898</link>
			<description>&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;&lt;FONT size=3&gt;상황설명&lt;/FONT&gt;&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;UserControl 부모와 UserControl 자식이&lt;br /&gt;UserControl.Resource 하위에 같은 이름을 가진 스토리보드를 가지고 있는 상황에서,&lt;br /&gt;자식을 생성하여 부모의 LayoutRoot.Children에 Add를 하려고 시도하면,&lt;br /&gt;경우에 따라서 다음 그림과 같이 &lt;STRONG&gt;ArgumentException&lt;/STRONG&gt;을 유발합니다.&lt;/P&gt;
&lt;P&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;img src=&quot;http://cfs9.tistory.com/image/6/tistory/2008/07/09/16/36/48746a8f6e333&quot; alt=&quot;사용자 삽입 이미지&quot; height=&quot;285&quot; width=&quot;594&quot;/&gt;&lt;/div&gt;&lt;br /&gt;정확히 어떤 경우에 이렇게 되는지 실험을 통해 알아 보았습니다.&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;STRONG&gt;&lt;U&gt;&lt;FONT size=3&gt;실험조건&lt;/FONT&gt;&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Fafamama&lt;/STRONG&gt; 클래스 - 부모 역할을 하는 UserControl 입니다.&lt;br /&gt;&lt;STRONG&gt;Son&lt;/STRONG&gt; 클래스 - 자식 역할을 하는 UserControl입니다.&lt;br /&gt;&lt;STRONG&gt;Daughter&lt;/STRONG&gt; 클래스 - 자식 역할을 하는 UserControl입니다.&lt;/P&gt;
&lt;P&gt;Fafamama는 LayoutRoot의 Opacity를 조정하는 &lt;STRONG&gt;sbShow란 Storyboard&lt;/STRONG&gt;를 UserControl.Resources 하위에 가지고 있으며,&lt;br /&gt;Son은 Fafamama를 쏙 빼 닮아 자신의 LayoutRoot의 Opacity를 조정하는&lt;STRONG&gt; sbShow란 똑같은 이름의&lt;br /&gt;Storyboard&lt;/STRONG&gt;를 가지고 있습니다.&lt;br /&gt;Daughter는 Son이 가지고 있는 스토리보드와 똑같은 스토리보드를 이름만 다르게 하여 가지고 있습니다.&lt;/P&gt;
&lt;P&gt;Fafamama.&lt;FONT color=#9b18c1&gt;&lt;STRONG&gt;MakeSons&lt;/STRONG&gt;&lt;/FONT&gt;() 메서드 - 두 명의 아들을 생성합니다.&lt;br /&gt;Fafamama.&lt;STRONG&gt;&lt;FONT color=#ff3399&gt;MakeDaughters&lt;/FONT&gt;&lt;/STRONG&gt;() 메서드 - 두 명의 딸을 생성합니다.&lt;/P&gt;
&lt;P&gt;총 6가지 케이스를 실험하기 위해 6번 Fafamama를 생성합니다.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Case 1)&lt;/STRONG&gt; Fafamama의 생성자에서 &lt;STRONG&gt;&lt;FONT color=#ff3399&gt;MakeDaughters &lt;/FONT&gt;&lt;/STRONG&gt;호출&lt;br /&gt;&lt;STRONG&gt;Case 2)&lt;/STRONG&gt; Fafamama의 Loaded 이벤트에서 &lt;STRONG&gt;&lt;FONT color=#ff3399&gt;MakeDaughters &lt;/FONT&gt;&lt;/STRONG&gt;호출&lt;br /&gt;&lt;STRONG&gt;Case 3)&lt;/STRONG&gt; 버튼 클릭에 의해 이미 생성되어 있는 Fafamama의 &lt;STRONG&gt;&lt;FONT color=#ff3399&gt;MakeDaughters &lt;/FONT&gt;&lt;/STRONG&gt;호출&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Case 4)&lt;/STRONG&gt; Fafamama의 생성자에서 &lt;STRONG&gt;&lt;FONT color=#9b18c1&gt;MakeSons &lt;/FONT&gt;&lt;/STRONG&gt;호출&lt;br /&gt;&lt;STRONG&gt;Case 5)&lt;/STRONG&gt; Fafamama의 Loaded 이벤트에서 &lt;STRONG&gt;&lt;FONT color=#9b18c1&gt;MakeSons &lt;/FONT&gt;&lt;/STRONG&gt;호출&lt;br /&gt;&lt;STRONG&gt;Case 6)&lt;/STRONG&gt; 버튼 클릭에 의해 이미 생성되어 있는 Fafamama의 &lt;STRONG&gt;&lt;FONT color=#9b18c1&gt;MakeSons &lt;/FONT&gt;&lt;/STRONG&gt;호출&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;STRONG&gt;&lt;U&gt;&lt;FONT size=3&gt;라이브 실험&lt;/FONT&gt;&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;아래 실버라이트 어플리케이션 안에 실험 Case 6개에 대한 버튼을 준비 하였습니다.&lt;br /&gt;한번 씩 눌러보십시오.&lt;/P&gt;
&lt;P&gt;&lt;object data=&quot;data:application/x-silverlight,&quot; type=&quot;application/x-silverlight-2-b2&quot; width=&quot;600&quot; height=&quot;400&quot;&gt;&amp;#9;&amp;#9;&amp;#9;&lt;param name=&quot;source&quot; value=&quot;http://shiverlight.net/Sample/OyakoStoryboardTest.xap&quot;/&gt;&amp;#9;&amp;#9;&amp;#9;&lt;param name=&quot;onerror&quot; value=&quot;onSilverlightError&quot; /&gt;&amp;#9;&lt;param name=&quot;EnableHtmlAccess&quot; value=&quot;true&quot;/&gt;&amp;#9;&amp;#9;&lt;param name=&quot;background&quot; value=&quot;white&quot; /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;&amp;#9;&amp;#9;&lt;a href=&quot;http://go.microsoft.com/fwlink/?LinkID=115261&quot; style=&quot;text-decoration: none;&quot;&gt;     &amp;#9;&amp;#9;&amp;#9;&lt;img src=&quot;http://go.microsoft.com/fwlink/?LinkId=108181&quot; alt=&quot;Get Microsoft Silverlight&quot; style=&quot;border-style: none&quot;/&gt;&amp;#9;&amp;#9;&amp;#9;&lt;/a&gt;&amp;#9;&amp;#9;&lt;/object&gt;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;STRONG&gt;&lt;U&gt;&lt;FONT size=3&gt;실험결과&lt;/FONT&gt;&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;부모와 같은 이름의 Storyboard를 가지고 있지 않은 Daughter의 경우, 언제나 예외발생 없이 생성이 된 반면,&lt;br /&gt;UserControl 부모, 자식이 같은 이름의 스토리보드를 가지고 있는 Son의 경우,&lt;br /&gt;생성자에서 호출 시를 제외하고서는 부모의 Panel에 Children.Add 할 수 없었습니다.&lt;br /&gt;이런 경우를 만나신다면 당분간은 피해서(스토리보드 이름을 중복되지 않게 준다거나, 이름을 유지하고, 다른 객체의 Resources 하위로 옮김) 사용해야 하겠습니다.&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&lt;STRONG&gt;&lt;U&gt;&lt;FONT size=3&gt;다운로드&lt;/FONT&gt;&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://gilverlight.tistory.com/attachment/ik040000000000.zip&quot;&gt;&lt;img src=&quot;http://cfs.tistory.com/blog/image/extension/zip.gif&quot; alt=&quot;&quot; style=&quot;vertical-align: middle;&quot; /&gt; OyakoStoryboardTest.zip&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;실험에 사용된 프로젝트입니다.&lt;/P&gt;&lt;br /&gt;
&lt;P&gt;&lt;br /&gt;&amp;nbsp;&lt;/P&gt;</description>
			<category>Experiment</category>
			<category>ArgumentException</category>
			<category>Children.Add실패</category>
			<category>Silverlight</category>
			<category>Storyboard이름중복</category>
			<category>실버라이트</category>
			<author>길버트</author>
			<guid>http://gilverlight.net/2898</guid>
			<comments>http://gilverlight.net/2898#entry2898comment</comments>
			<pubDate>Wed,  9 Jul 2008 16:32:37 +0900</pubDate>
		</item>
		<item>
			<title>[SL2 B2] Socket 사용을 위한 Policy Server 만들기</title>
			<link>http://gilverlight.net/2897</link>
			<description>&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;&lt;FONT size=3&gt;개요&lt;/FONT&gt;&lt;/U&gt;&lt;/STRONG&gt;&lt;br /&gt;&lt;br /&gt;Silverlight 2 Beta 2에서 Socket을 사용할 때 Cross-Domain에 있는 소켓 서버에&lt;br /&gt;접속을 하려면 서버 측의 정책을 확인하는 과정이 필요하게 된 것 아시죠?&lt;br /&gt;&lt;br /&gt;다시말해, 실버라이트 런타임이 943번 포트를 통해 실버라이트 정책 파일을 요청하면, &lt;br /&gt;서버 쪽에서는 정책파일을 보내줘야 하는데요. &lt;br /&gt;&lt;br /&gt;며칠 전 &lt;A href=&quot;http://gongdosoft.com/&quot; target=_blank&gt;공도씨&lt;/A&gt;가 &lt;A href=&quot;http://gongdo.tistory.com/294&quot;&gt;[MSDN] 네트워크 보안 접근 제약&lt;/A&gt;란 제목의 장문의 번역글을 포스팅했습니다.&lt;br /&gt;&lt;br /&gt;그 내용의 하단에 보시면 그런 역할을 하는 서버를 만드는 방법이 소개되어 있습니다.&lt;br /&gt;&lt;STRONG&gt;[소켓을 위한 정책 파일 예제]&lt;/STRONG&gt;와 &lt;STRONG&gt;[소켓을 위한 정책 서버의 샘플 코드]&lt;/STRONG&gt;란&lt;STRONG&gt; &lt;/STRONG&gt;내용이 있구요.&lt;br /&gt;&lt;A href=&quot;http://silverlight.net/blogs/msnow/default.aspx&quot; target=_blank&gt;&lt;FONT color=#5a5194&gt;Mike Snows&lt;/FONT&gt;&lt;/A&gt;의 &lt;A href=&quot;http://silverlight.net/blogs/msnow/archive/2008/06/26/full-implementation-of-a-silverlight-policy-server.aspx&quot; target=_blank&gt;&lt;FONT color=#5a5194&gt;Tip of the Day #12 - Full Implementation of a Silverlight Policy Server.&lt;/FONT&gt;&lt;/A&gt;를 &lt;br /&gt;참고하면 정책 파일 서버를 만들 수 있다고 설명해 놓았습니다. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;STRONG&gt;&lt;U&gt;&lt;FONT size=3&gt;다운로드&lt;/FONT&gt;&lt;/U&gt;&lt;/STRONG&gt;&lt;br /&gt;&lt;br /&gt;아래는 그것을 그대로 따라서 만들어 놓은 프로젝트구요.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://gilverlight.tistory.com/attachment/ik97.zip&quot;&gt;&lt;img src=&quot;http://cfs.tistory.com/blog/image/extension/zip.gif&quot; alt=&quot;&quot; style=&quot;vertical-align: middle;&quot; /&gt; PolicyServer943.zip&lt;/a&gt;&lt;/div&gt;&lt;/P&gt;
&lt;P&gt;제가 조금 코드를 바꿔서 정책 파일 요청시 Socket Client의 IP를 화면에서 알 수 있도록&lt;br /&gt;하였습니다.&lt;br /&gt;&lt;br /&gt;&lt;STRONG&gt;PolicyConnection.cs&lt;/STRONG&gt;&lt;/P&gt;
&lt;DIV style=&quot;PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; PADDING-TOP: 10px; BACKGROUND-COLOR: #e4e4e4&quot;&gt;
&lt;P&gt;public PolicyConnection(Socket client, byte[] policy)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp; &amp;nbsp; _connection = client;&lt;br /&gt;&amp;nbsp; &amp;nbsp; _policy = policy;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; _buffer = new byte[_policyRequestString.Length];&lt;br /&gt;&amp;nbsp; &amp;nbsp; _received = 0;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; try&lt;br /&gt;&amp;nbsp; &amp;nbsp; {&lt;br /&gt;&amp;nbsp;// receive the request from the client&lt;br /&gt;&amp;nbsp;//_connection.BeginReceive(_buffer, 0, _policyRequestString.Length, SocketFlags.None,&lt;br /&gt;&amp;nbsp;// &amp;nbsp;&amp;nbsp; new AsyncCallback(OnReceive), null);&lt;/P&gt;
&lt;P&gt;&amp;nbsp;_connection.BeginReceive(_buffer, 0, _policyRequestString.Length, SocketFlags.None,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; new AsyncCallback(OnReceive), &lt;FONT style=&quot;BACKGROUND-COLOR: #ff9900&quot;&gt;client.RemoteEndPoint.ToString()&lt;/FONT&gt;);&lt;br /&gt;&amp;nbsp; &amp;nbsp; }&lt;br /&gt;&amp;nbsp; &amp;nbsp; catch (SocketException)&lt;br /&gt;&amp;nbsp; &amp;nbsp; {&lt;br /&gt;&amp;nbsp;_connection.Close();&lt;br /&gt;&amp;nbsp; &amp;nbsp; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;private void OnReceive(IAsyncResult res)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp; &amp;nbsp; try&lt;br /&gt;&amp;nbsp; &amp;nbsp; {&lt;br /&gt;&amp;nbsp;_received += _connection.EndReceive(res);&lt;/P&gt;
&lt;P&gt;&amp;nbsp;// if we haven&#039;t gotten enough for a full request yet, receive again&lt;br /&gt;&amp;nbsp;if (_received &amp;lt; _policyRequestString.Length)&lt;br /&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; _connection.BeginReceive(_buffer, _received, _policyRequestString.Length - _received,&lt;br /&gt;&amp;nbsp; SocketFlags.None, new AsyncCallback(OnReceive), null);&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; return;&lt;br /&gt;&amp;nbsp;}&lt;/P&gt;
&lt;P&gt;&amp;nbsp;// make sure the request is valid&lt;br /&gt;&amp;nbsp;string request = System.Text.Encoding.UTF8.GetString(_buffer, 0, _received);&lt;br /&gt;&amp;nbsp;if (StringComparer.InvariantCultureIgnoreCase.Compare(request, _policyRequestString) != 0)&lt;br /&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; _connection.Close();&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; return;&lt;br /&gt;&amp;nbsp;}&lt;/P&gt;
&lt;P&gt;&amp;nbsp;// send the policy&lt;br /&gt;&amp;nbsp;Console.Write(&lt;FONT style=&quot;BACKGROUND-COLOR: #ff9900&quot;&gt;string.Format(&quot;Sending policy to {0}\n&quot;, res.AsyncState)&lt;/FONT&gt;);&lt;br /&gt;&amp;nbsp;_connection.BeginSend(_policy, 0, _policy.Length, SocketFlags.None,&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; new AsyncCallback(OnSend), null);&lt;br /&gt;&amp;nbsp; &amp;nbsp; }&lt;br /&gt;&amp;nbsp; &amp;nbsp; catch (SocketException)&lt;br /&gt;&amp;nbsp; &amp;nbsp; {&lt;br /&gt;&amp;nbsp;_connection.Close();&lt;br /&gt;&amp;nbsp; &amp;nbsp; }&lt;br /&gt;}&lt;/P&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;&lt;FONT size=3&gt;&lt;br /&gt;미리보기&lt;/FONT&gt;&lt;/U&gt;&lt;/STRONG&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;img src=&quot;http://cfs8.tistory.com/image/12/tistory/2008/07/03/17/12/486c89fe5c05f&quot; alt=&quot;사용자 삽입 이미지&quot; height=&quot;406&quot; width=&quot;630&quot;/&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;STRONG&gt;&lt;U&gt;&lt;FONT size=3&gt;주의사항&lt;/FONT&gt;&lt;/U&gt;&lt;/STRONG&gt;&lt;br /&gt;&lt;br /&gt;컴파일 전에 &lt;STRONG&gt;Program.cs&lt;/STRONG&gt;의 한부분을 수정하셔야 합니다.&lt;br /&gt;색깔 있는 부분을 실제 &lt;STRONG&gt;clientaccesspolicy.xml 파일이 위치한 곳의 경로로 변경&lt;/STRONG&gt;하셔야 합니다.&lt;br /&gt;&lt;br /&gt;&lt;STRONG&gt;Program.cs&lt;/STRONG&gt;&lt;/P&gt;
&lt;DIV style=&quot;PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; PADDING-TOP: 10px; BACKGROUND-COLOR: #e4e4e4&quot;&gt;
&lt;P&gt;static void Main(string[] args)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp; &amp;nbsp; Console.Write(&quot;Starting...\n&quot;);&lt;br /&gt;&amp;nbsp; &amp;nbsp; PolicyServer ps =&lt;br /&gt;&amp;nbsp;new PolicyServer(@&quot;&lt;FONT style=&quot;BACKGROUND-COLOR: #ff9900&quot;&gt;&lt;STRONG&gt;D:\clientaccesspolicy.xml&lt;/STRONG&gt;&lt;/FONT&gt;&quot;);&lt;br /&gt;&amp;nbsp; &amp;nbsp; System.Threading.Thread.Sleep(System.Threading.Timeout.Infinite);&lt;/P&gt;
&lt;P&gt;}&lt;/P&gt;&lt;/DIV&gt;
&lt;P&gt;감사합니다.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;STRONG&gt;&lt;U&gt;&lt;FONT size=3&gt;보너스&lt;/FONT&gt;&lt;/U&gt;&lt;/STRONG&gt;&lt;br /&gt;&lt;br /&gt;Beta1 시절 포스팅 되었던 스캇구 형님의 소켓 예제를 오늘 다시 한 번 찾아보니!&lt;br /&gt;Beta2 버전으로 포팅이 되었습니다. 여기에도 Policy Server를 포함하고 있습니다.&lt;br /&gt;한 번 훑어 보시면 도움이 되실 거라고 생각합니다.&lt;br /&gt;&lt;br /&gt;&lt;A href=&quot;http://weblogs.asp.net/dwahlin/archive/2008/04/10/pushing-data-to-a-silverlight-client-with-sockets-part-i.aspx&quot; target=_blank&gt;&lt;FONT color=#557191&gt;Pushing Data to a Silverlight Client with Sockets: Part I &lt;/FONT&gt;&lt;/A&gt;&lt;br /&gt;&lt;A href=&quot;http://weblogs.asp.net/dwahlin/archive/2008/04/13/pushing-data-to-a-silverlight-client-with-sockets-part-ii.aspx&quot; target=_blank&gt;&lt;FONT color=#557191&gt;Pushing Data to a Silverlight Client with Sockets: Part II&lt;/FONT&gt;&lt;/A&gt;&lt;br /&gt;&lt;br /&gt;Part I에서는 Socket Server를 Part II에서는 Socket Client를 설명하고 있습니다.&lt;/P&gt;</description>
			<category>Lecture</category>
			<category>943포트</category>
			<category>clientaccesspolicy.xml</category>
			<category>Silverlight</category>
			<category>socket</category>
			<category>소켓</category>
			<category>실버라이트</category>
			<category>정책파일</category>
			<author>길버트</author>
			<guid>http://gilverlight.net/2897</guid>
			<comments>http://gilverlight.net/2897#entry2897comment</comments>
			<pubDate>Thu,  3 Jul 2008 17:10:55 +0900</pubDate>
		</item>
		<item>
			<title>[Remake] MediaElement 동시사용의 한계는 123개다.</title>
			<link>http://gilverlight.net/2896</link>
			<description>&lt;DIV style=&quot;PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; PADDING-TOP: 10px; BACKGROUND-COLOR: #e4e4e4&quot;&gt;이전 포스트를 Silverlight 2 Beta 2 버전으로 포팅하였습니다.&lt;/DIV&gt;&lt;br /&gt;&lt;br /&gt;리듬잇 같은 BMS류의 게임을 Silverlight로 제작하다가 발견한 문제입니다.&lt;br /&gt;예를 들어 어떤 곡에서 270여 개의 음원을 사용하는 이유로,&lt;br /&gt;이 음원에 대한 MediaElement를 미리 270개 생성해 놓고 사용하고자 하였습니다.&lt;br /&gt;그 곡을 재생시켜보자 군데군데 연주되지 않는 음이 발견되었습니다.&lt;br /&gt;&lt;br /&gt;왜그런가 테스트를 해보다가 123번째 MediaElement 이후에 생성된&lt;br /&gt;MediaElement들은 Play() 메서드가 제대로 작동하지 않는 것을&lt;br /&gt;발견하였습니다.&lt;br /&gt;&lt;br /&gt;&lt;STRONG&gt;&lt;U&gt;&lt;FONT size=3&gt;시뮬레이션&lt;/FONT&gt;&lt;/U&gt;&lt;/STRONG&gt;&lt;br /&gt;&lt;br /&gt;다음은 직접 문제를 체험해 볼 수 있는 샘플입니다.&lt;br /&gt;스피커를 켜고 테스트를 해 보십시오.&lt;br /&gt;&lt;br /&gt;&lt;object data=&quot;data:application/x-silverlight,&quot; type=&quot;application/x-silverlight-2-b2&quot; width=&quot;340&quot; height=&quot;560&quot;&gt;&amp;#9;&amp;#9;&amp;#9;&lt;param name=&quot;source&quot; value=&quot;http://shiverlight.net/Experiment/MediaElementLimit/ClientBin/MediaElementLimit.xap&quot;/&gt;&amp;#9;&amp;#9;&amp;#9;&lt;param name=&quot;onerror&quot; value=&quot;onSilverlightError&quot; /&gt;&amp;#9;&amp;#9;&amp;#9;&lt;param name=&quot;background&quot; value=&quot;white&quot; /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;&amp;#9;&amp;#9;&lt;a href=&quot;http://go.microsoft.com/fwlink/?LinkID=108182&quot; style=&quot;text-decoration: none;&quot;&gt;     &amp;#9;&amp;#9;&amp;#9;&lt;img src=&quot;http://go.microsoft.com/fwlink/?LinkId=108181&quot; alt=&quot;Get Microsoft Silverlight&quot; style=&quot;border-style: none&quot;/&gt;&amp;#9;&amp;#9;&amp;#9;&lt;/a&gt;&amp;#9;&amp;#9;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;STRONG&gt;&lt;U&gt;&lt;FONT size=3&gt;소스&lt;/FONT&gt;&lt;/U&gt;&lt;/STRONG&gt;&lt;br /&gt;&lt;br /&gt;아래 링크를 클릭하여 다운 받으십시오.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://gilverlight.tistory.com/attachment/hk97.zip&quot;&gt;&lt;img src=&quot;http://cfs.tistory.com/blog/image/extension/zip.gif&quot; alt=&quot;&quot; style=&quot;vertical-align: middle;&quot; /&gt; MediaElementLimit.zip&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;STRONG&gt;&lt;FONT size=3&gt;&lt;U&gt;실험의 결론&lt;/U&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;br /&gt;&lt;br /&gt;Silverlight 2 Beta1에서는 123개 이하의 MediaElement만 만들어 사용해야 합니다.&lt;br /&gt;123개 이상의 MediaElement가 필요한 경우에는 이미 생성해 놓은 MediaElement를&lt;br /&gt;Source만 변경하여 재활용해야 합니다.&lt;br /&gt;&lt;br /&gt;예를들어 한 Silverlight Page 내에 123개를 초과하는 동영상, 음악이 존재하는 경우에는&lt;br /&gt;초과분에 해당하는 미디어는 재생을 시킬 수 없습니다.&lt;br /&gt;&lt;br /&gt;다른 테스트를 통해 다음과 같은 사실도 추가적으로 알 수 있었습니다.&lt;br /&gt;&lt;br /&gt;1) XAML에 &amp;lt;MediaElement ...&amp;gt; 형태로 추가를 해도 124번째부터는 작동을 안 합니다.&lt;br /&gt;2) MediaElement마다 서로 다른 Source를 입력해 주어도 결과는 같습니다.&lt;br /&gt;&lt;br /&gt;원인이 무엇인지 궁금합니다.&lt;br /&gt;원인에 따라 차후에 발표되는 Beta2나 정식 릴리즈에서&lt;br /&gt;개선될 수도 있고, 개선되지 않을 수도 있겠네요.&lt;br /&gt;&lt;br /&gt;&lt;STRONG&gt;&lt;U&gt;&lt;FONT size=3&gt;포럼 피드백&lt;/FONT&gt;&lt;/U&gt;&lt;/STRONG&gt;&lt;br /&gt;&lt;br /&gt;실버라이트 포럼에도 같은 글을 게시해 놓고 피드백을 기다리고 있습니다.&lt;br /&gt;&lt;A href=&quot;http://silverlight.net/forums/t/11735.aspx&quot;&gt;http://silverlight.net/forums/t/11735.aspx&lt;/A&gt;</description>
			<category>Experiment</category>
			<category>MediaElement</category>
			<category>Silverlight</category>
			<category>개수제한</category>
			<category>실버라이트</category>
			<author>길버트</author>
			<guid>http://gilverlight.net/2896</guid>
			<comments>http://gilverlight.net/2896#entry2896comment</comments>
			<pubDate>Tue,  1 Jul 2008 16:07:30 +0900</pubDate>
		</item>
		<item>
			<title>Remix Korea 2008 - 피그맵 시연 동영상</title>
			<link>http://gilverlight.net/2895</link>
			<description>며칠 전, 기다리던 Remix Korea 2008의 동영상이 &lt;A href=&quot;http://visitmix.co.kr/&quot; target=_blank&gt;공식사이트&lt;/A&gt;에 업데이트 되었습니다.&lt;br /&gt;&lt;A href=&quot;http://visitmix.co.kr/&quot; target=_blank&gt;&lt;A href=&quot;http://visitmix.co.kr/&quot;&gt;http://visitmix.co.kr&lt;/A&gt;&lt;/A&gt;&lt;br /&gt;&lt;br /&gt;그 중 피그맵 부분만 편집해 보았습니다.&lt;br /&gt;&lt;br /&gt;중간 중간 시연이 원활하지 못한 부분이 있지만, 꾸욱 참고 봐주세요~ ^^&lt;br /&gt;&lt;br /&gt;&lt;object data=&quot;data:application/x-silverlight,&quot; type=&quot;application/x-silverlight-2-b2&quot; width=&quot;600&quot; height=&quot;400&quot;&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;&lt;param name=&quot;source&quot; value=&quot;http://hugeflow.com/Sample/MediaFlow/MediaPlayer_PlayerOnly.xap&quot;/&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;&lt;param name=&quot;onerror&quot; value=&quot;onSilverlightError&quot; /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;&lt;param name=&quot;background&quot; value=&quot;white&quot; /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;&lt;param name=&quot;initParams&quot; value=&quot;Source=http://silverlight.services.live.com/54239/RemixKorea2008_2_4_Part2/video.wmv&quot; /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;&lt;a href=&quot;http://go.microsoft.com/fwlink/?LinkID=115261&quot; style=&quot;text-decoration: none;&quot;&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;&amp;#9;&lt;img src=&quot;http://go.microsoft.com/fwlink/?LinkId=108181&quot; alt=&quot;Get Microsoft Silverlight&quot; style=&quot;border-style: none&quot;/&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;&lt;/a&gt;&amp;#9;&amp;#9;&amp;#9;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;감사합니다.&lt;br /&gt;</description>
			<category>News</category>
			<category>Hugeflow</category>
			<category>Pigmap</category>
			<category>RemixKorea</category>
			<category>Silverlight</category>
			<category>리믹스코리아</category>
			<category>실버라이트</category>
			<category>피그맵</category>
			<category>휴즈플로우</category>
			<author>길버트</author>
			<guid>http://gilverlight.net/2895</guid>
			<comments>http://gilverlight.net/2895#entry2895comment</comments>
			<pubDate>Tue,  1 Jul 2008 14:24:03 +0900</pubDate>
		</item>
		<item>
			<title>Microsoft MVP Offline 모임 (06/30)</title>
			<link>http://gilverlight.net/2894</link>
			<description>&lt;P&gt;MVP Lead이신 최재호 차장님께서 김밥과 생과일 음료를 준비해 놓으셨습니다.&lt;br /&gt;사람 별로 안오는 것 같다고 최재호 차장님께서 두줄 씩 먹으라고 해서,&lt;br /&gt;공도씨랑 김밥 3줄 먹었습니다. (참치, 모듬, 멸추)&lt;br /&gt;멸추 김밥은 처음 먹어봤는데요. 멸치+고추장이었습니다. 매콤하더군요.&lt;/P&gt;
&lt;P&gt;근데 왠걸 느즈막히 MVP님들 엄청오셔서 김밥이 모자랐습니다.&lt;br /&gt;제가 가 본 (몇 번 가보지 않았으면서도...) MVP 모임 중 최다 출석이었던 것 같네요.&lt;/P&gt;
&lt;P&gt;&lt;A href=&quot;http://cfs7.tistory.com/upload_control/download.blog?fhandle=YmxvZzEwNjg3MEBmczcudGlzdG9yeS5jb206L2F0dGFjaC8wLzk1LmpwZw==&quot;&gt;&lt;img src=&quot;http://cfs7.tistory.com/upload_control/download.blog?fhandle=YmxvZzEwNjg3MEBmczcudGlzdG9yeS5jb206L2F0dGFjaC8wLzk2LmpwZw==&quot; height=&quot;404&quot; /&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;헤어스타일에 변화를 준 공도씨. 어울리죠?&lt;/P&gt;
&lt;P&gt;&lt;A href=&quot;http://cfs9.tistory.com/upload_control/download.blog?fhandle=YmxvZzEwNjg3MEBmczkudGlzdG9yeS5jb206L2F0dGFjaC8xLzEyOS5qcGc=&quot;&gt;&lt;img src=&quot;http://cfs9.tistory.com/upload_control/download.blog?fhandle=YmxvZzEwNjg3MEBmczkudGlzdG9yeS5jb206L2F0dGFjaC8xLzEzMC5qcGc=&quot; height=&quot;404&quot; /&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;시원하게 입은 동진씨!&lt;/P&gt;
&lt;P&gt;&lt;A href=&quot;http://cfs8.tistory.com/upload_control/download.blog?fhandle=YmxvZzEwNjg3MEBmczgudGlzdG9yeS5jb206L2F0dGFjaC8wLzk2LmpwZw==&quot;&gt;&lt;img src=&quot;http://cfs9.tistory.com/upload_control/download.blog?fhandle=YmxvZzEwNjg3MEBmczkudGlzdG9yeS5jb206L2F0dGFjaC8xLzEzMS5qcGc=&quot; height=&quot;404&quot; /&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;7월 1일자로 Microsoft MVP가 되는 이과장님(오른쪽)과 짱묜(왼쪽)씨 오셨네요. &lt;br /&gt;다시 한번 축하드립니다. 짝!짝!짝!&lt;/P&gt;
&lt;P&gt;이날은 변경된 MVP 심사 과정에 대한 설명을 듣고 질의응답 시간을 가졌습니다.&lt;br /&gt;내년에 Re-award 하려면 들어둬야겠죠?&lt;br /&gt;&lt;br /&gt;PIO (Product Improvement Opportunity)에 대한 MVP의 지원자 수가 한국이 세계 1위를 했답니다.&lt;br /&gt;그래서 본사로부터 칭찬 받으셨다고 좋아하시는 최재호 차장님.&lt;br /&gt;프랑스가 2위를 했는데, 지원자 수가 한국의 반 정도 되었다네요.&lt;/P&gt;
&lt;P&gt;한편, IE 8 관련 RoundTable이 7월 7일로 연기가 되었다고 하구요.&lt;br /&gt;최재호 차장님 9월에 장가 가신다고 하네요! (축하드립니다.)&lt;/P&gt;
&lt;P&gt;이날 끝나고 MVP분들 영화 보러들 가셨는데 (영화표는 마이크로소프트에서 제공), &lt;br /&gt;저는 시간이 없어서 못 따라나섰네요. 강철중이나 쿵푸팬더 보신다던데, 재미있으셨죠?&lt;/P&gt;</description>
			<category>Surroundings</category>
			<category>IE8 Round Table</category>
			<category>Microsoft</category>
			<category>MVP</category>
			<category>PIO</category>
			<category>오프라인</category>
			<author>길버트</author>
			<guid>http://gilverlight.net/2894</guid>
			<comments>http://gilverlight.net/2894#entry2894comment</comments>
			<pubDate>Tue,  1 Jul 2008 12:23:31 +0900</pubDate>
		</item>
		<item>
			<title>MSDN Premium Subscription + VSTS 2008</title>
			<link>http://gilverlight.net/2893</link>
			<description>&lt;P&gt;얼마전 &lt;A href=&quot;http://gilverlight.net/2881&quot;&gt;마이크로소프트의 깜짝선물 for MVP&lt;/A&gt;란 포스트로 궁금증을 유발했던 선물을 공개합니다.&lt;/P&gt;
&lt;P&gt;&lt;A href=&quot;http://cfs8.tistory.com/upload_control/download.blog?fhandle=YmxvZzEwNjg3MEBmczgudGlzdG9yeS5jb206L2F0dGFjaC8wLzk1LmpwZw==&quot;&gt;&lt;img src=&quot;http://cfs7.tistory.com/upload_control/download.blog?fhandle=YmxvZzEwNjg3MEBmczcudGlzdG9yeS5jb206L2F0dGFjaC8wLzk0LmpwZw==&quot; height=&quot;404&quot; /&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;봉투 안을 열어보면, 까만 카드가 나옵니다.&lt;/P&gt;&lt;object data=&quot;data:application/x-silverlight,&quot; type=&quot;application/x-silverlight-2-b2&quot; width=&quot;600&quot; height=&quot;400&quot; id=&quot;Xaml&quot;&gt;  &lt;param name=&quot;source&quot; value=&quot;http://twosomeplace.net/deepzoom/DeepView.xap&quot;/&gt;   &lt;param name=&quot;onerror&quot; value=&quot;onSilverlightError&quot; /&gt;   &lt;param name=&quot;background&quot; value=&quot;white&quot; /&gt;  &lt;param name=&quot;EnableHtmlAccess&quot; value=&quot;true&quot;/&gt;  &lt;param name=&quot;initParams&quot; value=&quot;DZSource=http://twosomeplace.net/deepzoom/MSDNPremium/dzc_output.xml,Title=MSDN+Premium+%ec%a0%95%ea%b8%b0%ea%b5%ac%eb%8f%85%ea%b6%8c,Author=Gilbert Lee&quot; /&gt;   &lt;a href=&quot;http://go.microsoft.com/fwlink/?LinkID=108182&quot; style=&quot;text-decoration: none;&quot;&gt;     &lt;img src=&quot;http://go.microsoft.com/fwlink/?LinkId=108181&quot; alt=&quot;Get Microsoft Silverlight&quot; style=&quot;border-style: none&quot;/&gt;   &lt;/a&gt; &lt;/object&gt; 
&lt;P&gt;뒷면은 내용을 읽어보실 수 있게 딥줌 데이터를 제공해 드리는 센스!!&lt;br /&gt;아무튼 3개씩 보내준 것은 감동이었습니다.&lt;/P&gt;</description>
			<category>My Story</category>
			<category>DeepZoom</category>
			<category>msdn</category>
			<category>MVP</category>
			<category>MVP의 혜택</category>
			<category>Premium</category>
			<category>VSTS</category>
			<category>딥줌</category>
			<author>길버트</author>
			<guid>http://gilverlight.net/2893</guid>
			<comments>http://gilverlight.net/2893#entry2893comment</comments>
			<pubDate>Tue,  1 Jul 2008 12:02:17 +0900</pubDate>
		</item>
	</channel>
</rss>
