<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://pimg.daum-img.net/whsnake/css/atom.css?ver=1.0" type="text/css"?>
<feed xmlns="http://www.w3.org/2005/Atom" version="1.0" >
  <title>2006 JavaOne Conference</title>
  <link rel="alternate" type="text/html" href="http://blog.daum.net/javaone2006"/>
  <link rel="self" type="application/atom+xml" href="http://blog.daum.net/xml/atom/javaone2006"/>
  <rights>javaone2006</rights>
  <author>
    <name>javaone2006</name>
    <uri>http://blog.daum.net/javaone2006</uri>
  </author>
  <generator uri="http://blog.daum.net" version="1.0">Daum blog (blogmaster@daum.net)</generator>
  <id>tag:blog.daum.net,2008:javaone2006</id>
  <updated>2006-05-19T23:02:58Z</updated>

  		<entry>
	    <title>Extreme Web Caching</title>
		<link rel="alternate" type="text/html" href="http://blog.daum.net/javaone2006/2360785"/>
		<id>tag:blog.daum.net,2008:javaone2006.2360785</id>
	    <author>
		    <name>javaone2006</name>
	    </author>
	    <updated>2006-05-19T23:02:58Z</updated>
	    <published>2006-05-19T23:02:58Z</published>
	    <content type="html">
	    	
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Extreme Web Caching 라 ~ &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;기대를 하고 이 세션에 참가 했다. &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;web 개발자가 간과 하기 쉬운 기초가 될만한 client ( 브라우저 ) side 개싱 방법에 대해 소개 한다. &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;&lt;A 
href=&quot;javascript:realImgView('http://cfs5.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnM1LmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvMTEucG5n&amp;filename=11.png')&quot;&gt;&lt;IMG 
hspace=0 
src=&quot;http://cfs5.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnM1LmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvMTEucG5nLnRodW1i&amp;filename=11.png&quot; 
border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;&lt;A 
href=&quot;javascript:realImgView('http://cfs1.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnMxLmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvMTAucG5n&amp;filename=10.png')&quot;&gt;&lt;IMG 
hspace=0 
src=&quot;http://cfs1.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnMxLmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvMTAucG5nLnRodW1i&amp;filename=10.png&quot; 
border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;response data header 를 보면 Expires date 가 있다.&amp;nbsp;클라이언트는 이 날짜가 되기 
전까지 서버에 요청을 보내지 않는다. 필요하다면 local cache file 을 사용하게 된다.&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;&lt;A 
href=&quot;javascript:realImgView('http://cfs5.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnM1LmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvMTIucG5n&amp;filename=12.png')&quot;&gt;&lt;IMG 
hspace=0 
src=&quot;http://cfs5.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnM1LmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvMTIucG5nLnRodW1i&amp;filename=12.png&quot; 
border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;위 그림은 &amp;nbsp;Expires date 되었을때 어떻게 되는지를 보여 준다. 클라이언트는 전에 받은 Last 
Modified time 을 If-Modified-Since req header 를 구성해 요청하고 서버는 Last modified 시간 이후 
static file 이 개신 되지 않았을때 304 Not modified 메세지를&amp;nbsp;return 하게 된다.&lt;/P&gt;
&lt;P align=left&gt;파일이&amp;nbsp;갱신 되었다면 처음과 같이 메시지로 되돌아 간다. &amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;&lt;A 
href=&quot;javascript:realImgView('http://cfs2.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnMyLmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvMTEucG5n&amp;filename=11.png')&quot;&gt;&lt;IMG 
hspace=0 
src=&quot;http://cfs2.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnMyLmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvMTEucG5nLnRodW1i&amp;filename=11.png&quot; 
border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;위 그림은 Proxy 개싱 방법이다 회사 내부에 s~ 서버라 생각하면 된다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;간단히 설명하지면 상위 에서 설명한 client-server 모델에서 client-server(client)-server 모델이라고 
생각하면 될 것 같다.&lt;/P&gt;
&lt;P&gt;케싱을 위한 http header 방식도 상위에서 client-server 모델에서 설명한것과 동일하다.&lt;/P&gt;
&lt;P&gt;client-server 캐싱모델에서 해결하지 못할 트래픽이나 소스 서버를 숨기기 위해서 사용된다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;그 밖게&amp;nbsp;수정이 일어 나지 않는 이미지 파일에 대해서는&lt;/P&gt;
&lt;P&gt;httpd.conf 다음과 같이 expire time 을 충분히 주고&lt;/P&gt;
&lt;P&gt;mod_headers&lt;BR&gt;&#8226; Apache mod_headers can also manage&lt;BR&gt;Cache-Control&lt;BR&gt;# 
Works with both HTTP/1.0 and HTTP/1.1&lt;BR&gt;&lt;FILESMATCH 
?\.(gif|jpe?g|png)$?&gt;&lt;BR&gt;Header set Expires &quot;Mon, 28 Jul 2014 23:30:00 
GMT&quot;&lt;BR&gt;&lt;/FILESMATCH&gt;&lt;BR&gt;# Works with HTTP/1.1 only&lt;BR&gt;&lt;FILESMATCH 
?\.(gif|jpe?g|png)$?&gt;&lt;BR&gt;Header set Cache-Control 
&quot;max-age=315360000&quot;&lt;BR&gt;&lt;/FILESMATCH&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;파일이 변경되었을때는 새로운 파일명으로 대체 하라.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Use new names for new versions&lt;BR&gt;&#8226; &lt;A href=&quot;http://us.yimg.com/i/new.gif&quot; 
target=_blank&gt;http://us.yimg.com/i/new.gif&lt;/A&gt;&lt;BR&gt;&#8226; &lt;A 
href=&quot;http://us.yimg.com/i/new2.gif&quot; 
target=_blank&gt;http://us.yimg.com/i/new2.gif&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;결론은 기초부터 충실해라, web Caching 는 Server Side cache 보다는 Client side cache 가 중요하지 
않을까!&lt;/P&gt;
	    </content>
	    	</entry>
    	<entry>
	    <title>JUnit 4 and Java™ SE 5: Better Testing by Design</title>
		<link rel="alternate" type="text/html" href="http://blog.daum.net/javaone2006/2359451"/>
		<id>tag:blog.daum.net,2008:javaone2006.2359451</id>
	    <author>
		    <name>javaone2006</name>
	    </author>
	    <updated>2006-05-19T21:53:13Z</updated>
	    <published>2006-05-19T21:53:13Z</published>
	    <content type="html">
	    	
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;우선 이번 javaone conference ppt 자료는 다음 링크에서 구할 수 있다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A 
href=&quot;https://www28.cplan.com/javaone06_cv_124_1/sessions_catalog.jsp?ip=yes&quot;&gt;https://www28.cplan.com/javaone06_cv_124_1/sessions_catalog.jsp?ip=yes&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;컨퍼런스기간 중 공개한다고 하니 필요한 분들은 자료를 받아 가길 바란다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;test code 에 중요함은 두말 할것이 없을것이다. 그래서 이 세션을 선택했다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Junit 4에 특이 한점을 ppt 에서 추려 본다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;&lt;A 
href=&quot;javascript:realImgView('http://cfs2.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnMyLmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvOC5wbmc=&amp;filename=8.png')&quot;&gt;&lt;IMG 
hspace=0 
src=&quot;http://cfs2.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnMyLmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvOC5wbmcudGh1bWI=&amp;filename=8.png&quot; 
border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;&lt;A 
href=&quot;javascript:realImgView('http://cfs1.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnMxLmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvOS5wbmc=&amp;filename=9.png')&quot;&gt;&lt;IMG 
hspace=0 
src=&quot;http://cfs1.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnMxLmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvOS5wbmcudGh1bWI=&amp;filename=9.png&quot; 
border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;&lt;A 
href=&quot;javascript:realImgView('http://cfs2.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnMyLmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvOS5wbmc=&amp;filename=9.png')&quot;&gt;&lt;IMG 
hspace=0 
src=&quot;http://cfs2.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnMyLmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvOS5wbmcudGh1bWI=&amp;filename=9.png&quot; 
border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;&lt;A 
href=&quot;javascript:realImgView('http://cfs2.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnMyLmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvMTAucG5n&amp;filename=10.png')&quot;&gt;&lt;IMG 
hspace=0 
src=&quot;http://cfs2.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnMyLmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvMTAucG5nLnRodW1i&amp;filename=10.png&quot; 
border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;&lt;A 
href=&quot;javascript:realImgView('http://cfs3.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnMzLmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvNi5wbmc=&amp;filename=6.png')&quot;&gt;&lt;IMG 
hspace=0 
src=&quot;http://cfs3.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnMzLmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvNi5wbmcudGh1bWI=&amp;filename=6.png&quot; 
border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;&lt;A 
href=&quot;javascript:realImgView('http://cfs3.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnMzLmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvNy5wbmc=&amp;filename=7.png')&quot;&gt;&lt;IMG 
hspace=0 
src=&quot;http://cfs3.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnMzLmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvNy5wbmcudGh1bWI=&amp;filename=7.png&quot; 
border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;위 내용을 보면 다음과 같다.&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;* TestCase super class 상속 관계에서 자유로와 졌다.&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;* Test Method 와 Fixture Method들이 @Before Metadata 
(Annotations)&amp;nbsp; 로 정의함&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;* Test Exceptoins 을 사용할 수 있게 되었음&lt;BR&gt;&amp;nbsp;* Assertions 
package Static Import로 사용함&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;결론은 Junit 4 는 개발자가 테스트 하기 위한 쉬운 code 로 진화 해가는 것 같아 보인다.&lt;/P&gt;
	    </content>
	    	</entry>
    	<entry>
	    <title>Java™ Technology for The Mobile Mass Market - Series 40 From Nokia</title>
		<link rel="alternate" type="text/html" href="http://blog.daum.net/javaone2006/2353172"/>
		<id>tag:blog.daum.net,2008:javaone2006.2353172</id>
	    <author>
		    <name>javaone2006</name>
	    </author>
	    <updated>2006-05-19T18:05:18Z</updated>
	    <published>2006-05-19T18:05:18Z</published>
	    <content type="html">
	    	
