<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet href="http://rss.egloos.com/style/blog.xsl" type="text/xsl" media="screen"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
	<title>Jedi Knight</title>
	<link>http://zplanet.egloos.com</link>
	<description>.NET기반 S/W 개발</description>
	<language>ko</language>
	<pubDate>Sun, 26 Jul 2009 11:29:25 GMT</pubDate>
	<generator>Egloos</generator>
	<image>
		<title>Jedi Knight</title>
		<url>http://pds2.egloos.com/logo/200611/19/60/a0013160.jpg</url>
		<link>http://zplanet.egloos.com</link>
		<width>80</width>
		<height>80</height>
		<description>.NET기반 S/W 개발</description>
	</image>
  	<item>
		<title><![CDATA[ 백행불여일정행 ]]> </title>
		<link>http://zplanet.egloos.com/1932336</link>
		<guid>http://zplanet.egloos.com/1932336</guid>
		<description>
			<![CDATA[ 
  <span class="entry-content"><div style="TEXT-ALIGN: center"><span class="entry-content">백문불여일견<br>(百聞不如一見)<br><br>백견불여일행<br>(百見不如一行)<br><br>백행불여일정행<br>(百行不如一正行)</span></div></span>			 ]]> 
		</description>
		<category>일반</category>

		<comments>http://zplanet.egloos.com/1932336#comments</comments>
		<pubDate>Sun, 26 Jul 2009 11:29:25 GMT</pubDate>
		<dc:creator>zplanet</dc:creator>
	</item>
	<item>
		<title><![CDATA[ Silverlight appliction 배포하기 ]]> </title>
		<link>http://zplanet.egloos.com/1755894</link>
		<guid>http://zplanet.egloos.com/1755894</guid>
		<description>
			<![CDATA[ 
  <p>자신이 운영하는 웹서버가 있거나 호스팅 서비스를 이용하는 사람이 아니라면 자신이 만든 Silverlight appliction을 <br>웹에 게시하기가 쉽지 않다.</p><p><br>이럴때는 live.com에서 제공하는 <a href="http://silverlight.live.com/">Silverlight Streaming 서비스</a>를 이용할 수 있다.</p><p>사이트에 접속 후 오른쪽 위의 "Sign in"을 눌러 로그인을 하면 된다.</p><p><div style="text-align:center"><img class="image_mid" border="0" onmouseover="this.style.cursor='pointer'" alt="" src="http://pds9.egloos.com/pds/200805/15/60/a0013160_482be360b3ee1.png" width="500" height="346.368715084" onclick="Control.Modal.openDialog(this, event, 'http://pds9.egloos.com/pds/200805/15/60/a0013160_482be360b3ee1.png');" /></div> </p><p>"Manage Applications"를 선택하면 오른쪽에 현재 등록된 application들이 보여지고 </p><p>새로운 application을 등록하려면 "upload an application"을 선택하면 된다.</p><p><div style="text-align:center"><img class="image_mid" border="0" onmouseover="this.style.cursor='pointer'" alt="" src="http://pds9.egloos.com/pds/200805/15/60/a0013160_482be36481ee7.png" width="500" height="222.947761194" onclick="Control.Modal.openDialog(this, event, 'http://pds9.egloos.com/pds/200805/15/60/a0013160_482be36481ee7.png');" /></div> </p><p>새로운 application의 이름을 입력하고 "Create"버튼을 누른다.</p><p><div style="text-align:center"><img class="image_mid" border="0" onmouseover="this.style.cursor='pointer'" alt="" src="http://pds8.egloos.com/pds/200805/15/60/a0013160_482be367ecb2d.png" width="500" height="156.771799629" onclick="Control.Modal.openDialog(this, event, 'http://pds8.egloos.com/pds/200805/15/60/a0013160_482be367ecb2d.png');" /></div> </p><p>이 장면에서 만들어 놓은 Silverlight application을 upload하면 되는데 그냥 올리는것이 아니고</p><p>manifest.xml이라는 파일을 하나 만들고 manifest.xml과 .xap파일을 zip으로 압축하여 zip파일을 올리면 된다.</p><p><div style="text-align:center"><img class="image_mid" border="0" onmouseover="this.style.cursor='pointer'" alt="" src="http://pds9.egloos.com/pds/200805/15/60/a0013160_482be36ba0d5a.png" width="500" height="150.557620818" onclick="Control.Modal.openDialog(this, event, 'http://pds9.egloos.com/pds/200805/15/60/a0013160_482be36ba0d5a.png');" /></div> </p><p>manifest.xml파일의 구조는 다음과 같으며 여기서 &lt;source&gt; 부분을 자신이 만든 </p><p>.xap파일명으로 바꾸고 원하는 설정을 수정하면 된다.</p><pre>&lt;SilverlightApp&gt;<br>  &lt;version&gt;2.0&lt;/version&gt;<br>  &lt;source&gt;app.xap&lt;/source&gt;<br>  &lt;width&gt;500&lt;/width&gt;<br>  &lt;height&gt;400&lt;/height&gt;<br>  &lt;background&gt;black&lt;/background&gt;<br>  &lt;isWindowless&gt;false&lt;/isWindowless&gt;<br>&lt;/SilverlightApp&gt;</pre><br><p>&nbsp;</p><br><p><a href="http://zplanet.egloos.com/1755095">IronRuby on Silverlight</a>에서 만들었던 <a href="http://zplanet.tistory.com/entry/Flashing-Frame">Flashing Frame</a>을 게시한다면 위의 manifest.xml과 app.xap를 </p><br><p>압축한 FlashingFrame.zip을 만들어서 upload하면 된다.</p><br><p><div style="text-align:center"><img class="image_mid" border="0" onmouseover="this.style.cursor='pointer'" alt="" src="http://pds7.egloos.com/pds/200805/15/60/a0013160_482be36f70cc9.png" width="500" height="237.398373984" onclick="Control.Modal.openDialog(this, event, 'http://pds7.egloos.com/pds/200805/15/60/a0013160_482be36f70cc9.png');" /></div> </p><br><p>upload가 끝나면 나오는 페이지에서 적당한 코드를 복사하여 자신의 웹페이지에 붙어 넣으면 된다.</p><br><p><div style="text-align:center"><img class="image_mid" border="0" onmouseover="this.style.cursor='pointer'" alt="" src="http://pds9.egloos.com/pds/200805/15/60/a0013160_482be3734cf7c.png" width="500" height="495.941558442" onclick="Control.Modal.openDialog(this, event, 'http://pds9.egloos.com/pds/200805/15/60/a0013160_482be3734cf7c.png');" /></div> </p><br><p>&nbsp;</p><br><p>참고자료</p><br><p><a href="http://blogs.msdn.com/tims/archive/2008/03/18/uploading-silverlight-2-content-to-silverlight-streaming.aspx">UPLOADING SILVERLIGHT 2 CONTENT TO SILVERLIGHT STREAMING</a></p><br/><br/>tag : <a href="/tag/Silverlight2" rel="tag">Silverlight2</a>,&nbsp;<a href="/tag/silverlight.live.com" rel="tag">silverlight.live.com</a>			 ]]> 
		</description>
		<category>Silverlight</category>
		<category>Silverlight2</category>
		<category>silverlight.live.com</category>

		<comments>http://zplanet.egloos.com/1755894#comments</comments>
		<pubDate>Thu, 15 May 2008 07:17:09 GMT</pubDate>
		<dc:creator>zplanet</dc:creator>
	</item>
	<item>
		<title><![CDATA[ IronRuby on Silverlight ]]> </title>
		<link>http://zplanet.egloos.com/1755095</link>
		<guid>http://zplanet.egloos.com/1755095</guid>
		<description>
			<![CDATA[ 
  <p>Silverlight2에서는 Javascript뿐아니라 .NET Fx languages(VB.NET, C#), </p><p>Dynamic Languages(IronPython, IronRuby, Managed JScript)로 프로그래밍이 가능하다.</p><p>그외에 Silverlight 1.0과 다른 점은 <a href="http://silverlight.net/getstarted/overview.aspx">여기</a>서 확인할 수 있다.</p><p>&nbsp;</p><p>그중에 내가 관심이 갔던것은 IronRuby이다. Ruby는 그 언어의 간결성이 맘에 들어서 관심을 가지고 있었는데</p><p>Silverlight에서 Ruby를 사용하여 프로그래밍이 가능하다는것이 매력적으로 느껴져 시도해 보기로 했다.</p><p>&nbsp;</p><p>결론부터 얘기하자면 <a href="http://zplanet.tistory.com/entry/Flashing-Frame">Flashing Frame</a>이 그 첫번째 시도의 결과이다.</p><p>시작은 이랬다.</p><p>&nbsp;<a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=4E03409A-77F3-413F-B108-1243C243C4FE&amp;displaylang=en">Microsoft Silverlight 2 SDK Beta1</a>을 설치하면 SDL(Silverlight Dynamic Languages)관련 tool들과 help도 같이 설치되지만</p><p>이것 보다는 <a href="http://www.codeplex.com/sdlsdk">SDL(Silverlight Dynamic Languages) SDK</a>사이트에서 최신 SDL SDK를 설치하는것이 정신건강에 더 좋다.</p><p>(처음 시작을 위해 <a href="http://silverlight.net/learn/dynamiclanguages.aspx">이 페이지를 참조</a>하면 어떤 방향으로 가야하는지 대충 감이 오는데 </p><p>그중에서도 <a href="http://silverlight.net/Quickstarts/ProgramDlr.aspx">Programming Silverlight with Dynamic Lanaguages</a>를 따라해 보는것이 가장 확실하다.)</p><p>&nbsp;</p><p><a href="http://msdn.microsoft.com/en-us/library/bb404700.aspx">help도 웹을 참조</a>하는 것이 가장 최신 버전을 확인할 수 있다.</p><p>&nbsp;</p><p>다음은 <a href="http://zplanet.tistory.com/entry/Flashing-Frame">Flashing Frame</a>을 만드는 과정이며 Silverlight Beta1, SDL SDK Beta1을 기준으로 하고 있기 때문에 정식 버전이 나오면</p><p>변경될 수도 있다.</p><p>&nbsp;</p><ul><li>먼저 기본 폴더를 만든다.</li></ul><p>application에 적절한 이름의 폴더를 만들고 다시 그 폴더 안에 app와 assets폴더를 만든다.</p><p><div style="text-align:center"><img class="image_mid" border="0" onmouseover="this.style.cursor='pointer'" alt="" src="http://pds8.egloos.com/pds/200805/13/60/a0013160_482981b3db526.png" width="500" height="230.769230769" onclick="Control.Modal.openDialog(this, event, 'http://pds8.egloos.com/pds/200805/13/60/a0013160_482981b3db526.png');" /></div> </p><p>&nbsp;</p><ul><li>기본 파일들을 만든다.</li></ul><p>htm파일을 application root에</p><p><div style="text-align:center"><img class="image_mid" border="0" onmouseover="this.style.cursor='pointer'" alt="" src="http://pds9.egloos.com/pds/200805/13/60/a0013160_482981b7e6989.png" width="500" height="286.398467433" onclick="Control.Modal.openDialog(this, event, 'http://pds9.egloos.com/pds/200805/13/60/a0013160_482981b7e6989.png');" /></div> </p><p>app.rb와 app.xaml파일을 app폴더에 만든다.</p><p><div style="text-align:center"><img class="image_mid" border="0" onmouseover="this.style.cursor='pointer'" alt="" src="http://pds8.egloos.com/pds/200805/13/60/a0013160_482981bba152f.png" width="500" height="311.175337187" onclick="Control.Modal.openDialog(this, event, 'http://pds8.egloos.com/pds/200805/13/60/a0013160_482981bba152f.png');" /></div> </p><p>assets폴더는 CSS, 이미지등 application에서 사용하는 여러가지 resource파일을 넣는데 사용되나 <a href="http://zplanet.tistory.com/entry/Flashing-Frame">Flashing Frame</a>에서는 사용하지 않는다.</p><p>&nbsp;</p><ul><li>Default.htm</li></ul><p>Silverlight을 hosting하고 있는 html페이지이다.</p><p>아래 보이는 object tag가 Silverlight host를 정의하는 부분이며 그중에서도 source에 설정되는 것이 내가 만든 application의 경로가 된다.</p><p>C#의 경우 .xap파일이 Visual Studio에서 compile하면 만들어지지만 IronRuby의 경우에는 아직 Visual Studio에 완벽하게 합쳐지지 않아서</p><p>chiron.exe라는 tool을 사용하여야 결과를 볼 수 있다.</p><p><div style="text-align:center"><img class="image_mid" border="0" onmouseover="this.style.cursor='pointer'" alt="" src="http://pds9.egloos.com/pds/200805/13/60/a0013160_482981bf2f627.png" width="500" height="105.710814095" onclick="Control.Modal.openDialog(this, event, 'http://pds9.egloos.com/pds/200805/13/60/a0013160_482981bf2f627.png');" /></div> </p><p>&nbsp;</p><p></p><ul><li>app.xaml</li></ul><p>xml파일로 UI 정의를 담고 있게된다.</p><p>일반적인 XAML파일형태와 동일하며 root obejct에 x:Class를 명시적으로 지정해 주어야 app.rb에서 xaml을 읽어들이는데 문제가 발생하지 않는다.</p><p>Canvas가 아닌 UserControl일경우 x:Class="System.Windows.Controls.UserControl"이 된다.</p><p><div style="text-align:center"><img class="image_mid" border="0" onmouseover="this.style.cursor='pointer'" alt="" src="http://pds7.egloos.com/pds/200805/13/60/a0013160_482981c28799f.png" width="500" height="171.221864952" onclick="Control.Modal.openDialog(this, event, 'http://pds7.egloos.com/pds/200805/13/60/a0013160_482981c28799f.png');" /></div> </p><p>&nbsp;</p><ul><li>app.rb</li></ul><p>IronRuby로 작성된 코드 파일로 이름이 반드시 app.rb로 정의되어야 한다.</p><p>(IronPython은 app.py, Managed JScript는 app.jsx)</p><p>아래 그림에서 하이라이트된 부분이 xaml을 읽어 들이는 부분이며, 이때 root object의 type을 맞추어 주어야 한다.</p><p><div style="text-align:center"><img class="image_mid" border="0" onmouseover="this.style.cursor='pointer'" alt="" src="http://pds9.egloos.com/pds/200805/13/60/a0013160_482981c613b4a.png" width="500" height="185.483870968" onclick="Control.Modal.openDialog(this, event, 'http://pds9.egloos.com/pds/200805/13/60/a0013160_482981c613b4a.png');" /></div> </p><p>Canvas가 아니라 UserControl을 사용했다면 아래와 같이 바꾸어 주면 된다.</p><p>scene = Application.current.load_root_visual UserControl.new, 'app.xaml'</p><p>&nbsp;</p><p>자세한 코드 설명은 Ruby를 아시는 분이라면 한번 읽어보면 아실것 같아서 생략...</p><p>(코드는 <a href="http://zplanet.tistory.com/entry/Flashing-Frame">Flashing Frame</a>에서 다운로드 가능)</p><p>&nbsp;</p><ul><li>chiron.exe /b</li></ul><p><a href="http://www.codeplex.com/sdlsdk">Silverlight Dynamic Languages SDK</a>를 설치했다면 다음 위치에서 chiron.exe를 확인할 수 있다.</p><p><div style="text-align:center"><img class="image_mid" border="0" onmouseover="this.style.cursor='pointer'" alt="" src="http://pds8.egloos.com/pds/200805/13/60/a0013160_482981c9bac20.png" width="500" height="284.482758621" onclick="Control.Modal.openDialog(this, event, 'http://pds8.egloos.com/pds/200805/13/60/a0013160_482981c9bac20.png');" /></div> </p><p>이제 command창을 띄우고 <a href="http://zplanet.tistory.com/entry/Flashing-Frame">Flashing Frame</a> 폴더로 이동한 후에 "chiron.exe /b"로 chiron을 실행하자.</p><p><div style="text-align:center"><img class="image_mid" border="0" onmouseover="this.style.cursor='pointer'" alt="" src="http://pds9.egloos.com/pds/200805/13/60/a0013160_482981cd79e0e.png" width="500" height="191.654879774" onclick="Control.Modal.openDialog(this, event, 'http://pds9.egloos.com/pds/200805/13/60/a0013160_482981cd79e0e.png');" /></div> </p><p>아래 그림과 같이 browser가 하나 열리면서 폴더의 파일 리스트가 나타나는 것을 볼 수 있다.</p><p><div style="text-align:center"><img class="image_mid" border="0" onmouseover="this.style.cursor='pointer'" alt="" src="http://pds7.egloos.com/pds/200805/13/60/a0013160_482981d10fbfe.png" width="500" height="293.127629734" onclick="Control.Modal.openDialog(this, event, 'http://pds7.egloos.com/pds/200805/13/60/a0013160_482981d10fbfe.png');" /></div> </p><p>Default.htm을 선택하면 아래 그림에서와 같이 <a href="http://zplanet.tistory.com/entry/Flashing-Frame">Flashing Frame</a>이 실행되는 것을 볼 수 있다.</p><p><div style="text-align:center"><img class="image_mid" border="0" onmouseover="this.style.cursor='pointer'" alt="" src="http://pds9.egloos.com/pds/200805/13/60/a0013160_482981d48d4fa.png" width="500" height="423.149905123" onclick="Control.Modal.openDialog(this, event, 'http://pds9.egloos.com/pds/200805/13/60/a0013160_482981d48d4fa.png');" /></div> </p><p>이때 command창을 보면 chiron.exe가 웹서버 역활을 하여 요청된 파일 목록을 보여주는데 우리가 만들어 주지 않았던</p><p>app.xap파일을 만들어서 browser에 전달해준것을 확인할 수 있다.</p><p><div style="text-align:center"><img class="image_mid" border="0" onmouseover="this.style.cursor='pointer'" alt="" src="http://pds8.egloos.com/pds/200805/13/60/a0013160_482981d8232dc.png" width="500" height="175.855513308" onclick="Control.Modal.openDialog(this, event, 'http://pds8.egloos.com/pds/200805/13/60/a0013160_482981d8232dc.png');" /></div> </p><p>browser는 종료버튼으로 닫아주면 되고 command창에서는 Ctrl+C로 chiron.exe의 실행을 중지할 수 있다.</p><p>&nbsp;</p><ul><li>chiron.exe /d:app /z:app.xap</li></ul><p>위의 과정을 통해 개발이 끝난 application을 배포하기위해서는 xap파일을 만들어주는 과정이 필요하며</p><p>command창에서 아래와 같은 명령을 입력해주면 된다.</p><p><div style="text-align:center"><img class="image_mid" border="0" onmouseover="this.style.cursor='pointer'" alt="" src="http://pds9.egloos.com/pds/200805/13/60/a0013160_482981dbdc8c0.png" width="500" height="83.6940836941" onclick="Control.Modal.openDialog(this, event, 'http://pds9.egloos.com/pds/200805/13/60/a0013160_482981dbdc8c0.png');" /></div> </p><p>실행이 끝나면 app.xap파일이 생성된걸 확인할 수 있다.</p><p><div style="text-align:center"><img class="image_mid" border="0" onmouseover="this.style.cursor='pointer'" alt="" src="http://pds8.egloos.com/pds/200805/13/60/a0013160_482981df7af45.png" width="500" height="305.598755832" onclick="Control.Modal.openDialog(this, event, 'http://pds8.egloos.com/pds/200805/13/60/a0013160_482981df7af45.png');" /></div> </p><p>이제 Default.htm과 app.xap파일을 원하는 웹서버에 배포하고 browser에서 열어보면 된다.</p><p>&nbsp;</p><ul><li>app.xap</li></ul><p>xap파일은 zip파일이다. 확장자를 zip으로 바꾸어 탐색기에서 열어보면 아래와 같은 파일이 들어있는것을 확인할 수 있다.</p><p><div style="text-align:center"><img class="image_mid" border="0" onmouseover="this.style.cursor='pointer'" alt="" src="http://pds8.egloos.com/pds/200805/13/60/a0013160_482981e325d01.png" width="500" height="284.353741497" onclick="Control.Modal.openDialog(this, event, 'http://pds8.egloos.com/pds/200805/13/60/a0013160_482981e325d01.png');" /></div> </p><p>chiron.exe가 내가 만들었던 파일 뿐 아니라 실행에 필요한 파일들을 한꺼번에 모아서 xap파일로 만들어 준다.</p><p>&nbsp;</p><ul><li>AppManifest.xaml</li></ul><p>위 파일 중 AppManifest.xaml파일이 모든 구성을 연결해 주는 역활을 하게 된다.</p><p>필요한 파일들이나 runtime version등에 대한 내용이 들어가며 눈여겨 보아야 할 부분은 EntryPointAssembly와</p><p>EntryPointType이다.</p><p><div style="text-align:center"><img class="image_mid" border="0" onmouseover="this.style.cursor='pointer'" alt="" src="http://pds9.egloos.com/pds/200805/13/60/a0013160_482981e696ed6.png" width="500" height="182.602921647" onclick="Control.Modal.openDialog(this, event, 'http://pds9.egloos.com/pds/200805/13/60/a0013160_482981e696ed6.png');" /></div> </p><p>C#에서는 Deployment.Parts에 들어가는 내용도 바뀌지만 EntryPointAssembly와 EntryPointType이 내 project의 assembly와 class로 바뀌게 된다.</p><p>IronRuby로 만들어진 application들은 일단 Microsoft.Scripting.Silverlight.DynamicApplication class가 hoster가 되어 app.rb파일을 찾아</p><p>실행하게 되는 구조이다. (더 자세한 내용은 SDL SDK에 따라오는 source를 분석해봐도 좋을 것 같다.)</p><br/><br/>tag : <a href="/tag/Silverlight2Beta1" rel="tag">Silverlight2Beta1</a>,&nbsp;<a href="/tag/IronRuby" rel="tag">IronRuby</a>			 ]]> 
		</description>
		<category>Silverlight</category>
		<category>Silverlight2Beta1</category>
		<category>IronRuby</category>

		<comments>http://zplanet.egloos.com/1755095#comments</comments>
		<pubDate>Tue, 13 May 2008 11:56:24 GMT</pubDate>
		<dc:creator>zplanet</dc:creator>
	</item>
	<item>
		<title><![CDATA[ Team Development with TFS ]]> </title>
		<link>http://zplanet.egloos.com/1621533</link>
		<guid>http://zplanet.egloos.com/1621533</guid>
		<description>
			<![CDATA[ 
  Microsoft Pattern &amp; Practice에서 <a href="http://www.codeplex.com/TFSGuide/">Team Development with TFS</a>라는 guide를 내놓았다.<br>아직 영문밖에 없긴 하지만 TFS(Team Foundation Server)를 사용해서 project를 수행하기위해 필요한<br>핵심기능들인 소스컨트롤, 통합빌드, 대형프로젝트 시 유의점, 프로세스 템플릿 사용, 리포팅등<br>실제 사용시 궁금할 만한 내용과 그에 대한 가이드를 담고 있다.<br/><br/>tag : <a href="/tag/team_foundation_server" rel="tag">team_foundation_server</a>			 ]]> 
		</description>
		<category>S/W개발</category>
		<category>team_foundation_server</category>

		<comments>http://zplanet.egloos.com/1621533#comments</comments>
		<pubDate>Sat, 18 Aug 2007 16:20:45 GMT</pubDate>
		<dc:creator>zplanet</dc:creator>
	</item>
	<item>
		<title><![CDATA[ S/W와 건축 ]]> </title>
		<link>http://zplanet.egloos.com/1613239</link>
		<guid>http://zplanet.egloos.com/1613239</guid>
		<description>
			<![CDATA[ 
  <p>포스코 센터 1층에서 <a href="http://www.posco.co.kr/homepage/docs/kr/news/posco/s91fnews003v.jsp?menuCatId=0941&amp;idx=153883">강구조 건축설계 공모전 수상작 전시회</a>를 하고 있어서 둘러보다가 <br>문득 건축물이 가지는 구조적 아름다움이 S/W가 가지는 논리적 구조의 아름다움과 비슷하다는 생각이 들었다.<br><br>구조물 역시 외형의 아름다움 뿐 아니라 용도에 맞는 기능의 적합성이라던지 내구성등을 생각해야 하듯이<br>S/W도 프로그램이 버그없이 실행되어야 할 뿐 아니라 사용자가 편하게 사용할 수 있어야 하고 <br>성능, 확장성, 유지보수 등 각종 요구사항등을 만족해야 하는 것이 건축의 그것과 통하는 듯 싶다.<br><br>그래서 건축이나 S/W나 이런 고민을 하는 사람들을 Architect라고 부르나 보다.</p><br/><br/>tag : <a href="/tag/Software" rel="tag">Software</a>,&nbsp;<a href="/tag/건축" rel="tag">건축</a>			 ]]> 
		</description>
		<category>S/W개발</category>
		<category>Software</category>
		<category>건축</category>

		<comments>http://zplanet.egloos.com/1613239#comments</comments>
		<pubDate>Fri, 03 Aug 2007 12:15:04 GMT</pubDate>
		<dc:creator>zplanet</dc:creator>
	</item>
	<item>
		<title><![CDATA[ Silverlight 개발환경 ]]> </title>
		<link>http://zplanet.egloos.com/1609975</link>
		<guid>http://zplanet.egloos.com/1609975</guid>
		<description>
			<![CDATA[ 
  <p><br>드디어 Silverlight 1.0 RC(Release Candidate)과 함께 Visual Studio 2008 Beta2가 발표되었다.<br><br>Silverlight application개발을 위해서는 우선 자신의 환경에 맞는 runtime을 아래 4가지중 하나에서 선택하여 설치하여야 한다.</p><ul><li><a href="http://go.microsoft.com/fwlink/?LinkID=89015&amp;clcid=0x409">Silverlight <strong>1.0</strong> RC1 / <strong>Windows</strong></a>&nbsp; <li><a href="http://go.microsoft.com/fwlink/?LinkID=89016&amp;clcid=0x409">Silverlight <strong>1.0 </strong>RC1 / Mac</a>&nbsp; <li><a href="http://go.microsoft.com/fwlink/?LinkID=88986&amp;clcid=0x409">Silverlight <strong>1.1</strong> Alpha Refresh / <strong>Windows</strong></a> <li><a href="http://go.microsoft.com/fwlink/?LinkID=88987&amp;clcid=0x409">Silverlight <strong>1.1</strong> Alpha Refresh / Mac</a> </li></ul><p>개발을 위해서 설치해야하는 Tool들은 다음과 같다.</p><ul><li><a href="http://msdn2.microsoft.com/en-us/vstudio/aa700831.aspx">Visual Studio 2008 Beta 2</a> <li><a href="http://go.microsoft.com/fwlink/?LinkID=89149&amp;clcid=0x409">Visual Studio Extensions for Silverlight</a> <li><a href="http://go.microsoft.com/fwlink/?LinkID=89144&amp;clcid=0x409">Silverlight 1.0 SDK</a> / <a href="http://go.microsoft.com/fwlink/?LinkID=89145&amp;clcid=0x409">Silverlight 1.1 SDK</a> <li><a href="http://go.microsoft.com/fwlink/?LinkID=89147&amp;clcid=0x409">ASP.NET Futures CTP</a> <li><a href="http://go.microsoft.com/fwlink/?LinkID=79076&amp;clcid=0x409">Expression Blend August Preview</a> <li><a href="http://go.microsoft.com/fwlink/?LinkID=89148&amp;clcid=0x409">Expression Media Encoder Template Updater</a></li></ul><p>기본적인 개발도구로는 VS2008 Beta2와 VS Extensions for Silverlight만 설치하면 되며 SDK를 설치하면 문서나 샘플등이 들어있다.</p><br/><br/>tag : <a href="/tag/silverlight" rel="tag">silverlight</a>,&nbsp;<a href="/tag/visual_studio_beta_2" rel="tag">visual_studio_beta_2</a>			 ]]> 
		</description>
		<category>.NET</category>
		<category>silverlight</category>
		<category>visual_studio_beta_2</category>

		<comments>http://zplanet.egloos.com/1609975#comments</comments>
		<pubDate>Sat, 28 Jul 2007 12:58:17 GMT</pubDate>
		<dc:creator>zplanet</dc:creator>
	</item>
	<item>
		<title><![CDATA[ 이상과 현실 ]]> </title>
		<link>http://zplanet.egloos.com/1529605</link>
		<guid>http://zplanet.egloos.com/1529605</guid>
		<description>
			<![CDATA[ 
  <div style="text-align:center"><img class="image_mid" border="0" onmouseover="this.style.cursor='pointer'" alt="" src="http://pds4.egloos.com/pds/200703/18/60/a0013160_05033146.jpg" width="500" height="720.877458396" onclick="Control.Modal.openDialog(this, event, 'http://pds4.egloos.com/pds/200703/18/60/a0013160_05033146.jpg');" /></div> <br />
<br />
			 ]]> 
		</description>
		<category>S/W개발</category>

		<comments>http://zplanet.egloos.com/1529605#comments</comments>
		<pubDate>Sun, 18 Mar 2007 08:19:27 GMT</pubDate>
		<dc:creator>zplanet</dc:creator>
	</item>
	<item>
		<title><![CDATA[ 해야할 일 ]]> </title>
		<link>http://zplanet.egloos.com/1008028</link>
		<guid>http://zplanet.egloos.com/1008028</guid>
		<description>
			<![CDATA[ 
  1. 명확한 목표세우기<br />
2. 보다 더 노력하기<br />
<br />
<A HREF=http://system.egloos.com/1002485 TARGET=_NEW>< 포기하지 않으면 불가능이란 없다> - 고승덕 변호사</A><br /><br />			 ]]> 
		</description>
		<category>일반</category>

		<comments>http://zplanet.egloos.com/1008028#comments</comments>
		<pubDate>Thu, 19 May 2005 23:22:46 GMT</pubDate>
		<dc:creator>zplanet</dc:creator>
	</item>
	<item>
		<title><![CDATA[ [Visual Studio 2005] 번역 - A Hitchhiker’s Guide to Visual Studio 2005 Team System, Part I ]]> </title>
		<link>http://zplanet.egloos.com/1006181</link>
		<guid>http://zplanet.egloos.com/1006181</guid>
		<description>
			<![CDATA[ 
  원문은 <a href="http://blogs.msdn.com/robcaron/archive/2005/04/15/408426.aspx">여기</a>를 누르면 볼 수 있다.<br />
<br />
<br />
<H2>A Hitchhiker’s Guide to Visual Studio 2005 Team System, Part I</H2><br />
<br />
우선, Visual Studio .NET 2003 제품에 어떤 것들이 있는지 살펴봄으로써, 현재의 기능과 확장되는것에는 무엇이 있는지 알아보기로 하자.<br />
<br />
<div style="text-align:center"><img class="image_mid" border="0" onmouseover="this.style.cursor='pointer'" alt="" src="http://pds.egloos.com/pds/1/200505/18/60/a0013160_15302042.png" width="183" height="125" onclick="Control.Modal.openDialog(this, event, 'http://pds.egloos.com/pds/1/200505/18/60/a0013160_15302042.png');" /></div><center><STRONG>Figure 1.1</STRONG> &#8211; Visual Studio .NET 2003</center><br />
각 등급의 Visual Studio .NET은 하위 제품의 모든 기능들을 포함한다. 예를들어, Visual Studio .NET 2003 Enterprise Developer 버젼은 <br />
Visual Studio .NET Professional의 모든 기능을 포함하고, Visual Studio .NET Professional은 Visual Basic .NET 2003 Standard Edition, <br />
Visual Studio .NET C# 2003 Standard Edition, Visual Studio .NET J# 2003 Standard Edition과 Visual C++ 2003 Standard Edition의 모든 기능을 포함한다.<br />
<br />
Visual Studio .NET 2003 Enterprise Architect과 Visual Studio .NET 2003 Professional이 현재 가장 많이 사용되고 있는 Visual Studio .NET 2003 버젼들이다.<br />
그중 Visual Studio .NET 2003 Enterprise Architect이 더 많이 사용되어지며, MSDN Universal subscription을 구매하여 사용하는 경우가 대부분이다.<br />
<br />
이제 Visual Studio 2005에서 Visual Studio 제품군이 어떻게 좋아졌는지 살펴보자.<br />
<br />
<div style="text-align:center"><img class="image_mid" border="0" onmouseover="this.style.cursor='pointer'" alt="" src="http://pds.egloos.com/pds/1/200505/18/60/a0013160_1536624.png" width="198" height="291" onclick="Control.Modal.openDialog(this, event, 'http://pds.egloos.com/pds/1/200505/18/60/a0013160_1536624.png');" /></div><center><STRONG>Figure 1.2</STRONG> &#8211; Evolving Visual Studio</center><br />
<br />
위에 그림에서 보듯이, 제품군은 여러가지 면에서 확장되었다. 우선, 각 언어별 Standard Edition들이 Web 개발을 위한 edition을 포함해서 아주 가격이 싼  각 언어별 Express Edition들로 확장되었다.<br />
<br />
<div style="text-align:center"><img class="image_mid" border="0" onmouseover="this.style.cursor='pointer'" alt="" src="http://pds.egloos.com/pds/1/200505/18/60/a0013160_15481285.png" width="410" height="293" onclick="Control.Modal.openDialog(this, event, 'http://pds.egloos.com/pds/1/200505/18/60/a0013160_15481285.png');" /></div><center><STRONG>Figure 1.3</STRONG> &#8211; Visual Studio 2005 Express Editions</center><br />
<br />
Express Edition들은 취미로 개발하는 사람들이나 software나 Web 개발을 처음 시작하는 사람들에게 적합하다.<br />
<br />
현재 언어별 Standard Edition들은 -클래스 디자이너 같은- 새로운 기능이 추가되고 Visual Studio .NET 2003 Professional에서 제공되던 -smart device와 Web application 개발 지원같은- 기능들이 포함된 Visual Studio 2005 Standard Edition이 될 것이다.<br />
<br />
<div style="text-align:center"><img class="image_mid" border="0" onmouseover="this.style.cursor='pointer'" alt="" src="http://pds.egloos.com/pds/1/200505/18/60/a0013160_1557454.png" width="410" height="293" onclick="Control.Modal.openDialog(this, event, 'http://pds.egloos.com/pds/1/200505/18/60/a0013160_1557454.png');" /></div><center><STRONG><BR>Figure 1.4</STRONG> &#8211; Visual Studio 2005 Standard Edition</center><br />
<br />
Visual Studio 2005 Professional Edition은 Visual Studio .NET Enterprise Developer &amp; Visual Studio .NET 2003 Enterprise Architect의 대부분의 기능들을 포함한다.<br />
물론, Visual Studio 2005 Standard Edition의 모든 기능들도 포함하고 있다 .<br />
<br />
이런식으로, 일반적이고 많이 필요로 하는 기능이 하위 버전의 개발 도구로 옮겨가는 것은 Microsoft개발 도구에서 나타나는 일반적인 현상이다.<br />
<br />
<div style="text-align:center"><img class="image_mid" border="0" onmouseover="this.style.cursor='pointer'" alt="" src="http://pds.egloos.com/pds/1/200505/18/60/a0013160_1558154.png" width="410" height="293" onclick="Control.Modal.openDialog(this, event, 'http://pds.egloos.com/pds/1/200505/18/60/a0013160_1558154.png');" /></div><center><STRONG>Figure 1.5</STRONG> &#8211; Visual Studio 2005 Professional Edition</center><br />
<br />
Visual Studio .NET 2003 Enterprise Architect의 기능 중 -Visio for Enterprise Architects같은- 일부 기능은 Visual Studio 2005 Professional Edition에 포함되지 않고 새로운 MSDN Premium Subscription을 통해 제공될 것이다.<br />
<br />
현재까지는 Visual Studio .NET 2003의 기능을 Visual Studio 2005에서 어떻게 제공하고 있는지 살펴본 것이고, Visual Studio 2005 Team System에 포함될 많은 새로운 기능들에 대해서 지금 부터 알아보기로 하자.<br />
<br />
Team Foundation Server를 살펴보기전에, 역할 기반의 제품들인 Team Edition for Software Architects, Team Edition for Software Developers와 Team Edition for Software Testers들을 알아보자.<br />
<br />
<div style="text-align:center"><img class="image_mid" border="0" onmouseover="this.style.cursor='pointer'" alt="" src="http://pds.egloos.com/pds/1/200505/18/60/a0013160_15581615.png" width="413" height="293" onclick="Control.Modal.openDialog(this, event, 'http://pds.egloos.com/pds/1/200505/18/60/a0013160_15581615.png');" /></div><center><STRONG><BR>Figure 1.6</STRONG> &#8211; Visual Studio 2005 Team Editions</center><br />
<br />
Team Edition for Software Developers는 이전 Microsoft 상용 제품에서 제공되지 않았던 - 단위 테스팅과 C/C++ native code 분석- 기능들이나 Visual Studio IDE에 통합되지 않았던 -profiling과 managed code 분석- 기능들이 제공된다.<br />
<br />
분산 시스템 디자이너는 Team Edition for Software Architects에 포함되어있으며, Microsoft의 Dynamic Systems Initiative의 일부이다. 이 디자이너들과 제공되는 도구들은 service-oriented application의 디자인과 배포를 쉽게 해주는 첫번째 도구들이 될 것이다.<br />
<br />
Team Edition for Software Testers는 전문 소프트웨어 테스터를 위한 제품이며, 테스트 관리, 부하 & 스트레스 테스트, 부하 테스트 에이전트 관리와 Virtual Server 2005를 사용한 머신 가상화 기능들을 제공한다.<br />
더 많은 부하 테스트를 위해 load agent를 추가하려면 Visual Studio 2005 Team Test Load Agent를 구매해야 한다.<br />
<br />
각 Visual Studio 2005 Team Edition들은 Visual Studio 2005 Tools for the Microsoft Office System을 포함한다.<br />
<br />
아마도 팀 소프트웨어 개발에 있어서 가장 큰 문제는 협업과 의사소통일 것이다. 이 문제를 해결하기위해 Visual Studio 2005는 Visual Studio 2005 Team Foundation Server라는 새로운 서버 제품을 제공한다.<br />
Team Foundation Server는 Visual Studio 2005 팀 소프트웨어 개발의 기반이다. Team Foundation Server는 연관된 여러가지 서비스를 통해 버젼 컨트롤(version control), 작업 아이템 추적(work item tracking)과 빌드 자동화를 제공하며,<br />
Windows SharePoint Services를 통해 프로젝트 포털 사이트와 SQL Server Reporting Service를 통해 프로젝트 리포팅 기능을 제공한다.<br />
<br />
<div style="text-align:center"><img class="image_mid" border="0" onmouseover="this.style.cursor='pointer'" alt="" src="http://pds.egloos.com/pds/1/200505/18/60/a0013160_1558334.png" width="413" height="298" onclick="Control.Modal.openDialog(this, event, 'http://pds.egloos.com/pds/1/200505/18/60/a0013160_1558334.png');" /></div><center><STRONG><BR>Figure 1.7</STRONG> &#8211; Visual Studio 2005 Team Foundation Server</center><br />
<br />
Team Foundation Server는 SQL Server와 비슷한 라이센스 모델을 사용하며, client들이 접속하기위해 Client Access License(CAL)가 있어야 한다.<br />
각 Team Edition 제품들은 CAL과 Team Explorer 기능을 포함하고 있다. 세가지의 각기 다른 Team Edition 제품들을 하나의 데스크탑에 설치하고 싶은 경우에는 세가지 기능을 하나로 합쳐놓은 Visual Studio 2005 Team Suite을 설치하면 된다.<br />
<br />
<div style="text-align:center"><img class="image_mid" border="0" onmouseover="this.style.cursor='pointer'" alt="" src="http://pds.egloos.com/pds/1/200505/18/60/a0013160_15584916.png" width="407" height="291" onclick="Control.Modal.openDialog(this, event, 'http://pds.egloos.com/pds/1/200505/18/60/a0013160_15584916.png');" /></div><center><STRONG><BR>Figure 1.8</STRONG> &#8211; Visual Studio 2005 Team Suite</center><br />
<br />
Visual Studio 2005 Professional Edition과 Visual Studio 2005 Standard Edition에서 Team Explorer를 통해 Team Foundation의 기능을 사용하려면 Team Foundation Server CAL을 구매해야 한다.<br />
<br />
<div style="text-align:center"><img class="image_mid" border="0" onmouseover="this.style.cursor='pointer'" alt="" src="http://pds.egloos.com/pds/1/200505/18/60/a0013160_1559421.png" width="413" height="298" onclick="Control.Modal.openDialog(this, event, 'http://pds.egloos.com/pds/1/200505/18/60/a0013160_1559421.png');" /></div><center><STRONG>Figure 1.9</STRONG> &#8211; Visual Studio 2005 Team Explorer</center><br />
<br />
만약 현재 Visual Studio 2005로 개발환경을 전환할 수 없는 환경에서 Team Foundation Server를 사용해보고 싶다면, Team Foundation Server CAL을 구매하고 Team Explorer와 Visual Studio .NET 2003 이나 이전 버젼의 Visual Studio를<br />
각각 설치해서 사용할 수 있다. 물론, 이 경우에는 Visual Studio 2005와 같이 IDE와 통합된 환경이 아니긴 하지만, 여전히 version control이나 work item tracking같은 Team Foundation Server의 핵심기능들은 사용 가능하다.<br />
<br />
<div style="text-align:center"><img class="image_mid" border="0" onmouseover="this.style.cursor='pointer'" alt="" src="http://pds.egloos.com/pds/1/200505/18/60/a0013160_15591982.png" width="410" height="192" onclick="Control.Modal.openDialog(this, event, 'http://pds.egloos.com/pds/1/200505/18/60/a0013160_15591982.png');" /></div><center><STRONG>Figure 1.10</STRONG> &#8211; Visual Studio 2005 Team Explorer with Visual Studio .NET 2003</center><br />
<br />
끝으로, Visual Studio 2005는 그 동안의 어떤 Visual Studio 제품보다도 비약적인 발전을 이루었다고 할 수 있으며, 이를 통해 Microsoft는 software development life-cycle 도구 시장으로 영역을 넓혀가고 있다.<br />
<br />
<a href="http://blogs.msdn.com/robcaron/archive/2005/04/20/410207.aspx">Part II</a> 에서는 Visual Studio 2005의 가격과 라이센스에 대해 알아볼 것이다.<br />
<br /><br />			 ]]> 
		</description>
		<category>.NET</category>

		<comments>http://zplanet.egloos.com/1006181#comments</comments>
		<pubDate>Wed, 18 May 2005 07:06:07 GMT</pubDate>
		<dc:creator>zplanet</dc:creator>
	</item>
	<item>
		<title><![CDATA[ [Continuous Integration] 언제, 얼마나, 누가 ]]> </title>
		<link>http://zplanet.egloos.com/951452</link>
		<guid>http://zplanet.egloos.com/951452</guid>
		<description>
			<![CDATA[ 
  <br />
CI를 구축하다보면 프로젝트 초기에 코드가 하나도 없는 상태에서 시작한다면 문제가 적지만<br />
이미 많은 소스가 Source Control System에 있는 상태에서 시작하려면 많은 어려움에 <br />
부딪히게되기 때문에 CI는 프로젝트 초기에 시작하는 것이 좋다.<br />
<br />
또, 전체 소스들을 한번의 통합빌드를 통해 빌드되도록 하는 것이 좋다.<br />
물론 소스들이 서로 연관관계가 없다면 몇개의 서로 다른 빌드 프로젝트를 구성해도 될것이다.<br />
예를 들어 기업용 솔루션에서 개개의 업무 단위가 서로를 참조하는 경우가 없이 모두 독자적인<br />
빌드가 가능하다면 각 업무단위를 다른 빌드 프로젝트로 구성해도 될것이다.<br />
그러나 A업무가 B업무의 기능중 일부를 사용하는 경우라면 반드시 A와 B를 하나의 빌드로<br />
통합하는 것이 좋다. 그래야 업무 연관관계에서 발생할 수 있는 문제들을 발견할 수 있다.<br />
(Visual Studio Project의 상호참조가 좋은 예이다.)<br />
<br />
CI를 수행하기위해서는 전체 빌드를 관리하기 위한 Build관리자가 필요하다.<br />
Build관리자는 <br />
1. 매일의 빌드 결과를 프로젝트 구성원들에게 알리고<br />
2. 빌드 실패시 개발자를 도와 빌드 실패의 원인을 찾고<br />
3. 테스터를 도와서 빌드로 부터 테스트환경으로의 배포를 도와야 한다.<br />
위의 기능이 가장 중요한 기능이고 빌드라는 것이 개발프로젝트의 허브와 같은 역할을 하게 되므로<br />
이외에 형상관리와의 관계, 프로젝트 진행상태 관리등 프로젝트 전반적으로 다양한 부분에 관계하게 된다.<br />
그러므로 빌드관리자는 어느정도의 개발경력과 프로젝트 수행경험이 있는 사람이 수행하는것이 좋다.<br />
그리고 때로 빌드과정에서 나오는 문제가 프로젝트 전체에 영향을 줄 때도 있으므로 PM과 개발자등<br />
프로젝트 구성원 모두와 항상 긴밀한 의사소통 통로를 형성해 놓아야 하고 통합빌드 과정을 이해시키고<br />
현재의 상태등을 알려주어 모든 구성원을 통합빌드의 참여자로 만드는 것이 중요하다.<br /><br />			 ]]> 
		</description>
		<category>Agile in .NET</category>

		<comments>http://zplanet.egloos.com/951452#comments</comments>
		<pubDate>Wed, 30 Mar 2005 01:53:53 GMT</pubDate>
		<dc:creator>zplanet</dc:creator>
	</item>
</channel>
</rss>
