<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;DkADQ3Y5eyp7ImA9WxNVFE4.&quot;"><id>tag:blogger.com,1999:blog-6811062799606447528</id><updated>2009-10-24T18:39:32.823-07:00</updated><title>Netbeans-Korean by 강여사</title><subtitle type="html">http://cafe.naver.com/netbean</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://netbeans-korean.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://netbeans-korean.blogspot.com/" /><link rel="hub" href="http://pubsubhubbub.appspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/6811062799606447528/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>강여사(J.Y.Kang)</name><uri>http://www.blogger.com/profile/17450510931308610527</uri><email>noreply@blogger.com</email></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>75</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><link rel="self" href="http://feeds.feedburner.com/Netbeans-koreanBy" type="application/atom+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><entry gd:etag="W/&quot;Ak8BRXo8fSp7ImA9WxNWGEs.&quot;"><id>tag:blogger.com,1999:blog-6811062799606447528.post-2902024538950494716</id><published>2009-10-18T04:35:00.000-07:00</published><updated>2009-10-18T05:27:34.475-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-18T05:27:34.475-07:00</app:edited><title>넷빈 6.7에서 JMX 매니저 개발 및 원격 JMX Agent 연결하기</title><content type="html">이번 넷빈 JMX 모듈에 있는 JMX Manager 를 개발하고 원격 JMX Manager를 연결하는 방법등에 대해 다뤄보겠습니다.&lt;br /&gt;&lt;br /&gt;작업 환경:&lt;br /&gt;넷빈즈 6.5/6.7 이상&lt;br /&gt;JDK 5 나 6&lt;br /&gt;JMX 플러그인 - 설치&lt;br /&gt;JConsole 플러그인 - 설치&lt;br /&gt;(두 플러그인의 설치 방법은 이미 전 게시물에 언급했기때문에 자세한 내용은 생략하겠습니다. 도구 - 플러그인 - 해당 2개의 모듈 설치)&lt;br /&gt;&lt;br /&gt;매니저먼트 샘플 Anagram 프로젝트를 생성합니다.&lt;br /&gt;File - new project&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StsAr22pcFI/AAAAAAAAB8Y/YmnEv3Qybkc/s1600-h/jmx_manager_01.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 320px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5393905732165398610" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StsAr22pcFI/AAAAAAAAB8Y/YmnEv3Qybkc/s400/jmx_manager_01.jpg" /&gt;&lt;/a&gt; Samples - JMX - Anagram Game Managed with JMX 선택 - 다음&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StsAreSLsiI/AAAAAAAAB8Q/OF_7H_r5eNw/s1600-h/jmx_manager_02.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 276px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5393905725570003490" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StsAreSLsiI/AAAAAAAAB8Q/OF_7H_r5eNw/s400/jmx_manager_02.jpg" /&gt;&lt;/a&gt; 이름 그대로 (기본) 경로 적당히 - 마침&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/StsArKgvlWI/AAAAAAAAB8I/E2dJPO_1Fto/s1600-h/jmx_manager_03.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 276px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5393905720262366562" border="0" alt="" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/StsArKgvlWI/AAAAAAAAB8I/E2dJPO_1Fto/s400/jmx_manager_03.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;원격 관리를 위한 원격 JMX Agent 를 위해서 프로젝트 소스 포맷은 반드시 1.5 이상이어야 합니다.&lt;br /&gt;프로젝트에서 오른쪽 마우스 클릭 - Properties 클릭 &lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StsAqi8Op8I/AAAAAAAAB8A/gvQRNTIs7sc/s1600-h/jmx_manager_04.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 320px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5393905709640230850" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StsAqi8Op8I/AAAAAAAAB8A/gvQRNTIs7sc/s400/jmx_manager_04.jpg" /&gt;&lt;/a&gt; Sources 카테고리 선택 후 오른쪽 아래 Source/Binary Format JDK는 5 이상으로 맞춥니다.&lt;br /&gt;OK&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StsAqDBxFxI/AAAAAAAAB74/ijxFNr5N4lM/s1600-h/jmx_manager_05.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 285px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5393905701073524498" border="0" alt="" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StsAqDBxFxI/AAAAAAAAB74/ijxFNr5N4lM/s400/jmx_manager_05.jpg" /&gt;&lt;/a&gt;카테고리에서 Monitoring and Management 를 선택하고 오른쪽의 Enable RMI Remote Access 를 체크합니다.&lt;br /&gt;원격 포트로 기본 포트인 1099를 그대로 선택합니다.&lt;br /&gt;OK&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/StsA9do6O6I/AAAAAAAAB9A/NtLbc80hAms/s1600-h/jmx_manager_06.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 285px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5393906034634537890" border="0" alt="" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/StsA9do6O6I/AAAAAAAAB9A/NtLbc80hAms/s400/jmx_manager_06.jpg" /&gt;&lt;/a&gt; "Run Main Project with Monitoring and Management 클릭&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/StsA8wws85I/AAAAAAAAB84/9cepsYLgULc/s1600-h/jmx_manager_07.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 320px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5393906022587626386" border="0" alt="" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/StsA8wws85I/AAAAAAAAB84/9cepsYLgULc/s400/jmx_manager_07.jpg" /&gt;&lt;/a&gt; 프로그램GUI가 제시되고 ,&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StsA8YoUePI/AAAAAAAAB8w/MXXAuP2ScK8/s1600-h/jmx_manager_08.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 369px; DISPLAY: block; HEIGHT: 229px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5393906016110016754" border="0" alt="" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StsA8YoUePI/AAAAAAAAB8w/MXXAuP2ScK8/s400/jmx_manager_08.jpg" /&gt;&lt;/a&gt; 이어 JConsole 이 표시됩니다.&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StsA75B_eyI/AAAAAAAAB8o/lAFWX3zMQPo/s1600-h/jmx_manager_09.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 333px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5393906007627758370" border="0" alt="" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StsA75B_eyI/AAAAAAAAB8o/lAFWX3zMQPo/s400/jmx_manager_09.jpg" /&gt;&lt;/a&gt; 이번에는 Manager Project 를 만들도록 하겠습니다.&lt;/p&gt;&lt;p&gt;File - new project&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/StsA7sN5H1I/AAAAAAAAB8g/3LSO1uLRjZg/s1600-h/jmx_manager_10.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 320px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5393906004188012370" border="0" alt="" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/StsA7sN5H1I/AAAAAAAAB8g/3LSO1uLRjZg/s400/jmx_manager_10.jpg" /&gt;&lt;/a&gt; Java - Java Application 선택&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StsBJrnmfgI/AAAAAAAAB9o/bf_RF8-hWUc/s1600-h/jmx_manager_11.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 276px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5393906244545576450" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StsBJrnmfgI/AAAAAAAAB9o/bf_RF8-hWUc/s400/jmx_manager_11.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;프로젝트 이름: JMXAnagramManager&lt;br /&gt;경로는 적당히&lt;br /&gt;메인 프로젝트로 설정 (Set as Main Project)는 체크되고&lt;br /&gt;create main class 는 해제합니다.&lt;br /&gt;마침&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StsBJZl73yI/AAAAAAAAB9g/RekWtIQU4Nc/s1600-h/jmx_manager_12.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 276px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5393906239706750754" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StsBJZl73yI/AAAAAAAAB9g/RekWtIQU4Nc/s400/jmx_manager_12.jpg" /&gt;&lt;/a&gt; 프로젝트에서 마우스 오른쪽 클릭 - new - other&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StsBJGnRuiI/AAAAAAAAB9Y/Gyeq0DqBJZ4/s1600-h/jmx_manager_13.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 320px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5393906234612103714" border="0" alt="" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StsBJGnRuiI/AAAAAAAAB9Y/Gyeq0DqBJZ4/s400/jmx_manager_13.jpg" /&gt;&lt;/a&gt; JMX - JMX Manager 선택 - 다음&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StsBImWDB5I/AAAAAAAAB9Q/21T3PYxwyog/s1600-h/jmx_manager_14.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 276px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5393906225949902738" border="0" alt="" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StsBImWDB5I/AAAAAAAAB9Q/21T3PYxwyog/s400/jmx_manager_14.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;클래스 이름: AnagramsManager&lt;br /&gt;패키지 이름: com.toy.anagrams.manager&lt;br /&gt;아래 3개모두 선택(기본)&lt;br /&gt;다음&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StsBIcfZKQI/AAAAAAAAB9I/SYi4srvOoJs/s1600-h/jmx_manager_15.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 276px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5393906223304747266" border="0" alt="" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StsBIcfZKQI/AAAAAAAAB9I/SYi4srvOoJs/s400/jmx_manager_15.jpg" /&gt;&lt;/a&gt; JMX Agent URL 의 Edit 버튼을 클릭하면 다음 그림과 같이 팝업창이 뜹니다.&lt;br /&gt;프로토콜로 RMI JVM Agent 선택 , 호스트 localhost , 1099 , URL 기본 대로&lt;br /&gt;OK&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StsBX_hXnmI/AAAAAAAAB-Q/KV67mZlzrY0/s1600-h/jmx_manager_16.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 276px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5393906490406313570" border="0" alt="" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StsBX_hXnmI/AAAAAAAAB-Q/KV67mZlzrY0/s400/jmx_manager_16.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;다음 JMX Agent URL 텍스트박스가 업데이트 됩니다.&lt;br /&gt;인증 연결 체크 - 인증을 위한 샘플 코드 자동 생성&lt;br /&gt;마침&lt;br /&gt;&lt;a href="http://www.libs.netbeans.org/images/articles/67/java/jmx/manager/create_manager7.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 735px; DISPLAY: block; HEIGHT: 515px; CURSOR: hand" border="0" alt="" src="http://www.libs.netbeans.org/images/articles/67/java/jmx/manager/create_manager7.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;AnagramsManager.java 파일에서 주석이 되어 있는 부분을 주석을 제거해서 풉니다.(참고)&lt;br /&gt;======================================================================&lt;br /&gt;public static void main(String[] args) throws Exception {&lt;br /&gt;&lt;br /&gt;//Manager instantiation and connection to the remote agent&lt;br /&gt;AnagramsManager manager = AnagramsManager.getDefault();&lt;br /&gt;&lt;br /&gt;// SAMPLE MBEAN NAME DISCOVERY. Uncomment following code:&lt;br /&gt;Set resultSet =&lt;br /&gt;manager.getMBeanServerConnection().queryNames(null, null);&lt;br /&gt;for(Iterator i = resultSet.iterator(); i.hasNext();) {&lt;br /&gt;System.out.println("MBean name: " + i.next());&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// Close connection&lt;br /&gt;manager.close();&lt;br /&gt;System.out.println("Connection closed.");&lt;br /&gt;}&lt;br /&gt;======================================================================&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StsBXkNSKyI/AAAAAAAAB-I/5hEpFr9DbSs/s1600-h/jmx_manager_17.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 320px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5393906483074312994" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StsBXkNSKyI/AAAAAAAAB-I/5hEpFr9DbSs/s400/jmx_manager_17.jpg" /&gt;&lt;/a&gt; import 문제 해결을 위해 fix import&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/StsBXJAbW_I/AAAAAAAAB-A/_jkJPBRNzA0/s1600-h/jmx_manager_18.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 320px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5393906475772632050" border="0" alt="" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/StsBXJAbW_I/AAAAAAAAB-A/_jkJPBRNzA0/s400/jmx_manager_18.jpg" /&gt;&lt;/a&gt; java.util.Set 과 java.util.Iterator 클래스 선택&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/StsBW6sgrKI/AAAAAAAAB94/KxRKrt7K7PQ/s1600-h/jmx_manager_19.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 194px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5393906471930997922" border="0" alt="" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/StsBW6sgrKI/AAAAAAAAB94/KxRKrt7K7PQ/s400/jmx_manager_19.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;메인 프로젝트 실행&lt;br /&gt;위의 메뉴바에 run- run main project&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/StsBWboeJNI/AAAAAAAAB9w/tjvizRrZAGc/s1600-h/jmx_manager_20.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 320px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5393906463592555730" border="0" alt="" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/StsBWboeJNI/AAAAAAAAB9w/tjvizRrZAGc/s400/jmx_manager_20.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/StsBhy8swFI/AAAAAAAAB-g/chcdUBfHhC4/s1600-h/jmx_manager_21.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 358px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5393906658829975634" border="0" alt="" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/StsBhy8swFI/AAAAAAAAB-g/chcdUBfHhC4/s400/jmx_manager_21.jpg" /&gt;&lt;/a&gt;매니저가 수행되며 원격 agent 연결, output 창에 MBean 이름 출력하고 커넥션을 닫게 됩니다.&lt;br /&gt;====================================================================== init:&lt;br /&gt;deps-jar:&lt;br /&gt;compile:&lt;br /&gt;run:&lt;br /&gt;MBean name: java.lang:type=MemoryManager,name=CodeCacheManager&lt;br /&gt;MBean name: java.lang:type=Compilation&lt;br /&gt;MBean name: java.lang:type=MemoryPool,name=PS Perm Gen&lt;br /&gt;MBean name: com.sun.management:type=HotSpotDiagnostic&lt;br /&gt;MBean name: java.lang:type=Runtime&lt;br /&gt;MBean name: com.toy.anagrams.mbeans:type=AnagramsStats&lt;br /&gt;MBean name: java.lang:type=ClassLoading&lt;br /&gt;MBean name: java.lang:type=Threading&lt;br /&gt;MBean name: java.lang:type=MemoryPool,name=PS Survivor Space&lt;br /&gt;MBean name: java.util.logging:type=Logging&lt;br /&gt;MBean name: java.lang:type=OperatingSystem&lt;br /&gt;MBean name: java.lang:type=Memory&lt;br /&gt;MBean name: java.lang:type=MemoryPool,name=Code Cache&lt;br /&gt;MBean name: java.lang:type=GarbageCollector,name=PS Scavenge&lt;br /&gt;MBean name: java.lang:type=MemoryPool,name=PS Eden Space&lt;br /&gt;MBean name: JMImplementation:type=MBeanServerDelegate&lt;br /&gt;MBean name: java.lang:type=GarbageCollector,name=PS MarkSweep&lt;br /&gt;MBean name: java.lang:type=MemoryPool,name=PS Old Gen&lt;br /&gt;Connection closed.&lt;br /&gt;BUILD SUCCESSFUL (total time: 1 second)&lt;br /&gt;======================================================================&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StsBhUMTfdI/AAAAAAAAB-Y/A5zGw9y7-0g/s1600-h/jmx_manager_22.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 320px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5393906650573929938" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StsBhUMTfdI/AAAAAAAAB-Y/A5zGw9y7-0g/s400/jmx_manager_22.jpg" /&gt;&lt;/a&gt; 수고하셨습니다. *^^*&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6811062799606447528-2902024538950494716?l=netbeans-korean.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Netbeans-koreanBy/~4/yzh5oysCba8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://netbeans-korean.blogspot.com/feeds/2902024538950494716/comments/default" title="게시물 덧글" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=6811062799606447528&amp;postID=2902024538950494716" title="0개의 덧글" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6811062799606447528/posts/default/2902024538950494716?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6811062799606447528/posts/default/2902024538950494716?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Netbeans-koreanBy/~3/yzh5oysCba8/67-jmx-jmx-agent.html" title="넷빈 6.7에서 JMX 매니저 개발 및 원격 JMX Agent 연결하기" /><author><name>강여사(J.Y.Kang)</name><uri>http://www.blogger.com/profile/17450510931308610527</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10873429884942954536" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StsAr22pcFI/AAAAAAAAB8Y/YmnEv3Qybkc/s72-c/jmx_manager_01.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://netbeans-korean.blogspot.com/2009/10/67-jmx-jmx-agent.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkQCRX48fCp7ImA9WxNWGEg.&quot;"><id>tag:blogger.com,1999:blog-6811062799606447528.post-5317715521720735026</id><published>2009-10-17T22:45:00.001-07:00</published><updated>2009-10-18T01:26:04.074-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-18T01:26:04.074-07:00</app:edited><title>넷빈즈 IDE 6.7 에서 자바 어플리케이션에 JMX Instrumentation 추가하기</title><content type="html">아래 게시물의 선수지식 등을 사용하여 JMX 기술 및 Instrumentation 등에 대해 공부하시기 바랍니다. ^^ 이번 게시물에서는 제목대로 자바 어플리케이션에다 사용자 정의 MBean 및 MBean 인터페이스, 속성, 오퍼레이션, 통지 등에 대해 생성, 구현, 설정 하고 테스트하는 방법에 대해 알아 보고자 합니다.&lt;br /&gt;&lt;br /&gt;우선 작업환경은 다음과 같습니다.&lt;br /&gt;&lt;br /&gt;넷빈즈 IDE 6.5/ 6.7 이상&lt;br /&gt;JDK 5 나 6 이상&lt;br /&gt;JMX 플러그인 - 설치 (넷빈즈 플러그인으로 설치 진행)&lt;br /&gt;JConsole 플러그인 - 설치 (넷빈즈 플러그인으로 설치 진행)&lt;br /&gt;-------------------------------------------------------&lt;br /&gt;플러그인 설치부터 진행합니다.&lt;br /&gt;&lt;br /&gt;도구 - 플러그인 클릭&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StqtTKgVLFI/AAAAAAAAB0g/Kp1dbym_c_A/s1600-h/jmx_install_01.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 320px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5393814048478669906" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StqtTKgVLFI/AAAAAAAAB0g/Kp1dbym_c_A/s400/jmx_install_01.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;범주를 클릭해서 Management 를 정렬하면 JConsole과 JMX 가 있습니다. 체크하고 아래쪽의 설치 버튼을 눌러 설치를 진행합니다.&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StrFK95WhsI/AAAAAAAAB1I/KEF8_D1hdaw/s1600-h/jmx_install_02.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 241px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5393840295934068418" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StrFK95WhsI/AAAAAAAAB1I/KEF8_D1hdaw/s400/jmx_install_02.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StrFKWdsZ-I/AAAAAAAAB1A/_B3MJRqZm38/s1600-h/jmx_install_03.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 357px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5393840285349079010" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StrFKWdsZ-I/AAAAAAAAB1A/_B3MJRqZm38/s400/jmx_install_03.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StrFJ1zLUwI/AAAAAAAAB04/_QN6kHF8ls4/s1600-h/jmx_install_04.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 357px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5393840276580815618" border="0" alt="" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StrFJ1zLUwI/AAAAAAAAB04/_QN6kHF8ls4/s400/jmx_install_04.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;이제 작업에 사용될 자바 어플리케이션을 만듭니다. (샘플 프로젝트 사용)&lt;br /&gt;file - new project&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StrLRXNp4XI/AAAAAAAAB7Y/5VPYl8wfCOo/s1600-h/jmx_instrumentation_01.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 320px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5393847002879091058" border="0" alt="" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StrLRXNp4XI/AAAAAAAAB7Y/5VPYl8wfCOo/s400/jmx_instrumentation_01.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;프로젝트의 Samples 카테고리의 Java - Anagram Game 이 있습니다. 선택하고 -다음&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StrFjBZV8KI/AAAAAAAAB1o/6Rqg4rERdWc/s1600-h/jmx_instrumentation_02.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 276px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5393840709190414498" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StrFjBZV8KI/AAAAAAAAB1o/6Rqg4rERdWc/s400/jmx_instrumentation_02.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;프로젝트 명은 그대로, 경로도 적당히 , 마침&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StrFi2acczI/AAAAAAAAB1g/wZMeFCus2H0/s1600-h/jmx_instrumentation_03.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 276px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5393840706242245426" border="0" alt="" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StrFi2acczI/AAAAAAAAB1g/wZMeFCus2H0/s400/jmx_instrumentation_03.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;프로젝트의 소스/포맷 레벨 조정 및 확인 등을 위해 프로젝트에서 마우스 오른쪽을 클릭 맨 아래 properties 클릭&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StrFiWiouDI/AAAAAAAAB1Y/B3aFBfOH62s/s1600-h/jmx_instrumentation_04.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 320px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5393840697686669362" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StrFiWiouDI/AAAAAAAAB1Y/B3aFBfOH62s/s400/jmx_instrumentation_04.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;Sources 카테고리를 누르면 JDK 포맷이 나타납니다(기본적으로 1.4 로 되어 있을 듯) 그럼 이를 JDK 5 이상으로(5나 6) 변경합니다. (이는 추후 JMX 기타 관련 작업을 위해서입니다 ) - OK&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StrFh-sKPPI/AAAAAAAAB1Q/mrf3abRQ0n8/s1600-h/jmx_instrumentation_05.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 285px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5393840691284163826" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StrFh-sKPPI/AAAAAAAAB1Q/mrf3abRQ0n8/s400/jmx_instrumentation_05.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;프로젝트에서 오른쪽 마우스를 눌러 새 파일을 만듭니다. 오른쪽 클릭 - new - other 선택&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StrFv-9gXDI/AAAAAAAAB2Y/ti9x8PQeZZE/s1600-h/jmx_instrumentation_06.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 320px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5393840931875085362" border="0" alt="" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StrFv-9gXDI/AAAAAAAAB2Y/ti9x8PQeZZE/s400/jmx_instrumentation_06.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;파일 유형에 JMX 카테고리를 선택하면 관련 파일 유형이 나오는데 이 중 Standard MBean 을 선택합니다. 아래 설명에도 있듯이 JMX 표준 MBean 을 생성하고자 합니다. - 다음&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StrFvRp4ZHI/AAAAAAAAB2Q/4RuLh-Bt1f4/s1600-h/jmx_instrumentation_07.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 276px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5393840919713178738" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StrFvRp4ZHI/AAAAAAAAB2Q/4RuLh-Bt1f4/s400/jmx_instrumentation_07.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;이름은 AnagramStats&lt;br /&gt;패키지는 com.toy.anagrams.mbeans&lt;br /&gt;설명(description)에는Monitoring and Management of the Anagrams Game&lt;br /&gt;마침&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StrFu8JD_oI/AAAAAAAAB2I/UiiNVONmhMc/s1600-h/jmx_instrumentation_08.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 276px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5393840913938382466" border="0" alt="" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StrFu8JD_oI/AAAAAAAAB2I/UiiNVONmhMc/s400/jmx_instrumentation_08.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;이제 이 MBean의 속성(attributes), 오퍼레이션(Operations), 통지(Notification) 등을 추가할 예정입니다.&lt;br /&gt;만들어진 AnagramStats.java 에서 오른쪽 마우스를 클릭 (아니면 편집기 창에서 오른쪽 마우스 클릭) 하면 JMX 메뉴가 있습니다. 다시 이안에 "Add MBean attibutes..." 메뉴가 있습니다. 클릭&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/StrFuhOuHkI/AAAAAAAAB2A/bQX8sUQ_VAE/s1600-h/jmx_instrumentation_09.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 320px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5393840906714357314" border="0" alt="" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/StrFuhOuHkI/AAAAAAAAB2A/bQX8sUQ_VAE/s400/jmx_instrumentation_09.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;팝업창에 다음의 내용을 반영합니다(각 텍스트필드 작성후 엔터키로 반영)&lt;br /&gt;일단 Add Attribute 버튼을 누르고 나타난 예제를 다음으로 변경합니다.&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StrFuKXrpAI/AAAAAAAAB14/EzqYa8z3bJY/s1600-h/jmx_instrumentation_10.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 300px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5393840900577928194" border="0" alt="" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StrFuKXrpAI/AAAAAAAAB14/EzqYa8z3bJY/s400/jmx_instrumentation_10.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;Attribute Name : LastThinkingTime&lt;br /&gt;Type: int&lt;br /&gt;Access: ReadOnly (드랍다운메뉴 선택)&lt;br /&gt;Description: Elapsed time to solve last anagram&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StrF9yOeC5I/AAAAAAAAB3A/y7lRyClR-MM/s1600-h/jmx_instrumentation_11.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 300px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5393841168974744466" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StrF9yOeC5I/AAAAAAAAB3A/y7lRyClR-MM/s400/jmx_instrumentation_11.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;다시 Add Attribute 버튼을 누르고 다음 내용 추가&lt;br /&gt;Attribute Name: NumSolvedAnagrams&lt;br /&gt;Type: int&lt;br /&gt;Access: ReadOnly&lt;br /&gt;Description: Number of solved anagrams&lt;br /&gt;OK&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StrF9qdMokI/AAAAAAAAB24/L09PegZO100/s1600-h/jmx_instrumentation_12.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 320px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5393841166889034306" border="0" alt="" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StrF9qdMokI/AAAAAAAAB24/L09PegZO100/s400/jmx_instrumentation_12.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;OK 를 누르면 이렇게 해서 만들어진 소스 코드를 볼 수 있습니다. 다시 나머지 3개의 변수 추가를 위해 같은 작업을 합니다.&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StrF9O1Hf_I/AAAAAAAAB2w/WE-I95bUQb0/s1600-h/jmx_instrumentation_13.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 320px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5393841159473168370" border="0" alt="" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StrF9O1Hf_I/AAAAAAAAB2w/WE-I95bUQb0/s400/jmx_instrumentation_13.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;변수 이름 유형 액세스 설명&lt;br /&gt;MinThinkingTime int ReadOnly Minimum elapsed time to solve an anagram&lt;br /&gt;MaxThinkingTime int ReadOnly Maximum elapsed time to solve an anagram&lt;br /&gt;CurrentAnagram String ReadOnly Current anagram to solve&lt;br /&gt;OK&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/StrF891NT-I/AAAAAAAAB2o/tjSnBuiWwxg/s1600-h/jmx_instrumentation_14.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 300px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5393841154910146530" border="0" alt="" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/StrF891NT-I/AAAAAAAAB2o/tjSnBuiWwxg/s400/jmx_instrumentation_14.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;이번에는 MBean 오퍼레이션을 추가하도록 하겠습니다.&lt;br /&gt;역시 AnagramStats.java 에서 마우스 오른쪽클릭- JMX - Add Mbean Operation... 선택&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StrF8VA-3GI/AAAAAAAAB2g/dYlXMBkSJpM/s1600-h/jmx_instrumentation_15.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 320px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5393841143953677410" border="0" alt="" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StrF8VA-3GI/AAAAAAAAB2g/dYlXMBkSJpM/s400/jmx_instrumentation_15.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;add operation 버튼을 클릭하여 샘플예시를 다음으로 변경합니다.&lt;br /&gt;Operation Name: resetAll&lt;br /&gt;Return Type: void&lt;br /&gt;Parameters: (leave empty)&lt;br /&gt;Exceptions: (leave empty)&lt;br /&gt;Description: Reset MBean state&lt;br /&gt;OK&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StrGMuN1AiI/AAAAAAAAB3o/PCFYP3Rh1bE/s1600-h/jmx_instrumentation_16.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 300px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5393841425596351010" border="0" alt="" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StrGMuN1AiI/AAAAAAAAB3o/PCFYP3Rh1bE/s400/jmx_instrumentation_16.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;이번에는 이벤트 발생시 통지를 위한 Notification 인터페이스 구현 작업을 하겠습니다.&lt;br /&gt;AnagramsStats.java 에서 다시 마우스 오른쪽 클릭 - JMX - "Implement NotificationEmitter interface..." 선택&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StrGMfuk5SI/AAAAAAAAB3g/rZaP8UjDnLY/s1600-h/jmx_instrumentation_17.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 320px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5393841421707175202" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StrGMfuk5SI/AAAAAAAAB3g/rZaP8UjDnLY/s400/jmx_instrumentation_17.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;위의 2개 모두를 선택하고 (자동생성)&lt;br /&gt;아래 통지에는 다음과 같이 작업합니다.&lt;br /&gt;Notification Class :(드랍다운메뉴에서 선택) javax.management.AttributeChangeNotification&lt;br /&gt;Notification Type: (자동선택됨) ATTRIBUTE_CHANGE)&lt;br /&gt;Description: Anagram is Solved&lt;br /&gt;OK&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StrGLmhYNbI/AAAAAAAAB3Y/5J-yyncuagA/s1600-h/jmx_instrumentation_18.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 232px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5393841406350996914" border="0" alt="" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StrGLmhYNbI/AAAAAAAAB3Y/5J-yyncuagA/s400/jmx_instrumentation_18.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;만들어진 코드 확인&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StrGLAcSfhI/AAAAAAAAB3Q/M7qHIl2G5JA/s1600-h/jmx_instrumentation_19.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 320px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5393841396129103378" border="0" alt="" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StrGLAcSfhI/AAAAAAAAB3Q/M7qHIl2G5JA/s400/jmx_instrumentation_19.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;이번에는 오퍼레이션의 내용을 채우겠습니다. 작성된 모두를 초기화하도록 다음 코드를 resetAll() 안에 붙여 넣습니다. (굵은 글씨 참고)&lt;br /&gt;=========================================&lt;br /&gt;public void resetAll() {&lt;br /&gt;minThinkingTime = 0;&lt;br /&gt;maxThinkingTime = 0;&lt;br /&gt;lastThinkingTime = 0;&lt;br /&gt;numSolvedAnagrams = 0;&lt;br /&gt;}&lt;br /&gt;=========================================&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StrGK4gsHJI/AAAAAAAAB3I/vJwVJYPo_Z8/s1600-h/jmx_instrumentation_20.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 320px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5393841394000075922" border="0" alt="" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StrGK4gsHJI/AAAAAAAAB3I/vJwVJYPo_Z8/s400/jmx_instrumentation_20.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;이제 몇몇 구현 코드를 추가합니다. 구현 코드 내용은 사용자가 문제를 풀기위해 얼마나 걸렸는지 thinking 시간을 계산하고, 푼 문제 갯수를 증가시키고, 문제를 풀때 통지를 만들어 보내는 등에 대한 내용입니다. 다음 코드를 AnagramStats.java 에 붙여넣습니다.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;===============================================================================&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/*&lt;br /&gt;* Methods exposed to Anagrams application to feed management with data.&lt;br /&gt;*/&lt;br /&gt;&lt;br /&gt;//Stores the time at which a new anagram is proposed to the user.&lt;br /&gt;private long startTime;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* A new Anagram is proposed to the user: store current time.&lt;br /&gt;*/&lt;br /&gt;public void startThinking() {&lt;br /&gt;startTime = System.currentTimeMillis();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* An Anagram has been resolved.&lt;br /&gt;*/&lt;br /&gt;public void stopThinking() {&lt;br /&gt;&lt;br /&gt;//Update the number of resolved anagrams&lt;br /&gt;numSolvedAnagrams++;&lt;br /&gt;&lt;br /&gt;// Compute last, min and max thinking times&lt;br /&gt;lastThinkingTime = (int) (System.currentTimeMillis() - startTime) / 1000 ;&lt;br /&gt;minThinkingTime = (lastThinkingTime &amp;lt; minThinkingTime minThinkingTime == 0) ?&lt;br /&gt;lastThinkingTime :&lt;br /&gt;minThinkingTime;&lt;br /&gt;maxThinkingTime = (lastThinkingTime &amp;gt; maxThinkingTime) ?&lt;br /&gt;lastThinkingTime :&lt;br /&gt;maxThinkingTime;&lt;br /&gt;&lt;br /&gt;//Create a JMX Notification&lt;br /&gt;Notification notification = new Notification(AttributeChangeNotification.ATTRIBUTE_CHANGE,&lt;br /&gt;this,&lt;br /&gt;getNextSeqNumber(),&lt;br /&gt;"Anagram solved: " + currentAnagram);&lt;br /&gt;&lt;br /&gt;// Send a JMX notification.&lt;br /&gt;broadcaster.sendNotification(notification);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* Set latest anagram which has been computed by the Anagram application&lt;br /&gt;*/&lt;br /&gt;public void setCurrentAnagram(String currentAnagram) {&lt;br /&gt;this.currentAnagram = currentAnagram;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;===============================================================================&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StrGn2zTxKI/AAAAAAAAB4Q/z01mvils17A/s1600-h/jmx_instrumentation_21.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 320px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5393841891757507746" border="0" alt="" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StrGn2zTxKI/AAAAAAAAB4Q/z01mvils17A/s400/jmx_instrumentation_21.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;이제 운영과 어플리케이션을 연결하기 위해 GUI 로 쓰인 Anagrams.java 를 엽니다.(com.toy.anagrams.ui 안에 있습니다)&lt;br /&gt;&lt;br /&gt;여기에 다음 코드를 추가합니다.&lt;br /&gt;------------------------------------------------------------------------------&lt;br /&gt;/**&lt;br /&gt;* JMX initialization:&lt;br /&gt;* Create and register Anagrams MBean in Platform MBeanServer.&lt;br /&gt;* Initialize thinking time and current anagram.&lt;br /&gt;*/&lt;br /&gt;private void initManagement() throws Exception {&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;------------------------------------------------------------------------------&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StrGnZxN51I/AAAAAAAAB4I/lXeBA_LaVBc/s1600-h/jmx_instrumentation_22.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 320px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5393841883964106578" border="0" alt="" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StrGnZxN51I/AAAAAAAAB4I/lXeBA_LaVBc/s400/jmx_instrumentation_22.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;그런 다음 이 메소드를 생성자의 마지막에 호출합니다. (그림 참고)&lt;br /&gt;==================================================================&lt;br /&gt;//JMX Management initialization&lt;br /&gt;initManagement();&lt;br /&gt;==================================================================&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StrGm7qnOiI/AAAAAAAAB4A/7fRGv0qlNdQ/s1600-h/jmx_instrumentation_23.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 320px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5393841875883342370" border="0" alt="" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StrGm7qnOiI/AAAAAAAAB4A/7fRGv0qlNdQ/s400/jmx_instrumentation_23.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;이 작업을 하면 2군데 Exception 관련 오류가 납니다.&lt;br /&gt;왼쪽의 빨강전구표시를 눌러 add throws Exception 으로 둘다 처리합니다.&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/StrGmqP-44I/AAAAAAAAB34/8uZcrkGFzBE/s1600-h/jmx_instrumentation_24.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 320px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5393841871208244098" border="0" alt="" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/StrGmqP-44I/AAAAAAAAB34/8uZcrkGFzBE/s400/jmx_instrumentation_24.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;그럼 이제 initManagement() 메소드 안에 MBean 등록 코드를 추가하기 위해 다음과 같이 마법사를 사용합니다. 일단 initManagement() 메소드 안에서 오른쪽 마우스를 클릭하고 JMX - "Generate MBean Registration..." 를 선택합니다.&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StrGmIylBmI/AAAAAAAAB3w/sjOgx7qJYPM/s1600-h/jmx_instrumentation_25.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 320px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5393841862226544226" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StrGmIylBmI/AAAAAAAAB3w/sjOgx7qJYPM/s400/jmx_instrumentation_25.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;그럼 팝업창이 뜹니다. 여기서&lt;br /&gt;Register Existing MBean 을 선택하고 브라우저 버튼을 눌러 AnagramStats 를 선택합니다.&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StrG4jHrB_I/AAAAAAAAB44/aoW4RzLkjpo/s1600-h/jmx_instrumentation_26.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 320px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5393842178531985394" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StrG4jHrB_I/AAAAAAAAB44/aoW4RzLkjpo/s400/jmx_instrumentation_26.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;다음 내용이 자동 작업됩니다. (기본대로)&lt;br /&gt;OK&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StrG4NjCJaI/AAAAAAAAB4w/kwswtrsUrAg/s1600-h/jmx_instrumentation_27.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 271px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5393842172741166498" border="0" alt="" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StrG4NjCJaI/AAAAAAAAB4w/kwswtrsUrAg/s400/jmx_instrumentation_27.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;생성된 코드에서 다음 내용을 추가합니다. 클래스 아래에 다음 변수를 추가&lt;br /&gt;=========================================================================&lt;br /&gt;// Reference to the AnagramsStats MBean&lt;br /&gt;private AnagramsStats mbean;&lt;br /&gt;=========================================================================&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StrG3SbtyoI/AAAAAAAAB4g/u3owNPISib4/s1600-h/jmx_instrumentation_29.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 320px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5393842156872780418" border="0" alt="" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StrG3SbtyoI/AAAAAAAAB4g/u3owNPISib4/s400/jmx_instrumentation_29.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;그런 다음 아래 메소드 안에 생성과 생성된 인스턴스 사용을 위해 소스를 추가, 수정합니다. (굵은 글씨 참고)&lt;br /&gt;=============================================================================&lt;br /&gt;private void initManagement() throws Exception {&lt;br /&gt;try { // Register MBean in Platform MBeanServer&lt;br /&gt;mbean = new AnagramsStats();&lt;br /&gt;ManagementFactory.getPlatformMBeanServer().&lt;br /&gt;registerMBean(mbean, new ObjectName("com.toy.anagrams.mbeans:type=AnagramsStats"));&lt;br /&gt;} catch (JMException ex) {&lt;br /&gt;ex.printStackTrace();&lt;br /&gt;}&lt;br /&gt;=============================================================================&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StrG2y9-krI/AAAAAAAAB4Y/QM-tT8uUxBQ/s1600-h/jmx_instrumentation_30.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 320px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5393842148426551986" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StrG2y9-krI/AAAAAAAAB4Y/QM-tT8uUxBQ/s400/jmx_instrumentation_30.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/StrIFYP7h5I/AAAAAAAAB6g/7Eh-MWdKm64/s1600-h/jmx_instrumentation_43_%EC%88%98%EC%A0%95.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 320px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5393843498463758226" border="0" alt="" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/StrIFYP7h5I/AAAAAAAAB6g/7Eh-MWdKm64/s400/jmx_instrumentation_43_%EC%88%98%EC%A0%95.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;그런 다음 메소드 아래에 다음 내용 추가&lt;br /&gt;=============================================================================&lt;br /&gt;// When the Anagrams game is first displayed, a word is proposed to the user.&lt;br /&gt;// We must start time computing and set the current anagram&lt;br /&gt;mbean.startThinking();&lt;br /&gt;mbean.setCurrentAnagram(wordLibrary.getScrambledWord(wordIdx));&lt;br /&gt;=============================================================================&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StrHnLJZwxI/AAAAAAAAB6Q/tPPtlx38SMs/s1600-h/jmx_instrumentation_31.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 320px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5393842979550642962" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StrHnLJZwxI/AAAAAAAAB6Q/tPPtlx38SMs/s400/jmx_instrumentation_31.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;그런 다음 nextTrialActionPerformed() 메소드에 다음 내용을 추가합니다.&lt;br /&gt;========================================================================&lt;br /&gt;//Update management statistics and values&lt;br /&gt;try {&lt;br /&gt;mbean.setCurrentAnagram(wordLibrary.getScrambledWord(wordIdx));&lt;br /&gt;mbean.startThinking();&lt;br /&gt;} catch (Exception e) {&lt;br /&gt;e.printStackTrace();&lt;br /&gt;}&lt;br /&gt;========================================================================&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/StrHmrSG1JI/AAAAAAAAB6I/5HoqyrhzY8M/s1600-h/jmx_instrumentation_32.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 320px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5393842970997216402" border="0" alt="" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/StrHmrSG1JI/AAAAAAAAB6I/5HoqyrhzY8M/s400/jmx_instrumentation_32.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;이번에는 guessedWordActionPerformed() 메소드의 if 문 안에 다음 내용을 추가합니다. (그림 참조)&lt;br /&gt;==============================================================================&lt;br /&gt;//Update management stats&lt;br /&gt;try {&lt;br /&gt;mbean.stopThinking();&lt;br /&gt;} catch(Exception e) {&lt;br /&gt;e.printStackTrace();&lt;br /&gt;}&lt;br /&gt;==============================================================================&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StrHmMFd5OI/AAAAAAAAB6A/DTeip9DhTK4/s1600-h/jmx_instrumentation_33.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 320px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5393842962622702818" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StrHmMFd5OI/AAAAAAAAB6A/DTeip9DhTK4/s400/jmx_instrumentation_33.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;모두를 저장하고 이제 JConsole과 함께 프로그램을 실행해보도록 하겠습니다.&lt;br /&gt;위의 메뉴바에 보면(도움말 아래) "Run Main Project with Monitoring and Management..." 버튼이 있습니다. 이 아이콘을 누릅니다.&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/StrHl9vtXFI/AAAAAAAAB54/NqGag8-Qhi0/s1600-h/jmx_instrumentation_34.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 320px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5393842958773345362" border="0" alt="" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/StrHl9vtXFI/AAAAAAAAB54/NqGag8-Qhi0/s400/jmx_instrumentation_34.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;build.xml 업데이트에 대한 대화상자가 나타납니다. OK&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StrHlVwat3I/AAAAAAAAB5w/JScR8j6vfFA/s1600-h/jmx_instrumentation_35.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 158px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5393842948038899570" border="0" alt="" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StrHlVwat3I/AAAAAAAAB5w/JScR8j6vfFA/s400/jmx_instrumentation_35.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;차례로 어플리케이션 GUI 와 JConsole 이 나타납니다.&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StrHVRwJxxI/AAAAAAAAB5o/vPuHgx4y4rU/s1600-h/jmx_instrumentation_36.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 369px; DISPLAY: block; HEIGHT: 229px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5393842672086140690" border="0" alt="" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StrHVRwJxxI/AAAAAAAAB5o/vPuHgx4y4rU/s400/jmx_instrumentation_36.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StrHU-bvxnI/AAAAAAAAB5g/oi-21qW1fr4/s1600-h/jmx_instrumentation_37.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 333px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5393842666900276850" border="0" alt="" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StrHU-bvxnI/AAAAAAAAB5g/oi-21qW1fr4/s400/jmx_instrumentation_37.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;JConsole 에 MBean 탭을 누르고, 왼쪽 트리에서 com.toy.anagram.mbeans 를 누르면 작성한 내용이 보입니다. (AnagramsStats)&lt;br /&gt;속성 (attributes) / 오퍼레이션 (operations) / 통지 (notification)에 대해 확인&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/StrHUmOuiAI/AAAAAAAAB5Y/ngrLYkZKKso/s1600-h/jmx_instrumentation_38.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 333px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5393842660403218434" border="0" alt="" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/StrHUmOuiAI/AAAAAAAAB5Y/ngrLYkZKKso/s400/jmx_instrumentation_38.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;그럼 통지 (Notification)노드를 선택하고 오른쪽에 보면 Subscribe 버튼이 있습니다. 이벤트 발생시(문제를 풀었을 때마다) 통지를 받겠다는 이야기입니다.&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StrHUHPdwnI/AAAAAAAAB5Q/Vg7B2DGNn_g/s1600-h/jmx_instrumentation_39.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 333px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5393842652084814450" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StrHUHPdwnI/AAAAAAAAB5Q/Vg7B2DGNn_g/s400/jmx_instrumentation_39.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;GUI 로 돌아가 문제를 풉니다. (abstraction, ambiguous, arithmetic, backslash, ...)&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/StrHT7D18NI/AAAAAAAAB5I/FDodC8xDpYY/s1600-h/jmx_instrumentation_40.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 369px; DISPLAY: block; HEIGHT: 229px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5393842648814842066" border="0" alt="" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/StrHT7D18NI/AAAAAAAAB5I/FDodC8xDpYY/s400/jmx_instrumentation_40.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StrIGrbITHI/AAAAAAAAB64/dN6rOW0z77Y/s1600-h/jmx_instrumentation_41.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 369px; DISPLAY: block; HEIGHT: 229px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5393843520790875250" border="0" alt="" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StrIGrbITHI/AAAAAAAAB64/dN6rOW0z77Y/s400/jmx_instrumentation_41.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StrIGAFlCSI/AAAAAAAAB6w/7g_VDutskwo/s1600-h/jmx_instrumentation_42.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 369px; DISPLAY: block; HEIGHT: 229px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5393843509157759266" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StrIGAFlCSI/AAAAAAAAB6w/7g_VDutskwo/s400/jmx_instrumentation_42.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StrIFsYLzrI/AAAAAAAAB6o/S_halbPcSXk/s1600-h/jmx_instrumentation_43.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 369px; DISPLAY: block; HEIGHT: 229px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5393843503867088562" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StrIFsYLzrI/AAAAAAAAB6o/S_halbPcSXk/s400/jmx_instrumentation_43.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;문제를 풀때마다 통지가 수신됩니다.&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StrIE_Yzt-I/AAAAAAAAB6Y/crNh6Ycvwmo/s1600-h/jmx_instrumentation_44.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 333px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5393843491790108642" border="0" alt="" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StrIE_Yzt-I/AAAAAAAAB6Y/crNh6Ycvwmo/s400/jmx_instrumentation_44.jpg" /&gt;&lt;/a&gt; Attributes(속성) 노드를 눌러 업데이트된 내용을 살펴볼 수 있습니다.&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StrQuVNkuJI/AAAAAAAAB7w/K_lOZ1vJmCk/s1600-h/jmx_instrumentation_45.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 333px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5393852998116227218" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StrQuVNkuJI/AAAAAAAAB7w/K_lOZ1vJmCk/s400/jmx_instrumentation_45.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;점검이 다 끝나면 저장된 내용을 삭제하는 오퍼레이션에 대해 호출해봅니다. &lt;br /&gt;Operations - resetAll 버튼 클릭 &lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StrQt28oygI/AAAAAAAAB7o/ScY9Ul80IP4/s1600-h/jmx_instrumentation_46.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 333px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5393852989992126978" border="0" alt="" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StrQt28oygI/AAAAAAAAB7o/ScY9Ul80IP4/s400/jmx_instrumentation_46.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;메소드가 정상적으로 호출되었다는 팝업창이 뜨면서 해당 값들이 초기화되었음을 알 수 있습니다.&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StrQtqPXyLI/AAAAAAAAB7g/B557LCmpgCg/s1600-h/jmx_instrumentation_47.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 333px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5393852986581043378" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StrQtqPXyLI/AAAAAAAAB7g/B557LCmpgCg/s400/jmx_instrumentation_47.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;이상이 자바 어플리케이션에 JMX 조정을 사용해본 예제였습니다.&lt;br /&gt;&lt;br /&gt;다음 게시물은 JMX Manager 어플리케이션에 대해 알아 보겠습니다.&lt;br /&gt;&lt;br /&gt;수고하셨습니다. ^^&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6811062799606447528-5317715521720735026?l=netbeans-korean.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Netbeans-koreanBy/~4/2Gg0xBTWGYw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://netbeans-korean.blogspot.com/feeds/5317715521720735026/comments/default" title="게시물 덧글" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=6811062799606447528&amp;postID=5317715521720735026" title="0개의 덧글" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6811062799606447528/posts/default/5317715521720735026?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6811062799606447528/posts/default/5317715521720735026?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Netbeans-koreanBy/~3/2Gg0xBTWGYw/ide-67-jmx-instrumentation.html" title="넷빈즈 IDE 6.7 에서 자바 어플리케이션에 JMX Instrumentation 추가하기" /><author><name>강여사(J.Y.Kang)</name><uri>http://www.blogger.com/profile/17450510931308610527</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10873429884942954536" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StqtTKgVLFI/AAAAAAAAB0g/Kp1dbym_c_A/s72-c/jmx_install_01.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://netbeans-korean.blogspot.com/2009/10/ide-67-jmx-instrumentation.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0ACRHwyfSp7ImA9WxNWFkQ.&quot;"><id>tag:blogger.com,1999:blog-6811062799606447528.post-7469338572144967151</id><published>2009-10-16T05:15:00.001-07:00</published><updated>2009-10-16T05:22:45.295-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-16T05:22:45.295-07:00</app:edited><title>넷빈 6.7.1 의 새 변경사항 (release notes) 정리</title><content type="html">&lt;span xmlns=''&gt;&lt;span style='font-family:맑은 고딕'&gt;=======================================================&lt;br /&gt;&lt;/span&gt;&lt;span style='font-family:맑은 고딕; font-size:14pt'&gt;&lt;strong&gt;6.7.1에 새 변경사항:&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style='font-family:맑은 고딕'&gt;=======================================================&lt;br /&gt;&lt;/span&gt;&lt;span style='font-family:맑은 고딕; font-size:12pt'&gt;&lt;strong&gt;6.7과 비교&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style='font-family:맑은 고딕'&gt;-------------------------------------------------------&lt;br /&gt;&lt;/span&gt;&lt;span style='font-family:맑은 고딕'&gt;JavaFX SDK 1.2 포함&lt;br /&gt;&lt;/span&gt;&lt;span style='font-family:맑은 고딕'&gt;넷빈 6.7에 잘 알려진 버그 수정&lt;br /&gt;&lt;/span&gt;&lt;br /&gt; &lt;span style='font-family:맑은 고딕; font-size:12pt'&gt;&lt;strong&gt;6.5.1와 비교&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style='font-family:맑은 고딕'&gt;-------------------------------------------------------&lt;br /&gt;&lt;/span&gt;&lt;ul style='margin-left: 40pt'&gt;&lt;li&gt;&lt;span style='font-family:맑은 고딕'&gt;POM과 J2EE 지원뿐 아니라 플러그인 및 웹 서비스 생성을 위한 Maven 지원&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style='font-family:맑은 고딕'&gt;IDE안에서 Kenai 주관 프로젝트 생성 편집 가능한 Kenai 통합&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style='font-family:맑은 고딕'&gt;Selenium 지원 및 SQL 코드 완성을 포함한 PHP 향상&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style='font-family:맑은 고딕'&gt;프로파일링, Qt 라이브러리, 코드 리팩토링 및 매크로 확장을 위한 C++ 지원&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style='font-family:맑은 고딕'&gt;응용 프로그램에 웹 APIs consumption을 가능케하는 웹 API Gateway 플러그인&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style='font-family:맑은 고딕'&gt;Java ME SDK 3.0 번들에 CDC 프로젝트를 위한 Java ME 지원&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt; &lt;span style='font-family:맑은 고딕'&gt;=======================================================&lt;br /&gt;&lt;/span&gt;&lt;span style='font-family:맑은 고딕; font-size:14pt'&gt;&lt;strong&gt;지원 기술&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style='font-family:맑은 고딕'&gt;=======================================================&lt;br /&gt;&lt;/span&gt;&lt;span style='font-family:맑은 고딕; font-size:12pt'&gt;&lt;strong&gt;지원 기술들:&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style='font-family:맑은 고딕'&gt;-------------------------------------------------------&lt;br /&gt;&lt;/span&gt;&lt;ul style='margin-left: 40pt'&gt;&lt;li&gt;&lt;span style='font-family:맑은 고딕'&gt;Java EE 5 and J2EE 1.4&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style='font-family:맑은 고딕'&gt;JavaFX 1.2&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style='font-family:맑은 고딕'&gt;Java ME SDK 3.0&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style='font-family:맑은 고딕'&gt;Struts 1.2.9&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style='font-family:맑은 고딕'&gt;Spring 2.5&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style='font-family:맑은 고딕'&gt;Hibernate 3.2.5&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style='font-family:맑은 고딕'&gt;Java API for RESTful Web Services (JAX-RS) 1.0&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style='font-family:맑은 고딕'&gt;Java API for XML-based RPC (JAX-RPC) 1.6&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style='font-family:맑은 고딕'&gt;PHP 5.2&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style='font-family:맑은 고딕'&gt;Ruby 1.8&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style='font-family:맑은 고딕'&gt;JRuby 1.2&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style='font-family:맑은 고딕'&gt;Rails 2.1&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style='font-family:맑은 고딕'&gt;Groovy 1.5&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style='font-family:맑은 고딕'&gt;Grails 1.1&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style='font-family:맑은 고딕'&gt;VCS&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style='font-family:맑은 고딕'&gt;CVS: 1.11.x, 1.12.x&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style='font-family:맑은 고딕'&gt;Subversion: 1.3.x, 1.4.x, 1.5.x&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style='font-family:맑은 고딕'&gt;Mercurial: 1.x&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style='font-family:맑은 고딕'&gt;ClearCase V7.0&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt; &lt;span style='font-family:맑은 고딕; font-size:12pt'&gt;&lt;strong&gt;테스트된 어플리케이션 서버들:&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style='font-family:맑은 고딕'&gt;-------------------------------------------------------&lt;br /&gt;&lt;/span&gt;&lt;ul style='margin-left: 40pt'&gt;&lt;li&gt;&lt;span style='font-family:맑은 고딕'&gt;Sun Java System Application Server 9.0 (GlassFish V1)&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style='font-family:맑은 고딕'&gt;Sun GlassFish Enterprise Server v2.1 (GlassFish V2.1)&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style='font-family:맑은 고딕'&gt;Sun GlassFish Enterprise Server v3 Prelude&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style='font-family:맑은 고딕'&gt;Sun Java System Application Server PE 8.2&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style='font-family:맑은 고딕'&gt;Tomcat 5.5&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style='font-family:맑은 고딕'&gt;Tomcat 6.0.18&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt; &lt;span style='font-family:맑은 고딕'&gt;(글래스피시 어플리케이션 서버 사용시에는 썬 글래스피시 엔터프라이즈 서버 v2.1 사용 권장)&lt;br /&gt;&lt;/span&gt;&lt;br /&gt; &lt;span style='font-family:맑은 고딕'&gt;=======================================================&lt;br /&gt;&lt;/span&gt;&lt;span style='font-family:맑은 고딕; font-size:14pt'&gt;&lt;strong&gt;시스템 요구사항&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style='font-family:맑은 고딕'&gt;=======================================================&lt;br /&gt;&lt;/span&gt;&lt;span style='font-family:맑은 고딕; font-size:12pt'&gt;&lt;strong&gt;최소 하드웨어 설정&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style='font-family:맑은 고딕'&gt;-------------------------------------------------------&lt;br /&gt;&lt;/span&gt;&lt;span style='font-family:맑은 고딕'&gt;Microsoft Windows XP Professional SP3:&lt;br /&gt;&lt;/span&gt;&lt;span style='font-family:맑은 고딕'&gt;Processor: 800MHz Intel Pentium III or equivalent&lt;br /&gt;&lt;/span&gt;&lt;span style='font-family:맑은 고딕'&gt;Memory: 512 MB&lt;br /&gt;&lt;/span&gt;&lt;span style='font-family:맑은 고딕'&gt;Disk space: 750 MB of free disk space&lt;br /&gt;&lt;/span&gt;&lt;br /&gt; &lt;span style='font-family:맑은 고딕'&gt;Microsoft Windows Vista:&lt;br /&gt;&lt;/span&gt;&lt;span style='font-family:맑은 고딕'&gt;Processor: 800MHz Intel Pentium III or equivalent&lt;br /&gt;&lt;/span&gt;&lt;span style='font-family:맑은 고딕'&gt;Memory: 512 MB&lt;br /&gt;&lt;/span&gt;&lt;span style='font-family:맑은 고딕'&gt;Disk space: 750 MB of free disk space&lt;br /&gt;&lt;/span&gt;&lt;br /&gt; &lt;span style='font-family:맑은 고딕'&gt;Ubuntu 9.04:&lt;br /&gt;&lt;/span&gt;&lt;span style='font-family:맑은 고딕'&gt;Processor: 800MHz Intel Pentium III or equivalent&lt;br /&gt;&lt;/span&gt;&lt;span style='font-family:맑은 고딕'&gt;Memory: 512 MB&lt;br /&gt;&lt;/span&gt;&lt;span style='font-family:맑은 고딕'&gt;Disk space: 650 MB of free disk space&lt;br /&gt;&lt;/span&gt;&lt;br /&gt; &lt;span style='font-family:맑은 고딕'&gt;Solaris OS version 10 (SPARC):&lt;br /&gt;&lt;/span&gt;&lt;span style='font-family:맑은 고딕'&gt;Processor: UltraSPARC II 450 MHz&lt;br /&gt;&lt;/span&gt;&lt;span style='font-family:맑은 고딕'&gt;Memory: 512 MB&lt;br /&gt;&lt;/span&gt;&lt;span style='font-family:맑은 고딕'&gt;Disk space: 650 MB of free disk space&lt;br /&gt;&lt;/span&gt;&lt;br /&gt; &lt;span style='font-family:맑은 고딕'&gt;Solaris OS version 10 (x86/x64 Platform Edition):&lt;br /&gt;&lt;/span&gt;&lt;span style='font-family:맑은 고딕'&gt;Processor: AMD Opteron 1200 Series 1.8 GHz&lt;br /&gt;&lt;/span&gt;&lt;span style='font-family:맑은 고딕'&gt;Memory: 512 MB&lt;br /&gt;&lt;/span&gt;&lt;span style='font-family:맑은 고딕'&gt;Disk space: 650 MB of free disk space&lt;br /&gt;&lt;/span&gt;&lt;br /&gt; &lt;span style='font-family:맑은 고딕'&gt;Macintosh OS X 10.5 Intel:&lt;br /&gt;&lt;/span&gt;&lt;span style='font-family:맑은 고딕'&gt;Processor: Dual-Core Intel&lt;br /&gt;&lt;/span&gt;&lt;span style='font-family:맑은 고딕'&gt;Memory: 512 MB&lt;br /&gt;&lt;/span&gt;&lt;span style='font-family:맑은 고딕'&gt;Disk space: 650 MB of free disk space&lt;br /&gt;&lt;/span&gt;&lt;br /&gt; &lt;span style='font-family:맑은 고딕'&gt;Macintosh OS X 10.5 PPC:&lt;br /&gt;&lt;/span&gt;&lt;span style='font-family:맑은 고딕'&gt;Processor: PowerPC G4&lt;br /&gt;&lt;/span&gt;&lt;span style='font-family:맑은 고딕'&gt;Memory: 512 MB&lt;br /&gt;&lt;/span&gt;&lt;span style='font-family:맑은 고딕'&gt;Disk space: 650 MB of free disk space&lt;br /&gt;&lt;/span&gt;&lt;br /&gt; &lt;span style='font-family:맑은 고딕'&gt;For more information, see &amp;lt;a href="http://www.netbeans.org/kb/articles/mac.html"&amp;gt;Using NetBeans on Mac OS X&amp;lt;/a&amp;gt;.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &lt;span style='font-family:맑은 고딕; font-size:14pt'&gt;&lt;strong&gt;권장 하드웨어 설정&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style='font-family:맑은 고딕'&gt;-------------------------------------------------------&lt;br /&gt;&lt;/span&gt;&lt;span style='font-family:맑은 고딕'&gt;Microsoft Windows XP Professional SP3:&lt;br /&gt;&lt;/span&gt;&lt;span style='font-family:맑은 고딕'&gt;Processor: 2.6 GHz Intel Pentium IV or equivalent&lt;br /&gt;&lt;/span&gt;&lt;span style='font-family:맑은 고딕'&gt;Memory: 2 GB&lt;br /&gt;&lt;/span&gt;&lt;span style='font-family:맑은 고딕'&gt;Disk space: 1 GB of free disk space&lt;br /&gt;&lt;/span&gt;&lt;br /&gt; &lt;span style='font-family:맑은 고딕'&gt;Microsoft Windows Vista:&lt;br /&gt;&lt;/span&gt;&lt;span style='font-family:맑은 고딕'&gt;Processor: 2.6 GHz Intel Pentium IV or equivalent&lt;br /&gt;&lt;/span&gt;&lt;span style='font-family:맑은 고딕'&gt;Memory: 2 GB&lt;br /&gt;&lt;/span&gt;&lt;span style='font-family:맑은 고딕'&gt;Disk space: 1 GB of free disk space&lt;br /&gt;&lt;/span&gt;&lt;br /&gt; &lt;span style='font-family:맑은 고딕'&gt;Ubuntu 8.x:&lt;br /&gt;&lt;/span&gt;&lt;span style='font-family:맑은 고딕'&gt;Processor: 2.6 GHz Intel Pentium IV or equivalent&lt;br /&gt;&lt;/span&gt;&lt;span style='font-family:맑은 고딕'&gt;Memory: 2 GB&lt;br /&gt;&lt;/span&gt;&lt;span style='font-family:맑은 고딕'&gt;Disk space: 850 MB of free disk space&lt;br /&gt;&lt;/span&gt;&lt;br /&gt; &lt;span style='font-family:맑은 고딕'&gt;Solaris OS version 10 (SPARC):&lt;br /&gt;&lt;/span&gt;&lt;span style='font-family:맑은 고딕'&gt;Processor: UltraSPARC IIIi 1 GHz&lt;br /&gt;&lt;/span&gt;&lt;span style='font-family:맑은 고딕'&gt;Memory: 2 GB&lt;br /&gt;&lt;/span&gt;&lt;span style='font-family:맑은 고딕'&gt;Disk space: 850 MB of free disk space&lt;br /&gt;&lt;/span&gt;&lt;br /&gt; &lt;span style='font-family:맑은 고딕'&gt;Solaris OS version 10 (x86/x64 platform edition):&lt;br /&gt;&lt;/span&gt;&lt;span style='font-family:맑은 고딕'&gt;Processor: AMD Opteron 1200 Series 2.8 GHz&lt;br /&gt;&lt;/span&gt;&lt;span style='font-family:맑은 고딕'&gt;Memory: 2 GB&lt;br /&gt;&lt;/span&gt;&lt;span style='font-family:맑은 고딕'&gt;Disk space: 850 MB of free disk space&lt;br /&gt;&lt;/span&gt;&lt;br /&gt; &lt;span style='font-family:맑은 고딕'&gt;Macintosh OS X 10.5 Intel:&lt;br /&gt;&lt;/span&gt;&lt;span style='font-family:맑은 고딕'&gt;Processor: Dual-Core Intel&lt;br /&gt;&lt;/span&gt;&lt;span style='font-family:맑은 고딕'&gt;Memory: 2 GB&lt;br /&gt;&lt;/span&gt;&lt;span style='font-family:맑은 고딕'&gt;Disk space: 850 MB of free disk space&lt;br /&gt;&lt;/span&gt;&lt;br /&gt; &lt;span style='font-family:맑은 고딕'&gt;Macintosh OS X 10.5 PPC:&lt;br /&gt;&lt;/span&gt;&lt;span style='font-family:맑은 고딕'&gt;Processor: PowerPC G5&lt;br /&gt;&lt;/span&gt;&lt;span style='font-family:맑은 고딕'&gt;Memory: 2 GB&lt;br /&gt;&lt;/span&gt;&lt;span style='font-family:맑은 고딕'&gt;Disk space: 850 MB of free disk space&lt;br /&gt;&lt;/span&gt;&lt;br /&gt; &lt;span style='font-family:맑은 고딕'&gt;For more information, see &amp;lt;a href="http://www.netbeans.org/kb/articles/mac.html"&amp;gt;Using NetBeans on Mac OS X&amp;lt;/a&amp;gt;.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt; &lt;span style='font-family:맑은 고딕; font-size:14pt'&gt;&lt;strong&gt;이외 넷빈즈 IDE 실행 플랫폼&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style='font-family:맑은 고딕'&gt;===============================================&lt;br /&gt;&lt;/span&gt;&lt;ul style='margin-left: 40pt'&gt;&lt;li&gt;&lt;span style='font-family:맑은 고딕'&gt;OpenSolaris 2008.11&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style='font-family:맑은 고딕'&gt;Java Desktop System 2&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style='font-family:맑은 고딕'&gt;Microsoft Windows 2000 Professional SP4&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style='font-family:맑은 고딕'&gt;Mac OS X 10.4.11 Intel/Power PC&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style='font-family:맑은 고딕'&gt;Various other Linux distributions, such as Ubuntu 8.x, Red Hat Enterprise Linux and many others.&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt; &lt;span style='font-family:맑은 고딕; font-size:14pt'&gt;&lt;strong&gt;필수 소프트웨어&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style='font-family:맑은 고딕'&gt;===============================================&lt;br /&gt;&lt;/span&gt;&lt;span style='font-family:맑은 고딕'&gt;넷빈즈 IDE는 JDK 기반 위에서 구동됩니다.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt; &lt;span style='font-family:맑은 고딕'&gt;이 릴리즈를 위한 테스트된 JDK 는 다음과 같습니다.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt; &lt;ul style='margin-left: 40pt'&gt;&lt;li&gt;&lt;span style='font-family:맑은 고딕'&gt;JDK 6 Update 14&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style='font-family:맑은 고딕'&gt;JDK 5 Update 19&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt; &lt;span style='font-family:맑은 고딕'&gt;참고 : JDK 다운로드 사이트 목록&lt;br /&gt;&lt;/span&gt;&lt;span style='font-family:맑은 고딕'&gt;---------------------------------------------------------------------------------------&lt;br /&gt;&lt;/span&gt;&lt;ul style='margin-left: 40pt'&gt;&lt;li&gt;&lt;span style='font-family:맑은 고딕'&gt;Solaris: http://java.sun.com/javase/downloads/index.jsp&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style='font-family:맑은 고딕'&gt;Windows: http://java.sun.com/javase/downloads/index.jsp&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style='font-family:맑은 고딕'&gt;Linux: http://java.sun.com/javase/downloads/index.jsp&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style='font-family:맑은 고딕'&gt;Mac OS X: http://www.apple.com/support/downloads/javaformacosx105update2.html&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style='font-family:맑은 고딕'&gt;for Mac OS X 10.5.4 and higher (includes Java SE 6, version 1.6.0_07 for 64-bit Intel-based Macs (Core2Duo processors))&lt;br /&gt;&lt;/span&gt;&lt;span style='font-family:맑은 고딕'&gt;For users running Mac OS X 10.4.11 and higher, a Java update (J2SE 5, version 1.5.0_16) is available at http://www.apple.com/support/downloads/javaformacosx104release7.html.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt; &lt;span style='font-family:맑은 고딕'&gt;Note. Java upgrades for Mac OS X are also available via Apple's Software Update mechanism.&lt;br /&gt;&lt;/span&gt;&lt;span style='font-family:맑은 고딕'&gt;Open VMS: http://h18012.www1.hp.com/java/download/index.html&lt;br /&gt;&lt;/span&gt;&lt;br /&gt; &lt;span style='font-family:맑은 고딕; font-size:14pt'&gt;&lt;strong&gt;이전 넷빈즈와의 호환성&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style='font-family:맑은 고딕'&gt;===============================================================&lt;br /&gt;&lt;/span&gt;&lt;span style='font-family:맑은 고딕'&gt;넷빈즈 4.1 이하에서 작성된 프로젝트의 경우 프로젝트로 불러올 수 없을 수도 있습니다.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &lt;span style='font-family:맑은 고딕; font-size:14pt'&gt;&lt;strong&gt;UML, SOA 와 Visual Web 모듈 사용&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style='font-family:맑은 고딕'&gt;===============================================================&lt;br /&gt;&lt;/span&gt;&lt;span style='font-family:맑은 고딕'&gt;위 모듈은 현재 빠져있습니다. 따라서 이 모듈을 추가하고자 하면 도구-플러그인 에서 각각 UML, SOA 혹은 Visual Web 의 플러그인 이름을 통해 설치할 수 있습니다. 이 모듈들은 현재 Beta Update Center 에서 사용가능합니다.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt; &lt;span style='font-family:맑은 고딕; font-size:12pt'&gt;&lt;strong&gt;SOA 기능을 활성화하려면&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style='font-family:맑은 고딕'&gt;------------------------------------------------&lt;br /&gt;&lt;/span&gt;&lt;span style='font-family:맑은 고딕'&gt;1. 썬 글래스피시 엔터프라이즈 서버 v3 프렐루드는 SOA 모듈과 작업되지 않기 떄문에 썬 글래스피시 엔터프라이즈 서버 v2.1 과 함께 번들된 넷빈즈 IDE 6.7.1 을 다운로드 받아 설치합니다.&lt;br /&gt;&lt;/span&gt;&lt;span style='font-family:맑은 고딕'&gt;2. OpenESB 프로젝트 다운로드 페이지에서, 넷빈즈 6.7 다운로드 번들을 위한 글래스피시 ESB v2.1을 설치합니다. 글래스피시 ESB 설치를 위한 디렉토리로 넷빈즈 6.7 설치 경로를 선택합니다.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt; &lt;span style='font-family:맑은 고딕; font-size:14pt'&gt;&lt;strong&gt;SQL 편집기 및 데이터베이스&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style='font-family:맑은 고딕'&gt;===============================================================&lt;br /&gt;&lt;/span&gt;&lt;ul style='margin-left: 40pt'&gt;&lt;li&gt;&lt;span style='font-family:맑은 고딕'&gt;업데이트된 드라이버: 넷빈즈 IDE에 내장된 MySQL 드라이버가 5.1.6으로 업데이트 되었습니다.&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt; &lt;ul style='margin-left: 40pt'&gt;&lt;li&gt;&lt;span style='font-family:맑은 고딕'&gt;테스트된 드라이버: 정식으로 테스트되었습니다.&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;table border='0' style='border-collapse:collapse'&gt;&lt;colgroup&gt;&lt;col style='width:82px'/&gt;&lt;col style='width:84px'/&gt;&lt;col style='width:421px'/&gt;&lt;/colgroup&gt;&lt;tbody valign='top'&gt;&lt;tr&gt;&lt;td style='padding-top: 1px; padding-left: 1px; padding-bottom: 1px; padding-right: 1px' vAlign='middle'&gt;&lt;br /&gt; &lt;span style='color:#333333; font-family:Verdana; font-size:10pt'&gt;&lt;strong&gt;Driver&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style='padding-top: 1px; padding-left: 1px; padding-bottom: 1px; padding-right: 1px' vAlign='middle'&gt;&lt;span style='color:#333333; font-family:Verdana; font-size:10pt'&gt;&lt;strong&gt;Version&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style='padding-top: 1px; padding-left: 1px; padding-bottom: 1px; padding-right: 1px' vAlign='middle'&gt;&lt;span style='color:#333333; font-family:Verdana; font-size:10pt'&gt;&lt;strong&gt;Example URL &lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style='padding-top: 1px; padding-left: 1px; padding-bottom: 1px; padding-right: 1px' vAlign='middle'&gt;&lt;span style='color:#333333; font-family:Verdana; font-size:10pt'&gt;JavaDB&lt;/span&gt;&lt;/td&gt;&lt;td style='padding-top: 1px; padding-left: 1px; padding-bottom: 1px; padding-right: 1px' vAlign='middle'&gt;&lt;span style='color:#333333; font-family:Verdana; font-size:10pt'&gt;Derby 10.4.1.3&lt;/span&gt;&lt;/td&gt;&lt;td style='padding-top: 1px; padding-left: 1px; padding-bottom: 1px; padding-right: 1px' vAlign='middle'&gt;&lt;span style='font-size:10pt'&gt;&lt;span style='color:black; font-family:Courier New'&gt;jdbc:derby://localhost:1527/sample&lt;/span&gt;&lt;span style='color:#333333; font-family:Verdana'&gt; (Network)&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style='padding-top: 1px; padding-left: 1px; padding-bottom: 1px; padding-right: 1px' vAlign='middle'&gt;&lt;span style='color:#333333; font-family:Verdana; font-size:10pt'&gt;Oracle&lt;/span&gt;&lt;/td&gt;&lt;td style='padding-top: 1px; padding-left: 1px; padding-bottom: 1px; padding-right: 1px' vAlign='middle'&gt;&lt;span style='color:#333333; font-family:Verdana; font-size:10pt'&gt;Oracle Database 10g Release 2 (10.2.0.2)&lt;/span&gt;&lt;/td&gt;&lt;td style='padding-top: 1px; padding-left: 1px; padding-bottom: 1px; padding-right: 1px' vAlign='middle'&gt;&lt;span style='font-size:10pt'&gt;&lt;span style='color:black; font-family:Courier New'&gt;jdbc:oracle:thin:@//localhost:1521:ora9i&lt;/span&gt;&lt;span style='color:#333333; font-family:Verdana'&gt;&lt;br /&gt;          &lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style='padding-top: 1px; padding-left: 1px; padding-bottom: 1px; padding-right: 1px' vAlign='middle'&gt;&lt;span style='color:#333333; font-family:Verdana; font-size:10pt'&gt;PostgreSQL&lt;/span&gt;&lt;/td&gt;&lt;td style='padding-top: 1px; padding-left: 1px; padding-bottom: 1px; padding-right: 1px' vAlign='middle'&gt;&lt;span style='color:#333333; font-family:Verdana; font-size:10pt'&gt;8.3 Build 603&lt;/span&gt;&lt;/td&gt;&lt;td style='padding-top: 1px; padding-left: 1px; padding-bottom: 1px; padding-right: 1px' vAlign='middle'&gt;&lt;span style='color:black; font-family:Courier New; font-size:10pt'&gt;jdbc:postgresql://jsmith.mycompany.com:5432/postgres&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style='padding-top: 1px; padding-left: 1px; padding-bottom: 1px; padding-right: 1px' vAlign='middle'&gt;&lt;span style='color:#333333; font-family:Verdana; font-size:10pt'&gt;MySQL&lt;/span&gt;&lt;/td&gt;&lt;td style='padding-top: 1px; padding-left: 1px; padding-bottom: 1px; padding-right: 1px' vAlign='middle'&gt;&lt;span style='color:#333333; font-family:Verdana; font-size:10pt'&gt;MySQL Connector/J 5.1.6&lt;/span&gt;&lt;/td&gt;&lt;td style='padding-top: 1px; padding-left: 1px; padding-bottom: 1px; padding-right: 1px' vAlign='middle'&gt;&lt;span style='color:black; font-family:Courier New; font-size:10pt'&gt;jdbc:mysql://localhost:3306/sample&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt; &lt;ul style='margin-left: 40pt'&gt;&lt;li&gt;&lt;span style='font-family:맑은 고딕'&gt;기타 드라이버: 정식으로 테스트되지는 않았습니다만, 경험에 기반해 작동됩니다.&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;table border='0' style='border-collapse:collapse'&gt;&lt;colgroup&gt;&lt;col style='width:65px'/&gt;&lt;col style='width:85px'/&gt;&lt;col style='width:488px'/&gt;&lt;/colgroup&gt;&lt;tbody valign='top'&gt;&lt;tr&gt;&lt;td style='padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px' vAlign='middle'&gt;&lt;span style='color:#333333; font-family:Verdana; font-size:8pt'&gt;&lt;strong&gt;Driver&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style='padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px' vAlign='middle'&gt;&lt;span style='color:#333333; font-family:Verdana; font-size:8pt'&gt;&lt;strong&gt;Version&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style='padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px' vAlign='middle'&gt;&lt;span style='color:#333333; font-family:Verdana; font-size:8pt'&gt;&lt;strong&gt;Example URL&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style='padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px' vAlign='middle'&gt;&lt;span style='color:#333333; font-family:Verdana; font-size:10pt'&gt;Microsoft &lt;/span&gt;&lt;/td&gt;&lt;td style='padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px' vAlign='middle'&gt;&lt;span style='color:#333333; font-family:Verdana; font-size:10pt'&gt;Microsoft SQL Server 2005 JDBC Driver 1.2.2828.100 &lt;/span&gt;&lt;/td&gt;&lt;td style='padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px' vAlign='middle'&gt;&lt;span style='color:black; font-family:Courier New; font-size:10pt'&gt;jdbc:sqlserver://localhost:1433;databaseName=travel;selectMethod=cursor&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style='padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px' vAlign='middle'&gt;&lt;span style='color:#333333; font-family:Verdana; font-size:10pt'&gt;IBM&lt;/span&gt;&lt;/td&gt;&lt;td style='padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px' vAlign='middle'&gt;&lt;span style='color:#333333; font-family:Verdana; font-size:10pt'&gt;Redistributable DB2 JDBC Type 4 driver v8 fixpack 13 &lt;/span&gt;&lt;/td&gt;&lt;td style='padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px' vAlign='middle'&gt;&lt;span style='color:black; font-family:Courier New; font-size:10pt'&gt;jdbc:db2://localhost:50002/sample&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style='padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px' vAlign='middle'&gt;&lt;span style='color:#333333; font-family:Verdana; font-size:10pt'&gt;jTDS &lt;/span&gt;&lt;/td&gt;&lt;td style='padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px' vAlign='middle'&gt;&lt;span style='color:#333333; font-family:Verdana; font-size:10pt'&gt;jTDS 1.2.1 &lt;/span&gt;&lt;/td&gt;&lt;td style='padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px' vAlign='middle'&gt;&lt;span style='color:black; font-family:Courier New; font-size:10pt'&gt;jdbc:jtds:sqlserver://test-mycompany.com:1433/travel&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style='padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px' vAlign='middle'&gt;&lt;span style='color:#333333; font-family:Verdana; font-size:10pt'&gt;DataDirect &lt;/span&gt;&lt;/td&gt;&lt;td style='padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px' vAlign='middle'&gt;&lt;span style='color:#333333; font-family:Verdana; font-size:10pt'&gt;DataDirect Connect for JDBC - 3.6 DataDirect Connect for JDBC - 3.6.07&lt;/span&gt;&lt;/td&gt;&lt;td style='padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px' vAlign='middle'&gt;&lt;span style='font-size:10pt'&gt;&lt;span style='color:black; font-family:Courier New'&gt;jdbc:datadirect:oracle://localhost;SID=ora9i&lt;/span&gt;&lt;span style='color:#333333; font-family:Verdana'&gt;&lt;br /&gt;          &lt;/span&gt;&lt;span style='color:black; font-family:Courier New'&gt;jdbc:datadirect:sqlserver://localhost:1433;DatabaseName=travel;SelectMethod=cursor&lt;/span&gt;&lt;span style='color:#333333; font-family:Verdana'&gt;&lt;br /&gt;          &lt;/span&gt;&lt;span style='color:black; font-family:Courier New'&gt;jdbc:datadirect:db2://localhost:50002;databaseName=sample&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style='padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px' vAlign='middle'&gt;&lt;span style='color:#333333; font-family:Verdana; font-size:10pt'&gt;Pointbase &lt;/span&gt;&lt;/td&gt;&lt;td style='padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px' vAlign='middle'&gt;&lt;span style='color:#333333; font-family:Verdana; font-size:10pt'&gt;5.2 ECF build 294&lt;/span&gt;&lt;/td&gt;&lt;td style='padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px' vAlign='middle'&gt; &lt;br /&gt; &lt;span style='color:black; font-family:Courier New; font-size:10pt'&gt;jdbc:pointbase://localhost:29092/sample&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt; &lt;br /&gt; &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6811062799606447528-7469338572144967151?l=netbeans-korean.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Netbeans-koreanBy/~4/N56Z-RFlGjI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://netbeans-korean.blogspot.com/feeds/7469338572144967151/comments/default" title="게시물 덧글" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=6811062799606447528&amp;postID=7469338572144967151" title="0개의 덧글" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6811062799606447528/posts/default/7469338572144967151?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6811062799606447528/posts/default/7469338572144967151?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Netbeans-koreanBy/~3/N56Z-RFlGjI/671-release-notes_16.html" title="넷빈 6.7.1 의 새 변경사항 (release notes) 정리" /><author><name>강여사(J.Y.Kang)</name><uri>http://www.blogger.com/profile/17450510931308610527</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10873429884942954536" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://netbeans-korean.blogspot.com/2009/10/671-release-notes_16.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUYGRHk_cCp7ImA9WxNWFE8.&quot;"><id>tag:blogger.com,1999:blog-6811062799606447528.post-6666994136092626094</id><published>2009-10-13T00:22:00.001-07:00</published><updated>2009-10-13T01:38:45.748-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-13T01:38:45.748-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="netbeans" /><category scheme="http://www.blogger.com/atom/ns#" term="twitter" /><title>Twitter SaaS를 사용한 Swing 프로그램 만들기</title><content type="html">이번 게시물에는 Twitter를 사용한 GUI 프로그램을 만들어보도록 하겠습니다.&lt;br /&gt;이 Twitter 시리즈는 나중에 JavaFX 기반의 모바일 프로젝트에도 가능합니다 ^^ Twitter 사용자의 많은 수가 iphone 유저라는 걸 보면 짐작이..^^&lt;br /&gt;아무튼 Twitter를 비롯, 여러 오픈 SaaS가 있는데 이러한 식으로 사용하시면 됩니다.&lt;br /&gt;넷빈에서 바로 연동되는 SaaS의 종류는 기본으로 Service 탭에 웹 서비스를 확장하시면 볼 수 있습니다.&lt;br /&gt;프로젝트를 위해 http://twitter.com 에 회원가입을 하고 계정을 만들어두시기 바랍니다.&lt;br /&gt;&lt;br /&gt;환경&lt;br /&gt;넷빈즈 6.7.1&lt;br /&gt;Twitter 계정 사용자이름/비밀번호&lt;br /&gt;&lt;br /&gt;그럼 Twitter를 사용하는 GUI 클라이언트 프로그램 작업을 위해 새 프로젝트를 만듭니다.&lt;br /&gt;File - new project&lt;br /&gt;&lt;p&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StQq7wy4vbI/AAAAAAAABuQ/EQ-K7hLTSLg/s1600-h/twitter_gui_01.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 341px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5391981860068310450" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StQq7wy4vbI/AAAAAAAABuQ/EQ-K7hLTSLg/s400/twitter_gui_01.jpg" /&gt;&lt;/a&gt; java - java application 다음&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StQq7vMReLI/AAAAAAAABuI/9Xq9i1VySVY/s1600-h/twitter_gui_02.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 276px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5391981859637917874" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StQq7vMReLI/AAAAAAAABuI/9Xq9i1VySVY/s400/twitter_gui_02.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;프로젝트 명: TwitterSwingClient&lt;br /&gt;경로: 알아서&lt;br /&gt;마침&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StQq7Ftbx_I/AAAAAAAABuA/cu8iKaqf87M/s1600-h/twitter_gui_03.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 260px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5391981848502716402" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StQq7Ftbx_I/AAAAAAAABuA/cu8iKaqf87M/s400/twitter_gui_03.jpg" /&gt;&lt;/a&gt; GUI를 위해 프로젝트에서 마우스 오른쪽 클릭 - new - JFrame Form 선택&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StQq6gQSBAI/AAAAAAAABt4/begEqfflMNU/s1600-h/twitter_gui_04.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 341px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5391981838448329730" border="0" alt="" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StQq6gQSBAI/AAAAAAAABt4/begEqfflMNU/s400/twitter_gui_04.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;클래스명: TwitterJFrame&lt;br /&gt;패키지명: twitter.ui&lt;br /&gt;마침&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StQq6JBfcuI/AAAAAAAABtw/t-UD7RGmwRQ/s1600-h/twitter_gui_05.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 276px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5391981832212280034" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StQq6JBfcuI/AAAAAAAABtw/t-UD7RGmwRQ/s400/twitter_gui_05.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;디자인창에다 오른쪽 파레트로 부터 Label 과 TextField 그리고 버튼을 드래그하여 그림과 같이 배치합니다.&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/StQrH8yXegI/AAAAAAAABuw/0N-jjyc9SCw/s1600-h/twitter_gui_07.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 341px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5391982069445786114" border="0" alt="" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/StQrH8yXegI/AAAAAAAABuw/0N-jjyc9SCw/s400/twitter_gui_07.jpg" /&gt;&lt;/a&gt; 버튼에서 오른쪽 마우스를 클릭하면 Properties 메뉴가 보이는데 클릭하게되면 아래 그림과 같이 팝업창이 뜹니다.&lt;/p&gt;&lt;p&gt;text : Update 로 주고 엔터키를 치면 변경됩니다.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StQrIZXeFDI/AAAAAAAABu4/QEfijPBe4Lk/s1600-h/twitter_gui_06.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 323px; DISPLAY: block; HEIGHT: 400px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5391982077117600818" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StQrIZXeFDI/AAAAAAAABu4/QEfijPBe4Lk/s400/twitter_gui_06.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;Label에서 다시 오른쪽 마우스를 클릭하여 Properties 를 클릭하면 등록정보에 대한 팝업창이 뜹니다. 여기서 text는 icon 으로, labelFor 에 옆의 드래그메뉴 중 jTextField1 를 선택합니다.&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StQrHAadPYI/AAAAAAAABug/25vObYbvv4Q/s1600-h/twitter_gui_09.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 323px; DISPLAY: block; HEIGHT: 400px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5391982053239373186" border="0" alt="" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StQrHAadPYI/AAAAAAAABug/25vObYbvv4Q/s400/twitter_gui_09.jpg" /&gt;&lt;/a&gt; 아래쪽으로 내려서 maximumSize , minimumSize, preferredSize 를 모두[48,48] 로 주고 requestFocusEnabled 체크를 해제합니다.&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StQtMIhvp6I/AAAAAAAABzY/T2xMVOul1BY/s1600-h/twitter_gui_091.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 323px; DISPLAY: block; HEIGHT: 400px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5391984340340025250" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StQtMIhvp6I/AAAAAAAABzY/T2xMVOul1BY/s400/twitter_gui_091.jpg" /&gt;&lt;/a&gt; 오른쪽에서 ScrollPane 를 선택해서 드래그해 놓습니다.&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StQtLgjKM1I/AAAAAAAABzQ/NKd0ubCRmQ8/s1600-h/twitter_gui_092.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 341px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5391984329608541010" border="0" alt="" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StQtLgjKM1I/AAAAAAAABzQ/NKd0ubCRmQ8/s400/twitter_gui_092.jpg" /&gt;&lt;/a&gt; 이 스크롤패인안에다 다시 List를 드래그해서 놓습니다&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/StQrGwVnjhI/AAAAAAAABuY/eGXgf_QZtnA/s1600-h/twitter_gui_10.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 341px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5391982048924110354" border="0" alt="" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/StQrGwVnjhI/AAAAAAAABuY/eGXgf_QZtnA/s400/twitter_gui_10.jpg" /&gt;&lt;/a&gt; source 탭으로 변경하여 main 메소드 위에 공간을 띠우고 다음 메소드를 작성합니다.&lt;br /&gt;========================================&lt;br /&gt;private void initUserInfo() {&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;========================================&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StQrWJ8PhVI/AAAAAAAABvg/k6cyH0ZQzn0/s1600-h/twitter_gui_11.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 341px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5391982313495037266" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StQrWJ8PhVI/AAAAAAAABvg/k6cyH0ZQzn0/s400/twitter_gui_11.jpg" /&gt;&lt;/a&gt; 이번에는 Services 탭으로 가서 Web Services 를 확장하면(클릭) Twitter 가 나타납니다. 그럼 Twitter - What are you doing Service - statuses - user_timeline.{format} 안에 getUserTimeline를 선택하여 위 소스 부분의 빈 공간에 드래그합니다. 그럼 아래 그림과 같이 팝업창이 뜹니다.&lt;/p&gt;&lt;p&gt;여기에서 count 를 1로 format 를 xml 로 각각 입력한후 엔터키를 치면 변경됩니다.&lt;br /&gt;OK&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StQrVug_qHI/AAAAAAAABvY/Wfxfdf7H3ss/s1600-h/twitter_gui_12.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 341px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5391982306132994162" border="0" alt="" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StQrVug_qHI/AAAAAAAABvY/Wfxfdf7H3ss/s400/twitter_gui_12.jpg" /&gt;&lt;/a&gt; 작성된 소스를 확인하면 다음과 같습니다.&lt;br /&gt;==============================================&lt;br /&gt;private void initUserInfo() {&lt;br /&gt;&lt;br /&gt;try {&lt;br /&gt;String since = null;&lt;br /&gt;String sinceId = null;&lt;br /&gt;String page = null;&lt;br /&gt;String count = "1";&lt;br /&gt;String format = "xml";&lt;br /&gt;&lt;br /&gt;RestResponse result = TwitterWhatAreYouDoingService.getUserTimeline(since, sinceId, page, count, format);&lt;br /&gt;if (result.getDataAsObject(twitter.whatareyoudoingservice.twitterresponse.Statuses.class) instanceof twitter.whatareyoudoingservice.twitterresponse.Statuses) {&lt;br /&gt;twitter.whatareyoudoingservice.twitterresponse.Statuses resultObj = result.getDataAsObject(twitter.whatareyoudoingservice.twitterresponse.Statuses.class);&lt;br /&gt;} else if (result.getDataAsObject(twitter.whatareyoudoingservice.twitterresponse.NilClasses.class) instanceof twitter.whatareyoudoingservice.twitterresponse.NilClasses) {&lt;br /&gt;twitter.whatareyoudoingservice.twitterresponse.NilClasses resultObj = result.getDataAsObject(twitter.whatareyoudoingservice.twitterresponse.NilClasses.class);&lt;br /&gt;}&lt;br /&gt;//TODO - Uncomment the print Statement below to print result.&lt;br /&gt;//System.out.println("The SaasService returned: "+result.getDataAsString());&lt;br /&gt;} catch (Exception ex) {&lt;br /&gt;ex.printStackTrace();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;==============================================&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StQrVKotojI/AAAAAAAABvQ/w9Ze0hKUvh4/s1600-h/twitter_gui_13.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 341px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5391982296501690930" border="0" alt="" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StQrVKotojI/AAAAAAAABvQ/w9Ze0hKUvh4/s400/twitter_gui_13.jpg" /&gt;&lt;/a&gt; 여기 if 부분을 다음과 같이 수정합니다. (굵은 글씨 참조)&lt;br /&gt;================================================&lt;br /&gt;if (result.getDataAsObject(twitter.whatareyoudoingservice.twitterresponse.Statuses.class) instanceof twitter.whatareyoudoingservice.twitterresponse.Statuses){&lt;br /&gt;twitter.whatareyoudoingservice.twitterresponse.Statuses resultObj = result.getDataAsObject(twitter.whatareyoudoingservice.twitterresponse.Statuses.class);&lt;br /&gt;&lt;strong&gt;StatusType st = resultObj.getStatus().get(0);&lt;br /&gt;jTextField1.setText(st.getText().trim());&lt;br /&gt;UserType user = st.getUser();&lt;br /&gt;String iconSrc = user.getProfileImageUrl();&lt;br /&gt;URL iconUrl = new URL(iconSrc);&lt;br /&gt;ImageIcon icon = new ImageIcon(iconUrl, user.getScreenName());&lt;br /&gt;jLabel1.setIcon(icon);&lt;/strong&gt;&lt;br /&gt;}&lt;br /&gt;================================================&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StQrU_xY0UI/AAAAAAAABvI/Xv0Uya8eKGw/s1600-h/twitter_gui_14.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 341px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5391982293585285442" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StQrU_xY0UI/AAAAAAAABvI/Xv0Uya8eKGw/s400/twitter_gui_14.jpg" /&gt;&lt;/a&gt;편집기의 빈공간에 오른쪽마우스를 클릭하여 fix import (단축키 Ctrl+Shift+I)를 클릭하여 임포트를 추가합니다. (java.net.URL)&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StQrUDor66I/AAAAAAAABvA/kJT3h4JtkXs/s1600-h/twitter_gui_15.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 341px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5391982277442661282" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StQrUDor66I/AAAAAAAABvA/kJT3h4JtkXs/s400/twitter_gui_15.jpg" /&gt;&lt;/a&gt; 클래스 위쪽의 생성자 부분에서 본 메소드를 추가호출합니다.(굵은 글씨 참조)&lt;br /&gt;================================================&lt;br /&gt;public class TwitterJFrame extends javax.swing.JFrame {&lt;br /&gt;&lt;br /&gt;/** Creates new form TwitterJFrame */&lt;br /&gt;public TwitterJFrame() {&lt;br /&gt;initComponents();&lt;br /&gt;&lt;strong&gt;initUserInfo();&lt;/strong&gt;&lt;br /&gt;}&lt;br /&gt;================================================&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StQrleNGQxI/AAAAAAAABwI/80PepTLIL80/s1600-h/twitter_gui_16.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 341px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5391982576632480530" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StQrleNGQxI/AAAAAAAABwI/80PepTLIL80/s400/twitter_gui_16.jpg" /&gt;&lt;/a&gt; 실행하기 전에 Twitter 계정에 대한 설정(인증)작업을 합니다.&lt;/p&gt;&lt;p&gt;프로젝트의 Source Packages 아래 org.netbeans.saas.twitter 안에 보면 twitterwharareyoudoingserviceauthenticator.properties 가 있습니다. open으로 열어보면 username 과 password 가 있는데 각자 twitter 계정의 username과 password 를 적으시면 됩니다.&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StQrlCbMJjI/AAAAAAAABwA/39wYG0U-N-g/s1600-h/twitter_gui_17.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 341px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5391982569175393842" border="0" alt="" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StQrlCbMJjI/AAAAAAAABwA/39wYG0U-N-g/s400/twitter_gui_17.jpg" /&gt;&lt;/a&gt; 그런 다음 프로젝트를 실행합니다. - Run&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StQrkjRZrHI/AAAAAAAABv4/GUpfMFmvq00/s1600-h/twitter_gui_18.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 341px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5391982560812838002" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StQrkjRZrHI/AAAAAAAABv4/GUpfMFmvq00/s400/twitter_gui_18.jpg" /&gt;&lt;/a&gt; 메인클래스 설정을 위한 팝업창이 뜹니다. OK&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StQrkF5o9GI/AAAAAAAABvw/4yeMH3lvb-s/s1600-h/twitter_gui_19.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 341px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5391982552928547938" border="0" alt="" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StQrkF5o9GI/AAAAAAAABvw/4yeMH3lvb-s/s400/twitter_gui_19.jpg" /&gt;&lt;/a&gt; 일단 정상적으로 Swing 이 불려지면 이제 보다 자세한 코드 추가 작업들을 하겠습니다.&lt;/p&gt;&lt;p&gt;버튼 클릭시 update 를 위해 버튼 디자인에서 더블클릭을 하면 소스탭으로 옮겨집니다. 그럼 여기에 다시 Twitter의 updateStatus 오퍼레이션을 불러옵니다.&lt;/p&gt;&lt;p&gt;Twitter-What Are You Doing Service - statuses - update.{format} - updateStatus 를 드래그합니다. 그럼 아래그림처럼 팝업창이 뜨고 OK 한 후 코드 수정작업을 합니다.&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StQrj1OM5RI/AAAAAAAABvo/DRp2dytZB2A/s1600-h/twitter_gui_21.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 341px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5391982548451386642" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StQrj1OM5RI/AAAAAAAABvo/DRp2dytZB2A/s400/twitter_gui_21.jpg" /&gt;&lt;/a&gt; 자동 생성된 코드에서 String status = ""; 부분은 다음과 같이 변경합니다.&lt;br /&gt;String status = jTextField1.getText().trim(); &lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StQr2L8dLXI/AAAAAAAABww/mXlxDTU-LrY/s1600-h/twitter_gui_22.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 341px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5391982863788617074" border="0" alt="" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StQr2L8dLXI/AAAAAAAABww/mXlxDTU-LrY/s400/twitter_gui_22.jpg" /&gt;&lt;/a&gt; GUI에서 사용자이름과 상태를 표시하기 위해 Timer 작업을 추가합니다.&lt;br /&gt;TimerTask를 추가하는 방법은 다음과 같습니다.&lt;br /&gt;생성자 부분에 다음과 같이 Timer를 추가합니다. (굵은 글씨 참조)&lt;br /&gt;===============================================&lt;br /&gt;public class TwitterJFrame extends javax.swing.JFrame {&lt;br /&gt;&lt;br /&gt;/** Creates new form TwitterJFrame */&lt;br /&gt;public TwitterJFrame() {&lt;br /&gt;&lt;strong&gt;Timer t = new Timer("Twitter Updater`", false);&lt;/strong&gt; initComponents();&lt;br /&gt;initUserInfo();&lt;br /&gt;}&lt;br /&gt;===============================================&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StQr1nQD2xI/AAAAAAAABwo/UEu0Ds54Fk0/s1600-h/twitter_gui_23.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 341px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5391982853938731794" border="0" alt="" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StQr1nQD2xI/AAAAAAAABwo/UEu0Ds54Fk0/s400/twitter_gui_23.jpg" /&gt;&lt;/a&gt; 임포트를 위해 fix import를 합니다. (java.util.Timer)&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StQr1FYxhQI/AAAAAAAABwg/LMeqkJnpayk/s1600-h/twitter_gui_24.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 341px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5391982844848473346" border="0" alt="" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StQr1FYxhQI/AAAAAAAABwg/LMeqkJnpayk/s400/twitter_gui_24.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StQr07TG7OI/AAAAAAAABwY/peucknp0ewY/s1600-h/twitter_gui_25.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 386px; DISPLAY: block; HEIGHT: 209px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5391982842140355810" border="0" alt="" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StQr07TG7OI/AAAAAAAABwY/peucknp0ewY/s400/twitter_gui_25.jpg" /&gt;&lt;/a&gt; 그런 다음 다음 코드를 추가 삽입합니다&lt;br /&gt;===================================&lt;br /&gt;public class TwitterJFrame extends javax.swing.JFrame {&lt;br /&gt;&lt;br /&gt;/** Creates new form TwitterJFrame */&lt;br /&gt;public TwitterJFrame() {&lt;br /&gt;Timer t = new Timer("Twitter Updater`", false);&lt;br /&gt;&lt;strong&gt;t.scheduleAtFixedRate(new TimerTask() {&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;}, 1500, 75000);&lt;/strong&gt;&lt;br /&gt;initComponents();&lt;br /&gt;initUserInfo();&lt;br /&gt;}&lt;br /&gt;===================================&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StQr0hQWvxI/AAAAAAAABwQ/tnBW6WTDbc4/s1600-h/twitter_gui_26.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 341px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5391982835149487890" border="0" alt="" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StQr0hQWvxI/AAAAAAAABwQ/tnBW6WTDbc4/s400/twitter_gui_26.jpg" /&gt;&lt;/a&gt; getPublicTimeline 오퍼레이션과 함께 run 메소드를 추가합니다.&lt;br /&gt;우선 리스트에 대한 모델 작업부터 합니다.&lt;br /&gt;클래스 선언 아래 다음 코드를 추가합니다. (굵은 글씨 참조)&lt;br /&gt;====================================&lt;br /&gt;public class TwitterJFrame extends javax.swing.JFrame {&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;private DefaultListModel statuses = new DefaultListModel();&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/** Creates new form TwitterJFrame */&lt;br /&gt;public TwitterJFrame() {&lt;br /&gt;&lt;br /&gt;====================================&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StQsG84k73I/AAAAAAAABxY/shchvo8c38g/s1600-h/twitter_gui_27.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 341px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5391983151803592562" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StQsG84k73I/AAAAAAAABxY/shchvo8c38g/s400/twitter_gui_27.jpg" /&gt;&lt;/a&gt; TimerTask 객체안에 새 run() 메소드를 오버라이드 합니다. (굵은 글씨 참조)&lt;br /&gt;====================================&lt;br /&gt;/** Creates new form TwitterJFrame */&lt;br /&gt;public TwitterJFrame() {&lt;br /&gt;Timer t = new Timer("Twitter Updater`", false); t.scheduleAtFixedRate(new TimerTask() { &lt;/p&gt;&lt;p&gt;&lt;strong&gt;@Override public void run(){ &lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;}&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;}, 1500, 75000); initComponents();&lt;br /&gt;initUserInfo();&lt;br /&gt;}&lt;br /&gt;==================================== &lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StQsGaW8SUI/AAAAAAAABxQ/jUTAQSzoAL0/s1600-h/twitter_gui_28.jpg"&gt;&lt;/p&gt;&lt;/a&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StQsGaW8SUI/AAAAAAAABxQ/jUTAQSzoAL0/s1600-h/twitter_gui_28.jpg"&gt;&lt;p&gt;&lt;/a&gt;&lt;/p&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 341px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5391983142535711042" border="0" alt="" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StQsGaW8SUI/AAAAAAAABxQ/jUTAQSzoAL0/s400/twitter_gui_28.jpg" /&gt; 그런 다음 이 부분에 getPublicTimeline 오퍼레이션을 추가합니다.&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StQsF4h4pcI/AAAAAAAABxI/WmQ5-ksl37M/s1600-h/twitter_gui_29.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 341px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5391983133454804418" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StQsF4h4pcI/AAAAAAAABxI/WmQ5-ksl37M/s400/twitter_gui_29.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;Twitter - What Are You Doing Service - statuses - [public_timeline.{format} - getPublicTimeline 드래그 &lt;p&gt;팝업창에 xml 을 입력하고 엔터키로 변경한 후 OK&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StQsFXow-3I/AAAAAAAABxA/kJPjA1dlihg/s1600-h/twitter_gui_30.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 341px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5391983124625292146" border="0" alt="" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StQsFXow-3I/AAAAAAAABxA/kJPjA1dlihg/s400/twitter_gui_30.jpg" /&gt;&lt;/a&gt; 생성된 소스 확인==================================&lt;br /&gt;public TwitterJFrame() {&lt;br /&gt;Timer t = new Timer("Twitter Updater`", false);&lt;br /&gt;t.scheduleAtFixedRate(new TimerTask() {&lt;br /&gt;&lt;br /&gt;@Override&lt;br /&gt;public void run() {&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;try {&lt;br /&gt;String format2 = "xml";&lt;br /&gt;&lt;br /&gt;RestResponse result2 = TwitterWhatAreYouDoingService.getPublicTimeline(format2);&lt;br /&gt;if (result2.getDataAsObject(twitter.whatareyoudoingservice.twitterresponse.Statuses.class) instanceof twitter.whatareyoudoingservice.twitterresponse.Statuses) {&lt;br /&gt;twitter.whatareyoudoingservice.twitterresponse.Statuses result2Obj = result2.getDataAsObject(twitter.whatareyoudoingservice.twitterresponse.Statuses.class);&lt;br /&gt;} else if (result2.getDataAsObject(twitter.whatareyoudoingservice.twitterresponse.NilClasses.class) instanceof twitter.whatareyoudoingservice.twitterresponse.NilClasses) {&lt;br /&gt;twitter.whatareyoudoingservice.twitterresponse.NilClasses result2Obj = result2.getDataAsObject(twitter.whatareyoudoingservice.twitterresponse.NilClasses.class);&lt;br /&gt;}&lt;br /&gt;//TODO - Uncomment the print Statement below to print result.&lt;br /&gt;//System.out.println("The SaasService returned: "+result2.getDataAsString());&lt;br /&gt;} catch (Exception ex) {&lt;br /&gt;ex.printStackTrace();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;/strong&gt;&lt;br /&gt;}, 1500, 75000);&lt;br /&gt;initComponents();&lt;br /&gt;initUserInfo();&lt;br /&gt;}&lt;br /&gt;==================================&lt;br /&gt;if 부분에 다음 코드 추가 (굵은 글씨 참조)&lt;br /&gt;==================================&lt;br /&gt;if (result2.getDataAsObject(twitter.whatareyoudoingservice.twitterresponse.Statuses.class) instanceof twitter.whatareyoudoingservice.twitterresponse.Statuses) {&lt;br /&gt;twitter.whatareyoudoingservice.twitterresponse.Statuses result2Obj = result2.getDataAsObject(twitter.whatareyoudoingservice.twitterresponse.Statuses.class);&lt;br /&gt;&lt;strong&gt;for (final StatusType st : result2Obj.getStatus()) {&lt;br /&gt;SwingUtilities.invokeLater(new Runnable() {&lt;br /&gt;&lt;br /&gt;public void run() {&lt;br /&gt;statuses.addElement(st);&lt;br /&gt;}&lt;br /&gt;});&lt;br /&gt;}&lt;/strong&gt; }&lt;br /&gt;==================================&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StQsFGZQpTI/AAAAAAAABw4/aoT6N3153-E/s1600-h/twitter_gui_31.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 341px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5391983119996855602" border="0" alt="" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StQsFGZQpTI/AAAAAAAABw4/aoT6N3153-E/s400/twitter_gui_31.jpg" /&gt;&lt;/a&gt; 리스트 셀 렌더링을 위한 컴포넌트를 만들겠습니다.&lt;/p&gt;&lt;p&gt;프로젝트에서 오른쪽 마우스 클릭 - new - JPanel Form&lt;br /&gt;&lt;/p&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StQsWAmw6BI/AAAAAAAAByA/UUXgkJW-uKs/s1600-h/twitter_gui_32.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 341px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5391983410500659218" border="0" alt="" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StQsWAmw6BI/AAAAAAAAByA/UUXgkJW-uKs/s400/twitter_gui_32.jpg" /&gt;&lt;/a&gt; 클래스 이름: Item&lt;br /&gt;패키지 이름: twitter.ui&lt;br /&gt;마침&lt;br /&gt;&lt;p&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StQsV5cqxFI/AAAAAAAABx4/sFDt1qvT8Xg/s1600-h/twitter_gui_33.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 276px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5391983408579265618" border="0" alt="" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StQsV5cqxFI/AAAAAAAABx4/sFDt1qvT8Xg/s400/twitter_gui_33.jpg" /&gt;&lt;/a&gt; Label을 드래그해서 username 이라고 적어줍니다.&lt;/p&gt;&lt;p&gt;그리고 그 아래 Text Pane 를 드래그해서 놓습니다. Text Pane 의 text 는 status text 라고 입력후 엔터키로 반영(그림 오른쪽 아래)&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StQsVb6OxcI/AAAAAAAABxw/ySotVm6Bf-s/s1600-h/twitter_gui_34.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 341px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5391983400650196418" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StQsVb6OxcI/AAAAAAAABxw/ySotVm6Bf-s/s400/twitter_gui_34.jpg" /&gt;&lt;/a&gt; username 의 label에서 오른쪽 마우스를 클릭하면 프로퍼티(등록정보)메뉴가 있습니다. 클릭&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StQsVMBoBxI/AAAAAAAABxo/5p-yM3vKx84/s1600-h/twitter_gui_35.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 341px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5391983396386244370" border="0" alt="" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StQsVMBoBxI/AAAAAAAABxo/5p-yM3vKx84/s400/twitter_gui_35.jpg" /&gt;&lt;/a&gt; labelFor 에 jTextPane1를 선택하고&lt;/p&gt;&lt;p&gt;foreground 에는 파란색 [0,51,255] RGB 값을 입력합니다.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StQsUnNbG_I/AAAAAAAABxg/9PAExU38O2Y/s1600-h/twitter_gui_36.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 323px; DISPLAY: block; HEIGHT: 400px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5391983386503617522" border="0" alt="" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StQsUnNbG_I/AAAAAAAABxg/9PAExU38O2Y/s400/twitter_gui_36.jpg" /&gt;&lt;/a&gt; source 탭을 클릭하여 클래스 선언에 리스트셀렌더러 인터페이스를 붙입니다.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;public class Item extends javax.swing.JPanel&lt;strong&gt; implements ListCellRenderer &lt;/strong&gt;{ &lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StQsn65GnXI/AAAAAAAAByo/2fsZsNo2Q5M/s1600-h/twitter_gui_37.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 341px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5391983718204611954" border="0" alt="" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StQsn65GnXI/AAAAAAAAByo/2fsZsNo2Q5M/s400/twitter_gui_37.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StQsnacyfYI/AAAAAAAAByg/dmU5qrOLSYs/s1600-h/twitter_gui_38.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 341px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5391983709495917954" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StQsnacyfYI/AAAAAAAAByg/dmU5qrOLSYs/s400/twitter_gui_38.jpg" /&gt;&lt;/a&gt; 임포트를 수정합니다. fix import (Ctrl+Shift+I) javax.swing.ListCellRenderer&lt;br /&gt;&lt;br /&gt;그런 다음 다음 메소드를 추가합니다.&lt;br /&gt;======================================================&lt;br /&gt;public Component getListCellRendererComponent(JList list, Object value, int index, boolean sel, boolean focus) {&lt;br /&gt;StatusType st = (StatusType) value;&lt;br /&gt;jTextPane1.setText(st.getText());&lt;br /&gt;jLabel1.setText("" + st.getUser().getScreenName() + "");&lt;br /&gt;return this;&lt;br /&gt;}&lt;br /&gt;======================================================&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StQsnD1jk8I/AAAAAAAAByY/zQ9yi5ZIdH4/s1600-h/twitter_gui_39.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 341px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5391983703425782722" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StQsnD1jk8I/AAAAAAAAByY/zQ9yi5ZIdH4/s400/twitter_gui_39.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;다시 fix import&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StQsmg_Ho-I/AAAAAAAAByQ/NhH9zhbcRQs/s1600-h/twitter_gui_40.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 341px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5391983694070653922" border="0" alt="" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StQsmg_Ho-I/AAAAAAAAByQ/NhH9zhbcRQs/s400/twitter_gui_40.jpg" /&gt;&lt;/a&gt; 이제 list 부분을 편집하도록 하겠습니다. 디자인창에서 list를 클릭하여 오른쪽 마우스 클릭 - 등록정보&lt;/p&gt;&lt;p&gt;팝업창이 뜨면 model 이 있습니다. 여기서 오른쪽의 ... 을 클릭합니다.&lt;/p&gt;&lt;p&gt;그럼 list 설정 팝업창이 뜹니다. 여기에서 위의 드래그 메뉴를 Custom code 로 선택합니다.&lt;/p&gt;&lt;p&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StQsmMuY5wI/AAAAAAAAByI/Lrcw3m4zRmM/s1600-h/twitter_gui_41.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 341px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5391983688631772930" border="0" alt="" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StQsmMuY5wI/AAAAAAAAByI/Lrcw3m4zRmM/s400/twitter_gui_41.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;그럼 아래 설정부분이 제시되는데 거기에 statuses 라고 입력합니다. (그림 참조)&lt;br /&gt;OK&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StQtBFdpSrI/AAAAAAAABzA/Y7YGRU-14Ks/s1600-h/twitter_gui_42.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 347px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5391984150538963634" border="0" alt="" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StQtBFdpSrI/AAAAAAAABzA/Y7YGRU-14Ks/s400/twitter_gui_42.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;이번에는 cellRenderer 에서 ... 을 클릭하면 등록정보 창이 뜹니다.&lt;br /&gt;역시 custom code 로 바꾼 후 빈칸에 new Item() 이라고 적습니다&lt;br /&gt;OK&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StQtA-CA60I/AAAAAAAABy4/LliXG2iB2Gg/s1600-h/twitter_gui_43.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 341px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5391984148544023362" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StQtA-CA60I/AAAAAAAABy4/LliXG2iB2Gg/s400/twitter_gui_43.jpg" /&gt;&lt;/a&gt; 이상이 프로젝트 작업 끝입니다.&lt;/p&gt;&lt;p&gt;실행하면 (run) 아래 그림 처럼 twitter 가 제시됩니다.&lt;/p&gt;&lt;p&gt;참고로 아래 아이콘은 twitter에 등록된 제 아이디의 아이콘이 나타납니다. (넷빈로고라는..ㅋㅋ)&lt;/p&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StQtAdiuY4I/AAAAAAAAByw/bsKeVuI64zI/s1600-h/twitter_gui_44.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 278px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5391984139822850946" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StQtAdiuY4I/AAAAAAAAByw/bsKeVuI64zI/s400/twitter_gui_44.jpg" /&gt;&lt;/a&gt; &lt;p&gt;수고하셨습니다. *^^*&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6811062799606447528-6666994136092626094?l=netbeans-korean.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Netbeans-koreanBy/~4/bx5bNrpp9cM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://netbeans-korean.blogspot.com/feeds/6666994136092626094/comments/default" title="게시물 덧글" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=6811062799606447528&amp;postID=6666994136092626094" title="0개의 덧글" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6811062799606447528/posts/default/6666994136092626094?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6811062799606447528/posts/default/6666994136092626094?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Netbeans-koreanBy/~3/bx5bNrpp9cM/twitter-gui.html" title="Twitter SaaS를 사용한 Swing 프로그램 만들기" /><author><name>강여사(J.Y.Kang)</name><uri>http://www.blogger.com/profile/17450510931308610527</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10873429884942954536" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StQq7wy4vbI/AAAAAAAABuQ/EQ-K7hLTSLg/s72-c/twitter_gui_01.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://netbeans-korean.blogspot.com/2009/10/twitter-gui.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkEAQ3czcSp7ImA9WxNWEUU.&quot;"><id>tag:blogger.com,1999:blog-6811062799606447528.post-3825450439712627313</id><published>2009-10-10T05:34:00.000-07:00</published><updated>2009-10-10T07:24:02.989-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-10T07:24:02.989-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="mysql" /><category scheme="http://www.blogger.com/atom/ns#" term="netbeans" /><title>넷빈즈 6.7.1에서 Mysql 사용하기 및 Sakila DB 설치하기</title><content type="html">이번 게시물에는 넷빈즈에서 Mysql 을 어떻게 등록하여 사용하는지와 추후 프로젝트 게시물을 위한 샘플 DB(Sakila)를 설치해보도록 하겠습니다.&lt;br /&gt;&lt;br /&gt;환경:&lt;br /&gt;넷빈즈 6.7.1&lt;br /&gt;Mysql 5.1 GA win32&lt;br /&gt;sakila (플러그인 센터로 추후 설치)&lt;br /&gt;&lt;br /&gt;우선 MySql은 설치되어 있다고 가정하겠습니다. (mysql 설치는 기타 서핑을 통해 하시기 바랍니다. 간단한 지시사항으로는 http://www.mysql.com 에서 download (http://dev.mysql.com/downloads/mysql/5.1.html#downloads)각 OS에 맞는 버전을 다운로드 받은 후 설치하시면 됩니다. 기본 설치(default)로 진행하되 설정마법사(configuration wizard) 진행시 언어설정을 manual-utf8 로 주게되면 추후 한글작업이 보다 수월해집니다. 다른 사항은 적당히 알아서.. ^^;)&lt;br /&gt;&lt;br /&gt;그럼 설치가 끝난후 넷빈즈에 Mysql을 등록하는 방법부터 진행합니다.&lt;br /&gt;Service - Database 에서 오른쪽 마우스를 클릭하면 Register MySQL Server 메뉴가 있습니다. 클릭&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/StB_kyCTHTI/AAAAAAAABsI/MNJaPpuXuLc/s1600-h/mysql_reg_01.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 341px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5390949023845915954" border="0" alt="" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/StB_kyCTHTI/AAAAAAAABsI/MNJaPpuXuLc/s400/mysql_reg_01.jpg" /&gt;&lt;/a&gt; 관리자에 대한 비밀번호를 적어줍니다. (관리자의 비밀번호는 설치시 지정한 내용을 적으시면 됩니다)&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StB_klqKTdI/AAAAAAAABsA/HuU3GR9s9qI/s1600-h/mysql_reg_02.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 216px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5390949020523449810" border="0" alt="" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StB_klqKTdI/AAAAAAAABsA/HuU3GR9s9qI/s400/mysql_reg_02.jpg" /&gt;&lt;/a&gt; 저는 넷빈즈에서 바로 SQL를 시작, 중지 시키고자 Basic Properties 탭 옆에 Admin Properties 탭 설정도 함께 했습니다. 메뉴는 다음과 같이 설정하시면 됩니다.&lt;br /&gt;&lt;br /&gt;우선 Path/URL to admin tool: $MYSQL_HOME/bin/mysqladmin.exe&lt;br /&gt;Argument 에는 -u root -ppass(pass가 저의 비밀번호입니다.각자비밀번호를 적으세요) version (version이외 status 등 여러 arguments들을 적으시면 해당 내용이 나타납니다)&lt;br /&gt;&lt;br /&gt;MySql 시작과 종료는 윈도우의 net 메뉴를 사용합니다.&lt;br /&gt;따라서 Path to start Command: C:/Windows/System32/net.exe 를 브라우저에서 찾아 넣고&lt;br /&gt;Arguments 로 start mysql를,&lt;br /&gt;&lt;br /&gt;Path to stop Command: C:/Windows/System32/net.exe 를 브라우저에서 찾아 넣고&lt;br /&gt;Arguments 로 stop mysql를 적으시면 됩니다.&lt;br /&gt;&lt;br /&gt;OK&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StB_kAKpXvI/AAAAAAAABr4/dCVDnzb33Lc/s1600-h/mysql_reg_03.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 216px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5390949010459156210" border="0" alt="" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StB_kAKpXvI/AAAAAAAABr4/dCVDnzb33Lc/s400/mysql_reg_03.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;이제 mysql 에 샘플 데이터베이스를 추가설치하도록 하겠습니다. (이 작업은 추후 Mysql 연동 프로젝트에서 샘플 DB로 사용할 예정이라 추가하는 것입니다.)&lt;br /&gt;&lt;br /&gt;샘플데이터베이스의 스키마 파일을 따로 받으실 수도 있고, 넷빈즈의 플러그인 센터를 통해 작업할 수도 있습니다.&lt;br /&gt;저는 후자를 선택했습니다.&lt;br /&gt;도구-플러그인&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StB_jyJY0xI/AAAAAAAABrw/nQsBdLpR0ZU/s1600-h/mysql_reg_04.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 341px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5390949006695781138" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StB_jyJY0xI/AAAAAAAABrw/nQsBdLpR0ZU/s400/mysql_reg_04.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;Sakila DB 플러그인 선택 - 설치 클릭&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StB_jU2mQZI/AAAAAAAABro/xw6EREURFOA/s1600-h/mysql_reg_05.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 241px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5390948998832341394" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StB_jU2mQZI/AAAAAAAABro/xw6EREURFOA/s400/mysql_reg_05.jpg" /&gt;&lt;/a&gt; 다음&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StB_2_kyEEI/AAAAAAAABsw/m5XuyXt4U6s/s1600-h/mysql_reg_06.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 357px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5390949336717856834" border="0" alt="" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StB_2_kyEEI/AAAAAAAABsw/m5XuyXt4U6s/s400/mysql_reg_06.jpg" /&gt;&lt;/a&gt; 동의 체크후 다음&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StB_2lkDWEI/AAAAAAAABso/SUpJahc2qVc/s1600-h/mysql_reg_07.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 357px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5390949329735473218" border="0" alt="" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StB_2lkDWEI/AAAAAAAABso/SUpJahc2qVc/s400/mysql_reg_07.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/StB_2OFK55I/AAAAAAAABsg/TW9nUblb4_A/s1600-h/mysql_reg_08.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 357px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5390949323431929746" border="0" alt="" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/StB_2OFK55I/AAAAAAAABsg/TW9nUblb4_A/s400/mysql_reg_08.jpg" /&gt;&lt;/a&gt; 마침&lt;br /&gt;Services 탭에서 Database- Mysql 에서 오른쪽 마우스 클릭&lt;br /&gt;create Database... 메뉴 선택&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/StCE_xMXQXI/AAAAAAAABtI/t61MUPLNTCY/s1600-h/mysql_reg_01.jpg"&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StB_1125HFI/AAAAAAAABsY/SvdYtTV6N2c/s1600-h/mysql_reg_09.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 341px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5390949316929592402" border="0" alt="" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StB_1125HFI/AAAAAAAABsY/SvdYtTV6N2c/s400/mysql_reg_09.jpg" /&gt;&lt;/a&gt; 새 데이터베이스 이름은 sakila&lt;br /&gt;OK&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StB_1bG8gII/AAAAAAAABsQ/jvdmXMd8Zf8/s1600-h/mysql_reg_10.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 127px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5390949309749166210" border="0" alt="" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StB_1bG8gII/AAAAAAAABsQ/jvdmXMd8Zf8/s400/mysql_reg_10.jpg" /&gt;&lt;/a&gt; 그럼 팝업창이 뜨는데 거기서 yes (이 그림 캡처는 못했습니다. 깜박 잊어버리고 바로 눌렀다는..쩝.. --; ) 아무튼 그렇게 되면 주욱~ 설치가 완료된 후 저렇게 sakila 데이터베이스가 보입니다.&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StCAEt_yh7I/AAAAAAAABtA/gwJqpnBiZyI/s1600-h/mysql_reg_11.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 341px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5390949572517463986" border="0" alt="" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StCAEt_yh7I/AAAAAAAABtA/gwJqpnBiZyI/s400/mysql_reg_11.jpg" /&gt;&lt;/a&gt; sakila- table - actor 에서 마우스 오른쪽 클릭 - view data 클릭&lt;/p&gt;&lt;p&gt;select 문이 호출되고 actor 내용이 출력됩니다&lt;br /&gt;&lt;/p&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StCAEYXCCGI/AAAAAAAABs4/y-0EojayoIs/s1600-h/mysql_reg_12.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 341px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5390949566709368930" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StCAEYXCCGI/AAAAAAAABs4/y-0EojayoIs/s400/mysql_reg_12.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;이상이 mysql 사용 및 sakila DB 설치였습니다.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6811062799606447528-3825450439712627313?l=netbeans-korean.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Netbeans-koreanBy/~4/Xj5U8niPjCo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://netbeans-korean.blogspot.com/feeds/3825450439712627313/comments/default" title="게시물 덧글" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=6811062799606447528&amp;postID=3825450439712627313" title="0개의 덧글" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6811062799606447528/posts/default/3825450439712627313?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6811062799606447528/posts/default/3825450439712627313?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Netbeans-koreanBy/~3/Xj5U8niPjCo/671-mysql-sakila-db.html" title="넷빈즈 6.7.1에서 Mysql 사용하기 및 Sakila DB 설치하기" /><author><name>강여사(J.Y.Kang)</name><uri>http://www.blogger.com/profile/17450510931308610527</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10873429884942954536" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_fNtFXU_t3Yc/StB_kyCTHTI/AAAAAAAABsI/MNJaPpuXuLc/s72-c/mysql_reg_01.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://netbeans-korean.blogspot.com/2009/10/671-mysql-sakila-db.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkEFSHw7cSp7ImA9WxNWEUU.&quot;"><id>tag:blogger.com,1999:blog-6811062799606447528.post-2712767265025416484</id><published>2009-10-10T05:12:00.000-07:00</published><updated>2009-10-10T07:23:39.209-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-10T07:23:39.209-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="mysql" /><category scheme="http://www.blogger.com/atom/ns#" term="netbeans" /><title>넷빈 6.7.1에서 하이버네이트 사용하기-SwingGUI</title><content type="html">이번에 올릴 내용은 하이버네이트(hibernate) 프레임워크 사용에 관한 내용입니다.&lt;br /&gt;하이버네이트는 DB 프레임워크중 하나로 자바 환경에서 객체/관계형 매핑 도구입니다. 이러한 ORM(Object/Relational Mapping, ORM)이라는 용어는 객체 모델을 SQL 기반의 스키마를 사용해서 관계형 데이터 모델로 데이터 표현을 매핑하는 기술을 가르킵니다.&lt;br /&gt;이러한 ORM 으로는 Toplink(http://www.oracle.com/technology/global/kr/products/ias/toplink/index.html)와 eclipselink(www.eclipse.org/eclipselink) 등이 있습니다. SQL Mapper의 iBatis (http://ibatis.apache.org/index.html) 도 있구요. 자세한 내용은 해당 사이트 등을 참고하시기 바랍니다.&lt;br /&gt;넷빈 6.7.1에는 위에 언급한 3개의 ORM이 넷빈에 기본적으로 포함되어 있습니다. 따라서 많은 부분 작업이 수월하게 진행됩니다. 그러한 방법을 앞으로 스윙(SwingGUI), 웹 등 기타 프로젝트를 통해 살펴보도록 하겠습니다.&lt;br /&gt;&lt;br /&gt;우선 이 프로젝트에서는 Mysql 데이터베이스 서버와 샘플 데이터베이스 Sakila 를 사용합니다. 따라서 이러한 설정에 대해서는 이전 게시물을 참조하시기 바랍니다.&lt;br /&gt;&lt;br /&gt;환경&lt;br /&gt;넷빈즈 6.7.1&lt;br /&gt;데이터베이스 서버 Mysql 5.1&lt;br /&gt;샘플데이터베이스 Sakila&lt;br /&gt;&lt;br /&gt;그럼 프로젝트를 시작하겠습니다.&lt;br /&gt;File - new project&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StB6ihm-xSI/AAAAAAAABmI/9YsKqe8G5uk/s1600-h/hibernate_swing_01.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 341px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5390943487518491938" border="0" alt="" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StB6ihm-xSI/AAAAAAAABmI/9YsKqe8G5uk/s400/hibernate_swing_01.jpg" /&gt;&lt;/a&gt; Java - Java Application 다음&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StB6iPjlntI/AAAAAAAABmA/h4H1z73JoZc/s1600-h/hibernate_swing_02.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 276px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5390943482672422610" border="0" alt="" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StB6iPjlntI/AAAAAAAABmA/h4H1z73JoZc/s400/hibernate_swing_02.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;프로젝트 이름: DVDStoreAdmin&lt;br /&gt;경로는 적당히&lt;br /&gt;마침&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StB6hy5ADzI/AAAAAAAABl4/KBdDdjYwvMI/s1600-h/hibernate_swing_03.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 260px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5390943474977607474" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StB6hy5ADzI/AAAAAAAABl4/KBdDdjYwvMI/s400/hibernate_swing_03.jpg" /&gt;&lt;/a&gt; 프로젝트에서 마우스 오른쪽 클릭&lt;br /&gt;new - other&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StB6hZwrS_I/AAAAAAAABlw/yYzycjW2E0c/s1600-h/hibernate_swing_04.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 341px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5390943468231805938" border="0" alt="" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StB6hZwrS_I/AAAAAAAABlw/yYzycjW2E0c/s400/hibernate_swing_04.jpg" /&gt;&lt;/a&gt; Hibernate - Hibernate Configuration Wizard 클릭 - 다음&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StB6hLZ7FCI/AAAAAAAABlo/cYFk4DNKdIg/s1600-h/hibernate_swing_05.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 276px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5390943464378274850" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StB6hLZ7FCI/AAAAAAAABlo/cYFk4DNKdIg/s400/hibernate_swing_05.jpg" /&gt;&lt;/a&gt; 파일이름: hibernate.cfg (기본) - 다음&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StB6vWi7DvI/AAAAAAAABmw/oig7XMY0Nhg/s1600-h/hibernate_swing_06.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 276px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5390943707886980850" border="0" alt="" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StB6vWi7DvI/AAAAAAAABmw/oig7XMY0Nhg/s400/hibernate_swing_06.jpg" /&gt;&lt;/a&gt; 데이터베이스 커넥션을 sakila 커넥션으로 (드래그메뉴에서 선택)jdbc:mysql://localhost:3306/sakila&lt;br /&gt;마침&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StB6vHNHGsI/AAAAAAAABmo/bdYcs7NvoOw/s1600-h/hibernate_swing_07.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 257px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5390943703768963778" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StB6vHNHGsI/AAAAAAAABmo/bdYcs7NvoOw/s400/hibernate_swing_07.jpg" /&gt;&lt;/a&gt; 프로젝트의 libraries 에 hibernate 관련 파일들이 추가된 것을 볼 수 있습니다.&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StB6uyT240I/AAAAAAAABmg/ovk4k1aGwYE/s1600-h/hibernate_swing_08.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 341px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5390943698160116546" border="0" alt="" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StB6uyT240I/AAAAAAAABmg/ovk4k1aGwYE/s400/hibernate_swing_08.jpg" /&gt;&lt;/a&gt; 오른쪽 편집기 메뉴(Design) 에서 Configuration Properties 를 확장한 후 add 버튼 클릭&lt;/p&gt;&lt;p&gt;드래그메뉴에서 hibernate_show.sql 선택 - true - OK&lt;/p&gt;&lt;p&gt;(이 작업으로 하이버네이트의 SQL 이 console 창에 나타나게 됩니다)&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StB6uWWgmJI/AAAAAAAABmY/zeCqudpN10U/s1600-h/hibernate_swing_09.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 341px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5390943690655045778" border="0" alt="" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StB6uWWgmJI/AAAAAAAABmY/zeCqudpN10U/s400/hibernate_swing_09.jpg" /&gt;&lt;/a&gt; XML 탭 클릭 - design 으로 작업된 내용 확인&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StB6t-1J4KI/AAAAAAAABmQ/0_T75sHwgqc/s1600-h/hibernate_swing_10.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 341px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5390943684341129378" border="0" alt="" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StB6t-1J4KI/AAAAAAAABmQ/0_T75sHwgqc/s400/hibernate_swing_10.jpg" /&gt;&lt;/a&gt; 프로젝트에서 마우스 오른쪽 클릭 - new - other&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StB67iJtfuI/AAAAAAAABnY/YO4Sh0RzpYo/s1600-h/hibernate_swing_11.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 341px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5390943917160890082" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StB67iJtfuI/AAAAAAAABnY/YO4Sh0RzpYo/s400/hibernate_swing_11.jpg" /&gt;&lt;/a&gt; Hibernate - Hibernate Util.java 클릭&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/StB67TX9MGI/AAAAAAAABnQ/KL8lUgiqHPA/s1600-h/hibernate_swing_12.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 276px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5390943913194106978" border="0" alt="" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/StB67TX9MGI/AAAAAAAABnQ/KL8lUgiqHPA/s400/hibernate_swing_12.jpg" /&gt;&lt;/a&gt; 클래스 이름은 HibernateUtil&lt;br /&gt;마침&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StB6649t-aI/AAAAAAAABnI/i17zwkxt3XY/s1600-h/hibernate_swing_13.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 276px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5390943906104736162" border="0" alt="" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StB6649t-aI/AAAAAAAABnI/i17zwkxt3XY/s400/hibernate_swing_13.jpg" /&gt;&lt;/a&gt; 프로젝트에서 마우스 오른쪽 클릭 - new - other&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StB66R_iskI/AAAAAAAABnA/vA-F6Z00t94/s1600-h/hibernate_swing_14.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 341px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5390943895643402818" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StB66R_iskI/AAAAAAAABnA/vA-F6Z00t94/s400/hibernate_swing_14.jpg" /&gt;&lt;/a&gt; Hibernate - Hibernate Reverse Engineering Wizard - 다음&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StB66HMjSOI/AAAAAAAABm4/qqh9ozyT6HM/s1600-h/hibernate_swing_15.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 276px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5390943892745177314" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StB66HMjSOI/AAAAAAAABm4/qqh9ozyT6HM/s400/hibernate_swing_15.jpg" /&gt;&lt;/a&gt; 파일 이름: hibernate.reverg (기본)&lt;br /&gt;다음&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StB7JoZqjpI/AAAAAAAABoA/qRDfMYJgnfQ/s1600-h/hibernate_swing_16.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 276px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5390944159356587666" border="0" alt="" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StB7JoZqjpI/AAAAAAAABoA/qRDfMYJgnfQ/s400/hibernate_swing_16.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;Configuration File: hibernate.cfg.xml&lt;br /&gt;Available Tables 의 actor 를 선택(add) - 그림 참조&lt;br /&gt;마침&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StB7JKJnYeI/AAAAAAAABn4/GbvkATtFR3M/s1600-h/hibernate_swing_17.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 270px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5390944151236207074" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StB7JKJnYeI/AAAAAAAABn4/GbvkATtFR3M/s400/hibernate_swing_17.jpg" /&gt;&lt;/a&gt; 만들어진 xml 확인&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/StB7IxbzMGI/AAAAAAAABnw/suxBvyWyzZU/s1600-h/hibernate_swing_18.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 341px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5390944144601591906" border="0" alt="" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/StB7IxbzMGI/AAAAAAAABnw/suxBvyWyzZU/s400/hibernate_swing_18.jpg" /&gt;&lt;/a&gt; 프로젝트에서 마우스 오른쪽 클릭 - new - other&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StB7ItQu3OI/AAAAAAAABno/e927YjHxxQ4/s1600-h/hibernate_swing_19.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 341px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5390944143481429218" border="0" alt="" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StB7ItQu3OI/AAAAAAAABno/e927YjHxxQ4/s400/hibernate_swing_19.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;Hibernate - Hibernate Mapping file and POJOs from Databases... 선택&lt;br /&gt;다음&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StB7IM-lQcI/AAAAAAAABng/tzRGOuAsnXY/s1600-h/hibernate_swing_20.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 276px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5390944134815367618" border="0" alt="" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StB7IM-lQcI/AAAAAAAABng/tzRGOuAsnXY/s400/hibernate_swing_20.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;그림을 참고하여 xml 파일 설정(기본), Code Generation Settings: 아래 2개 선택&lt;br /&gt;Package 이름은 sakila.entity 로 줬슴&lt;br /&gt;마침&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/StB7aGzqn6I/AAAAAAAABoo/bAMFFOpKjZU/s1600-h/hibernate_swing_21.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 273px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5390944442396614562" border="0" alt="" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/StB7aGzqn6I/AAAAAAAABoo/bAMFFOpKjZU/s400/hibernate_swing_21.jpg" /&gt;&lt;/a&gt; 내용 확인&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/StB7Z-dTJxI/AAAAAAAABog/8QR5ErLlKyU/s1600-h/hibernate_swing_22.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 341px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5390944440155318034" border="0" alt="" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/StB7Z-dTJxI/AAAAAAAABog/8QR5ErLlKyU/s400/hibernate_swing_22.jpg" /&gt;&lt;/a&gt; 이제 프로젝트의 UI 를 만듭니다.&lt;/p&gt;&lt;p&gt;프로젝트에서 마우스 오른쪽 클릭 - new - JFrame Form 선택&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StB7ZNARtUI/AAAAAAAABoY/V02S4JAd3Jg/s1600-h/hibernate_swing_23.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 341px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5390944426880251202" border="0" alt="" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StB7ZNARtUI/AAAAAAAABoY/V02S4JAd3Jg/s400/hibernate_swing_23.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;클래스 이름은: DVDStoreAdmin&lt;br /&gt;패키지 이름은: sakila.ui&lt;br /&gt;마침&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StB7Y-I9GuI/AAAAAAAABoQ/LVf8hqqi3eI/s1600-h/hibernate_swing_24.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 276px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5390944422890117858" border="0" alt="" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StB7Y-I9GuI/AAAAAAAABoQ/LVf8hqqi3eI/s400/hibernate_swing_24.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;JLabel을 3개 끌어다 Actor Profile, first Name:, last Name: 등으로 text 변경&lt;br /&gt;JTextField 를 2개 끌어다 first Name: 옆에 하나, last Name 옆에 하나 놓는다.&lt;br /&gt;JButton 1개 끌어다 last Name 텍스트필드 옆에 놓습니다.&lt;br /&gt;Table도 하나 끌어다 아래에 위치&lt;br /&gt;각 요소 의 var 변경을 위해 해당 컴포넌트에서 마우스 오른쪽 클릭 - Change Variable Name 클릭&lt;br /&gt;&lt;br /&gt;컴포넌트 요소(기본) -&gt; 변경할 variable 이름&lt;br /&gt;jTextField1 -&gt; firstNameTextField&lt;br /&gt;jTextField2 -&gt; lastNameTextField&lt;br /&gt;jButton1 -&gt; queryButton&lt;br /&gt;jTable1 -&gt; resultTable&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/StB7YSFp-3I/AAAAAAAABoI/foBO2xtaTu4/s1600-h/hibernate_swing_25.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 341px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5390944411065121650" border="0" alt="" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/StB7YSFp-3I/AAAAAAAABoI/foBO2xtaTu4/s400/hibernate_swing_25.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/StB7q3ErSmI/AAAAAAAABpQ/AHKC1txrfA8/s1600-h/hibernate_swing_26.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 341px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5390944730230770274" border="0" alt="" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/StB7q3ErSmI/AAAAAAAABpQ/AHKC1txrfA8/s400/hibernate_swing_26.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StB7qQ-kdZI/AAAAAAAABpI/XcJGZZ2wZ-o/s1600-h/hibernate_swing_27.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 341px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5390944720004609426" border="0" alt="" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StB7qQ-kdZI/AAAAAAAABpI/XcJGZZ2wZ-o/s400/hibernate_swing_27.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StB7p6dRjYI/AAAAAAAABpA/fsTXnkYiPMs/s1600-h/hibernate_swing_28.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 341px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5390944713959378306" border="0" alt="" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StB7p6dRjYI/AAAAAAAABpA/fsTXnkYiPMs/s400/hibernate_swing_28.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StB7pRieWKI/AAAAAAAABo4/aDCHRBZsl5U/s1600-h/hibernate_swing_29.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 341px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5390944702975334562" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StB7pRieWKI/AAAAAAAABo4/aDCHRBZsl5U/s400/hibernate_swing_29.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/StB7pCx-ONI/AAAAAAAABow/AgyclyjcQxU/s1600-h/hibernate_swing_30.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 341px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5390944699013806290" border="0" alt="" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/StB7pCx-ONI/AAAAAAAABow/AgyclyjcQxU/s400/hibernate_swing_30.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/StB77sKE2AI/AAAAAAAABp4/hKpHT4kjB-8/s1600-h/hibernate_swing_31.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 341px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5390945019358402562" border="0" alt="" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/StB77sKE2AI/AAAAAAAABp4/hKpHT4kjB-8/s400/hibernate_swing_31.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StB77M-UdWI/AAAAAAAABpw/Ymgn-pcvBck/s1600-h/hibernate_swing_32.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 341px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5390945010987595106" border="0" alt="" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StB77M-UdWI/AAAAAAAABpw/Ymgn-pcvBck/s400/hibernate_swing_32.jpg" /&gt;&lt;/a&gt; 텍스트필드안의 내용을 지우고자 할때에는 오른쪽의 properties 창에서 text 안에 글을 지우고 Enter 키를 입력하여 변경사항을 반영하면 됩니다.&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/StB764wPpSI/AAAAAAAABpo/65VdhG9JqVk/s1600-h/hibernate_swing_33.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 341px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5390945005559850274" border="0" alt="" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/StB764wPpSI/AAAAAAAABpo/65VdhG9JqVk/s400/hibernate_swing_33.jpg" /&gt;&lt;/a&gt; 하이버네이스 쿼리수행을 위해 &lt;/p&gt;&lt;p&gt;default package 의 hibernate.cfg.xml 에서 마우스오른쪽을 클릭 - Run HQL Query 선택&lt;br /&gt;&lt;/p&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/StB76XS1YjI/AAAAAAAABpg/R0GsVHhUA9o/s1600-h/hibernate_swing_34.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 341px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5390944996578124338" border="0" alt="" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/StB76XS1YjI/AAAAAAAABpg/R0GsVHhUA9o/s400/hibernate_swing_34.jpg" /&gt;&lt;/a&gt; 오른쪽에 제시된 창에&lt;br /&gt;from Actor 를 입력(타이핑)하고 위의 run 아이콘을 누르면 해당 쿼리 결과(result)가 출력&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StB76JKxjcI/AAAAAAAABpY/TT0u_EWYGr4/s1600-h/hibernate_swing_35.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 341px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5390944992786222530" border="0" alt="" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StB76JKxjcI/AAAAAAAABpY/TT0u_EWYGr4/s400/hibernate_swing_35.jpg" /&gt;&lt;/a&gt; result 옆에 탭인 SQL 를 선택하여 HQL 쿼리 확인&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StB8SS1_lqI/AAAAAAAABqg/TxEaV_llGRs/s1600-h/hibernate_swing_36.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 341px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5390945407700276898" border="0" alt="" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StB8SS1_lqI/AAAAAAAABqg/TxEaV_llGRs/s400/hibernate_swing_36.jpg" /&gt;&lt;/a&gt; 위의 쿼리를 변경하면 잠시후 아래 SQL 이 변경됨을 알 수 있습니다.&lt;br /&gt;from Actor a where a.firstName like 'PE%'&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/StB8SKP2hWI/AAAAAAAABqY/eHytjBpDg00/s1600-h/hibernate_swing_37.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 341px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5390945405392815458" border="0" alt="" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/StB8SKP2hWI/AAAAAAAABqY/eHytjBpDg00/s400/hibernate_swing_37.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;or&lt;br /&gt;from Actor a where a.lastName like 'MO%'&lt;br /&gt;등&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StB8Ru2n7tI/AAAAAAAABqQ/kf-OSKxbsO8/s1600-h/hibernate_swing_38.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 341px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5390945398039244498" border="0" alt="" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StB8Ru2n7tI/AAAAAAAABqQ/kf-OSKxbsO8/s400/hibernate_swing_38.jpg" /&gt;&lt;/a&gt; 이제 FORM 클래스 편집을 위해 sakila.ui 의 DVDStoreAdmin.java 의 source 탭 클릭&lt;/p&gt;&lt;p&gt;생성자 아래에 2개의 쿼리 문자열 추가&lt;br /&gt;&lt;strong&gt;private static String QUERY_BASED_ON_FIRST_NAME="from Actor a where a.firstName like '";&lt;br /&gt;private static String QUERY_BASED_ON_LAST_NAME="from Actor a where a.lastName like '";&lt;/strong&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StB8RZkPNZI/AAAAAAAABqI/CY3DoTq1gkQ/s1600-h/hibernate_swing_39.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 341px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5390945392324982162" border="0" alt="" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StB8RZkPNZI/AAAAAAAABqI/CY3DoTq1gkQ/s400/hibernate_swing_39.jpg" /&gt;&lt;/a&gt; 아래 메소드 들 추가&lt;br /&gt;==========================&lt;br /&gt;private void runQueryBasedOnFirstName() {&lt;br /&gt;executeHQLQuery(QUERY_BASED_ON_FIRST_NAME + firstNameTextField.getText() + "%'");&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;private void runQueryBasedOnLastName() {&lt;br /&gt;executeHQLQuery(QUERY_BASED_ON_LAST_NAME + lastNameTextField.getText() + "%'");&lt;br /&gt;}&lt;br /&gt;private void executeHQLQuery(String hql) {&lt;br /&gt;try {&lt;br /&gt;Session session = HibernateUtil.getSessionFactory().openSession();&lt;br /&gt;session.beginTransaction();&lt;br /&gt;Query q = session.createQuery(hql);&lt;br /&gt;List resultList = q.list();&lt;br /&gt;displayResult(resultList);&lt;br /&gt;session.getTransaction().commit();&lt;br /&gt;} catch (HibernateException he) {&lt;br /&gt;he.printStackTrace();&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;==========================&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/StB8QgE4F4I/AAAAAAAABqA/snffjqEVMsM/s1600-h/hibernate_swing_40.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 341px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5390945376892622722" border="0" alt="" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/StB8QgE4F4I/AAAAAAAABqA/snffjqEVMsM/s400/hibernate_swing_40.jpg" /&gt;&lt;/a&gt; 임포트 문제 해결을 위해 공백에서 마우스 오른쪽 클릭 - fix import 선택&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StB8jgef5vI/AAAAAAAABrI/NM_V_fTZR1o/s1600-h/hibernate_swing_41.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 341px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5390945703417603826" border="0" alt="" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StB8jgef5vI/AAAAAAAABrI/NM_V_fTZR1o/s400/hibernate_swing_41.jpg" /&gt;&lt;/a&gt; 클래스 선택&lt;br /&gt;(org.hibernate.Query, org.hibernate.Session) and java.util.List )&lt;br /&gt;OK&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/StB8jBpmTVI/AAAAAAAABrA/o1sJAaw2jkc/s1600-h/hibernate_swing_42.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 248px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5390945695142661458" border="0" alt="" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/StB8jBpmTVI/AAAAAAAABrA/o1sJAaw2jkc/s400/hibernate_swing_42.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;버튼에 이벤트 작업을 하기 위해 Design 탭에서 JButton을 클릭하면 source의 메소드 편집창이 나타납니다.&lt;br /&gt;다음 내용 추가&lt;br /&gt;======================================&lt;br /&gt;if(!firstNameTextField.getText().trim().equals("")) {&lt;br /&gt;runQueryBasedOnFirstName();&lt;br /&gt;} else if(!lastNameTextField.getText().trim().equals("")) {&lt;br /&gt;runQueryBasedOnLastName();&lt;br /&gt;}&lt;br /&gt;======================================&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StB8irQ9uqI/AAAAAAAABq4/E5Ab8tuvV_s/s1600-h/hibernate_swing_43.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 341px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5390945689133759138" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StB8irQ9uqI/AAAAAAAABq4/E5Ab8tuvV_s/s400/hibernate_swing_43.jpg" /&gt;&lt;/a&gt; 다음 메소드 추가&lt;br /&gt;=======================================&lt;br /&gt;private void displayResult(List resultList) {&lt;br /&gt;Vector&lt;string&gt; tableHeaders = new Vector&lt;string&gt;();&lt;br /&gt;Vector tableData = new Vector();&lt;br /&gt;tableHeaders.add("ActorId");&lt;br /&gt;tableHeaders.add("FirstName");&lt;br /&gt;tableHeaders.add("LastName");&lt;br /&gt;tableHeaders.add("LastUpdated");&lt;br /&gt;&lt;br /&gt;for(Object o : resultList) {&lt;br /&gt;Actor actor = (Actor)o;&lt;br /&gt;Vector&amp;lt;object&amp;gt;&lt;br /&gt;oneRow = new Vector&amp;lt;object&amp;gt;();&lt;br /&gt;oneRow.add(actor.getActorId());&lt;br /&gt;oneRow.add(actor.getFirstName());&lt;br /&gt;oneRow.add(actor.getLastName());&lt;br /&gt;oneRow.add(actor.getLastUpdate());&lt;br /&gt;tableData.add(oneRow);&lt;br /&gt;}&lt;br /&gt;resultTable.setModel(new DefaultTableModel(tableData, tableHeaders));&lt;br /&gt;}&lt;br /&gt;=======================================&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/StB8iFimxZI/AAAAAAAABqw/YIudrvggo4I/s1600-h/hibernate_swing_44.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 341px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5390945679007204754" border="0" alt="" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/StB8iFimxZI/AAAAAAAABqw/YIudrvggo4I/s400/hibernate_swing_44.jpg" /&gt;&lt;/a&gt; 임포트 해결을 위해 fix import&lt;br /&gt;(java.util.Vector)&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StCW7ZsyT7I/AAAAAAAABto/SZph0Cpw8ZE/s1600-h/hibernate_swing_45.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 341px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5390974701217664946" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StCW7ZsyT7I/AAAAAAAABto/SZph0Cpw8ZE/s400/hibernate_swing_45.jpg" /&gt;&lt;/a&gt; 프로젝트 실행 - run&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StCW69XMnxI/AAAAAAAABtg/IOiUvf4VXwM/s1600-h/hibernate_swing_46.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 341px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5390974693610921746" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/StCW69XMnxI/AAAAAAAABtg/IOiUvf4VXwM/s400/hibernate_swing_46.jpg" /&gt;&lt;/a&gt; main 클래스 설정 - OK&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StCW6Y-UTHI/AAAAAAAABtY/EO1EHMC6cvA/s1600-h/hibernate_swing_47.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 380px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5390974683842890866" border="0" alt="" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/StCW6Y-UTHI/AAAAAAAABtY/EO1EHMC6cvA/s400/hibernate_swing_47.jpg" /&gt;&lt;/a&gt;테스트:&lt;/p&gt;&lt;p&gt;Swing 창에서 first Name 의 텍스트 필드에 Pe 로 적고 버튼을 클릭하면 Pe로 시작되는 actor에 대해 아래 테이블에 나타납니다.&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/StCW56h7dgI/AAAAAAAABtQ/zL9YWP4dBgE/s1600-h/hibernate_swing_48.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 313px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5390974675670758914" border="0" alt="" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/StCW56h7dgI/AAAAAAAABtQ/zL9YWP4dBgE/s400/hibernate_swing_48.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;이상이 간단히 알아본 하이버네이트 사용 - Swing 프로젝트입니다.&lt;/p&gt;&lt;p&gt;다음에는 웹 어플리케이션으로 하이버네이트를 사용해보도록 하겠습니다.&lt;/p&gt;&lt;p&gt;기타 여러 쿼리 수행문들을 응용해보시기 바랍니다. &lt;/p&gt;&lt;p&gt;수고하셨습니다. *^^*&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6811062799606447528-2712767265025416484?l=netbeans-korean.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Netbeans-koreanBy/~4/2amY9C4pb34" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://netbeans-korean.blogspot.com/feeds/2712767265025416484/comments/default" title="게시물 덧글" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=6811062799606447528&amp;postID=2712767265025416484" title="0개의 덧글" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6811062799606447528/posts/default/2712767265025416484?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6811062799606447528/posts/default/2712767265025416484?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Netbeans-koreanBy/~3/2amY9C4pb34/671-swinggui.html" title="넷빈 6.7.1에서 하이버네이트 사용하기-SwingGUI" /><author><name>강여사(J.Y.Kang)</name><uri>http://www.blogger.com/profile/17450510931308610527</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10873429884942954536" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_fNtFXU_t3Yc/StB6ihm-xSI/AAAAAAAABmI/9YsKqe8G5uk/s72-c/hibernate_swing_01.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://netbeans-korean.blogspot.com/2009/10/671-swinggui.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0cGRHc-fSp7ImA9WxNXGE0.&quot;"><id>tag:blogger.com,1999:blog-6811062799606447528.post-6680562418311529962</id><published>2009-10-05T22:25:00.001-07:00</published><updated>2009-10-05T23:03:45.955-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-05T23:03:45.955-07:00</app:edited><title>jmaki의 accordion들 사용하기(dojo,jquery,jmaki)-advanced</title><content type="html">이번에는 jmaki 위젯의 accordion들을 프레임워크별로 사용해보도록 하겠습니다.&lt;br /&gt;참고로 jmaki는 기본 설치에는 포함되어 있지 않기때문에 사전에 jmaki 플러그인을 설치후 진행하도록 합니다. (jmaki 플러그인 설치 방법은 다른 게시물에도 여러번 소개했기에 자세한 사항은 생략하겠습니다. 도구-플러그인-사용가능한 플러그인-jmaki 관련2개의 플러그인 설치-IDE 재시작)&lt;br /&gt;그럼 새로이 프로젝트를 하나 만듭니다.&lt;br /&gt;new project&lt;br /&gt;&lt;p&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/SsrVCl7USuI/AAAAAAAABi4/Z-dEjUrpfMY/s1600-h/jmaki_jquery_01.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 339px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5389354144619580130" border="0" alt="" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/SsrVCl7USuI/AAAAAAAABi4/Z-dEjUrpfMY/s400/jmaki_jquery_01.jpg" /&gt;&lt;/a&gt; java web - web application&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/SsrVCOvw9qI/AAAAAAAABiw/a3UIY-Wlzic/s1600-h/jmaki_jquery_02.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 276px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5389354138397111970" border="0" alt="" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/SsrVCOvw9qI/AAAAAAAABiw/a3UIY-Wlzic/s400/jmaki_jquery_02.jpg" /&gt;&lt;/a&gt;프로젝트명: jmakiJqueryProject (적당히) &lt;/p&gt;&lt;p&gt;경로도 적당히&lt;/p&gt;&lt;p&gt;다음&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/SsrVB1rLLPI/AAAAAAAABio/rkLYQwtxMBY/s1600-h/jmaki_jquery_03.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 276px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5389354131666971890" border="0" alt="" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/SsrVB1rLLPI/AAAAAAAABio/rkLYQwtxMBY/s400/jmaki_jquery_03.jpg" /&gt;&lt;/a&gt; 서버는 웹이 지원되면 됩니다. 저는 glassfish v3 로 진행했습니다.&lt;/p&gt;&lt;p&gt;다음&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/SsrVBced9DI/AAAAAAAABig/xN9h_yzVa28/s1600-h/jmaki_jquery_04.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 275px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5389354124902790194" border="0" alt="" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/SsrVBced9DI/AAAAAAAABig/xN9h_yzVa28/s400/jmaki_jquery_04.jpg" /&gt;&lt;/a&gt; jMaki Ajax Framework 체크&lt;/p&gt;&lt;p&gt;아래 CSS에서 3개의 칼럼과 풋터(three column with footer)를 선택합니다.&lt;/p&gt;&lt;p&gt;마침&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/SsrVA7d6zfI/AAAAAAAABiY/7nkSj7eAeyE/s1600-h/jmaki_jquery_05.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 275px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5389354116042116594" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/SsrVA7d6zfI/AAAAAAAABiY/7nkSj7eAeyE/s400/jmaki_jquery_05.jpg" /&gt;&lt;/a&gt; 만들어진 index.jsp 페이지에서 left slider 글씨를 지우고 대신 파레트의 jmaki dojo 의 accordion을 드래그해서 놓습니다.&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/SsrVQg8lVxI/AAAAAAAABjg/CyNb3lc3ECo/s1600-h/jmaki_jquery_06.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 339px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5389354383800882962" border="0" alt="" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/SsrVQg8lVxI/AAAAAAAABjg/CyNb3lc3ECo/s400/jmaki_jquery_06.jpg" /&gt;&lt;/a&gt; 이번에는 right slider 대신 역시 파레트의 jmaki jquery 의 accordion 을 드래그해서 놓습니다.&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/SsrVQDAIeCI/AAAAAAAABjY/lkPNSYSQmtY/s1600-h/jmaki_jquery_07.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 339px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5389354375762704418" border="0" alt="" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/SsrVQDAIeCI/AAAAAAAABjY/lkPNSYSQmtY/s400/jmaki_jquery_07.jpg" /&gt;&lt;/a&gt; 다시 main content 대신 jmaki widgets 의 accordion 을 드래그 해서 놓습니다&lt;/p&gt;&lt;p&gt;(물론 파레트에 보면 다른 accordion 위젯도 있습니다. 그건 각자 알아서 살펴보시기 바랍니다. 이번에는 이렇게 3개...^^;;)&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/SsrVPqMptuI/AAAAAAAABjQ/FNglWYxy1Bg/s1600-h/jmaki_jquery_08.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 339px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5389354369104328418" border="0" alt="" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/SsrVPqMptuI/AAAAAAAABjQ/FNglWYxy1Bg/s400/jmaki_jquery_08.jpg" /&gt;&lt;/a&gt; dojo의 accordion 위젯 내용을 보면 test.jsp 페이지로 내용을 호출하는 예제가 있습니다. 그걸 위해서 test.jsp 를 만듭니다.&lt;/p&gt;&lt;p&gt;프로젝트에서 오른쪽 마우스 클릭 new - jsp&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/SsrVPBVkZII/AAAAAAAABjI/gCaxmIa-9IQ/s1600-h/jmaki_jquery_09.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 339px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5389354358135874690" border="0" alt="" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/SsrVPBVkZII/AAAAAAAABjI/gCaxmIa-9IQ/s400/jmaki_jquery_09.jpg" /&gt;&lt;/a&gt; 이름 test&lt;/p&gt;&lt;p&gt;마침&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/SsrVOkvCwrI/AAAAAAAABjA/JjCll0UN4TA/s1600-h/jmaki_jquery_10.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 211px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5389354350458094258" border="0" alt="" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/SsrVOkvCwrI/AAAAAAAABjA/JjCll0UN4TA/s400/jmaki_jquery_10.jpg" /&gt;&lt;/a&gt; 바디부분에 this is test page 라고 적었습니다&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/SsrVetEr9yI/AAAAAAAABkI/6XdMxW_NiSc/s1600-h/jmaki_jquery_11.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 339px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5389354627574265634" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/SsrVetEr9yI/AAAAAAAABkI/6XdMxW_NiSc/s400/jmaki_jquery_11.jpg" /&gt;&lt;/a&gt; 프로젝트 실행(run)&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/SsrVeEMBvJI/AAAAAAAABkA/yYAJH279cR8/s1600-h/jmaki_jquery_12.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 339px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5389354616599198866" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/SsrVeEMBvJI/AAAAAAAABkA/yYAJH279cR8/s400/jmaki_jquery_12.jpg" /&gt;&lt;/a&gt; 아래 그림이 jmaki 를 사용한 각 위젯들의 기본 예제입니다.&lt;/p&gt;&lt;p&gt;왼쪽이 dojo, 가운데가 jmaki, 그리고 오른쪽이 jquery 의 accordion 들입니다.&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/SsrVddgT4EI/AAAAAAAABj4/2avnGjtdLN4/s1600-h/jmaki_jquery_13.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 360px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5389354606215290946" border="0" alt="" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/SsrVddgT4EI/AAAAAAAABj4/2avnGjtdLN4/s400/jmaki_jquery_13.jpg" /&gt;&lt;/a&gt; 아까 작성한 test.jsp가 dojo(왼쪽)의 magazines 의 내용으로 나타납니다.&lt;/p&gt;&lt;p&gt;dojo나 jquery의 기타 여러 옵션들은 해당사이트의 데모와 문서 등을 통해 더 자세히 살펴볼 수 있습니다. (&lt;a href="http://dojotoolkit.org/"&gt;http://dojotoolkit.org/&lt;/a&gt; &lt;a href="http://jqueryui.com/"&gt;http://jqueryui.com/&lt;/a&gt;)&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/SsrVdFK_EHI/AAAAAAAABjw/hCEcCMfQ2GI/s1600-h/jmaki_jquery_14.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 360px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5389354599683395698" border="0" alt="" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/SsrVdFK_EHI/AAAAAAAABjw/hCEcCMfQ2GI/s400/jmaki_jquery_14.jpg" /&gt;&lt;/a&gt;그럼 이번엔 jmaki의 widgets의 accordion의 테마를 변경해보도록 하겠습니다. 테마 변경을 위해서는 index.jsp 페이지의 적당한 공백에서 마우스 오른쪽을 클릭하면 jmaki 메뉴가 나타납니다.&lt;/p&gt;&lt;p&gt;jmaki-themes-kame(Green) 을 차례로 선택합니다&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/SsrVcsyp5rI/AAAAAAAABjo/8aLMUL7drtw/s1600-h/jmaki_jquery_15.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 339px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5389354593138894514" border="0" alt="" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/SsrVcsyp5rI/AAAAAAAABjo/8aLMUL7drtw/s400/jmaki_jquery_15.jpg" /&gt;&lt;/a&gt; 그런 다음 다시 실행하면 가운데 위젯의 테마가 변경되어 있는 것을 보실 수 있습니다. (다른 테마로의 변경은 각자)&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/SsrVuHb8wTI/AAAAAAAABkw/OuMrR7rWcgI/s1600-h/jmaki_jquery_16.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 360px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5389354892349194546" border="0" alt="" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/SsrVuHb8wTI/AAAAAAAABkw/OuMrR7rWcgI/s400/jmaki_jquery_16.jpg" /&gt;&lt;/a&gt; 약간 살펴보면...&lt;/p&gt;&lt;p&gt;config.json에 테마변경이 추가되어 있는 것을 보실 수 있습니다. 사실 이는 페이지에 대한 설정테마가 글로벌로 변경된 것인데 jmaki의 accordion 위젯은 잘 변화되어 나타났지만 전체 페이지는 변경이 없습니다. 이는 css가 정상 동작하지 않아 그렇습니다&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/SsrVt4-_mQI/AAAAAAAABko/I1oDI8WOWLw/s1600-h/jmaki_jquery_17.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 339px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5389354888469649666" border="0" alt="" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/SsrVt4-_mQI/AAAAAAAABko/I1oDI8WOWLw/s400/jmaki_jquery_17.jpg" /&gt;&lt;/a&gt; 위 설정에 있는 경로 즉, resources/css/themes/kame/theme.css 가 현재는 비어 있습니다.&lt;/p&gt;&lt;p&gt;따라서 이 내용을 채우면 됩니다. (현재 작성되어 있는 orange의 theme.css를 복사하여 적당히 변경합니다. 녹색으로..--;)&lt;/p&gt;&lt;br /&gt;샘플&lt;br /&gt;============================================================&lt;br /&gt;.jmakiTitleBar {&lt;br /&gt;background:#ACCCD5;&lt;br /&gt;}&lt;br /&gt;.jmakiBackround {&lt;br /&gt;background:#47c620;&lt;br /&gt;}&lt;br /&gt;.jmakiBackroundHover {&lt;br /&gt;background:#ecf7e9;&lt;br /&gt;}&lt;br /&gt;.jmakiFont {&lt;br /&gt;color : #FFFFFF;&lt;br /&gt;}&lt;br /&gt;.jmakiFontHover {&lt;br /&gt;color : #e8f5e4;&lt;br /&gt;}&lt;br /&gt;.jmakiShadow {&lt;br /&gt;color : #e8f5e4;&lt;br /&gt;}&lt;br /&gt;body {&lt;br /&gt;background : #FFFFFF;&lt;br /&gt;}&lt;br /&gt;#outerBorder {&lt;br /&gt;background : #FFFFFF;&lt;br /&gt;}&lt;br /&gt;&lt;strong&gt;#header {&lt;br /&gt;color : #000000;&lt;br /&gt;background : #47c620;&lt;br /&gt;}&lt;br /&gt;&lt;/strong&gt;#subheader, #subheader div a {&lt;br /&gt;color : #FFFFFF;&lt;br /&gt;}&lt;br /&gt;#subheader {&lt;br /&gt;border :0;&lt;br /&gt;}&lt;br /&gt;#main {&lt;br /&gt;}&lt;br /&gt;#content {&lt;br /&gt;background : #FFFFFF;&lt;br /&gt;}&lt;br /&gt;#leftColumn {&lt;br /&gt;background : #FFFFFF;&lt;br /&gt;}&lt;br /&gt;#rightColumn {&lt;br /&gt;background : #FFFFFF;&lt;br /&gt;}&lt;br /&gt;#leftSidebar {&lt;br /&gt;background : #FFFFFF;&lt;br /&gt;}&lt;br /&gt;#banner {&lt;br /&gt;}&lt;br /&gt;#footer {&lt;br /&gt;color : #000000;&lt;br /&gt;background : #e8f5e4;&lt;br /&gt;}&lt;br /&gt;============================================================&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/SsrVtcN4F1I/AAAAAAAABkg/ZO_4jNqYqLg/s1600-h/jmaki_jquery_18.jpg"&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/SsrVs8TVWcI/AAAAAAAABkY/YhCrMvsEWWQ/s1600-h/jmaki_jquery_19.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 339px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5389354872180398530" border="0" alt="" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/SsrVs8TVWcI/AAAAAAAABkY/YhCrMvsEWWQ/s400/jmaki_jquery_19.jpg" /&gt;&lt;/a&gt; 다시 실행&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/SsrVscoHH2I/AAAAAAAABkQ/v3YKE_2yfkg/s1600-h/jmaki_jquery_20.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 339px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5389354863677611874" border="0" alt="" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/SsrVscoHH2I/AAAAAAAABkQ/v3YKE_2yfkg/s400/jmaki_jquery_20.jpg" /&gt;&lt;/a&gt; 이제 페이지의 테마가 그린으로 바뀌었슴을 알 수 있습니다. (다른 테마도 같은 방법으로 변경)&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/SsrV_5Z1sCI/AAAAAAAABlY/L6y4rveTctM/s1600-h/jmaki_jquery_21.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 350px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5389355197819891746" border="0" alt="" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/SsrV_5Z1sCI/AAAAAAAABlY/L6y4rveTctM/s400/jmaki_jquery_21.jpg" /&gt;&lt;/a&gt; 그럼 이제 나머지 actions 에 대한 테스트를 해보도록 하겠습니다.&lt;br /&gt;샘플로 제시된 actions 내용은 다음과 같습니다.&lt;br /&gt;=============================================&lt;br /&gt;{label: 'Actions',&lt;br /&gt;menu: [&lt;br /&gt;{ label : 'Select',&lt;br /&gt;action :{topic: '/foo/select',&lt;br /&gt;message: { targetId : 'bar'}}&lt;br /&gt;},&lt;br /&gt;{ label :'Set Content',&lt;br /&gt;action :{topic: '/foo/setContent',&lt;br /&gt;message: { value : 'test.jsp'}}&lt;br /&gt;}&lt;br /&gt;]}&lt;br /&gt;]&lt;br /&gt;}"&lt;br /&gt;=============================================&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/SsrV_g19wRI/AAAAAAAABlQ/85qJfRUZfz4/s1600-h/jmaki_jquery_22.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 339px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5389355191226974482" border="0" alt="" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/SsrV_g19wRI/AAAAAAAABlQ/85qJfRUZfz4/s400/jmaki_jquery_22.jpg" /&gt;&lt;/a&gt; 간단한 action 구현을 위해 footer부분에 dojo 의 table을 드래그해서 놓습니다.(dojo의 table 샘플에 보면 bar 부분이 있습니다. 확인)&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/SsrV_KD9SPI/AAAAAAAABlI/ks7a9wKPNqA/s1600-h/jmaki_jquery_23.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 339px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5389355185111648498" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/SsrV_KD9SPI/AAAAAAAABlI/ks7a9wKPNqA/s400/jmaki_jquery_23.jpg" /&gt;&lt;/a&gt; 그럼 actions 동작을 위해 glue.js 에 다음 코드를 추가 작업을 합니다.&lt;br /&gt;====================================================&lt;br /&gt;jmaki.subscribe("/foo/select", function(args) {&lt;br /&gt;jmaki.publish("/table/select", { targetId: 'bar' });&lt;br /&gt;});&lt;br /&gt;jmaki.subscribe("/foo/setContent", function(args) {&lt;br /&gt;jmaki.log("in mytopic");&lt;br /&gt;var row = {&lt;br /&gt;id : 'new',&lt;br /&gt;title: 'Book Title 3',&lt;br /&gt;author : 'Author 3',&lt;br /&gt;isbn : '4413',&lt;br /&gt;description : 'A Some long description'&lt;br /&gt;};&lt;br /&gt;jmaki.publish("/table/addRow",{ value: row });&lt;br /&gt;jmaki.publish("/table/select", { targetId: 'new' });&lt;br /&gt;});&lt;br /&gt;====================================================&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/SsrV-5zx1tI/AAAAAAAABlA/jkLX0KnFjCY/s1600-h/jmaki_jquery_24.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 339px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5389355180748822226" border="0" alt="" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/SsrV-5zx1tI/AAAAAAAABlA/jkLX0KnFjCY/s400/jmaki_jquery_24.jpg" /&gt;&lt;/a&gt; 다시 실행한후 (run) 가운데 accordion에서 actions 의 select 를 클릭하면 dojo 테이블의 2번째 칼럼이 선택된다. (그림의 노란색) &lt;p&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/SsrV-aSdSKI/AAAAAAAABk4/bWunLKxDOCo/s1600-h/jmaki_jquery_25.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 360px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5389355172287563938" border="0" alt="" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/SsrV-aSdSKI/AAAAAAAABk4/bWunLKxDOCo/s400/jmaki_jquery_25.jpg" /&gt;&lt;/a&gt; 그리고 setContent를 클릭하게 되면 테이블에 새로운 row 가 추가됩니다. (그림의 노란색)&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/SsrWIL_jq3I/AAAAAAAABlg/yQXbzrC_Tfk/s1600-h/jmaki_jquery_26.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 360px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5389355340248886130" border="0" alt="" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/SsrWIL_jq3I/AAAAAAAABlg/yQXbzrC_Tfk/s400/jmaki_jquery_26.jpg" /&gt;&lt;/a&gt; &lt;p&gt;이상이 간단히 살펴본 jmaki  accordion 들이었습니다.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6811062799606447528-6680562418311529962?l=netbeans-korean.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Netbeans-koreanBy/~4/AXI_jDQrnTc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://netbeans-korean.blogspot.com/feeds/6680562418311529962/comments/default" title="게시물 덧글" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=6811062799606447528&amp;postID=6680562418311529962" title="0개의 덧글" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6811062799606447528/posts/default/6680562418311529962?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6811062799606447528/posts/default/6680562418311529962?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Netbeans-koreanBy/~3/AXI_jDQrnTc/jmaki-accordion-dojojqueryjmaki.html" title="jmaki의 accordion들 사용하기(dojo,jquery,jmaki)-advanced" /><author><name>강여사(J.Y.Kang)</name><uri>http://www.blogger.com/profile/17450510931308610527</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10873429884942954536" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_fNtFXU_t3Yc/SsrVCl7USuI/AAAAAAAABi4/Z-dEjUrpfMY/s72-c/jmaki_jquery_01.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://netbeans-korean.blogspot.com/2009/10/jmaki-accordion-dojojqueryjmaki.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ak8HQ38yeSp7ImA9WxNXF0U.&quot;"><id>tag:blogger.com,1999:blog-6811062799606447528.post-8849891453698458634</id><published>2009-10-05T08:17:00.001-07:00</published><updated>2009-10-05T17:27:12.191-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-05T17:27:12.191-07:00</app:edited><title>넷빈에서 jquery 사용하기-basic</title><content type="html">이번에는 넷빈 6.7.1에서 jquery(ajax framework)를 사용해보도록 하겠습니다.&lt;br /&gt;이 시리즈는 일단 기본 jquery와 나중에 jmaki-jquery 로도 살펴볼 예정입니다.&lt;br /&gt;&lt;br /&gt;우선 프로젝트를 새로 만듭니다.&lt;br /&gt;new project &lt;p&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/SsoORrz6rlI/AAAAAAAABf4/7maeYtiP15Y/s1600-h/jquery_01.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 338px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5389135601083264594" border="0" alt="" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/SsoORrz6rlI/AAAAAAAABf4/7maeYtiP15Y/s400/jquery_01.jpg" /&gt;&lt;/a&gt; java web - web application&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/SsoOQ7zUm1I/AAAAAAAABfw/OHYlKPUkcFM/s1600-h/jquery_02.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 276px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5389135588195867474" border="0" alt="" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/SsoOQ7zUm1I/AAAAAAAABfw/OHYlKPUkcFM/s400/jquery_02.jpg" /&gt;&lt;/a&gt; 프로젝트 이름은 적당히 (jqueryproject)&lt;/p&gt;&lt;br /&gt;&lt;p&gt;경로도 적당히 - 다음 클릭&lt;br /&gt;&lt;/p&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/SsoOQn3rcJI/AAAAAAAABfo/05Pxm95RRWM/s1600-h/jquery_03.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 276px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5389135582845431954" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/SsoOQn3rcJI/AAAAAAAABfo/05Pxm95RRWM/s400/jquery_03.jpg" /&gt;&lt;/a&gt; 서버는 웹 지원이면됩니다. (저는 glassfish v3 선택)&lt;br /&gt;마침&lt;br /&gt;&lt;p&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/SsoOQEXWa4I/AAAAAAAABfg/TySfqzkXx8g/s1600-h/jquery_04.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 275px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5389135573314595714" border="0" alt="" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/SsoOQEXWa4I/AAAAAAAABfg/TySfqzkXx8g/s400/jquery_04.jpg" /&gt;&lt;/a&gt; 그럼 이번 프로젝트에서 사용할 jquery 다운로드를 위해 jquery 사이트로 &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://jquery.com/"&gt;http://jquery.com/&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;사이트의 오른쪽에 보면 download 버튼이 있고, 그 위에 2가지 형태로 공급&lt;/p&gt;&lt;br /&gt;&lt;p&gt;2번째의 development 를 체크하고 다운로드 버튼을 누르면 다운로드 사이트로 진행됩니다.&lt;br /&gt;&lt;/p&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/SsoOPsByyKI/AAAAAAAABfY/XI1drNd3BBY/s1600-h/jquery_05.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 340px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5389135566781728930" border="0" alt="" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/SsoOPsByyKI/AAAAAAAABfY/XI1drNd3BBY/s400/jquery_05.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;jquery-1.3.2.js 다운&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/SsoP9kJuxkI/AAAAAAAABgg/tODlqrV-qQ4/s1600-h/jquery_06.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 340px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5389137454453147202" border="0" alt="" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/SsoP9kJuxkI/AAAAAAAABgg/tODlqrV-qQ4/s400/jquery_06.jpg" /&gt;&lt;/a&gt; 스크립트 파일들을 저장할 공간으로 폴더를 새로 만듬&lt;/p&gt;&lt;br /&gt;&lt;p&gt;프로젝트에서 new - folder&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/SsoP9JMKFdI/AAAAAAAABgY/pKqvMZd0108/s1600-h/jquery_07.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 338px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5389137447215568338" border="0" alt="" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/SsoP9JMKFdI/AAAAAAAABgY/pKqvMZd0108/s400/jquery_07.jpg" /&gt;&lt;/a&gt; 폴더 이름은 js&lt;/p&gt;&lt;br /&gt;&lt;p&gt;경로는 browse 버튼을 눌러 web 아래로 위치&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/SsoP8jb0kII/AAAAAAAABgQ/FQl7tiK9x8c/s1600-h/jquery_08.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 338px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5389137437080719490" border="0" alt="" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/SsoP8jb0kII/AAAAAAAABgQ/FQl7tiK9x8c/s400/jquery_08.jpg" /&gt;&lt;/a&gt; 확인후 마침 클릭&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/SsoP8bU6Z1I/AAAAAAAABgI/CiaocIfKFOU/s1600-h/jquery_09.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 276px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5389137434904258386" border="0" alt="" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/SsoP8bU6Z1I/AAAAAAAABgI/CiaocIfKFOU/s400/jquery_09.jpg" /&gt;&lt;/a&gt; 그럼 만들어진 js 폴더에 아까 다운로드 받은 파일을 복사해 놓는다(이 작업은 탐색기에서 프로젝트 폴더로 직접 한다)&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/SsoP72-OCmI/AAAAAAAABgA/tUeth9L8hhw/s1600-h/jquery_10.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 338px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5389137425145399906" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/SsoP72-OCmI/AAAAAAAABgA/tUeth9L8hhw/s400/jquery_10.jpg" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;br /&gt;&lt;p&gt;스크립트 추가&lt;/p&gt;&lt;br /&gt;&lt;p&gt;헤드부분에 jquery 스크립트 추가 - 그림 참고&lt;/p&gt;&lt;br /&gt;&amp;lt;script type="text/javascript" src="js/jquery-1.3.2.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/SsoQ2N70rQI/AAAAAAAABhI/E1w1wh8-hkI/s1600-h/jquery_11.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 338px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5389138427741777154" border="0" alt="" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/SsoQ2N70rQI/AAAAAAAABhI/E1w1wh8-hkI/s400/jquery_11.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;==============================================&lt;br /&gt;$(document).ready(function(){&lt;br /&gt;$("h1").click(function(){&lt;br /&gt;$(this).addClass("blue");&lt;br /&gt;});&lt;br /&gt;});&lt;br /&gt;==============================================&lt;br /&gt;&amp;lt;style type="text/css"&amp;gt;&lt;br /&gt;            .blue { color: blue; }&lt;br /&gt;        &amp;lt;/style&amp;gt;&lt;br /&gt;=============================================&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/SsoQ10xqM5I/AAAAAAAABhA/WECf2cfVETE/s1600-h/jquery_12.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 338px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5389138420988261266" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/SsoQ10xqM5I/AAAAAAAABhA/WECf2cfVETE/s400/jquery_12.jpg" /&gt;&lt;/a&gt; 실행(run file)&lt;/p&gt;&lt;br /&gt;&lt;p&gt;나타난 화면에서 JSP Page 를 클릭하면 파란색으로 바뀜&lt;br /&gt;&lt;/p&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/SsoQ1Q796LI/AAAAAAAABg4/R6wAZeqUuq8/s1600-h/jquery_13.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 265px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5389138411367819442" border="0" alt="" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/SsoQ1Q796LI/AAAAAAAABg4/R6wAZeqUuq8/s400/jquery_13.jpg" /&gt;&lt;/a&gt; addClass("blue"). &lt;- 점을 찍으면 아래 그림과 같이 api가 제공된다. fadeOut("slow")를 선택 &lt;p&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/SsoQ0_4EGOI/AAAAAAAABgw/fDq_HBzt9ms/s1600-h/jquery_14.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 338px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5389138406788045026" border="0" alt="" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/SsoQ0_4EGOI/AAAAAAAABgw/fDq_HBzt9ms/s400/jquery_14.jpg" /&gt;&lt;/a&gt; 기타 여러 사항 추가&lt;/p&gt;==============================&lt;br /&gt;$(document).ready(function(){&lt;br /&gt;$("h1").click(function(){&lt;br /&gt;$(this).addClass("blue").fadeOut("slow");&lt;br /&gt;});&lt;br /&gt;$("a").click(function(event){&lt;br /&gt;alert("나~자바~봐~~~라");&lt;br /&gt;event.preventDefault();&lt;br /&gt;$(this).hide("slow");&lt;br /&gt;});&lt;br /&gt;});&lt;br /&gt;====================================&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/SsoQ0hmwWDI/AAAAAAAABgo/ldD0lNCnP7o/s1600-h/jquery_15.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 338px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5389138398662383666" border="0" alt="" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/SsoQ0hmwWDI/AAAAAAAABgo/ldD0lNCnP7o/s400/jquery_15.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;팁) 만약 메소드들에 있어 브라우저 호환때문에 경고메시지가 뜨거나 함수들에 줄이 그어져있으면 브라우저 설정을 변경한다.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;도구-옵션-기타-JavaScript 에서 internet explorer 7 and later 로 변경 - OK&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/SsoSoNNtjbI/AAAAAAAABhw/qh60NpMJQq8/s1600-h/jquery_14_1.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 341px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5389140386053459378" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/SsoSoNNtjbI/AAAAAAAABhw/qh60NpMJQq8/s400/jquery_14_1.jpg" /&gt;&lt;/a&gt;이번에는 jquery의 UI 중 하나인 accordion을 사용해보자.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;우선 다음 사이트에서 UI 관련파일을 다운로드한다.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://jqueryui.com/download"&gt;http://jqueryui.com/download&lt;/a&gt; (적당한 경로에 다운로드후 압축을 푼다) &lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/SsoSnzQjsII/AAAAAAAABho/4Qlm2f9uPc8/s1600-h/jquery_16.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 381px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5389140379086073986" border="0" alt="" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/SsoSnzQjsII/AAAAAAAABho/4Qlm2f9uPc8/s400/jquery_16.jpg" /&gt;&lt;/a&gt;스타일 작업 추가 - 그림 참조&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/SsoSnRUVTaI/AAAAAAAABhg/Mex_zMADQw0/s1600-h/jquery_17.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 338px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5389140369975102882" border="0" alt="" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/SsoSnRUVTaI/AAAAAAAABhg/Mex_zMADQw0/s400/jquery_17.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;UI 아코디온을 위한 자바스크립트 추가 - 2개 - 그림 참고&lt;br /&gt;&amp;lt;script type="text/javascript" src="js/ui.core.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&amp;lt;script type="text/javascript" src="js/ui.accordion.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/SsoSmwVXZcI/AAAAAAAABhY/kWGUUrMA7n0/s1600-h/jquery_18.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 338px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5389140361121064386" border="0" alt="" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/SsoSmwVXZcI/AAAAAAAABhY/kWGUUrMA7n0/s400/jquery_18.jpg" /&gt;&lt;/a&gt; ============================================&lt;br /&gt;바디부분에 어코디온 내용 추가&lt;br /&gt;div id="infolist"&amp;gt;&lt;br /&gt;&amp;lt;h3&amp;gt;&amp;lt;a href="#"&amp;gt;Mary Adams&amp;lt;/a&amp;gt;&amp;lt;/h3&amp;gt;&lt;br /&gt;&amp;lt;div&amp;gt;&lt;br /&gt;&amp;lt;img src="pix/maryadams.jpg" alt="Mary Adams"&amp;gt;&lt;br /&gt;&amp;lt;ul&amp;gt;&lt;br /&gt;&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;Vice President&amp;lt;/h4&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;phone:&amp;lt;/b&amp;gt; x8234&amp;lt;/li&amp;gt;&lt;br /&gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;office:&amp;lt;/b&amp;gt; 102 Bldg 1&amp;lt;/li&amp;gt;&lt;br /&gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;email:&amp;lt;/b&amp;gt; m.adams@company.com&amp;lt;/li&amp;gt;&lt;br /&gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;&amp;lt;br clear="all"&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;h3&amp;gt;&amp;lt;a href="#"&amp;gt;John Matthews&amp;lt;/a&amp;gt;&amp;lt;/h3&amp;gt;&lt;br /&gt;&amp;lt;div&amp;gt;&lt;br /&gt;&amp;lt;img src="pix/johnmatthews.jpg" alt="John Matthews"&amp;gt;&lt;br /&gt;&amp;lt;ul&amp;gt;&lt;br /&gt;&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;Middle Manager&amp;lt;/h4&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;phone:&amp;lt;/b&amp;gt; x3082&amp;lt;/li&amp;gt;&lt;br /&gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;office:&amp;lt;/b&amp;gt; 307 Bldg 1&amp;lt;/li&amp;gt;&lt;br /&gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;email:&amp;lt;/b&amp;gt; j.matthews@company.com&amp;lt;/li&amp;gt;&lt;br /&gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;&amp;lt;br clear="all"&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;h3&amp;gt;&amp;lt;a href="#"&amp;gt;Sam Jackson&amp;lt;/a&amp;gt;&amp;lt;/h3&amp;gt;&lt;br /&gt;&amp;lt;div&amp;gt;&lt;br /&gt;&amp;lt;img src="pix/samjackson.jpg" alt="Sam Jackson"&amp;gt;&lt;br /&gt;&amp;lt;ul&amp;gt;&lt;br /&gt;&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;Deputy Assistant&amp;lt;/h4&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;phone:&amp;lt;/b&amp;gt; x3494&amp;lt;/li&amp;gt;&lt;br /&gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;office:&amp;lt;/b&amp;gt; 457 Bldg 2&amp;lt;/li&amp;gt;&lt;br /&gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;email:&amp;lt;/b&amp;gt; s.jackson@company.com&amp;lt;/li&amp;gt;&lt;br /&gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;&amp;lt;br clear="all"&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;h3&amp;gt;&amp;lt;a href="#"&amp;gt;Jennifer Brooks&amp;lt;/a&amp;gt;&amp;lt;/h3&amp;gt;&lt;br /&gt;&amp;lt;div&amp;gt;&lt;br /&gt;&amp;lt;img src="pix/jeniferapplethwaite.jpg" alt="Jenifer Applethwaite"&amp;gt;&lt;br /&gt;&amp;lt;ul&amp;gt;&lt;br /&gt;&amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;Senior Technician&amp;lt;/h4&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;phone:&amp;lt;/b&amp;gt; x9430&amp;lt;/li&amp;gt;&lt;br /&gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;office:&amp;lt;/b&amp;gt; 327 Bldg 2&amp;lt;/li&amp;gt;&lt;br /&gt;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;email:&amp;lt;/b&amp;gt; j.brooks@company.com&amp;lt;/li&amp;gt;&lt;br /&gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;&amp;lt;br clear="all"&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;============================================&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/SsoSmrNWGjI/AAAAAAAABhQ/mAzde5LsTYc/s1600-h/jquery_19.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 338px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5389140359745247794" border="0" alt="" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/SsoSmrNWGjI/AAAAAAAABhQ/mAzde5LsTYc/s400/jquery_19.jpg" /&gt;&lt;/a&gt; &lt;br /&gt;전체코드&lt;br /&gt;===========================================&lt;br /&gt;&amp;lt;%@page contentType="text/html"%&amp;gt;&lt;br /&gt;&amp;lt;%@page pageEncoding="UTF-8"%&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"&lt;br /&gt;    "http://www.w3.org/TR/html4/loose.dtd"&amp;gt;&lt;br /&gt;&amp;lt;html&amp;gt;&lt;br /&gt;    &amp;lt;head&amp;gt;&lt;br /&gt;        &amp;lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8"&amp;gt;&lt;br /&gt;        &amp;lt;title&amp;gt;JQuery Test&amp;lt;/title&amp;gt;&lt;br /&gt;        &amp;lt;script type="text/javascript" src="js/jquery-1.3.2.js" &amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;        &amp;lt;script type="text/javascript" src="js/ui.core.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;        &amp;lt;script type="text/javascript" src="js/ui.accordion.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;br /&gt;        &amp;lt;script type="text/javascript"&amp;gt;&lt;br /&gt;            $(document).ready(function(){&lt;br /&gt;                $("h1").click(function(){&lt;br /&gt;                    $(this).addClass("blue").fadeOut("slow");&lt;br /&gt;                });&lt;br /&gt;                //$("a").click(function(event){&lt;br /&gt;                //    alert("나~자바~봐~~~라");&lt;br /&gt;                //    event.preventDefault();&lt;br /&gt;                //    $(this).hide("slow");&lt;br /&gt;                //});&lt;br /&gt;                $("#infolist").accordion({&lt;br /&gt;                    autoHeight: false&lt;br /&gt;                });&lt;br /&gt;            });&lt;br /&gt;        &amp;lt;/script&amp;gt;&lt;br /&gt;        &amp;lt;style type="text/css"&amp;gt;&lt;br /&gt;            .blue { color: blue; }&lt;br /&gt;        &amp;lt;/style&amp;gt;&lt;br /&gt;        &amp;lt;style type="text/css"&amp;gt;&lt;br /&gt;            ul {list-style-type: none}&lt;br /&gt;            img {padding-right: 20px; float:left}&lt;br /&gt;            #infolist {width:500px}&lt;br /&gt;        &amp;lt;/style&amp;gt;&lt;br /&gt;        &amp;lt;link rel="stylesheet" href="css/jquery-ui-1.7.2.custom.css" type="text/css"&amp;gt;&lt;br /&gt;    &amp;lt;/head&amp;gt;&lt;br /&gt;    &amp;lt;body&amp;gt;&lt;br /&gt;        &amp;lt;h1&amp;gt;JSP Page&amp;lt;/h1&amp;gt;&lt;br /&gt;        &amp;lt;a href="http://jquery.com/"&amp;gt;jQuery&amp;lt;/a&amp;gt;&lt;br /&gt;        &amp;lt;div id="infolist"&amp;gt;&lt;br /&gt;            &amp;lt;h3&amp;gt;&amp;lt;a href="#"&amp;gt;Mary Adams&amp;lt;/a&amp;gt;&amp;lt;/h3&amp;gt;&lt;br /&gt;            &amp;lt;div&amp;gt;&lt;br /&gt;                &amp;lt;img src="pix/maryadams.jpg" alt="Mary Adams"&amp;gt;&lt;br /&gt;                &amp;lt;ul&amp;gt;&lt;br /&gt;                    &amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;Vice President&amp;lt;/h4&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;                    &amp;lt;li&amp;gt;&amp;lt;b&amp;gt;phone:&amp;lt;/b&amp;gt; x8234&amp;lt;/li&amp;gt;&lt;br /&gt;                    &amp;lt;li&amp;gt;&amp;lt;b&amp;gt;office:&amp;lt;/b&amp;gt; 102 Bldg 1&amp;lt;/li&amp;gt;&lt;br /&gt;                    &amp;lt;li&amp;gt;&amp;lt;b&amp;gt;email:&amp;lt;/b&amp;gt; m.adams@company.com&amp;lt;/li&amp;gt;&lt;br /&gt;                &amp;lt;/ul&amp;gt;&lt;br /&gt;                &amp;lt;br clear="all"&amp;gt;&lt;br /&gt;            &amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt;            &amp;lt;h3&amp;gt;&amp;lt;a href="#"&amp;gt;John Matthews&amp;lt;/a&amp;gt;&amp;lt;/h3&amp;gt;&lt;br /&gt;            &amp;lt;div&amp;gt;&lt;br /&gt;                &amp;lt;img src="pix/johnmatthews.jpg" alt="John Matthews"&amp;gt;&lt;br /&gt;                &amp;lt;ul&amp;gt;&lt;br /&gt;                    &amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;Middle Manager&amp;lt;/h4&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;                    &amp;lt;li&amp;gt;&amp;lt;b&amp;gt;phone:&amp;lt;/b&amp;gt; x3082&amp;lt;/li&amp;gt;&lt;br /&gt;                    &amp;lt;li&amp;gt;&amp;lt;b&amp;gt;office:&amp;lt;/b&amp;gt; 307 Bldg 1&amp;lt;/li&amp;gt;&lt;br /&gt;                    &amp;lt;li&amp;gt;&amp;lt;b&amp;gt;email:&amp;lt;/b&amp;gt; j.matthews@company.com&amp;lt;/li&amp;gt;&lt;br /&gt;                &amp;lt;/ul&amp;gt;&lt;br /&gt;                &amp;lt;br clear="all"&amp;gt;&lt;br /&gt;            &amp;lt;/div&amp;gt;&lt;br /&gt;            &amp;lt;h3&amp;gt;&amp;lt;a href="#"&amp;gt;Sam Jackson&amp;lt;/a&amp;gt;&amp;lt;/h3&amp;gt;&lt;br /&gt;            &amp;lt;div&amp;gt;&lt;br /&gt;                &amp;lt;img src="pix/samjackson.jpg" alt="Sam Jackson"&amp;gt;&lt;br /&gt;                &amp;lt;ul&amp;gt;&lt;br /&gt;                    &amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;Deputy Assistant&amp;lt;/h4&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;                    &amp;lt;li&amp;gt;&amp;lt;b&amp;gt;phone:&amp;lt;/b&amp;gt; x3494&amp;lt;/li&amp;gt;&lt;br /&gt;                    &amp;lt;li&amp;gt;&amp;lt;b&amp;gt;office:&amp;lt;/b&amp;gt; 457 Bldg 2&amp;lt;/li&amp;gt;&lt;br /&gt;                    &amp;lt;li&amp;gt;&amp;lt;b&amp;gt;email:&amp;lt;/b&amp;gt; s.jackson@company.com&amp;lt;/li&amp;gt;&lt;br /&gt;                &amp;lt;/ul&amp;gt;&lt;br /&gt;                &amp;lt;br clear="all"&amp;gt;&lt;br /&gt;            &amp;lt;/div&amp;gt;&lt;br /&gt;            &amp;lt;h3&amp;gt;&amp;lt;a href="#"&amp;gt;Jennifer Brooks&amp;lt;/a&amp;gt;&amp;lt;/h3&amp;gt;&lt;br /&gt;            &amp;lt;div&amp;gt;&lt;br /&gt;                &amp;lt;img src="pix/jeniferapplethwaite.jpg" alt="Jenifer Applethwaite"&amp;gt;&lt;br /&gt;                &amp;lt;ul&amp;gt;&lt;br /&gt;                    &amp;lt;li&amp;gt;&amp;lt;h4&amp;gt;Senior Technician&amp;lt;/h4&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;                    &amp;lt;li&amp;gt;&amp;lt;b&amp;gt;phone:&amp;lt;/b&amp;gt; x9430&amp;lt;/li&amp;gt;&lt;br /&gt;                    &amp;lt;li&amp;gt;&amp;lt;b&amp;gt;office:&amp;lt;/b&amp;gt; 327 Bldg 2&amp;lt;/li&amp;gt;&lt;br /&gt;                    &amp;lt;li&amp;gt;&amp;lt;b&amp;gt;email:&amp;lt;/b&amp;gt; j.brooks@company.com&amp;lt;/li&amp;gt;&lt;br /&gt;                &amp;lt;/ul&amp;gt;&lt;br /&gt;                &amp;lt;br clear="all"&amp;gt;&lt;br /&gt;            &amp;lt;/div&amp;gt;&lt;br /&gt;        &amp;lt;/div&amp;gt;&lt;br /&gt;    &amp;lt;/body&amp;gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;br /&gt;================================================&lt;br /&gt;pix폴더와 그 안에 이미지까지 복사해서 위치한 후 실행(run)&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/SsqJpjO7qDI/AAAAAAAABiQ/aUwNCuw-IgA/s1600-h/jquery_21.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 267px; DISPLAY: block; HEIGHT: 400px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5389271251027732530" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/SsqJpjO7qDI/AAAAAAAABiQ/aUwNCuw-IgA/s400/jquery_21.jpg" /&gt;&lt;/a&gt;부가로, 스타일시트를 수정하기 위해 다운로드 받은 UI 압축 푼 폴더 중 css 폴더를 복사해서 프로젝트에 붙여넣습니다.&lt;br /&gt;&lt;/p&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/SsqJpCl6EEI/AAAAAAAABiI/2rT7cnlpoTY/s1600-h/jquery_22.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 338px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5389271242265727042" border="0" alt="" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/SsqJpCl6EEI/AAAAAAAABiI/2rT7cnlpoTY/s400/jquery_22.jpg" /&gt;&lt;/a&gt; 스크립트링크 추가&lt;br /&gt;&amp;lt;link rel="stylesheet" href="css/jquery-ui-1.7.2.custom.css" type="text/css"&amp;gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/SsqJoqjAYII/AAAAAAAABiA/pli5jEZ1SuM/s1600-h/jquery_23.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 338px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5389271235811106946" border="0" alt="" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/SsqJoqjAYII/AAAAAAAABiA/pli5jEZ1SuM/s400/jquery_23.jpg" /&gt;&lt;/a&gt; 다시 실행(run)&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/SsqJoKnOg5I/AAAAAAAABh4/U3-nRlKH8a0/s1600-h/jquery_24.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 334px; DISPLAY: block; HEIGHT: 400px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5389271227238876050" border="0" alt="" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/SsqJoKnOg5I/AAAAAAAABh4/U3-nRlKH8a0/s400/jquery_24.jpg" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6811062799606447528-8849891453698458634?l=netbeans-korean.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Netbeans-koreanBy/~4/0ut24jFoW0c" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://netbeans-korean.blogspot.com/feeds/8849891453698458634/comments/default" title="게시물 덧글" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=6811062799606447528&amp;postID=8849891453698458634" title="0개의 덧글" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6811062799606447528/posts/default/8849891453698458634?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6811062799606447528/posts/default/8849891453698458634?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Netbeans-koreanBy/~3/0ut24jFoW0c/jquery-basic.html" title="넷빈에서 jquery 사용하기-basic" /><author><name>강여사(J.Y.Kang)</name><uri>http://www.blogger.com/profile/17450510931308610527</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10873429884942954536" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_fNtFXU_t3Yc/SsoORrz6rlI/AAAAAAAABf4/7maeYtiP15Y/s72-c/jquery_01.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://netbeans-korean.blogspot.com/2009/10/jquery-basic.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUcERnwyfSp7ImA9WxNXFEQ.&quot;"><id>tag:blogger.com,1999:blog-6811062799606447528.post-6225994569572130914</id><published>2009-10-02T07:45:00.000-07:00</published><updated>2009-10-02T08:23:27.295-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-02T08:23:27.295-07:00</app:edited><title>jmaki+jpa+glassfishv3(eclipselink)+pagination 2</title><content type="html">예전 게시물 올렸을 때에는 버튼을 이용하여 각각 페이지 앞뒤로의 이동을 올렸었는데,&lt;br /&gt;이번에는 좀전의 yahoo의 pagination을 이용하여 페이징을 해보고자 한다.&lt;br /&gt;&lt;br /&gt;일단 데이터베이스에서의 작업을 위해 JPA 관련 작업을 시작.&lt;br /&gt;&lt;br /&gt;프로젝트에서 오른쪽 마우스 new - Entity Classes from Database 선택 (만약 이 메뉴가 안보이면 option (팝업창)- persistence 카테고리에 있다)&lt;br /&gt;&lt;p&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/SsYSzriWgYI/AAAAAAAABdo/PDoq0_Gg8zg/s1600-h/db_01.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 350px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5388014683264811394" border="0" alt="" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/SsYSzriWgYI/AAAAAAAABdo/PDoq0_Gg8zg/s400/db_01.jpg" /&gt;&lt;/a&gt; Data Source 는 jdbc/sample&lt;/p&gt;&lt;br /&gt;선택할 테이블은 customer 를 add &lt;br /&gt;다음&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/SsYSzdIcoVI/AAAAAAAABdg/TkB2jI2wEUg/s1600-h/db_02.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 266px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5388014679398064466" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/SsYSzdIcoVI/AAAAAAAABdg/TkB2jI2wEUg/s400/db_02.jpg" /&gt;&lt;/a&gt; 패키지 이름은 data&lt;/p&gt;&lt;br /&gt;그리고 persistence unit 를 새로 작성해야 하므로 아래 버튼(create persistence unit) 클릭&lt;br /&gt;&lt;p&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/SsYSy44vD2I/AAAAAAAABdY/U6we1zHDtbM/s1600-h/db_03.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 266px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5388014669668487010" border="0" alt="" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/SsYSy44vD2I/AAAAAAAABdY/U6we1zHDtbM/s400/db_03.jpg" /&gt;&lt;/a&gt; &lt;br /&gt;이름 : 프로젝트이름+PU &lt;br /&gt;프로바이더: eclipselink(v3 기본값)&lt;br /&gt;나머지는 옵션대로&lt;br /&gt;create&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/SsYSyvrz72I/AAAAAAAABdQ/dFPRMchBs1c/s1600-h/db_04.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 266px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5388014667198361442" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/SsYSyvrz72I/AAAAAAAABdQ/dFPRMchBs1c/s400/db_04.jpg" /&gt;&lt;/a&gt; 확인후 다음&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/SsYSyGDUSOI/AAAAAAAABdI/RnEfCsS3k78/s1600-h/db_05.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 266px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5388014656022661346" border="0" alt="" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/SsYSyGDUSOI/AAAAAAAABdI/RnEfCsS3k78/s400/db_05.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/SsYT_17DcEI/AAAAAAAABeQ/eBkD5uL76ws/s1600-h/db_06.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 266px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5388015991722831938" border="0" alt="" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/SsYT_17DcEI/AAAAAAAABeQ/eBkD5uL76ws/s400/db_06.jpg" /&gt;&lt;/a&gt; 그럼 자동생성된 customer.java 에 json 객체화 작업을 추가&lt;br /&gt;다음내용 코드 작성&lt;br /&gt;----------------------------&lt;br /&gt;public JSONObject toJSON() throws Exception {&lt;br /&gt;JSONObject thisJSON = new JSONObject();&lt;br /&gt;thisJSON.put("name", this.getName());&lt;br /&gt;thisJSON.put("city", this.getCity());&lt;br /&gt;thisJSON.put("state", this.getState());&lt;br /&gt;thisJSON.put("zip", this.getZip());&lt;br /&gt;return thisJSON;&lt;br /&gt;}&lt;br /&gt;----------------------------&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/SsYT_gycS4I/AAAAAAAABeI/C72LCWkh_EY/s1600-h/db_07.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 350px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5388015986049567618" border="0" alt="" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/SsYT_gycS4I/AAAAAAAABeI/C72LCWkh_EY/s400/db_07.jpg" /&gt;&lt;/a&gt; 임포트 문제 해결 &lt;br /&gt;마우스오른쪽 클릭-fix import&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/SsYT_BQLd9I/AAAAAAAABeA/DiENc5uI2YU/s1600-h/db_08.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 350px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5388015977584359378" border="0" alt="" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/SsYT_BQLd9I/AAAAAAAABeA/DiENc5uI2YU/s400/db_08.jpg" /&gt;&lt;/a&gt; 원래 여기 이 대목에서 2개의 클래스 (하나는 서블릿, 다른 하나는 일반 자바 클래스) 를 작성해야 하는데 예전에 했던 대목인지라 작성 상세 내용은 skip 하고 이전 프로젝트의 파일 복사로 진행 (다만 파일만 복사되는 상태이므로 나머지 설정사항들은 수동으로 해줘야 함)&lt;br /&gt;&lt;br /&gt;예전 프로젝트의 service 패키지 전체를 복사해서 source package 아래 붙여넣기&lt;br /&gt;참고 1 ( Catalog.java)&lt;br /&gt;-----------------------------&lt;br /&gt;&lt;p&gt;/*&lt;br /&gt;* To change this template, choose Tools Templates&lt;br /&gt;* and open the template in the editor.&lt;br /&gt;*/&lt;br /&gt;package service;&lt;br /&gt;&lt;br /&gt;import data.Customer;&lt;br /&gt;&lt;br /&gt;import java.util.List;&lt;br /&gt;import javax.naming.InitialContext;&lt;br /&gt;import javax.persistence.EntityManager;&lt;br /&gt;import javax.persistence.Query;&lt;br /&gt;import org.json.JSONArray;&lt;br /&gt;import org.json.JSONObject;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;*&lt;br /&gt;* @author carol mcdonald&lt;br /&gt;*/&lt;br /&gt;public class Catalog {&lt;br /&gt;&lt;br /&gt;/** Creates a new instance of Catalog */&lt;br /&gt;public Catalog() {&lt;br /&gt;}&lt;br /&gt;private Customer customer;&lt;br /&gt;&lt;br /&gt;private EntityManager getEntityManager() throws Exception {&lt;br /&gt;EntityManager em = (EntityManager) (new InitialContext()).lookup("java:comp/env/persistence/em");&lt;br /&gt;return em;&lt;br /&gt;}&lt;br /&gt;private int batchSize = 5;&lt;br /&gt;private int firstItem = 0;&lt;br /&gt;&lt;br /&gt;public Customer getCustomer() {&lt;br /&gt;return customer;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public void setCustomer(Customer customer) {&lt;br /&gt;this.customer = customer;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public List&lt;customer&gt; getCustomers() throws Exception {&lt;br /&gt;EntityManager em = getEntityManager();&lt;br /&gt;&lt;br /&gt;Query q = em.createQuery("select object(o) from Customer as o");&lt;br /&gt;//////kj 2009-10-01&lt;br /&gt;int count = ((Long) em.createQuery("select count(o) from Customer as o").getSingleResult()).intValue();&lt;br /&gt;q.setMaxResults(count);&lt;br /&gt;// q.setMaxResults(batchSize);&lt;br /&gt;q.setFirstResult(firstItem);&lt;br /&gt;return q.getResultList();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public JSONArray getNextCustomersJSON(int page) throws Exception {&lt;br /&gt;if (page &lt; firstitem =" 0;" firstitem =" page" customersjson =" new"&gt; customers = getCustomers();&lt;br /&gt;for (Customer customerData : customers) {&lt;br /&gt;JSONObject customerJSON = customerData.toJSON();&lt;br /&gt;customersJSON.put(customerJSON);&lt;br /&gt;}&lt;br /&gt;return customersJSON;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public Customer findCustomer(String id) throws Exception {&lt;br /&gt;EntityManager em = getEntityManager();&lt;br /&gt;try {&lt;br /&gt;Customer o = (Customer) em.find(Customer.class, id);&lt;br /&gt;return o;&lt;br /&gt;} finally {&lt;br /&gt;em.close();&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public int getItemCount() throws Exception {&lt;br /&gt;EntityManager em = getEntityManager();&lt;br /&gt;try {&lt;br /&gt;int count = ((Long) em.createQuery("select count(o) from Customer as o").getSingleResult()).intValue();&lt;br /&gt;System.out.println("size:"+ count);&lt;br /&gt;return count;&lt;br /&gt;} finally {&lt;br /&gt;em.close();&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public int getFirstItem() {&lt;br /&gt;return firstItem;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public int getLastItem() throws Exception {&lt;br /&gt;int size = getItemCount();&lt;br /&gt;return firstItem + batchSize &gt; size ? size : firstItem + batchSize;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public int getBatchSize() {&lt;br /&gt;return batchSize;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;------------------------------&lt;br /&gt;참고2 CatalogServlet.java&lt;br /&gt;------------------------------&lt;br /&gt;/*&lt;br /&gt;* To change this template, choose Tools Templates&lt;br /&gt;* and open the template in the editor.&lt;br /&gt;*/&lt;br /&gt;package service;&lt;br /&gt;&lt;br /&gt;import java.io.IOException;&lt;br /&gt;import java.io.PrintWriter;&lt;br /&gt;import javax.servlet.ServletException;&lt;br /&gt;import javax.servlet.http.HttpServlet;&lt;br /&gt;import javax.servlet.http.HttpServletRequest;&lt;br /&gt;import javax.servlet.http.HttpServletResponse;&lt;br /&gt;import org.json.JSONArray;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;*&lt;br /&gt;* @author carol mcdonald&lt;br /&gt;*/&lt;br /&gt;public class CatalogServlet extends HttpServlet {&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* Processes requests for both HTTP &lt;code&gt;GET&lt;/code&gt; and &lt;code&gt;POST&lt;/code&gt; methods.&lt;br /&gt;* @param request servlet request&lt;br /&gt;* @param response servlet response&lt;br /&gt;*/&lt;br /&gt;protected void processRequest(HttpServletRequest request, HttpServletResponse response)&lt;br /&gt;throws ServletException, IOException {&lt;br /&gt;response.setContentType("text/html;charset=UTF-8");&lt;br /&gt;PrintWriter out = response.getWriter();&lt;br /&gt;&lt;br /&gt;int page = 0;&lt;br /&gt;int rowsonly = 0;&lt;br /&gt;Catalog catalog = new Catalog();&lt;br /&gt;response.setContentType("text/plain;charset=UTF-8");&lt;br /&gt;&lt;br /&gt;String temp = request.getParameter("page");&lt;br /&gt;if (temp != null) {&lt;br /&gt;page = Integer.parseInt(temp);&lt;br /&gt;}&lt;br /&gt;temp = request.getParameter("rowsonly");&lt;br /&gt;if (temp != null) {&lt;br /&gt;rowsonly = Integer.parseInt(temp);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;try {&lt;br /&gt;&lt;br /&gt;// JSONArray array = catalog.getNextCustomersJSON(page);&lt;br /&gt;JSONArray array = catalog.getCustomersJSON();&lt;br /&gt;if (rowsonly == 1) {&lt;br /&gt;out.println(array.toString());&lt;br /&gt;} else {&lt;br /&gt;out.println("{columns : [" +&lt;br /&gt;"{ label : 'Company', id : 'name'}," +&lt;br /&gt;"{ label :'City', id : 'city'}," +&lt;br /&gt;"{ label : 'State', id : 'state'}," +&lt;br /&gt;"{ label : 'Zip', id : 'zip'}" +&lt;br /&gt;"],");&lt;br /&gt;out.println("rows: ");&lt;br /&gt;out.println(array.toString());&lt;br /&gt;out.println(" }");&lt;br /&gt;}&lt;br /&gt;} catch (Exception e) {&lt;br /&gt;out.println(e);&lt;br /&gt;} finally {&lt;br /&gt;out.close();&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// &lt;editor-fold desc="HttpServlet methods. Click on the + sign on the left to edit the code." defaultstate="collapsed"&gt;&lt;br /&gt;/**&lt;br /&gt;* Handles the HTTP &lt;code&gt;GET&lt;/code&gt; method.&lt;br /&gt;* @param request servlet request&lt;br /&gt;* @param response servlet response&lt;br /&gt;*/&lt;br /&gt;protected void doGet(HttpServletRequest request, HttpServletResponse response)&lt;br /&gt;throws ServletException, IOException {&lt;br /&gt;processRequest(request, response);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* Handles the HTTP &lt;code&gt;POST&lt;/code&gt; method.&lt;br /&gt;* @param request servlet request&lt;br /&gt;* @param response servlet response&lt;br /&gt;*/&lt;br /&gt;protected void doPost(HttpServletRequest request, HttpServletResponse response)&lt;br /&gt;throws ServletException, IOException {&lt;br /&gt;processRequest(request, response);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* Returns a short description of the servlet.&lt;br /&gt;*/&lt;br /&gt;public String getServletInfo() {&lt;br /&gt;return "Short description";&lt;br /&gt;}// &lt;/EDITOR-FOLD&gt;&lt;br /&gt;}&lt;br /&gt;-----------------------------&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/SsYT-0SyIAI/AAAAAAAABd4/967EVlo8b4g/s1600-h/db_09.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 311px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5388015974105620482" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/SsYT-0SyIAI/AAAAAAAABd4/967EVlo8b4g/s400/db_09.jpg" /&gt;&lt;/a&gt; (이전프로젝트에서 service 패키지 복사)&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/SsYT-VCpPHI/AAAAAAAABdw/W3C87-at8WM/s1600-h/db_10.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 311px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5388015965716429938" border="0" alt="" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/SsYT-VCpPHI/AAAAAAAABdw/W3C87-at8WM/s400/db_10.jpg" /&gt;&lt;/a&gt; (지금프로젝트의 source package 에 붙여넣기)&lt;br /&gt;그런 다음 이 중 CatalogServlet 은 서블릿이므로 web.xml 을 열어 수동으로 편집&lt;br /&gt;web.xml 을 연후 Servlet 탭을 클릭&lt;br /&gt;오른쪽 아래 Add Servlet Element 버튼 클릭&lt;br /&gt;팝업창에서 이름은 CatalogServlet 으로&lt;br /&gt;클래스는 찾기에서 service - CatalogServlet 찾아서 선택&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/SsYVzW1nEwI/AAAAAAAABe4/YnFBFKbDkNA/s1600-h/db_11.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 311px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5388017976243327746" border="0" alt="" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/SsYVzW1nEwI/AAAAAAAABe4/YnFBFKbDkNA/s400/db_11.jpg" /&gt;&lt;/a&gt; 아래 URL Pattern 에는 /CatalogServlet (그림 참고)&lt;br /&gt;OK&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/SsYVy40UZHI/AAAAAAAABew/CoZ5aM-TKDs/s1600-h/db_12.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 219px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5388017968184845426" border="0" alt="" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/SsYVy40UZHI/AAAAAAAABew/CoZ5aM-TKDs/s400/db_12.jpg" /&gt;&lt;/a&gt; index.jsp 에서 yahoo datatable 위젯 수정&lt;/p&gt;&lt;p&gt;(내용은 그림 참고)&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/SsYVyV9KJ1I/AAAAAAAABeo/3hm3YQGmTmw/s1600-h/db_13.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 311px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5388017958826682194" border="0" alt="" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/SsYVyV9KJ1I/AAAAAAAABeo/3hm3YQGmTmw/s400/db_13.jpg" /&gt;&lt;/a&gt;source package 의 CatalogServlet.java 에서 다음 수정&lt;/p&gt;47라인&lt;br /&gt;// JSONArray array = catalog.getNextCustomersJSON(page);&lt;br /&gt;JSONArray array = catalog.getCustomersJSON();&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/SsYVx98QjxI/AAAAAAAABeg/IyNYA0LNdFc/s1600-h/db_14.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 311px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5388017952380456722" border="0" alt="" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/SsYVx98QjxI/AAAAAAAABeg/IyNYA0LNdFc/s400/db_14.jpg" /&gt;&lt;/a&gt; Catalog.java 의 50라인 수정&lt;/p&gt;int count = ((Long) em.createQuery("select count(o) from Customer as o").getSingleResult()).intValue();&lt;br /&gt;q.setMaxResults(count);&lt;br /&gt;// q.setMaxResults(batchSize);&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/SsYVxtZPy_I/AAAAAAAABeY/9vV3NGlqMBo/s1600-h/db_15.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 311px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5388017947938638834" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/SsYVxtZPy_I/AAAAAAAABeY/9vV3NGlqMBo/s400/db_15.jpg" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/SsYZMqlPWAI/AAAAAAAABfA/oCue5EX8KXo/s1600-h/db_16.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 311px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5388021709574985730" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/SsYZMqlPWAI/AAAAAAAABfA/oCue5EX8KXo/s400/db_16.jpg" /&gt;&lt;/a&gt; web.xml 에 persistence 관련 추가&lt;/p&gt;&lt;p&gt;그림 참고&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/SsYZNGYE0nI/AAAAAAAABfI/LAWe7zX1VZg/s1600-h/db_17.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 311px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5388021717035962994" border="0" alt="" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/SsYZNGYE0nI/AAAAAAAABfI/LAWe7zX1VZg/s400/db_17.jpg" /&gt;&lt;/a&gt; 프로젝트 실행(run)&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/SsYZNbjYtKI/AAAAAAAABfQ/FbMAAOxdQjw/s1600-h/db_18.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 346px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5388021722720548002" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/SsYZNbjYtKI/AAAAAAAABfQ/FbMAAOxdQjw/s400/db_18.jpg" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6811062799606447528-6225994569572130914?l=netbeans-korean.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Netbeans-koreanBy/~4/C58Y5Bh8sBo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://netbeans-korean.blogspot.com/feeds/6225994569572130914/comments/default" title="게시물 덧글" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=6811062799606447528&amp;postID=6225994569572130914" title="0개의 덧글" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6811062799606447528/posts/default/6225994569572130914?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6811062799606447528/posts/default/6225994569572130914?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Netbeans-koreanBy/~3/C58Y5Bh8sBo/jmakijpaglassfishv3eclipselinkpaginatio_02.html" title="jmaki+jpa+glassfishv3(eclipselink)+pagination 2" /><author><name>강여사(J.Y.Kang)</name><uri>http://www.blogger.com/profile/17450510931308610527</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10873429884942954536" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_fNtFXU_t3Yc/SsYSzriWgYI/AAAAAAAABdo/PDoq0_Gg8zg/s72-c/db_01.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://netbeans-korean.blogspot.com/2009/10/jmakijpaglassfishv3eclipselinkpaginatio_02.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEMCQHYycCp7ImA9WxNXFEQ.&quot;"><id>tag:blogger.com,1999:blog-6811062799606447528.post-8685005690122556507</id><published>2009-10-01T21:00:00.000-07:00</published><updated>2009-10-02T07:07:41.898-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-02T07:07:41.898-07:00</app:edited><title>jmaki+jpa+glassfishv3(eclipselink)+pagination</title><content type="html">이전에도 이 주제에 대해 하긴 했는데..다시 겸사겸사에 그때 안했던거랑..함 정리차..&lt;br /&gt;&lt;br /&gt;그럼 시작..&lt;br /&gt;&lt;br /&gt;일단 현재 작업조건은&lt;br /&gt;&lt;br /&gt;netbeans 6.7.1 (windows)&lt;br /&gt;jdk 1.6 update 14&lt;br /&gt;db는 javadb (sample)&lt;br /&gt;&lt;br /&gt;의 기본팩에서부터 시작&lt;br /&gt;&lt;br /&gt;기본팩에는 일단 jmaki 가 설치되어 있지 않기 때문에 우선 jmaki 플러그인부터 설치합니다.&lt;br /&gt;플러그인 설치를 위해서는 도구(tools)-플러그인(plugin) 클릭&lt;br /&gt;&lt;p&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/SsV77mL3-hI/AAAAAAAABbI/3gGSV20i80Y/s1600-h/jmaki_datatable_gf_01.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 350px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5387848793011517970" border="0" alt="" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/SsV77mL3-hI/AAAAAAAABbI/3gGSV20i80Y/s400/jmaki_datatable_gf_01.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;jmaki 관련 플러그인이 현재 2가지.. 체크후 아래있는 설치(install) 클릭&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/SsV77FYUtuI/AAAAAAAABbA/NnSWbOiCig4/s1600-h/jmaki_datatable_gf_02.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 241px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5387848784205362914" border="0" alt="" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/SsV77FYUtuI/AAAAAAAABbA/NnSWbOiCig4/s400/jmaki_datatable_gf_02.jpg" /&gt;&lt;/a&gt; 팝업창의 진행대로 계속 진행&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/SsV768-bsAI/AAAAAAAABa4/pq_3EOWUbvA/s1600-h/jmaki_datatable_gf_03.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 357px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5387848781949284354" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/SsV768-bsAI/AAAAAAAABa4/pq_3EOWUbvA/s400/jmaki_datatable_gf_03.jpg" /&gt;&lt;/a&gt; 다음&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/SsV76cb7VoI/AAAAAAAABaw/1q44mV6UtmY/s1600-h/jmaki_datatable_gf_04.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 357px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5387848773214623362" border="0" alt="" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/SsV76cb7VoI/AAAAAAAABaw/1q44mV6UtmY/s400/jmaki_datatable_gf_04.jpg" /&gt;&lt;/a&gt; 체크후 설치 클릭&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/SsV75xM2gdI/AAAAAAAABao/TVWbwEwPc7M/s1600-h/jmaki_datatable_gf_05.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 357px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5387848761608667602" border="0" alt="" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/SsV75xM2gdI/AAAAAAAABao/TVWbwEwPc7M/s400/jmaki_datatable_gf_05.jpg" /&gt;&lt;/a&gt; 마침 버튼을 누르면 IDE가 재시작된다.&lt;/p&gt;&lt;br /&gt;재시작된 IDE에서 새 프로젝트 만들기&lt;br /&gt;new project&lt;br /&gt;&lt;p&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/SsV8qlAatHI/AAAAAAAABbw/cCjmfXRwOZU/s1600-h/jmaki_datatable_gf_06.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 350px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5387849600148878450" border="0" alt="" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/SsV8qlAatHI/AAAAAAAABbw/cCjmfXRwOZU/s400/jmaki_datatable_gf_06.jpg" /&gt;&lt;/a&gt; java web - web applciation 다음&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/SsV8qaJOQaI/AAAAAAAABbo/T6FC5DxX34U/s1600-h/jmaki_datatable_gf_07.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 276px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5387849597233021346" border="0" alt="" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/SsV8qaJOQaI/AAAAAAAABbo/T6FC5DxX34U/s400/jmaki_datatable_gf_07.jpg" /&gt;&lt;/a&gt;이름을 적당히 (jmaki_ytable_gv3) 로 줬습니다. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;경로도 적당히 다음&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/SsV8p7xiVLI/AAAAAAAABbg/njnBUOOkAoo/s1600-h/jmaki_datatable_gf_08.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 276px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5387849589080609970" border="0" alt="" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/SsV8p7xiVLI/AAAAAAAABbg/njnBUOOkAoo/s400/jmaki_datatable_gf_08.jpg" /&gt;&lt;/a&gt; 이번에는 glassfish v3 로 진행했습니다. glassfish v2 로 진행해도 같습니다. (glassfish v2의 경우 orm의 service provider를 toplink 로, glassfish v3인 경우는 eclipselink가 default 로 되더군요)&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/SsV8paJFAMI/AAAAAAAABbY/dAbhRgnz4mE/s1600-h/jmaki_datatable_gf_09.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 275px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5387849580052545730" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/SsV8paJFAMI/AAAAAAAABbY/dAbhRgnz4mE/s400/jmaki_datatable_gf_09.jpg" /&gt;&lt;/a&gt; jmaki ajax framework 를 선택하고 아래 레이아웃은 standard로 진행&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/SsV8pMR45XI/AAAAAAAABbQ/pfD7PlcSzSI/s1600-h/jmaki_datatable_gf_10.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 275px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5387849576331404658" border="0" alt="" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/SsV8pMR45XI/AAAAAAAABbQ/pfD7PlcSzSI/s400/jmaki_datatable_gf_10.jpg" /&gt;&lt;/a&gt; 마침(finish)를 누릅니다.&lt;/p&gt;&lt;p&gt;오른쪽 파레트에서 jmaki yahoo - datatable를 클릭하여 index.jsp의 main content 에다 넣습니다.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/SsWD0Q2V1-I/AAAAAAAABcY/T_lp6lRfdyY/s1600-h/jmaki_datatable_gf_11.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 350px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5387857463117993954" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/SsWD0Q2V1-I/AAAAAAAABcY/T_lp6lRfdyY/s400/jmaki_datatable_gf_11.jpg" /&gt;&lt;/a&gt; 샘플데이터를 보기위해 바로 실행&lt;/p&gt;&lt;p&gt;run file&lt;br /&gt;&lt;/p&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/SsWDzyNvZrI/AAAAAAAABcQ/RPepKC2qQe8/s1600-h/jmaki_datatable_gf_12.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 350px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5387857454894638770" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/SsWDzyNvZrI/AAAAAAAABcQ/RPepKC2qQe8/s400/jmaki_datatable_gf_12.jpg" /&gt;&lt;/a&gt; 실행하면 다음과 같이 제시됩니다.&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/SsWDzWWNk8I/AAAAAAAABcI/VXF3tnl8pl4/s1600-h/jmaki_datatable_gf_13.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 374px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5387857447413978050" border="0" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/SsWDzWWNk8I/AAAAAAAABcI/VXF3tnl8pl4/s400/jmaki_datatable_gf_13.jpg" /&gt;&lt;/a&gt; 그럼 일단 여기에 추가 설정을 하도록 하겠습니다.&lt;br /&gt;index.jsp로 돌아와서 &lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/SsWDzBXZcGI/AAAAAAAABcA/o4SQ6vmYuN4/s1600-h/jmaki_datatable_gf_14.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 350px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5387857441781805154" border="0" alt="" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/SsWDzBXZcGI/AAAAAAAABcA/o4SQ6vmYuN4/s400/jmaki_datatable_gf_14.jpg" /&gt;&lt;/a&gt; pagenated 의 false를 true로 바꾸고 엔터키를 칩니다. (반드시 엔터키를 쳐야 반영됩니다)&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/SsWDymwVY6I/AAAAAAAABb4/1kyrzx1A_Yc/s1600-h/jmaki_datatable_gf_15.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 374px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5387857434638640034" border="0" alt="" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/SsWDymwVY6I/AAAAAAAABb4/1kyrzx1A_Yc/s400/jmaki_datatable_gf_15.jpg" /&gt;&lt;/a&gt; 그럼 위 그림처럼 pagenated에 대한 기본 상황이 제시됩니다.&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/SsWFfY10X3I/AAAAAAAABcg/v8ryMyVURvQ/s1600-h/jmaki_datatable_gf_16.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 374px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5387859303509286770" border="0" alt="" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/SsWFfY10X3I/AAAAAAAABcg/v8ryMyVURvQ/s400/jmaki_datatable_gf_16.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;yahoo의 페이지네이션에서 기본 제공되고 있는 걸 보면 10,20,50,100 등 기본값이 제시되어 있습니다.&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/SsWFfy5Ul8I/AAAAAAAABco/r5O_f3LwlZY/s1600-h/jmaki_datatable_gf_17.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 350px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5387859310503303106" border="0" alt="" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/SsWFfy5Ul8I/AAAAAAAABco/r5O_f3LwlZY/s400/jmaki_datatable_gf_17.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;이 값을 수정하기 위해서(여기에는 약간의 버그도 있슴..현재 jmaki에서 rowsPerPage 등의 설정이 바로 반영되지 않습니다. 하여 기타등등 여러가지 수정을 위해서 소스 편집.&lt;br /&gt;resources-yahoo-datatable-component.js 를 열면 355줄에 있는 사항을 다음과 같이 변경.&lt;br /&gt;&lt;br /&gt;기본상황&lt;br /&gt;&lt;br /&gt;rowsPerPage : 10,&lt;br /&gt;rowsPerPageOptions: [10,20,50,100],&lt;br /&gt;pageLinks :5,&lt;br /&gt;&lt;br /&gt;을 다음과 같이 변경&lt;br /&gt;&lt;br /&gt;rowsPerPage : args.rowsPerPage,&lt;br /&gt;rowsPerPageOptions: [1,2,5,10],&lt;br /&gt;pageLinks : args.pageLinks,&lt;br /&gt;&lt;br /&gt;(그럼 jmaki에 설정한 대로 제시)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/SsWFgVNkNSI/AAAAAAAABcw/jBSPI7xsVQ4/s1600-h/jmaki_datatable_gf_18.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 350px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5387859319715018018" border="0" alt="" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/SsWFgVNkNSI/AAAAAAAABcw/jBSPI7xsVQ4/s400/jmaki_datatable_gf_18.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;pagination 1차 완성&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/SsWF-b2OQAI/AAAAAAAABdA/9uT0TcXkmPU/s1600-h/jmaki_datatable_gf_19.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 374px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5387859836892233730" border="0" alt="" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/SsWF-b2OQAI/AAAAAAAABdA/9uT0TcXkmPU/s400/jmaki_datatable_gf_19.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;이제 데이터베이스로부터 동적 테이블과의 페이지네이션이 2차..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6811062799606447528-8685005690122556507?l=netbeans-korean.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Netbeans-koreanBy/~4/R-NPjvK7X-s" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://netbeans-korean.blogspot.com/feeds/8685005690122556507/comments/default" title="게시물 덧글" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=6811062799606447528&amp;postID=8685005690122556507" title="0개의 덧글" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6811062799606447528/posts/default/8685005690122556507?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6811062799606447528/posts/default/8685005690122556507?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Netbeans-koreanBy/~3/R-NPjvK7X-s/jmakijpaglassfishv3eclipselinkpaginatio.html" title="jmaki+jpa+glassfishv3(eclipselink)+pagination" /><author><name>강여사(J.Y.Kang)</name><uri>http://www.blogger.com/profile/17450510931308610527</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10873429884942954536" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_fNtFXU_t3Yc/SsV77mL3-hI/AAAAAAAABbI/3gGSV20i80Y/s72-c/jmaki_datatable_gf_01.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://netbeans-korean.blogspot.com/2009/10/jmakijpaglassfishv3eclipselinkpaginatio.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Dk8ARH8_eCp7ImA9WxNREEk.&quot;"><id>tag:blogger.com,1999:blog-6811062799606447528.post-4098319530225999441</id><published>2009-09-03T06:08:00.001-07:00</published><updated>2009-09-03T23:14:05.140-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-03T23:14:05.140-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="VirtualBox(xvm)" /><category scheme="http://www.blogger.com/atom/ns#" term="glassfish" /><title>솔라리스(Solaris)10 에서 썬글래스피시v2.1HADB 설치</title><content type="html">솔라리스10 기본설치를 하게되면 AS(Sun Java Application Server 8.2)가 번들로 설치된다.&lt;br /&gt;확인 방법은 다음과 같다.&lt;br /&gt;# asadmin&lt;br /&gt;asadmin&gt;version&lt;br /&gt;확인이 끝나면 exit 로 프롬프트로 돌아온다.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://4.bp.blogspot.com/_pS3FOcydcAc/Sp9aYg3kIBI/AAAAAAAAAHs/g6xCsZNAndk/s1600-h/%EA%B8%80%EB%9E%98%EC%8A%A4%ED%94%BC%EC%8B%9C%EC%84%9C%EB%B2%84%EC%84%A4%EC%B9%98_01.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 304px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5377115857290010642" border="0" alt="" src="http://4.bp.blogspot.com/_pS3FOcydcAc/Sp9aYg3kIBI/AAAAAAAAAHs/g6xCsZNAndk/s400/%EA%B8%80%EB%9E%98%EC%8A%A4%ED%94%BC%EC%8B%9C%EC%84%9C%EB%B2%84%EC%84%A4%EC%B9%98_01.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;서버관련 패키지 확인&lt;br /&gt;#pkgchk -l -p /usr/appserver&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://2.bp.blogspot.com/_pS3FOcydcAc/Sp9aYIXcuEI/AAAAAAAAAHk/lWDLjl6rqbg/s1600-h/%EA%B8%80%EB%9E%98%EC%8A%A4%ED%94%BC%EC%8B%9C%EC%84%9C%EB%B2%84%EC%84%A4%EC%B9%98_02.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 304px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5377115850712856642" border="0" alt="" src="http://2.bp.blogspot.com/_pS3FOcydcAc/Sp9aYIXcuEI/AAAAAAAAAHk/lWDLjl6rqbg/s400/%EA%B8%80%EB%9E%98%EC%8A%A4%ED%94%BC%EC%8B%9C%EC%84%9C%EB%B2%84%EC%84%A4%EC%B9%98_02.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;#pkgchk -l -p /usr/appserver/javadb&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_pS3FOcydcAc/Sp9aX10QwOI/AAAAAAAAAHc/jy_CJ3Ghqg0/s1600-h/%EA%B8%80%EB%9E%98%EC%8A%A4%ED%94%BC%EC%8B%9C%EC%84%9C%EB%B2%84%EC%84%A4%EC%B9%98_03.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 304px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5377115845733433570" border="0" alt="" src="http://1.bp.blogspot.com/_pS3FOcydcAc/Sp9aX10QwOI/AAAAAAAAAHc/jy_CJ3Ghqg0/s400/%EA%B8%80%EB%9E%98%EC%8A%A4%ED%94%BC%EC%8B%9C%EC%84%9C%EB%B2%84%EC%84%A4%EC%B9%98_03.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;설치된 패키지 삭제&lt;br /&gt;# pkgrm SUNWasac SUNWascmn SUNWasjdoc SUNWasman SUNWasr SUNWasu SUNWasjavadb SUNWasut&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_pS3FOcydcAc/Sp9aXTIZhnI/AAAAAAAAAHU/DLnmbnb34LU/s1600-h/%EA%B8%80%EB%9E%98%EC%8A%A4%ED%94%BC%EC%8B%9C%EC%84%9C%EB%B2%84%EC%84%A4%EC%B9%98_04.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 304px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5377115836422653554" border="0" alt="" src="http://4.bp.blogspot.com/_pS3FOcydcAc/Sp9aXTIZhnI/AAAAAAAAAHU/DLnmbnb34LU/s400/%EA%B8%80%EB%9E%98%EC%8A%A4%ED%94%BC%EC%8B%9C%EC%84%9C%EB%B2%84%EC%84%A4%EC%B9%98_04.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;y 로 진행(all)&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_pS3FOcydcAc/Sp9aXEGYPMI/AAAAAAAAAHM/sSpCpNGMM7I/s1600-h/%EA%B8%80%EB%9E%98%EC%8A%A4%ED%94%BC%EC%8B%9C%EC%84%9C%EB%B2%84%EC%84%A4%EC%B9%98_05.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 304px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5377115832387648706" border="0" alt="" src="http://2.bp.blogspot.com/_pS3FOcydcAc/Sp9aXEGYPMI/AAAAAAAAAHM/sSpCpNGMM7I/s400/%EA%B8%80%EB%9E%98%EC%8A%A4%ED%94%BC%EC%8B%9C%EC%84%9C%EB%B2%84%EC%84%A4%EC%B9%98_05.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_pS3FOcydcAc/Sp9arhJ1MXI/AAAAAAAAAIU/PzZ6Ux2qaps/s1600-h/%EA%B8%80%EB%9E%98%EC%8A%A4%ED%94%BC%EC%8B%9C%EC%84%9C%EB%B2%84%EC%84%A4%EC%B9%98_06.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 304px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5377116183784141170" border="0" alt="" src="http://1.bp.blogspot.com/_pS3FOcydcAc/Sp9arhJ1MXI/AAAAAAAAAIU/PzZ6Ux2qaps/s400/%EA%B8%80%EB%9E%98%EC%8A%A4%ED%94%BC%EC%8B%9C%EC%84%9C%EB%B2%84%EC%84%A4%EC%B9%98_06.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_pS3FOcydcAc/Sp9arEhBO8I/AAAAAAAAAIM/22z1oBWDgOw/s1600-h/%EA%B8%80%EB%9E%98%EC%8A%A4%ED%94%BC%EC%8B%9C%EC%84%9C%EB%B2%84%EC%84%A4%EC%B9%98_07.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 304px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5377116176096771010" border="0" alt="" src="http://3.bp.blogspot.com/_pS3FOcydcAc/Sp9arEhBO8I/AAAAAAAAAIM/22z1oBWDgOw/s400/%EA%B8%80%EB%9E%98%EC%8A%A4%ED%94%BC%EC%8B%9C%EC%84%9C%EB%B2%84%EC%84%A4%EC%B9%98_07.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_pS3FOcydcAc/Sp9aqqoySdI/AAAAAAAAAIE/bOdHm3JYvpc/s1600-h/%EA%B8%80%EB%9E%98%EC%8A%A4%ED%94%BC%EC%8B%9C%EC%84%9C%EB%B2%84%EC%84%A4%EC%B9%98_08.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 304px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5377116169150024146" border="0" alt="" src="http://2.bp.blogspot.com/_pS3FOcydcAc/Sp9aqqoySdI/AAAAAAAAAIE/bOdHm3JYvpc/s400/%EA%B8%80%EB%9E%98%EC%8A%A4%ED%94%BC%EC%8B%9C%EC%84%9C%EB%B2%84%EC%84%A4%EC%B9%98_08.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_pS3FOcydcAc/Sp9aqSFvHOI/AAAAAAAAAH8/YMHEkRon2bY/s1600-h/%EA%B8%80%EB%9E%98%EC%8A%A4%ED%94%BC%EC%8B%9C%EC%84%9C%EB%B2%84%EC%84%A4%EC%B9%98_09.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 304px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5377116162560564450" border="0" alt="" src="http://2.bp.blogspot.com/_pS3FOcydcAc/Sp9aqSFvHOI/AAAAAAAAAH8/YMHEkRon2bY/s400/%EA%B8%80%EB%9E%98%EC%8A%A4%ED%94%BC%EC%8B%9C%EC%84%9C%EB%B2%84%EC%84%A4%EC%B9%98_09.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_pS3FOcydcAc/Sp9ap-e4fKI/AAAAAAAAAH0/o2tns0V_EcY/s1600-h/%EA%B8%80%EB%9E%98%EC%8A%A4%ED%94%BC%EC%8B%9C%EC%84%9C%EB%B2%84%EC%84%A4%EC%B9%98_10.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 304px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5377116157297327266" border="0" alt="" src="http://1.bp.blogspot.com/_pS3FOcydcAc/Sp9ap-e4fKI/AAAAAAAAAH0/o2tns0V_EcY/s400/%EA%B8%80%EB%9E%98%EC%8A%A4%ED%94%BC%EC%8B%9C%EC%84%9C%EB%B2%84%EC%84%A4%EC%B9%98_10.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_pS3FOcydcAc/Sp9bR-SMrLI/AAAAAAAAAI8/ACJK3DabCnw/s1600-h/%EA%B8%80%EB%9E%98%EC%8A%A4%ED%94%BC%EC%8B%9C%EC%84%9C%EB%B2%84%EC%84%A4%EC%B9%98_11.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 304px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5377116844438891698" border="0" alt="" src="http://1.bp.blogspot.com/_pS3FOcydcAc/Sp9bR-SMrLI/AAAAAAAAAI8/ACJK3DabCnw/s400/%EA%B8%80%EB%9E%98%EC%8A%A4%ED%94%BC%EC%8B%9C%EC%84%9C%EB%B2%84%EC%84%A4%EC%B9%98_11.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_pS3FOcydcAc/Sp9bRgUZlZI/AAAAAAAAAI0/2okQ7hdWQds/s1600-h/%EA%B8%80%EB%9E%98%EC%8A%A4%ED%94%BC%EC%8B%9C%EC%84%9C%EB%B2%84%EC%84%A4%EC%B9%98_12.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 304px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5377116836395062674" border="0" alt="" src="http://1.bp.blogspot.com/_pS3FOcydcAc/Sp9bRgUZlZI/AAAAAAAAAI0/2okQ7hdWQds/s400/%EA%B8%80%EB%9E%98%EC%8A%A4%ED%94%BC%EC%8B%9C%EC%84%9C%EB%B2%84%EC%84%A4%EC%B9%98_12.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_pS3FOcydcAc/Sp9bRGyYsiI/AAAAAAAAAIs/tXrwUVwG09M/s1600-h/%EA%B8%80%EB%9E%98%EC%8A%A4%ED%94%BC%EC%8B%9C%EC%84%9C%EB%B2%84%EC%84%A4%EC%B9%98_13.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 304px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5377116829541511714" border="0" alt="" src="http://2.bp.blogspot.com/_pS3FOcydcAc/Sp9bRGyYsiI/AAAAAAAAAIs/tXrwUVwG09M/s400/%EA%B8%80%EB%9E%98%EC%8A%A4%ED%94%BC%EC%8B%9C%EC%84%9C%EB%B2%84%EC%84%A4%EC%B9%98_13.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_pS3FOcydcAc/Sp9bQsUnd0I/AAAAAAAAAIk/GUrvlCTQ9Dg/s1600-h/%EA%B8%80%EB%9E%98%EC%8A%A4%ED%94%BC%EC%8B%9C%EC%84%9C%EB%B2%84%EC%84%A4%EC%B9%98_14.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 304px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5377116822437328706" border="0" alt="" src="http://3.bp.blogspot.com/_pS3FOcydcAc/Sp9bQsUnd0I/AAAAAAAAAIk/GUrvlCTQ9Dg/s400/%EA%B8%80%EB%9E%98%EC%8A%A4%ED%94%BC%EC%8B%9C%EC%84%9C%EB%B2%84%EC%84%A4%EC%B9%98_14.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_pS3FOcydcAc/Sp9bQeYVNoI/AAAAAAAAAIc/nEHIfthisJU/s1600-h/%EA%B8%80%EB%9E%98%EC%8A%A4%ED%94%BC%EC%8B%9C%EC%84%9C%EB%B2%84%EC%84%A4%EC%B9%98_15.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 304px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5377116818694813314" border="0" alt="" src="http://4.bp.blogspot.com/_pS3FOcydcAc/Sp9bQeYVNoI/AAAAAAAAAIc/nEHIfthisJU/s400/%EA%B8%80%EB%9E%98%EC%8A%A4%ED%94%BC%EC%8B%9C%EC%84%9C%EB%B2%84%EC%84%A4%EC%B9%98_15.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_pS3FOcydcAc/Sp9blSfJ-HI/AAAAAAAAAJk/zdlfp3MUxxg/s1600-h/%EA%B8%80%EB%9E%98%EC%8A%A4%ED%94%BC%EC%8B%9C%EC%84%9C%EB%B2%84%EC%84%A4%EC%B9%98_16.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 304px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5377117176279464050" border="0" alt="" src="http://4.bp.blogspot.com/_pS3FOcydcAc/Sp9blSfJ-HI/AAAAAAAAAJk/zdlfp3MUxxg/s400/%EA%B8%80%EB%9E%98%EC%8A%A4%ED%94%BC%EC%8B%9C%EC%84%9C%EB%B2%84%EC%84%A4%EC%B9%98_16.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;패키지 삭제 및 서버 삭제 확인&lt;br /&gt;#asadmin&lt;br /&gt;아까와는 달리 인식 안됨(없음) &lt;/p&gt;&lt;p&gt;썬에서 다운로드 받은 파일 실행&lt;br /&gt;http://developers.sun.com/appserver/downloads/index.jsp&lt;br /&gt;Sun GlassFish Enterprise Server v2.1 with HADB 다운로드 후 적절한 경로에 놓는다.&lt;br /&gt;(예. /opt/ses/software/ ...)&lt;br /&gt;&lt;br /&gt;설치실행&lt;br /&gt;# chmod +x sges_ee-2_1-solaris-i586-ml.bin&lt;br /&gt;# ./sges_ee-2_1-solaris-i586-ml.bin&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://2.bp.blogspot.com/_pS3FOcydcAc/Sp9bk9jhuzI/AAAAAAAAAJc/DMlZEah1Y_Y/s1600-h/%EA%B8%80%EB%9E%98%EC%8A%A4%ED%94%BC%EC%8B%9C%EC%84%9C%EB%B2%84%EC%84%A4%EC%B9%98_17.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 304px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5377117170660653874" border="0" alt="" src="http://2.bp.blogspot.com/_pS3FOcydcAc/Sp9bk9jhuzI/AAAAAAAAAJc/DMlZEah1Y_Y/s400/%EA%B8%80%EB%9E%98%EC%8A%A4%ED%94%BC%EC%8B%9C%EC%84%9C%EB%B2%84%EC%84%A4%EC%B9%98_17.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_pS3FOcydcAc/Sp9bkt75OOI/AAAAAAAAAJU/CT7g1taCPMU/s1600-h/%EA%B8%80%EB%9E%98%EC%8A%A4%ED%94%BC%EC%8B%9C%EC%84%9C%EB%B2%84%EC%84%A4%EC%B9%98_18.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 304px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5377117166467889378" border="0" alt="" src="http://1.bp.blogspot.com/_pS3FOcydcAc/Sp9bkt75OOI/AAAAAAAAAJU/CT7g1taCPMU/s400/%EA%B8%80%EB%9E%98%EC%8A%A4%ED%94%BC%EC%8B%9C%EC%84%9C%EB%B2%84%EC%84%A4%EC%B9%98_18.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_pS3FOcydcAc/Sp9bkAnlQyI/AAAAAAAAAJM/jwQIuPH3lB4/s1600-h/%EA%B8%80%EB%9E%98%EC%8A%A4%ED%94%BC%EC%8B%9C%EC%84%9C%EB%B2%84%EC%84%A4%EC%B9%98_19.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 304px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5377117154303099682" border="0" alt="" src="http://3.bp.blogspot.com/_pS3FOcydcAc/Sp9bkAnlQyI/AAAAAAAAAJM/jwQIuPH3lB4/s400/%EA%B8%80%EB%9E%98%EC%8A%A4%ED%94%BC%EC%8B%9C%EC%84%9C%EB%B2%84%EC%84%A4%EC%B9%98_19.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_pS3FOcydcAc/Sp9bjiVw9hI/AAAAAAAAAJE/X6ywv2h9o-o/s1600-h/%EA%B8%80%EB%9E%98%EC%8A%A4%ED%94%BC%EC%8B%9C%EC%84%9C%EB%B2%84%EC%84%A4%EC%B9%98_20.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 304px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5377117146175305234" border="0" alt="" src="http://4.bp.blogspot.com/_pS3FOcydcAc/Sp9bjiVw9hI/AAAAAAAAAJE/X6ywv2h9o-o/s400/%EA%B8%80%EB%9E%98%EC%8A%A4%ED%94%BC%EC%8B%9C%EC%84%9C%EB%B2%84%EC%84%A4%EC%B9%98_20.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_pS3FOcydcAc/Sp9b3OGY5gI/AAAAAAAAAKM/mw-5aFtBd0E/s1600-h/%EA%B8%80%EB%9E%98%EC%8A%A4%ED%94%BC%EC%8B%9C%EC%84%9C%EB%B2%84%EC%84%A4%EC%B9%98_21.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 304px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5377117484339488258" border="0" alt="" src="http://2.bp.blogspot.com/_pS3FOcydcAc/Sp9b3OGY5gI/AAAAAAAAAKM/mw-5aFtBd0E/s400/%EA%B8%80%EB%9E%98%EC%8A%A4%ED%94%BC%EC%8B%9C%EC%84%9C%EB%B2%84%EC%84%A4%EC%B9%98_21.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_pS3FOcydcAc/Sp9b2zoPY_I/AAAAAAAAAKE/osqjgyM6grg/s1600-h/%EA%B8%80%EB%9E%98%EC%8A%A4%ED%94%BC%EC%8B%9C%EC%84%9C%EB%B2%84%EC%84%A4%EC%B9%98_22.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 304px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5377117477233714162" border="0" alt="" src="http://4.bp.blogspot.com/_pS3FOcydcAc/Sp9b2zoPY_I/AAAAAAAAAKE/osqjgyM6grg/s400/%EA%B8%80%EB%9E%98%EC%8A%A4%ED%94%BC%EC%8B%9C%EC%84%9C%EB%B2%84%EC%84%A4%EC%B9%98_22.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_pS3FOcydcAc/Sp9b2ddJ85I/AAAAAAAAAJ8/q8LscXfan6s/s1600-h/%EA%B8%80%EB%9E%98%EC%8A%A4%ED%94%BC%EC%8B%9C%EC%84%9C%EB%B2%84%EC%84%A4%EC%B9%98_23.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 304px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5377117471281640338" border="0" alt="" src="http://4.bp.blogspot.com/_pS3FOcydcAc/Sp9b2ddJ85I/AAAAAAAAAJ8/q8LscXfan6s/s400/%EA%B8%80%EB%9E%98%EC%8A%A4%ED%94%BC%EC%8B%9C%EC%84%9C%EB%B2%84%EC%84%A4%EC%B9%98_23.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_pS3FOcydcAc/Sp9b2D5eXFI/AAAAAAAAAJ0/aV8raaTC4ko/s1600-h/%EA%B8%80%EB%9E%98%EC%8A%A4%ED%94%BC%EC%8B%9C%EC%84%9C%EB%B2%84%EC%84%A4%EC%B9%98_24.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 304px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5377117464421096530" border="0" alt="" src="http://4.bp.blogspot.com/_pS3FOcydcAc/Sp9b2D5eXFI/AAAAAAAAAJ0/aV8raaTC4ko/s400/%EA%B8%80%EB%9E%98%EC%8A%A4%ED%94%BC%EC%8B%9C%EC%84%9C%EB%B2%84%EC%84%A4%EC%B9%98_24.jpg" /&gt;&lt;/a&gt; 비밀번호는 adminadmin 으로 (default)&lt;a href="http://1.bp.blogspot.com/_pS3FOcydcAc/Sp9b1r29jLI/AAAAAAAAAJs/EZib2tGjzrw/s1600-h/%EA%B8%80%EB%9E%98%EC%8A%A4%ED%94%BC%EC%8B%9C%EC%84%9C%EB%B2%84%EC%84%A4%EC%B9%98_25.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 304px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5377117457968106674" border="0" alt="" src="http://1.bp.blogspot.com/_pS3FOcydcAc/Sp9b1r29jLI/AAAAAAAAAJs/EZib2tGjzrw/s400/%EA%B8%80%EB%9E%98%EC%8A%A4%ED%94%BC%EC%8B%9C%EC%84%9C%EB%B2%84%EC%84%A4%EC%B9%98_25.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_pS3FOcydcAc/Sp9cJKLzMcI/AAAAAAAAAK0/9hy_oxcxQlM/s1600-h/%EA%B8%80%EB%9E%98%EC%8A%A4%ED%94%BC%EC%8B%9C%EC%84%9C%EB%B2%84%EC%84%A4%EC%B9%98_26.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 304px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5377117792526086594" border="0" alt="" src="http://1.bp.blogspot.com/_pS3FOcydcAc/Sp9cJKLzMcI/AAAAAAAAAK0/9hy_oxcxQlM/s400/%EA%B8%80%EB%9E%98%EC%8A%A4%ED%94%BC%EC%8B%9C%EC%84%9C%EB%B2%84%EC%84%A4%EC%B9%98_26.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_pS3FOcydcAc/Sp9cI1YGtBI/AAAAAAAAAKs/P_oULVAtZ3o/s1600-h/%EA%B8%80%EB%9E%98%EC%8A%A4%ED%94%BC%EC%8B%9C%EC%84%9C%EB%B2%84%EC%84%A4%EC%B9%98_27.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 304px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5377117786940552210" border="0" alt="" src="http://3.bp.blogspot.com/_pS3FOcydcAc/Sp9cI1YGtBI/AAAAAAAAAKs/P_oULVAtZ3o/s400/%EA%B8%80%EB%9E%98%EC%8A%A4%ED%94%BC%EC%8B%9C%EC%84%9C%EB%B2%84%EC%84%A4%EC%B9%98_27.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_pS3FOcydcAc/Sp9cIU_vHhI/AAAAAAAAAKk/PVgPYQI_pqE/s1600-h/%EA%B8%80%EB%9E%98%EC%8A%A4%ED%94%BC%EC%8B%9C%EC%84%9C%EB%B2%84%EC%84%A4%EC%B9%98_28.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 304px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5377117778248408594" border="0" alt="" src="http://2.bp.blogspot.com/_pS3FOcydcAc/Sp9cIU_vHhI/AAAAAAAAAKk/PVgPYQI_pqE/s400/%EA%B8%80%EB%9E%98%EC%8A%A4%ED%94%BC%EC%8B%9C%EC%84%9C%EB%B2%84%EC%84%A4%EC%B9%98_28.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;아까 패키지를 지운후 바로가기가 안되므로&lt;br /&gt;루트셀을 변경하고 프로파일에 PATH 추가&lt;br /&gt;# vi /etc/passwd&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_pS3FOcydcAc/Sp9cH270euI/AAAAAAAAAKc/sAUTdavPWJY/s1600-h/%EA%B8%80%EB%9E%98%EC%8A%A4%ED%94%BC%EC%8B%9C%EC%84%9C%EB%B2%84%EC%84%A4%EC%B9%98_29.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 304px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5377117770178919138" border="0" alt="" src="http://1.bp.blogspot.com/_pS3FOcydcAc/Sp9cH270euI/AAAAAAAAAKc/sAUTdavPWJY/s400/%EA%B8%80%EB%9E%98%EC%8A%A4%ED%94%BC%EC%8B%9C%EC%84%9C%EB%B2%84%EC%84%A4%EC%B9%98_29.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;root 의 로그인셀을 /sbin/sh 에서 /bin/ksh 로 변경&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_pS3FOcydcAc/Sp9cHaptM-I/AAAAAAAAAKU/-97GLbjJh1w/s1600-h/%EA%B8%80%EB%9E%98%EC%8A%A4%ED%94%BC%EC%8B%9C%EC%84%9C%EB%B2%84%EC%84%A4%EC%B9%98_30.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 304px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5377117762586751970" border="0" alt="" src="http://4.bp.blogspot.com/_pS3FOcydcAc/Sp9cHaptM-I/AAAAAAAAAKU/-97GLbjJh1w/s400/%EA%B8%80%EB%9E%98%EC%8A%A4%ED%94%BC%EC%8B%9C%EC%84%9C%EB%B2%84%EC%84%A4%EC%B9%98_30.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;그리고 프로파일 작성&lt;br /&gt;# cd /&lt;br /&gt;# vi .profile&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_pS3FOcydcAc/Sp9cZ0x8gaI/AAAAAAAAALc/LfNETZhUnaU/s1600-h/%EA%B8%80%EB%9E%98%EC%8A%A4%ED%94%BC%EC%8B%9C%EC%84%9C%EB%B2%84%EC%84%A4%EC%B9%98_31.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 304px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5377118078838276514" border="0" alt="" src="http://1.bp.blogspot.com/_pS3FOcydcAc/Sp9cZ0x8gaI/AAAAAAAAALc/LfNETZhUnaU/s400/%EA%B8%80%EB%9E%98%EC%8A%A4%ED%94%BC%EC%8B%9C%EC%84%9C%EB%B2%84%EC%84%A4%EC%B9%98_31.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;프로파일 내용&lt;br /&gt;export PATH=$PATH:.:/opt/SUNWappserver/bin&lt;br /&gt;저장 후 다시 로그인&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_pS3FOcydcAc/Sp9cZm3DxJI/AAAAAAAAALU/uE7HwiKF_sY/s1600-h/%EA%B8%80%EB%9E%98%EC%8A%A4%ED%94%BC%EC%8B%9C%EC%84%9C%EB%B2%84%EC%84%A4%EC%B9%98_32.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 304px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5377118075101627538" border="0" alt="" src="http://3.bp.blogspot.com/_pS3FOcydcAc/Sp9cZm3DxJI/AAAAAAAAALU/uE7HwiKF_sY/s400/%EA%B8%80%EB%9E%98%EC%8A%A4%ED%94%BC%EC%8B%9C%EC%84%9C%EB%B2%84%EC%84%A4%EC%B9%98_32.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;다시 asadmin 확인&lt;br /&gt;버전 확인&lt;br /&gt;&lt;br /&gt;# asamdin&lt;br /&gt;asadmin&gt; version&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_pS3FOcydcAc/Sp9cZOPdstI/AAAAAAAAALM/T2IN3vtkyHw/s1600-h/%EA%B8%80%EB%9E%98%EC%8A%A4%ED%94%BC%EC%8B%9C%EC%84%9C%EB%B2%84%EC%84%A4%EC%B9%98_33.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 327px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5377118068493103826" border="0" alt="" src="http://3.bp.blogspot.com/_pS3FOcydcAc/Sp9cZOPdstI/AAAAAAAAALM/T2IN3vtkyHw/s400/%EA%B8%80%EB%9E%98%EC%8A%A4%ED%94%BC%EC%8B%9C%EC%84%9C%EB%B2%84%EC%84%A4%EC%B9%98_33.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_pS3FOcydcAc/Sp9cY-SDcxI/AAAAAAAAALE/hPIX1-LJGUs/s1600-h/%EA%B8%80%EB%9E%98%EC%8A%A4%ED%94%BC%EC%8B%9C%EC%84%9C%EB%B2%84%EC%84%A4%EC%B9%98_34.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 327px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5377118064208999186" border="0" alt="" src="http://4.bp.blogspot.com/_pS3FOcydcAc/Sp9cY-SDcxI/AAAAAAAAALE/hPIX1-LJGUs/s400/%EA%B8%80%EB%9E%98%EC%8A%A4%ED%94%BC%EC%8B%9C%EC%84%9C%EB%B2%84%EC%84%A4%EC%B9%98_34.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;도메인 확인 및 시작&lt;br /&gt;asadmin&gt; list-domains&lt;br /&gt;asadmin&gt; start-domain domain1&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_pS3FOcydcAc/Sp9cYX2GsnI/AAAAAAAAAK8/TAo-P67jbEY/s1600-h/%EA%B8%80%EB%9E%98%EC%8A%A4%ED%94%BC%EC%8B%9C%EC%84%9C%EB%B2%84%EC%84%A4%EC%B9%98_35.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 327px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5377118053891224178" border="0" alt="" src="http://1.bp.blogspot.com/_pS3FOcydcAc/Sp9cYX2GsnI/AAAAAAAAAK8/TAo-P67jbEY/s400/%EA%B8%80%EB%9E%98%EC%8A%A4%ED%94%BC%EC%8B%9C%EC%84%9C%EB%B2%84%EC%84%A4%EC%B9%98_35.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;도메인이 시작되면 웹 브라우저를 열어 확인&lt;br /&gt;http://localhost:4848&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_pS3FOcydcAc/Sp9cxriJopI/AAAAAAAAALs/f4_ud95GiTA/s1600-h/%EA%B8%80%EB%9E%98%EC%8A%A4%ED%94%BC%EC%8B%9C%EC%84%9C%EB%B2%84%EC%84%A4%EC%B9%98_37.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 327px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5377118488672969362" border="0" alt="" src="http://1.bp.blogspot.com/_pS3FOcydcAc/Sp9cxriJopI/AAAAAAAAALs/f4_ud95GiTA/s400/%EA%B8%80%EB%9E%98%EC%8A%A4%ED%94%BC%EC%8B%9C%EC%84%9C%EB%B2%84%EC%84%A4%EC%B9%98_37.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_pS3FOcydcAc/Sp9cxRcxE2I/AAAAAAAAALk/Yepd8f4LEog/s1600-h/%EA%B8%80%EB%9E%98%EC%8A%A4%ED%94%BC%EC%8B%9C%EC%84%9C%EB%B2%84%EC%84%A4%EC%B9%98_36.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 327px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5377118481671066466" border="0" alt="" src="http://4.bp.blogspot.com/_pS3FOcydcAc/Sp9cxRcxE2I/AAAAAAAAALk/Yepd8f4LEog/s400/%EA%B8%80%EB%9E%98%EC%8A%A4%ED%94%BC%EC%8B%9C%EC%84%9C%EB%B2%84%EC%84%A4%EC%B9%98_36.jpg" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6811062799606447528-4098319530225999441?l=netbeans-korean.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Netbeans-koreanBy/~4/BNLpoBza7XI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://netbeans-korean.blogspot.com/feeds/4098319530225999441/comments/default" title="게시물 덧글" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=6811062799606447528&amp;postID=4098319530225999441" title="0개의 덧글" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6811062799606447528/posts/default/4098319530225999441?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6811062799606447528/posts/default/4098319530225999441?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Netbeans-koreanBy/~3/BNLpoBza7XI/solaris10-v21hadb.html" title="솔라리스(Solaris)10 에서 썬글래스피시v2.1HADB 설치" /><author><name>강여사(J.Y.Kang)</name><uri>http://www.blogger.com/profile/17450510931308610527</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10873429884942954536" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_pS3FOcydcAc/Sp9aYg3kIBI/AAAAAAAAAHs/g6xCsZNAndk/s72-c/%EA%B8%80%EB%9E%98%EC%8A%A4%ED%94%BC%EC%8B%9C%EC%84%9C%EB%B2%84%EC%84%A4%EC%B9%98_01.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://netbeans-korean.blogspot.com/2009/09/solaris10-v21hadb.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUUMQn4-eip7ImA9WxNSGUU.&quot;"><id>tag:blogger.com,1999:blog-6811062799606447528.post-1068212051298491455</id><published>2009-09-03T06:07:00.001-07:00</published><updated>2009-09-03T06:08:03.052-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-03T06:08:03.052-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="VirtualBox(xvm)" /><category scheme="http://www.blogger.com/atom/ns#" term="JDK 6" /><title>솔라리스(Solaris)10 에서 자바 6 패키지 기반(package-based)으로 설치</title><content type="html">솔라리스 10 u7 을 기본 설치하게되면 자바 5 버전이 번들로 설치되어 있다.&lt;br /&gt;&lt;br /&gt;따라서 이 환경에다 자바 6 버전을 패키지 기반(package-based)으로 설치해보고자 한다.&lt;br /&gt;&lt;br /&gt;우선 http://java.sun.com/ 의 download (http://java.sun.com/javase/downloads/index.jsp)에서 적절한 파일을 다운로드 받는다.&lt;br /&gt;&lt;br /&gt;현재(2009.09.03) 자바 6 버전은 업데이트 16 며, 패키지 기반 설치를 위해서는 *tar.Z 을 다운로드 받는다.&lt;br /&gt;&lt;br /&gt;관련 링크: (*tar.Z)&lt;br /&gt;&lt;br /&gt;https://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/ViewFilteredProducts-SingleVariationTypeFilter&lt;br /&gt;&lt;br /&gt;다운로드후 다음과 같이 처리&lt;br /&gt;&lt;br /&gt;# chmod +x jdk-6&lt;update&gt;-solaris-i586.tar.Z&lt;br /&gt;&lt;br /&gt;# zcat jdk-6&lt;update&gt;-solaris-i586.tar.Z tar -xf -&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://1.bp.blogspot.com/_pS3FOcydcAc/Sp9WqmP5ZjI/AAAAAAAAAGk/g4jFzM1tV4g/s1600-h/%EC%9E%90%EB%B0%94%EC%84%A4%EC%B9%98_02.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 327px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5377111769925379634" border="0" alt="" src="http://1.bp.blogspot.com/_pS3FOcydcAc/Sp9WqmP5ZjI/AAAAAAAAAGk/g4jFzM1tV4g/s400/%EC%9E%90%EB%B0%94%EC%84%A4%EC%B9%98_02.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;압축이 풀리면 다음과 같이 패키지 추가&lt;br /&gt;# pkgadd -d . SUNWj6rt SUNWj6dev SUNWj6cfg SUNWj6man SUNWj6dmo&lt;br /&gt;&lt;br /&gt;팁. 기존에 6 버전이 설치되어 있다면 삭제방법&lt;br /&gt;# pkgrm SUNWj6rt SUNWj6dev SUNWj6cfg SUNWj6man SUNWj6dmo&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_pS3FOcydcAc/Sp9WqeuynVI/AAAAAAAAAGc/pUxhPFpjSrQ/s1600-h/%EC%9E%90%EB%B0%94%EC%84%A4%EC%B9%98_03.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 327px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5377111767907474770" border="0" alt="" src="http://1.bp.blogspot.com/_pS3FOcydcAc/Sp9WqeuynVI/AAAAAAAAAGc/pUxhPFpjSrQ/s400/%EC%9E%90%EB%B0%94%EC%84%A4%EC%B9%98_03.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_pS3FOcydcAc/Sp9WpzNpCzI/AAAAAAAAAGU/WA20eMBi200/s1600-h/%EC%9E%90%EB%B0%94%EC%84%A4%EC%B9%98_04.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 327px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5377111756225710898" border="0" alt="" src="http://2.bp.blogspot.com/_pS3FOcydcAc/Sp9WpzNpCzI/AAAAAAAAAGU/WA20eMBi200/s400/%EC%9E%90%EB%B0%94%EC%84%A4%EC%B9%98_04.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_pS3FOcydcAc/Sp9WpSy_caI/AAAAAAAAAGM/Cy9MqmpOCWA/s1600-h/%EC%9E%90%EB%B0%94%EC%84%A4%EC%B9%98_05.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 327px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5377111747523998114" border="0" alt="" src="http://2.bp.blogspot.com/_pS3FOcydcAc/Sp9WpSy_caI/AAAAAAAAAGM/Cy9MqmpOCWA/s400/%EC%9E%90%EB%B0%94%EC%84%A4%EC%B9%98_05.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_pS3FOcydcAc/Sp9W4gF2CgI/AAAAAAAAAG0/7UI2tXiyUW8/s1600-h/%EC%9E%90%EB%B0%94%EC%84%A4%EC%B9%98_06.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 327px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5377112008790772226" border="0" alt="" src="http://2.bp.blogspot.com/_pS3FOcydcAc/Sp9W4gF2CgI/AAAAAAAAAG0/7UI2tXiyUW8/s400/%EC%9E%90%EB%B0%94%EC%84%A4%EC%B9%98_06.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;패키지 설치 후 심볼릭링크 걸기&lt;br /&gt;# cd /usr&lt;br /&gt;# rm java&lt;br /&gt;# ln -s jdk/jdk1.6.0_16 java&lt;br /&gt;# java -version&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_pS3FOcydcAc/Sp9W5LDrWvI/AAAAAAAAAG8/wAMMzHDwRJo/s1600-h/%EC%9E%90%EB%B0%94%EC%84%A4%EC%B9%98_07.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 327px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5377112020324408050" border="0" alt="" src="http://1.bp.blogspot.com/_pS3FOcydcAc/Sp9W5LDrWvI/AAAAAAAAAG8/wAMMzHDwRJo/s400/%EC%9E%90%EB%B0%94%EC%84%A4%EC%B9%98_07.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;자바버전 확인&lt;br /&gt;# java -version&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_pS3FOcydcAc/Sp9W5bA9NAI/AAAAAAAAAHE/ep-c1yFSo5M/s1600-h/%EC%9E%90%EB%B0%94%EC%84%A4%EC%B9%98_08.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 327px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5377112024607962114" border="0" alt="" src="http://4.bp.blogspot.com/_pS3FOcydcAc/Sp9W5bA9NAI/AAAAAAAAAHE/ep-c1yFSo5M/s400/%EC%9E%90%EB%B0%94%EC%84%A4%EC%B9%98_08.jpg" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6811062799606447528-1068212051298491455?l=netbeans-korean.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Netbeans-koreanBy/~4/MlMKbNyzPvk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://netbeans-korean.blogspot.com/feeds/1068212051298491455/comments/default" title="게시물 덧글" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=6811062799606447528&amp;postID=1068212051298491455" title="0개의 덧글" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6811062799606447528/posts/default/1068212051298491455?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6811062799606447528/posts/default/1068212051298491455?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Netbeans-koreanBy/~3/MlMKbNyzPvk/solaris10-6-package-based.html" title="솔라리스(Solaris)10 에서 자바 6 패키지 기반(package-based)으로 설치" /><author><name>강여사(J.Y.Kang)</name><uri>http://www.blogger.com/profile/17450510931308610527</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10873429884942954536" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_pS3FOcydcAc/Sp9WqmP5ZjI/AAAAAAAAAGk/g4jFzM1tV4g/s72-c/%EC%9E%90%EB%B0%94%EC%84%A4%EC%B9%98_02.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://netbeans-korean.blogspot.com/2009/09/solaris10-6-package-based.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUEDRXY6fSp7ImA9WxJXGUk.&quot;"><id>tag:blogger.com,1999:blog-6811062799606447528.post-2316645329309476793</id><published>2009-06-13T19:47:00.001-07:00</published><updated>2009-06-13T19:47:54.815-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-06-13T19:47:54.815-07:00</app:edited><title>솔라리스 OS 와 리눅스 환경에서 자바 SE 6 에 대한 문제 해결(Troubleshooting) 가이드 팁(Quick Guide)</title><content type="html">&lt;span xmlns=''&gt;&lt;p&gt;본 문서는 "퀵 스타트 가이드"로 문제 해결(troubleshooting)을 위한 몇 가지 빠른 도움말을 제공합니다. 즉, 정보를 얻기 위해 작업을 수행하거나 하나 이상의 방법을 포함한 문제 해결에 도움이되는 몇 가지 일반적인 기능을 나열합니다. &lt;br /&gt;&lt;/p&gt;&lt;p&gt;이러한 요령으로 구성은 다음과 같습니다 : (해당 주제별)&lt;br /&gt;&lt;/p&gt;&lt;ul style='margin-left: 40pt'&gt;&lt;li&gt;행(Hung), 데드락(Deadlocked), 또는 루핑(Looping) 프로세스&lt;br /&gt;&lt;/li&gt;&lt;li&gt;사후 진단(Post-mortem Diagnostics), 메모리 누수(Leaks)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;모니터링 &lt;br /&gt;&lt;/li&gt;&lt;li&gt;원격 디버그 서버 상의 액션(Actions)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;기타 기능  &lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;행(Hung), 데드락(Deadlocked), 또는 루핑(Looping) 프로세스&lt;br /&gt;&lt;/p&gt;&lt;ul style='margin-left: 40pt'&gt;&lt;li&gt;&lt;div&gt;출력 쓰레드 모든 Java 쓰레드에 대한 스택 : &lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;Control-\&lt;br /&gt;&lt;/li&gt;&lt;li&gt;kill-QUIT &lt;em&gt;pid&lt;/em&gt;&lt;br /&gt;						&lt;/li&gt;&lt;li&gt;&lt;span style='font-family:맑은 고딕'&gt;jstack &lt;em&gt;pid&lt;/em&gt; (또는&lt;/span&gt; jstack -F &lt;em&gt;pid&lt;/em&gt; , 만약 jstack &lt;em&gt;pid&lt;/em&gt;가 응답하지 않으면) &lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;교착 상태를 감지 : &lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;교착 상태 감지 요청: JConsole 툴, 쓰레드 탭(tab) &lt;br /&gt;&lt;/li&gt;&lt;li&gt;쓰레드 교착 상태에 정보 출력 : Control-\&lt;br /&gt;&lt;/li&gt;&lt;li&gt;각각의 쓰레드가 소유한 동시 잠금 목록 출력: -XX:+PrintConcurrentLocks 세트, 그 후 Control-\&lt;br /&gt;&lt;/li&gt;&lt;li&gt;프로세스에 대한 잠금 정보 출력 : jstack -l &lt;em&gt;pid&lt;/em&gt; 명령 &lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;프로세스에 대한 힙 히스토그램(heap histrogram) 가져오기 : &lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;자바 프로세스를 다음 옵션으로 시작 -XX:+PrintClassHistogram, 그 후 Control-\&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style='font-family:맑은 고딕'&gt;jmap -histo 명령&lt;/span&gt; (만약 pid 응답이 없으면 -F 옵션 추가)&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;프로세스에 대한 자바 힙 덤프를 바이너리 형식의 파일에 덤프 뜨기:&lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;span style='font-family:맑은 고딕'&gt;jmap –dump: format=b,file=filename &lt;em&gt;pid&lt;/em&gt; (만약&lt;/span&gt; pid 응답이 없으면 -F 옵션 추가)&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;프로세스를 위한 공유된 객체 매핑 출력&lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;jmap &lt;em&gt;pid&lt;/em&gt;&lt;br /&gt;						&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;프로세스를 위한 힙 요약정보 출력&lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;Control-\&lt;br /&gt;&lt;/li&gt;&lt;li&gt;jmap -heap &lt;em&gt;pid&lt;/em&gt;&lt;br /&gt;						&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;프로세스를 위한 종료자(finalization) 정보 출력&lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;jmap -finalizerinfo &lt;em&gt;pid&lt;/em&gt;&lt;br /&gt;						&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;프로세스에 명령어 디버거 붙이기(attach)&lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;jdb -connect sun.jvm.hotspot.jdi.SAPIDAttachingConnector:pid=&lt;em&gt;pid&lt;/em&gt; jmap -histo 명령 &lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;사후 진단, (Post-mortem Diagnostics), 메모리 누수(Memory Leaks)&lt;br /&gt;&lt;/p&gt;&lt;ul style='margin-left: 40pt'&gt;&lt;li&gt;치명적인 오류 로그 파일을 검사합니다.  기본 파일 이름은 hs_err_pidpid.log 로 작업 디렉토리에 들어있습니다.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;힙 덤프(heap dump) 생성 : &lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;HPROF 활성시켜 응용 프로그램 시작: java -agentlib:hprof=file=file,format=b application;  그후 Control-Break파일&lt;br /&gt;&lt;/li&gt;&lt;li&gt;HPROF 활성시켜 응용 프로그램 시작: java -agentlib:hprof=heap=dump application &lt;br /&gt;&lt;/li&gt;&lt;li&gt;JConsole 툴에서 MBeans 탭&lt;br /&gt;&lt;/li&gt;&lt;li&gt;다음 옵션으로 VM 시작 -XX:+HeapDumpOnOutOfMemoryError;; OutOfMemoryError 가 던져지면, VM은 힙 덤프(heap dump)를 자동 생성합니다.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;자바 힙 덤프 보기(Browse) : &lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;jhat heap-dump-file &lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;프로세스에 대한 힙 히스토그램 가져오기: &lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;다음 옵션으로 자바 프로세스 시작: -XX:+PrintClassHistogram, 그후 Control-Break&lt;br /&gt;&lt;/li&gt;&lt;li&gt;jmap -histo &lt;em&gt;pid&lt;/em&gt; (만약 pid 응답이 없으면 -F 옵션 추가)&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;코어 파일로부터 힙 히스토그램 가져오기:&lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;jmap -histo &lt;em&gt;corefile&lt;/em&gt;&lt;br /&gt;						&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;코어 파일로부터 공유된 객체 매핑 출력:&lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;jmap &lt;em&gt;corefile&lt;/em&gt;&lt;br /&gt;						&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;코어 파일로부터 힙 요약정보 출력:&lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;jmap -heap &lt;em&gt;corefile&lt;/em&gt;&lt;br /&gt;						&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;코어 파일로부터 종료자(finalization) 정보 출력:&lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;jmap -finalizerinfo &lt;em&gt;corefile&lt;/em&gt;&lt;br /&gt;						&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;코어 파일로부터 자바 설정 정보 출력:&lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;jinfo &lt;em&gt;corefile&lt;/em&gt;&lt;br /&gt;						&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;코어 파일로부터 쓰레드 추적 출력:&lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;jstack &lt;em&gt;corefile&lt;/em&gt;&lt;br /&gt;						&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;코어 파일로부터 잠금 정보 출력:&lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;jstack -l &lt;em&gt;corefile&lt;/em&gt;&lt;br /&gt;						&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;같은 머신 상에서 코어 파일에 명령어 디버거 붙이기(attach):&lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;jdb -connect sun.jvm.hotspot.jdi.SACoreAttachingConnector:javaExecutable=path,core=&lt;em&gt;corefile&lt;/em&gt;&lt;br /&gt;						&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;서로 다른 머신상에서 코어 파일에 명령어 디버거 붙이기(attach):&lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;코어 파일을 가진 쪽: jsadebugd path &lt;em&gt;corefile&lt;/em&gt;&lt;br /&gt;						&lt;/li&gt;&lt;li&gt;디버거를 가진 쪽: jdb -connect sun.jvm.hotspot.jdi.SADebugServerAttachingConnector:debugServerName=machine &lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;libumem 은 메모리 누수를 디버그하기 위해 사용될 수 있다.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;br /&gt; &lt;/p&gt;&lt;p&gt;모니터링  (jstat 윈도우 98이나 윈도우 ME에서 사용할 수 없습니다.) &lt;br /&gt;&lt;/p&gt;&lt;p&gt;참고 : jstat 명령에 대한 인수는 가상 머신 vmID 식별자입니다. jstat man 페이지를 참조하십시오  &lt;br /&gt;&lt;/p&gt;&lt;p&gt;자세한 설명 &lt;br /&gt;&lt;/p&gt;&lt;ul style='margin-left: 40pt'&gt;&lt;li&gt;&lt;div&gt;클래스 로더에 통계 출력 : &lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;jstat -class &lt;em&gt;vmID&lt;/em&gt;&lt;br /&gt;						&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;컴파일러에 대한 통계 출력 : &lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;컴파일러 동작 : jstat -compiler &lt;em&gt;vmID&lt;/em&gt;&lt;br /&gt;						&lt;/li&gt;&lt;li&gt;컴파일 메소드에 대한 통계 : jstat - printcompilation &lt;em&gt;vmID&lt;/em&gt;&lt;br /&gt;						&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;가비지 컬렉션에 통계 출력 : &lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;요약 통계 : jstat -gcutil &lt;em&gt;vmID&lt;/em&gt;&lt;br /&gt;						&lt;/li&gt;&lt;li&gt;오류 포함, 요약 통계 : jstat - gccause &lt;em&gt;vmID&lt;/em&gt;&lt;br /&gt;						&lt;/li&gt;&lt;li&gt;GC의 힙 동작(behavior) : jstat -gc &lt;em&gt;vmID&lt;/em&gt;&lt;br /&gt;						&lt;/li&gt;&lt;li&gt;모든 generations 용량 : jstat -gccapacity &lt;em&gt;vmID&lt;/em&gt;&lt;br /&gt;						&lt;/li&gt;&lt;li&gt;new generation 동작: jstat -gcnew &lt;em&gt;vmID&lt;/em&gt;&lt;br /&gt;						&lt;/li&gt;&lt;li&gt;new generation 용량: jstat -gcnewcapacity &lt;em&gt;vmID&lt;/em&gt;&lt;br /&gt;						&lt;/li&gt;&lt;li&gt;old 와 permanent generations 동작: jstat -gcold &lt;em&gt;vmID&lt;/em&gt;&lt;br /&gt;						&lt;/li&gt;&lt;li&gt;old generations 용량 : jstat -gcoldcapacity &lt;em&gt;vmID&lt;/em&gt;&lt;br /&gt;						&lt;/li&gt;&lt;li&gt;permanent generations 용량: jstat -gcpermcapacity &lt;em&gt;vmID&lt;/em&gt;&lt;br /&gt;						&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;finalization를 기다리는 개체 모니터링: &lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;JConsole 툴, VM 요약 탭 &lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style='font-family:맑은 고딕'&gt;jmap -finalizerinfo pid&lt;/span&gt;&lt;br /&gt;						&lt;/li&gt;&lt;li&gt;java.lang.management.MemoryMXBean 클래스 안에 있는 getObjectPendingFinalizationCount 메소드&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;메모리 모니터 : &lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;HPROF를 통해 힙 할당 프로필(profiles) : java -agentlib:hprof=heap=sites &lt;br /&gt;&lt;/li&gt;&lt;li&gt;JConsole 툴, 메모리 탭 &lt;br /&gt;&lt;/li&gt;&lt;li&gt;Control – Break 는 generation 정보 출력&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;CPU 사용률 모니터 : &lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;쓰레드 스택 관련 : java -agentlib:hprof=cpu=samples application &lt;br /&gt;&lt;/li&gt;&lt;li&gt;메소드 관련 : java -agentlib:hprof=cpu=times application &lt;br /&gt;&lt;/li&gt;&lt;li&gt;JConsole 툴, 개요 및 VM을 요약 탭 &lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;쓰레드 활동 모니터  : &lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;JConsole 툴, 쓰레드 탭 &lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;클래스 액티비티 모니터 : &lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;JConsole 툴, 클래스 탭 &lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;원격 디버그 서버 위의 액션(actions)&lt;br /&gt;&lt;/p&gt;&lt;ul style='margin-left: 40pt'&gt;&lt;li&gt;&lt;div&gt;우선,디버그 데몬 jsadebugd 부르고, 그 후 명령 실행: jmap -dump:format=b,file=filename &lt;em&gt;hostID&lt;/em&gt;&lt;br /&gt;					&lt;/div&gt;&lt;ul&gt;&lt;li&gt;이진 포맷의 자바 힙을 파일에 덤프: &lt;br /&gt;&lt;/li&gt;&lt;li&gt;공유된 객체 매핑 출력: jmap &lt;em&gt;hostID&lt;/em&gt;&lt;br /&gt;						&lt;/li&gt;&lt;li&gt;힙 요약정보 출력 jmap -heap &lt;em&gt;hostID&lt;/em&gt;&lt;br /&gt;						&lt;/li&gt;&lt;li&gt;종료자 정보 출력: jmap -finalizerinfo &lt;em&gt;hostID&lt;/em&gt;&lt;br /&gt;						&lt;/li&gt;&lt;li&gt;잠금 정보 출력: jstack -l &lt;em&gt;hostID&lt;/em&gt;&lt;br /&gt;						&lt;/li&gt;&lt;li&gt;쓰레드 추적 출력: jstack &lt;em&gt;hostID&lt;/em&gt;&lt;br /&gt;						&lt;/li&gt;&lt;li&gt;자바 설정 정보 출력: jinfo &lt;em&gt;hostID&lt;/em&gt;&lt;br /&gt;						&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt; 기타 기능 &lt;br /&gt;&lt;/p&gt;&lt;ul style='margin-left: 40pt'&gt;&lt;li&gt;&lt;div&gt;instrumented 자바 가상 머신 인터페이스 : &lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;instrumented VMs (Windows 98이나 Windows ME 불가) 생성 및 종료 모니터 : jstatd daemon &lt;br /&gt;&lt;/li&gt;&lt;li&gt;instrumented VMs (Windows 98이나 Windows ME 불가) 목록 : jps &lt;br /&gt;&lt;/li&gt;&lt;li&gt;원격 모니터링 툴 및 로컬 VM 간 인터페이스 제공 (Windows 98 이나 Windows ME 불가) : jstatd daemon &lt;br /&gt;&lt;/li&gt;&lt;li&gt;가비지 컬렉션 요청 : JConsole 툴, 메모리 탭 &lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;&lt;span style='font-family:맑은 고딕'&gt;프로세스의&lt;/span&gt; 특정 자바 VM 플래그(flags) 값 동적 설정, 해제, 또는 변경 : &lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;jinfo -flag flag &lt;em&gt;pid&lt;/em&gt;&lt;br /&gt;						&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;가상 머신에 Java VM 플래그(flag) 전달하기 : &lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;jconsole -J&lt;em&gt;flag&lt;/em&gt; ... &lt;br /&gt;&lt;/li&gt;&lt;li&gt;jhat -J&lt;em&gt;flag&lt;/em&gt; ... &lt;br /&gt;&lt;/li&gt;&lt;li&gt;jmap -J&lt;em&gt;flag&lt;/em&gt; ... &lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;클래스 로더에 의한, 자바 힙의 영속 제너레이션 통계 출력&lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;jmap -permstat&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;모니터 경합 보고 : &lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;java -agentlib:hprof=monitor=y &lt;em&gt;application&lt;/em&gt;&lt;br /&gt;						&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;대화식(interactive) 모드 또는 일괄처리(batch) 모드로 스크립트 평가 또는 실행 : &lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;jrunscript &lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;MBean 동적 인터페이스, JConsole 툴 탭을 통해 MBean : &lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;트리 구조 보기. &lt;br /&gt;&lt;/li&gt;&lt;li&gt;속성 값 설정. &lt;br /&gt;&lt;/li&gt;&lt;li&gt;작업(operation) 호출. &lt;br /&gt;&lt;/li&gt;&lt;li&gt;알림(notification) 설정(subscribe)&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;대화식 명령 - 라인 디버거 실행 : &lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;클래스에 대한 새 VM이 : jdb &lt;em&gt;class&lt;/em&gt;&lt;br /&gt;						&lt;/li&gt;&lt;li&gt;실행중인 VM에 디버거 첨부 : jdb –attach &lt;em&gt;address&lt;/em&gt;&lt;br /&gt;						&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6811062799606447528-2316645329309476793?l=netbeans-korean.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Netbeans-koreanBy/~4/SvfDluVLA-g" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://netbeans-korean.blogspot.com/feeds/2316645329309476793/comments/default" title="게시물 덧글" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=6811062799606447528&amp;postID=2316645329309476793" title="0개의 덧글" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6811062799606447528/posts/default/2316645329309476793?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6811062799606447528/posts/default/2316645329309476793?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Netbeans-koreanBy/~3/SvfDluVLA-g/os-se-6-troubleshooting-quick-guide_13.html" title="솔라리스 OS 와 리눅스 환경에서 자바 SE 6 에 대한 문제 해결(Troubleshooting) 가이드 팁(Quick Guide)" /><author><name>강여사(J.Y.Kang)</name><uri>http://www.blogger.com/profile/17450510931308610527</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10873429884942954536" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://netbeans-korean.blogspot.com/2009/06/os-se-6-troubleshooting-quick-guide_13.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0cHRXc4fyp7ImA9WxJQGEg.&quot;"><id>tag:blogger.com,1999:blog-6811062799606447528.post-4024569448978021473</id><published>2009-06-01T01:33:00.001-07:00</published><updated>2009-06-01T04:17:14.937-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-06-01T04:17:14.937-07:00</app:edited><title>윈도우 환경에서 자바 SE 6 에 대한 문제 해결(Troubleshooting) 가이트 팁(Quick Guide)</title><content type="html">&lt;span xmlns=""&gt;&lt;p&gt;본 문서는 "퀵 스타트 가이드"로 문제 해결(troubleshooting)을 위한 몇 가지 빠른 도움말을 제공합니다. 즉, 정보를 얻기 위해 작업을 수행하거나 하나 이상의 방법을 포함한 문제 해결에 도움이되는 몇 가지 일반적인 기능을 나열합니다.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;이러한 요령으로 구성은 다음과 같습니다 : (해당 주제별)&lt;br /&gt;&lt;/p&gt;&lt;ul style="MARGIN-LEFT: 40pt"&gt;&lt;li&gt;행(Hung), 데드락(Deadlocked), 또는 루핑(Looping) 프로세스&lt;br /&gt;&lt;/li&gt;&lt;li&gt;사후 진단(Post-mortem Diagnostics), 메모리 누수(Leaks)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;모니터링&lt;br /&gt;&lt;/li&gt;&lt;li&gt;기타 기능 &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;행(Hung), 데드락(Deadlocked), 또는 루핑(Looping) 프로세스&lt;/p&gt;&lt;ul style="MARGIN-LEFT: 40pt"&gt;&lt;li&gt;출력 쓰레드 모든 Java 쓰레드에 대한 스택 :&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Control-Break&lt;br /&gt;&lt;/li&gt;&lt;li&gt;jstack pid 명령&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;교착 상태를 감지 :&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;교착 상태 감지 요청: JConsole 툴, 쓰레드 탭(tab)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;쓰레드 교착 상태에 정보 출력 : Control-Break&lt;br /&gt;&lt;/li&gt;&lt;li&gt;프로세스에 대한 잠금 정보 출력 : jstack -l pid 명령&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;프로세스에 대한 힙 히스토그램(heap histrogram) 가져오기 :&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;자바 프로세스를 다음 옵션으로 시작 -XX:+PrintClassHistogram, 그후 Control-Break&lt;br /&gt;&lt;/li&gt;&lt;li&gt;jmap -histo 명령&lt;br /&gt;&lt;/li&gt;&lt;li&gt;프로세스에 대한 자바 힙 덤프를 바이너리 형식의 파일에 덤프 뜨기:&lt;br /&gt;&lt;/li&gt;&lt;li&gt;jmap –dump: format=b,file=filename pid&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;사후 진단, (Post-mortem Diagnostics), 메모리 누수(Memory Leaks)&lt;br /&gt;&lt;/p&gt;&lt;ul style="MARGIN-LEFT: 40pt"&gt;&lt;li&gt;치명적인 오류 로그 파일을 검사합니다. 기본 파일 이름은 hs_err_pidpid.log 로 작업 디렉토리에 들어있습니다.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;힙 덤프(heap dump) 생성 :&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;HPROF 활성시켜 응용 프로그램 시작: java -agentlib:hprof=file=file,format=b application; 그후 Control-Break파일&lt;br /&gt;&lt;/li&gt;&lt;li&gt;HPROF 활성시켜 응용 프로그램 시작: java -agentlib:hprof=heap=dump application&lt;br /&gt;&lt;/li&gt;&lt;li&gt;JConsole 툴에서 MBeans 탭&lt;br /&gt;&lt;/li&gt;&lt;li&gt;다음 옵션으로 VM 시작 -XX:+HeapDumpOnOutOfMemoryError;; OutOfMemoryError 가 던져지면, VM은 힙 덤프(heap dump)를 자동 생성합니다.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;자바 힙 덤프 보기(Browse) :&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;jhat heap-dump-file&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;프로세스에 대한 힙 히스토그램 가져오기:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;다음 옵션으로 자바 프로세스 시작: -XX:+PrintClassHistogram, 그후 Control-Break&lt;br /&gt;&lt;/li&gt;&lt;li&gt;jmap -histo pid&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;모니터링 (jstat 윈도우 98이나 윈도우 ME에서 사용할 수없습니다.)&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;참고 : jstat 명령에 대한 인수는 가상 머신 vmID 식별자입니다. jstat man 페이지를 참조하십시오&lt;br /&gt;&lt;/p&gt;&lt;p&gt;자세한 설명&lt;br /&gt;&lt;/p&gt;&lt;ul style="MARGIN-LEFT: 40pt"&gt;&lt;li&gt;클래스 로더에 통계 출력 :&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;jstat -class vmID&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;컴파일러에 대한 통계 출력 :&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;컴파일러 동작 : jstat -compiler vmID&lt;br /&gt;&lt;/li&gt;&lt;li&gt;컴파일 메소드에 대한 통계 : jstat - printcompilation vmID&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;가비지 컬렉션에 통계 출력 :&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;요약 통계 : jstat -gcutil vmID&lt;br /&gt;&lt;/li&gt;&lt;li&gt;오류 포함, 요약 통계 : jstat - gccause vmID&lt;br /&gt;&lt;/li&gt;&lt;li&gt;GC의 힙 동작(behavior) : jstat -gc vmID&lt;br /&gt;&lt;/li&gt;&lt;li&gt;모든 generations 용량 : jstat -gccapacity vmID&lt;br /&gt;&lt;/li&gt;&lt;li&gt;new generation 동작: jstat -gcnew vmID&lt;br /&gt;&lt;/li&gt;&lt;li&gt;new generation 용량: jstat -gcnewcapacity vmID&lt;br /&gt;&lt;/li&gt;&lt;li&gt;old 와 permanent generations 동작: jstat -gcold vmID&lt;br /&gt;&lt;/li&gt;&lt;li&gt;old generations 용량 : jstat -gcoldcapacity vmID&lt;br /&gt;&lt;/li&gt;&lt;li&gt;permanent generations 용량: jstat -gcpermcapacity vmID&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;finalization를 기다리는 개체 모니터링:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;JConsole 툴, VM 요약 탭&lt;br /&gt;&lt;/li&gt;&lt;li&gt;java.lang.management.MemoryMXBean 클래스 안에 있는getObjectPendingFinalizationCount 메소드&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;메모리 모니터 :&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;HPROF를 통해 힙 할당 프로필(profiles) : java -agentlib:hprof=heap=sites&lt;br /&gt;&lt;/li&gt;&lt;li&gt;JConsole 툴, 메모리 탭&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Control – Break 는 generation 정보 출력&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;CPU 사용률 모니터 :&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;쓰레드 스택 관련 : java -agentlib:hprof=cpu=samples application&lt;br /&gt;&lt;/li&gt;&lt;li&gt;메소드 관련 : java -agentlib:hprof=cpu=times application&lt;br /&gt;&lt;/li&gt;&lt;li&gt;JConsole 툴, 개요 및 VM을 요약 탭&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;쓰레드 활동 모니터 :&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;JConsole 툴, 쓰레드 탭&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;클래스 액티비티 모니터 :&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;JConsole 툴, 클래스 탭&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;기타 기능&lt;br /&gt;&lt;/p&gt;&lt;ul style="MARGIN-LEFT: 40pt"&gt;&lt;li&gt;instrumented 자바 가상 머신 인터페이스 :&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;instrumented VMs (Windows 98이나 Windows ME 불가) 생성 및 종료 모니터 : jstatd daemon&lt;br /&gt;&lt;/li&gt;&lt;li&gt;instrumented VMs (Windows 98이나 Windows ME 불가) 목록 : jps&lt;br /&gt;&lt;/li&gt;&lt;li&gt;원격 모니터링 툴 및 로컬 VM 간 인터페이스 제공 (Windows 98 이나 Windows ME 불가) : jstatd daemon&lt;br /&gt;&lt;/li&gt;&lt;li&gt;가비지 컬렉션 요청 : JConsole 툴, 메모리 탭&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;프로세스의 특정 자바 VM 플래그(flags) 값 동적 설정, 해제, 또는 변경 :&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;jinfo -flag flag pid&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;가상 머신에 Java VM 플래그(flag) 전달하기 :&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;jconsole -Jflag ...&lt;br /&gt;&lt;/li&gt;&lt;li&gt;jhat -Jflag ...&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;모니터 경합 보고 :&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;java -agentlib:hprof=monitor=y application&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;대화식(interactive) 모드 또는 일괄처리(batch) 모드로 스크립트 평가 또는 실행 :&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;jrunscript&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;MBean 동적 인터페이스, JConsole 툴 탭을 통해 MBean :&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;트리 구조 보기.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;속성 값 설정.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;작업(operation) 호출.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;알림(notification) 설정(subscribe)&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;대화식 명령 - 라인 디버거 실행 :&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;클래스에 대한 새 VM이 : jdb class&lt;br /&gt;&lt;/li&gt;&lt;li&gt;실행중인 VM에 디버거 첨부 : jdb –attach address&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6811062799606447528-4024569448978021473?l=netbeans-korean.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Netbeans-koreanBy/~4/FaKYh8Be7bQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://netbeans-korean.blogspot.com/feeds/4024569448978021473/comments/default" title="게시물 덧글" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=6811062799606447528&amp;postID=4024569448978021473" title="0개의 덧글" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6811062799606447528/posts/default/4024569448978021473?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6811062799606447528/posts/default/4024569448978021473?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Netbeans-koreanBy/~3/FaKYh8Be7bQ/se-6-troubleshooting-quick-guide_7883.html" title="윈도우 환경에서 자바 SE 6 에 대한 문제 해결(Troubleshooting) 가이트 팁(Quick Guide)" /><author><name>강여사(J.Y.Kang)</name><uri>http://www.blogger.com/profile/17450510931308610527</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10873429884942954536" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://netbeans-korean.blogspot.com/2009/06/se-6-troubleshooting-quick-guide_7883.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CE8FR3c9eSp7ImA9WxJTGUo.&quot;"><id>tag:blogger.com,1999:blog-6811062799606447528.post-2230436276015280441</id><published>2009-04-28T19:22:00.001-07:00</published><updated>2009-04-28T19:40:16.961-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-04-28T19:40:16.961-07:00</app:edited><title>Sun SOA Suite- Java CAPS 6 2차 세미나</title><content type="html">&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/Sfe6ve7UAPI/AAAAAAAABRg/XGQKKncurjI/s1600-h/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_01.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/Sfe6ve7UAPI/AAAAAAAABRg/XGQKKncurjI/s400/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_01.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5329934008934727922" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/Sfe6vZtM58I/AAAAAAAABRo/FzkKJ_nbxhY/s1600-h/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_02.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/Sfe6vZtM58I/AAAAAAAABRo/FzkKJ_nbxhY/s400/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_02.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5329934007533365186" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/Sfe6voA7XJI/AAAAAAAABRw/A_TZcLxhpC0/s1600-h/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_03.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/Sfe6voA7XJI/AAAAAAAABRw/A_TZcLxhpC0/s400/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_03.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5329934011374197906" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/Sfe6v6XPlTI/AAAAAAAABR4/uNylSrfBVjE/s1600-h/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_04.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/Sfe6v6XPlTI/AAAAAAAABR4/uNylSrfBVjE/s400/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_04.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5329934016299636018" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/Sfe6v0RFMlI/AAAAAAAABSA/nwkINZ9mlww/s1600-h/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_05.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/Sfe6v0RFMlI/AAAAAAAABSA/nwkINZ9mlww/s400/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_05.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5329934014663176786" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/Sfe6-ycEqXI/AAAAAAAABSo/4tm6l037A6s/s1600-h/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_06.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/Sfe6-ycEqXI/AAAAAAAABSo/4tm6l037A6s/s400/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_06.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5329934271870445938" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/Sfe6-1gYoQI/AAAAAAAABSg/t9rDIlfjEzE/s1600-h/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_07.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/Sfe6-1gYoQI/AAAAAAAABSg/t9rDIlfjEzE/s400/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_07.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5329934272693838082" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/Sfe6-nnEnxI/AAAAAAAABSY/NS1GLSXhSQU/s1600-h/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_08.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/Sfe6-nnEnxI/AAAAAAAABSY/NS1GLSXhSQU/s400/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_08.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5329934268963790610" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/Sfe6-eF1KPI/AAAAAAAABSQ/9jyqtFFP4Jg/s1600-h/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_09.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/Sfe6-eF1KPI/AAAAAAAABSQ/9jyqtFFP4Jg/s400/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_09.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5329934266408446194" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/Sfe6-CJ3DqI/AAAAAAAABSI/j0rL8yM12PI/s1600-h/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_10.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/Sfe6-CJ3DqI/AAAAAAAABSI/j0rL8yM12PI/s400/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_10.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5329934258909154978" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/Sfe7eFGe6JI/AAAAAAAABTQ/nvsKIxmoHLE/s1600-h/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_11.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/Sfe7eFGe6JI/AAAAAAAABTQ/nvsKIxmoHLE/s400/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_11.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5329934809456109714" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/Sfe7dzpDG2I/AAAAAAAABTI/JRWVz1ClYHc/s1600-h/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_12.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/Sfe7dzpDG2I/AAAAAAAABTI/JRWVz1ClYHc/s400/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_12.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5329934804769250146" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/Sfe7dgRURyI/AAAAAAAABTA/Cmc0CYMuG-8/s1600-h/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_13.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/Sfe7dgRURyI/AAAAAAAABTA/Cmc0CYMuG-8/s400/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_13.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5329934799569438498" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/Sfe7djQPK6I/AAAAAAAABS4/tTZLbSyi3nM/s1600-h/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_14.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/Sfe7djQPK6I/AAAAAAAABS4/tTZLbSyi3nM/s400/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_14.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5329934800370215842" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/Sfe7ddn2-5I/AAAAAAAABSw/hSwEl8XO4rU/s1600-h/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_15.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/Sfe7ddn2-5I/AAAAAAAABSw/hSwEl8XO4rU/s400/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_15.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5329934798858681234" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/Sfe7sj3XniI/AAAAAAAABT4/qAQdCus6QMs/s1600-h/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_16.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/Sfe7sj3XniI/AAAAAAAABT4/qAQdCus6QMs/s400/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_16.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5329935058232385058" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/Sfe7sRAGHZI/AAAAAAAABTw/ewi_dfkDCEs/s1600-h/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_17.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/Sfe7sRAGHZI/AAAAAAAABTw/ewi_dfkDCEs/s400/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_17.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5329935053168713106" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/Sfe7sKaaNrI/AAAAAAAABTo/6HfCC7-LHSA/s1600-h/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_18.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/Sfe7sKaaNrI/AAAAAAAABTo/6HfCC7-LHSA/s400/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_18.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5329935051400033970" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/Sfe7rzxPnAI/AAAAAAAABTg/-NMzbyBKkx4/s1600-h/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_19.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/Sfe7rzxPnAI/AAAAAAAABTg/-NMzbyBKkx4/s400/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_19.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5329935045321792514" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/Sfe7rrdZp6I/AAAAAAAABTY/rfIPI3VDX48/s1600-h/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_20.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/Sfe7rrdZp6I/AAAAAAAABTY/rfIPI3VDX48/s400/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_20.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5329935043091081122" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/Sfe747SKCBI/AAAAAAAABUg/I6cYbmkoABQ/s1600-h/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_21.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/Sfe747SKCBI/AAAAAAAABUg/I6cYbmkoABQ/s400/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_21.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5329935270677186578" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/Sfe74xBYnjI/AAAAAAAABUY/AOYC8dno_M8/s1600-h/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_22.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/Sfe74xBYnjI/AAAAAAAABUY/AOYC8dno_M8/s400/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_22.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5329935267922484786" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/Sfe74n6sJ0I/AAAAAAAABUQ/r4tNCK_YW-w/s1600-h/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_23.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/Sfe74n6sJ0I/AAAAAAAABUQ/r4tNCK_YW-w/s400/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_23.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5329935265478485826" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/Sfe74Q9CiuI/AAAAAAAABUI/6FCqv8ucBHc/s1600-h/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_24.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/Sfe74Q9CiuI/AAAAAAAABUI/6FCqv8ucBHc/s400/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_24.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5329935259314326242" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/Sfe74fIUlNI/AAAAAAAABUA/yS5iSB7Ktyk/s1600-h/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_25.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/Sfe74fIUlNI/AAAAAAAABUA/yS5iSB7Ktyk/s400/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_25.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5329935263119742162" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/Sfe8LJFwlnI/AAAAAAAABVI/OhunaFUZXLQ/s1600-h/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_26.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/Sfe8LJFwlnI/AAAAAAAABVI/OhunaFUZXLQ/s400/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_26.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5329935583620929138" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/Sfe8LLrjc2I/AAAAAAAABVA/QhpSLEteHIY/s1600-h/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_27.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/Sfe8LLrjc2I/AAAAAAAABVA/QhpSLEteHIY/s400/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_27.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5329935584316322658" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/Sfe8K3-KaQI/AAAAAAAABU4/qwhP9rAJDxM/s1600-h/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_28.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/Sfe8K3-KaQI/AAAAAAAABU4/qwhP9rAJDxM/s400/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_28.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5329935579025664258" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/Sfe8KrkhvMI/AAAAAAAABUw/AWCwf7xMK5k/s1600-h/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_29.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/Sfe8KrkhvMI/AAAAAAAABUw/AWCwf7xMK5k/s400/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_29.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5329935575696915650" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/Sfe8Kt8gUgI/AAAAAAAABUo/7nLG2aWQoiI/s1600-h/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_30.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/Sfe8Kt8gUgI/AAAAAAAABUo/7nLG2aWQoiI/s400/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_30.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5329935576334356994" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/Sfe8aoSwa3I/AAAAAAAABVw/oPzDMomP7uY/s1600-h/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_31.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/Sfe8aoSwa3I/AAAAAAAABVw/oPzDMomP7uY/s400/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_31.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5329935849694980978" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/Sfe8af_MUZI/AAAAAAAABVo/HnY7OrVZ2Q8/s1600-h/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_32.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/Sfe8af_MUZI/AAAAAAAABVo/HnY7OrVZ2Q8/s400/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_32.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5329935847465439634" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/Sfe8ae6wB8I/AAAAAAAABVg/_Bhid1XKi64/s1600-h/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_33.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/Sfe8ae6wB8I/AAAAAAAABVg/_Bhid1XKi64/s400/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_33.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5329935847178373058" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/Sfe8aIKjqpI/AAAAAAAABVY/4qQpXy6uiQM/s1600-h/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_34.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/Sfe8aIKjqpI/AAAAAAAABVY/4qQpXy6uiQM/s400/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_34.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5329935841070656146" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/Sfe8ZyJJlOI/AAAAAAAABVQ/2VP89PVaimM/s1600-h/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_35.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/Sfe8ZyJJlOI/AAAAAAAABVQ/2VP89PVaimM/s400/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_35.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5329935835159172322" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/Sfe8y1XGSLI/AAAAAAAABWY/TlwIXM1tAVA/s1600-h/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_36.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/Sfe8y1XGSLI/AAAAAAAABWY/TlwIXM1tAVA/s400/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_36.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5329936265519712434" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/Sfe8yoFHaiI/AAAAAAAABWQ/9XwbKikwkQE/s1600-h/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_37.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/Sfe8yoFHaiI/AAAAAAAABWQ/9XwbKikwkQE/s400/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_37.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5329936261954628130" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/Sfe8yrO5hnI/AAAAAAAABWI/q36NeitEm3E/s1600-h/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_38.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/Sfe8yrO5hnI/AAAAAAAABWI/q36NeitEm3E/s400/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_38.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5329936262800967282" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/Sfe8yRxK6HI/AAAAAAAABWA/QPCyexYqTm0/s1600-h/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_39.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/Sfe8yRxK6HI/AAAAAAAABWA/QPCyexYqTm0/s400/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_39.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5329936255965390962" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/Sfe8yNskPNI/AAAAAAAABV4/flzV2dov3Ig/s1600-h/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_40.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/Sfe8yNskPNI/AAAAAAAABV4/flzV2dov3Ig/s400/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_40.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5329936254872337618" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/Sfe9AnllFuI/AAAAAAAABXA/Z3j90_JxF5Y/s1600-h/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_41.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/Sfe9AnllFuI/AAAAAAAABXA/Z3j90_JxF5Y/s400/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_41.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5329936502340523746" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/Sfe9AevSlKI/AAAAAAAABW4/tk1ujro98MM/s1600-h/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_42.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/Sfe9AevSlKI/AAAAAAAABW4/tk1ujro98MM/s400/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_42.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5329936499965334690" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/Sfe9AJc0dtI/AAAAAAAABWw/7Sp0Qletqs0/s1600-h/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_43.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/Sfe9AJc0dtI/AAAAAAAABWw/7Sp0Qletqs0/s400/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_43.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5329936494250718930" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/Sfe9ABAburI/AAAAAAAABWo/r49qhvhp8TM/s1600-h/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_44.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/Sfe9ABAburI/AAAAAAAABWo/r49qhvhp8TM/s400/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_44.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5329936491984173746" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/Sfe8_0VwBeI/AAAAAAAABWg/qm0YhJefglQ/s1600-h/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_45.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/Sfe8_0VwBeI/AAAAAAAABWg/qm0YhJefglQ/s400/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_45.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5329936488583923170" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/Sfe9N4Z3Z8I/AAAAAAAABXo/_XtF541AkwM/s1600-h/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_46.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/Sfe9N4Z3Z8I/AAAAAAAABXo/_XtF541AkwM/s400/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_46.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5329936730193094594" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/Sfe9NqNhV3I/AAAAAAAABXg/KBibXFaRAhA/s1600-h/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_47.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/Sfe9NqNhV3I/AAAAAAAABXg/KBibXFaRAhA/s400/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_47.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5329936726383220594" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/Sfe9NXOM37I/AAAAAAAABXY/Hl-Y0t_rQD0/s1600-h/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_48.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/Sfe9NXOM37I/AAAAAAAABXY/Hl-Y0t_rQD0/s400/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_48.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5329936721285799858" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/Sfe9NTy_ciI/AAAAAAAABXQ/tM010drJ4AM/s1600-h/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_49.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/Sfe9NTy_ciI/AAAAAAAABXQ/tM010drJ4AM/s400/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_49.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5329936720366367266" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/Sfe9NC7QCCI/AAAAAAAABXI/mZ3BI4Izqcg/s1600-h/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_50.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/Sfe9NC7QCCI/AAAAAAAABXI/mZ3BI4Izqcg/s400/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_50.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5329936715837605922" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/Sfe9c9YRWcI/AAAAAAAABYQ/lX2GO_INErY/s1600-h/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_51.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/Sfe9c9YRWcI/AAAAAAAABYQ/lX2GO_INErY/s400/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_51.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5329936989226621378" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/Sfe9ckgIY0I/AAAAAAAABYI/EedsfMRVwP8/s1600-h/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_52.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/Sfe9ckgIY0I/AAAAAAAABYI/EedsfMRVwP8/s400/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_52.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5329936982548702018" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/Sfe9cuLy6YI/AAAAAAAABYA/AFhtd6UYz5M/s1600-h/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_53.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/Sfe9cuLy6YI/AAAAAAAABYA/AFhtd6UYz5M/s400/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_53.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5329936985147763074" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/Sfe9cPy2H-I/AAAAAAAABX4/hGtDMhJXGDE/s1600-h/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_54.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/Sfe9cPy2H-I/AAAAAAAABX4/hGtDMhJXGDE/s400/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_54.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5329936976990052322" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/Sfe9b7yfLFI/AAAAAAAABXw/w9NgTxKIdTQ/s1600-h/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_55.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/Sfe9b7yfLFI/AAAAAAAABXw/w9NgTxKIdTQ/s400/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_55.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5329936971619839058" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/Sfe9qV6ndzI/AAAAAAAABY4/xfTBnfiViLc/s1600-h/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_56.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/Sfe9qV6ndzI/AAAAAAAABY4/xfTBnfiViLc/s400/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_56.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5329937219151427378" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/Sfe9qJS71cI/AAAAAAAABYw/WdCN8UX-45g/s1600-h/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_57.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/Sfe9qJS71cI/AAAAAAAABYw/WdCN8UX-45g/s400/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_57.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5329937215763764674" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/Sfe9p3pBxZI/AAAAAAAABYo/Pawz0NzdDRw/s1600-h/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_58.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/Sfe9p3pBxZI/AAAAAAAABYo/Pawz0NzdDRw/s400/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_58.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5329937211024590226" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/Sfe9pjihffI/AAAAAAAABYg/bggrAlM7olk/s1600-h/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_59.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/Sfe9pjihffI/AAAAAAAABYg/bggrAlM7olk/s400/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_59.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5329937205628599794" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/Sfe9pVrcwiI/AAAAAAAABYY/6DTsL_Gig90/s1600-h/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_60.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/Sfe9pVrcwiI/AAAAAAAABYY/6DTsL_Gig90/s400/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_60.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5329937201907941922" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/Sfe98rsV6kI/AAAAAAAABZY/Uyx5hhxptu0/s1600-h/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_61.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/Sfe98rsV6kI/AAAAAAAABZY/Uyx5hhxptu0/s400/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_61.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5329937534234782274" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/Sfe98S7_7DI/AAAAAAAABZQ/oyc30AP0KD0/s1600-h/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_62.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/Sfe98S7_7DI/AAAAAAAABZQ/oyc30AP0KD0/s400/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_62.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5329937527589563442" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/Sfe98Afy5rI/AAAAAAAABZI/Q2fnqX2ftlo/s1600-h/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_63.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/Sfe98Afy5rI/AAAAAAAABZI/Q2fnqX2ftlo/s400/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_63.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5329937522639431346" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/Sfe98BNXOXI/AAAAAAAABZA/RIHjNAv9Mjw/s1600-h/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_64.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/Sfe98BNXOXI/AAAAAAAABZA/RIHjNAv9Mjw/s400/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_64.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5329937522830555506" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6811062799606447528-2230436276015280441?l=netbeans-korean.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Netbeans-koreanBy/~4/Y9Y3Kefvwww" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://netbeans-korean.blogspot.com/feeds/2230436276015280441/comments/default" title="게시물 덧글" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=6811062799606447528&amp;postID=2230436276015280441" title="0개의 덧글" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6811062799606447528/posts/default/2230436276015280441?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6811062799606447528/posts/default/2230436276015280441?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Netbeans-koreanBy/~3/Y9Y3Kefvwww/sun-soa-suite-java-caps-6-2.html" title="Sun SOA Suite- Java CAPS 6 2차 세미나" /><author><name>강여사(J.Y.Kang)</name><uri>http://www.blogger.com/profile/17450510931308610527</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10873429884942954536" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_fNtFXU_t3Yc/Sfe6ve7UAPI/AAAAAAAABRg/XGQKKncurjI/s72-c/SOA_JavaCAPS_2%EC%B0%A8_%EC%84%B8%EB%AF%B8%EB%82%98_%ED%8E%98%EC%9D%B4%EC%A7%80_01.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://netbeans-korean.blogspot.com/2009/04/sun-soa-suite-java-caps-6-2.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0YARHw9eyp7ImA9WxJTFks.&quot;"><id>tag:blogger.com,1999:blog-6811062799606447528.post-8308555413785961201</id><published>2009-04-25T04:56:00.000-07:00</published><updated>2009-04-25T05:05:45.263-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-04-25T05:05:45.263-07:00</app:edited><title>넷빈 6.5 에서 profiler 사용하기 - 03</title><content type="html">Live Profiling Results 창은 그때까지 수집된 프로파일링 데이터를 표시합니다. 표시된 데이터는 기본으로 몇 초마다 갱신되구요. CPU 성능을 분석할 때, Live Profiling Results 창은 각 메소드에 소요된 시간과 각각 메소드의 호출 수에 대한 정보를 표시하게 됩니다.&lt;br /&gt;&lt;br /&gt;실시간 결과 분석 창(Live Profiling Results)에서 바로 프로젝트의 소스까지 직접 다이렉트하게 갈 수 있습니다. ^^ 그래야 프로파일링 툴답죠.&lt;br /&gt;&lt;br /&gt;나타난 메소드 이름에서 오른쪽 마우스를 클릭하면 Go to Source 메뉴가 있는데 클릭하면 바로 소스코드의 해당 메소드로 갑니다.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/SfL61hgjLbI/AAAAAAAABOo/qzL_6x-tk9I/s1600-h/nb65_profiler_23.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5328597106567622066" style="WIDTH: 400px; CURSOR: hand; HEIGHT: 300px" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/SfL61hgjLbI/AAAAAAAABOo/qzL_6x-tk9I/s400/nb65_profiler_23.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/SfL61ihemeI/AAAAAAAABOw/45-yQOL7iOU/s1600-h/nb65_profiler_24.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5328597106839951842" style="WIDTH: 400px; CURSOR: hand; HEIGHT: 300px" alt="" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/SfL61ihemeI/AAAAAAAABOw/45-yQOL7iOU/s400/nb65_profiler_24.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;프로젝트의 getDefault() 로...&lt;br /&gt;&lt;br /&gt;그럼 마지막으로 메모리 분석을 위해 다시 프로파일링 세션을 종료합니다.&lt;br /&gt;profile - stop profiling session 클릭&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/SfL61__Y1WI/AAAAAAAABPA/L4gYvwJ_0Tk/s1600-h/nb65_profiler_26.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5328597114750031202" style="WIDTH: 400px; CURSOR: hand; HEIGHT: 300px" alt="" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/SfL61__Y1WI/AAAAAAAABPA/L4gYvwJ_0Tk/s400/nb65_profiler_26.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;이번엔 Memory 박스를 누르고 메모리 분석을 하고자 합니다.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/SfL71r4mdFI/AAAAAAAABPg/Gn00tVjT2l4/s1600-h/nb65_profiler_27.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5328598208864482386" style="WIDTH: 400px; CURSOR: hand; HEIGHT: 300px" alt="" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/SfL71r4mdFI/AAAAAAAABPg/Gn00tVjT2l4/s400/nb65_profiler_27.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;이때 기본적으로 선택된 사항으로 진행하면 오버헤드가 적습니다만, 스택 추적이나 GC 등을 위해 다른 방법을 진행하도록 하겠습니다.&lt;br /&gt;&lt;br /&gt;객체생성과 GC 모두를 분석하기 위해 라디오 버튼을 2번째 걸로.&lt;br /&gt;Record Both object creation and garbage collection 으로 클릭&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/SfL8IAxrQaI/AAAAAAAABPo/3qqK3WdO0XM/s1600-h/nb65_profiler_28.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5328598523710226850" style="WIDTH: 400px; CURSOR: hand; HEIGHT: 300px" alt="" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/SfL8IAxrQaI/AAAAAAAABPo/3qqK3WdO0XM/s400/nb65_profiler_28.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;이 옵션을 선택하게 되면, 어플리케이션 프로파일링은 어플리케이션 데이터 뿐만 아니라, 어떤 유형의 얼마나 많은 객체가 살아있는지, 그들의 사이즈나 평균 수명 등과 같은 객체의 생명에 관계된 정보를 제공해 줍니다.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/SfL8IZZn6cI/AAAAAAAABPw/7zDGdpii4q4/s1600-h/nb65_profiler_29.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5328598530320230850" style="WIDTH: 400px; CURSOR: hand; HEIGHT: 300px" alt="" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/SfL8IZZn6cI/AAAAAAAABPw/7zDGdpii4q4/s400/nb65_profiler_29.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;또,&lt;br /&gt;풀 콜 스택을 기록하기 위해 Record stack traces for allocation 을 선택 합니다. (체크박스에 체크)&lt;br /&gt;이 옵션을 선택함으로써, 메모리 스냅샷을 취할 경우, 메소드가 할당된 객체를 호출하는 역 call tree를 볼 수 있습니다.&lt;br /&gt;&lt;br /&gt;역시 프로그램을 자동 시작하고, 프로파일링 결과가 보여집니다.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/SfL8IVKHNCI/AAAAAAAABP4/O35Py7r2lTs/s1600-h/nb65_profiler_30.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5328598529181430818" style="WIDTH: 400px; CURSOR: hand; HEIGHT: 300px" alt="" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/SfL8IVKHNCI/AAAAAAAABP4/O35Py7r2lTs/s400/nb65_profiler_30.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;실시간 결과를 보기 위해 Live Profiling Results 를 클릭하면, 결과창이 보여지는데,&lt;br /&gt;프로젝트에 할당된 객체의 수와 사이즈 등에 대한 정보가 제시됩니다.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/SfL8Im_r1hI/AAAAAAAABQI/rk8yZnNTlGU/s1600-h/nb65_profiler_32.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5328598533969532434" style="WIDTH: 400px; CURSOR: hand; HEIGHT: 300px" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/SfL8Im_r1hI/AAAAAAAABQI/rk8yZnNTlGU/s400/nb65_profiler_32.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;기본적으로 결과는 Live Bytes, 수에 의해 정렬되어 나타나는데, 각 칼럼을 선택하면 재정렬 할 수 있습니다.&lt;br /&gt;또한 아래 filter 칸에 클래스 이름을 적어 결과를 필터링 할 수도 있습니다.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/SfL8Ig0ALmI/AAAAAAAABQA/aTlP2Hu96wE/s1600-h/nb65_profiler_31.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5328598532309921378" style="WIDTH: 400px; CURSOR: hand; HEIGHT: 300px" alt="" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/SfL8Ig0ALmI/AAAAAAAABQA/aTlP2Hu96wE/s400/nb65_profiler_31.jpg" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6811062799606447528-8308555413785961201?l=netbeans-korean.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Netbeans-koreanBy/~4/3xQYhRKK1i0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://netbeans-korean.blogspot.com/feeds/8308555413785961201/comments/default" title="게시물 덧글" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=6811062799606447528&amp;postID=8308555413785961201" title="0개의 덧글" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6811062799606447528/posts/default/8308555413785961201?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6811062799606447528/posts/default/8308555413785961201?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Netbeans-koreanBy/~3/3xQYhRKK1i0/65-profiler-03.html" title="넷빈 6.5 에서 profiler 사용하기 - 03" /><author><name>강여사(J.Y.Kang)</name><uri>http://www.blogger.com/profile/17450510931308610527</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10873429884942954536" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_fNtFXU_t3Yc/SfL61hgjLbI/AAAAAAAABOo/qzL_6x-tk9I/s72-c/nb65_profiler_23.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://netbeans-korean.blogspot.com/2009/04/65-profiler-03.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkEFQXYzfip7ImA9WxJTFks.&quot;"><id>tag:blogger.com,1999:blog-6811062799606447528.post-79873958600473615</id><published>2009-04-25T04:48:00.000-07:00</published><updated>2009-04-25T04:56:50.886-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-04-25T04:56:50.886-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="netbeans" /><title>넷빈 6.5 에서 profiler 사용하기 - 02</title><content type="html">그럼 이번에는 다른 성능분석을 위해 세션을 종료하겠습니다.&lt;br /&gt;profile- stop profiling session&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/SfL49nx1BjI/AAAAAAAABNU/t_u6oNrOpXo/s1600-h/nb65_profiler_14.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5328595046666405426" style="WIDTH: 400px; CURSOR: hand; HEIGHT: 300px" alt="" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/SfL49nx1BjI/AAAAAAAABNU/t_u6oNrOpXo/s400/nb65_profiler_14.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;이번에는 CPU 성능 측정을 해보도록 하겠습니다.&lt;br /&gt;&lt;br /&gt;이러한 CPU 작업을 선택할 때에는 .어플리케이션의 메소드-수준 CPU 성능(실행 시간)을 프로파일하고 실시간으로 결과를 처리합니다. 당연히 오버헤드가 꽤 되게 때문에, 설정을 통해 전체 어플리케이션의 성능을 분석할 것인지, 아니면 어플리케이션 코드의 일부를 프로파일링 할 것인지, 심지어 특정 코드 조각(fragment)로 다운할 것인지 선택할 수 있습니다.&lt;br /&gt;&lt;br /&gt;이때 나타나는 추정치(overhead)는 대략적으로 그린거라 눈금을 너무 자세히 들여다 볼 필요는 없습니다. --; (2개라고 20%는 아니라는 뜻 --;; )&lt;br /&gt;&lt;br /&gt;전체 어플리케이션에 대한 CPU 성능분석을 하고자 하면 그냥 Entire Application 이 선택된 상태로 Run (실행)하면 됩니다.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/SfL49zjOlcI/AAAAAAAABNc/5Pt83XiwrK0/s1600-h/nb65_profiler_15.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5328595049826391490" style="WIDTH: 400px; CURSOR: hand; HEIGHT: 300px" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/SfL49zjOlcI/AAAAAAAABNc/5Pt83XiwrK0/s400/nb65_profiler_15.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;오버헤드를 줄이기 위해 (또는 동시에 결과 범위를 줄이기 위해 ^^;) 부분만 프로파일링 하는 방법을 설명하도록 하겠습니다.&lt;br /&gt;&lt;br /&gt;Part of application 으로 라디오 버튼을 바꾸고, 옆에 있는 define를 누릅니다.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/SfL49-T1PeI/AAAAAAAABNk/eIUlyUb9xG4/s1600-h/nb65_profiler_16.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5328595052714606050" style="WIDTH: 400px; CURSOR: hand; HEIGHT: 300px" alt="" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/SfL49-T1PeI/AAAAAAAABNk/eIUlyUb9xG4/s400/nb65_profiler_16.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;주. 어플리케이션의 부분을 프로파일하기 위해, 우선 하나나 그 이상의 루트 메소드를 지정해야 합니다. 루트 메소드는 매개 루트로 지정될 소스 코드 안의 메소드, 클래스나 패키지로, 프로파일링 데이터는 어플리케이션 쓰레드 중 하나가 매개 루트를 들어오고 나갈 때 수집되게 됩니다. 어플리케이션 쓰레드 중 하나가 루트 메소드에 들어오기 전에는 어떠한 프로파일링 데이터도 수집되지 않습니다.&lt;br /&gt;&lt;br /&gt;Select Root Method 팝업창이 뜨는데 여기서 Add project 를 클릭합니다.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/SfL4-DgOc3I/AAAAAAAABNs/mykaQy_3BB8/s1600-h/nb65_profiler_17.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5328595054108767090" style="WIDTH: 400px; CURSOR: hand; HEIGHT: 300px" alt="" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/SfL4-DgOc3I/AAAAAAAABNs/mykaQy_3BB8/s400/nb65_profiler_17.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;프로젝트안의 쭈욱~~ 따라 들어가서 WordLibrary 를 선택합니다. 이 자바 클래스를 루트로 삼아 CPU 프로파일링을 분석할 계획이라는 뜻입니다.&lt;br /&gt;Ok&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/SfL4-SmYvHI/AAAAAAAABN0/qc0iW1GnNhU/s1600-h/nb65_profiler_18.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5328595058161138802" style="WIDTH: 400px; CURSOR: hand; HEIGHT: 300px" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/SfL4-SmYvHI/AAAAAAAABN0/qc0iW1GnNhU/s400/nb65_profiler_18.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;그럼 자동적으로 저렇게 그림처럼 올라옵니다.&lt;br /&gt;ok&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/SfL55k6_opI/AAAAAAAABN8/24p6ZBbd1Uc/s1600-h/nb65_profiler_19.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5328596076691694226" style="WIDTH: 400px; CURSOR: hand; HEIGHT: 300px" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/SfL55k6_opI/AAAAAAAABN8/24p6ZBbd1Uc/s400/nb65_profiler_19.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;그런 다음 필터를 사용할 수도 있는데, 필터는 매개된 클래스를 제한할 수 있습니다.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/SfL55hb100I/AAAAAAAABOE/ypmnqnqLcs8/s1600-h/nb65_profiler_20.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5328596075755721538" style="WIDTH: 400px; CURSOR: hand; HEIGHT: 300px" alt="" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/SfL55hb100I/AAAAAAAABOE/ypmnqnqLcs8/s400/nb65_profiler_20.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Show filter value 클릭하여 필터된 클래스의 목록을 볼 수 있는데, 미리 정의된 프로파일링 필터를 선택하거나 아니면 직접 사용자 정의 필터를 만들 지 선택할 수 있습니다.&lt;br /&gt;&lt;br /&gt;profile only project classes 선택하고 실행 (run)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/SfL55w1y0WI/AAAAAAAABOM/rboYwudbEjQ/s1600-h/nb65_profiler_21.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5328596079891108194" style="WIDTH: 400px; CURSOR: hand; HEIGHT: 300px" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/SfL55w1y0WI/AAAAAAAABOM/rboYwudbEjQ/s400/nb65_profiler_21.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;실행하게되면 다시 어플리케이션이 실행되고, 프로파일링 세션이(이번에는 CPU 분석)으로 시작되는데, 그림처럼 자동으로 프로파일링 후 Live Profiling Results 가 나타난다. (안 나타나면 Profiler 패널에서 Live Profiling Results를 클릭한다. 그리고 아래 그림처럼 차트를 보고자 하면 Live Profiling Result 창 오른쪽 위의 조그만 아이콘을 누르면 아래 그림처럼 나타난다. )&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/SfL551sQ_SI/AAAAAAAABOU/SzXG3RM53w8/s1600-h/nb65_profiler_22.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5328596081193319714" style="WIDTH: 400px; CURSOR: hand; HEIGHT: 300px" alt="" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/SfL551sQ_SI/AAAAAAAABOU/SzXG3RM53w8/s400/nb65_profiler_22.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;계속...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6811062799606447528-79873958600473615?l=netbeans-korean.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Netbeans-koreanBy/~4/j1uRQW41XoA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://netbeans-korean.blogspot.com/feeds/79873958600473615/comments/default" title="게시물 덧글" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=6811062799606447528&amp;postID=79873958600473615" title="0개의 덧글" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6811062799606447528/posts/default/79873958600473615?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6811062799606447528/posts/default/79873958600473615?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Netbeans-koreanBy/~3/j1uRQW41XoA/65-profiler-02.html" title="넷빈 6.5 에서 profiler 사용하기 - 02" /><author><name>강여사(J.Y.Kang)</name><uri>http://www.blogger.com/profile/17450510931308610527</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10873429884942954536" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_fNtFXU_t3Yc/SfL49nx1BjI/AAAAAAAABNU/t_u6oNrOpXo/s72-c/nb65_profiler_14.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://netbeans-korean.blogspot.com/2009/04/65-profiler-02.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkYESH44eip7ImA9WxJTFks.&quot;"><id>tag:blogger.com,1999:blog-6811062799606447528.post-1428883787543009088</id><published>2009-04-25T04:33:00.000-07:00</published><updated>2009-04-25T04:48:29.032-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-04-25T04:48:29.032-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="netbeans" /><title>넷빈 6.5 에서 profiler 사용하기 - 01</title><content type="html">안녕하세요~ 강여사입니다. 요근래 제가 좀 바빠서리..--; (뭐 지금이라고 안 바쁜건 아니지만..ㅠㅠ 약속한게 있어서리 최우선으로~~ 오호홍~)&lt;br /&gt;&lt;br /&gt;우선, 프로파일러(profiler)는 개발자들에게 어플리케이션 실행 동작에 대한 중요한 정보를 제공하면서, 손쉽게 쓰레드 상태, CPU 성능, 그리고 어플리케이션 메모리 상태 등을 모니터하면서 이에 대한 수정 작업을 제공하는 도구입니다.&lt;br /&gt;&lt;br /&gt;넷빈도 이러한 프로파일러가 넷빈 6.x 이전에는 플러그인 상태로 지원되다가, 넷빈 6.x 이후에는 기본팩에 포함시켜 넷빈 프로젝트를 바로 프로파일링을 할 수 있도록 지원해주고 있습니다.&lt;br /&gt;&lt;br /&gt;특히나 넷빈 6.X 의 세부 버전에서도 각각 조금씩 새로운 기능들이 추가되고 또 속도 등의 이슈는 나날이 버전업되고 있습니다. (자세한 사항은 항상 넷빈 홈 페이지의 releases 확인 요망 ㅋㅋ) 저야 늘~ 그러하듯 시작~ 스따아트~ 소개~를 목적으로 가비얍게 다루는~~ &lt;br /&gt;&lt;br /&gt;그리하야 이번 게시물에는 넷빈에서 프로파일러를 어떻게 시작하는 지 그리고 어떤 것들이 있는지 일단 1탄으로 이야기해보도록 하겠습니다.&lt;br /&gt;&lt;br /&gt;우선 간단한 자바 어플리케이션을 올립니다.  (여기서는 넷빈 안에 있는 sample 프로젝트로 하겠습니다)&lt;br /&gt;&lt;br /&gt;new project &lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/SfL1bS6KxBI/AAAAAAAABLs/6zErs_LS0Oo/s1600-h/nb65_profiler_01.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/SfL1bS6KxBI/AAAAAAAABLs/6zErs_LS0Oo/s400/nb65_profiler_01.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5328591158413804562" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Samples 안의 java - Anagram Game 선택&lt;br /&gt;next&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/SfL1bm5HrvI/AAAAAAAABL0/EOiY_91RfNQ/s1600-h/nb65_profiler_02.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/SfL1bm5HrvI/AAAAAAAABL0/EOiY_91RfNQ/s400/nb65_profiler_02.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5328591163778117362" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;적당한 경로에 넣기 &lt;br /&gt;finish&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/SfL1blySgkI/AAAAAAAABL8/gzB_v-_gekk/s1600-h/nb65_profiler_03.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/SfL1blySgkI/AAAAAAAABL8/gzB_v-_gekk/s400/nb65_profiler_03.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5328591163481031234" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;그럼 우선 정확한 프로파일링 결과를 얻기 위해서는 자바 플랫폼에 대한 측정 데이터가 있어야 합니다. &lt;br /&gt;&lt;br /&gt;만약 처음으로 프로파일링 툴을 실행하거나, 아니면 이런 측정 데이터가 없다면, 일단 플랫폼을 위한 calibration 이 최우선적으로 진행되어야 합니다.&lt;br /&gt;&lt;br /&gt;Profile - Advanced commands - Run Calibration&lt;br /&gt;&lt;br /&gt;그럼 해당 프로젝트의 플랫폼이 선택됩니다. (당빠 이러한 작업은 JMX 등을 지원하는 JDK 5 이상에서만 가능합니다. 현재 작업중인 제 JDK 는 6 버전입니다.)&lt;br /&gt;OK&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/SfL1b1wr5mI/AAAAAAAABME/Nb0t__Nx25w/s1600-h/nb65_profiler_04.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/SfL1b1wr5mI/AAAAAAAABME/Nb0t__Nx25w/s400/nb65_profiler_04.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5328591167769273954" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/SfL1bxMeKlI/AAAAAAAABMM/pmqq52FTtZ8/s1600-h/nb65_profiler_05.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/SfL1bxMeKlI/AAAAAAAABMM/pmqq52FTtZ8/s400/nb65_profiler_05.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5328591166543637074" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;프로젝트 프로파일링 시작하기&lt;br /&gt;&lt;br /&gt;방법 1. Profile - Profile Main Project (아래그림참고)&lt;br /&gt;방법 2. 프로젝트(AnagramGame) 에서 오른쪽 마우스 - profile&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/SfL2U-sDNLI/AAAAAAAABMU/PxvY_sfBoTI/s1600-h/nb65_profiler_06.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/SfL2U-sDNLI/AAAAAAAABMU/PxvY_sfBoTI/s400/nb65_profiler_06.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5328592149418292402" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;넷빈에서는 프로파일링을 진행하게되면 프로젝트와 프로파일링을 통합시키기도 합니다. 즉, 프로파일링 세션의 시작과 함께 어플리케이션을 시작하고, 프로파일링 세선이 종료되면 어플리케이션도 종료되게~&lt;br /&gt;&lt;br /&gt;이러한 통합은 당연히 프로젝트의 구성파일(build.xml)을 수정해야하기때문에 이 작업에 대한 동의여부를 묻습니다. (팝업창)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/SfL2VXjXuuI/AAAAAAAABM0/rK-Tbk_yA3Y/s1600-h/nb65_profiler_10.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/SfL2VXjXuuI/AAAAAAAABM0/rK-Tbk_yA3Y/s400/nb65_profiler_10.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5328592156092775138" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;이렇게 통합하게되면 기존 build.xml 은 build-before-profiler.xml 으로 바뀌고 새로운 build.xml 이 자동생성됩니다.&lt;br /&gt;&lt;br /&gt;&lt;import file="nbproject/profiler-build-impl.xml"/&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;br /&gt;&lt;br /&gt;나중에 이일을 원래대로 복구하려면 Profile-advanced command 에서 unintegrate profile from the main menu 를 선택하면 됩니다. &lt;br /&gt;ok&lt;br /&gt;&lt;br /&gt;그럼 다음 그림이 보이는데 다음 3가지로 프로파일링을 진행할 수 있습니다. &lt;br /&gt;&lt;br /&gt;즉,~&lt;br /&gt;&lt;br /&gt;프로파일링 작업&lt;br /&gt; 결과&lt;br /&gt; &lt;br /&gt;어플리케이션 모니터하기&lt;br /&gt; 쓰레드 액티비티와 메모리 할당을 포함, 대상 JVM의 등록정보에 대한 고-레벨정보를 얻기 위하여 이것을 선택하십시오&lt;br /&gt; &lt;br /&gt;CPU 성능 분석하기&lt;br /&gt; 메소드를 수행하는데 대한 시간, 호출된 메소드 횟수를 포함한 어플리케이션 성능에 대한 자세한 정보를 얻기 위하여 이것을 선택하십시오. &lt;br /&gt; &lt;br /&gt;메모리 사용량 분석하기&lt;br /&gt; 객체 할당과 가비지 컬렉션에 대한 자세한 데이터를 얻기 위하여 이것을 선택하십시오.&lt;br /&gt; &lt;br /&gt;각각을 선택하면 선택된 박스가 조금 커집니다. &lt;br /&gt;&lt;br /&gt;그럼 우선 Monitor ... 를 선택하고 실행해 보겠습니다.  &lt;br /&gt;&lt;br /&gt;Monitor 클릭 - run&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/SfL4DaEpUiI/AAAAAAAABM8/-F4mx79_Hzs/s1600-h/nb65_profiler_11.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/SfL4DaEpUiI/AAAAAAAABM8/-F4mx79_Hzs/s400/nb65_profiler_11.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5328594046554821154" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;통합으로 진행되기때문에 해당 어플리케이션(anagram game)이 실행되고 왼쪽에 새로이 profiler 패널이 추가됩니다.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/SfL4DhjUv3I/AAAAAAAABNE/3NPAFqMOjak/s1600-h/nb65_profiler_12.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/SfL4DhjUv3I/AAAAAAAABNE/3NPAFqMOjak/s400/nb65_profiler_12.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5328594048562544498" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;실시간으로 모니터링 데이터의 개요를 재빨리 얻기 위해 Telemetry Overview (Control 메뉴들중 맨 오른쪽) 을 사용할 수 있다.&lt;br /&gt;(output이 보이는 오른쪽 아래쪽에 3개의 내용이 한꺼번에 나타납니다). &lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/SfL4DyN0ToI/AAAAAAAABNM/Egaht4QH_H0/s1600-h/nb65_profiler_13.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/SfL4DyN0ToI/AAAAAAAABNM/Egaht4QH_H0/s400/nb65_profiler_13.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5328594053035740802" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;계속..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6811062799606447528-1428883787543009088?l=netbeans-korean.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Netbeans-koreanBy/~4/XGS6-nDxE_s" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://netbeans-korean.blogspot.com/feeds/1428883787543009088/comments/default" title="게시물 덧글" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=6811062799606447528&amp;postID=1428883787543009088" title="0개의 덧글" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6811062799606447528/posts/default/1428883787543009088?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6811062799606447528/posts/default/1428883787543009088?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Netbeans-koreanBy/~3/XGS6-nDxE_s/65-profiler-01.html" title="넷빈 6.5 에서 profiler 사용하기 - 01" /><author><name>강여사(J.Y.Kang)</name><uri>http://www.blogger.com/profile/17450510931308610527</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10873429884942954536" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_fNtFXU_t3Yc/SfL1bS6KxBI/AAAAAAAABLs/6zErs_LS0Oo/s72-c/nb65_profiler_01.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://netbeans-korean.blogspot.com/2009/04/65-profiler-01.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUAERXw6eCp7ImA9WxVaEkk.&quot;"><id>tag:blogger.com,1999:blog-6811062799606447528.post-8096139592417334501</id><published>2009-04-08T18:55:00.000-07:00</published><updated>2009-04-08T19:21:44.210-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-04-08T19:21:44.210-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="VirtualBox(xvm)" /><category scheme="http://www.blogger.com/atom/ns#" term="glassfish" /><title>virtualbox2.1.4 에서 glassfish v2.1 설치 및 실행하기</title><content type="html">음.. 고새 버박이 2.1.4로 업됐다..벗드..여전히 공유폴더 제한 및 기타 사항은 아직이라는거..vmware로 돌아가야 하나..쩝..아무튼~&lt;br /&gt;&lt;br /&gt;정리용...&lt;br /&gt;&lt;br /&gt;일단 글래스피시 다운로드부터.&lt;br /&gt;&lt;br /&gt;사이트는 http://glassfish.dev.java.net&lt;br /&gt;가운데 download 클릭&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/Sd1Wog0FKdI/AAAAAAAABIU/QJCa_rcNsJU/s1600-h/glassfish_install_01.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/Sd1Wog0FKdI/AAAAAAAABIU/QJCa_rcNsJU/s400/glassfish_install_01.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5322505588624927186" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;일단 glassfish v2.1 로 선택 (나중에 클러스터도 정리하기 위해)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/Sd1WpGKCnHI/AAAAAAAABIc/w1_vStmY17E/s1600-h/glassfish_install_02.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/Sd1WpGKCnHI/AAAAAAAABIc/w1_vStmY17E/s400/glassfish_install_02.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5322505598649146482" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;각 버전별 빌드 선택&lt;br /&gt;(버박에서 깔거라 solaris x86의 ml 시리즈로 선택)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/Sd1WpVD-LHI/AAAAAAAABIk/b2peyZBWnw0/s1600-h/glassfish_install_03.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/Sd1WpVD-LHI/AAAAAAAABIk/b2peyZBWnw0/s400/glassfish_install_03.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5322505602650221682" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;적당한 곳에 다운로드 (현재 버박 2.1.4 에 만들어놓은 user 계정은 student 해서 그냥 거기다 다운로드)&lt;br /&gt;&lt;br /&gt;/export/home/student 계정아래 다소곳이..쿄쿄&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/Sd1WKpE268I/AAAAAAAABIM/XwTijJaht9Y/s1600-h/glassfish_01.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5322505075446705090" style="WIDTH: 400px; CURSOR: hand; HEIGHT: 290px" alt="" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/Sd1WKpE268I/AAAAAAAABIM/XwTijJaht9Y/s400/glassfish_01.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;그런 다음 이걸 압축해제를 해야하는데 그러기위해 할일 JAVA_HOME 설정&lt;br /&gt;&lt;br /&gt;vi .profile&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/Sd1WKjqOeuI/AAAAAAAABIE/NW_TwkZXQNM/s1600-h/glassfish_02.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5322505073992825570" style="WIDTH: 400px; CURSOR: hand; HEIGHT: 290px" alt="" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/Sd1WKjqOeuI/AAAAAAAABIE/NW_TwkZXQNM/s400/glassfish_02.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;에서 자바홈 설정(추가 및 확인)&lt;br /&gt;&lt;br /&gt;export JAVA_HOME=/usr/jdk/jdk1.5.0_16&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fNtFXU_t3Yc/Sd1WKrEEpmI/AAAAAAAABH8/7iM9rGfIqyY/s1600-h/glassfish_03.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5322505075980281442" style="WIDTH: 400px; CURSOR: hand; HEIGHT: 290px" alt="" src="http://2.bp.blogspot.com/_fNtFXU_t3Yc/Sd1WKrEEpmI/AAAAAAAABH8/7iM9rGfIqyY/s400/glassfish_03.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;java -Xmx256m -jar glassfish-installer-v2.1-b60e-sunos_x86-ml.jar&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/Sd1WKYgfzfI/AAAAAAAABH0/61UnPMMRFcg/s1600-h/glassfish_04.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5322505070999227890" style="WIDTH: 400px; CURSOR: hand; HEIGHT: 290px" alt="" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/Sd1WKYgfzfI/AAAAAAAABH0/61UnPMMRFcg/s400/glassfish_04.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;저렇게 약관창이 뜨는데 스크롤을 내려야만 accept 버튼이 활성화됨. (이렇게해도 약관내용은 읽지 않는다는..쩝 --;)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/Sd1WKZPgz6I/AAAAAAAABHs/GQs1PneSTUY/s1600-h/glassfish_05.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5322505071196426146" style="WIDTH: 400px; CURSOR: hand; HEIGHT: 290px" alt="" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/Sd1WKZPgz6I/AAAAAAAABHs/GQs1PneSTUY/s400/glassfish_05.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;그럼 glassfish라는 폴더가 생기고 그안에 풀림&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/Sd1YvboUd4I/AAAAAAAABJM/W6MpR7cfEjs/s1600-h/glassfish_06.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 290px;" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/Sd1YvboUd4I/AAAAAAAABJM/W6MpR7cfEjs/s400/glassfish_06.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5322507906515761026" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;cd glassfish&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/Sd1YvZM8mVI/AAAAAAAABJE/BI6W5cgU3b0/s1600-h/glassfish_07.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 290px;" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/Sd1YvZM8mVI/AAAAAAAABJE/BI6W5cgU3b0/s400/glassfish_07.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5322507905864079698" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;chmod -R +x lib/ant/bin &lt;br /&gt;lib/ant/bin/ant -f setup.xml &lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/Sd1YvBFPRxI/AAAAAAAABI8/oCWZBnhZC70/s1600-h/glassfish_08.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 290px;" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/Sd1YvBFPRxI/AAAAAAAABI8/oCWZBnhZC70/s400/glassfish_08.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5322507899389298450" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;설치가 다 완료되면 마지막 설정 작업&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/Sd1YvENYlII/AAAAAAAABI0/zCI2ObaH8yc/s1600-h/glassfish_09.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 290px;" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/Sd1YvENYlII/AAAAAAAABI0/zCI2ObaH8yc/s400/glassfish_09.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5322507900228768898" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;글래스피시 bin 도 PATH 변수에 추가해야 함&lt;br /&gt;그러기 위해&lt;br /&gt;&lt;br /&gt;cd ..&lt;br /&gt;vi .profile (확인 및 수정)&lt;br /&gt;&lt;br /&gt;...&lt;br /&gt;export JAVA_HOME=/usr/jdk/jdk1.5.0_16&lt;br /&gt;PATH=$JAVA_HOME/bin:$PATH:/export/home/student/glassfish/bin&lt;br /&gt;export PATH&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;(GUI 인터페이스는 CDE 그림이 바뀐것 뿐 상관없슴 --; 왠지 이쪽이 더 빠른듯..기분탓인가..)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/Sd1ZlfXc6eI/AAAAAAAABJU/5E4r-Lyh3rc/s1600-h/glassfish_11.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 318px;" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/Sd1ZlfXc6eI/AAAAAAAABJU/5E4r-Lyh3rc/s400/glassfish_11.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5322508835231689186" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;글래스피시 시작&lt;br /&gt;&lt;br /&gt;asadmin start-domain domain1&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/Sd1ZlfEjHYI/AAAAAAAABJc/QWgOkY878T0/s1600-h/glassfish_12.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 284px;" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/Sd1ZlfEjHYI/AAAAAAAABJc/QWgOkY878T0/s400/glassfish_12.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5322508835152403842" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;웹브라우저로 확인&lt;br /&gt;http://localhost:8080&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_fNtFXU_t3Yc/Sd1Zlg_5eRI/AAAAAAAABJk/tZRTW-rkfXQ/s1600-h/glassfish_13.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 304px;" src="http://3.bp.blogspot.com/_fNtFXU_t3Yc/Sd1Zlg_5eRI/AAAAAAAABJk/tZRTW-rkfXQ/s400/glassfish_13.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5322508835669768466" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;어드민도 확인&lt;br /&gt;http://localhost:4848&lt;br /&gt;admin/adminadmin 으로 접속&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_fNtFXU_t3Yc/Sd1ZluASdGI/AAAAAAAABJs/hn5m9AuKNt0/s1600-h/glassfish_14.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 304px;" src="http://4.bp.blogspot.com/_fNtFXU_t3Yc/Sd1ZluASdGI/AAAAAAAABJs/hn5m9AuKNt0/s400/glassfish_14.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5322508839161066594" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;음..잘되는군..조아~&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fNtFXU_t3Yc/Sd1Zl0lGSRI/AAAAAAAABJ0/AU8oUJPgzBk/s1600-h/glassfish_15.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 304px;" src="http://1.bp.blogspot.com/_fNtFXU_t3Yc/Sd1Zl0lGSRI/AAAAAAAABJ0/AU8oUJPgzBk/s400/glassfish_15.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5322508840926071058" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6811062799606447528-8096139592417334501?l=netbeans-korean.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Netbeans-koreanBy/~4/wdyBJkob5Rk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://netbeans-korean.blogspot.com/feeds/8096139592417334501/comments/default" title="게시물 덧글" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=6811062799606447528&amp;postID=8096139592417334501" title="0개의 덧글" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6811062799606447528/posts/default/8096139592417334501?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6811062799606447528/posts/default/8096139592417334501?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Netbeans-koreanBy/~3/wdyBJkob5Rk/virtualbox214-glassfish-v21.html" title="virtualbox2.1.4 에서 glassfish v2.1 설치 및 실행하기" /><author><name>강여사(J.Y.Kang)</name><uri>http://www.blogger.com/profile/17450510931308610527</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10873429884942954536" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_fNtFXU_t3Yc/Sd1Wog0FKdI/AAAAAAAABIU/QJCa_rcNsJU/s72-c/glassfish_install_01.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://netbeans-korean.blogspot.com/2009/04/virtualbox214-glassfish-v21.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkcARnY_eSp7ImA9WxVWF00.&quot;"><id>tag:blogger.com,1999:blog-6811062799606447528.post-6955003561595708550</id><published>2009-02-26T18:44:00.000-08:00</published><updated>2009-02-26T19:07:27.841-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-02-26T19:07:27.841-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="glassfish" /><title>글래스피시 v2 vs. v3</title><content type="html">&lt;p&gt;&lt;a href="https://glassfish.dev.java.net/public/comparing_v2_and_v3.html"&gt;https://glassfish.dev.java.net/public/comparing_v2_and_v3.html&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Both GlassFish Server v2 and v3 Prelude are fully supported, production-ready distributions. Choosing one is mainly based on the features that you need for your particular deployment scenario. If you need clustering, high availability and complete Java EE 5 specification support, choose GlassFish Server v2. If you need leading edge web application technologies, web services and scripting, choose GlassFish Server v3 Prelude.&lt;/p&gt;&lt;p&gt;둘은 쓰임새가 완죤 틀리다는 거~&lt;/p&gt;&lt;p&gt;v2는 클러스터로&lt;/p&gt;&lt;p&gt;v3는 edge 웹앱으로&lt;/p&gt;&lt;p&gt;그럼 썬글래스피시포트폴리오의 엔터프라이즈 서버를 v2로 하느냐 v3로 하느냐에 따라 다른 쓰임새.. 오케이.. 슬슬 뭔가가 잡히는 듯..쿄쿄쿄.. &lt;/p&gt;&lt;p&gt;힘들당..--;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6811062799606447528-6955003561595708550?l=netbeans-korean.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Netbeans-koreanBy/~4/b6bWEyBKKI0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://netbeans-korean.blogspot.com/feeds/6955003561595708550/comments/default" title="게시물 덧글" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=6811062799606447528&amp;postID=6955003561595708550" title="0개의 덧글" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6811062799606447528/posts/default/6955003561595708550?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6811062799606447528/posts/default/6955003561595708550?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Netbeans-koreanBy/~3/b6bWEyBKKI0/v2-vs-v3.html" title="글래스피시 v2 vs. v3" /><author><name>강여사(J.Y.Kang)</name><uri>http://www.blogger.com/profile/17450510931308610527</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10873429884942954536" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://netbeans-korean.blogspot.com/2009/02/v2-vs-v3.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkcARnY_eSp7ImA9WxVWF00.&quot;"><id>tag:blogger.com,1999:blog-6811062799606447528.post-2382364531315630070</id><published>2009-02-26T18:39:00.000-08:00</published><updated>2009-02-26T19:07:27.841-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-02-26T19:07:27.841-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="glassfish" /><title>글래스피시 v3 prelude 설치(install) 관련</title><content type="html">&lt;a href="https://glassfish.dev.java.net/downloads/v3-prelude.html"&gt;https://glassfish.dev.java.net/downloads/v3-prelude.html&lt;/a&gt; &lt;br /&gt;관련링크.&lt;br /&gt;&lt;br /&gt;이건 v2와는 다른 gui 기반 설치파일도 제공. (그외 기타 등등)&lt;br /&gt;&lt;br /&gt;역시 영문판과 ML 판 2가지..차이는 2M 정도..&lt;br /&gt;&lt;br /&gt;Multilingual support is available in French, German, Spanish, Japanese, Simplified Chinese, Traditional Chinese and Korean. (한국어포함이라는게 얼매나 다행인지..--; 으쌰으쌰)&lt;br /&gt;&lt;br /&gt;단, 주의사항.  JDK 최소 1.5.0_15 이상이어야 함&lt;br /&gt;&lt;br /&gt;Note: all installations require &lt;a href="http://java.sun.com/j2se/1.5.0/"&gt;J2SE 5.0&lt;/a&gt;. Recommended minimum version is 1.5.0_15.&lt;br /&gt;&lt;br /&gt;음..조아~&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6811062799606447528-2382364531315630070?l=netbeans-korean.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Netbeans-koreanBy/~4/rcG90gH6ziU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://netbeans-korean.blogspot.com/feeds/2382364531315630070/comments/default" title="게시물 덧글" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=6811062799606447528&amp;postID=2382364531315630070" title="0개의 덧글" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6811062799606447528/posts/default/2382364531315630070?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6811062799606447528/posts/default/2382364531315630070?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Netbeans-koreanBy/~3/rcG90gH6ziU/v3-prelude-install.html" title="글래스피시 v3 prelude 설치(install) 관련" /><author><name>강여사(J.Y.Kang)</name><uri>http://www.blogger.com/profile/17450510931308610527</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10873429884942954536" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://netbeans-korean.blogspot.com/2009/02/v3-prelude-install.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkcARnY_eSp7ImA9WxVWF00.&quot;"><id>tag:blogger.com,1999:blog-6811062799606447528.post-3042075922469705504</id><published>2009-02-26T04:59:00.000-08:00</published><updated>2009-02-26T19:07:27.841-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-02-26T19:07:27.841-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="glassfish" /><title>글래스피시(glassfish) 설치(install) 관련</title><content type="html">&lt;a href="https://glassfish.dev.java.net/downloads/v2.1-b60e.html"&gt;https://glassfish.dev.java.net/downloads/v2.1-b60e.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;현재 다운로드 링크.&lt;br /&gt;&lt;br /&gt;각 OS 선택에 2가지 버전이 공급되는데, ml 즉 (MultiLigual)과 영문판.&lt;br /&gt;&lt;br /&gt;둘의 차이는 약 2M 정도.&lt;br /&gt;&lt;br /&gt;영문판으로 진행하려면 처음부터 용량이 적은 영문판만 받아 설치할 것.&lt;br /&gt;&lt;br /&gt;이 경우 예전 opensso 때 경험을 미루어보면 설치시 한글 OS와 로케일(ko관련 properties) 때문에 설치 진행이 안될수도 있다. opensso 때는 그랬슴. 글래스피시 영문판은 안해봐서 모름.. --;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6811062799606447528-3042075922469705504?l=netbeans-korean.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Netbeans-koreanBy/~4/OTNvPql145M" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://netbeans-korean.blogspot.com/feeds/3042075922469705504/comments/default" title="게시물 덧글" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=6811062799606447528&amp;postID=3042075922469705504" title="0개의 덧글" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6811062799606447528/posts/default/3042075922469705504?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6811062799606447528/posts/default/3042075922469705504?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Netbeans-koreanBy/~3/OTNvPql145M/glassfish-install.html" title="글래스피시(glassfish) 설치(install) 관련" /><author><name>강여사(J.Y.Kang)</name><uri>http://www.blogger.com/profile/17450510931308610527</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10873429884942954536" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://netbeans-korean.blogspot.com/2009/02/glassfish-install.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CE4DSX49eyp7ImA9WxVWFkg.&quot;"><id>tag:blogger.com,1999:blog-6811062799606447528.post-8812636894514737147</id><published>2009-02-26T04:49:00.000-08:00</published><updated>2009-02-26T04:56:18.063-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-02-26T04:56:18.063-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="glassfish" /><title>How do I know which release is the latest production release of GlassFish? - About GlassFish</title><content type="html">How do I know which release is the latest production release of GlassFish?&lt;br /&gt;&lt;br /&gt;글래스피시 최신 제품에 대해서는 어데서?&lt;br /&gt;&lt;br /&gt;The &lt;a class="external" href="http://blogs.sun.com/GlassFishForBusiness/"&gt;GlassFish For Business&lt;/a&gt; blog is a good source of release information, as is the &lt;a class="external" href="https://glassfish.dev.java.net/public/downloadsindex.html"&gt;downloads&lt;/a&gt; page (anything with "build" in its title means it hasn't been officially released yet).&lt;br /&gt;&lt;br /&gt;덧.&lt;br /&gt;음.. 3월에 하는 웨비나에서는 ESB에 대해 한다니 꼬옥 들어야지.. 오늘 webinar도 재미있었당~&lt;br /&gt;음.. sun fire 장비를 어데서 구해서 glassfish 튜닝 해봐야 하는데.. 뭐..어캐 되겠지..--;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6811062799606447528-8812636894514737147?l=netbeans-korean.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Netbeans-koreanBy/~4/Awqc8aBmDXs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://netbeans-korean.blogspot.com/feeds/8812636894514737147/comments/default" title="게시물 덧글" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=6811062799606447528&amp;postID=8812636894514737147" title="0개의 덧글" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6811062799606447528/posts/default/8812636894514737147?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6811062799606447528/posts/default/8812636894514737147?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Netbeans-koreanBy/~3/Awqc8aBmDXs/how-do-i-know-which-release-is-latest.html" title="How do I know which release is the latest production release of GlassFish? - About GlassFish" /><author><name>강여사(J.Y.Kang)</name><uri>http://www.blogger.com/profile/17450510931308610527</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10873429884942954536" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://netbeans-korean.blogspot.com/2009/02/how-do-i-know-which-release-is-latest.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUcESXgzfip7ImA9WxVWFkg.&quot;"><id>tag:blogger.com,1999:blog-6811062799606447528.post-6694229279675700677</id><published>2009-02-26T04:48:00.000-08:00</published><updated>2009-02-26T04:56:48.686-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-02-26T04:56:48.686-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="glassfish" /><title>Where can I get a GlassFish picture/logo to use on my web page? - About GlassFish</title><content type="html">&lt;p&gt;Where can I get a GlassFish picture/logo to use on my web page? &lt;/p&gt;&lt;p&gt;내 웹페이지에 사용할 글래스피시 그림/로고는 어데서?&lt;/p&gt;&lt;p&gt;Community buttons and logos are listed on &lt;a class="wikipage" href="http://wiki.glassfish.java.net/Wiki.jsp?page=ButtonsLogos"&gt;this page&lt;/a&gt;.Sun GlassFish Partners need to request their logo from a Sun contact&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6811062799606447528-6694229279675700677?l=netbeans-korean.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Netbeans-koreanBy/~4/qeT9THuNAVk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://netbeans-korean.blogspot.com/feeds/6694229279675700677/comments/default" title="게시물 덧글" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=6811062799606447528&amp;postID=6694229279675700677" title="0개의 덧글" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6811062799606447528/posts/default/6694229279675700677?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6811062799606447528/posts/default/6694229279675700677?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Netbeans-koreanBy/~3/qeT9THuNAVk/where-can-i-get-glassfish-picturelogo.html" title="Where can I get a GlassFish picture/logo to use on my web page? - About GlassFish" /><author><name>강여사(J.Y.Kang)</name><uri>http://www.blogger.com/profile/17450510931308610527</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10873429884942954536" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://netbeans-korean.blogspot.com/2009/02/where-can-i-get-glassfish-picturelogo.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUcARXk_eyp7ImA9WxVWFkg.&quot;"><id>tag:blogger.com,1999:blog-6811062799606447528.post-2666919100498716448</id><published>2009-02-26T04:42:00.000-08:00</published><updated>2009-02-26T04:57:24.743-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-02-26T04:57:24.743-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="glassfish" /><title>Any Dos and Don'ts I should know about when using GlassFish in demos? - About GlassFish</title><content type="html">&lt;p&gt;Any Dos and Don'ts I should know about when using GlassFish in demos? &lt;/p&gt;&lt;p&gt;데모로 글래스피시를 사용할때 해도 되는 것, 하면 안되는 것?&lt;/p&gt;&lt;p&gt;This &lt;a class="external" href="http://blogs.sun.com/alexismp/entry/glassfish_tips_for_demoers_and"&gt;blog entry&lt;/a&gt; gives some recommendations on how to use GlassFish in demos. Some of these apply to every-day use of GlassFish. &lt;/p&gt;&lt;p&gt;+ 몇개만&lt;br /&gt;글래스피시 v1보다는 v2를 사용하길. v1은 사실 v2/v3와는 기반부터가 다르다. --; &lt;/p&gt;&lt;p&gt;&lt;br /&gt;undeploy 하기전에 delete 하지 말것 &lt;/p&gt;&lt;p&gt;&lt;br /&gt;설정 파일(domain.xml 등)들의 수동 편집시 주의 기타 등등 &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6811062799606447528-2666919100498716448?l=netbeans-korean.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Netbeans-koreanBy/~4/ZXAKNBA6C8o" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://netbeans-korean.blogspot.com/feeds/2666919100498716448/comments/default" title="게시물 덧글" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=6811062799606447528&amp;postID=2666919100498716448" title="0개의 덧글" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6811062799606447528/posts/default/2666919100498716448?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6811062799606447528/posts/default/2666919100498716448?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Netbeans-koreanBy/~3/ZXAKNBA6C8o/any-dos-and-donts-i-should-know-about.html" title="Any Dos and Don'ts I should know about when using GlassFish in demos? - About GlassFish" /><author><name>강여사(J.Y.Kang)</name><uri>http://www.blogger.com/profile/17450510931308610527</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10873429884942954536" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://netbeans-korean.blogspot.com/2009/02/any-dos-and-donts-i-should-know-about.html</feedburner:origLink></entry></feed>