&lt;P&gt;Java™ Technology for The Mobile Mass Market - Series 40 From Nokia&lt;/P&gt;
&lt;P&gt;--&gt; 흠.. 요 제목 보고 뭔가 느끼는 것이 있지&amp;nbsp;않습니까? &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 그렇죠~ 노키아 선전인거죠~ -.-*&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;어디정도 각오(?)하고 들어갔지만 기대를 저버리지 않는 세션이었습니다.&lt;/P&gt;
&lt;P&gt;발표자도 노키아 직원입니다. ㅎㅎ&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;&lt;A 
href=&quot;javascript:realImgView('http://cfs3.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnMzLmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvNS5qcGc=&amp;filename=5.jpg')&quot;&gt;&lt;IMG 
style=&quot;WIDTH: 459px; HEIGHT: 255px&quot; height=248 hspace=0 
src=&quot;http://cfs3.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnMzLmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvNS5qcGcudGh1bWI=&amp;filename=5.jpg&quot; 
width=460 border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;모바일 시장에서의 노키아에 대한 정보를 알려주고 시작합니다.&lt;/P&gt;
&lt;P&gt;생각보다 자세히 알려주더군요. 노키아 Series 40 에 대한 특징 및 구분법등...&lt;/P&gt;
&lt;P&gt;아무래도 유럽이나 미국쪽에서는 노키아가 유명세가 있기 때문에&lt;/P&gt;
&lt;P&gt;자부심이 있어 보이는 듯 합니다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;&lt;A 
href=&quot;javascript:realImgView('http://cfs5.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnM1LmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvMTAuanBn&amp;filename=10.jpg')&quot;&gt;&lt;IMG 
height=315 hspace=0 
src=&quot;http://cfs5.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnM1LmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvMTAuanBnLnRodW1i&amp;filename=10.jpg&quot; 
width=466 border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;Series 40를 세계에서 가장 많이 사용하며, 3억개 이상의 제품이 Series 40 기반으로&lt;/P&gt;
&lt;P align=left&gt;구성되었다고 합니다.&lt;/P&gt;
&lt;P align=left&gt;하지만 우리나라에서는 거의 구경하기 힘들죠? ^^&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;&lt;A 
href=&quot;javascript:realImgView('http://cfs2.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnMyLmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvNi5qcGc=&amp;filename=6.jpg')&quot;&gt;&lt;IMG 
style=&quot;WIDTH: 468px; HEIGHT: 328px&quot; height=366 hspace=0 
src=&quot;http://cfs2.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnMyLmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvNi5qcGcudGh1bWI=&amp;filename=6.jpg&quot; 
width=408 border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;Series 40를 기반으로한 모바일 기술구현이 가장 경제적이고 효과적인 방법이라고 합니다.&lt;/P&gt;
&lt;P align=left&gt;특히 Series 40 어플리케이션을 개발할 때 Java 가 가장 최고의 언어라고 합니다.&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;아래 Jad tag 가 End key 의 반응형식을 지정해줍니다.&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;Nokia-MIDlet-auto-start : yes&lt;/P&gt;
&lt;P align=left&gt;Nokia-MIDlet-no-exit : true&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;메일과 같은 알림 형식에 대한 특정한 API도 제공합니다.&lt;/P&gt;
&lt;P&gt;&#8226; Special API for 
notifications&lt;BR&gt;com.nokia.mid.ui.lcdui.LCDUIUtils.setCurrent(&lt;BR&gt;display,&lt;BR&gt;myInboxList,&lt;BR&gt;&quot;1 
New Email Message Received&quot;,&lt;BR&gt;myEmailIcon);&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;어떤 형식의 알림과 상태를 메모리에 로딩한 후, 실질적인 지시(Indicator) 가 상태를&lt;/P&gt;
&lt;P&gt;지정하게 됩니다. 이것저것 생각할 것 없이 해당&amp;nbsp;API를 가져다 쓰면 된다는 겁니다.&lt;/P&gt;
&lt;P&gt;하지만 모바일이라는 제한된 부분이 있기때문에, 키 배정이나 아이콘등 불가능한 부분은&lt;/P&gt;
&lt;P&gt;있다고 합니다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;노키아에서 100% 자바기반의 어플리케이션을 강력하게 밀고 있으며,&lt;/P&gt;
&lt;P&gt;관련한 JSR 도 언급을 했는데(보안 프레임웍 :&amp;nbsp;JSR 177, payments : JSR 229 등), &lt;/P&gt;
&lt;P&gt;이것들이 이미 표준화 되있다고 합니다.&lt;/P&gt;
&lt;P&gt;자바 자체가 기존의 규격을 분리하는 부분이 있어서, 모든 플랫폼에서 가능하다고는&lt;/P&gt;
&lt;P&gt;할 수 없습니다. 하지만 현재도 그렇고 앞으로도 새로운 레벨을 찾을 수 있다는 것은&lt;/P&gt;
&lt;P&gt;확실하다고 합니다.&lt;/P&gt;
&lt;P&gt;과연 어디까지가 표준이 되고, 어디수준부터 플랫폼화 되는 것일지... 두고봐야겠죠..&lt;/P&gt;
	    </content>
	    	</entry>
    	<entry>
	    <title>The Top Ten Ways to Botch an Enterprise Java™ Technology-based Application</title>
		<link rel="alternate" type="text/html" href="http://blog.daum.net/javaone2006/2350735"/>
		<id>tag:blog.daum.net,2008:javaone2006.2350735</id>
	    <author>
		    <name>javaone2006</name>
	    </author>
	    <updated>2006-05-19T16:29:34Z</updated>
	    <published>2006-05-19T16:29:34Z</published>
	    <content type="html">
	    	
