<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>철수네 소프트웨어 세상 [마이크로소프트 지점]</title><link>http://blogs.msdn.com/bkchung/default.aspx</link><description>마이크로소프트 Korean Developer Division SDET의 개발툴/플랫폼 이야기</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Silverlight, 드디어 쓸만해진다는 v3의 베타 발표</title><link>http://blogs.msdn.com/bkchung/archive/2009/03/19/silverlight-v3.aspx</link><pubDate>Wed, 18 Mar 2009 17:30:20 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9487412</guid><dc:creator>bkchung</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/bkchung/comments/9487412.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bkchung/commentrss.aspx?PostID=9487412</wfw:commentRss><description>&lt;p&gt;오늘 &lt;a href="http://live.visitmix.com/"&gt;MIX 09 행사&lt;/a&gt;가 시작되면서 여러가지 기술들이 발표되고 있는 와중에…네, 드디어, Silverlight 3 소식입니다. MIX의 129개 세션 중에서 가장 많은 31개의 세션이 Silverlight에 &lt;a href="https://content.visitmix.com/2009/Sessions/"&gt;할당되어 있&lt;/a&gt;을 정도로 Silverlight는 여전히 집중 과목입니다(국내 HugeFlow 분들이 진행하는 MIX09-T35F 세션도 있네요). Silverlight 2의 점유율도 국내 유저분들이 체감하는 것보다 훨씬 더 높기도 하지만, 이런 내용은 마케팅 분들게 맡기고…&lt;/p&gt;  &lt;p&gt;재미난 것은(항상 하는 이야기지만;) Silverlight 1.0이 나온지 1년 반밖에 되지 않았다는 것입니다. Silverlight 1.0이 출시되고, 1.1이 공개되고, 1.1이라는 버젼으로는 설명이 안되기에 Silverlight 2라는 브랜드를 가지고 나왔고, 6개월만에 Silverlight 3의 베타버젼이 공개되었다는 것이죠. 3번째 버젼이 되면 항상 어떤 상황이든 하는 말이 드디어 쓸만해진 제품이 되었다는 말이겠습니다만, 이는 이전의 이야기고, Silverlight은 2부터 쓸만해졌고, 3부터 더욱 파워플 해졌습니다.&lt;/p&gt;  &lt;p&gt;처음 계획 단계에서의 이번 업그레이드의 주요 골자는 사실 – 이미 공개해버린 H264/AAC 지원 이외에 - 2번째 버젼에서의 문제점들과 사용자들이 가장 많이 요구하고 불만으로 생각하는 기능들을 수집해서 이를 해결하는 것이었습니다. 문제는 이미 RIA 계의 경쟁자인 Adobe에서 사용자들의 입맛을 굉장히 까다롭게 혹은 좋게 이야기하면 높은 수준으로 만들었다는데 있었습니다. Flash와는 같은 분류에 속하게 되었다고는 해도 방식은 상당히 다름에도 불구하고 사용자분들의 요구는 “Flash/Flex에서는 이게 되는데 여기서는 왜 안돼냐”였습니다. 그렇다고 해서 Flash/Flex에서 지원한다고 무조건 비슷하게 만드는 것은 안될말이고, 최소한 사용자분들이 가장 목소리를 내는 부분에 있어서 높은 우선순위를 두고 버젼업에 박차를 가했습니다.&lt;/p&gt;  &lt;p&gt;Silverlight 3의 여러가지 고민들 중 다른 큰 것 한가지는 빠른 버젼업으로 인하여 하위 호환성을 해치는 일이 없도록 하는 것이었습니다. Silverlight 2로 응용프로그램을 막 만들고 있는데 갑자기 Silverlight 3이 나와서 안되더라…하는 이야기가 나오면, 누가 개발을 하겠냐는 이야기죠. 이는 사실 WPF와의 호환성을 유지하는 것(WPF는 다음 버젼의 개발과 함께 또 저멀리 앞서 가고 있죠)과는 충돌이 있는 부분이기도 합니다만, 우선순위는 무조건 Silverlight 2와의 하위 호환성으로 정했습니다. 충돌이 있는 WPF와의 호환은 대체가 아닌 추가를 통해서 이뤄지도록 했구요. 일단 베타 버젼이기 때문에 Silverlight 2와 문제가 전혀 없을 것이라고 할 수 없지만, 문제가 발견된다면 무조건 Silverlight 3 정식 버젼에서는 해결을 하는 것이 큰 우선순위입니다. 언제나 그렇듯 Silverlight 3와 병행하여 개발되고 있는 관련 제품들이 여러가지가 있습니다. 모두들 아시는 IE8와 Windows 7이 대표적인데, 이들과의 호환성 테스트 기간도 물론 있었습니다.&lt;/p&gt;  &lt;p&gt;1년내에 최대한 처리할 수 있는 이슈들을 모두 스케줄에 넣을 수 있는 한 넣고, 퀄리티를 맞추기 위해서 매주 바뀌는 테스트 스케줄을 감당하면서 베타버젼을 출시하기에 이르른 것이죠. 여러 기능들이 테스트할 시간이 없기 때문에 잘려나간 것을 생각하면 스케줄 때문에 안타까워하실 개발자분들이 있으리라 생각됩니다. 아무튼 그러다보니, 버젼 1.1처럼 Silverlight 3 이전에 2.5였다가 큰 기능들을 .5 버젼으로 커버하기보다는 메이저 업그레이드로 보는 것이 맞기에 3로 바뀌었습니다.&lt;/p&gt;  &lt;p&gt;이번 &lt;a href="http://silverlight.net/getstarted/silverlight3/default.aspx"&gt;Silverlight 3 베타버젼 공개&lt;/a&gt;에 관련된 다양한 제품들은 다음과 같습니다:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Silverlight 3 Developer Runtime(Beta) (&lt;a href="http://go.microsoft.com/fwlink/?LinkID=143433"&gt;Windows&lt;/a&gt;, &lt;a href="http://go.microsoft.com/fwlink/?LinkID=143434"&gt;Mac&lt;/a&gt;) – 이번 베타버젼에는 User Runtime이 배포되지 않습니다. 즉 Go Live 라이센스를 제공하지 않고, 개발자분들이 사용해볼 수 있도록 개발자 런타임만을 제공합니다. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkID=143435"&gt;Silverlight 3 SDK(Beta)&lt;/a&gt; - SDK에는 이전의 내용들 이외에 다음이 부가적으로 포함됩니다: &lt;/li&gt;    &lt;li&gt;&lt;a href="http://codeplex.com/Silverlight"&gt;Silverlight Toolkit Update&lt;/a&gt; – 새로운 컨트롤들이 소스와 함께 왕창 추가됩니다. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkID=143571"&gt;Silverlight 3 Tools(Beta)&lt;/a&gt; – Silverlight 3를 지원하는 내용 이외에 이전 버젼과는 크게 달라진 점은 없습니다.(v2 프로젝트는 지원이 안됩니다.주의요.) &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.microsoft.com/expression/blendpreview"&gt;Expression Blend 3 Preview&lt;/a&gt; – Silverlight 3의 지원 이외에 수많은 향상과 새 기능들이 포함되었습니다. 무엇보다 눈에 띄는 점은(전에 답답했던 관계로)…UI가 좀 더 유연해진 점? &lt;/li&gt;    &lt;li&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkId=144609"&gt;.NET RIA Services(Preview)&lt;/a&gt; – LOB 시장을 위해서 준비하던 Framework. &lt;/li&gt;    &lt;li&gt;IIS Media Services Extension 발표 &lt;/li&gt;    &lt;li&gt;Silverilght 3 베타용 &lt;a href="http://go.microsoft.com/fwlink/?LinkId=111305"&gt;MSDN 문서&lt;/a&gt;와 &lt;a href="http://go.microsoft.com/fwlink/?LinkId=144350"&gt;CHM 문서&lt;/a&gt; – 이전에 SDK에 있던 문서들이 제거되고 MSDN에서 읽거나 별도로 다운로드 받을 수 있습니다. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Silverlight 3는 간략하게 다음의 새로운 기능들을 포함합니다:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Media – H.264/AAC 지원. Smooth Streaming(Adaptive Streaming), 써드파티 코덱 제작 가능, Silverlight PlayReady DRM, Fullscreen시 GPU Accel, Client logging. &lt;/li&gt;    &lt;li&gt;Rich Graphics – Perspective 3D, Pixel Shader, Writable Bitmap, Cached Composition, Custom Easing, Image 크기 미리보기, 테마 스위칭, 폰트 지원 강화, Style Composition. &lt;/li&gt;    &lt;li&gt;New Controls과 기능들 – TreeView나 MultiSelect ListBox등의 다양한 새 Control들, Deep Linking 지원, Data Validation, Data Forms, Element to Element Binding, Business objects 지원. &lt;/li&gt;    &lt;li&gt;Out-of-Browser 경험 지원 – 온라인 Silverlight 응용프로그램을 오프라인으로 캐싱하여 실행 가능. &lt;/li&gt;    &lt;li&gt;기타 - Save As 기능, 압축 알고리즘 변경(약 20%향상), .NET Assembly caching(중복 바이너리 별도 다운로드), Accessibility 향상, Local Connection, Binary XML 지원, DeepZoom 향상, 오프라인 이벤트, 등등등등 &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;(이번 베타 버젼은 안타깝게도 영어 이외에 일본어로만 번역이 되었고 제품들의 한글 버젼은 나오지 않습니다.)&lt;/p&gt;  &lt;p&gt;이외에도 &lt;a href="http://blogs.msdn.com/virtualearth/archive/2009/03/18/introducing-the-virtual-earth-silverlight-map-control.aspx"&gt;Silverlight용 Virtual Earth Control&lt;/a&gt;이나 &lt;a href="http://www.worldwidetelescope.org/webclient/"&gt;WWT(World Wide Telescope) Silverlight 버젼&lt;/a&gt; 등의 Silverlight 2에 관한 소식도 있었습니다. &lt;/p&gt;  &lt;p&gt;더 자세한 소식은 &lt;a href="http://blogs.msdn.com/eva/"&gt;에반겔리온분들&lt;/a&gt;이 지속적으로 블로깅하시리라 믿슈미다~&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9487412" width="1" height="1"&gt;</description></item><item><title>Silverlight 2 GDR1 업데이트</title><link>http://blogs.msdn.com/bkchung/archive/2009/02/20/silverlight-2-gdr1.aspx</link><pubDate>Fri, 20 Feb 2009 08:41:38 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9435668</guid><dc:creator>bkchung</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/bkchung/comments/9435668.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bkchung/commentrss.aspx?PostID=9435668</wfw:commentRss><description>&lt;a title="Tim Sneath  Silverlight 2 GDR1 Now Available" href="http://blogs.msdn.com/tims/archive/2009/02/18/silverlight-2-gdr1-now-available.aspx"&gt;Tim Sneath&amp;#160; Silverlight 2 GDR1 Now Available&lt;/a&gt;   &lt;p&gt;Silverlight 2가 몇가지 이슈들을 살짝 고친 GDR1 버젼으로 업데이트 되었습니다. 버젼 정보를 보시면 2.0.40115.0이 최신 버젼입니다. 위 링크에 Tim이 적은 내용을 보면:&lt;/p&gt;  &lt;li&gt;Fixes problems that were caused by Silverlight and McAfee scanning tools interactions &lt;/li&gt;  &lt;li&gt;UI automation stability fixes, including:    &lt;ul&gt;     &lt;li&gt;graceful failures when attempting to use features that require .Net Framework 3.0 or 3.5 on machines that do not have either framework installed &lt;/li&gt;      &lt;li&gt;improved Tablet support &lt;/li&gt;   &lt;/ul&gt; &lt;/li&gt;  &lt;li&gt;Fixes an issue that arises when Mac users customize their environment by removing Arial and Verdana fonts &lt;/li&gt;  &lt;li&gt;Fixes a known issue with Isolated Storage IncreaseQuotaTo method (see &lt;a href="http://silverlight.net/forums/p/51485/135114.aspx"&gt;this post for more information&lt;/a&gt;)     &lt;p&gt;&lt;a title="Microsoft Silverlight Light Up the Web" href="http://www.microsoft.com/silverlight/resources/install.aspx"&gt;Microsoft Silverlight Light Up the Web&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;위의 설치 페이지에 가면 버젼 정보를 보여주니, 확인하시고 업그레이드하시면 됩니다. 자동 업그레이드를 하셔도 되구요. &lt;a href="http://download.microsoft.com/download/F/D/8/FD8F5947-78FF-40A5-9A34-5E35243C12E4/40115/Microsoft%20Silverlight%20Release%20History.html"&gt;여기&lt;/a&gt;에서 지금까지 업그레이드 정보를 보실 수 있습니다.&lt;/p&gt;    &lt;p&gt;즐거운 은빛경험 되시길~&lt;/p&gt;    &lt;p&gt;&lt;/p&gt; &lt;/li&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9435668" width="1" height="1"&gt;</description></item><item><title>Windows 7용 Windows SDK 베타</title><link>http://blogs.msdn.com/bkchung/archive/2009/01/13/windows-7-windows-sdk.aspx</link><pubDate>Tue, 13 Jan 2009 03:16:42 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9312432</guid><dc:creator>bkchung</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/bkchung/comments/9312432.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bkchung/commentrss.aspx?PostID=9312432</wfw:commentRss><description>&lt;p&gt;오랜만에 블로깅을 하면서 조금 죄책감(?)을 느끼게 됩니다. 개발자분들을 위한 블로그니 다행히 관련 소식을 전하면서 슬쩍 포스팅을 합니다.&lt;/p&gt;  &lt;p&gt;&lt;a title="Download details Microsoft Windows 7 SDK BETA" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=a91dc12a-fc94-4027-b67e-46bab7c5226c&amp;amp;DisplayLang=en"&gt;Download details Microsoft Windows 7 SDK BETA&lt;/a&gt; (&lt;a href="http://download.microsoft.com/download/8/8/0/8808A472-6450-4723-9C87-977069714B27/ReleaseNotes.Htm"&gt;Release Notes&lt;/a&gt;)&lt;/p&gt;  &lt;p&gt;Windows 7이 나온 소식은 이미 널리 퍼져서 다들 아시는 것일테고, 개발자분들이 더 좋아하실 소식을 전해드립니다. Windows SDK가 Windows 7용으로 베타버젼을 (조용히) 내놓았습니다. 물론 Windows SDK의 정책상 롤업 릴리스이기 때문에 VS2008SP1과 함께 비스타(SP1)나 서버2008을 지원합니다.&lt;/p&gt;  &lt;p&gt;수많은 샘플과 헤더와 라이브러리 그리고 툴들이 추가되었고, Windows 7을 위해서는 개발자 가이드와 퀄리티 Cookbook이 추가되었습니다.&lt;/p&gt;  &lt;p&gt;요즘 Windows 7이 업계에 긍정적인 영향을 미칠 것이라는 이야기가 많은데 모쪼록 Windows 7으로 개발 커뮤니티도 더욱 활기를 띨 수 있게 되었으면 좋겠습니다.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9312432" width="1" height="1"&gt;</description></item><item><title>James Hamilton이 떠난다는 소식…</title><link>http://blogs.msdn.com/bkchung/archive/2008/12/15/james-hamilton.aspx</link><pubDate>Mon, 15 Dec 2008 09:13:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9219389</guid><dc:creator>bkchung</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/bkchung/comments/9219389.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bkchung/commentrss.aspx?PostID=9219389</wfw:commentRss><description>&lt;P&gt;&lt;A class="" href="http://perspectives.mvdirona.com/2008/12/14/JamesHamiltonJoinsAmazoncom.aspx" target=_blank mce_href="http://perspectives.mvdirona.com/2008/12/14/JamesHamiltonJoinsAmazoncom.aspx"&gt;James Hamilton Joins Amazon.com&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A title="Microsoft datacenter architect defects to Amazon - All about Microsoft - ZDNet.com" href="http://blogs.zdnet.com/microsoft/?p=1765" mce_href="http://blogs.zdnet.com/microsoft/?p=1765"&gt;Microsoft datacenter architect defects to Amazon - All about Microsoft - ZDNet.com&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;James &lt;A href="http://research.microsoft.com/en-us/um/people/jamesrh/" mce_href="http://research.microsoft.com/en-us/um/people/jamesrh/"&gt;Hamilton&lt;/A&gt;이 마이크로소프트를 떠난다고 합니다. 개인적으로 이 분 글을 즐겨 읽는데(사내 블로그도),&amp;nbsp;내부적으로도 유명인들의 강의를 오거나이즈하기도 하고&amp;nbsp;전설(?)로 불리기도 하는 큰 Influential이 떠나는지라 타격도 클 것 같습니다. 게다가 마이크로소프트의 차세대 전략에 있어서 중요하기도 한데 말이죠.&lt;/P&gt;
&lt;P&gt;Amazon에서 비슷한 일을 하게 되니 업계에 있어서는 계속 같은 일을 하는 것이겠지만, 여하튼 내부에서 jrh 씨리즈는 더이상 보지 못하게 되겠군요.&lt;/P&gt;
&lt;P&gt;대신 당시 센세이셔널 했던&amp;nbsp;&lt;A class="" href="http://identity20.com/media/OSCON2005/" target=_blank mce_href="http://identity20.com/media/OSCON2005/"&gt;Identity 2.0 프리젠테이션&lt;/A&gt;으로 엄청난(?) 유명세를 떨친 &lt;A class="" href="http://blame.ca/" target=_blank mce_href="http://blame.ca/"&gt;Dick Hardt&lt;/A&gt;가 직원이 되었다고 해서 위안을 삼으라는군요. 개인적으로는 비교가 안되지만요;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9219389" width="1" height="1"&gt;</description></item><item><title>Dynamic Language 소식(20081128)</title><link>http://blogs.msdn.com/bkchung/archive/2008/11/28/dynamic-language-20081128.aspx</link><pubDate>Fri, 28 Nov 2008 06:58:53 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9150124</guid><dc:creator>bkchung</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/bkchung/comments/9150124.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bkchung/commentrss.aspx?PostID=9150124</wfw:commentRss><description>&lt;a title="DLR Hosting and related stuff...  DLR v0.9 beta released in CodePlex" href="http://blogs.msdn.com/seshadripv/archive/2008/11/26/dlr-v0-9-beta-released-in-codeplex.aspx"&gt;DLR Hosting and related stuff...&amp;#160; DLR v0.9 beta released in CodePlex&lt;/a&gt;  &lt;p&gt;&lt;a href="http://devhawk.net/2008/11/27/Early+Christmas+From+Iron+Languages+And+DLR.aspx"&gt;DevHawk - Early Christmas from Iron Languages and DLR&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Visual Studio팀 내에 Dynamic Language 팀의 소식들입니다.&lt;/p&gt;  &lt;p&gt;우선 이 팀의 코어 부분인 DLR(Dynamic Languages Runtime)이 &lt;a href="http://www.codeplex.com/dlr/"&gt;CodePlex에 새 둥지를 틀었습니다&lt;/a&gt;. 이전에는 &lt;a href="http://www.codeplex.com/IronPython"&gt;IronPython등의 일부로 기생&lt;/a&gt;(?)하면서 살고 있었는데, 드디어 집을 찾았습니다. 현재 공개된 버젼은 0.9의 베타 버젼으로 IronPython과 같은 비트를 사용하기 위해서 일단 베타버젼을 공개하였고, IronPython의 스케줄에 맞춰서 0.9의 정식 버젼이 나오게 됩니다. &lt;a href="http://www.codeplex.com/dlr/Wiki/View.aspx?title=0.9%20beta%20release%20notes"&gt;Release Note&lt;/a&gt;에서 좀 더 많은 정보를 찾을 수 있습니다.&lt;/p&gt;  &lt;p&gt;참조 구현인 ToyScript도 DLR의 다운로드에 포함됩니다. 또한 DLR을 위한 둥지가 마련되면서 이번에 부가적으로 &lt;a href="http://www.codeplex.com/dlr/Wiki/View.aspx?title=Docs%20and%20specs&amp;amp;referringTitle=0.9%20beta%20release%20notes"&gt;DLR 문서들이 몇개 올라왔습니다&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;이 DLR 0.9 베타에 맞춰서 공개된 IronPython은 &lt;a href="http://www.codeplex.com/IronPython/Release/ProjectReleases.aspx?ReleaseId=19841"&gt;2.0의 RC(출시 후보) 2&lt;/a&gt;입니다. RC1을 출시로 잇고자 했지만, 문제가 될만한 버그가 몇개 발견되어 두번째 RC를 공개하였습니다. 대략 2주 안에 정식버젼을 출시한다고 되어있고 문제가 있더라도 연내에 정식버젼이 나오지 않을까 생각됩니다.&lt;/p&gt;  &lt;p&gt;참고로, 지난주에는 IronRuby의 Alpha 2버젼이 공개되었습니다. &lt;a href="http://rubyforge.org/frs/?group_id=4359"&gt;RubyForge에서 다운로드&lt;/a&gt; 받을 수 있습니다.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9150124" width="1" height="1"&gt;</description></item><item><title>드디어, 한글 Silverlight Tools를 받을 수 있습니다~</title><link>http://blogs.msdn.com/bkchung/archive/2008/11/26/silverlight-tools.aspx</link><pubDate>Wed, 26 Nov 2008 09:25:31 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9143615</guid><dc:creator>bkchung</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/bkchung/comments/9143615.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bkchung/commentrss.aspx?PostID=9143615</wfw:commentRss><description>&lt;p&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=ko&amp;amp;FamilyID=c22d6a7b-546f-4407-8ef6-d60c8ee221ed"&gt;다운로드 세부 정보: Silverlight Tools&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;그동안 RC 버젼에 런타임만 바꿔서 사용하고 계셔서 약간 언짢으신 분들이 계셨었죠? 문제가 조금 있어서 예상보다 더 걸렸습니다만, 그저께 &lt;a href="http://download.microsoft.com/download/9/C/5/9C5C3AD3-A6AA-436B-987A-FB8493B50BD4/silverlight_sdk.exe"&gt;한글 SDK 다운로드&lt;/a&gt;가 Live되었고, 오늘부터는 Silverlight Tools 한글 버젼을 다운로드 할 수 있게 되었습니다. 영문 버젼의 경우 RC와의 차이는 버젼으로 인한 호환성 차이 정도였습니다만, 한글 버젼의 경우 SDK가 영문 SDK가 아닌 한글 SDK가 들어가게 되어 번역된 내용들이 포함되었기 때문에 영문보다는 차이가 있다고 하겠습니다.&lt;/p&gt;  &lt;p&gt;드디어 Silverlight 2에 관한 모든 비트가 완료되었고, 이제는 다음 버젼만이 남았네요.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9143615" width="1" height="1"&gt;</description></item><item><title>Azure(애저) 정리</title><link>http://blogs.msdn.com/bkchung/archive/2008/11/18/azure.aspx</link><pubDate>Mon, 17 Nov 2008 22:39:28 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9113377</guid><dc:creator>bkchung</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/bkchung/comments/9113377.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bkchung/commentrss.aspx?PostID=9113377</wfw:commentRss><description>&lt;p&gt;이름들이 뭐가 그리 많은지…다 아시는 내용들이겠지만 한번 정리해봤습니다. 내부에서 사용하는 공개되지 않은 용어들은 배제했습니다. 일반 사용자가 사용할 내용은 실제 Azure을 사용하여 만든 서비스에 국한되고 아래의 내용은 대부분 개발자들을 위한 내용입니다.&lt;/p&gt;  &lt;h4&gt;Azure&lt;/h4&gt;  &lt;p&gt;마케팅 브랜드 우산(umbrella)으로 정확히 하면 Azure™입니다. 마이크로소프트 전체 클라우드 관련 내용들은 대부분 애저(Azure)라는 브랜드 아래에 들어갑니다. 통상 Azure라고 하면 Azure Services Platform이라고 하는 플랫폼을 지칭하는데 같은 이야기입니다. 이를 ASP라고 줄여 부르면 기존 용어와 완전 대혼란일게 뻔하기 때문에 ASP가 아니고 그냥 Azure입니다. 사이트의 정의를 살짝 베껴오면:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;The Azure™ Services Platform (Azure) is an internet-scale cloud services platform hosted in Microsoft data centers, which provides an operating system and a set of developer services that can be used individually or together.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Azure는 일반적으로 3가지로 구분되어있습니다. 가장 기반이 되는 Azure Runtime(Windows Azure), 이들을 사용하여 확장한 Azure Services들 그리고 이들을 사용하여 만든 외부 서비스.&lt;/p&gt;  &lt;h4&gt;Windows Azure&lt;/h4&gt;  &lt;p&gt;코드명이 유출되면 불편한 것이 실제 브랜드명과 헷갈리게 된다는 것인데, 전에 Red Dog이라는 코드명으로 알려져 있어서 조금 아시는 분들은 아직 헷갈리고 있는 것 같습니다. 게다가 도중에 Stratus라는 브랜드를 사용하려고 했다가 브랜드 충돌이 있어서 Windows Azure로 바뀌었습니다. 가장 흔히 쓰이는 그림으로 살펴보면 다음과 같습니다:&lt;/p&gt;  &lt;p&gt;&lt;img title="The Cloud Computing and Services Platform Diagram" alt="The Cloud Computing and Services Platform Diagram" src="http://www.microsoft.com/azure/images/servicesPlatform.jpg" border="0" /&gt;&lt;/p&gt;  &lt;p&gt;Azure는 클라우드를 위한 OS(운영체제)라고 표현하기도 하는데 이해를 위해 컴퓨터와의 Analogy를 사용한 것입니다. 말그대로 다른 서비스들을 제공하기 위해서 기반이 되는 구성요소들이 되겠습니다. 데이타베이스나 파일등을 위한 스토리지라든가 호스팅 기반이라든가 혹은 컴퓨팅/관리를 위한 인프라등등이 여기에 해당됩니다. 위의 그림에서 각각의 흰 네모들은 Azure Services라고 하고 이들을 엮은 전체를 Azure Services Platform이라고 합니다. 윗쪽 Azure Services를 헷갈리지만 Cloud Services라고 부르기도 합니다. 맨 아랫단에 Windows Azure가 있고 이를 Azure Runtime이라고 부르기도 하며 이는 &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=BB893FB0-AD04-4FE8-BB04-0C5E4278D3E9&amp;amp;displaylang=en"&gt;Windows Azure SDK&lt;/a&gt;를 사용하여 접근할 수 있습니다.&lt;/p&gt;  &lt;p&gt;컴퓨터에 올려진 OS의 경우에는 응용프로그램(Application)과 API 호출 혹은 IPC나 syscall같은 방법을 사용하지만, (당연하지만) 애저에서는 REST방식이나 SOAP혹은 XML, 또는 다른 HTTP를 사용한 프로토콜들을 포함하는 인터넷 프로토콜들을 사용합니다. 물론 Azure Services Platform과 외부 서비스와의 통신도 동일한 방법을 사용합니다. 위의 그림에서는 Windows Live, Office Live등의 마이크로소프트 서비스들을 보여줬지만, 실제로는 Azure를 사용한 다양한 사이트들이 생겨나겠죠.&lt;/p&gt;  &lt;h4&gt;Live Services&lt;/h4&gt;  &lt;p&gt;Live Services는 이름에서 유추할 수 있듯이 기존의 Windows Live에서 API로 제공하던 내용들을 하나의 이름 아래에 통합한 것입니다. &lt;a href="http://msdn.microsoft.com/en-us/library/bb264574.aspx"&gt;Live Services SDK 문서&lt;/a&gt;를 보면 Live Services API들의 목록을 볼 수 있습니다. 예를 들어 Live ID를 사용하기 위한 API들이라든가 Virtual Earth를 사용하기 위한 API라든가 등등이 포함되어있습니다. 이들은 Windows Live에서 분리하여 사용할 수 있는 것들이죠.&lt;/p&gt;  &lt;p&gt;Live Mesh는 여러 디바이스/클라우드/기계들의 데이타를 자연스럽게(?) 동기화하는 응용프로그램으로 시작하여 서비스로 확장한 Live Framework이 되었습니다. 데이타를 동기화하는 시나리오는 굉장히 많은데 &lt;a href="http://kr.youtube.com/watch?v=-RY-q8k2RRI"&gt;Synchronizing Life라는 제목의 프로모션 비디오&lt;/a&gt;를 참고하시면 나름 어떤 느낌인지 와닿을 것 같습니다. Live Framework은 단순히 파일을 동기화하는 것이 아니라 여러가지 리소스 모델들을 동기화합니다. 파일 이외에 데이타베이스처럼 테이블의 데이타라든가, 혹은 피드들도 동기화할 수 있습니다. 앞으로 차차 Live Services에서 Live Framework이 중심 프레임웍으로 전환될 예정입니다.&lt;/p&gt;  &lt;h4&gt;SQL Services&lt;/h4&gt;  &lt;p&gt;기존의 데이타베이스가 하던 여러가지 기능들이 온라인으로 제공되는 서비스들에 사용하는 브랜드입니다. 이 이름 아래에 있는 서비스들 중에서 현재 공개된 서비스는 이전에 SSDS(SQL Server Data Service)라고 불리던 SDS(SQL Data Services)입니다. SDS는 기존의 관계형 데이타베이스 형태로 관리되는 데이타를 위한 스토리지 서비스로 SQL Server를 기반으로 만들어졌습니다. 클라우드를 생각하지 않더라도 세상에는 데이타를 관리하는 솔루션은 다양하고, 마찬가지로 SDS도 여러가지 관리 방법 중에서 SQL Server의 기능에 집중한 서비스입니다. 헷갈릴 수도 있겠지만, 이런 이유로 이외에도 다양한 다른 방식의 스토리지 서비스들이 Azure에 존재합니다.&lt;/p&gt;  &lt;p&gt;SQL Services에서 제공될 다른 서비스들은 &lt;a href="http://www.microsoft.com/azure/sqllabs.mspx"&gt;여기&lt;/a&gt;서 보실 수 있습니다. 모두 새로 오픈한 SQL Services Lab에서 인큐베이팅 중입니다.&lt;/p&gt;  &lt;h4&gt;.NET Services&lt;/h4&gt;  &lt;p&gt;굳이 이름을 .NET Services로 했지만, .NET에 국한되기 때문에 이런 이름을 사용한 것이 아니라 .NET의 기능에 맞게 분류했기 때문에 이 이름을 사용한 것 같습니다. 이전에는 BizTalk Labs에서 &lt;a href="http://blogs.msdn.com/bkchung/archive/2007/04/28/biztalk-services-ctp.aspx"&gt;Biztalk Services라는 이름으로 연구개발&lt;/a&gt;을 하던 서비스들로 Azure 아래로 통합되었습니다. 보시면 Java나 Ruby용 SDK도 제공하고, 굳이 SDK를 사용하지 않고 직접 호출해서 사용할 수도 있습니다.&lt;/p&gt;  &lt;p&gt;.NET Services에서 현재 제공하는 서비스들은 이전과 비슷하게 다음과 같습니다:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Access Control(접근 제어) – 사용자를 확인하고 할 수 있는 일들을 구분해줍니다.&lt;/li&gt;    &lt;li&gt;Service Bus – 응용프로그램들을 연결해주는 매개역할을 합니다.&lt;/li&gt;    &lt;li&gt;Workflow Service – 클라우드에서 워크플로를 사용할 수 있도록 합니다.&lt;/li&gt; &lt;/ul&gt;  &lt;h4&gt;다시 Windows Azure&lt;/h4&gt;  &lt;p&gt;Windows Azure 서비스들을 사용하거나 보완하여 위에서 설명한 여러 Azure Services들이 동작하지만, 그렇다고 Windows Azure이 가려져있는 것은 아닙니다. 사용할 수 있는 Windows Azure는 다음의 여러 서비스들로 이뤄져 있습니다:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Windows Azure Storage Services – 파일과 같은 바이너리(Blobs), 서비스간의 메시징 큐(Queues), 데이타베이스와 같은 테이블(Windows Azure Tables)등의 서비스를 제공합니다.&lt;/li&gt;    &lt;li&gt;Compute 서비스 – 실제로 CPU를 소비하는 로직을 위한 서비스입니다. 개발된 응용프로그램이 데이터센터로 배포되어 통신을 담당하는 부분과 작업을 담당하는 두부분으로 나뉘어 동작하게 됩니다. (아래 “기타”에 설명되는 Azure Fabric에 해당하는 부분입니다.)&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;내부적으로는 fabric이라는 용어를 사용합니다.&lt;/p&gt;  &lt;h4&gt;기타&lt;/h4&gt;  &lt;p&gt;이름이 무슨무슨 Services이기 때문에 Azure의 내용 같아서 헷갈릴 수 있는 것으로 &lt;a href="http://msdn.microsoft.com/en-us/data/bb931106.aspx"&gt;ADO.NET Data Services&lt;/a&gt;가 있습니다. 이전에 Astoria라는 코드명으로 불리던 것으로 Azure Services의 컴포넌트로가 아니라 이런 REST 기반의 서비스를 쉽게 만들 수 있도록 해주는 (WCF를 사용하여 만들어진) 기반 기술입니다. Azure Services가 ADO.NET Data Services로 만들어져 있을 수도 있고, 혹은 ADO.NET Data Services를 염두에 두고 만들어진 서비스라면 연동이 될 수도 있을 것일테죠.&lt;/p&gt;  &lt;p&gt;웹에 호스팅되는 서비스를 만드는 회사들은 일반적으로 로컬 개발 –&amp;gt; 테스트 호스팅 환경 –&amp;gt; 운영 환경(운영계)의 단계로 만든 서비스를 확인하면서 최종 배포를 하게 되는데, 이를 Staging이라고 합니다. Azure 서비스를 만들때에도 같은 방식을 사용하게 됩니다. 우선 Windows Azure Tools for Visual Studio를 사용하여 시뮬레이션을 하면서 개발을 합니다. 이때 데이터센터에 있는 서비스들을 직접 사용하는 것이 아닌 시뮬레이션 되는 환경을 Development Fabric이라고 합니다. 반대로 개발된 내용을 운영 환경으로 올린(배포/퍼블리싱) 경우에 실제로 사용하는 환경을 Windows Azure Fabric 혹은 Hosted Services Fabric이라고 합니다. Development Fabric에서는 시뮬레이션만 하지만 Windows Azure Fabric을 통해서는 서버간 배포와 버져닝, 로드 밸런싱이나 복구와 관리등의 작업들이 이루어집니다.&lt;/p&gt;  &lt;p&gt;--&lt;/p&gt;  &lt;p&gt;대표적으로 비교되는 타사 서비스라고 한다면 &lt;a href="http://aws.amazon.com/"&gt;Amazon Web Services&lt;/a&gt;나 &lt;a href="http://code.google.com/appengine/"&gt;Google App Engine&lt;/a&gt;(Python)이나 &lt;a href="http://heroku.com/"&gt;Heroku&lt;/a&gt;(Ruby) 혹은 &lt;a href="http://ning.com/"&gt;Ning&lt;/a&gt;(PHP)같을 것을 들 수 있겠습니다. 혹은 위에서 소개한 각각의 서비스와 경쟁하는 회사 서비스들도 있습니다. 각기 다른 비즈니스 모델과 수익 모델을 생각하기 때문에 비슷하게 대응되는 서비스들이 있기도 하고 없기도 합니다. 대충 클라우드 컴퓨팅 플랫폼이라고 하는 다가오는 환경의 맛보기라고나 할까요.&lt;/p&gt;  &lt;p&gt;혹자 우리가 사용하는 모든 웹서비스들과 &lt;a href="http://en.wikipedia.org/wiki/Cloud_computing"&gt;bittorrent나 SETI@home같은 아키텍쳐를 포함하여 클라우드 컴퓨팅이라고 한다&lt;/a&gt;고 미래의 다른 가능성도 포함하여 정의하지만 산업 전반을 이야기하는 용어로 사용하기보다는 여기서는 플랫폼으로서의 클라우드 컴퓨팅으로 개인적으로 인프라/플랫폼등을 포함한 “기능을 (호스팅 기반의) 인터넷 기반의 서비스로 제공하는 모델”이라고 보는 것이 일단은 무난하지 않나 생각됩니다. 어떤 경우든 클라우드 컴퓨팅의 시대가 도래했다는 것은 맞는 말이겠지만요.&lt;/p&gt;  &lt;p&gt;위에서 정리한 Azure 서비스들은 앞으로 계속해서 나올 서비스들의 흐름을 보여주는 것으로, Windows Live 자체도 위의 모델로 바뀌어 갈 것이고 위의 서비스들의 모양들로 유추할 수 있듯이 기존 소프트웨어의 강력함을 계속 가져가는 S+S(Software plus Services) 모델도 계속해서 마이크로소프트의 한 축으로 계속될 것이라 생각됩니다.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9113377" width="1" height="1"&gt;</description></item><item><title>C# 4.0 새기능들(2008년10월CTP버젼)</title><link>http://blogs.msdn.com/bkchung/archive/2008/11/09/c-4-0-2008-10-ctp.aspx</link><pubDate>Sun, 09 Nov 2008 13:25:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9055599</guid><dc:creator>bkchung</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/bkchung/comments/9055599.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bkchung/commentrss.aspx?PostID=9055599</wfw:commentRss><description>&lt;P&gt;개발자 분들을 위한 내용들을 적는 블로그임에도 불구하고 소식들과 가십들을 위주로 적다보니 정작 코드를 적는 것은 굉장히 오랜만인 것 같습니다.^^ 드디어 조금 적을 기회가 왔습니다. C# 4.0에 관한 이야기를 적으면서 말이죠…&lt;/P&gt;
&lt;P&gt;C# 3.0의 주요 테마 중 한가지는 LINQ였습니다. 물론 각 기능들은 독립적인 유용성이 있었지만, LINQ를 구현하는 연장선상에서 여러가지 새 기능들이 설명될 수 있었고 그에 준하여 추가되었습니다. 이번 C# 4.0이 진행되는 동안 (물론 3.0을 개발하는 것과 동시에 시작되었죠) 재미난 영향들이 있었습니다.&lt;/P&gt;
&lt;P&gt;C#의 설계자들은 &lt;A href="http://channel9.msdn.com/posts/Charles/C-40-Meet-the-Design-Team/" mce_href="http://channel9.msdn.com/posts/Charles/C-40-Meet-the-Design-Team/"&gt;알려진대로 9년전부터 매주 몇번씩 C# 디자인 미팅을 가집니다&lt;/A&gt;(참고로 &lt;A href="http://channel9.msdn.com/posts/funkyonex/Visual-Basic-Language-Design-Meeting/" mce_href="http://channel9.msdn.com/posts/funkyonex/Visual-Basic-Language-Design-Meeting/"&gt;VB도 마찬가지지요&lt;/A&gt;). 마치 원탁의 기사들처럼 이 미팅에는 다양한 사람들이 참가하여 새기능과 기존 철학의 밸런스를 조절합니다. 근래의 주요 참가자들을 보면 당연히 C#의 Anders Hejlsberg와 Mads Torgersen가 있고, JScript등의 스크립팅의 Eric Lippert, VB의 Paul Vick 그리고 C# 3.0 이후로 Jim Hugunin이 참가를 하는데, Jim은 DLR(Dynamic Language Runtime) 전문이죠.&lt;/P&gt;
&lt;P&gt;Jim을 빼고는 오랫동안 이 멤버들이 참가를 했었지만, Jim의 DLR의 등장으로 인해 4.0이 되어서 한 테마로 떠오른 것이 기술들의 행복한(?) 조화였습니다. (물론 커뮤니티로부터의 커다란 피드백도 많은 영향을 미쳤습니다.) 동적(dynamic)인 요소는 이들이 잘 지내는데에 필수적인 요소였기 때문이랄까요? 아마도 이런 이유로 4.0의 새기능들 중에서 다음의 내용들이 주를 이룹니다:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;dynamic이라는 키워드 –&amp;gt; DLR(IronPython/IronRuby등), COM과의 Interop&lt;/LI&gt;
&lt;LI&gt;Optional/Named 파라미터, No PIA –&amp;gt; 좀 더 편해진 COM Interop, VB 기능과의 싱크&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;모두가 다른 기술과 잘 지내보려는 개방의 노력이라고 할 수 있겠습니다. 다르게 이야기하면 다른 언어나 기술에서 제공하던 방식으로 상호연동(Interop)하기 위해서는 C#에서 제공하지 않는 것들은 포기해야하거나 혹은 C#의 방식대로 불편하게 사용해야하는 상황을 개선하고자 했다고 이야기할 수 있겠습니다.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;- dynamic 키워드&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;다음의 C# 3.0 코드를 보시죠:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;var calc = new Calculator();&lt;/P&gt;
&lt;P&gt;int sum = calc.Add(10, 20);&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;이 경우에는 var이라는 형식(type)이 존재하는 것이 아니고, 유추(infer)에 의해 Calculator라는 클래스임을 판단하고 calc의 형식을 정의하게 됩니다. 따라서 기존의 정적인 방식과 다름없이 컴파일시에 형검사가 이뤄지게 됩니다.&lt;/P&gt;
&lt;P&gt;반면 4.0에서 소개되는 dynamic이라는 형식(type)은 (여러가지 규칙이 있지만) 일반적으로 evaluation을 실행시간(runtime)으로 미루겠다는 표시입니다. Anders의 슬라이드에서 빌리자면:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;dynamic calc = GetCalculator();&lt;/P&gt;
&lt;P&gt;int sum = calc.Add(10, 20);&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;calc는 정적(static) 언어의 의미로는 dynamic이라는 형식(type)을 가지는 변수입니다. 따라서 여기서 Add라는 메서드의 호출문은 컴파일러에 의한 형검사를 통하지 않고 실행시간(runtime)에 바인딩되어 동적으로 호출됩니다. (내부적으로는 호출 이전에 dynamic이라는 형식을 필요한 형식으로 대체를 하는 방식을사용하게 되며, 이로써 정적 언어에서 동적인 속성을 사용할 수 있는 방안을 제공하게 되는 것입니다.)&lt;/P&gt;
&lt;P&gt;dynamic 키워드가 없다면 위의 코드를 다음과 같은 방식으로 동적인 속성을 코딩해야할 것입니다:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;object calc = GetCalculator();&lt;/P&gt;
&lt;P&gt;Type calcType = calc.GetType();&lt;/P&gt;
&lt;P&gt;object res = calcType.InvokeMember("Add", BindingFlags.InvokeMethod, null, new object[] { 10, 20 });&lt;/P&gt;
&lt;P&gt;int sum = Convert.ToInt32(res);&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;물론 이는 calc가 다른 외부의 객체 모델(OM, Object Model)을 대표하는 것이 아니라 .NET 객체를 사용한 경우의 예이고 다른 경우에는 다른 방식을 사용하겠죠.&lt;/P&gt;
&lt;P&gt;이런 Reflection을 사용하지 않는 구현을 위하여 IDynamicObject라는 인터페이스를 제공하며, 이는 정확히는 DLR에서 제공하는 인터페이스입니다. &lt;A href="http://channel9.msdn.com/pdc2008/TL16/" mce_href="http://channel9.msdn.com/pdc2008/TL16/"&gt;Anders의 PDC 세션&lt;/A&gt;에서는 HTML DOM도 AsDynamic()이라는 Extension 메서드를 통해 IDynamicObject로 래핑해서 dynamic으로 사용하는 것을 보여줍니다.&lt;/P&gt;
&lt;P&gt;이를 통하여 COM Interop에 몇가지 더 편리함을 제공하게 됩니다. 예를들어, Variant를 위해 사용하는 object 형식을 다시 해당하는 형식으로 cast하는 오버헤드가 없어집니다. C# 4.0 새기능 문서의 예제를 빌리면:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;((Excel.Range)excel.Cells[1, 1]).Value2 = "Hello";&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;를&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;excel.Cells[1, 1].Value = "Hello";&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;이렇게 사용할 수 있습니다.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;- Optional / Named 인자&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;이는 이전부터 구현의 이슈라기 보다는 언어의 철학에 관한 이슈였습니다. .NET Framework 디자인에 있어서 인자는 명백히 선언되어 호출시 명기해야하는 경우에 더 나은 코딩 방식으로 생각되어져 왔지만, 그동안 수많은 반대 피드백들이 있었습니다. 특히 COM Interop시의 Missing값 이슈는 VB에서는 제공하던 Optional 인자와 비교해서 코딩에 해를 주는 요소였습니다.&lt;/P&gt;
&lt;P&gt;이에 C# 4.0부터는 다음과 같이 정의시에 인자의 기본값을 지정하고, 호출시에 원하는 인자의 값을 지정할 수 있게 되었습니다(Anders의 강의에서 환호를 받았죠.^^):&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;public StreamReader OpenTextFile( string path, Encoding encoding = null, bool detectEncoding = true, int bufferSize = 1024); // 뒤의 3 인자에 기본값 지정&lt;/P&gt;
&lt;P&gt;OpenTextFile("foo.txt", Encoding.UTF8); // 뒤의 2 인자 생략&lt;/P&gt;
&lt;P&gt;OpenTextFile("foo.txt", Encoding.UTF8, bufferSize: 4096); // 뒤의 2 인자 중 bufferSize만 지정&lt;/P&gt;
&lt;P&gt;OpenTextFile( bufferSize: 4096, path: "foo.txt", detectEncoding: false); // 각 인자를 순서에 관게없이 지정&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;STRONG&gt;- Variance&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;행복한 조화 분류에 속하지는 않지만, 중요한 결정 중 하나는 Variance입니다. Variance를 설명하는 것은 마치 입문자에게 포인터를 설명하는 것처럼 잘못 설명하면 헷갈리기 쉬운 것이라 조심스럽습니다만, 이번 4.0에서는 인터페이스와 delegate에 한하여 지원하므로 해결하고자 하는 문제에 한해 &lt;A href="http://channel9.msdn.com/pdc2008/TL16/" mce_href="http://channel9.msdn.com/pdc2008/TL16/"&gt;Anders의 설명방식&lt;/A&gt;으로 설명해봅니다.&lt;/P&gt;
&lt;P&gt;.NET 배열은 co-variant하기 때문에 어떤 객체에 더 구체적인 객체를 대입할 수 있습니다. 즉 object[]를 요하는 곳에 string[]를 사용할 수 있습니다. 쉽게 “아무 동물을 각 방에 넣어줘봐” 하면 닭들을 채워주는 것과 같은 것입니다. 반면, string[]을 대입했더라도 object[]인 것에는 변함이 없기 때문에 컴파일시에는 여기에 string이 아닌 다른 값을 대입해도 object에 대입한 것으로 간주하여 오류를 내지 않습니다. 대신 실행시간에 런타임오류가 발생하죠:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;object[] oa; &lt;BR&gt;oa = new string[10]; &lt;BR&gt;oa[1] = new int(); // 컴파일되지만 런타임오류가 발생&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;이런 문제에 type safety를 제공하기 위해서 Generics라는 훌륭한 기능이 들어옵니다만, 문제는 Generics는 invariant하다는 것입니다. 즉 List&amp;lt;object&amp;gt;에 List&amp;lt;string&amp;gt;을 대입할 수는 없습니다.&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;List&amp;lt;object&amp;gt; ls; &lt;BR&gt;ls = new List&amp;lt;string&amp;gt;(10);&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;위의 코드는 VS에디터에서 “Cannot implicitly convert type 'System.Collections.Generic.List&amp;lt;string&amp;gt;' to 'System.Collections.Generic.List&amp;lt;object&amp;gt;'라고 항변합니다. “object 리스트인데, 왜 string을 각 요소로 사용할 수 없는거지?”하는 불만이 생기게 되는 것입니다. 이 두가지 이슈의 완충 작용을 위해서 C# 4.0에서는 제한적으로 인터페이스/delegate에 covariance와 contravariance를 지정하는 방식을 도입합니다. 다음의 코드를 보시죠(아직 C# 4.0의 프로토타입 단계라 아래의 코드가 동작하는지는 모르겠습니다만 컨셉만 생각해보세요):&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;List&amp;lt;string&amp;gt; strings = new List&amp;lt;string&amp;gt;(10); &lt;BR&gt;IEnumerable&amp;lt;object&amp;gt; objects = strings;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;objects에 strings가 대입되었지만, IEnumerable에 의해서 objects에 값을 지정할 수 있는 방법이 없게 됩니다. 즉, co-variance를 허용한 대신 값에 쓰는 방법을 제공하지 않는 것으로 safety를 제공하게 됩니다. 이는 다음과 같은 방법으로 정의함으로써 구현됩니다:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;public interface IEnumerable&amp;lt;&lt;STRONG&gt;out&lt;/STRONG&gt; T&amp;gt; { &lt;BR&gt;&amp;nbsp; &lt;U&gt;IEnumerable&amp;lt;T&amp;gt;&lt;/U&gt; GetEnumerabor(); &lt;BR&gt;&amp;nbsp; &lt;U&gt;T&lt;/U&gt; Current { get; } &lt;BR&gt;&amp;nbsp; … &lt;BR&gt;}&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;위의 코드에서는 out을 T에 붙임으로써 co-variant임을 지정합니다. 위의 코드에서 밑줄친 것과 같이 out을 붙임으로써 T의 사용은 output에 제한하게 됩니다. 즉, IEnumerable&amp;lt;T&amp;gt;는 co-variant하게 대입이 가능함과 동시에 이로 인해 발생할 수 있는 safety를 보장하도록 하는 장치를 가지게 됩니다.&lt;/P&gt;
&lt;P&gt;반대로:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;public interfact IComparer&amp;lt;&lt;STRONG&gt;in&lt;/STRONG&gt; T&amp;gt; { &lt;BR&gt;&amp;nbsp; int Compare(&lt;U&gt;T&lt;/U&gt; x, &lt;U&gt;T&lt;/U&gt; y); &lt;BR&gt;}&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;에서처럼 T에 in을 붙임으로써 contra-variance를 지정하고 input에만 사용할 수 있는 제약을 둡니다(그렇지 않으면 컴파일 에러를 내겠죠). 다시 쉬운 예를 들면, 100원짜리가 들어갈 수 있는 저금통을 요구하는 사람에게 500원짜리가 더 큰 것이기에 500원짜리가 들어갈 수 있는 저금통을 줘도 괜찮은 것과 같을 수 있겠습니다 – 반대로 500원짜리만 넣겠다는 사람에게 100원만 들어가는 구멍의 저금통을 주면 contra-variant하기 때문에 안되겠죠. 즉, 여기서는 IComparer&amp;lt;object&amp;gt;를 IComparer&amp;lt;string&amp;gt;에 대입할 수 있게 되는 것이고, 그 safety가 컴파일시에 보장되는 것이죠. 인자로 string을 받아 비교하는 클래스이기 때문에 그 구현이 object라고 하더라도 명백히 호환이 되는 것이죠.&lt;/P&gt;
&lt;P&gt;물론 in과 out을 섞어서 활용할 수도 있겠습니다. &lt;A href="http://blogs.msdn.com/ericlippert/archive/tags/Covariance+and+Contravariance/default.aspx" mce_href="http://blogs.msdn.com/ericlippert/archive/tags/Covariance+and+Contravariance/default.aspx"&gt;Eric Lipper의 Co-variance와 Contra-variance에 관한 씨리즈&lt;/A&gt;를 참고하시면 좋을 것 같습니다. &lt;A href="http://en.wikipedia.org/wiki/Parameter_covariance" mce_href="http://en.wikipedia.org/wiki/Parameter_covariance"&gt;Wikipedia&lt;/A&gt;에도 이에 관해 잘 나와있습니다.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;- 정리&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://code.msdn.microsoft.com/Project/Download/FileDownload.aspx?ProjectName=csharpfuture&amp;amp;DownloadId=3550" mce_href="http://code.msdn.microsoft.com/Project/Download/FileDownload.aspx?ProjectName=csharpfuture&amp;amp;DownloadId=3550"&gt;C# 4.0의 새기능 문서&lt;/A&gt;를 보면 이외에도 VB의 기능과의 parity에 관한 이야기가 언급됩니다. C#의 dynamic과 VB의 Late Binding은 속성이 비슷하기 때문에 VB에서 DLR을 사용하도록 조절될 수 있고, Optional/Named 인자는 이미 VB에서 오랫동안 사용되었기 때문에 이를 바탕으로 C#의 기능을 설계하였고, 또한 NoPIA와 variance는 C# 뿐만 아니라 VB에도 추가되는 기능이라고 이야기합니다.&lt;/P&gt;
&lt;P&gt;이렇듯, C#의 방향성은 다른 기술과 잘 지내려고 하는 방향으로 흐르고 있고, 애초의 태생도 다양한 언어와 기술의 기반이 될 수 있는 CLR(.NET Framework)을 지원하는 언어로서의 역할을 위한 것이었기 때문에 이런 방향이 잘 설명될 수 있습니다. (반면 JavaVM은 Java를 위해서만 만들어졌기 때문에 이에 충실한 방향이었고, 이에 맞는 방향성과 동적언어등으로 인한 그 방향성의 변화도 설명될 수 있습니다.)&lt;/P&gt;
&lt;P&gt;위에서 설명한 DLR이나 COM Interop 혹은 스크립팅언어등 이외에도 CLR위에 F#과 같은 새로운 함수형 언어의 공식 지원으로 인한 변화와 병렬(Parellel) 환경 지원을 위한 CLR의 변화등도 함께 C#의 방향성에 영향을 주고 있으며, 이미 SQL과 같은 절차형이 아닌 선언형식의 언어적 요소를 위한 LINQ의 수용도 3.0이후에 이뤄지고 있습니다. 앞으로 계속되는 “&lt;STRONG&gt;정적(static) 언어&lt;/STRONG&gt;”인 C#의 이런 요소들의 실용적인 섭렵을 계속 기대해봅니다.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9055599" width="1" height="1"&gt;</description></item><item><title>WPF Toolkit 2008년 10월 버젼</title><link>http://blogs.msdn.com/bkchung/archive/2008/10/29/wpf-toolkit-2008-10.aspx</link><pubDate>Wed, 29 Oct 2008 05:45:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9021675</guid><dc:creator>bkchung</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/bkchung/comments/9021675.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bkchung/commentrss.aspx?PostID=9021675</wfw:commentRss><description>&lt;p&gt;&lt;a href="http://www.codeplex.com/wpf/Release/ProjectReleases.aspx?ReleaseId=15598"&gt;Windows Presentation Foundation (WPF) - Release: WPF Toolkit - October 2008 Release&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;프리뷰로 8월에 공개되었던 WPF Toolkit이 정식 버젼을 공개하였습니다. Silverlight Toolkit처럼 Control들과 같은 부가적인(사용하면 편한) 컴포넌트들이 포함되어 있습니다.&lt;/p&gt;  &lt;p&gt;이번 WPF Toolkit에 들어있는 내용은:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;WPF DataGrid&lt;/li&gt;    &lt;li&gt;DatePicker/Calendar&lt;/li&gt;    &lt;li&gt;VisualStateManager(VSM)의 프리뷰 - Silverlight에서 먼저 사용하기 시작한 VSM을 WPF에 구현한 것입니다. WPF의 Trigger등을 사용해보신 분들에게 강력함은 좋지만 사용하기 힘든 부분들이 있다는 피드백에 의거해서 VSM을 WPF에 추가하기로 한 것입니다.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;WPF Toolkit과 별도로 WPF에서 Ribbon을 사용하기 위한 &lt;a href="http://www.codeplex.com/wpf/Wiki/View.aspx?title=WPF%20Ribbon%20Preview"&gt;WPF Ribbon의 프리뷰 버젼도 공개&lt;/a&gt;되었습니다. Ribbon의 사용은 비용이 들지 않지만, 마이크로소프트에서 라이센싱하는 기술이기 때문에 &lt;a href="http://msdn.microsoft.com/ko-kr/office/aa973809(en-us).aspx"&gt;Office UI 라이센싱 사이트&lt;/a&gt;를 통해야합니다(License the Office UI 링크를 사용하시면 됩니다).&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9021675" width="1" height="1"&gt;</description></item><item><title>Silverlight Toolkit 11월 버젼 공개</title><link>http://blogs.msdn.com/bkchung/archive/2008/10/29/silverlight-toolkit-11.aspx</link><pubDate>Wed, 29 Oct 2008 03:07:45 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9021517</guid><dc:creator>bkchung</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/bkchung/comments/9021517.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bkchung/commentrss.aspx?PostID=9021517</wfw:commentRss><description>&lt;p&gt;&lt;a href="http://www.codeplex.com/Silverlight"&gt;Silverlight Toolkit - Home&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;예정대로 Silverlight Control들을 포함한 여러가지 컴포넌트와 유틸리티들을 모은 Silverlight Toolkit이 공개되었습니다. Silverlight 런타임에는 기본적인 Control들이 들어있고, 여기에 들어있지 않은 Control들을 Toolkit에서는 제공하게 됩니다. (Toolkit의 dll을 따로 프로젝트에 추가하여 생성을 해야합니다.)&lt;/p&gt;  &lt;p&gt;Silverlight Toolkit은 다음 구성요소를 가지고 있습니다:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;AutoCompleteBox, NumericUpDown, UpdownBase, Viewbox, Expander, ImplicitStyleManager, ,ButtonSpinner, Spinner, Charting (프리뷰 수준)&lt;/li&gt;    &lt;li&gt;TreeView, DockPanel, WrapPanel, Label, HeaderedContentControl, HeaderedItemsControl (안정된 버젼)&lt;/li&gt;    &lt;li&gt;여러가지 테마들.&lt;/li&gt;    &lt;li&gt;이들을 사용하는 샘플들.&lt;/li&gt;    &lt;li&gt;XAML source viewer.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;모두 Ms-Pl 라이센스로 소스와 유닛테스트들과 함께 공개됩니다.~&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9021517" width="1" height="1"&gt;</description></item><item><title>영문 Silverlight Tools(Visual Studio 2008 SP1용) 최종 버젼</title><link>http://blogs.msdn.com/bkchung/archive/2008/10/28/silverlight-tools-visual-studio-2008-sp1.aspx</link><pubDate>Tue, 28 Oct 2008 02:46:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9019620</guid><dc:creator>bkchung</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/bkchung/comments/9019620.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bkchung/commentrss.aspx?PostID=9019620</wfw:commentRss><description>&lt;P&gt;&lt;A class="" href="http://www.microsoft.com/downloads/details.aspx?FamilyId=c22d6a7b-546f-4407-8ef6-d60c8ee221ed&amp;amp;displaylang=en" target=_blank mce_href="http://www.microsoft.com/downloads/details.aspx?FamilyId=c22d6a7b-546f-4407-8ef6-d60c8ee221ed&amp;amp;displaylang=en"&gt;Download details: Silverlight Tools&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;이전에 Silverlight 2 런칭때 출시된 영문 버젼&amp;nbsp;Silverlight Tools는 RC버젼이었죠? 드디어 최종 버젼이 공개되었습니다. 가장 큰 변화는 설치 호환성이기 때문에 눈에 띄는 큰 변화는 없습니다. 최종버젼으로 업그레이드를 하지 않을 경우 차후 추가로 설치할 수 있는 다른 기술과 호환성 문제가 발생할 수 있습니다.&lt;/P&gt;
&lt;P&gt;(한글 버젼은 이전 RC버젼때와 비슷하게 기간을 두고 출시됩니다.)&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9019620" width="1" height="1"&gt;</description></item><item><title>.NET 로고가 상큼하게 바뀌었습니다!</title><link>http://blogs.msdn.com/bkchung/archive/2008/10/26/net.aspx</link><pubDate>Sat, 25 Oct 2008 14:40:10 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9016044</guid><dc:creator>bkchung</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/bkchung/comments/9016044.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bkchung/commentrss.aspx?PostID=9016044</wfw:commentRss><description>&lt;p&gt;이전의 브랜드들과는 달리 .NET이라는 브랜드는 상대적으로 수명이 꽤 길고, 계획으로는 앞으로도 꽤 오랫동안 계속해서 사용될 예정입니다. 이 .NET이라는 브랜드는 C#이라는 언어 이름과 비슷하게 검색어로써는 검색엔진들이 adjust하게 만들 정도로 유명한 것이기도 하지요.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.google.co.kr/images?q=.net+framework+logo"&gt;이전의 로고&lt;/a&gt;를 통해 .NET이라는 브랜드가 지정하는 아이덴티티가 굉장히 기술 지향적이었습니다. 어떻게 이야기하면 Geeky하다고 할까요. .NET이라는 변화가 굉장히 기술적인 것이었던 것도 사실이구요. .NET Framework이라는 것에 대한 성공이 지금만큼 크게 보이는 상황이라기 보다는 커질 것인가에 대해 justify를 하고 있는 상황이라고 할까요. 하지만, 이제는 .NET이라는 브랜드가 OS 자체에 자리잡았을 뿐만 아니라, 다른 여러가지 다양한 마이크로소프트 기술의 기반 기술이 되고 있습니다. .NET이라는 키워드가 달린 제품들이라고 굳이 나열하지 않아도 될 정도죠. 이런 상황에서 좀 더 아이덴티티를 확고히 하기 위하여 로고 디자인을 바꾸게 되었습니다:&lt;/p&gt;  &lt;p&gt;&lt;img title="dotnetnewlogo" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="81" alt="dotnetnewlogo" src="http://blogs.msdn.com/blogfiles/bkchung/WindowsLiveWriter/e8667d435d5b.NET_14CC8/dotnetnewlogo_3.png" width="328" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;우선적으로 눈에 띄는 무늬는 .NET의 브랜드를 더 쉽게 상징화하는 알파벳 ‘N’입니다. 이 ‘N’은 곡선 형태로 ‘물결(wave)’을 모티브로 한 것으로 강하고 간단하고 구별되는 디자인을 보여줍니다. 제 느낌만이 아니라 더 미래 지향적인 로고라는 생각이 드는 디자인으로 보입니다.&lt;/p&gt;  &lt;p&gt;또한가지, 근래에 마이크로소프트에서 디자인 되는 로고들과 일관성도 눈에 띕니다. &lt;a href="http://images.google.co.kr/images?q=silverlight+logo"&gt;Silverlight의 nebula 로고&lt;/a&gt;라든가, &lt;a href="http://images.google.co.kr/images?q=microsoft%20surface%20logo"&gt;Microsoft Surface의 로고&lt;/a&gt;라든가, 혹은 &lt;a href="http://images.google.co.kr/images?q=photosynth+logo"&gt;PhotoSynth의 로고&lt;/a&gt;등의 여타 다른 Live Labs의 &lt;a href="http://news.cnet.com/i/bto/20071020/Listas-Logo.jpg"&gt;로&lt;/a&gt;.&lt;a href="http://notes2self.net/mob_img/seadragon_logo.png"&gt;고&lt;/a&gt;.&lt;a href="http://asia.cnet.com/i/r/2007/hp/62000928/deepfish_logo_200.jpg"&gt;들&lt;/a&gt;.&lt;a href="http://blogs.zdnet.com/Burnette/images/logo-volta.png"&gt;등&lt;/a&gt;등, 모두가 어느정도 일관성을 보입니다.&lt;/p&gt;  &lt;p&gt;어떻게 보면 이전에 가지고 있던 제품명 작명에 대한 사용자들의 피드백에 의한 변화일 수도 있겠습니다. 웹에 이를 패러디한 미디어들이 많이 돌고 있죠. 하지만, 이제는 점차 변화하고 있는 모양입니다. “.NET” 뿐만아니라 위에 언급한 Silverlight, Surface, Deepfish, Strata등등, 아마도 변화하고 있는 마이크로소프트를 보여주는 한 상징적인 이벤트라고도 할 수 있겠습니다. (다음주 시작될 PDC에서 발표되는 로고(브랜드)들도 마찬가지로 이런 트렌드를 보여줄 것입니다.)&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9016044" width="1" height="1"&gt;</description></item><item><title>WPF 소스코드(.NET Framework 3.5 SP1 버젼) 추가 공개</title><link>http://blogs.msdn.com/bkchung/archive/2008/10/22/wpf-net-framework-3-5-sp1.aspx</link><pubDate>Wed, 22 Oct 2008 05:57:23 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9010768</guid><dc:creator>bkchung</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/bkchung/comments/9010768.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bkchung/commentrss.aspx?PostID=9010768</wfw:commentRss><description>&lt;p&gt;&lt;a href="http://blogs.msdn.com/rscc/archive/2008/10/22/wpf-sources-for-net-framework-3-5-sp1-are-available.aspx"&gt;Reference Source Code Center Team Blog : WPF Sources for .NET Framework 3.5 SP1 are available!&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/rscc/archive/2008/08/28/net-framework-3-5-sp1-sources-are-available.aspx"&gt;.NET Framework 3.5 SP1이 출시되고 공개된 소스코드&lt;/a&gt;에 WPF와 몇가지가 빠져있었는데, 오늘 WPF 부분의 코드가 공개되었습니다.&lt;/p&gt;  &lt;p&gt;물론 소스코드는 아시다시피 다운로드 형태가 아니라 Visual Studio등에서 소스 서버를 통한 레퍼런스 형태로 제공됩니다. (&lt;a href="http://blogs.msdn.com/bkchung/archive/2008/01/18/net-framework-2008-01.aspx"&gt;해당 포스트 참조&lt;/a&gt;)&lt;/p&gt;  &lt;p&gt;계속되는 소스코드 추가 소식은 &lt;a href="http://blogs.msdn.com/rscc/default.aspx"&gt;RSCC(Reference Source Code Center) 블로그&lt;/a&gt;를 주시하시면 되시겠습니다.^^ 즐거운 WPF 디버깅되세요~&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9010768" width="1" height="1"&gt;</description></item><item><title>ASP.NET MVC 베타 공개</title><link>http://blogs.msdn.com/bkchung/archive/2008/10/18/asp-net-mvc.aspx</link><pubDate>Sat, 18 Oct 2008 07:31:43 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9004474</guid><dc:creator>bkchung</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/bkchung/comments/9004474.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bkchung/commentrss.aspx?PostID=9004474</wfw:commentRss><description>&lt;p&gt;&lt;a title="ASP.NET MVC Beta Released - ScottGu&amp;#39;s Blog" href="http://weblogs.asp.net/scottgu/archive/2008/10/16/asp-net-mvc-beta-released.aspx"&gt;ASP.NET MVC Beta Released - ScottGu's Blog&lt;/a&gt; (소식)&lt;/p&gt;  &lt;p&gt;&lt;a title="ASP.NET MVC - The Official Microsoft ASP.NET Site" href="http://www.asp.net/mvc/default.aspx?wwwaspnetrdirset=1"&gt;ASP.NET MVC - The Official Microsoft ASP.NET Site&lt;/a&gt; (홈페이지)&lt;/p&gt;  &lt;p&gt;&lt;a title="Download details- MVC Beta" href="http://www.microsoft.com/downloads/details.aspx?FamilyId=A24D1E00-CD35-4F66-BAA0-2362BDDE0766&amp;amp;displaylang=en"&gt;Download details- MVC Beta&lt;/a&gt; (다운로드)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/bkchung/archive/2008/08/30/asp-net-mvc-5.aspx"&gt;5번째 프리뷰를 끝으로&lt;/a&gt; 베타 버젼을 공개하였습니다.&lt;/p&gt;  &lt;p&gt;이번 베타 버젼에는 이전과 다르게…&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;go-live 라이센스가 포함되어 운영 사이트에서 사용할 수 있고, &lt;/li&gt;    &lt;li&gt;써드 파티 제품인 JQuery가 포함되었고 이를 둘 수 있는 /Scripts 디렉토리가 생겼고, &lt;/li&gt;    &lt;li&gt;ASP.NET MVC Futures(Microsoft.Web.Mvc.dll)이 분리되었고(&lt;a href="http://www.codeplex.com/aspnet/Release/ProjectReleases.aspx?ReleaseId=18459"&gt;여기&lt;/a&gt;서 따로 다운로드), &lt;/li&gt;    &lt;li&gt;Silverlight Tools에서 ASP.NET MVC Web Project로 Silverlight 프로젝트를 생성할 수 있게 되었고, &lt;/li&gt;    &lt;li&gt;Add View라는 메뉴 아이템이 생겼으며, &lt;/li&gt;    &lt;li&gt;이외에 ASP.NET MVC 자체의 여러 향상들이 있었습니다. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;좀 더 자세한 달라진 점들은 다운로드 링크에서 Beta Release Notes 문서에서 보실 수 있습니다.&lt;/p&gt;  &lt;p&gt;위에 Scott Guthrie의 포스트에 “my excuse: the Silverlight 2, ASP.NET MVC, .NET 4.0, VS10, and Windows 7 ship cycles are all happening in parallel on my team - and I've unfortunately been really busy which is the reason for the delay”라고 하는데, 저희 팀도 해당하는 사항이라 여기의 포스트가 좀 뜸한 점도 이해해주세요~ ^^&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9004474" width="1" height="1"&gt;</description></item><item><title>Silverlight Tools 한글 버젼(RC)!</title><link>http://blogs.msdn.com/bkchung/archive/2008/10/17/silverlight-tools-rc.aspx</link><pubDate>Fri, 17 Oct 2008 07:32:05 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9002725</guid><dc:creator>bkchung</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/bkchung/comments/9002725.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bkchung/commentrss.aspx?PostID=9002725</wfw:commentRss><description>&lt;p&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=ko&amp;amp;FamilyID=c22d6a7b-546f-4407-8ef6-d60c8ee221ed"&gt;다운로드 세부 정보: Silverlight Tools&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;한글 Visual Studio 2008 SP1이나 VWD SP1에 설치가 가능한 한글 버젼이 드디어 다운로드 가능합니다. 이번 버젼에는 RC 태그가 붙어있는데, 그 이유는 아직 SDK와 문서와 Intellisense등이 한글화가 완료되지 않아 영문이 포함되었기 때문입니다. 설치되는 툴 자체는 정식버젼과 동일하므로 버젼 호환성을 걱정하지 않으셔도 됩니다. &lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9002725" width="1" height="1"&gt;</description></item></channel></rss>