&lt;P&gt;세션명이 흥미로워서 듣게된 세션이다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Enterprise Java™ Technology-based Application을 망치는 방법 Top 10? &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;발표자가 말하는 Top 10을 번역하는 것보다 원문 그대로 적는게 더 나을 거 같아서 원문을 그대로 차용한다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;순서는 물론 역순이다. 웬지 가요순위 1위부터 10위까지 발표하는 기분이 든다 :)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;10. Specifying the mechanism for data access without understanding the 
granularity of the data model&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;9. Assuming the container will take care of transactions&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;8. Using a stateless architecture&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;7. Designing the application for deployment on a single server and leave 
scalability and reliability up to the container&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;6. Utilizing popular technologies such as Web Services for component 
integration and remoting&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;5. Rolling your own frameworks&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;4. Distributing synchronous object graphs across servers&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;3. Designing logic and data flows assuming the application is a single-user 
system&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;2. Compensating for a lack of knowledge of the application domain by building 
in systemic flexibility&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;1. Putting off system testing until the application is ready to deploy&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;발표자가 하나하나를 말할 때 마다 참석자들이 고개를 끄덕이며, 웃었던게 기억난다. 아마 모두가 공감을 해서인 듯하다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;덧붙여 Non-Scalable Application을&amp;nbsp;설계하도록 하는&amp;nbsp;Evil Rule이라고 하면서, 4개의 Rule을 
소개했다. 이 부분 역시 공감이 가는 부분이였다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp; - Evil Rule 1 : Create SPOB(Single Points Of Bottleneck)s&lt;/P&gt;
&lt;P&gt;&amp;nbsp; - Evil Rule 2 : Introduce concurrency control bottlenecks&lt;/P&gt;
&lt;P&gt;&amp;nbsp; - Evil Rule 3 : Build in extra tiers and remote invocations whenever 
possible&lt;/P&gt;
&lt;P&gt;&amp;nbsp; - Evil Rule 4 : Push more work onto the expensive parts of the 
infrastructure&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;위에서 소개한 10가지 방식과 4가지 Rule모두 우리가 한번쯤은 생각해 볼만한 내용인 듯 하다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;글을 읽고나서 현재 어플리케이션을 개발하는데 있어 위에서 언급한&amp;nbsp;방식이나 rule에 해당되는 것이 있는지 다시한번 생각해 보길 
바란다.&lt;/P&gt;
	    </content>
	    	</entry>
    	<entry>
	    <title>Enterprise JavaBeans™ 3.0 Specification</title>
		<link rel="alternate" type="text/html" href="http://blog.daum.net/javaone2006/2350103"/>
		<id>tag:blog.daum.net,2008:javaone2006.2350103</id>
	    <author>
		    <name>javaone2006</name>
	    </author>
	    <updated>2006-05-19T16:02:15Z</updated>
	    <published>2006-05-19T16:02:15Z</published>
	    <content type="html">
	    	
&lt;P&gt;세션명 : Enterprise JavaBeans™ 3.0 Specification&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;&lt;A 
href=&quot;javascript:realImgView('http://cfs5.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnM1LmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvOS5qcGc=&amp;filename=9.jpg')&quot;&gt;&lt;IMG 
hspace=0 
src=&quot;http://cfs5.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnM1LmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvOS5qcGcudGh1bWI=&amp;filename=9.jpg&quot; 
border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;세션명에서도 알 수 있듯이 최근 final release된 EJB 3.0 스펙에&amp;nbsp;대한 내용을 소개한 세션이다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;EJB 3.0은 기존 2.x 버전의 복잡성을 제거하는데 중점을 둔듯 하다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;과거 2.x 버전에서 EJB 개발자들이 빈을 생성하는데 있어 필수적으로 필요한 인터페이스를 구현해야만 했던 점과, 빈 라이프 사이클과 
관련된 메소드 구현해야 했던 점, 그리고 deployment descriptor(이하 DD)&amp;nbsp;작성의 어려움을 생각하면 아마도 당연한 
것이라 생각한다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;릴리즈된 EJB 3.0 스펙&lt;/P&gt;
&lt;P&gt;&amp;nbsp; - Simplified Bean Class&lt;/P&gt;
&lt;P&gt;&amp;nbsp; - Annotation을 이용한 DI(Dependency Injection), Dynamic Lookup을 통한 손쉬운 
Environment Access&lt;/P&gt;
&lt;P&gt;&amp;nbsp; - Annotation을 이용한 Transaction처리&lt;/P&gt;
&lt;P&gt;&amp;nbsp; - Annotation을 이용한 Event Notification&lt;/P&gt;
&lt;P&gt;&amp;nbsp; - Exception처리 변화&lt;/P&gt;
&lt;P&gt;&amp;nbsp; - Interceptor 채용&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;새로이 릴리즈된 EJB 3.0에서는 annotation 사용이 눈에 띈다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;기존 코드로 작성해야 했던 부분이나 DD에서 기술해야 했던 부분들을 모두&amp;nbsp;annotation을 사용하여 처리한 점이 
그것이다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;코드를 보면 쉽게 이해할 수있다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;아래 코드는 EJB 2.x 코드이다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;public class 
PayrollBean&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&lt;FONT color=#ff3300&gt;implements javax.ejb.SessionBean 
{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SessionContext ctx;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public 
void setSessionContext(SessionContext ctx) 
{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.ctx = ctx;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
}&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void ejbCreate() {...}&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
public void ejbActivate() {}&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void ejbPassivate() 
{}&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void ejbRemove() {}&lt;BR&gt;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
public void setTaxDeductions(int empId, intdeductions) 
{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;}&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;위 빨간색으로 작성해야했던 부분을 3.0에서 아래와 같이 단 몇줄로 작성하면 된다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#0000ff&gt;@Stateless&lt;/FONT&gt; public class PayrollBean &lt;FONT 
color=#0000ff&gt;implements Payroll&lt;/FONT&gt; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void 
setTaxDeductions(int empId,int deductions)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;}&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;코드가 무척 간결해지고 이 클래스가 어떤 클래스인지 명확하게 알 수 있도록 변경된 걸 알 수 있다.(위 코드에서 Payroll은 물론 
Business Interface class이다.)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;EJB 3.0에서 사용되는 Annotation들&lt;/P&gt;
&lt;P&gt;&amp;nbsp; - 빈 클래스용 annotation&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; o. @Stateless,@Stateful,@MessageDriven,@Entity&lt;/P&gt;
&lt;P&gt;&amp;nbsp; - 빈 인터페이스용 annotation&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; o. @Remote,@Local,@WebService&lt;/P&gt;
&lt;P&gt;&amp;nbsp; - Environment Access annotation&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; o. @Resource,@EJB,@PersistenceContext,@PersistenceUnit&lt;/P&gt;
&lt;P&gt;&amp;nbsp; - Transaction annotation&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; o. @TransactionManagement,@TransactionAttribute&lt;/P&gt;
&lt;P&gt;&amp;nbsp; - Event Notification annotation&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; o. 
@PostConstruct,@PreDestroy,@PostActivate,@PrePassivate&lt;/P&gt;
&lt;P&gt;&amp;nbsp; - Exception annotation&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; o. @ApplicationException&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Exception 처리의 경우 2.x에서 checked exception이였던 System Exception이 대부분 unchecked 
exception으로 변경되었으며, 비즈니스 로직상의 unchecked exception들은 @ApplicationException 
annotation으로 처리 가능하도록 수정되었다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;EJB 2.x 에서 DD 작성이 무척 어렵다는 것은 모두 공감할 것이다. 하지만 EJB 3.0의 경우&amp;nbsp;DD에서 처리해야했던 것들을 
대부분 annotation으로 대체했기 때문에 DD작성이 부가적인 기능을 설정하기 위한 것으로 전락한 듯하다. 예를 들면 interceptor 
설정이나(이 분은 DD에서만 가능한 것 같다.), 일부 annotation의 override,multiple configuration등을 설정할 
필요가 있을 경우에 DD 작성이 필요한거 같다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;상당부분 개발자 친화적으로 변경된 EJB 3.0. 앞으로&amp;nbsp;엔터프라이즈 어플리케이션 개발에 어느정도 도입될지 궁금하다.&lt;/P&gt;
	    </content>
	    	</entry>
    	<entry>
	    <title>Beyond JUnit:Introducing TestNG,the Next Generation in Testing</title>
		<link rel="alternate" type="text/html" href="http://blog.daum.net/javaone2006/2322769"/>
		<id>tag:blog.daum.net,2008:javaone2006.2322769</id>
	    <author>
		    <name>javaone2006</name>
	    </author>
	    <updated>2006-05-18T18:14:09Z</updated>
	    <published>2006-05-18T18:14:09Z</published>
	    <content type="html">
	    	
&lt;P&gt;세션 명 : Beyond JUnit:Introducing TestNG,the Next Generation in Testing&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;새로운 테스팅 툴인 testNG 소개에 대한 세션으로 아무래도 testNG에서 NG가 next generation인듯 하다.&lt;/P&gt;
&lt;P align=left&gt;&lt;A 
href=&quot;javascript:realImgView('http://cfs5.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnM1LmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvOC5qcGc=&amp;filename=8.jpg')&quot;&gt;&lt;IMG 
hspace=0 
src=&quot;http://cfs5.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnM1LmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvOC5qcGcudGh1bWI=&amp;filename=8.jpg&quot; 
border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;세션은&amp;nbsp;다음과 같은 순으로&amp;nbsp;진행되었다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Testing에 대한 전반적인 설명 -&gt; JUnit에 대한 설명 및 장점 -&gt; JUnit 단점 -&gt; testNG에 대한 
소개&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;아무래도 현재 가장 많이 사용되는 테스팅 툴이&amp;nbsp;JUnit이기 때문에 이녀석과 비교한듯 하다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;* JUnit은 &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1.이클립스에서 기본적으로 플러그인으로 제공하는 테스팅 툴로 &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2.이해가 쉽고, &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3.구현이 용이하며,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4.현재 가장 널리 쓰이는 테스팅 툴&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; 이라는 장점을 지니고 있지만&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1. TestCase라는 클래스를 상속해야 하고,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2 테스트 내에서 공통적으로 사용되는 상태를 위해서는 static을 
사용해야 한다는 점,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3.setUp()메소드의 과도한&amp;nbsp;중복(이 부분은 setUp 과정이 
필요하지 않은 테스트 메소드를 실행할 때에도 setUp에 실행되는&amp;nbsp;문제점을 지적한 듯 하다.)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4.java 5.0의 새로운 기능을 사용하지 못한다는 
점(annotation을 예로 들었다.)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 을 단점으로&amp;nbsp;얘기했다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;비교적 간단히 JUnit의 장점과 단점을 얘기하고, 본 세션의 주제인 testNG에 대한 소개를 시작했다.&lt;/P&gt;
&lt;P align=left&gt;&lt;A 
href=&quot;javascript:realImgView('http://cfs4.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnM0LmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvOC5qcGc=&amp;filename=8.jpg')&quot;&gt;&lt;IMG 
hspace=0 
src=&quot;http://cfs4.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnM0LmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvOC5qcGcudGh1bWI=&amp;filename=8.jpg&quot; 
border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;위 그림이 발표자가 testNG를 소개하면서 보여준 PT이다.&lt;/P&gt;
&lt;P align=left&gt;testNG를 JUnit에 비해 기능이 막강한 툴로 생각해서인지, 슈퍼맨 그림을 넣은 듯 하다. :)&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;* testNG&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1. 특정 클래스 상속 불필요&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2. 테스트 메소드 앞에 접두어로 test&amp;nbsp; 불필요&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3. JDK 5.0 사용시 Annotation사용가능&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4. 테스트를 그룹화 할 수 있음&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5. 예상 Exception 테스트 가능&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 6. xml로 테스트 관리 - test.xml&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;위&amp;nbsp;내용이 발표자가 설명한 testNG의 장점이다. &lt;/P&gt;
&lt;P align=left&gt;특히 JUnit에서는 그룹화를 TestSuite를 써서 했지만 testNG에서는 이를 xml로&amp;nbsp;대체한 것이 
눈에 띈다. 이는 어찌보면 불편할지도 모르지만, xml로 전체적인 테스트 관리를 쉽게 하겠다는 의도로 보인다. 또한 xml 설정에서 테스트에 
필요한 클래스나 메소드를 쉽게 include/exclude할 수 있기때문에 클래스 재 컴파일이 불필요하다는 점도 매력적이다.&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;또한 annotation을 사용하여 기존 JUnit보다 쉽고 명확하게 테스트케이스를 생성할 수 있다.&lt;/P&gt;
&lt;P align=left&gt;testNG에서&amp;nbsp;자주 사용되는 annotation은 아래와 같다.&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;@Test&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;- 테스트 메소드임을 명시한다.&lt;/P&gt;
&lt;P align=left&gt;@Configuration&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&amp;nbsp; - 설정관련 테스트임을 명시한다.(JUnit의 setUp 메소드를 생각하면 될 듯하다.)&lt;/P&gt;
&lt;P align=left&gt;@ExpectedException&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&amp;nbsp; - 예상 exception 테스트 메소드임을 명시한다.&lt;/P&gt;
&lt;P align=left&gt;@DataProvider&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&amp;nbsp; - 테스트시 자주 사용되는 데이터를 리턴하는 메소드임을 명시한다.(보통 VO를 리턴하는 메소드를 
생각하면 될 듯하다.)&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;&lt;A 
href=&quot;javascript:realImgView('http://cfs1.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnMxLmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvOC5qcGc=&amp;filename=8.jpg')&quot;&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P align=left&gt;&lt;A 
href=&quot;javascript:realImgView('http://cfs4.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnM0LmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvOS5qcGc=&amp;filename=9.jpg')&quot;&gt;&lt;IMG 
hspace=0 
src=&quot;http://cfs4.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnM0LmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvOS5qcGcudGh1bWI=&amp;filename=9.jpg&quot; 
border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;위 코드는 @Test annotation을 사용한 테스트 메소드 코드 예제이다.&lt;/P&gt;
&lt;P align=left&gt;@Test annotation 속성중 dependsOnGroups이 있는데 이는 다른 그룹과의 의존관계를 정의하는 
부분이다. 즉 해당 메소드가 실행되기전에 해당 그룹이 실행이 되어야 한다는 의존관계를 나타낸다. testNG에서는 이처럼 그룹간이나 특정 테스트 
메소드간 의존관계를 정의할 수도 있다.&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;테스트 관리를 xml파일에서 한다는 점이 처음에는 불편할 수도 있지만, 이는 익숙해지면 오히려 더 장점이 될 수 
있으며,&amp;nbsp;testNG의 다양한 기능은 이를 충분히 커버할 수 있다고 본다. 특히 다양한 annotation제공은 testNG를 더욱 
매력있게 하는 부분이다.&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;관련 사이트 :&amp;nbsp; www.testng.org&lt;/P&gt;
	    </content>
	    	</entry>
    	<entry>
	    <title>컨퍼런스 현장 2</title>
		<link rel="alternate" type="text/html" href="http://blog.daum.net/javaone2006/2320121"/>
		<id>tag:blog.daum.net,2008:javaone2006.2320121</id>
	    <author>
		    <name>javaone2006</name>
	    </author>
	    <updated>2006-05-18T15:56:34Z</updated>
	    <published>2006-05-18T15:56:34Z</published>
	    <content type="html">
	    	
&lt;P align=left&gt;읽다.&amp;nbsp;뭘?&lt;/P&gt;
&lt;P align=left&gt;&lt;A 
href=&quot;javascript:realImgView('http://cfs4.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnM0LmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvNi5qcGc=&amp;filename=6.jpg')&quot;&gt;&lt;IMG 
hspace=0 
src=&quot;http://cfs4.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnM0LmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvNi5qcGcudGh1bWI=&amp;filename=6.jpg&quot; 
border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;서점입니다.&lt;/P&gt;
&lt;P align=left&gt;당연히 자바와 관련된 책들이고, Sun에서 나온 책들이 많습니다.&lt;/P&gt;
&lt;P align=left&gt;컨퍼런스 중간에 짬이 나면 자주 가는 곳 중 하나죠.&lt;/P&gt;
&lt;P align=left&gt;&lt;A 
href=&quot;javascript:realImgView('http://cfs4.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnM0LmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvNy5qcGc=&amp;filename=7.jpg')&quot;&gt;&lt;IMG 
hspace=0 
src=&quot;http://cfs4.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnM0LmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvNy5qcGcudGh1bWI=&amp;filename=7.jpg&quot; 
border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;식당입니다.&lt;/P&gt;
&lt;P align=left&gt;&lt;A 
href=&quot;javascript:realImgView('http://cfs5.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnM1LmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvNi5qcGc=&amp;filename=6.jpg')&quot;&gt;&lt;IMG 
hspace=0 
src=&quot;http://cfs5.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnM1LmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvNi5qcGcudGh1bWI=&amp;filename=6.jpg&quot; 
border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;전편처럼 또 다른 공간에 마련된 쉬는 공간입니다.&lt;/P&gt;
&lt;P align=left&gt;대형 화면엔 유명 개발자들 인터뷰나 광고 영상물을 보여줍니다.&lt;/P&gt;
&lt;P align=left&gt;알록달록한 쿠션에 거의 눕듯이 앉아서 노트북으로 인터넷 하거나&lt;/P&gt;
&lt;P align=left&gt;책을 보거나 잠시 눈을 붙이는 모습입니다.&lt;/P&gt;
&lt;P align=left&gt;&lt;A 
href=&quot;javascript:realImgView('http://cfs5.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnM1LmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvNy5qcGc=&amp;filename=7.jpg')&quot;&gt;&lt;IMG 
hspace=0 
src=&quot;http://cfs5.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnM1LmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvNy5qcGcudGh1bWI=&amp;filename=7.jpg&quot; 
border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;기념품 판매점입니다. 가방이나 티셔츠 등 많습니다.&lt;/P&gt;
&lt;P align=left&gt;&lt;A 
href=&quot;javascript:realImgView('http://cfs1.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnMxLmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvNi5qcGc=&amp;filename=6.jpg')&quot;&gt;&lt;IMG 
hspace=0 
src=&quot;http://cfs1.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnMxLmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvNi5qcGcudGh1bWI=&amp;filename=6.jpg&quot; 
border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P align=left&gt;&lt;BR&gt;전편에 언급한 문제의 컴퓨터.&lt;/P&gt;
&lt;P align=left&gt;컨퍼런스 아이디카드를 넣으면 자동으로 로그인이 됩니다.&lt;/P&gt;
&lt;P align=left&gt;&lt;A 
href=&quot;javascript:realImgView('http://cfs1.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnMxLmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvNy5qcGc=&amp;filename=7.jpg')&quot;&gt;&lt;IMG 
hspace=0 
src=&quot;http://cfs1.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnMxLmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvNy5qcGcudGh1bWI=&amp;filename=7.jpg&quot; 
border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;인터넷을 쓸 수 있는 곳이 비교적 많습니다.&lt;/P&gt;
&lt;P align=left&gt;단점은... 무지 느립니다. 다음 탑 여는 것도 인내심이 필요합니다.&lt;/P&gt;
&lt;P align=left&gt;&lt;A 
href=&quot;javascript:realImgView('http://cfs2.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnMyLmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvNC5qcGc=&amp;filename=4.jpg')&quot;&gt;&lt;IMG 
hspace=0 
src=&quot;http://cfs2.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnMyLmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvNC5qcGcudGh1bWI=&amp;filename=4.jpg&quot; 
border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;노트북이 있다면 굳이 서서 인터넷을 쓸 필요가 없죠.&lt;/P&gt;
&lt;P align=left&gt;편하게 아무 곳이나 앉으면 되지요~ :)&lt;/P&gt;
&lt;P align=left&gt;&lt;A 
href=&quot;javascript:realImgView('http://cfs2.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnMyLmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvNS5qcGc=&amp;filename=5.jpg')&quot;&gt;&lt;IMG 
hspace=0 
src=&quot;http://cfs2.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnMyLmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvNS5qcGcudGh1bWI=&amp;filename=5.jpg&quot; 
border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;영화를 틀어주는 곳도 있습니다.&lt;/P&gt;
&lt;P align=left&gt;세션을 오가다 보면 생각보다 갈 일은 없었지만,&lt;/P&gt;
&lt;P align=left&gt;알록달록한 쿠션 의자에 앉아보고 싶어&lt;/P&gt;
&lt;P align=left&gt;일부러라도 가지요~ ㅋㅋ&lt;/P&gt;
&lt;P align=left&gt;&lt;A 
href=&quot;javascript:realImgView('http://cfs3.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnMzLmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvNC5qcGc=&amp;filename=4.jpg')&quot;&gt;&lt;IMG 
hspace=0 
src=&quot;http://cfs3.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnMzLmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvNC5qcGcudGh1bWI=&amp;filename=4.jpg&quot; 
border=0&gt;&lt;/A&gt;&lt;/P&gt;
	    </content>
	    	</entry>
    	<entry>
	    <title>Simpler, Faster, Better: Concurrency Utilities in JDK™ Software Version 5.0</title>
		<link rel="alternate" type="text/html" href="http://blog.daum.net/javaone2006/2318796"/>
		<id>tag:blog.daum.net,2008:javaone2006.2318796</id>
	    <author>
		    <name>javaone2006</name>
	    </author>
	    <updated>2006-05-18T15:23:49Z</updated>
	    <published>2006-05-18T15:23:49Z</published>
	    <content type="html">
	    	
&lt;P&gt;Simpler, Faster, Better: Concurrency Utilities in JDK™ Software Version 
5.0&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;자바 5.0 에 추가된 java.util.concurrent 패키지에 대한 소개와&lt;/P&gt;
&lt;P&gt;멀티쓰레드 프로그래밍에 있어서 에러 없는 코드를 작성 방법을 소개한다고 했다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;*. 자바 5.0 이전&lt;BR&gt;o. Thread-safe 하지만, concurrent classes 가 없었다.&lt;/P&gt;
&lt;P&gt;o. wait(), notify(), synchronized&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; --&gt; 잘못 사용되어지기 쉽고, 제대로 사용하기 어려운 경우가 많다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; --&gt; 그래서 concurrency assembly language 라고도 한다. --;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;*. 자바 5.0&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;O. Concurrent Collections 지원&lt;/P&gt;
&lt;P&gt;&amp;nbsp; 예)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ConcurrentHashMap&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; o. Hashtable, 
Collections.synchronizedMap 을 concurrent&amp;nbsp;하게 쓸 수 있는 클래스&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;o.&amp;nbsp;동시에 읽기와 쓰기가 가능&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;o. 동시에 최대 16개 쓰기 가능&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;o. Iterator는 
ConcurrentModificationException 을 던지지 않는다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;Iterator는 더 이상 전체 collection에 lock을 걸지 않고 iterate할 수 있고,&lt;/P&gt;
&lt;P&gt;&amp;nbsp; ConcurrentModificationException을 더 이상 던지지 않는다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp; 다만, iterate 도중에 생긴 변화는 감지하지 못할 수 있다.&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; 성능)&lt;/P&gt;
&lt;P align=left&gt;&lt;A 
href=&quot;javascript:realImgView('http://cfs4.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnM0LmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvMy5wbmc=&amp;filename=3.png')&quot;&gt;&lt;IMG 
hspace=0 
src=&quot;http://cfs4.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnM0LmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvMy5wbmcudGh1bWI=&amp;filename=3.png&quot; 
border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp; 위 그림은 Concurrent Collection과 Synchronized Collection 간의 성능 
비교를 한 것이다.&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp; 당연하겠지만, 쓰레드 수가 2개가 되는 순간부터는 Synchronized Collection은 
상수값을&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp; 나타낸다. ConcurrentSkipListMap는 SynchronizedTreeMap의 
Concurrent 버전으로 무스탕에&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp; 추가된다고 한다.&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;그외에 다음과 같은 내용들이 추가되었다고 한다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp; Queues&lt;/P&gt;
&lt;P&gt;&amp;nbsp; Blocking Queues&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; --&gt; take: Queue에 꺼낼 내용이 있을 때까지 대기&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; --&gt; put: Queue에 빈 공간이 있을 때까지 대기&lt;/P&gt;
&lt;P&gt;&amp;nbsp; Thread Pool&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Executor, ExcutorService&lt;/P&gt;
&lt;P&gt;&amp;nbsp; Callable, Future&lt;/P&gt;
&lt;P&gt;&amp;nbsp; Locks - ReentrantLock&lt;/P&gt;
&lt;P&gt;&amp;nbsp; Conditions&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;Atomic Variables&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; 등등... 추가된 게 많다.&lt;/P&gt;
&lt;P&gt; &lt;/P&gt;
&lt;P&gt;그외 무스탕에 추가될 예정인 것들은 다음과 같다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;Deque, BlockingDeque&lt;/P&gt;
&lt;P&gt;&amp;nbsp; ConcurrentSkipListMap, ConcurrentSkipListSet&lt;/P&gt;
&lt;P&gt;&amp;nbsp; NavigableMap, NavigableSet&lt;/P&gt;
&lt;P&gt;&amp;nbsp; Lock-based 보다는 Lock-free 알고리즘을 더 확장 적용&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;결론,&lt;/P&gt;
&lt;P&gt;&amp;nbsp; wait(), notify(), Thread.start(), synchronized 등을 사용할 때에는&lt;/P&gt;
&lt;P&gt;&amp;nbsp; java.util.concurrent 패키지를 참고해서 최대한 간단히 해결할 수 있도록 한다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;
	    </content>
	    	</entry>
    	<entry>
	    <title>Code Examples Using Java™ ME Technology and New Web 2.0 Services</title>
		<link rel="alternate" type="text/html" href="http://blog.daum.net/javaone2006/2282427"/>
		<id>tag:blog.daum.net,2008:javaone2006.2282427</id>
	    <author>
		    <name>javaone2006</name>
	    </author>
	    <updated>2006-05-17T20:01:25Z</updated>
	    <published>2006-05-17T20:01:25Z</published>
	    <content type="html">
	    	
&lt;P&gt;이 세션은 제목은 길지만 강사가 말하고 싶은것을 간단 명료하게 해서 좋았습니다.&lt;/P&gt;
&lt;P&gt;수많은 노란눈의 강사들 사이에서 나온 동양인 강사...&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;&lt;A 
href=&quot;javascript:realImgView('http://cfs1.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnMxLmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvMi5KUEc=&amp;filename=2.JPG')&quot;&gt;&lt;IMG 
style=&quot;WIDTH: 435px; HEIGHT: 288px&quot; height=305 hspace=0 
src=&quot;http://cfs1.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnMxLmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvMi5KUEcudGh1bWI=&amp;filename=2.JPG&quot; 
width=455 border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;일본, 아니면 혹시나 한국인일까 했지만 역시나 중국계 미국인 인듯 -.-&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;재미있었던게 세션중에 인도 개발자로 보이는 듯한 사람이 계속 질문을 했는데(물론 영어로),&lt;/P&gt;
&lt;P&gt;발음이 이상한지 진행자가 자꾸 못알아 듣더군요.&lt;/P&gt;
&lt;P&gt;중간에서 주위사람이 영어로 다시 통역을 해주는 진풍경을 봤습니다.&lt;/P&gt;
&lt;P&gt;난 둘다 비슷비슷하게 못 알아들었지만. ^^&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;세션 내용을 요약하자면... &lt;/P&gt;
&lt;P&gt;Web 2.0의 간단한 소개 및 다양한 User Interface 와의 통신방법을 예제로 보여주더군요.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A 
href=&quot;javascript:realImgView('http://cfs1.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnMxLmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvMy5KUEc=&amp;filename=3.JPG')&quot;&gt;&lt;IMG 
style=&quot;WIDTH: 459px; HEIGHT: 273px&quot; height=381 hspace=0 
src=&quot;http://cfs1.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnMxLmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvMy5KUEcudGh1bWI=&amp;filename=3.JPG&quot; 
width=424 border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;&lt;IMG style=&quot;WIDTH: 439px; HEIGHT: 272px&quot; height=284 hspace=0 
src=&quot;http://cfs5.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnM1LmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvMi5qcGcudGh1bWI=&amp;filename=2.jpg&quot; 
width=476 border=0&gt;&lt;/P&gt;
&lt;P&gt;User Intergace를&amp;nbsp;Web으로만 생각하면 않는다는 점을 강조하더군요.&lt;/P&gt;
&lt;P&gt;또한 신속하고 간단한 구현을 강조하면서 예제로 든 소스는 Ajax였습니다. &lt;/P&gt;
&lt;P&gt;Ajax 나올때 약간 반가운 마음이 들었음.&amp;nbsp;-.-*&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;예제중 하나는&amp;nbsp;Amazone Searchs 를&amp;nbsp;들더군요.&lt;/P&gt;
&lt;P&gt;아마존의 웹서비스 형태중에 REST(Representational State Transfer)와 SOAP이 있는데, &lt;/P&gt;
&lt;P&gt;거의 대부분이 REST&amp;nbsp;서비스 라고 합니다.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;주로 Http 프로토콜상에서 XML 데이터를 주고 받는 형식을 말하는데, 이와같은&lt;/P&gt;
&lt;P&gt;단순한 데이터 접근방법을 REST 라고 칭합니다.&lt;/P&gt;
&lt;P&gt;이 얘기를 하면서 구글맵에 대해서도 잠깐 언급했습니다.&lt;/P&gt;
&lt;P&gt;구글맵과 같은 AJAX 인터페이스를 말하면서 다른건 몰라도 파급력(?)이 굉장하다...고 한듯..&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;&lt;A 
href=&quot;javascript:realImgView('http://cfs1.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnMxLmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvNC5qcGc=&amp;filename=4.jpg')&quot;&gt;&lt;IMG 
style=&quot;WIDTH: 487px; HEIGHT: 300px&quot; height=250 hspace=0 
src=&quot;http://cfs1.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnMxLmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvNC5qcGcudGh1bWI=&amp;filename=4.jpg&quot; 
width=441 border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;세션이 끝날때까지 강조한 내용은 &lt;/P&gt;
&lt;P align=left&gt;더이상 PC는 인터넷 프로그램에 접근하는 유일하거나 강력한 디바이스가 아니라고 합니다.&lt;/P&gt;
&lt;P align=left&gt;어떤 디바이스에서도 간단하지만 파급력있고 혁신적인 컴퍼넌트가 필요하다..&lt;/P&gt;
&lt;P align=left&gt;그리고 Web 2.0 에서의 AJAX 컴퍼넌트의 중요성을 강조해도 지나치지 않다고 합니다.&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;이후 몬가 더 나올듯 싶었지만, &lt;/P&gt;
&lt;P align=left&gt;시간이없어서 인지 거기까지 준비해서인지&amp;nbsp;그냥 접더군요 -.-*&lt;/P&gt;
	    </content>
	    	</entry>
    	<entry>
	    <title>Mastering Mustang and Developing Dolphin</title>
		<link rel="alternate" type="text/html" href="http://blog.daum.net/javaone2006/2275101"/>
		<id>tag:blog.daum.net,2008:javaone2006.2275101</id>
	    <author>
		    <name>javaone2006</name>
	    </author>
	    <updated>2006-05-17T15:30:06Z</updated>
	    <published>2006-05-17T15:30:06Z</published>
	    <content type="html">
	    	
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;1. Mastering Mustang&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;어떻게 하면 Mustang을 마스터할 수 있을까 하는 생각에 들어간 세션.&lt;/P&gt;
&lt;P align=left&gt;진행자가 매트릭스의 파란 약 먹을래, 빨간 약 먹을 하는 이야기를 꺼내며&lt;/P&gt;
&lt;P align=left&gt;비교적 재미있게 진행하는 것 같았다.&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;Tiger 개발 당시와 현재 Mustang 개발 현황을 비교해주었는데,&lt;/P&gt;
&lt;P align=left&gt;Tiger와 Mustang의 개발 단계에서의 가장 큰 차이점은&lt;/P&gt;
&lt;P align=left&gt;Mustang은 일주일 단위로 Snapshot Builds를 지속적으로 배포있다는 점이라고 한다.&lt;/P&gt;
&lt;P align=left&gt;그래서, 잦은 피드백을 받음으로서 정식 베타 버전을 릴리즈했을 때&lt;/P&gt;
&lt;P align=left&gt;Tiger 때와 달리 큰 폭으로 피드백의 양이 늘어나지 않았다고 한다.&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;그래서, 이 아저씨의 결론...&lt;/P&gt;
&lt;P align=left&gt;java.net 에 가서 Mustang Weekly Snapshot Builds를 받아서&lt;/P&gt;
&lt;P align=left&gt;설치하고, 피드백을 잘 주면 Mustang을 Master할 수 있다고 한다. --;&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;2. Developing Dolphin&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;Mustang이 아직 정식 릴리즈도 안 되었지만, 그 다음 버전이 한창 개발되고 있는 듯 하다.&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;Dolphin의 가장 큰 개발 이슈는 다음 3가지.&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;i) Language Changes: 아래 사진에 있지만, 메쏘드 파라미터에 곧바로 XML 갖아 넣는 Native 
XML 지원이 인상적이다.&lt;/P&gt;
&lt;P align=left&gt;ii) Super JAR and Super Packages: 현재의 JAR와 Package를 확장한 개념이라는데, 예제 
코드는 못 가져왔다.&lt;/P&gt;
&lt;P align=left&gt;iii) Simplying Swing Development: Swing 입문자들에겐 희소식일듯.&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;&lt;A 
href=&quot;javascript:realImgView('http://cfs4.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnM0LmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvMi5qcGc=&amp;filename=2.jpg')&quot;&gt;&lt;IMG 
hspace=0 
src=&quot;http://cfs4.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnM0LmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvMi5qcGcudGh1bWI=&amp;filename=2.jpg&quot; 
border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;&lt;A 
href=&quot;javascript:realImgView('http://cfs5.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnM1LmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvMS5qcGc=&amp;filename=1.jpg')&quot;&gt;&lt;IMG 
hspace=0 
src=&quot;http://cfs5.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnM1LmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvMS5qcGcudGh1bWI=&amp;filename=1.jpg&quot; 
border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;이외에도 끝내면서 NIO 2 도 고려 중이란다.&lt;/P&gt;
	    </content>
	    	</entry>
    	<entry>
	    <title>첫날 등록 현장</title>
		<link rel="alternate" type="text/html" href="http://blog.daum.net/javaone2006/2273028"/>
		<id>tag:blog.daum.net,2008:javaone2006.2273028</id>
	    <author>
		    <name>javaone2006</name>
	    </author>
	    <updated>2006-05-17T14:53:17Z</updated>
	    <published>2006-05-17T14:53:17Z</published>
	    <content type="html">
	    	
&lt;P align=left&gt;2006 자바원 등록 현장입니다.&lt;/P&gt;
&lt;P align=left&gt;여기서 컨퍼런스 기간 동안 사용할 아이디 카드를 수령하고,&lt;/P&gt;
&lt;P align=left&gt;본격적으로 관심 있는 세션을 찾아 룰루 랄라 갑니다.&lt;/P&gt;
&lt;P align=left&gt;&lt;A 
href=&quot;javascript:realImgView('http://cfs1.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnMxLmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvMC5qcGc=&amp;filename=0.jpg')&quot;&gt;&lt;IMG 
hspace=0 
src=&quot;http://cfs1.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnMxLmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvMC5qcGcudGh1bWI=&amp;filename=0.jpg&quot; 
border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;자바원이 열리는 Moncone Center 입니다.&lt;/P&gt;
&lt;P align=left&gt;&lt;A 
href=&quot;javascript:realImgView('http://cfs1.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnMxLmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvMS5qcGc=&amp;filename=1.jpg')&quot;&gt;&lt;IMG 
hspace=0 
src=&quot;http://cfs1.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnMxLmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvMS5qcGcudGh1bWI=&amp;filename=1.jpg&quot; 
border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;더 가까이 가서 본 간판입니다.&lt;/P&gt;
&lt;P align=left&gt;&lt;A 
href=&quot;javascript:realImgView('http://cfs2.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnMyLmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvMC5qcGc=&amp;filename=0.jpg')&quot;&gt;&lt;IMG 
hspace=0 
src=&quot;http://cfs2.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnMyLmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvMC5qcGcudGh1bWI=&amp;filename=0.jpg&quot; 
border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;내부 입니다.&lt;/P&gt;
&lt;P align=left&gt;천장에 코 빨간 넘이 매달려 있습니다.&lt;/P&gt;
&lt;P align=left&gt;(이름이 뭐더라~ --;)&lt;/P&gt;
&lt;P align=left&gt;&lt;A 
href=&quot;javascript:realImgView('http://cfs2.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnMyLmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvMS5qcGc=&amp;filename=1.jpg')&quot;&gt;&lt;IMG 
hspace=0 
src=&quot;http://cfs2.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnMyLmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvMS5qcGcudGh1bWI=&amp;filename=1.jpg&quot; 
border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;코 빨간 넘--; 주위에 인터넷 쓸 수 있는 곳이 있습니다.&lt;/P&gt;
&lt;P align=left&gt;PC일줄 알고 다가가봤습니다.&lt;/P&gt;
&lt;P align=left&gt;&lt;A 
href=&quot;javascript:realImgView('http://cfs3.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnMzLmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvMC5qcGc=&amp;filename=0.jpg')&quot;&gt;&lt;IMG 
hspace=0 
src=&quot;http://cfs3.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnMzLmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvMC5qcGcudGh1bWI=&amp;filename=0.jpg&quot; 
border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;근데, PC가 아리고... 먼 단말기인듯 합니다.&lt;/P&gt;
&lt;P align=left&gt;웹브라우저도 오로지 모질라랑 불여우만 깔려있고,&lt;/P&gt;
&lt;P align=left&gt;OS도 당연히 윈도우가 아닌 관계로 전혀 한글 입력을 할 수가 없었습니다.&lt;/P&gt;
&lt;P align=left&gt;그래도 다음 탑을 열었을 때, 한글이 보여서 반가웠습니다. --;&lt;/P&gt;
&lt;P align=left&gt;&lt;A 
href=&quot;javascript:realImgView('http://cfs3.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnMzLmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvMS5qcGc=&amp;filename=1.jpg')&quot;&gt;&lt;IMG 
hspace=0 
src=&quot;http://cfs3.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnMzLmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvMS5qcGcudGh1bWI=&amp;filename=1.jpg&quot; 
border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;인터넷 부스 옆으로 편하게 앉아서 쉴 수 있는 공간이 있습니다.&lt;/P&gt;
&lt;P align=left&gt;의자라기 보다는 알록달록한 큰 쿠션에 앉아서 책을 보거나&lt;/P&gt;
&lt;P align=left&gt;놋북을 두들기고 있습니다.&lt;/P&gt;
&lt;P align=left&gt;잘 안보이지만, 기둥 사람들이 모여서 X Box 게임을 하고 있는 모습도 보입니다.&lt;/P&gt;
&lt;P align=left&gt;&lt;A 
href=&quot;javascript:realImgView('http://cfs4.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnM0LmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvMC5qcGc=&amp;filename=0.jpg')&quot;&gt;&lt;IMG 
hspace=0 
src=&quot;http://cfs4.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnM0LmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvMC5qcGcudGh1bWI=&amp;filename=0.jpg&quot; 
border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;이겁니다. 근데 X Box 맞나요? 이게 새로 나온 360 그건가요?&lt;/P&gt;
&lt;P align=left&gt;&lt;A 
href=&quot;javascript:realImgView('http://cfs4.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnM0LmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvMS5qcGc=&amp;filename=1.jpg')&quot;&gt;&lt;IMG 
hspace=0 
src=&quot;http://cfs4.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnM0LmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvMS5qcGcudGh1bWI=&amp;filename=1.jpg&quot; 
border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;그 옆으로 커피랑 빵을 파는 공간도 마련되어 있습니다.&lt;/P&gt;
&lt;P align=left&gt;&lt;A 
href=&quot;javascript:realImgView('http://cfs5.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnM1LmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvMC5qcGc=&amp;filename=0.jpg')&quot;&gt;&lt;IMG 
hspace=0 
src=&quot;http://cfs5.blog.daum.net/upload_control/download.blog?fhandle=MEFzQXBAZnM1LmJsb2cuZGF1bS5uZXQ6L0lNQUdFLzAvMC5qcGcudGh1bWI=&amp;filename=0.jpg&quot; 
border=0&gt;&lt;/A&gt;&lt;/P&gt;
	    </content>
	    	</entry>
      </feed>
