<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://pimg.daum-img.net/whsnake/css/atom.css?ver=1.0" type="text/css"?>
<feed xmlns="http://www.w3.org/2005/Atom" version="1.0" >
  <title>쥬니</title>
  <link rel="alternate" type="text/html" href="http://blog.daum.net/jooneey22"/>
  <link rel="self" type="application/atom+xml" href="http://blog.daum.net/xml/atom/jooneey22"/>
  <rights>쥬니</rights>
  <author>
    <name>쥬니</name>
    <uri>http://blog.daum.net/jooneey22</uri>
  </author>
  <generator uri="http://blog.daum.net" version="1.0">Daum blog (blogmaster@daum.net)</generator>
  <id>tag:blog.daum.net,2009:jooneey22</id>
  <updated>2009-06-10T10:11:45Z</updated>

  		<entry>
	    <title>mysql 5 수동 설치하기</title>
		<link rel="alternate" type="text/html" href="http://blog.daum.net/jooneey22/8845278"/>
		<id>tag:blog.daum.net,2009:jooneey22.8845278</id>
	    <author>
		    <name>쥬니</name>
	    </author>
	    <updated>2009-06-10T10:11:45Z</updated>
	    <published>2009-06-10T10:11:45Z</published>
	    <content type="html">
	    	&lt;P&gt;수동으로 mysql을 설치하는 방법이다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;* 설치환경&lt;/P&gt;
&lt;P&gt;window XP, 32bit&lt;/P&gt;
&lt;P&gt;*&amp;nbsp;설치모듈&lt;/P&gt;
&lt;P&gt;1. mysql&lt;/P&gt;
&lt;P&gt;mysql-5.1.35-win32&lt;/P&gt;
&lt;P&gt;2. 네비게이터 &lt;/P&gt;
&lt;P&gt;sqlyog615.exe&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;* 설치&lt;/P&gt;
&lt;P&gt;1. 다운로드&lt;/P&gt;
&lt;P&gt;mysql&lt;/P&gt;
&lt;P&gt;&lt;A href=&quot;http://dev.mysql.com/downloads/mysql/5.1.html#win32&quot;&gt;http://dev.mysql.com/downloads/mysql/5.1.html#win32&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;sqlog&lt;/P&gt;
&lt;P&gt;&lt;A href=&quot;http://www.webyog.com/en/downloads.php&quot; target=_blank&gt;http://www.webyog.com/en/downloads.php&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;2. 환경설정&lt;/P&gt;
&lt;P&gt;mysql 에서는 사이트 크기에 따라 미리적용된 옵션의 *.ini 파일이 존재한다.&lt;/P&gt;
&lt;P&gt;사이트 환경에 맞게 선택하면 된다.&lt;/P&gt;
&lt;P&gt;- my.ini 파일&lt;/P&gt;
&lt;DIV style=&quot;BORDER-BOTTOM: #f3c534 1px dashed; BORDER-LEFT: #f3c534 1px dashed; PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #fefeb8; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; BORDER-TOP: #f3c534 1px dashed; BORDER-RIGHT: #f3c534 1px dashed; PADDING-TOP: 10px&quot; class=txc-textbox&gt;
&lt;P&gt;[mysqld]&amp;nbsp;&lt;/P&gt;
&lt;P&gt;thread_stack = 256K&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;-&amp;nbsp;재귀호출을 위해 스택 영역을 늘려준다.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;basedir = C:/mysql-5.1.35-win32&amp;nbsp;&amp;nbsp; &lt;- 설치 위치&lt;BR&gt;datadir = C:/mysql-5.1.35-win32/data&amp;nbsp;&amp;nbsp; &lt;- db 설치 위치 &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;기타 사이트 환경에 맞춰 설정해 준다.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;3. 서비스 수동 등록&lt;/P&gt;
&lt;DIV style=&quot;BORDER-BOTTOM: #f3c534 1px dashed; BORDER-LEFT: #f3c534 1px dashed; PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #fefeb8; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; BORDER-TOP: #f3c534 1px dashed; BORDER-RIGHT: #f3c534 1px dashed; PADDING-TOP: 10px&quot; class=txc-textbox&gt;
&lt;P&gt;mysqld --install MySQL5 --defaults-file=C:\mysql-5.1.35-win32\my.ini&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;4. 네비게이터&lt;/P&gt;
&lt;P&gt;순서에 맞쳐 설치해 준다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;5. path 잡아주기 &lt;/P&gt;
&lt;P&gt;윈도우 환경변수 path 에 mysql의 bin 디렉토리를 설정해 준다.&lt;/P&gt;
&lt;DIV style=&quot;BORDER-BOTTOM: #f3c534 1px dashed; BORDER-LEFT: #f3c534 1px dashed; PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #fefeb8; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; BORDER-TOP: #f3c534 1px dashed; BORDER-RIGHT: #f3c534 1px dashed; PADDING-TOP: 10px&quot; class=txc-textbox&gt;
&lt;P&gt;C:\mysql-5.1.35-win32\bin&lt;/P&gt;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;6. 서비스 실행하기 &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style=&quot;TEXT-ALIGN: center&quot;&gt;&lt;img src=&quot;http://cfile235.uf.daum.net/image/1257AA0C4A2F07F5D9AF7B&quot; class=&quot;tx-daum-image&quot; style=&quot;FLOAT: none; CLEAR: none&quot; actualwidth=&quot;735&quot; border=&quot;0&quot; hspace=&quot;1&quot; vspace=&quot;1&quot; width=&quot;735&quot; /&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;7. 네비게이터&lt;/P&gt;
&lt;P&gt;커넥션 설정&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;img src=&quot;http://cfile239.uf.daum.net/image/1514160F4A2F0824B59D2E&quot; class=&quot;tx-daum-image&quot; style=&quot;FLOAT: none; CLEAR: none&quot; actualwidth=&quot;465&quot; border=&quot;0&quot; hspace=&quot;1&quot; vspace=&quot;1&quot; width=&quot;465&quot; /&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;로그인 후 화면&lt;/P&gt;
&lt;P&gt;&lt;img src=&quot;http://cfile228.uf.daum.net/image/1314160F4A2F0823B46AB6&quot; class=&quot;tx-daum-image&quot; style=&quot;FLOAT: none; CLEAR: none&quot; actualwidth=&quot;753&quot; border=&quot;0&quot; hspace=&quot;1&quot; vspace=&quot;1&quot; width=&quot;753&quot; /&gt;&lt;/P&gt;
&lt;P style=&quot;TEXT-ALIGN: center&quot;&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
	    </content>
	    	</entry>
    	<entry>
	    <title>C/C++</title>
		<link rel="alternate" type="text/html" href="http://blog.daum.net/jooneey22/8845277"/>
		<id>tag:blog.daum.net,2009:jooneey22.8845277</id>
	    <author>
		    <name>쥬니</name>
	    </author>
	    <updated>2009-04-28T13:02:29Z</updated>
	    <published>2009-04-28T13:02:29Z</published>
	    <content type="html">
	    	&lt;P&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt&quot;&gt;&lt;B&gt;&lt;FONT color=#009900&gt;C/C++&lt;/FONT&gt;&lt;/B&gt;&lt;/SPAN&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&lt;A class=con_link href=&quot;http://www.acm.org/crossroads/xrds1-4/ovp.html&quot; target=_blank&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt&quot;&gt;&lt;FONT color=#0033cc&gt;ACM - The ABCs of Writing C++ Classes&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt&quot;&gt;&lt;BR&gt;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&lt;A class=con_link href=&quot;http://www.gotw.ca/gotw/&quot; target=_blank&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt&quot;&gt;&lt;FONT color=#0033cc&gt;Guru of the Week - Guru of the Week&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt&quot;&gt;&lt;BR&gt;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&lt;A class=con_link href=&quot;http://gaston.snu.ac.kr/~sjjung/stl/&quot; target=_blank&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt&quot;&gt;&lt;FONT color=#0033cc&gt;STL - Standard C++ Library Tutorial 한글&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt&quot;&gt;&lt;BR&gt;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&lt;A class=con_link href=&quot;http://www.sgi.com/tech/stl/&quot; target=_blank&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt&quot;&gt;&lt;FONT color=#0033cc&gt;STL - Standard C++ Library (SGI)&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt&quot;&gt;&lt;BR&gt;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&lt;A class=con_link href=&quot;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclang98/HTML/sample.asp&quot; target=_blank&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt&quot;&gt;&lt;FONT color=#0033cc&gt;STL - Visual C++ 의 STL Sample&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt&quot;&gt;&lt;BR&gt;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&lt;A class=con_link href=&quot;http://www.parashift.com/c++-faq-lite/&quot; target=_blank&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt&quot;&gt;&lt;FONT color=#0033cc&gt;C++ FAQ - C++ FAQ&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt&quot;&gt;&lt;BR&gt;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&lt;A class=con_link href=&quot;http://www.microsoft.com/msj/default.asp&quot; target=_blank&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt&quot;&gt;&lt;FONT color=#0033cc&gt;MSJ - Microsoft Systems Journal&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt&quot;&gt;&lt;BR&gt;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&lt;A class=con_link href=&quot;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclang98/HTML/stdlbhm.asp&quot; target=_blank&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt&quot;&gt;&lt;FONT color=#0033cc&gt;VC++ STL Reference - VC++ STL Reference&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt&quot;&gt;&lt;BR&gt;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&lt;A class=con_link href=&quot;http://www.bruceeckel.com/&quot; target=_blank&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt&quot;&gt;&lt;FONT color=#0033cc&gt;Thinking in C++ - Thinking in C++ 온라인 북&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt&quot;&gt;&lt;BR&gt;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&lt;A class=con_link href=&quot;http://www.codeguru.com/&quot; target=_blank&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt&quot;&gt;&lt;FONT color=#0033cc&gt;코드 구루 - 코드 샘플이 많은 개발관련 사이트&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt&quot;&gt;&lt;BR&gt;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&lt;A class=con_link href=&quot;http://openil.sourceforge.net/&quot; target=_blank&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt&quot;&gt;&lt;FONT color=#0033cc&gt;OpenIL - Open Image Library&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt&quot;&gt;&lt;BR&gt;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&lt;A class=con_link href=&quot;http://win32asm.rxsp.com/&quot; target=_blank&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt&quot;&gt;&lt;FONT color=#0033cc&gt;Win32ASM - Iczelion's Win32 Assembly Homepage&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt&quot;&gt;&lt;BR&gt;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&lt;A class=con_link href=&quot;http://www.dogma.net/markn/articles/pq_stl/priority.htm&quot; target=_blank&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt&quot;&gt;&lt;FONT color=#0033cc&gt;Priority Que &amp; STL - by Mark Nelson (Dr. Dobb's Journal)&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt&quot;&gt;&lt;BR&gt;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&lt;A class=con_link href=&quot;http://www.stlport.org/&quot; target=_blank&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt&quot;&gt;&lt;FONT color=#0033cc&gt;STLPort - 범용, 공개, 오픈소스 STL&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt&quot;&gt;&lt;BR&gt;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&lt;A class=con_link href=&quot;http://www.dogma.net/DataCompression/&quot; target=_blank&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt&quot;&gt;&lt;FONT color=#0033cc&gt;데이타 압축 - 데이타 압축 관련 링크 모음&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt&quot;&gt;&lt;BR&gt;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&lt;A class=con_link href=&quot;http://www.tantalon.com/pete/cppopt/main.htm&quot; target=_blank&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt&quot;&gt;&lt;FONT color=#0033cc&gt;C++ Optimize - C++ 최적화 방법에 대한 내용&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt&quot;&gt;&lt;BR&gt;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&lt;A class=con_link href=&quot;http://skylark.snu.ac.kr/~yunho/docs/c++/STL.newbie.html&quot; target=_blank&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt&quot;&gt;&lt;FONT color=#0033cc&gt;STL newbie - STL 초보자를 위한 문서&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt&quot;&gt;&lt;BR&gt;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&lt;A class=con_link href=&quot;http://www.codeproject.com/&quot; target=_blank&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt&quot;&gt;&lt;FONT color=#0033cc&gt;코드프로젝트 - 다양한 장르의 프로그래밍 강좌&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt&quot;&gt;&lt;BR&gt;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&lt;A class=con_link href=&quot;http://www.osl.iu.edu/research/mtl/&quot; target=_blank&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt&quot;&gt;&lt;FONT color=#0033cc&gt;MTL - Matrix Template Library&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt&quot;&gt;&lt;BR&gt;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&lt;A class=con_link href=&quot;http://lb234e.iddr.ie.psu.edu/~kaizhi/reference/books/c++/index.html&quot; target=_blank&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt&quot;&gt;&lt;FONT color=#0033cc&gt;몇몇책들 - Effective C++, More Effective C++, Design Patterns&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt&quot;&gt;&lt;BR&gt;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&lt;A class=con_link href=&quot;http://www.cplusplus.com/doc/tutorial/&quot; target=_blank&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt&quot;&gt;&lt;FONT color=#0033cc&gt;CPlusPlus - C++ Tutorial&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt&quot;&gt;&lt;BR&gt;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&lt;A class=con_link href=&quot;http://ivs.cs.uni-magdeburg.de/~zbrog/asm/main.html&quot; target=_blank&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt&quot;&gt;&lt;FONT color=#0033cc&gt;AssemRef - Assembler Programmer's Reference&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt&quot;&gt;&lt;BR&gt;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&lt;A class=con_link href=&quot;http://www.thefreecountry.com/developercity/ccompilers.shtml&quot; target=_blank&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt&quot;&gt;&lt;FONT color=#0033cc&gt;공짜 C/C++ 컴파일러들 - 공개 C/C++ 컴파일러들에 대한 상세한 목록&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt&quot;&gt;&lt;BR&gt;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&lt;A class=con_link href=&quot;http://www.asmlove.co.kr/&quot; target=_blank&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt&quot;&gt;&lt;FONT color=#0033cc&gt;어셈러브 - 국내 어셈블리 관련 홈페이지&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt&quot;&gt;&lt;BR&gt;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&lt;A class=con_link href=&quot;http://kldp.org/HOWTO/html/C++Programming-HOWTO/onlinebooks.html&quot; target=_blank&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt&quot;&gt;&lt;FONT color=#0033cc&gt;C++ Online Books - C++ 관련 공짜 온라인 북 링크&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt&quot;&gt;&lt;BR&gt;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&lt;A class=con_link href=&quot;http://ws1.kist.re.kr/doc/pgC++_lib/stdlib.htm&quot; target=_blank&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt&quot;&gt;&lt;FONT color=#0033cc&gt;STL Document - RogueWave Software 의 STL 튜토리얼 및 레퍼런스&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt&quot;&gt;&lt;BR&gt;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&lt;A class=con_link href=&quot;http://www.oonumerics.org/blitz/&quot; target=_blank&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt&quot;&gt;&lt;FONT color=#0033cc&gt;Blitz++ - 객체지향 공학용 수치계산 라이브러리(C++)&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt&quot;&gt;&lt;BR&gt;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&lt;A class=con_link href=&quot;http://www-106.ibm.com/developerworks/linux/library/l-matrix.html?loc=dwmain&quot; target=_blank&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt&quot;&gt;&lt;FONT color=#0033cc&gt;행렬 라이브러리 비교 - C/C++ 용 행렬 라이브러리 비교평가&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;
	    </content>
	    	</entry>
    	<entry>
	    <title>임베디드 개발자가 되려면 [펌]</title>
		<link rel="alternate" type="text/html" href="http://blog.daum.net/jooneey22/8845275"/>
		<id>tag:blog.daum.net,2009:jooneey22.8845275</id>
	    <author>
		    <name>쥬니</name>
	    </author>
	    <updated>2009-04-27T09:10:43Z</updated>
	    <published>2009-04-27T09:10:43Z</published>
	    <content type="html">
	    	&lt;P&gt;임베디드 리눅스를 해야 겠다는 생각만 가지고 있다가 이젠 시작해야지 라는 생각을 하셨다면 우선 숨을 크게 들이키시고 내벹는 행동을 반복하신후 임베디드 리눅스를 단번에 점령하겠다는 생각을 버린다. ^^; 정말 임베디드 리눅스는 한번 들어가 보면 끝이 없어서 한두달 만에 끝장을 보겠다는 생각을 가지셨다면 당장 그만 둘것! 당장 그만 두지 않더라도 조만간 그만 두게 될것이다. 왜? 한두달안에는 끝나지 않기 때문이다. 혹시 시작하는 시점의 여러분의 실력이 리눅스의 커널을 이미 분석이 끝난 실력이라면... 더구나 여러 아키텍쳐에 포팅까지 한 실력이라면 정말 한두달 사이에 끝날수 있을 것이다. 굳이 임베디드 리눅스를 따로 할 필요가 없는 실력자이므로... 
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A class=con_link target=_blank name=4&gt;&lt;STRONG&gt;&lt;BIG&gt;&lt;FONT size=4&gt;·&lt;/FONT&gt;&lt;/BIG&gt;&lt;/STRONG&gt;&lt;B&gt;리눅스를 설치 해 본적도 없는 초 울트라 초차라면?&lt;/B&gt;&lt;/A&gt;&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;당장 리눅스 배포판을 구한다. PC에 리눅스를 설치한다. 
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A class=con_link target=_blank name=5&gt;&lt;STRONG&gt;&lt;BIG&gt;&lt;FONT size=4&gt;·&lt;/FONT&gt;&lt;/BIG&gt;&lt;/STRONG&gt;&lt;B&gt;리눅스 명령에 익숙하지 않다면&lt;/B&gt;&lt;/A&gt;&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;우선 리눅스에 관련된 책을 한권 산다. 그리고 한번 쭈욱 읽어 본다. &lt;A class=con_link href=&quot;http://kldp.org/&quot; target=_blank&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;http://kldp.org&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt; 싸이트에 들락 날락 거리면서 &lt;A class=con_link href=&quot;http://man.kldp.org/&quot; target=_blank&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;http://man.kldp.org&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt; 도 참고 하면서.... 단 주의 할것은 암기력에 자신 있는 분을 제외하고는 명령을 굳이 외우려고 하지 말것 자주 사용하는 명령은 손가락이 외운다. 굳이 사용도 하지 않는 명령을 외우려고 스트레스 쌓이지 말고... 더구나 리눅스 명령어는 정말 정말 너무 많다. 
&lt;P align=right&gt;&lt;A class=con_link href=&quot;http://kelp.or.kr/korweblog/faq.php?id=4#top&quot; target=_blank&gt;&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style=&quot;FONT-SIZE: 10pt; MARGIN: 0px; COLOR: #f1f1f1; TEXT-INDENT: 0px; LINE-HEIGHT: 160%; FONT-FAMILY: '바탕'; TEXT-ALIGN: justify&quot;&gt;&lt;A class=con_link target=_blank name=6&gt;&lt;FONT color=#0000ff&gt;&lt;STRONG&gt;&lt;BIG&gt;&lt;FONT size=4&gt;·&lt;/FONT&gt;&lt;/BIG&gt;&lt;/STRONG&gt;&lt;B&gt;리눅스 디렉토리 구조를 모른다면&lt;/B&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;최상위 디렉토리를 외운다. 몇 개 안되므로... 그리고 서점에 간다... 리눅스 관련 책들을 보면서 디렉토리에 관련된 내용을 중점적으로 읽는다. 읽어야 하는 내용은 디렉토리 구현에 대한 것이 아니라.. 각 디렉토리를 어떻게 구분해 놓았는가를 설명한 내용들을 읽는다. 대부분의 책들이 조금씩 만 소개하므로 굳이 책들을 사려고 하지 말 고 서점에서 여러권을 설렵하는 것이 났다. 그리고 이것저것 패케지들을 손수 설치해 본다. 그러면 저절로 깨닫게 될것이다 
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A class=con_link target=_blank name=7&gt;&lt;STRONG&gt;&lt;BIG&gt;&lt;FONT size=4&gt;·&lt;/FONT&gt;&lt;/BIG&gt;&lt;/STRONG&gt;&lt;B&gt;쉘 스크립트를 모른다면&lt;/B&gt;&lt;/A&gt;&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;리눅스를 하면서 쉘 스크립트를 모르면 고생문이 훤하다 사실 내가 그렇다. 그러나 쉘 스크립트를 아주 잘 할 필요는 없다. 쉘 스크립트를 읽을 정도면 된다. 쉘 스크립트를 작성할 필요가 있다면 스크립트에 대한 강좌를 인터넷에서 보고 하거나 다른 스크립트를 보면서 하면 되니까.... 
&lt;P align=right&gt;&lt;A class=con_link href=&quot;http://kelp.or.kr/korweblog/faq.php?id=4#top&quot; target=_blank&gt;&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style=&quot;FONT-SIZE: 10pt; MARGIN: 0px; COLOR: #f1f1f1; TEXT-INDENT: 0px; LINE-HEIGHT: 160%; FONT-FAMILY: '바탕'; TEXT-ALIGN: justify&quot;&gt;&lt;A class=con_link target=_blank name=8&gt;&lt;FONT color=#0000ff&gt;&lt;STRONG&gt;&lt;BIG&gt;&lt;FONT size=4&gt;·&lt;/FONT&gt;&lt;/BIG&gt;&lt;/STRONG&gt;&lt;B&gt;유닉스 운영 체제를 모른다면&lt;/B&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;유닉스 운영체제에 대한 최대한 쉽게 설명한 책을 골라서 그냥 소설 읽는 셈 치고 읽어 본다. (참고) 쉽게 설명한 책들의 특징은 &lt;BR&gt;1. 그림이 많다. &lt;BR&gt;2. 글씨가 크다. &lt;BR&gt;3. 가격이 싸다. &lt;BR&gt;4. 많은 사람들이 본다. &lt;BR&gt;5. 두께가 얇다 
&lt;P align=right&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style=&quot;FONT-SIZE: 10pt; MARGIN: 0px; COLOR: #f1f1f1; TEXT-INDENT: 0px; LINE-HEIGHT: 160%; FONT-FAMILY: '바탕'; TEXT-ALIGN: justify&quot;&gt;&lt;A class=con_link target=_blank name=9&gt;&lt;FONT color=#0000ff&gt;&lt;STRONG&gt;&lt;BIG&gt;&lt;FONT size=4&gt;·&lt;/FONT&gt;&lt;/BIG&gt;&lt;/STRONG&gt;&lt;B&gt;C 언어를 모른다면&lt;/B&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;이건 사람 얼굴에 입이 없는 셈이다. 밥 어떻게 먹으려나... 곧 굶어 죽게 될것이다. 바로 C의 기본적인 설명에 대한 책을 독파한다. 이건 정성 들여서 독파해야 한다. 임베디드 리눅스는 거의 C로 시작해서 C로 끝난다. 가끔 C++도 있지만.... 
&lt;P align=right&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style=&quot;FONT-SIZE: 10pt; MARGIN: 0px; COLOR: #f1f1f1; TEXT-INDENT: 0px; LINE-HEIGHT: 160%; FONT-FAMILY: '바탕'; TEXT-ALIGN: justify&quot;&gt;&lt;A class=con_link target=_blank name=10&gt;&lt;STRONG&gt;&lt;BIG&gt;&lt;FONT size=4&gt;·&lt;/FONT&gt;&lt;/BIG&gt;&lt;/STRONG&gt;&lt;B&gt;&lt;FONT color=#0000ff&gt;리눅스에서 도는 어플리케이션을 작성한 적이 없다.&lt;/FONT&gt;&lt;/B&gt;&lt;/A&gt;&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;&lt;A class=con_link href=&quot;http://users.unitel.co.kr/~sangeun5/linux/lpg.html&quot; target=_blank&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;http://users.unitel.co.kr/~sangeun5/linux/lpg.html&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt; 에 가본다. 정말 도움이 될것이다 
&lt;P align=right&gt;&lt;A class=con_link href=&quot;http://kelp.or.kr/korweblog/faq.php?id=4#top&quot; target=_blank&gt;&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style=&quot;FONT-SIZE: 10pt; MARGIN: 0px; COLOR: #f1f1f1; TEXT-INDENT: 0px; LINE-HEIGHT: 160%; FONT-FAMILY: '바탕'; TEXT-ALIGN: justify&quot;&gt;&lt;A class=con_link target=_blank name=11&gt;&lt;FONT color=#0000ff&gt;&lt;STRONG&gt;&lt;BIG&gt;&lt;FONT size=4&gt;·&lt;/FONT&gt;&lt;/BIG&gt;&lt;/STRONG&gt;&lt;B&gt;make 사용법을 모른다면&lt;/B&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;make [강좌- &lt;A class=con_link href=&quot;http://kldp.org/KoreanDoc/html/gcc_and_make/gcc_and_make.html&quot; target=_blank&gt;&lt;U&gt;&lt;FONT color=#800080&gt;http://kldp.org/KoreanDoc/html/gcc_and_make/gcc_and_make.html&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;] 사용법을 아주 잘 알 필요는 없다 그러나 기본적인 사용법은 알고 있어야 한다. 아주 복잡한 사용법은 이미 기술된것을 이용하는 것으로 충분하다 
&lt;P align=right&gt;&lt;A class=con_link href=&quot;http://kelp.or.kr/korweblog/faq.php?id=4#top&quot; target=_blank&gt;&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style=&quot;FONT-SIZE: 10pt; MARGIN: 0px; COLOR: #f1f1f1; TEXT-INDENT: 0px; LINE-HEIGHT: 160%; FONT-FAMILY: '바탕'; TEXT-ALIGN: justify&quot;&gt;&lt;A class=con_link target=_blank name=12&gt;&lt;STRONG&gt;&lt;BIG&gt;&lt;FONT size=4&gt;·&lt;/FONT&gt;&lt;/BIG&gt;&lt;/STRONG&gt;&lt;B&gt;&lt;FONT color=#0000ff&gt;리눅스가 동작하기 위한 최소한의 기본 구성에 대해 아는 것이 없다?&lt;/FONT&gt;&lt;/B&gt;&lt;/A&gt;&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;부팅 디스크를 만들어 본다. 여기서 주의 할것! 대부분의 분들이 켈프에 있는 부팅 디스크 만들기를 따라만 하시는데 이건 별로 효과가 없다. 부팅 디스크를 만드는 목적은 리눅스가 동작하기 위한 최소한의 기본 구성을 알고자 하는데 목적이 있다. 또한 로더의 필요성 커널과 루트 이미지의 분리와 램디스크에서 동작하는 것에 대해서 또 커널이 동작한 후에 실행되는 최소한의 진행과정을 이해하기 위한 것이다. 이를 알고자 하는데 목적을 두어야지 만드는데에만 열중하면 안된다. 또한 다른 부팅 디스크 이미지를 이용하여 그 내용을 살표보고 공부하여야 한다. 
&lt;P align=right&gt;&lt;A class=con_link href=&quot;http://kelp.or.kr/korweblog/faq.php?id=4#top&quot; target=_blank&gt;&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style=&quot;FONT-SIZE: 10pt; MARGIN: 0px; COLOR: #f1f1f1; TEXT-INDENT: 0px; LINE-HEIGHT: 160%; FONT-FAMILY: '바탕'; TEXT-ALIGN: justify&quot;&gt;&lt;A class=con_link target=_blank name=13&gt;&lt;FONT color=#0000ff&gt;&lt;STRONG&gt;&lt;BIG&gt;&lt;FONT size=4&gt;·&lt;/FONT&gt;&lt;/BIG&gt;&lt;/STRONG&gt;&lt;B&gt;커널 컴파일을 해 본적이 없다면?&lt;/B&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;임베디드 리눅스는 커널을 가지고 놀아야 한다. 물론 안하고 하는 방법은 있다. 그러나 대부분의 임베디드 리눅스에서 커널 컴파일과 환경 설정은 거의 필수이다. 임베디드상에서 리눅스의 커널 환경을 설정하고 컴파일하는 방식과 우리가 일반적으로 다루는 PC의 커널을 다루는 방법은 거의 대부분이 같다. PC상에서 커널을 자유자재로 가지고 논다는 것은 &quot;임베디드상에서도 자유롭다&quot;는 것을 의미한다 
&lt;P align=right&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style=&quot;FONT-SIZE: 10pt; MARGIN: 0px; COLOR: #f1f1f1; TEXT-INDENT: 0px; LINE-HEIGHT: 160%; FONT-FAMILY: '바탕'; TEXT-ALIGN: justify&quot;&gt;&lt;A class=con_link target=_blank name=14&gt;&lt;FONT color=#0000ff&gt;&lt;STRONG&gt;&lt;BIG&gt;&lt;FONT size=4&gt;·&lt;/FONT&gt;&lt;/BIG&gt;&lt;/STRONG&gt;&lt;B&gt;커널의 구조를 모른다면&lt;/B&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;Uinx kernel 완전분석으로 가는길 [&lt;A class=con_link href=&quot;http://haninara.xcool.net/forStudy/download.php&quot; target=_blank&gt;&lt;U&gt;&lt;FONT color=#800080&gt;http://haninara.xcool.net/forStudy/download.php&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;]이라는 책을 한번 볼것. 약간은 예전의 커널에 대한 이야기가 나오지만 커널이 어떻게 동작하는 지를 알수 있다 
&lt;P align=right&gt;&lt;A class=con_link href=&quot;http://kelp.or.kr/korweblog/faq.php?id=4#top&quot; target=_blank&gt;&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style=&quot;FONT-SIZE: 10pt; MARGIN: 0px; COLOR: #f1f1f1; TEXT-INDENT: 0px; LINE-HEIGHT: 160%; FONT-FAMILY: '바탕'; TEXT-ALIGN: justify&quot;&gt;&lt;A class=con_link target=_blank name=15&gt;&lt;FONT color=#0000ff&gt;&lt;STRONG&gt;&lt;BIG&gt;&lt;FONT size=4&gt;·&lt;/FONT&gt;&lt;/BIG&gt;&lt;/STRONG&gt;&lt;B&gt;어셈블러를 모른다면?&lt;/B&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;임베디드 리눅스를 함에 있어서 어셈블러를 몰라도 가능한 영역은 있다. 그러나 많은 부분에서 부딪히게 된다. 고로 어셈블러는 필요 충분 조건이다. 어셈블러라는 것이 너무도 많은 종류가 존재하므로 모두 다 익히기는 어렵지만 자신이 사용하려는 MCU의 어셈블러는 익혀야 한다. 일단 PC를 이용한 임베디드에 대해서 익히려면 PC의 어셈블러는 알아야 한다. 자유 자재로 구사할 정도로 익힐 필요는 없다. 다른 쏘스의 명령을 이해하고 자신이 필요로 하는 기능을 추가하거나 수정 할수 있을 정도면 된다 
&lt;P align=right&gt;&lt;A class=con_link href=&quot;http://kelp.or.kr/korweblog/faq.php?id=4#top&quot; target=_blank&gt;&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style=&quot;FONT-SIZE: 10pt; MARGIN: 0px; COLOR: #f1f1f1; TEXT-INDENT: 0px; LINE-HEIGHT: 160%; FONT-FAMILY: '바탕'; TEXT-ALIGN: justify&quot;&gt;&lt;A class=con_link target=_blank name=16&gt;&lt;FONT color=#0000ff&gt;&lt;STRONG&gt;&lt;BIG&gt;&lt;FONT size=4&gt;·&lt;/FONT&gt;&lt;/BIG&gt;&lt;/STRONG&gt;&lt;B&gt;윗글에서 제안한 리눅스의 개발과 관련한 기본을 다진후 진행하는 방법&lt;/B&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;임베디드 리눅스를 할때 많은 분들이 평가 보드를 이용한 학습을 준비한다. 그러나 이런 분들은 대부분 좌절한다. 왜? 기본기가 없는 분들이 평가 보드에 포팅하겠다고 덤비기 때문에 좌절하는 것이다. 포팅이 그리 쉬운 것은 아니다. 일단 PC에서 내공을 쌓은 후 접근하는 것이 수월하다. 임베디드 리눅스라고 PC의 리눅스와 다른 점은 거의 없다. 단지 아키텍쳐만이 다를 뿐이며 이 부분은 전체에 3%도 되지 않는다. PC에서 리눅스의 내부를 자유 자재로 드나드는 분이면 임베디드 리눅스에 접근은 너무도 쉽다. 사실 몇가지 사항을 제외하고는 임베디드 리눅스보다 PC 시스템이 더 복잡하다. 가격도 비교해보면 임베디드 장비가 더 싸다.. ^^; 자 이젠 PC에서 임베디드 리눅스를 하기 위한 접근 방법을 알아 보자. 그리고 공부하기 위하여 평가 보드를 구입하기에는 개인이 구입하는 가격이 너무 고가이다. 컴퓨터를 또하나 사는 셈인데...이게 말처럼 쉽겠는가? 고액 연봉자라면 모를까.... 
&lt;P align=right&gt;&lt;A class=con_link href=&quot;http://kelp.or.kr/korweblog/faq.php?id=4#top&quot; target=_blank&gt;&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style=&quot;FONT-SIZE: 10pt; MARGIN: 0px; COLOR: #f1f1f1; TEXT-INDENT: 0px; LINE-HEIGHT: 160%; FONT-FAMILY: '바탕'; TEXT-ALIGN: justify&quot;&gt;&lt;A class=con_link target=_blank name=17&gt;&lt;FONT color=#0000ff&gt;&lt;STRONG&gt;&lt;BIG&gt;&lt;FONT size=4&gt;·&lt;/FONT&gt;&lt;/BIG&gt;&lt;/STRONG&gt;&lt;B&gt;디바이스 드라이버를 정복하라!!!&lt;/B&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;임베디드 시스템을 개발하는 과정에서 하드웨어쪽을 제외한 나머지 소프트웨어 측면에서 개발 비중은 로더 및 하드웨어 테스트 프로그램 10% 커널 포팅 10% 디바이스 드라이버 40% 임베디드 어플리케이션 40% 이렇다. 물론 내 개인적인 생각이므로 상황에 따라 다르겠지만 .... 그만큼 디바이스 드라이버는 중요하다. 디바이스 드라이버를 개발 한다고 평가보드를 구매 해야 하는가? 이에 대답은 &quot;아니오&quot; 이다. PC는 매우 복잡한 시스템이다. 임베디드에 사용되는 대부분의 기능이 PC에는 있다. 그러므로 PC에 도는 하드웨어에 관련된 디바이스 드라이버를 스스로 만들 능력이 된다면 임베디드용 디바이스 드라이버를 만들 능력은 충분해 진다. 일단 돈 안드는 PC부터 정복해라. PC가 없다면 모를까 ^^; 자 그럼 디바이스 드라이버는 어떻게 정복하는 것이 좋을까? 한번 알아보자.. 
&lt;P align=right&gt;&lt;A class=con_link href=&quot;http://kelp.or.kr/korweblog/faq.php?id=4#top&quot; target=_blank&gt;&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style=&quot;FONT-SIZE: 10pt; MARGIN: 0px; COLOR: #f1f1f1; TEXT-INDENT: 0px; LINE-HEIGHT: 160%; FONT-FAMILY: '바탕'; TEXT-ALIGN: justify&quot;&gt;&lt;A class=con_link target=_blank name=18&gt;&lt;FONT color=#0000ff&gt;&lt;STRONG&gt;&lt;BIG&gt;&lt;FONT size=4&gt;·&lt;/FONT&gt;&lt;/BIG&gt;&lt;/STRONG&gt;&lt;B&gt;어떤 책이 좋을까?&lt;/B&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;디바이스 드라이버를 만드는 방법에 대한 책으로 대표적인것에는 오렐리의 책이 있다. 그러나 이책을 초보자가 보기에는 너무 어렵다. 그렇다고 마땅한 다른 책이 있는 것도 아니다. 고로 선택권이 없으므로 이 책을 여러번 읽어 본다. 완벽하게 이해하려고는 하지 말기를 부탁한다. 여러번 읽어 보면 어렴풋이 무슨 내용인지 이해하는 시점이 있을 것이다 
&lt;P align=right&gt;&lt;A class=con_link href=&quot;http://kelp.or.kr/korweblog/faq.php?id=4#top&quot; target=_blank&gt;&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style=&quot;FONT-SIZE: 10pt; MARGIN: 0px; COLOR: #f1f1f1; TEXT-INDENT: 0px; LINE-HEIGHT: 160%; FONT-FAMILY: '바탕'; TEXT-ALIGN: justify&quot;&gt;&lt;A class=con_link target=_blank name=19&gt;&lt;FONT color=#0000ff&gt;&lt;STRONG&gt;&lt;BIG&gt;&lt;FONT size=4&gt;·&lt;/FONT&gt;&lt;/BIG&gt;&lt;/STRONG&gt;&lt;B&gt;디바이스 드라이버 프로그램을 직접 해본다.&lt;/B&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;우선 오렐리의 책에 소개된 싸이트에 가서 쏘스를 가져 온다. 그리고 쏘스를 이해하려고 노력한다. 또한 KELP의 내가 쓰고 있는 디바이스 드라이버의 강좌를 계속 지켜 보거나 현재 진행되고 있는 박철님이 진행하고 있는 목요 세미나에 참가한다. 아니면 웹을 뒤지면 의외로 디바이스 드라이버 강좌를 하는 싸이트가 꽤 된다. 싸이트 이름을 내가 일일이 외우기는 힘들지만 ... ^^; ( 천재는 건망증이 심하다고들 한다. ) 
&lt;P align=right&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style=&quot;FONT-SIZE: 10pt; MARGIN: 0px; COLOR: #f1f1f1; TEXT-INDENT: 0px; LINE-HEIGHT: 160%; FONT-FAMILY: '바탕'; TEXT-ALIGN: justify&quot;&gt;&lt;A class=con_link target=_blank name=20&gt;&lt;STRONG&gt;&lt;BIG&gt;&lt;FONT size=4&gt;·&lt;/FONT&gt;&lt;/BIG&gt;&lt;/STRONG&gt;&lt;B&gt;&lt;FONT color=#0000ff&gt;프린터 포트를 이용한 캐랙터 디바이스를 만든다&lt;/FONT&gt;&lt;/B&gt;&lt;/A&gt;&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;대부분의 임베디드 장비에서 사용되는 디바이스는 캐랙터 디바이스로 충분하다. 고로 캐랙터 디바이스를 안다는 것은 임베디드용 디바이스 드라이버의 절반에 해당하는 내용을 안다는 의미도 된다 
&lt;P align=right&gt;&lt;A class=con_link href=&quot;http://kelp.or.kr/korweblog/faq.php?id=4#top&quot; target=_blank&gt;&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style=&quot;FONT-SIZE: 10pt; MARGIN: 0px; COLOR: #f1f1f1; TEXT-INDENT: 0px; LINE-HEIGHT: 160%; FONT-FAMILY: '바탕'; TEXT-ALIGN: justify&quot;&gt;&lt;A class=con_link target=_blank name=21&gt;&lt;FONT color=#0000ff&gt;&lt;STRONG&gt;&lt;BIG&gt;&lt;FONT size=4&gt;·&lt;/FONT&gt;&lt;/BIG&gt;&lt;/STRONG&gt;&lt;B&gt;자신이 사용하는 커널 버전이외의 내용은 과감하게 삭제한다.&lt;/B&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;현재 임베디드용 커널은 2.2대를 근거로 사용한다. 2.4대는 최근에 나왔으므로 아직은 적용중이다. 임베디드용 커널은 버전이 낮다. 또 2.0 대 이전 버전은 약간 적용 방식이 다른 것으로 기억한다. 이를 위해서 오렐리 책에서는 이런 저런 내용을 기술하고 있는데 실전에 사용되는 임베디드 리눅스는 사실 커널을 여러가지로 사용하겠끔 굳이 설계하지 않아도 된다. 즉 커널 버전을 덜 타는 것이다. 범용적인 PC용 디바이스 드라이버를 작성할때나 고려할 내용이다. 그러므로 여러분은 괜히 쏘스를 어지럽히는 커널의 버전 관리 에 대한 내용은 과감하게 제거하고 진행하는 것이 수명 연장에 지름길이 된다 
&lt;P align=right&gt;&lt;A class=con_link href=&quot;http://kelp.or.kr/korweblog/faq.php?id=4#top&quot; target=_blank&gt;&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style=&quot;FONT-SIZE: 10pt; MARGIN: 0px; COLOR: #f1f1f1; TEXT-INDENT: 0px; LINE-HEIGHT: 160%; FONT-FAMILY: '바탕'; TEXT-ALIGN: justify&quot;&gt;&lt;A class=con_link target=_blank name=22&gt;&lt;STRONG&gt;&lt;BIG&gt;&lt;FONT size=4&gt;·&lt;/FONT&gt;&lt;/BIG&gt;&lt;/STRONG&gt;&lt;B&gt;&lt;FONT color=#0000ff&gt;네트웍크용 디바이스 드라이버는 공부해라&lt;/FONT&gt;&lt;/B&gt;&lt;/A&gt;&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;임베디드 장비에 리눅스를 사용하는 가장 큰 목적 중에 하나가 네트워크 스택을 이용하기 위한 것이다. 리눅스 자체가 덩치가 크므로 조그마한 임베디드 장비에는 아예 탑재하지 않는다. 채산성이 전혀 맞지 않기 때문이다. 더구나 리눅스의 대부분의 어플리케이션이 네트워크에 연관되어 있다. 고로 네트워크 디바이스 드라이버는 공부해야 한다. 
&lt;P align=right&gt;&lt;A class=con_link href=&quot;http://kelp.or.kr/korweblog/faq.php?id=4#top&quot; target=_blank&gt;&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style=&quot;FONT-SIZE: 10pt; MARGIN: 0px; COLOR: #f1f1f1; TEXT-INDENT: 0px; LINE-HEIGHT: 160%; FONT-FAMILY: '바탕'; TEXT-ALIGN: justify&quot;&gt;&lt;A class=con_link target=_blank name=23&gt;&lt;STRONG&gt;&lt;BIG&gt;&lt;FONT size=4&gt;·&lt;/FONT&gt;&lt;/BIG&gt;&lt;/STRONG&gt;&lt;B&gt;기존에 디바이스 드라이버를 한번쯤 스스로 재 작성해 보라.&lt;/B&gt;&lt;/A&gt;&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;계속 말하는 것이지만 PC는 매우 복잡한 시스템이다. 고로 PC의 디바이스 드라이버를 구현 할수 있다는 것은 임베디드용 디바이스 드라이버를 구현 할 수 있는 능력이 된다는 것과 동일한 내용이다. 여기서 주의 할것은 PC에서 구현된 디바이스 드라이버들은 매우 안정된 상태이다. 여러분이 이렇게 완벽하게 안정된 디바이스 드라이버를 만들 수는 없다. 왜? 초짜이므로.... 똑같이 안정된 디바이스 드라이버를 작성할수 있다면 바로 리눅스의 개발에 앞장 서 주시길 부탁한다. 보통 많은 분들이 PC용 디바이스 드라이버를 재 작성할때 시리얼 포트용 디바이스 드라이버 부터 하는데 제발 시리얼 포트 부터 하지 말것... PC의 리눅스 상에서 시리얼은 정말 복잡하다. 보통 임베디드의 시리얼과는 상대가 되지 않는다. 터미날을 지원하는 기능과 가상 터미날과 연계 되어 있기 때문이다. 고로 차라리 프린터 포트나 마우스 같은 디바이스 드라이버 부터 만들어 가라... 어쩌면 랜카드용 디바이스 드라이버가 더 쉬울지도 모른다. 다시 당부 드리지만 시리얼 포트 부터 접근하지 말것.... 
&lt;P align=right&gt;&lt;A class=con_link href=&quot;http://kelp.or.kr/korweblog/faq.php?id=4#top&quot; target=_blank&gt;&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style=&quot;FONT-SIZE: 10pt; MARGIN: 0px; COLOR: #f1f1f1; TEXT-INDENT: 0px; LINE-HEIGHT: 160%; FONT-FAMILY: '바탕'; TEXT-ALIGN: justify&quot;&gt;&lt;A class=con_link target=_blank name=24&gt;&lt;FONT color=#0000ff&gt;&lt;STRONG&gt;&lt;BIG&gt;&lt;FONT size=4&gt;·&lt;/FONT&gt;&lt;/BIG&gt;&lt;/STRONG&gt;&lt;B&gt;커널을 이해하라....&lt;/B&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;디바이스 드라이버를 공부하다보면 많은 부분들이 커널과 연계되어 있음을 알게 된다. 그러므로 디바이스 드라이버에 대해서 공부가 끝났다면 커널의 40%쯤은 이해 했다고 볼 수도 있겠다. 커널을 공부함에 있어서 구분해야 할것이 있다. 하나는 아키텍쳐 의존적인 부분과 아키텍쳐와 독립적인 부분이 있다. 리눅스는 가급적 아키텍쳐 독립적으로 구성되려고 노력한 흔적이 여기저기 보인다. 그래서 리눅스가 다른 아키텍쳐에 포팅 될수 있었던 것이다. 만약 PC의 i386계열에 의존적인 부분이 매우 많았다면 지금처럼 임베디드용으로 사용되지도 못했을 것이다. 자 커널을 이해하는 방법은 어떤게 좋을까? 어디까지 이해해야 할까? 이에 대한 나의 생각을 풀어 보겠다 
&lt;P align=right&gt;&lt;A class=con_link href=&quot;http://kelp.or.kr/korweblog/faq.php?id=4#top&quot; target=_blank&gt;&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style=&quot;FONT-SIZE: 10pt; MARGIN: 0px; COLOR: #f1f1f1; TEXT-INDENT: 0px; LINE-HEIGHT: 160%; FONT-FAMILY: '바탕'; TEXT-ALIGN: justify&quot;&gt;&lt;A class=con_link target=_blank name=25&gt;&lt;FONT color=#0000ff&gt;&lt;STRONG&gt;&lt;BIG&gt;&lt;FONT size=4&gt;·&lt;/FONT&gt;&lt;/BIG&gt;&lt;/STRONG&gt;&lt;B&gt;커널을 이해하기 위한 방법론 및 어디까지?&lt;/B&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;커널을 이해하기 위해서 가장 좋은 방법은 쏘스에서 흐름을 쭈욱 쫒아가 보는 것이다. 이를 위한 방법은 켈프에서 제안한 숙제중 부팅 메세지를 시리얼로 보내는 방법을 제안한다. 물론 이때 &quot;Uinx kernel 완전분석으로 가는길이라는 책&quot; 을 옆에 끼고 있는 것이 좋을 것이다. 물론 켈프에 조형기님이 진행하고 있는 강좌란도 무척 도움이 될것이다. 너무 완벽하게 쫒아 가려고 하지 않는 것이 좋을 것이다. 이 놈의 리눅스 커널을 쫒아 가는 것에 맛이 들리면 도통 헤어나질 못하게 된다. 필요한 만큼만 쫓아 다니면 된다. 임베디드 리눅스를 구현함에 있어서 대부분은 기존에 이미 포팅되어 있는 아키텍쳐를 이용하게 되는데 이 방법이 의미하는 것은 커널을 완벽하게 이해하기 보다는 커널 쏘스의 어떤 부분에 어떤 기능이 있는가 정도를 파악하는 선이면 된다는 것이다. 필요할때 좀더 자세하게 쏘스를 쫒아 다니면 된다. 또 내가 권유하는 방식은 당신이 필요로 하는 기능은 대부분 다른 사람이 이미 해 놓았을 가능성이 높다는 것이다. 커널에 집중하기 보다는 웹싸이트를 뒤지는 시간이 더 짧을 수 있다. 요즘은 Know Where!! 아닌가.... 
&lt;P align=right&gt;&lt;A class=con_link href=&quot;http://kelp.or.kr/korweblog/faq.php?id=4#top&quot; target=_blank&gt;&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style=&quot;FONT-SIZE: 10pt; MARGIN: 0px; COLOR: #f1f1f1; TEXT-INDENT: 0px; LINE-HEIGHT: 160%; FONT-FAMILY: '바탕'; TEXT-ALIGN: justify&quot;&gt;&lt;A class=con_link target=_blank name=26&gt;&lt;STRONG&gt;&lt;BIG&gt;&lt;FONT size=4&gt;·&lt;/FONT&gt;&lt;/BIG&gt;&lt;/STRONG&gt;&lt;B&gt;정말 임베디드 리눅스를 하려면&lt;/B&gt;&lt;/A&gt;&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;5항까지 진행된 분이라면 6항 이후에 설명하는 과정을 수행해도 문제가 없을 것이다. 여기서 부터는 보통 일반인들이 말하는 임베디드 시스템용 리눅스를 어떻게 하는가를 설명하는 것이다 
&lt;P align=right&gt;&lt;A class=con_link href=&quot;http://kelp.or.kr/korweblog/faq.php?id=4#top&quot; target=_blank&gt;&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style=&quot;FONT-SIZE: 10pt; MARGIN: 0px; COLOR: #f1f1f1; TEXT-INDENT: 0px; LINE-HEIGHT: 160%; FONT-FAMILY: '바탕'; TEXT-ALIGN: justify&quot;&gt;&lt;A class=con_link target=_blank name=27&gt;&lt;FONT color=#0000ff&gt;&lt;STRONG&gt;&lt;BIG&gt;&lt;FONT size=4&gt;·&lt;/FONT&gt;&lt;/BIG&gt;&lt;/STRONG&gt;&lt;B&gt;평가 보드를 구매하라...&lt;/B&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;만약 당신이 가난한 개발자라면 이 이후에 진행은 포기해 달라.. 왜? 개인이 하기에는 너무도 벅찬 돈이 든다. 그냥 평가 보드만 사서 될일이 아니다. (이것도 정말 비싸다) 물론 평가 보드만 사도 될수 도 있지만 새로운 하드웨어적인 기능을 추가하고 시험하려면 개발 장비가 보통 고가가 아니다. 그냥 개인이 취미로 하기에는 이미 금전적인 부담이 넘어선다. 단 평가보드상에서 만족한다면 평가보드 살 능력이 되야 한다. 평가보드만으로도 꽤 많은 것을 공부 할수 있다. 단 평가보드를 구매할때 JTAG가 지원되는 평가보드를 구매하라 그나마 JTAG를 사용하는 공부는 돈이 적게 든다 
&lt;P align=right&gt;&lt;A class=con_link href=&quot;http://kelp.or.kr/korweblog/faq.php?id=4#top&quot; target=_blank&gt;&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style=&quot;FONT-SIZE: 10pt; MARGIN: 0px; COLOR: #f1f1f1; TEXT-INDENT: 0px; LINE-HEIGHT: 160%; FONT-FAMILY: '바탕'; TEXT-ALIGN: justify&quot;&gt;&lt;A class=con_link target=_blank name=28&gt;&lt;FONT color=#0000ff&gt;&lt;STRONG&gt;&lt;BIG&gt;&lt;FONT size=4&gt;·&lt;/FONT&gt;&lt;/BIG&gt;&lt;/STRONG&gt;&lt;B&gt;평가 보드를 구매 했다면....&lt;/B&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;평가 보드를 보통 구매하면 대부분의 문서가 따라 오게 된다. 물론 사용되는 디바이스의 설명서들이 포함되 있거나 최소한 어디서 구하는지에 대한 설명은 있을 것이다. 이런 자료를 모두 일단 확보할 것. 
&lt;P align=right&gt;&lt;A class=con_link href=&quot;http://kelp.or.kr/korweblog/faq.php?id=4#top&quot; target=_blank&gt;&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style=&quot;FONT-SIZE: 10pt; MARGIN: 0px; COLOR: #f1f1f1; TEXT-INDENT: 0px; LINE-HEIGHT: 160%; FONT-FAMILY: '바탕'; TEXT-ALIGN: justify&quot;&gt;&lt;A class=con_link target=_blank name=29&gt;&lt;FONT color=#0000ff&gt;&lt;STRONG&gt;&lt;BIG&gt;&lt;FONT size=4&gt;·&lt;/FONT&gt;&lt;/BIG&gt;&lt;/STRONG&gt;&lt;B&gt;MCU를 공부하라..&lt;/B&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;평가 보드에 사용되고 있는 MCU에 대해서 공부해야 한다. MCU를 모르고 임베디드를 도전하는 것은 시간낭비의 지름길이다. MCU의 구조 MCU의 하드웨어 사양 MCU의 프로그램 방법 ( 어셈블러 ) MCU의 동작 방식 뭐 이런 것이 있겠다. 
&lt;P align=right&gt;&lt;A class=con_link href=&quot;http://kelp.or.kr/korweblog/faq.php?id=4#top&quot; target=_blank&gt;&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style=&quot;FONT-SIZE: 10pt; MARGIN: 0px; COLOR: #f1f1f1; TEXT-INDENT: 0px; LINE-HEIGHT: 160%; FONT-FAMILY: '바탕'; TEXT-ALIGN: justify&quot;&gt;&lt;A class=con_link target=_blank name=30&gt;&lt;FONT color=#0000ff&gt;&lt;STRONG&gt;&lt;BIG&gt;&lt;FONT size=4&gt;·&lt;/FONT&gt;&lt;/BIG&gt;&lt;/STRONG&gt;&lt;B&gt;평가 보드에 사용되는 디바이스를 공부해라...&lt;/B&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;평가 보드에 사용되는 디바이스를 모두 공부할 필요는 없다. 자신이 사용하고자 하는 디바이스에 대해서 하드웨어적으로는 어떻게 연결되고 디바이스를 제어하기 위해서는 소프트웨어 적으로 어떻게 해야 하는 가를 이해 해야 한다. 이런 이해를 위해서는 해당 디바이스에 대한 리퍼런스 매뉴얼의 확보는 필수적이다. 항상 나에 가슴을 아프게 하는 것은 기술된 언어가 영어라는 점이다. 빨리 한글이 전세계 공통어로 되어야 하는데.... 나를 세계 대통령으로 밀어 주면 가장 먼저 한글을 공용어로 하고 모든 표기를 한글로 하는 세계법을 제정하겠다. 
&lt;P align=right&gt;&lt;A class=con_link href=&quot;http://kelp.or.kr/korweblog/faq.php?id=4#top&quot; target=_blank&gt;&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style=&quot;FONT-SIZE: 10pt; MARGIN: 0px; COLOR: #f1f1f1; TEXT-INDENT: 0px; LINE-HEIGHT: 160%; FONT-FAMILY: '바탕'; TEXT-ALIGN: justify&quot;&gt;&lt;A class=con_link target=_blank name=31&gt;&lt;FONT color=#0000ff&gt;&lt;STRONG&gt;&lt;BIG&gt;&lt;FONT size=4&gt;·&lt;/FONT&gt;&lt;/BIG&gt;&lt;/STRONG&gt;&lt;B&gt;크로스 컴파일 환경을 구축하는 것을 공부하라&lt;/B&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;임베디드 리눅스를 공부하는 것에 가장 큰 관문중에 하나가 크로스 컴파일 환경을 구축하는 것이다. 그나마 다행인것은 요즘은 아예 rpm 패케지로도 나온다는 점이다. 그래도 몇몇 cpu에 필요한 환경은 자신이 스스로 구축해야 한다. 또 평가 보드에 따라 구축하는 방법이 조금씩 다를 수 있다. 물론 평가보드에 따라오는 CD에는 일반적으로 크로스 컴파일에 필요한 화일도 따라오므로 좀 괜찮기는 하지만 아예 공부하지 않으면 조금만 문제가 생겨도 속수 무책일수 있다. 
&lt;P align=right&gt;&lt;A class=con_link href=&quot;http://kelp.or.kr/korweblog/faq.php?id=4#top&quot; target=_blank&gt;&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style=&quot;FONT-SIZE: 10pt; MARGIN: 0px; COLOR: #f1f1f1; TEXT-INDENT: 0px; LINE-HEIGHT: 160%; FONT-FAMILY: '바탕'; TEXT-ALIGN: justify&quot;&gt;&lt;A class=con_link target=_blank name=32&gt;&lt;FONT color=#0000ff&gt;&lt;STRONG&gt;&lt;BIG&gt;&lt;FONT size=4&gt;·&lt;/FONT&gt;&lt;/BIG&gt;&lt;/STRONG&gt;&lt;B&gt;부트 로더를 공부하라.&lt;/B&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;임베디드 리눅스를 공부하기 위해서 가장 처음 부딪히는 것이 부트 로더다. PC에서는 그 개념이 별로 중요하지 않으므로 이 문제가 별로 대두되지 않지만 임베디드에서는 바로 대두 된다. 보통은 이미 개발된 오픈된 부트 로더를 자신의 시스템에 맞게 바꾸게 된다. 그러므로 부트로더의 쏘스는 어느정도 분석하고 있어야 한다. &lt;BR&gt;부트로더자료 - [&lt;A class=con_link href=&quot;http://haninara.xcool.net/forStudy/download.php&quot; target=_blank&gt;&lt;U&gt;&lt;FONT color=#800080&gt;http://haninara.xcool.net/forStudy/download.php&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;] 
&lt;P align=right&gt;&lt;A class=con_link href=&quot;http://kelp.or.kr/korweblog/faq.php?id=4#top&quot; target=_blank&gt;&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style=&quot;FONT-SIZE: 10pt; MARGIN: 0px; COLOR: #f1f1f1; TEXT-INDENT: 0px; LINE-HEIGHT: 160%; FONT-FAMILY: '바탕'; TEXT-ALIGN: justify&quot;&gt;&lt;A class=con_link target=_blank name=33&gt;&lt;FONT color=#0000ff&gt;&lt;STRONG&gt;&lt;BIG&gt;&lt;FONT size=4&gt;·&lt;/FONT&gt;&lt;/BIG&gt;&lt;/STRONG&gt;&lt;B&gt;NFS 시스템에 대해서 공부하라&lt;/B&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;임베디드 시스템에는 커다란 보조 기억 장치가 없기 때문에 필히 네트워크를 이용한 다른 시스템의 보조 기억 장치를 마운트 사용해야 편리하다. 이를 위해 사용되는 것이 NFS이다. 고로 이에 대한 공부는 해두는 것이 좋다 
&lt;P align=right&gt;&lt;A class=con_link href=&quot;http://kelp.or.kr/korweblog/faq.php?id=4#top&quot; target=_blank&gt;&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style=&quot;FONT-SIZE: 10pt; MARGIN: 0px; COLOR: #f1f1f1; TEXT-INDENT: 0px; LINE-HEIGHT: 160%; FONT-FAMILY: '바탕'; TEXT-ALIGN: justify&quot;&gt;&lt;A class=con_link target=_blank name=34&gt;&lt;FONT color=#0000ff&gt;&lt;STRONG&gt;&lt;BIG&gt;&lt;FONT size=4&gt;·&lt;/FONT&gt;&lt;/BIG&gt;&lt;/STRONG&gt;&lt;B&gt;그외 나머지는 어떻게?&lt;/B&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;커널을 올리고 바꾸고 하는 것은 PC에서 공부했다면 별로 문제가 되지 않는다. 또 대부분 커널은 포팅했다. 단 일반적으로 부딪히는 문제를 늘어 놓는다면 다음과 같다 
&lt;P align=right&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style=&quot;FONT-SIZE: 10pt; MARGIN: 0px; COLOR: #f1f1f1; TEXT-INDENT: 0px; LINE-HEIGHT: 160%; FONT-FAMILY: '바탕'; TEXT-ALIGN: justify&quot;&gt;&lt;A class=con_link target=_blank name=35&gt;&lt;FONT color=#0000ff&gt;&lt;STRONG&gt;&lt;BIG&gt;&lt;FONT size=4&gt;·&lt;/FONT&gt;&lt;/BIG&gt;&lt;/STRONG&gt;&lt;B&gt;MMU가 없다..&lt;/B&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;보통 PC에서는 MMU가 있으므로 문제가 되지 않지만 임베디드 시스템에서는 MMU가 없는 것이 일반적이다. 왜? 가격이 싸기 때문이다. 그렇다면 어떤 문제가 있을까 바로 이 문제에 대해서 공부해야 한다는 것이다. 50100용을 사용하거나 드래곤볼 을 사용한 임베디드 리눅스의 하우투 문서를 찾아 보고서 공부하는 것이 좋다 
&lt;P align=right&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style=&quot;FONT-SIZE: 10pt; MARGIN: 0px; COLOR: #f1f1f1; TEXT-INDENT: 0px; LINE-HEIGHT: 160%; FONT-FAMILY: '바탕'; TEXT-ALIGN: justify&quot;&gt;&lt;A class=con_link target=_blank name=36&gt;&lt;FONT color=#0000ff&gt;&lt;STRONG&gt;&lt;BIG&gt;&lt;FONT size=4&gt;·&lt;/FONT&gt;&lt;/BIG&gt;&lt;/STRONG&gt;&lt;B&gt;루트 디스크 이미지와 램 디스크&lt;/B&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;임베디드 리눅스의 거의 대부분이 보조 기억 장치가 없거나 있어도 플래쉬 메모리 이다. 그래서 루트와 마운트 되는 기억 장치로 램 디스크를 많이 사용하게 된다. 문제는 램 디스크용 루트 이미지가 ROM에 있거나 플래쉬 메모리에 저장되기 때문이다. 커널의 루트 이미지 복사는 부분에 대한 공부를 필요로 하는 것이 이 때문이다. 
&lt;P align=right&gt;&lt;A class=con_link href=&quot;http://kelp.or.kr/korweblog/faq.php?id=4#top&quot; target=_blank&gt;&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style=&quot;FONT-SIZE: 10pt; MARGIN: 0px; COLOR: #f1f1f1; TEXT-INDENT: 0px; LINE-HEIGHT: 160%; FONT-FAMILY: '바탕'; TEXT-ALIGN: justify&quot;&gt;&lt;A class=con_link target=_blank name=37&gt;&lt;FONT color=#0000ff&gt;&lt;STRONG&gt;&lt;BIG&gt;&lt;FONT size=4&gt;·&lt;/FONT&gt;&lt;/BIG&gt;&lt;/STRONG&gt;&lt;B&gt;플래쉬 메모리에 대해서 공부 할것&lt;/B&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;플래쉬 메모리는 하드 디스크 처럼 쓰고 읽을 수 있는 저장 장치이다. 더구나 읽는 속도가 매우 빠르다. 그러나 플래쉬 메모리는 쓰는 횟수에 한계가 있다. 이에 대한 공부를 미리 하지 않으면 당신이 납품한 임베디드 장비에 대해서 고생 할 가능성이 농후하다. 이에 대하여 다른 사람은 어떤 방법론이 있는가에 대하여 미리 공부해 두는 것도 좋을 것이다. 가끔 배신감 느끼게 플래쉬에 대한 몇가지 소프트웨어가 특허에 걸려 있다. 
&lt;P align=right&gt;&lt;A class=con_link href=&quot;http://kelp.or.kr/korweblog/faq.php?id=4#top&quot; target=_blank&gt;&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style=&quot;FONT-SIZE: 10pt; MARGIN: 0px; COLOR: #f1f1f1; TEXT-INDENT: 0px; LINE-HEIGHT: 160%; FONT-FAMILY: '바탕'; TEXT-ALIGN: justify&quot;&gt;&lt;A class=con_link target=_blank name=38&gt;&lt;FONT color=#0000ff&gt;&lt;STRONG&gt;&lt;BIG&gt;&lt;FONT size=4&gt;·&lt;/FONT&gt;&lt;/BIG&gt;&lt;/STRONG&gt;&lt;B&gt;계속 늘어 놓으면 한도 끝도 없을 것 같으므로&lt;/B&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;정말이다.. 임베디드 리눅스라는 분야는 PC이외에 모두 다 라고 할 정도로 다양하다. 이 모든 것을 미리 공부할수는 없다. 역시 실전에 부딪히면서 배우는 수밖에 
&lt;P align=right&gt;&lt;A class=con_link href=&quot;http://kelp.or.kr/korweblog/faq.php?id=4#top&quot; target=_blank&gt;&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style=&quot;FONT-SIZE: 10pt; MARGIN: 0px; COLOR: #f1f1f1; TEXT-INDENT: 0px; LINE-HEIGHT: 160%; FONT-FAMILY: '바탕'; TEXT-ALIGN: justify&quot;&gt;&lt;A class=con_link target=_blank name=39&gt;&lt;FONT color=#0000ff&gt;&lt;STRONG&gt;&lt;BIG&gt;&lt;FONT size=4&gt;·&lt;/FONT&gt;&lt;/BIG&gt;&lt;/STRONG&gt;&lt;B&gt;빨리 개발하는 방법....&lt;/B&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;아마도 이 글을 읽고서 벌써 임베디드 리눅스를 공부하고 싶은 마음이 없어지는 사람들의 목소리가 들린다. 음.... 아마도 이글을 읽고 있는 분들 중에는 당장 1달안에 개발을 완료 해야 하는 분들도 있을 것이다. 이에 대한 해답은 아니지만 속성 코스에 대해서 이야기 하려고 한다. 단 이 방법은 엔지니어로써 어느정도 구력이 있는 분에 해당하는 것이지 완전 엔지니어 초짜에 해당되는 것은 아님을 미리 밝힌다. 
&lt;P align=right&gt;&lt;A class=con_link href=&quot;http://kelp.or.kr/korweblog/faq.php?id=4#top&quot; target=_blank&gt;&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style=&quot;FONT-SIZE: 10pt; MARGIN: 0px; COLOR: #f1f1f1; TEXT-INDENT: 0px; LINE-HEIGHT: 160%; FONT-FAMILY: '바탕'; TEXT-ALIGN: justify&quot;&gt;&lt;A class=con_link target=_blank name=40&gt;&lt;FONT color=#0000ff&gt;&lt;STRONG&gt;&lt;BIG&gt;&lt;FONT size=4&gt;·&lt;/FONT&gt;&lt;/BIG&gt;&lt;/STRONG&gt;&lt;B&gt;이미 개발된 평가 보드를 이용할 것...&lt;/B&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;자 임베디드 리눅스를 이용한 시스템을 만든다는 것은 자신이 목적으로 하는 동작이 정확하게 수행되면 된다. 그러므로 구현하고자 하는 장비와 최대한 같은 기능을 담고 있는 평가보드(개발보드) 를 구한다. 이 평가 보드에는 리눅스가 모두 설치 되어 있어야 한다. 그리고 캐랙터 디바이스의 가장 최소한에 대한 공부만 한다. 이것 마저도 안한다면 어쩔수 없다. 그리고 평가보드의 회로를 최대한 그대로 수용한 목적 시스템을 만든다. 이런 상태라면 다음과 같은 할일만 남는다. &lt;BR&gt;&lt;BR&gt;1. 부트로더에서 초기화와 커널 부팅을 수행하는 부분만 남겨 놓고 제거한다. &lt;BR&gt;2. 커널을 그대로 사용한다. &lt;BR&gt;3. 대부분의 디바이스 드라이버도 그냥 사용한다. &lt;BR&gt;4. 추가된 디바이스의 드라이버만 작성한다. &lt;BR&gt;5. 어플리케이션을 작성한다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;- KELP 펌&lt;/P&gt;&lt;!--- 출처 ---&gt;
	    </content>
	    	</entry>
    	<entry>
	    <title>레이어 위치 구하기</title>
		<link rel="alternate" type="text/html" href="http://blog.daum.net/jooneey22/8845273"/>
		<id>tag:blog.daum.net,2009:jooneey22.8845273</id>
	    <author>
		    <name>쥬니</name>
	    </author>
	    <updated>2009-03-16T15:09:59Z</updated>
	    <published>2009-03-16T15:09:59Z</published>
	    <content type="html">
	    	&lt;P&gt;var cloumn=document.getElementById(&quot;cloumn&quot;);&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;var top = GetObjectTop(cloumn) + 14;&lt;BR&gt;&amp;nbsp;var left =&amp;nbsp; GetObjectLeft(cloumn) + 25;&lt;BR&gt;&amp;nbsp;excel.style.top =&amp;nbsp; top+'px' ;&lt;BR&gt;&amp;nbsp;excel.style.left = left+'px' ;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;1. 재귀 함수로 구하기&lt;/P&gt;
&lt;P&gt;function GetObjectTop(obj){&lt;BR&gt;&amp;nbsp; if (obj.offsetParent == document.body)&lt;BR&gt;&amp;nbsp;&amp;nbsp; return obj.offsetTop;&lt;BR&gt;&amp;nbsp; else&lt;BR&gt;&amp;nbsp;&amp;nbsp; return obj.offsetTop + GetObjectTop(obj.offsetParent );&lt;BR&gt;}&lt;/P&gt;
&lt;P&gt;function GetObjectLeft(obj){&lt;BR&gt;&amp;nbsp; if (obj.offsetParent == document.body)&lt;BR&gt;&amp;nbsp;&amp;nbsp; return obj.offsetLeft;&lt;BR&gt;&amp;nbsp; else&lt;BR&gt;&amp;nbsp;&amp;nbsp; return obj.offsetLeft + GetObjectLeft(obj.offsetParent );&lt;BR&gt;}&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;2. while 로 구하기&lt;/P&gt;
&lt;P&gt;&amp;nbsp;function getLeft(obj){&lt;BR&gt;&amp;nbsp;&amp;nbsp; var curleft = 0;&lt;BR&gt;&amp;nbsp;&amp;nbsp; if(obj.offsetParent){&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; while(obj.offsetParent){&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; curleft += obj.offsetLeft;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; obj = obj.offsetParent;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp; else if(obj.x) curleft += obj.x;&lt;BR&gt;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp; return curleft;&lt;BR&gt;&amp;nbsp;}&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;function getTop(obj){&lt;BR&gt;&amp;nbsp; var curtop = 0;&lt;BR&gt;&amp;nbsp; if(obj.offsetParent){&lt;BR&gt;&amp;nbsp;&amp;nbsp; while(obj.offsetParent){&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; curtop += obj.offsetTop;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; obj = obj.offsetParent;&lt;BR&gt;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp; }else if(obj.y) curtop += obj.y;&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp; return curtop;&lt;BR&gt;&amp;nbsp;}&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;* body 태그 까지 올라가면서 offset 값들을 더하면 body 태그 부터 현재 위치한 태그의 레이어의 절대 좌표를 구할 수 있다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
	    </content>
	    	</entry>
    	<entry>
	    <title>heap size 조정하기, java.lang.outOfMemory 에러 </title>
		<link rel="alternate" type="text/html" href="http://blog.daum.net/jooneey22/8845272"/>
		<id>tag:blog.daum.net,2009:jooneey22.8845272</id>
	    <author>
		    <name>쥬니</name>
	    </author>
	    <updated>2009-03-13T13:00:00Z</updated>
	    <published>2009-03-13T13:00:00Z</published>
	    <content type="html">
	    	&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style=&quot;TEXT-ALIGN: center&quot;&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;이클립스에서 자바 힙사이즈 조정 하는 방법&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-SIZE: 18pt&quot;&gt;&lt;STRONG&gt;&amp;nbsp;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-SIZE: 18pt&quot;&gt;&lt;STRONG&gt;1. 자바 어플리케이션 실행시&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;- 메뉴 : 프로젝트 &gt; 프로퍼티 &gt; Run/Debug Settings&lt;/P&gt;
&lt;P&gt;&amp;nbsp;- -Xms256m -Xmx512m&amp;nbsp; : 적당히 조정&lt;/P&gt;
&lt;P style=&quot;TEXT-ALIGN: center&quot;&gt;&lt;img src=&quot;http://cfile231.uf.daum.net/image/1476D00A49B9DA245795C4&quot; class=&quot;tx-daum-image&quot; style=&quot;CLEAR: none; FLOAT: none&quot; actualwidth=&quot;720&quot; hspace=&quot;1&quot; width=&quot;720&quot; vspace=&quot;1&quot; border=&quot;0&quot; /&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style=&quot;FONT-SIZE: 24pt&quot;&gt;2. 톰캣 실행시 &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; - 위치 : Servess View 창 &gt; 등록되어 있는 서버 더블클릭 &gt; OverView 파일 &gt; Open launch configuration &lt;/P&gt;
&lt;P&gt;&amp;nbsp; - -verbosegc -Xnoclassgc -Xms256m -Xmx512m : 적당히 조정 &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style=&quot;TEXT-ALIGN: center&quot;&gt;&lt;img src=&quot;http://cfile223.uf.daum.net/image/1977360E49DDBBF44E1CD7&quot; class=&quot;tx-daum-image&quot; style=&quot;CLEAR: none; FLOAT: none&quot; actualwidth=&quot;721&quot; hspace=&quot;1&quot; width=&quot;721&quot; vspace=&quot;1&quot; border=&quot;0&quot; /&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style=&quot;TEXT-ALIGN: center&quot;&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
	    </content>
	    	</entry>
    	<entry>
	    <title>초를 시 분 초 로 변환하는 쿼리</title>
		<link rel="alternate" type="text/html" href="http://blog.daum.net/jooneey22/8845271"/>
		<id>tag:blog.daum.net,2009:jooneey22.8845271</id>
	    <author>
		    <name>쥬니</name>
	    </author>
	    <updated>2009-01-16T13:03:35Z</updated>
	    <published>2009-01-16T13:03:35Z</published>
	    <content type="html">
	    	&lt;P&gt;select &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FLOOR(a.ti/3600) || '시간' || FLOOR(MOD(a.ti,3600)/60) || '분' || MOD(a.ti,60) || '초' AS &quot;시분초&quot;&lt;/P&gt;
&lt;P&gt;from &lt;/P&gt;
&lt;P&gt;(&lt;BR&gt;select 3661 as ti from dual&lt;BR&gt;) a&lt;BR&gt;&lt;/P&gt;
	    </content>
	    	</entry>
    	<entry>
	    <title>오라클 임의의  로우 (row) 값 만들기</title>
		<link rel="alternate" type="text/html" href="http://blog.daum.net/jooneey22/8845270"/>
		<id>tag:blog.daum.net,2009:jooneey22.8845270</id>
	    <author>
		    <name>쥬니</name>
	    </author>
	    <updated>2009-01-15T10:11:38Z</updated>
	    <published>2009-01-15T10:11:38Z</published>
	    <content type="html">
	    	&lt;P&gt;select decode(level,1,'Mgr03001',2,'Mgr03002') as IP_TYPE from dual connect by level &lt;= 2&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;select level&amp;nbsp;&amp;nbsp;from dual&amp;nbsp;connect by level &lt;=255&lt;/P&gt;
	    </content>
	    	</entry>
    	<entry>
	    <title>ibatis 쿼리, 동적, where in 등  검색에 사용할때 쿼리 생성하기 </title>
		<link rel="alternate" type="text/html" href="http://blog.daum.net/jooneey22/8845269"/>
		<id>tag:blog.daum.net,2009:jooneey22.8845269</id>
	    <author>
		    <name>쥬니</name>
	    </author>
	    <updated>2009-01-06T08:36:27Z</updated>
	    <published>2009-01-06T08:36:27Z</published>
	    <content type="html">
	    	&lt;P&gt;iBatis 쿼리가 검색이나 그런부분에서 쿼리가 유동적으로 변화가 필요할떄 사용하면 됩니다.&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: rgb(250,250,250); MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;B&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 18pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;WHERE&lt;/SPAN&gt;&lt;/B&gt;&lt;B&gt;&lt;SPAN style=&quot;FONT-SIZE: 18pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;구가 가변인 동적&lt;SPAN lang=EN-US&gt;SQL&lt;?xml:namespace prefix = o /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;　동적인&lt;SPAN lang=EN-US&gt; SQL&lt;/SPAN&gt;의 조립이 가능한 점은&lt;SPAN lang=EN-US&gt; iBATIS&lt;/SPAN&gt;의 큰 이점입니다&lt;SPAN lang=EN-US&gt;. &lt;/SPAN&gt;외부 화일에&lt;SPAN lang=EN-US&gt; SQL&lt;/SPAN&gt;을 정의하는 구조로는 동적&lt;SPAN lang=EN-US&gt;SQL&lt;/SPAN&gt;에 대응할수 없는 곤란한 일이 됩니다&lt;SPAN lang=EN-US&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;　예를들면 다음과 같은 검색처리를 생각해 봅시다&lt;SPAN lang=EN-US&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt 58.6pt; TEXT-INDENT: -18pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: rgb(100,100,100); FONT-FAMILY: Symbol&quot;&gt;&lt;SPAN&gt;·&lt;SPAN style=&quot;FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal; x-system-font: none&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;사원명이 지정된 때에는 &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt;WHERE ENAME LIKE &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;～의&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;검색조건을&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;추가&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt 58.6pt; TEXT-INDENT: -18pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: rgb(100,100,100); FONT-FAMILY: Symbol&quot;&gt;&lt;SPAN&gt;·&lt;SPAN style=&quot;FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal; x-system-font: none&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;부서번호가 지정된 때에는 &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt;WHERE DEPTNO = &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;～의&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;검색조건을&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;추가&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt 58.6pt; TEXT-INDENT: -18pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: rgb(100,100,100); FONT-FAMILY: Symbol&quot;&gt;&lt;SPAN&gt;·&lt;SPAN style=&quot;FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal; x-system-font: none&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;양쪽의 조건이 지정된 때에는&lt;SPAN lang=EN-US&gt; AND &lt;/SPAN&gt;조건으로 한다&lt;SPAN lang=EN-US&gt;. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt 58.6pt; TEXT-INDENT: -18pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: rgb(100,100,100); FONT-FAMILY: Symbol&quot;&gt;&lt;SPAN&gt;·&lt;SPAN style=&quot;FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal; x-system-font: none&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;아무것도 지정안한 때에는&lt;SPAN lang=EN-US&gt; WHERE&lt;/SPAN&gt;구는 사용하지 않는다&lt;SPAN lang=EN-US&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;　검색화면등에서 흔히 있는 처리입니다&lt;SPAN lang=EN-US&gt;. &lt;/SPAN&gt;검색조건이 지정되는 것으로&lt;SPAN lang=EN-US&gt; WHERE&lt;/SPAN&gt;구가 변화합니다&lt;SPAN lang=EN-US&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;　&lt;SPAN lang=EN-US&gt;SQL&lt;/SPAN&gt;문자열의 단순한 연결이 됩니다만 &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt;&quot;WHERE&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;라는&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;문자열에서&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;연결하거나&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt;&quot;AND&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;란&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;문자열에서&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;연결하거나&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;꽤&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;귀찮은&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;프로그래밍이&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;됩니다&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt;.&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;B&gt;&lt;SPAN style=&quot;FONT-SIZE: 13.5pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;검색조건클래스&lt;SPAN lang=EN-US&gt; SearchEmpParam&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;　검색조건을 지정하기 위한 오브젝트입니다&lt;SPAN lang=EN-US&gt;. &lt;/SPAN&gt;사원명과 부서번호를 검색조건으로 지정하기 위해서 작성했습니다&lt;SPAN lang=EN-US&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;　이 오브젝트에 조건검색을 저장하고&lt;SPAN lang=EN-US&gt; iBATIS&lt;/SPAN&gt;로 넘겨서&lt;SPAN lang=EN-US&gt; SQL&lt;/SPAN&gt;을 실행하게 됩니다&lt;SPAN lang=EN-US&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;SearchEmpParam.java&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;의 발췌&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;public&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt; &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;class&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt; SearchEmpParam {&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;private&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt; String ename;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;private&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt; &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;int&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt; deptno;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;public&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt; String getEname() {&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;return&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt; ename;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;public&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt; &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;void&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt; setEname(String ename) {&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;this&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;.ename = ename;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;public&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt; &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;int&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt; getDeptno() {&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;return&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt; deptno;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;public&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt; &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;void&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt; setDeptno(&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;int&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt; deptno) {&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;this&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;.deptno = deptno;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp;} &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;B&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 13.5pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;SqlMap&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;　작성이 끝난「&lt;SPAN lang=EN-US&gt;SqlMap-Emp.xml&lt;/SPAN&gt;」에&lt;SPAN lang=EN-US&gt; SQL&lt;/SPAN&gt;정의를 추가합니다&lt;SPAN lang=EN-US&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;SqlMap-Emp.xml&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;의 발췌&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&lt;!-- &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;동적&lt;SPAN lang=EN-US&gt;SQL&lt;/SPAN&gt;의 예&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;조건이 지정된 때에만&lt;SPAN lang=EN-US&gt; WHERE&lt;/SPAN&gt;구가 추가된다&lt;SPAN lang=EN-US&gt;. --&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&lt;select id=&quot;searchEmp&quot; parameterClass=&quot;examples.dto.SearchEmpParam&quot;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; resultMap=&quot;rm1&quot;&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; SELECT * FROM EMP&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&lt;dynamic prepend=&quot;WHERE&quot;&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&lt;isNotNull prepend=&quot;AND&quot; property=&quot;ename&quot;&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; ENAME like #ename#&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&lt;!-- ename&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;조건이&lt;SPAN lang=EN-US&gt; null&lt;/SPAN&gt;이 아닐 때&lt;SPAN lang=EN-US&gt; --&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&lt;/isNotNull&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&lt;isNotEqual compareValue=&quot;0&quot; prepend=&quot;AND&quot; property=&quot;deptno&quot;&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; DEPTNO = #deptno#&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&lt;!-- deptno&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;조건이&lt;SPAN lang=EN-US&gt; 0&lt;/SPAN&gt;이 아닐 때&lt;SPAN lang=EN-US&gt;&amp;nbsp;--&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&lt;/isNotEqual&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&lt;/dynamic&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&lt;/select&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;　조금 복잡하게 되었지만 잘 보면 심플합니다&lt;SPAN lang=EN-US&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;　이&lt;SPAN lang=EN-US&gt; SQL&lt;/SPAN&gt;정의는 고정부분과 동적으로 결정하는 부분으로 나뉘어져 있습니다&lt;SPAN lang=EN-US&gt;. &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt;&lt;dynamic&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;으로&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;지정된&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;부분은&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;동적으로&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;결정하는&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;부분입니다&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt;.&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt;parameterClass&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;로&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;지정된&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;오브젝트에&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;의해서&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;동적으로&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;SQL&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;가 구축됩니다&lt;SPAN lang=EN-US&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;　&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt;ename&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;프로퍼티가&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;NotNull&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;의 경우（즉 검색조건&lt;SPAN lang=EN-US&gt; ename&lt;/SPAN&gt;이 지정된 때）에 &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt;ENAME like #ename#&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;란&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;SQL&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;문자열이 연결됩니다&lt;SPAN lang=EN-US&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;　&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt;deptno&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;프로퍼티가&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;0&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;이외의 경우（즉&lt;SPAN lang=EN-US&gt;, &lt;/SPAN&gt;검색조건&lt;SPAN lang=EN-US&gt; deptno&lt;/SPAN&gt;가 지정된 때）에 &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt;DEPTNO = #deptno#&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;란&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;SQL&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;문자열이 연결됩니다&lt;SPAN lang=EN-US&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;　&lt;SPAN lang=EN-US&gt;iBATIS&lt;/SPAN&gt;가&lt;SPAN lang=EN-US&gt; 1&lt;/SPAN&gt;번째일까&lt;SPAN lang=EN-US&gt;? &lt;/SPAN&gt;두번째 이후일까&lt;SPAN lang=EN-US&gt;?&lt;/SPAN&gt;를 판별해서&lt;SPAN lang=EN-US&gt; &quot;WHERE&quot;&lt;/SPAN&gt;가&lt;SPAN lang=EN-US&gt; &quot;AND&quot;&lt;/SPAN&gt;의 문자열을 사용&lt;SPAN lang=EN-US&gt;, &lt;/SPAN&gt;연결해 줍니다&lt;SPAN lang=EN-US&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;B&gt;&lt;SPAN style=&quot;FONT-SIZE: 13.5pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;실행 프로그램&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;　&lt;SPAN lang=EN-US&gt;3&lt;/SPAN&gt;방법의&lt;SPAN lang=EN-US&gt; SQL&lt;/SPAN&gt;이 작성된 실행 예 입니다&lt;SPAN lang=EN-US&gt;. &lt;/SPAN&gt;동적인&lt;SPAN lang=EN-US&gt; SQL&lt;/SPAN&gt;을 실행할 뿐 이지만 프로그램의 기술은 매우 심플합니다&lt;SPAN lang=EN-US&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;Sample09_DynaSQL1.java&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;의 발췌&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;System.out.println(&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;동적&lt;SPAN lang=EN-US&gt;SQL&lt;/SPAN&gt;지정 조건의 유무&lt;SPAN lang=EN-US&gt;&quot;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp;System.out.println(&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;조건 지정 없음&lt;SPAN lang=EN-US&gt;&quot;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp;SearchEmpParam paramAll = &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;new&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt; SearchEmpParam();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp;List&lt;Emp&gt; listAll =&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; (List&lt;Emp&gt;)sqlMap.queryForList(&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&quot;searchEmp&quot;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;, paramAll);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;for&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt; (Emp e : listAll){&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; System.out.println(e);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp; System.out.println(&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&quot;ENAME&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;조건만 정의&lt;SPAN lang=EN-US&gt;&amp;nbsp;like '%WA%'&quot;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp;SearchEmpParam paramEname = &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;new&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt; SearchEmpParam();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp;paramEname.setEname(&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&quot;%WA%&quot;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;); &amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;//ENAME&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;조건을 지정&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp;List&lt;Emp&gt; listEname =&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; (List&lt;Emp&gt;)sqlMap.queryForList(&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&quot;searchEmp&quot;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;, paramEname);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;for&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt; (Emp e : listEname){&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; System.out.println(e);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp; System.out.println(&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;양쪽지정&lt;SPAN lang=EN-US&gt; dept=20, like '%WA%'&quot;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp;SearchEmpParam paramBoth = &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;new&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt; SearchEmpParam();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp;paramBoth.setDeptno(20); &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;//Deptno&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;조건을 지정&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp;paramBoth.setEname(&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&quot;%WA%&quot;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;); &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;//Ename&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;조건을 지정&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp;List&lt;Emp&gt; listBoth =&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; (List&lt;Emp&gt;)sqlMap.queryForList(&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&quot;searchEmp&quot;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;, paramBoth);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;for&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt; (Emp e : listBoth){&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; System.out.println(e);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp;} &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;　&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt;SearchEmpParam&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;에&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;저장되어있는&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;값에&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;의해&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;WHERE&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;구가 붙게되거나 되지 않거나 하게 됩니다&lt;SPAN lang=EN-US&gt;. 3&lt;/SPAN&gt;회의 &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt;queryForList&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;가&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;실행되어지지만&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;동적으로&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;작성된&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;SQL&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;은 각각 다음과 같이 됩니다&lt;SPAN lang=EN-US&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;SELECT&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt; * &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;FROM&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt; EMP&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;SELECT&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt; * &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;FROM&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt; EMP &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;WHERE&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt; ENAME &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;like&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt; &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;'%WA'&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;SELECT * FROM EMP WHERE ENAME like '%WA' AND DEPTNO = 20&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;B&gt;&lt;SPAN style=&quot;FONT-SIZE: 18pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;반복구조를 가진 동적&lt;SPAN lang=EN-US&gt;SQL&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;　지정된 값에 의해서&lt;SPAN lang=EN-US&gt; SQL&lt;/SPAN&gt;의 할당이 반복구조가 되는 것이 자주 있습니다&lt;SPAN lang=EN-US&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;　샘플은&lt;SPAN lang=EN-US&gt; WHERE&lt;/SPAN&gt;구의&lt;SPAN lang=EN-US&gt; IN &lt;/SPAN&gt;으로&lt;SPAN id=callbacknestkystorytistorycom85781 style=&quot;FLOAT: right; WIDTH: 226px; HEIGHT: 196px&quot;&gt;&lt;EMBED id=kystorytistorycom85781 src=http://cfs.tistory.com/blog/plugins/CallBack/callback.swf?destDocId=callbacknestkystorytistorycom85781&amp;id=8&amp;callbackId=kystorytistorycom85781&amp;host=http://kystory.tistory.com&amp;float=left&amp; width=&quot;100%&quot; height=&quot;100%&quot; type=application/x-shockwave-flash menu=&quot;false&quot; allowscriptaccess=&quot;always&quot; wmode=&quot;transparent&quot;&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US&gt;&amp;nbsp;&lt;/SPAN&gt;지정한 조건이 동적으로 변화하는 예 입니다&lt;SPAN lang=EN-US&gt;. IN &lt;/SPAN&gt;으로 지정한 파라미터가&lt;SPAN lang=EN-US&gt; 0&lt;/SPAN&gt;개 부터&lt;SPAN lang=EN-US&gt; n&lt;/SPAN&gt;개로 변화합니다&lt;SPAN lang=EN-US&gt;. &lt;/SPAN&gt;임의의 수의 사원번호를 지정가능으로 지정한 사원번호가&lt;SPAN lang=EN-US&gt; IN &lt;/SPAN&gt;으로 열거지정 됩니다&lt;SPAN lang=EN-US&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;B&gt;&lt;SPAN style=&quot;FONT-SIZE: 13.5pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;검색조건 클래스&lt;SPAN lang=EN-US&gt; SearchEmpParam&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;　검색조건클래스는 복수의 사원번호가 지정할수 있도록&lt;SPAN lang=EN-US&gt;List&lt;/SPAN&gt;에서 사원번호를 복수보관 할수 있도록 합니다&lt;SPAN lang=EN-US&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;SearchEmpParam.java&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;의 발췌&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;public&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt; &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;class&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt; SearchEmpParam {&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;private&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt; List&lt;Integer&gt; empnoList = &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;new&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt; ArrayList&lt;Integer&gt;();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;public&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt; List&lt;Integer&gt; getEmpnoList() {&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;return&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt; empnoList;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp;} &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;B&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 13.5pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;SqlMap&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;　작성이 끝난 「&lt;SPAN lang=EN-US&gt;SqlMap-Emp.xml&lt;/SPAN&gt;」에&lt;SPAN lang=EN-US&gt; SQL&lt;/SPAN&gt;정의를 추가합니다&lt;SPAN lang=EN-US&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;SqlMap-Emp.xml&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;의 발췌&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&lt;!-- &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;동적&lt;SPAN lang=EN-US&gt;SQL&lt;/SPAN&gt;의 예&lt;SPAN lang=EN-US&gt; IN &lt;/SPAN&gt;으로 지정한 값이 가변&lt;SPAN lang=EN-US&gt;--&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&lt;select id=&quot;searchEmpIn&quot; parameterClass=&quot;examples.dto.SearchEmpParam&quot;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; resultMap=&quot;rm1&quot;&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; SELECT * FROM EMP&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&lt;iterate property=&quot;empnoList&quot; prepend=&quot;WHERE EMPNO IN&quot;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; open=&quot;(&quot; close=&quot;)&quot; conjunction=&quot;,&quot; &gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; #empnoList[]#&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&lt;/iterate&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&lt;/select&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;　복수 사원번호를&lt;SPAN lang=EN-US&gt; List&lt;/SPAN&gt;로 부터 열거하기 위해서 &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt;iterate&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;태그를&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;지정합니다&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt;.&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;이 부분은 &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt;empnoList&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;프로퍼티의&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;요소&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;수에 의해서 반복 출력 됩니다&lt;SPAN lang=EN-US&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;　&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt;prepend&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;속성은&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;요소가&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; 1&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;개&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;이상&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;존재하는&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;때에&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;부가됩니다&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt;.&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;　&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt;open&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;속성&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;및&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; close&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;속성은&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;반복&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;블럭의&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;선두에서&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;말미에&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;부가됩니다&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt;.&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;（열림 괄호&lt;SPAN lang=EN-US&gt;, &lt;/SPAN&gt;닫힘 괄오에 사용합니다&lt;SPAN lang=EN-US&gt;.)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;　&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt;conjuction&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;속성은&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;각&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;반복의&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;연결문자열로써&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;사용됩니다&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt;. &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;SQL&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;의&lt;SPAN lang=EN-US&gt;&amp;nbsp; IN &lt;/SPAN&gt;연산자는 &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt;&quot;,&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;（콤마）로 잘라서 기술하기 때문에 상기와 같이 됩니다&lt;SPAN lang=EN-US&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;　프로퍼티의 지정으로는 &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt;empnoList[]&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;와&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;같이&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt;, &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;프로퍼티명의&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;마지막에&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;[ ]&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;가 붙는것에 주의해 주십시오&lt;SPAN lang=EN-US&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;B&gt;&lt;SPAN style=&quot;FONT-SIZE: 13.5pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;실행 프로그램&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;　검색조건 클래스 &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt;SearchEmpParam&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;の&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt;empnoList &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;프로퍼티에&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;복수의&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;사원번호를&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;추가지정합니다&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt;.&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;Sample10_DynaSQL2.java&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;의 발췌&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;System.out.println(&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;동적&lt;SPAN lang=EN-US&gt;SQL&lt;/SPAN&gt;의 지정&lt;SPAN lang=EN-US&gt;&quot;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp; SearchEmpParam paramIn = &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;new&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt; SearchEmpParam();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp;paramIn.getEmpnoList().add(&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;new&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt; Integer(7839));&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp;paramIn.getEmpnoList().add(&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;new&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt; Integer(7566));&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp;paramIn.getEmpnoList().add(&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;new&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt; Integer(7788));&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp;paramIn.getEmpnoList().add(&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;new&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt; Integer(7934));&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp; List&lt;Emp&gt; list =&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; (List&lt;Emp&gt;)sqlMap.queryForList(&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&quot;searchEmpIn&quot;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;, paramIn);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;for&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt; (Emp e : list){&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; System.out.println(e);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp;} &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;　&lt;SPAN lang=EN-US&gt;SQL&lt;/SPAN&gt;의&lt;SPAN lang=EN-US&gt; IN &lt;/SPAN&gt;연산자의 부분에 전개되어 실행됩니다&lt;SPAN lang=EN-US&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;B&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 18pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;SQL&lt;/SPAN&gt;&lt;/B&gt;&lt;B&gt;&lt;SPAN style=&quot;FONT-SIZE: 18pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;문자열의 대입을 하는 동적&lt;SPAN lang=EN-US&gt;SQL&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;　가장 유용한 동적&lt;SPAN lang=EN-US&gt; SQL&lt;/SPAN&gt;은&lt;SPAN lang=EN-US&gt; SQL&lt;/SPAN&gt;문의 일부를 문자열로 지정하는 방법입니다&lt;SPAN lang=EN-US&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;　&lt;SPAN lang=EN-US&gt;ORDER BY&lt;/SPAN&gt;구의 정렬조건을 지정하는 경우등은 문을 조립하는것보다도 문자열에서&lt;SPAN lang=EN-US&gt; ORDER BY&lt;/SPAN&gt;구를 직접지정하는것이 편하기도 하고&lt;SPAN lang=EN-US&gt;&amp;nbsp;&lt;/SPAN&gt;좋습니다&lt;SPAN lang=EN-US&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;　&lt;SPAN lang=EN-US&gt;iBATIS&lt;/SPAN&gt;에서는&lt;SPAN lang=EN-US&gt; SQL&lt;/SPAN&gt;문에 문자를 대입하는것이 가능합니다&lt;SPAN lang=EN-US&gt;. &lt;/SPAN&gt;이것은 대입파라미터와는 다릅니다&lt;SPAN lang=EN-US&gt;. &lt;/SPAN&gt;어디까지나&lt;SPAN lang=EN-US&gt; SQL&lt;/SPAN&gt;문으로 파묻히는 것 입니다&lt;SPAN lang=EN-US&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;B&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 13.5pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;SqlMap&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;　작성이 끝난 「&lt;SPAN lang=EN-US&gt;SqlMap-Emp.xml&lt;/SPAN&gt;」에&lt;SPAN lang=EN-US&gt; SQL&lt;/SPAN&gt;정의를 추가합니다&lt;SPAN lang=EN-US&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;SqlMap-Emp.xml&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;의 발췌&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&lt;!-- &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;동적&lt;SPAN lang=EN-US&gt;SQL&lt;/SPAN&gt;의 예 문자열로&lt;SPAN lang=EN-US&gt; SQL&lt;/SPAN&gt;문을 지정&lt;SPAN lang=EN-US&gt;--&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&lt;select id=&quot;searchEmpOrder&quot; resultMap=&quot;rm1&quot;&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; SELECT * FROM EMP&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; ORDER BY $value$&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&lt;/select&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;　&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt;$value$&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;가 나중에 대입되는&lt;SPAN lang=EN-US&gt; SQL&lt;/SPAN&gt;문자열 입니다&lt;SPAN lang=EN-US&gt;. &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt;#value#&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;와&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;같은&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;대입&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;파라미터의&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;기술과&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;다른점에&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;주의해&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;주십시오&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt;.&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;　이 예에서는 유일한 문자열을 파라미터로 하기 때문에 &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt;$value$&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;로&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;되었지만&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;parameterClass&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;를 지정할 경우는 &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt;$fooProperty$&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;、&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt;$barProperty$&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;와 같이 복수의 대입문자열을 지정하는 것이 가능합니다&lt;SPAN lang=EN-US&gt;.&lt;/SPAN&gt;（물론&lt;SPAN lang=EN-US&gt; Map&lt;/SPAN&gt;에서도 지정 가능합니다&lt;SPAN lang=EN-US&gt;.&lt;/SPAN&gt;の指定も可能です）&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;B&gt;&lt;SPAN style=&quot;FONT-SIZE: 13.5pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;실행 프로그램&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;Sample11_DynaSQL3.java&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;의 발췌&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;System.out.println(&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&quot;&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;동적&lt;SPAN lang=EN-US&gt;SQL&lt;/SPAN&gt;의 지정&lt;SPAN lang=EN-US&gt; SQL&lt;/SPAN&gt;문을 지정&lt;SPAN lang=EN-US&gt; ORDER BY EMPNO DESC&quot;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp;List&lt;Emp&gt; list = &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp; &amp;nbsp; (List&lt;Emp&gt;)sqlMap.queryForList(&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&quot;searchEmpOrder&quot;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;, &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&quot;EMPNO DESC&quot;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;for&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt; (Emp e : list){&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; System.out.println(e);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp;} &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;　&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt;queryForList&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;를&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;실행할&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;때에&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;SQL&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;에 대입하는 문자열을 지정합니다&lt;SPAN lang=EN-US&gt;. &lt;/SPAN&gt;이 예에서는 다음과 같이 전개됩니다&lt;SPAN lang=EN-US&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;SqlMap&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;의 정표&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;SELECT&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt; * &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;FROM&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt; EMP &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;ORDER&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt; &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;BY&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt; $value$ &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;전개후&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;SELECT&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt; * &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;FROM&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt; EMP &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;ORDER&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt; &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;BY&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt; EMPNO &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;DESC&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;　이 대입 방법은 복잡한 동적&lt;SPAN lang=EN-US&gt; SQL&lt;/SPAN&gt;을 작성하기 위해서 사용해야 합니다&lt;SPAN lang=EN-US&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;　데이터의 대입에는 &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt;#property#&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;형식으로&lt;SPAN lang=EN-US&gt;, &lt;/SPAN&gt;값의 대입파라미터를 사용하는것이 적절합니다&lt;SPAN lang=EN-US&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;B&gt;&lt;SPAN style=&quot;FONT-SIZE: 18pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;요약&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt 58.6pt; TEXT-INDENT: -18pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: rgb(100,100,100); FONT-FAMILY: Symbol&quot;&gt;&lt;SPAN&gt;·&lt;SPAN style=&quot;FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal; x-system-font: none&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt;resultMap&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;요소를&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;사용하는&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;것으로&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;검색결과와&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;Bean&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;의 맵핑을 할 수 있다&lt;SPAN lang=EN-US&gt;. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt 58.6pt; TEXT-INDENT: -18pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: rgb(100,100,100); FONT-FAMILY: Symbol&quot;&gt;&lt;SPAN&gt;·&lt;SPAN style=&quot;FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal; x-system-font: none&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt;dynamic&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;요소를&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;사용하는&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;것으로&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;동적&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;SQL&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;을 정의할 수 있다&lt;SPAN lang=EN-US&gt;. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt 58.6pt; TEXT-INDENT: -18pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: rgb(100,100,100); FONT-FAMILY: Symbol&quot;&gt;&lt;SPAN&gt;·&lt;SPAN style=&quot;FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal; x-system-font: none&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt;iterate&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;요소를&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;사용하는&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;것으로&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;반복&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;구조의&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 'Courier New'&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;동적&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;SQL&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;을 정의 할 수 있다&lt;SPAN lang=EN-US&gt;. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt 58.6pt; TEXT-INDENT: -18pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: rgb(100,100,100); FONT-FAMILY: Symbol&quot;&gt;&lt;SPAN&gt;·&lt;SPAN style=&quot;FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal; x-system-font: none&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;실행시에&lt;SPAN lang=EN-US&gt; SQL&lt;/SPAN&gt;문자열을 대입하는것이 가능하다&lt;SPAN lang=EN-US&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;　동적&lt;SPAN lang=EN-US&gt;SQL&lt;/SPAN&gt;을 정의할 수 있어서 소스 코드로 부터&lt;SPAN lang=EN-US&gt; SQL&lt;/SPAN&gt;문을 완전히 분리할 수 있습니다&lt;SPAN lang=EN-US&gt;. &lt;/SPAN&gt;소스코드는&lt;SPAN lang=EN-US&gt; SQL&lt;/SPAN&gt;정의를 참조할 뿐이어서 매우 심플하게 됩니다&lt;SPAN lang=EN-US&gt;. &lt;/SPAN&gt;고기능&lt;SPAN lang=EN-US&gt;(&lt;/SPAN&gt;高機能&lt;SPAN lang=EN-US&gt;)&lt;/SPAN&gt;한&lt;SPAN lang=EN-US&gt; O/R&lt;/SPAN&gt;맵핑 프레임워크는&lt;SPAN lang=EN-US&gt; SQL&lt;/SPAN&gt;을 은폐해버리는 것도 있지만&lt;SPAN lang=EN-US&gt; iBATIS&lt;/SPAN&gt;는 굳이&lt;SPAN lang=EN-US&gt; SQL&lt;/SPAN&gt;에 특화한 기능을 강화하고 있습니다&lt;SPAN lang=EN-US&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;BACKGROUND: white; MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 18pt; TEXT-ALIGN: left; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial&quot; align=left&gt;&lt;SPAN style=&quot;FONT-SIZE: 9pt; COLOR: rgb(100,100,100); FONT-FAMILY: 돋움&quot;&gt;　강력한&lt;SPAN lang=EN-US&gt; SQL&lt;/SPAN&gt;의 기능을 최대한으로 이용할수 있는 프레임워크로써&lt;SPAN lang=EN-US&gt; iBATIS&lt;/SPAN&gt;와 최선의 선택사항일지도&lt;SPAN lang=EN-US&gt;? &lt;/SPAN&gt;라고 생각합니다&lt;SPAN lang=EN-US&gt;.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
	    </content>
	    	</entry>
    	<entry>
	    <title>정규표현식 예제</title>
		<link rel="alternate" type="text/html" href="http://blog.daum.net/jooneey22/8845268"/>
		<id>tag:blog.daum.net,2009:jooneey22.8845268</id>
	    <author>
		    <name>쥬니</name>
	    </author>
	    <updated>2008-11-28T10:25:00Z</updated>
	    <published>2008-11-28T10:25:00Z</published>
	    <content type="html">
	    	&lt;P&gt;&lt;SCRIPT LANGUAGE=&quot;JavaScript&quot;&gt;&lt;BR&gt;&lt;!--&lt;BR&gt;var str = &quot;i love you &quot;;&lt;/P&gt;
&lt;P&gt;var old = new Array();&lt;BR&gt;var ew = new Array();&lt;/P&gt;
&lt;P&gt;old[0] = /love/g;&lt;/P&gt;
&lt;P&gt;old[1] = /you/g;&lt;/P&gt;
&lt;P&gt;ew[0] = &quot;hate&quot;;&lt;/P&gt;
&lt;P&gt;ew[1] = &quot;her&quot;;&lt;/P&gt;
&lt;P&gt;document.write(str.replace(old[0], ew[0]));&lt;/P&gt;
&lt;P&gt;document.write(&quot;&lt;br&gt;&quot;);&lt;/P&gt;
&lt;P&gt;document.write(str.replace(old[1], ew[1]));&lt;BR&gt;&amp;nbsp;&lt;BR&gt;//--&gt;&lt;BR&gt;&lt;/SCRIPT&gt;&lt;BR&gt;&lt;/P&gt;
	    </content>
	    	</entry>
    	<entry>
	    <title>디자인 참고 사이트</title>
		<link rel="alternate" type="text/html" href="http://blog.daum.net/jooneey22/8844689"/>
		<id>tag:blog.daum.net,2009:jooneey22.8844689</id>
	    <author>
		    <name>쥬니</name>
	    </author>
	    <updated>2008-11-21T13:04:50Z</updated>
	    <published>2008-11-21T13:04:50Z</published>
	    <content type="html">
	    	&lt;P&gt;&lt;A href=&quot;http://manageengine.adventnet.com/&quot; target=&quot;_blank&quot;&gt;http://manageengine.adventnet.com/&lt;/A&gt;&lt;/P&gt;
	    </content>
	    	</entry>
    	<entry>
	    <title>리스트 태그</title>
		<link rel="alternate" type="text/html" href="http://blog.daum.net/jooneey22/8842807"/>
		<id>tag:blog.daum.net,2009:jooneey22.8842807</id>
	    <author>
		    <name>쥬니</name>
	    </author>
	    <updated>2008-11-21T11:31:02Z</updated>
	    <published>2008-11-21T11:31:02Z</published>
	    <content type="html">
	    	&lt;P&gt;01. 기본기&lt;/P&gt;
&lt;P&gt;How to Create Beautiful and Elegant HTML Lists Using CSS&lt;/P&gt;
&lt;P&gt;&lt;A href=&quot;http://konstruktors.com/blog/design-suggetions/125-how-to-create-beautiful-and-elegant-html-lists-using-css/&quot; target=&quot;_blank&quot;&gt;http://konstruktors.com/blog/design-suggetions/125-how-to-create-beautiful-and-elegant-html-lists-using-css/&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;02. 트리만들기&lt;/P&gt;
&lt;P&gt;Turning Lists into Trees &lt;A href=&quot;http://odyniec.net/articles/turning-lists-into-trees/&quot; target=&quot;_blank&quot;&gt;http://odyniec.net/articles/turning-lists-into-trees/&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;03. 박스형태 만들기&lt;/P&gt;
&lt;P&gt;List Boxes &lt;A href=&quot;http://green-beast.com/experiments/css_list_boxes.php&quot; target=&quot;_blank&quot;&gt;http://green-beast.com/experiments/css_list_boxes.php&lt;/A&gt;&lt;/P&gt;
	    </content>
	    	</entry>
    	<entry>
	    <title>log4jdbc를 활용하여 쿼리 로그 남기기</title>
		<link rel="alternate" type="text/html" href="http://blog.daum.net/jooneey22/8842315"/>
		<id>tag:blog.daum.net,2009:jooneey22.8842315</id>
	    <author>
		    <name>쥬니</name>
	    </author>
	    <updated>2008-11-21T11:15:58Z</updated>
	    <published>2008-11-21T11:15:58Z</published>
	    <content type="html">
	    	&lt;P&gt;&lt;STRONG&gt;1. 필요한 라이브러리 다운 로드&lt;BR&gt;&lt;/STRONG&gt;&amp;nbsp;- log4jdbc3-1.1.jar(If you are using JDK 1.4 or 1.5, you should use the JDBC 3 version of log4jdbc.)&lt;BR&gt;&amp;nbsp;- slf4j-api-1.5.0.jar(log4jdbc와 logging 서비스 연동을 위한 API 제공)&lt;BR&gt;&amp;nbsp;- slf4j-log4j12-1.5.2.jar(log4jdbc와 Log4j 기반의 Logging 서비스 연동을 위한 구현 라이브러리 제공)&lt;BR&gt;&lt;BR&gt;&lt;STRONG&gt;2. DataSource 서비스 속성 정의 파일 정의&lt;/STRONG&gt;&lt;BR&gt;&lt;BR&gt;&lt;/P&gt;&lt;PRE&gt;&lt;bean id=&quot;dataSource&quot; class=&quot;org.apache.commons.dbcp.BasicDataSource&quot;&lt;BR&gt; destroy-method=&quot;close&quot;&gt;&lt;BR&gt;	&lt;property name=&quot;driverClassName&quot; &lt;BR&gt;	value=&quot;&lt;U&gt;&lt;STRONG&gt;net.sf.log4jdbc.DriverSpy&lt;/STRONG&gt;&lt;/U&gt;&quot;/&gt;&lt;BR&gt;	&lt;property name=&quot;url&quot; &lt;BR&gt;	value=&quot;jdbc:&lt;U&gt;&lt;STRONG&gt;log4jdbc&lt;/STRONG&gt;&lt;/U&gt;:mysql://localhost:3306/member?useUnicode=true&lt;BR&gt;	&amp;characterEncoding=utf8&quot;/&gt;&lt;BR&gt;	&lt;property name=&quot;username&quot; value=&quot;member&quot;/&gt;&lt;BR&gt;	&lt;property name=&quot;password&quot; value=&quot;member&quot;/&gt;&lt;BR&gt;	&lt;property name=&quot;maxActive&quot; value=&quot;30&quot;/&gt;&lt;BR&gt;	&lt;property name=&quot;maxIdle&quot; value=&quot;3&quot;/&gt;&lt;BR&gt;	&lt;property name=&quot;maxWait&quot; value=&quot;-1&quot;/&gt;&lt;BR&gt;&lt;/bean&gt;&lt;BR&gt;&lt;/PRE&gt;
&lt;P&gt;&lt;STRONG&gt;3. Logger 정의&lt;/STRONG&gt;&lt;BR&gt;&lt;BR&gt;&amp;nbsp;- jdbc.sqlonly : SQL문만을 로그로 남기며, PreparedStatement일 경우 관련된 argument 값으로 대체된 SQL문이 보여진다. &lt;BR&gt;&amp;nbsp;- jdbc.sqltiming : SQL문과 해당 SQL을 실행시키는데 수행된 시간 정보(milliseconds)를 포함한다. &lt;BR&gt;&amp;nbsp;- jdbc.audit : ResultSet을 제외한 모든 JDBC 호출 정보를 로그로 남긴다. 많은 양의 로그가 생성되므로 특별히 JDBC 문제를 추적해야 할 필요가 있는 경우를 제외하고는 사용을 권장하지 않는다. &lt;BR&gt;&amp;nbsp;- jdbc.resultset : ResultSet을 포함한 모든 JDBC 호출 정보를 로그로 남기므로 매우 방대한 양의 로그가 생성된다. &lt;BR&gt;&amp;nbsp;- 예) log4j.xml&lt;BR&gt;&lt;BR&gt;&lt;/P&gt;&lt;PRE&gt;&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&lt;BR&gt;&lt;!DOCTYPE log4j:configuration SYSTEM &quot;log4j.dtd&quot;&gt;&lt;BR&gt;&lt;log4j:configuration &lt;BR&gt;    xmlns:log4j=&quot;http://jakarta.apache.org/log4j/&quot; debug=&quot;false&quot;&gt;&lt;BR&gt;    &lt;BR&gt;    &lt;appender name=&quot;console&quot; class=&quot;org.apache.log4j.ConsoleAppender&quot;&gt;&lt;BR&gt;        &lt;layout class=&quot;org.apache.log4j.PatternLayout&quot;&gt;&lt;BR&gt;            &lt;param name=&quot;ConversionPattern&quot; value=&quot;%d %5p [%c] %m%n&quot; /&gt;&lt;BR&gt;        &lt;/layout&gt;   &lt;BR&gt;    &lt;/appender&gt;&lt;BR&gt;    &lt;BR&gt;	&lt;appender name=&quot;rollingFile&quot; &lt;BR&gt;class=&quot;org.apache.log4j.RollingFileAppender&quot;&gt;&lt;BR&gt;		&lt;param name=&quot;File&quot; value=&quot;C:\\logs\\error\\error.log&quot;/&gt;&lt;BR&gt;		&lt;param name=&quot;Append&quot; value=&quot;true&quot;/&gt; &lt;BR&gt;		&lt;param name=&quot;MaxFileSize&quot; value=&quot;100MB&quot;/&gt;    &lt;BR&gt;		&lt;param name=&quot;MaxBackupIndex&quot; value=&quot;2&quot;/&gt;    &lt;BR&gt;	    &lt;layout class=&quot;org.apache.log4j.PatternLayout&quot;&gt;&lt;BR&gt;	        &lt;param name=&quot;ConversionPattern&quot; value=&quot;%d %p [%c]-%m%n&quot; /&gt;&lt;BR&gt;	    &lt;/layout&gt;   &lt;BR&gt;	&lt;/appender&gt;  &lt;BR&gt;    &lt;BR&gt;    &lt;logger name=&quot;org.springframework.jdbc&quot;&gt;&lt;BR&gt;        &lt;level value=&quot;DEBUG&quot;/&gt;&lt;BR&gt;        &lt;appender-ref ref=&quot;console&quot;/&gt;&lt;BR&gt;    &lt;/logger&gt; &lt;BR&gt;        &lt;BR&gt;    &lt;logger name=&quot;com.mimul&quot;&gt;&lt;BR&gt;        &lt;level value=&quot;DEBUG&quot;/&gt;&lt;BR&gt;        &lt;appender-ref ref=&quot;console&quot;/&gt;&lt;BR&gt;        &lt;appender-ref ref=&quot;rollingFile&quot;/&gt;&lt;BR&gt;    &lt;/logger&gt;     &lt;BR&gt;    &lt;BR&gt;    &lt;logger name=&quot;org.apache.struts&quot;&gt;&lt;BR&gt;        &lt;level value=&quot;DEBUG&quot;/&gt;&lt;BR&gt;        &lt;appender-ref ref=&quot;console&quot;/&gt;&lt;BR&gt;        &lt;appender-ref ref=&quot;rollingFile&quot;/&gt;&lt;BR&gt;    &lt;/logger&gt;  &lt;BR&gt;    &lt;BR&gt;    	&lt;!-- log SQL (pre-execution) plus exceptions caused by SQL --&gt;&lt;BR&gt;	&lt;logger name=&quot;jdbc.sqlonly&quot; additivity=&quot;false&quot;&gt;&lt;BR&gt;		&lt;level value=&quot;DEBUG&quot; /&gt;&lt;BR&gt;		&lt;appender-ref ref=&quot;console&quot; /&gt;&lt;BR&gt;		&lt;appender-ref ref=&quot;rollingFile&quot;/&gt;&lt;BR&gt;	&lt;/logger&gt;&lt;BR&gt;&lt;BR&gt;	&lt;!-- log SQL with timing information, post execution --&gt;&lt;BR&gt;	&lt;logger name=&quot;jdbc.sqltiming&quot; additivity=&quot;false&quot;&gt;&lt;BR&gt;		&lt;level value=&quot;DEBUG&quot; /&gt;&lt;BR&gt;		&lt;appender-ref ref=&quot;console&quot; /&gt;&lt;BR&gt;		&lt;appender-ref ref=&quot;rollingFile&quot;/&gt;&lt;BR&gt;	&lt;/logger&gt;&lt;BR&gt;&lt;BR&gt;	&lt;!-- only use the two logs below to trace ALL JDBC information,&lt;BR&gt;		NOTE:  This can be very voluminous!  --&gt;&lt;BR&gt;	&lt;!-- log all jdbc calls except ResultSet calls --&gt;&lt;BR&gt;	&lt;logger name=&quot;jdbc.audit&quot; additivity=&quot;false&quot;&gt;&lt;BR&gt;		&lt;level value=&quot;DEBUG&quot; /&gt;&lt;BR&gt;		&lt;appender-ref ref=&quot;console&quot; /&gt;&lt;BR&gt;		&lt;appender-ref ref=&quot;rollingFile&quot;/&gt;&lt;BR&gt;	&lt;/logger&gt;&lt;BR&gt;&lt;BR&gt;	&lt;!-- log the jdbc ResultSet calls --&gt;&lt;BR&gt;	&lt;logger name=&quot;jdbc.resultset&quot; additivity=&quot;false&quot;&gt;&lt;BR&gt;		&lt;level value=&quot;DEBUG&quot; /&gt;&lt;BR&gt;		&lt;appender-ref ref=&quot;console&quot; /&gt;&lt;BR&gt;		&lt;appender-ref ref=&quot;rollingFile&quot;/&gt;&lt;BR&gt;	&lt;/logger&gt;&lt;BR&gt;&lt;BR&gt;	&lt;!-- this log is for internal debugging of log4jdbc, itself --&gt;&lt;BR&gt;	&lt;!-- debug logging for log4jdbc itself --&gt;&lt;BR&gt;	&lt;logger name=&quot;log4jdbc.debug&quot; additivity=&quot;false&quot;&gt;&lt;BR&gt;		&lt;level value=&quot;DEBUG&quot; /&gt;&lt;BR&gt;		&lt;appender-ref ref=&quot;console&quot; /&gt;&lt;BR&gt;		&lt;appender-ref ref=&quot;rollingFile&quot;/&gt;&lt;BR&gt;	&lt;/logger&gt;&lt;BR&gt;	&lt;root&gt;&lt;BR&gt;		&lt;level value=&quot;DEBUG&quot; /&gt;&lt;BR&gt;		&lt;appender-ref ref=&quot;console&quot; /&gt;&lt;BR&gt;		&lt;appender-ref ref=&quot;rollingFile&quot;/&gt;&lt;BR&gt;	&lt;/root&gt; &lt;BR&gt;&lt;/log4j:configuration&gt;&lt;BR&gt;&lt;/PRE&gt;
&lt;P&gt;&lt;STRONG&gt;4. 로그 처리 결과&lt;/STRONG&gt; &lt;/P&gt;&lt;PRE&gt;2008-10-24 10:23:02 [jdbc.audit] - &lt;2. Connection.setAutoCommit(true)&lt;BR&gt;2008-10-24 10:23:02 [java.sql.Connection] - &lt;{conn-100003} Connection&gt;&lt;BR&gt;2008-10-24 10:23:02 [java.sql.Connection] - &lt;{conn-100003} &lt;BR&gt;Preparing Statement:      &lt;BR&gt;select count(userid) as total from MEMBER   where userid = ? &lt;BR&gt;and password = ?  &gt;&lt;BR&gt;2008-10-24 10:23:02 [jdbc.audit] - &lt;BR&gt;&lt;2. Connection.prepareStatement(&lt;BR&gt;select count(userid) as total from MEMBER where&lt;BR&gt; userid = ? and password = ? ) &lt;BR&gt;2008-10-24 10:23:02 [jdbc.audit] - &lt;BR&gt;&lt;2. PreparedStatement.setQueryTimeout(0)&lt;BR&gt;2008-10-24 10:23:02 [jdbc.audit] - &lt;BR&gt;&lt;2. PreparedStatement.setString(1, &quot;pepsi&quot;) &lt;BR&gt;2008-10-24 10:23:02 [jdbc.audit] - &lt;BR&gt;&lt;2. PreparedStatement.setString(2, &quot;1234&quot;) &lt;BR&gt;2008-10-24 10:23:02 [java.sql.PreparedStatement] - &lt;BR&gt;&lt;{pstm-100004} &lt;BR&gt;Executing Statement: &lt;BR&gt;select count(userid) as total from MEMBER where userid = ? and password = ?  &gt;&lt;BR&gt;2008-10-24 10:23:02 [java.sql.PreparedStatement]&lt;BR&gt; - &lt;{pstm-100004} &lt;BR&gt;Parameters: [pepsi, 1234]&gt;&lt;BR&gt;2008-10-24 10:23:02,281 DEBUG [java.sql.PreparedStatement] - &lt;BR&gt;&lt;{pstm-100004} Types: [java.lang.String, java.lang.String]&gt;&lt;BR&gt;2008-10-24 10:23:02,281 DEBUG [jdbc.sqlonly] - &lt;BR&gt;&lt;2. select count(userid) as total from MEMBER where userid = 'pepsi' &lt;BR&gt;and password = '1234' &gt;&lt;BR&gt;2008-10-24 10:23:02,281 DEBUG [jdbc.sqltiming] -&lt;BR&gt;&lt;2. select count(userid) as total from MEMBER where userid = 'pepsi' &lt;BR&gt;and password = '1234'  &lt;BR&gt;{executed in 0 msec}&gt;&lt;BR&gt;2008-10-24 10:23:02 [jdbc.audit] - &lt;2. PreparedStatement.execute()  &lt;BR&gt;2008-10-24 10:23:02 [jdbc.audit] - &lt;2. PreparedStatement.getResultSet()&lt;BR&gt;2008-10-24 10:23:02 [java.sql.ResultSet] - &lt;{rset-100005} ResultSet&gt;&lt;BR&gt;2008-10-24 10:23:02 [jdbc.resultset] - &lt;2. ResultSet.getType()&lt;BR&gt;2008-10-24 10:23:02 [jdbc.resultset] - &lt;2. ResultSet.next() returned true&lt;BR&gt;2008-10-24 10:23:02 [jdbc.resultset] - &lt;2. ResultSet.getMetaData() returned&lt;BR&gt;2008-10-24 10:23:02 [jdbc.resultset] - &lt;2. ResultSet.getInt(TOTAL) returned 1&lt;BR&gt;2008-10-24 10:23:02 [jdbc.resultset] - &lt;2. ResultSet.wasNull() returned false&lt;BR&gt;2008-10-24 10:23:02 [jdbc.resultset] - &lt;2. ResultSet.next() returned false&lt;BR&gt;2008-10-24 10:23:02, [java.sql.ResultSet] - &lt;{rset-100005} Header: [TOTAL]&gt;&lt;BR&gt;2008-10-24 10:23:02 [java.sql.ResultSet] - &lt;{rset-100005} Result: [1]&gt;&lt;BR&gt;2008-10-24 10:23:02 [jdbc.audit] - &lt;2. Connection.getMetaData()&lt;BR&gt;2008-10-24 10:23:02 [jdbc.resultset] - &lt;2. ResultSet.close()&lt;BR&gt;2008-10-24 10:23:02 [jdbc.audit] - &lt;2. PreparedStatement.close()&lt;BR&gt;2008-10-24 10:23:02 [jdbc.audit] - &lt;2. Connection.isClosed()&lt;BR&gt;2008-10-24 10:23:02 [jdbc.audit] - &lt;2. Connection.getAutoCommit()&lt;BR&gt;2008-10-24 10:23:02 [jdbc.audit] - &lt;2. Connection.clearWarnings() &lt;BR&gt;2008-10-24 10:23:02 [jdbc.audit] - &lt;2. Connection.setAutoCommit(true)&lt;BR&gt;&lt;/PRE&gt;
&lt;P&gt;&lt;BR&gt;jdbc.sqltiming 로그에 보면 실행된 FULL Query가 보일 것입니다. 굿 럭!!&lt;/P&gt;
	    </content>
	    	</entry>
    	<entry>
	    <title>오라클 힌트 기능을 이용한 옵티마이저 동작제어, /*+ */</title>
		<link rel="alternate" type="text/html" href="http://blog.daum.net/jooneey22/8826082"/>
		<id>tag:blog.daum.net,2009:jooneey22.8826082</id>
	    <author>
		    <name>쥬니</name>
	    </author>
	    <updated>2008-11-20T15:31:05Z</updated>
	    <published>2008-11-20T15:31:05Z</published>
	    <content type="html">
	    	&lt;P&gt;&amp;nbsp;네이버 검색 : 오라클 옵티마이저 힌트&lt;/P&gt;
&lt;P&gt;오라클 옵티마이저 기본 원리 &lt;A href=&quot;http://cafe.naver.com/armydelay1/24227&quot; target=_blank&gt;http://cafe.naver.com/armydelay1/24227&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;오라클 옵티마이저 기본 원리2 &amp;nbsp;&lt;A href=&quot;http://cafe.naver.com/armydelay1/37047&quot; target=_blank&gt;http://cafe.naver.com/armydelay1/37047&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;오라클 힌트와 사용방법&amp;nbsp; &lt;A href=&quot;http://blog.naver.com/stbo/140053938250&quot; target=_blank&gt;http://blog.naver.com/stbo/140053938250&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;[오라클/ocp]힌트 기능을 이용한 옵티마이저 동작제어 &lt;/P&gt;
&lt;P&gt;&lt;BR&gt;이와 같은 현재의 옵티마이저의 한계를 보완하기 위해,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;오라클에서는 SQL에 힌트(hint)를 추가해서 &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;사용자가 옵티마이저가 선택하는 실행 계획에 영향을 줄 수 있도록 하고있다.&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;옵티마이저가 최선이아닌 차선의실행 계획을 선택하는 경우, &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;사용자가 SQL에 힌트를 주어서 실행 계획을 베스트 플랜으로 만들도록 하는 것이 목적이다. &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;힌트를 제공하는것이 옵티마이저의 기능이 떨어지는 것을 의미하는 것은 아니다. &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;어떤 DBMS의 옵티마이저도 완전할 수는 없기 때문에, 힌트 기능의 제공은 반드시 필요하다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;옵티마이저의 실행 계획은 &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;결국 조인 순서, 조인 방법, 테이블 액세스 경로를 결정하는 것이기 때문에,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;힌트의 종류도 크게 이 세가지를 제어하는 것으로 구분할 수 있다.&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;다음 예는 Q1에 대해 힌트를 사용한 예를 보여주고 있는데, &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;처음 'ordered'는 from 절에 나와 있는 순서대로 조인 순서를 정하는 것이고, &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;'use_n1'의 경우 dept테이블을 inner table로 사용할 때 &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Nested Loop 방식만을 사용하도록 지정하고,&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;full(e)는 emp 테이블은 항상 Full Table Scan을 통해서 액세스하도록 지정하는 것이다.&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;오라클에서 제공하는 다양한 힌트의 종류와 자세한 의미에 대한 설명은 &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;참고자료5&gt;를 보기 바란다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;&amp;nbsp;Q1:&amp;nbsp;select/*+ ordered use_nl(d) full(e) */ename,sal: Oracle 힌트 기능 사용 예&lt;BR&gt;&amp;nbsp;&amp;nbsp;from emp e. dept d&lt;BR&gt;&amp;nbsp;&amp;nbsp;where e.deptno = d.deptno and d.loc = 'SEOUL'&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;오라클 SQL에서 힌트를 제공하는 또라른 목적은, &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;사용자가 다양한 실행 계획을 수행해 봄으로써 어떤 데이타 액세스경로가 도움이 되는지를 &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;테스트해 볼 수도 있다.&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;힌트의 사용은 아주 불가결한 경우 말고는 사용을 조심해야 한다. &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;실제로 이 힌트 기능이 남용되는 경우가 많다.&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;힌트를 사용하게 됨으로써 데이타베이스 환경의 변화(예를 들어, 테이블의 크기 변화, &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;인덱스의 추가/삭제)가 발생할 때 &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;옵티마이저가 더 나은 실행 계획을 선택하는 것을 방해할 수도 있다.&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;실제로 Oracle E=Business Suite 11i의 경우 &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;포함된 27만개의 SQL 중에서 0.3%만이 힌트를 포함하고 있다고 한다.&lt;BR&gt;
&lt;DIV class=autosourcing-stub&gt;
&lt;P style=&quot;PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: normal; FONT-SIZE: 12px; PADDING-BOTTOM: 0px; MARGIN: 11px 0px 7px; PADDING-TOP: 0px; FONT-STYLE: normal; FONT-FAMILY: Dotum&quot;&gt;&lt;STRONG style=&quot;PADDING-RIGHT: 7px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; PADDING-TOP: 0px&quot;&gt;[출처]&lt;/STRONG&gt; &lt;A href=&quot;http://blog.naver.com/jhy20120/50009090602&quot; target=_blank&gt;&lt;FONT color=#0000ff&gt;[오라클/ocp]힌트 기능을 이용한 옵티마이저 동작제어 &lt;/FONT&gt;&lt;/A&gt;&lt;SPAN style=&quot;PADDING-RIGHT: 7px; PADDING-LEFT: 5px; PADDING-BOTTOM: 0px; PADDING-TOP: 0px&quot;&gt;|&lt;/SPAN&gt;&lt;STRONG style=&quot;PADDING-RIGHT: 7px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; PADDING-TOP: 0px&quot;&gt;작성자&lt;/STRONG&gt; &lt;A href=&quot;http://blog.naver.com/jhy20120&quot; target=_blank&gt;&lt;FONT color=#0000ff&gt;갈치&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;/P&gt;
	    </content>
	    	</entry>
    	<entry>
	    <title>Mylyn 2.0, Part 1: 통합된 태스크 관리 (한글)</title>
		<link rel="alternate" type="text/html" href="http://blog.daum.net/jooneey22/8797542"/>
		<id>tag:blog.daum.net,2009:jooneey22.8797542</id>
	    <author>
		    <name>쥬니</name>
	    </author>
	    <updated>2008-11-19T12:20:05Z</updated>
	    <published>2008-11-19T12:20:05Z</published>
	    <content type="html">
	    	&lt;P&gt;
&lt;TABLE cellSpacing=0 cellPadding=0 width=&quot;100%&quot; border=0&gt;
&lt;TBODY&gt;
&lt;TR vAlign=top&gt;
&lt;TD width=&quot;100%&quot;&gt;
&lt;P id=subtitle&gt;원본&lt;/P&gt;
&lt;P&gt;&lt;A href=&quot;http://www.ibm.com/developerworks/kr/library/j-mylyn1/index.html&quot; target=&quot;_blank&quot;&gt;http://www.ibm.com/developerworks/kr/library/j-mylyn1/index.html&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Eclipse용 통합 이슈 트래킹으로 작업을 단순하게!&lt;/P&gt;&lt;IMG class=display-img height=6 alt=&quot;&quot; src=&quot;http://www.ibm.com/i/c.gif&quot; width=1&gt;&lt;/TD&gt;
&lt;TD class=no-print width=192&gt;&lt;IMG height=18 alt=developerWorks src=&quot;http://www.ibm.com/developerworks/i/dw.gif&quot; width=192&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;TABLE cellSpacing=0 cellPadding=0 width=&quot;100%&quot; border=0&gt;
&lt;TBODY&gt;
&lt;TR vAlign=top&gt;
&lt;TD width=10&gt;&lt;IMG height=1 alt=&quot;&quot; src=&quot;http://www.ibm.com/i/c.gif&quot; width=10&gt;&lt;/TD&gt;
&lt;TD width=&quot;100%&quot;&gt;
&lt;TABLE class=no-print cellSpacing=0 cellPadding=0 width=160 align=right border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width=10&gt;&lt;IMG height=1 alt=&quot;&quot; src=&quot;http://www.ibm.com/i/c.gif&quot; width=10&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;TABLE cellSpacing=0 cellPadding=0 width=150 border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class=v14-header-1-small&gt;문서 옵션&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;TABLE class=v14-gray-table-border cellSpacing=0 cellPadding=0 border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class=no-padding width=150&gt;
&lt;TABLE cellSpacing=0 cellPadding=0 width=143 border=0&gt;
&lt;SCRIPT language=JavaScript type=text/javascript&gt;
&lt;!--
document.write('&lt;tr valign=&quot;top&quot;&gt;&lt;td width=&quot;8&quot;&gt;&lt;img src=&quot;//www.ibm.com/i/c.gif&quot; width=&quot;8&quot; height=&quot;1&quot; alt=&quot;&quot;/&gt;&lt;/td&gt;&lt;td width=&quot;16&quot;&gt;&lt;img alt=&quot;수평출력으로 설정&quot; height=&quot;16&quot; src=&quot;//www.ibm.com/i/v14/icons/printer.gif&quot; width=&quot;16&quot; vspace=&quot;3&quot; /&gt;&lt;/td&gt;&lt;td width=&quot;122&quot;&gt;&lt;p&gt;&lt;b&gt;&lt;a class=&quot;smallplainlink&quot; href=&quot;javascript:print()&quot;&gt;이 페이지 출력&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;');
//--&gt;
&lt;/SCRIPT&gt;

&lt;TBODY&gt;
&lt;TR vAlign=top&gt;
&lt;TD width=8&gt;&lt;IMG height=1 alt=&quot;&quot; src=&quot;http://www.ibm.com/i/c.gif&quot; width=8&gt;&lt;/TD&gt;
&lt;TD width=16&gt;&lt;IMG height=16 alt=&quot;수평출력으로 설정&quot; src=&quot;http://www.ibm.com/i/v14/icons/printer.gif&quot; width=16 vspace=3&gt;&lt;/TD&gt;
&lt;TD width=122&gt;
&lt;P&gt;&lt;B&gt;&lt;A class=smallplainlink href=&quot;javascript:print()&quot; cmImpressionSent=&quot;1&quot;&gt;이 페이지 출력&lt;/A&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;NOSCRIPT&gt;&lt;/NOSCRIPT&gt;

&lt;SCRIPT language=JavaScript type=text/javascript&gt;
&lt;!--
document.write('&lt;tr valign=&quot;top&quot;&gt;&lt;td width=&quot;8&quot;&gt;&lt;img src=&quot;//www.ibm.com/i/c.gif&quot; width=&quot;8&quot; height=&quot;1&quot; alt=&quot;&quot;/&gt;&lt;/td&gt;&lt;td width=&quot;16&quot;&gt;&lt;img src=&quot;//www.ibm.com/i/v14/icons/em.gif&quot; height=&quot;16&quot; width=&quot;16&quot; vspace=&quot;3&quot; alt=&quot;이 페이지를 이메일로 보내기&quot; /&gt;&lt;/td&gt;&lt;td width=&quot;122&quot;&gt;&lt;p&gt;&lt;a class=&quot;smallplainlink&quot; href=&quot;javascript:document.email.submit();&quot;&gt;&lt;b&gt;이 페이지를 이메일로 보내기&lt;/b&gt;&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;');
//--&gt;
&lt;/SCRIPT&gt;
 
&lt;TR vAlign=top&gt;
&lt;TD width=8&gt;&lt;IMG height=1 alt=&quot;&quot; src=&quot;http://www.ibm.com/i/c.gif&quot; width=8&gt;&lt;/TD&gt;
&lt;TD width=16&gt;&lt;IMG height=16 alt=&quot;이 페이지를 이메일로 보내기&quot; src=&quot;http://www.ibm.com/i/v14/icons/em.gif&quot; width=16 vspace=3&gt;&lt;/TD&gt;
&lt;TD width=122&gt;
&lt;P&gt;&lt;A class=smallplainlink href=&quot;javascript:document.email.submit();&quot; cmImpressionSent=&quot;1&quot;&gt;&lt;B&gt;&lt;FONT color=#5c81a7 size=2&gt;이 페이지를 이메일로 보내기&lt;/FONT&gt;&lt;/B&gt;&lt;/A&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;NOSCRIPT&gt;&lt;tr valign=&quot;top&quot;&gt;&lt;td width=&quot;8&quot;&gt;&lt;img alt=&quot;&quot; height=&quot;1&quot; width=&quot;8&quot; src=&quot;//www.ibm.com/i/c.gif&quot;/&gt;&lt;/td&gt;&lt;td width=&quot;16&quot;&gt;&lt;img alt=&quot;&quot; width=&quot;16&quot; height=&quot;16&quot; src=&quot;//www.ibm.com/i/c.gif&quot;/&gt;&lt;/td&gt;&lt;td class=&quot;small&quot; width=&quot;122&quot;&gt;&lt;p&gt;&lt;span class=&quot;ast&quot;&gt;JavaScript가 필요한 문서 옵션은 디스플레이되지 않습니다.&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/NOSCRIPT&gt;
&lt;TR vAlign=top&gt;
&lt;TD width=8&gt;&lt;FONT color=#5c81a7 size=2&gt;&lt;IMG height=1 alt=&quot;&quot; src=&quot;http://www.ibm.com/i/c.gif&quot; width=8&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=16&gt;&lt;FONT color=#5c81a7 size=2&gt;&lt;IMG height=16 alt=영어원문 src=&quot;http://www.ibm.com/i/v14/icons/fw_bold.gif&quot; width=16 vspace=3&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=122&gt;
&lt;P&gt;&lt;A class=smallplainlink onmouseover=linkQueryAppend(this) href=&quot;http://www.ibm.com/developerworks/java/library/j-mylyn1/&quot; cmImpressionSent=&quot;1&quot;&gt;&lt;B&gt;&lt;FONT color=#5c81a7 size=2&gt;영어원문&lt;/FONT&gt;&lt;/B&gt;&lt;/A&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;!--START RESERVED FOR FUTURE USE INCLUDE FILES--&gt;&lt;BR&gt;
&lt;TABLE cellSpacing=0 cellPadding=0 width=150 border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class=v14-header-2-small&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;TABLE class=v14-gray-table-border cellSpacing=0 cellPadding=0 border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class=no-padding width=150&gt;
&lt;TABLE cellSpacing=0 cellPadding=0 width=143 border=0&gt;
&lt;TBODY&gt;
&lt;TR vAlign=top&gt;
&lt;TD width=3&gt;&lt;IMG height=1 alt=&quot;&quot; src=&quot;http://www.ibm.com/i/c.gif&quot; width=3&gt;&lt;/TD&gt;
&lt;TD width=&quot;100%&quot;&gt;&lt;BR&gt;&lt;U&gt;&lt;FONT color=#5c81a7&gt;&lt;IMG height=2 alt=&quot;&quot; src=&quot;http://www.ibm.com/i/c.gif&quot; width=1&gt;&lt;/FONT&gt;&lt;/U&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;!--END RESERVED FOR FUTURE USE INCLUDE FILES--&gt;&lt;BR&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P&gt;난이도 : 중급&lt;/P&gt;
&lt;P&gt;&lt;A href=&quot;http://www.ibm.com/developerworks/kr/library/j-mylyn1/index.html#author&quot; cmImpressionSent=&quot;1&quot;&gt;&lt;U&gt;&lt;FONT color=#996699&gt;Mik Kersten&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;, Mylyn Project Lead; President &amp; CTO, Tasktop Technologies&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;2007 년 12 월 04 일&lt;/P&gt;
&lt;BLOCKQUOTE&gt;최근 출시된 Mylyn 2.0 버전 (전 Mylar)은 태스크들을 Eclipse로 완벽하게 통합하고, 그러한 태스크들의 콘텍스트(context)을 자동으로 관리함으로써 생산성을 향상시킵니다. Mylyn 프로젝트 리더인 Mik Kersten은 Mylyn 1.0 이후 많은 사용자 피드백을 받았고, 이를 두 파트로 된 Mylyn 가이드에 적용하여 업데이트 했습니다. Part 1에서는 Mylyn의 태스크 관리 장치와 Bugzilla, Trac, JIRA 같은 저장소와의 통합에 대해 설명합니다. &lt;A href=&quot;http://www.ibm.com/developerworks/java/library/j-mylyn2/&quot; target=new cmImpressionSent=&quot;1&quot;&gt;&lt;U&gt;&lt;FONT color=#5c81a7&gt;Part 2&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;에서는 콘텍스트 관리로 멀티 태스킹을 쉽게 하는 방법과, 정보 오버로드를 줄이는 방법을 설명합니다. &lt;/BLOCKQUOTE&gt;&lt;!--START RESERVED FOR FUTURE USE INCLUDE FILES--&gt;&lt;!-- include java script once we verify teams wants to use this and it will work on dbcs and cyrillic characters --&gt;&lt;!--END RESERVED FOR FUTURE USE INCLUDE FILES--&gt;
&lt;P&gt;소프트웨어 시스템, 프레임웍, 툴들은 계속 성장할 수 있지만, 정보를 처리하는 개발자의 능력은 실제로 한계가 있다. 대부분의 통합 개발 환경(IDE)은 구조화 된 뷰, 에디터, 고급 검색 장치를 사용하여 이러한 한계를 극복하려고 한다. 이러한 메커니즘을 통해 대형 시스템들을 보다 쉽게 검색할 수 있지만, 전형적인 프로그래밍 태스크를 완수하기 위해 처리되어야 하는 수 많은 정보를 관리하기에는 부족하다. 결국, 구조화 된 뷰는 과부하가 되고 만다. 예를 들어, Eclipse Package Explorer는 작은 엔터프라이즈 애플리케이션을 검색하기만 해도 수 천 개의 소스 파일들을 보여주기 때문에, 이러한 정보를 스크롤, 검색, 트래킹 하는데 엄청난 시간을 낭비할 수 있다. &lt;/P&gt;
&lt;P&gt;재미있는 점은, 대부분의 경우 프로그래밍 태스크를 완성하기 위해 시스템의 전체적인 계층적 구조나 특정 메소드에 대한 모든 레퍼런스를 볼 필요가 없다는 것이다. 예를 들어, 버그 픽스나 기능 추가의 경우, 여러분의 시스템의 하위 세트에만 관심이 있다. Mylyn은 두 개의 장치들을 Eclipse에 추가함으로써 그러한 하위 세트를 명확하게 하는 인터랙션 기술이다. 통합 태스크 관리(&lt;I&gt;integrated task management&lt;/I&gt;)와 자동 콘텍스트 관리(&lt;I&gt;automated context management&lt;/I&gt;)가 그것이다. 태스크 관리는 task/bug/defect/ticket/story/issue 트래커를 Eclipse로 통합하고 고급의 태스크 편집 및 태스크 스케줄링 장치를 제공한다. 콘텍스트 관리는 Eclipse와의 인터랙션을 감시하고, 태스크와 관련된 정보를 자동으로 구분하며, 구조화 된 뷰와 에디터에 초점을 맞춰 관련된 정보만을 보여준다. 이러한 장치들이 결합되어, Mylyn의 Task-Focused UI가 구성되는데, 이는 멀티 태스킹을 더욱 쉽게 해주고, 정보 오버로드를 크게 줄인다. (&lt;A href=&quot;http://www.ibm.com/developerworks/kr/library/j-mylyn1/index.html#resources&quot; cmImpressionSent=&quot;1&quot;&gt;&lt;U&gt;&lt;FONT color=#996699&gt;참고자료&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt; 섹션의 &quot;Using Task Context to Improve Programmer Productivity&quot; 연구 논문 참조) &lt;/P&gt;
&lt;TABLE cellSpacing=0 cellPadding=0 width=&quot;40%&quot; align=right border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width=10&gt;&lt;IMG height=1 alt=&quot;&quot; src=&quot;http://www.ibm.com/i/c.gif&quot; width=10&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;TABLE cellSpacing=0 cellPadding=5 width=&quot;100%&quot; border=1&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD bgColor=#eeeeee&gt;&lt;A name=N10062&gt;&lt;B&gt;생각의 속도&lt;/B&gt;&lt;/A&gt;&lt;BR&gt;
&lt;P&gt;미엘린(Myelin)은 자연스럽게 발생하는 인체 물질로서, 흥분 상태에서 뉴런들을 더욱 활성화 함으로써 생각을 가속화 한다. Mylyn이란 이름도 이 myelin에서 착안한 것이다. 많은 사용자들은 Mylyn으로 자신이 생각하는 속도로 코딩을 할 수 있다고 말하고 있다. 이전에, 이 프로젝트는 Mylar라고 하는 얇은 플라스틱 필름과 같은 이름을 사용했다. &lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P&gt;본 기술자료 시리즈는 Mylyn 사용 가이드이다. 태스크 관리가 아닌 프로그래밍에 초점을 맞춘 부분에서는 여러분이 Eclipse IDE를 알고 있는 것으로 간주한다. Part 1에서는 Mylyn과 태스크 관리용 장치를 소개한다. &lt;A href=&quot;http://www.ibm.com/developerworks/java/library/j-mylyn2/&quot; target=new cmImpressionSent=&quot;1&quot;&gt;&lt;U&gt;&lt;FONT color=#5c81a7&gt;Part 2&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;에서는 콘텍스트 관리용 Mylyn 장치를 소개하고, Task-Focused UI가 프로그래밍과 개발 방식에 어떤 영향을 미치는지를 설명한다. 여러분의 편의를 위해 두 파트를 동시에 발표한다. &lt;/P&gt;
&lt;P&gt;Part 1은 프로그래밍 액티비티에 국한된 것이 아니고, Eclipse나 독립 애플리케이션에서 Mylyn을 사용하는 방법에 관한 내용이다. &lt;A href=&quot;http://www.ibm.com/developerworks/java/library/j-mylyn2/&quot; target=new cmImpressionSent=&quot;1&quot;&gt;&lt;U&gt;&lt;FONT color=#5c81a7&gt;Part 2&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;는 자바 ™ 프로그래밍에 초점을 맞추면서도, Eclipse 기반 툴에 적용할 수 있는 기능들을 논한다. Bugzilla는 이 글의 예제에 사용되는 태스크 저장소이지만, 개념과 UI는 &lt;A href=&quot;http://www.ibm.com/developerworks/kr/library/j-mylyn1/index.html#repositories&quot; cmImpressionSent=&quot;1&quot;&gt;&lt;U&gt;&lt;FONT color=#996699&gt;Mylyn이 지원하는 다른 이슈 트래커들&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;에도 적용된다. 다른 커넥터와 Mylyn을 사용할 계획이 있더라도, Bugzilla Connector를 사용하는 단계를 권장한다. 이렇게 함으로써 핵심 기능에 더 익숙해 질 수 있다. &lt;/P&gt;
&lt;P&gt;&lt;A name=N10081&gt;&lt;SPAN class=atitle&gt;Mylyn 소개&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Mylyn은 Eclipse SDK를 태스크를 트래킹하는 고급 메커니즘으로 확대되었다. (&lt;A href=&quot;http://www.ibm.com/developerworks/kr/library/j-mylyn1/index.html#resources&quot; cmImpressionSent=&quot;1&quot;&gt;&lt;U&gt;&lt;FONT color=#996699&gt;참고자료&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;) &lt;I&gt;태스크&lt;/I&gt;는 사용자 리포트 버그나 기능 향상에 대한 기록 같이, 요청 또는 다른 사람들과 공유하고자 하는 작업의 단위이다. Mylyn으로는 워크스페이스에서 로컬로 태스크를 저장하거나, 한 개 이상의 태스크 저장소에 저장된 태스크들로 작업을 할 수 있다. (&lt;I&gt;태스크 저장소&lt;/I&gt;의 예는 Bugzilla, Trac, JIRA 같은 이슈 트래커이다. 특정 태스크 저장소를 연결하려면, 그 저장소를 위해 &lt;I&gt;Mylyn 커넥터&lt;/I&gt;가 설치되어야 한다. &lt;/P&gt;
&lt;P&gt;일단 태스크가 통합되면, Mylyn은 그러한 태스크에 대한 작업 액티비티를 감시하여 태스크와 관련한 정보를 구분한다. 이것으로부터, Mylyn은 태스크 콘텍스트(&lt;I&gt;task context&lt;/I&gt;) -- 태스크와 관련된 모든 생성물들을 만든다. 여기에는 여러분이 검색했던 문서, 편집했던 메소드, 언급했던 API가 들어갈 수 있다. Mylyn은 태스크 콘텍스트를 사용하여 UI를 관심 정보에 집중시키고, 관심이 없는 부분들은 숨기며, 관련된 것들을 자동으로 찾는다. 작업을 수행시키기에 필요한 정보가 생기면 검색, 스크롤, 네비게이션에 드는 시간을 줄임으로써 생산성을 향상시킬 수 있다. 태스크 콘텍스트를 분명하게 함으로써, Mylyn은 멀티 태스킹, 플래닝, 재사용, 전문성 공유에도 기여한다.&lt;/P&gt;
&lt;P&gt;시간이 흘러가면서, Mylyn을 사용한 결과, 작업 방식이 미묘하면서도 근본적으로 바뀐다. 여러분이 일단, 태스크 중심 방식으로 작업하는데 익숙해지면, 생산성은 매우 높아진다는 것을 알 수 있다. 조직화 되고, 중요한 협업 태스크들에 집중하고, 진행 상황을 추적하는 것이 점점 쉬워진다. &lt;/P&gt;
&lt;P&gt;그림 1에서 번호가 매겨진 영역들은 Mylyn 태스크와 콘텍스트 관리 기능들이다. &lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;오늘로 스케줄링 된 활성 태스크와 Bugzilla 리포트가 있는 Task List 
&lt;LI&gt;태스크 콘텍스트에서 관리되는 변경 세트 
&lt;LI&gt;오프라인 지원이 되는 풍부한 태스크 에디터 
&lt;LI&gt;Eclipse Package Explorer의 태스크 중심(Task-focused) 모드 &lt;/LI&gt;&lt;/OL&gt;&lt;BR&gt;&lt;A name=fig1&gt;&lt;B&gt;그림 1. Mylyn의 Task-Focused UI&lt;BR&gt;&lt;/B&gt;&lt;/A&gt;&lt;BR&gt;&lt;IMG height=420 alt=&quot;&quot; src=&quot;http://www.ibm.com/developerworks/kr/library/j-mylyn1/part1-overview.jpg&quot; width=572&gt; &lt;BR&gt;
&lt;P&gt;크게 &lt;A href=&quot;http://www.ibm.com/developerworks/kr/library/j-mylyn1/sidefile.html&quot; cmImpressionSent=&quot;1&quot;&gt;&lt;U&gt;&lt;FONT color=#5c81a7&gt;보기&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;다음 섹션에서는 Mylyn을 설치 및 구성하는 방법과, 핵심 기능들을 설명하겠다. Mylyn의 태스크 관리 장치들을 배우고 나서, 이것이 매일 매일의 워크플로우에 어떻게 영향을 주는지를 배울 것이다. &lt;/P&gt;&lt;BR&gt;
&lt;TABLE cellSpacing=0 cellPadding=0 width=&quot;100%&quot; border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;IMG height=1 alt=&quot;&quot; src=&quot;http://www.ibm.com/i/v14/rules/blue_rule.gif&quot; width=&quot;100%&quot;&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;TABLE class=no-print cellSpacing=0 cellPadding=0 align=right&gt;
&lt;TBODY&gt;
&lt;TR align=right&gt;
&lt;TD&gt;&lt;IMG height=4 alt=&quot;&quot; src=&quot;http://www.ibm.com/i/c.gif&quot; width=16 border=0&gt;&lt;BR&gt;
&lt;TABLE cellSpacing=0 cellPadding=0 border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD vAlign=center&gt;&lt;IMG height=16 alt=&quot;&quot; src=&quot;http://www.ibm.com/i/v14/icons/u_bold.gif&quot; width=16 border=0&gt;&lt;BR&gt;&lt;/TD&gt;
&lt;TD vAlign=top align=right&gt;&lt;A class=fbox href=&quot;http://www.ibm.com/developerworks/kr/library/j-mylyn1/index.html#main&quot; cmImpressionSent=&quot;1&quot;&gt;&lt;B&gt;&lt;FONT color=#996699&gt;위로&lt;/FONT&gt;&lt;/B&gt;&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR&gt;&lt;BR&gt;
&lt;P&gt;&lt;A name=repositories&gt;&lt;SPAN class=atitle&gt;태스크 저장소 커넥터&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;이 글에서, 필자는 Mylyn의 Bugzilla Connector를 사용하여 태스크 저장소 통합 작업의 핵심 개념을 설명할 것이다. 이 개념은 다른 지원되는 태스크 저장소와 동일하지만, 통합과 커넥터의 성숙 레벨은 다양하다. Mylyn에 번들 된 Bugzilla와 Trac 커넥터는 성숙하고 레퍼런스 구현으로서 간주된다. 기타 이슈 트래커와 프로젝트 관리 툴들용 커넥터(CollabNet, Rally, Mantis, XPlanner)는 Mylyn Extensions 페이지를 참조하라. (&lt;A href=&quot;http://www.ibm.com/developerworks/kr/library/j-mylyn1/index.html#resources&quot; cmImpressionSent=&quot;1&quot;&gt;&lt;U&gt;&lt;FONT color=#996699&gt;참고자료&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;). &lt;/P&gt;
&lt;P&gt;완전하게 통합된 커넥터는 다음 기능을 선사한다:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;B&gt;쿼리&lt;/B&gt;: 쿼리는 태스크들을 Mylyn의 Task List로 가져오는 메커니즘이다. 쿼리 편집과 검색 장치들은 커넥터 전용이고, Eclipse 기반 쿼리 디자이너 또는 서버의 계정으로부터 온 쿼리의 검색을 제공한다. 또는 이 두 가지 모두를 제공한다. &lt;BR&gt;&lt;BR&gt;
&lt;LI&gt;&lt;B&gt;풍부한 편집&lt;/B&gt;: 태스크와 쿼리는 통합 에디터에서 편집될 수 있다. 이 장치는 태스크에 태스크와 다른 구조화 된 엘리먼트에 하이퍼링크를 제공하고, 드래그&amp;드롭 같은 Eclipse와 데스크탑 통합도 제공한다. 풍부한 편집을 제공하는 커넥터는 Eclipse의 임베디드 브라우저에서 태스크와 쿼리를 여는 장치도 제공한다. &lt;BR&gt;&lt;BR&gt;
&lt;LI&gt;&lt;B&gt;첨부&lt;/B&gt;: 파일들이 저장소에 첨부되거나, 저장소로부터 파일들을 가져올 수 있다. 이 기능으로 운영 체계 또는 Eclipse 내에서 파일들을 첨부할 수 있고, 콘텍스트 공유 같은 장치들을 실행한다. (&lt;A href=&quot;http://www.ibm.com/developerworks/java/library/j-mylyn2/&quot; target=new cmImpressionSent=&quot;1&quot;&gt;&lt;U&gt;&lt;FONT color=#5c81a7&gt;Part 2&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;).&lt;BR&gt;&lt;BR&gt;
&lt;LI&gt;&lt;B&gt;오프라인 지원&lt;/B&gt;: 연결이 해제된 상태에서 작업할 수 있고, 서버에서 대기할 필요 없이 즉각 태스크에 액세스 하여 쿼리할 수 있다. 이러한 장치는 변경 공지도 제공하는데, 이메일 클라이언트에 의존하는 대신 태스크용 인박스로서 Task List를 사용할 수 있다. &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Mylyn의 완전한 통합을 경험하고, 외부 또는 웹 기반 UI 의존성을 탈피하기 위해서는, 커넥터는 여기에 리스팅 된 네 가지 모든 장치들을 지원해야 한다. 하지만, Eclipse의 태스크들을 작업할 수 있도록 &lt;I&gt;충분한&lt;/I&gt; 장치들이 있다면, Mylyn의 Task-Focused UI도 많은 혜택을 줄 수 있다. 커넥터용 태스크 저장소를 사용할 수 없다면:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href=&quot;http://www.ibm.com/developerworks/kr/library/j-mylyn1/index.html#startedwithlocal&quot; cmImpressionSent=&quot;1&quot;&gt;&lt;U&gt;&lt;FONT color=#996699&gt;로컬 태스크&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;를 위한 Mylyn 지원을 사용하라. 지원되지 않은 저장소가 웹 기반 UI를 갖고 있다면, 브라우저에서 URL을 Mylyn으로 가져와서 태스크를 만든다.&lt;BR&gt;&lt;BR&gt;
&lt;LI&gt;다양한 웹 기반 저장소들(Google Code Hosting (code.google.com), IssueZilla (java.net, dev2dev, tigris.org), GForge (objectweb.org), SourceForge (sf.net), JIRA, Trac, phpBB, vBulletin)에서 기본적인 쿼리 지원을 제공하는 Generic Web Repository Connector를 사용하라. (&lt;A href=&quot;http://www.ibm.com/developerworks/kr/library/j-mylyn1/index.html#resources&quot; cmImpressionSent=&quot;1&quot;&gt;&lt;U&gt;&lt;FONT color=#996699&gt;참고자료&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;)&lt;BR&gt;&lt;BR&gt;
&lt;LI&gt;태스크 저장소 벤더에게 문의하여 Mylyn 용 커넥터를 만든다. Mylyn 버그 페이지에 커넥터에 투표하는 것도 고려해 보라. (&lt;A href=&quot;http://www.ibm.com/developerworks/kr/library/j-mylyn1/index.html#resources&quot; cmImpressionSent=&quot;1&quot;&gt;&lt;U&gt;&lt;FONT color=#996699&gt;참고자료&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;).&lt;BR&gt;&lt;BR&gt;
&lt;LI&gt;고유의 커넥터를 만들라. (&lt;A href=&quot;http://www.ibm.com/developerworks/kr/library/j-mylyn1/index.html#resources&quot; cmImpressionSent=&quot;1&quot;&gt;&lt;U&gt;&lt;FONT color=#996699&gt;참고자료&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;) &lt;/LI&gt;&lt;/UL&gt;&lt;BR&gt;
&lt;TABLE cellSpacing=0 cellPadding=0 width=&quot;100%&quot; border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;IMG height=1 alt=&quot;&quot; src=&quot;http://www.ibm.com/i/v14/rules/blue_rule.gif&quot; width=&quot;100%&quot;&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;TABLE class=no-print cellSpacing=0 cellPadding=0 align=right&gt;
&lt;TBODY&gt;
&lt;TR align=right&gt;
&lt;TD&gt;&lt;IMG height=4 alt=&quot;&quot; src=&quot;http://www.ibm.com/i/c.gif&quot; width=16 border=0&gt;&lt;BR&gt;
&lt;TABLE cellSpacing=0 cellPadding=0 border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD vAlign=center&gt;&lt;IMG height=16 alt=&quot;&quot; src=&quot;http://www.ibm.com/i/v14/icons/u_bold.gif&quot; width=16 border=0&gt;&lt;BR&gt;&lt;/TD&gt;
&lt;TD vAlign=top align=right&gt;&lt;A class=fbox href=&quot;http://www.ibm.com/developerworks/kr/library/j-mylyn1/index.html#main&quot; cmImpressionSent=&quot;1&quot;&gt;&lt;B&gt;&lt;FONT color=#996699&gt;위로&lt;/FONT&gt;&lt;/B&gt;&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR&gt;&lt;BR&gt;
&lt;P&gt;&lt;A name=N1013C&gt;&lt;SPAN class=atitle&gt;설치와 설정&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Mylyn은 현재 대부분의 Eclipse 배포판에 포함되어 있기 때문에, 가장 쉽게 구할 수 있는 방법은 Eclipse 다운로드 페이지(&lt;A href=&quot;http://www.ibm.com/developerworks/kr/library/j-mylyn1/index.html#resources&quot; cmImpressionSent=&quot;1&quot;&gt;&lt;U&gt;&lt;FONT color=#996699&gt;참고자료&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;)에서 Mylyn을 포함하고 있는 패키지를 다운로드 하는 것이다. 하지만, 새로운 Mylyn 버전으로 업데이트 하거나, Mylyn이 포함 되지 않은 Eclipse 버전에 Mylyn을 설치할 경우에는 다음 방법도 유용하다. &lt;/P&gt;
&lt;TABLE cellSpacing=0 cellPadding=0 width=&quot;40%&quot; align=right border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width=10&gt;&lt;IMG height=1 alt=&quot;&quot; src=&quot;http://www.ibm.com/i/c.gif&quot; width=10&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;TABLE cellSpacing=0 cellPadding=5 width=&quot;100%&quot; border=1&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD bgColor=#eeeeee&gt;&lt;A name=N1014D&gt;&lt;B&gt;팁: Mylyn은 Java 5 또는 이후 버전이 필요하다!&lt;/B&gt;&lt;/A&gt;&lt;BR&gt;
&lt;P&gt;Mylyn은 Java 5를 기반으로 구현된다. JRE 1.4 또는 이전 버전에서 실행한다면 작동하지 않을 것이다. 자신의 Eclipse 버전이 어떤 JRE를 사용하고 있는지를 확인해 보라.( &lt;B&gt;Help &gt; About Eclipse SDK &gt; Configuration Details&lt;/B&gt;) 설치 문제 해결은 Mylyn FAQ를 참조하라. (&lt;A href=&quot;http://www.ibm.com/developerworks/kr/library/j-mylyn1/index.html#resources&quot; cmImpressionSent=&quot;1&quot;&gt;&lt;U&gt;&lt;FONT color=#996699&gt;참고자료&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;)&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P&gt;Eclipse 버전에 맞는 Mylyn을 설치하려면, Eclipse Update Manager를 사용한다: &lt;B&gt;Help &gt; Software Updates &gt; Find and install &gt; Search for new features to install&lt;/B&gt;. Eclipse 3.2에서 업데이트 되면, &lt;B&gt;Search for updates&lt;/B&gt; 대신 이 방법을 사용하는 것이 더 낫지만, 이것은 올바른 의존성 체크를 수행하지 않는다. Eclipse 3.3에서는 어떤 방법도 다 가능하다. 최신 Mylyn 업데이트 사이트에서는 Update Manager를 제공한다. Mylyn의 다운로드 페이지를 참조하라. (&lt;A href=&quot;http://www.ibm.com/developerworks/kr/library/j-mylyn1/index.html#resources&quot; cmImpressionSent=&quot;1&quot;&gt;&lt;U&gt;&lt;FONT color=#996699&gt;참고자료&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;).&lt;/P&gt;
&lt;P&gt;Mylyn의 핵심적인 디자인 목적 중 하나는 Eclipse의 기존 UI 장치들과 완벽하게 통합하는 것이다. 또 다른 목적은 여러분이 필요로 하는 기능들만 설치하여 사용하는 것이다. 그림 2는 여러분이 설치하고자 하는 기능들을 선택할 수 있는 UI이다. 여러분의 역할이 개발이 아닌 버그 찾기라면, Task-Focused UI를 설치할 필요 없이 Mylyn의 Task List를 설치하고, 이슈 트래커용 커넥터를 개별적으로 선택할 수 있다. 소프트웨어 개발자들은 두 기능 모두를 설치하고 싶어한다. &lt;/P&gt;&lt;BR&gt;&lt;A name=fig2&gt;&lt;B&gt;그림 2. Mylyn 기능 및 저장소 커넥터 선택하기&lt;/B&gt;&lt;/A&gt;&lt;BR&gt;&lt;IMG height=164 alt=&quot;&quot; src=&quot;http://www.ibm.com/developerworks/kr/library/j-mylyn1/part1-install.jpg&quot; width=267&gt; &lt;BR&gt;
&lt;P&gt;업데이트 사이트에서 설치할 기능들을 선택할 때, 여러분이 사용하는 한 개 이상의 태스크 저장소를 선택한다. Mylyn 다운로드 페이지에서 명시한 것처럼, 추가 업데이트 사이트를 더하여 원하는 커넥터들을 구해야 한다. 권장 Task-Focused UI 기능을 설치할 때, Eclipse 버전에 설치할 수 있는 모든 브릿지(bridge)들을 선택해야 한다. (브릿지 상세는 &lt;A href=&quot;http://www.ibm.com/developerworks/java/library/j-mylyn2/&quot; target=new cmImpressionSent=&quot;1&quot;&gt;&lt;U&gt;&lt;FONT color=#5c81a7&gt;Part 2&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt; 참조) Eclipse 3.3 또는 이후 버전을 재시작 하면, 그림 3과 같은 welcome 스크린이 나온다. Eclipse 3.2를 사용하고 있다면 Help 메뉴에서 직접 welcome 스크린을 열도록 한다. &lt;/P&gt;&lt;BR&gt;&lt;A name=fig3&gt;&lt;B&gt;그림 3. Welcome 스크린&lt;/B&gt;&lt;/A&gt;&lt;BR&gt;&lt;IMG height=303 alt=&quot;&quot; src=&quot;http://www.ibm.com/developerworks/kr/library/j-mylyn1/part1-welcome.jpg&quot; width=569&gt; &lt;BR&gt;&lt;BR&gt;
&lt;TABLE cellSpacing=0 cellPadding=0 width=&quot;100%&quot; border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;IMG height=1 alt=&quot;&quot; src=&quot;http://www.ibm.com/i/v14/rules/blue_rule.gif&quot; width=&quot;100%&quot;&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;TABLE class=no-print cellSpacing=0 cellPadding=0 align=right&gt;
&lt;TBODY&gt;
&lt;TR align=right&gt;
&lt;TD&gt;&lt;IMG height=4 alt=&quot;&quot; src=&quot;http://www.ibm.com/i/c.gif&quot; width=16 border=0&gt;&lt;BR&gt;
&lt;TABLE cellSpacing=0 cellPadding=0 border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD vAlign=center&gt;&lt;IMG height=16 alt=&quot;&quot; src=&quot;http://www.ibm.com/i/v14/icons/u_bold.gif&quot; width=16 border=0&gt;&lt;BR&gt;&lt;/TD&gt;
&lt;TD vAlign=top align=right&gt;&lt;A class=fbox href=&quot;http://www.ibm.com/developerworks/kr/library/j-mylyn1/index.html#main&quot; cmImpressionSent=&quot;1&quot;&gt;&lt;B&gt;&lt;FONT color=#996699&gt;위로&lt;/FONT&gt;&lt;/B&gt;&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR&gt;&lt;BR&gt;
&lt;P&gt;&lt;A name=N10194&gt;&lt;SPAN class=atitle&gt;태스크와 쿼리&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Mylyn은 두 가지 종류의 태스크와의 작업을 지원한다: &lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;B&gt;로컬 태스크&lt;/B&gt;는 Eclipse 워크스페이스에 저장되고, 스케줄링 같은 기본적인 태스크 관리 기능을 제공한다. 로컬 태스크들은 개인적이고 여러분에게만 보인다.&lt;BR&gt;&lt;BR&gt;
&lt;LI&gt;&lt;B&gt;저장소 태스크&lt;/B&gt;는 외부 애플리케이션이나 서버에 대응하는 태스크 저장소에 저장된다. 저장소 태스크는 사람들간 공유되지만, 여전히 개인 스케줄링과 노트 같은 로컬 태스크 장치들도 제공한다. &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;이 섹션에서는 로컬 태스크들을 생성하여 편집하는 방법을 설명하고, 저장소 태스크들로 작업할 수 있는 기능들을 검토한다. 여기에서 다룬 기능들의 가용성은 커넥터의 &lt;A href=&quot;http://www.ibm.com/developerworks/kr/library/j-mylyn1/index.html#repositories&quot; cmImpressionSent=&quot;1&quot;&gt;&lt;U&gt;&lt;FONT color=#996699&gt;통합 레벨&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;에 의존하기 때문에, 적용할 수 있는 것만 참조해야 한다. 통합 레벨과 관계 없이, 모든 Mylyn의 태스크 관리 장치들을 사용할 수 있는데, 이 부분은 &lt;A href=&quot;http://www.ibm.com/developerworks/kr/library/j-mylyn1/index.html#planning&quot; cmImpressionSent=&quot;1&quot;&gt;&lt;U&gt;&lt;FONT color=#996699&gt;태스크 관리와 개인 플래닝&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;에서 다루겠다.&lt;/P&gt;
&lt;P&gt;&lt;A name=startedwithlocal&gt;&lt;SPAN class=smalltitle&gt;&lt;STRONG&gt;&lt;FONT size=3&gt;로컬 태스크 시작하기&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Mylyn을 설치한 후에, 다음 단계를 따른다:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Task List 뷰의 &lt;B&gt;New Task&lt;/B&gt; 툴바 버튼을 클릭하여 새로운 태스크를 만든다. 
&lt;LI&gt;&lt;B&gt;Local Tasks&lt;/B&gt; 저장소를 선택한다. 
&lt;LI&gt;태스크 요약에 입력한다. 
&lt;LI&gt;Eclipse 툴바에서 &lt;B&gt;Save&lt;/B&gt;를 클릭하거나, Ctrl+S를 눌러 업데이트 된 디스크립션을 저장한다. &lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;로컬 태스크를 만드는 지름길은 Insert 키 또는 텍스트나 URL을 웹 브라우저에서 Task List로 가져오는 것이다. 새로운 태스크의 디스크립션은 상응하는 웹 페이지의 제목에 따라서 자동으로 채워진다. (Firefox에서는 일반적인 드래그를 하고, Internet Explorer에서는 드래그 동안 Ctrl을 누른다.) Task List에서 태스크를 더블 클릭하면 태스크 에디터가 열리고(그림 4), 여기에서 노트를 생성하고, 관련 하이퍼링크들을 붙이거나, 특정 날짜로 태스크를 스케줄링 한다. 기본적으로, 새롭게 생성된 태스크들은 이들이 생성된 날짜로 스케줄링 된다. &lt;/P&gt;&lt;BR&gt;&lt;A name=fig4&gt;&lt;B&gt;그림 4. 로컬 태스크 편집하기&lt;/B&gt;&lt;/A&gt;&lt;BR&gt;&lt;IMG height=411 alt=&quot;&quot; src=&quot;http://www.ibm.com/developerworks/kr/library/j-mylyn1/part1-editor.jpg&quot; width=572&gt; &lt;BR&gt;
&lt;P&gt;일단, 십여 개의 로컬 태스크들을 만들면, &lt;I&gt;카테고리&lt;/I&gt;를 만들어서 이들을 구성해야 한다. 태스크를 만들고, Task List에 카테고리를 선택하지 않았다면, 이 태스크는 Uncategorized 컨테이너에 배치된다. 여러분이 만들었던 태스크를 Task List의 &lt;B&gt;Move to&lt;/B&gt; 팝업 메뉴를 사용하여 또 다른 카테고리나 태스크 에디터로 옮기거나 드래그&amp;드롭을 사용한다. &lt;/P&gt;
&lt;P&gt;로컬 태스크 완료를 표시하려면, 태스크의 팝업 메뉴 또는 태스크 에디터를 사용한다. 완료 표시가 된 태스크들은 기본적으로 필터링 되지만, Task List의 뷰 메뉴를 통해서 필터링 될 수 있다. (Task List 뷰 툴바의 오른쪽을 향하는 삼각형으로 열린다.) 어지러움을 없애기 위해, 어떤 태스크도 보여주지 않는 카테고리들(예를 들어, 이 카테고리에 있는 모든 태스크들이 완료되었을 경우)은 나타나지 않는다. Task List의 상단에 있는 &lt;B&gt;Find:&lt;/B&gt; 박스를 사용하여 필터링 된 태스크들에 액세스 한다. 마지막으로, 태스크 에디터를 통해 로컬 태스크용 우선 순위와 플래닝 정보를 설정한다. &lt;A href=&quot;http://www.ibm.com/developerworks/kr/library/j-mylyn1/index.html#planning&quot; cmImpressionSent=&quot;1&quot;&gt;&lt;U&gt;&lt;FONT color=#996699&gt;태스크 관리와 개인 플래닝&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;에서는 플래닝에 대해 자세히 다룬다. &lt;/P&gt;
&lt;P&gt;Mylyn의 아이콘 스킴에 익숙해 지려면, Task List 뷰 메뉴에서 &lt;B&gt;Show UI Legend&lt;/B&gt; 액션을 사용한다. (그림 5) 이 글에서 아이콘 스킴에 대해서도 이야기 할 것이다. &lt;/P&gt;&lt;BR&gt;&lt;A name=fig5&gt;&lt;B&gt;그림 5. Mylyn UI Legend&lt;/B&gt;&lt;/A&gt;&lt;BR&gt;&lt;IMG height=641 alt=&quot;&quot; src=&quot;http://www.ibm.com/developerworks/kr/library/j-mylyn1/part1-ui-legend.jpg&quot; width=300&gt; &lt;BR&gt;
&lt;P&gt;&lt;A name=N10217&gt;&lt;SPAN class=smalltitle&gt;&lt;STRONG&gt;&lt;FONT size=3&gt;태스크 저장소 추가하기&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;태스크 저장소들은 태스크 관리에 사용하는 기능과 메타포의 관점에서 매우 광범위하다. Mylyn의 태스크 장치들은 통합된 방식으로 광범위한 저장소와 작업할 수 있도록 한다:&lt;/P&gt;
&lt;TABLE cellSpacing=0 cellPadding=0 width=&quot;32%&quot; align=right border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width=10&gt;&lt;IMG height=1 alt=&quot;&quot; src=&quot;http://www.ibm.com/i/c.gif&quot; width=10&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;TABLE cellSpacing=0 cellPadding=5 width=&quot;100%&quot; border=1&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD bgColor=#eeeeee&gt;&lt;A name=N10223&gt;&lt;B&gt;팁: 저장소 추가 후 설정의 유효성 검사 &lt;/B&gt;&lt;/A&gt;&lt;BR&gt;
&lt;P&gt;가장 많이 보고되는 Mylyn 문제들은 태스크 저장소 연결에 관한 것이다. &lt;B&gt;Validate Settings&lt;/B&gt; 버튼을 사용하여 여러분이 입력한 기밀 정보가 올바른지를 확인한다. 네트워크 프록시 같은 추가 설정이 필요하면, 다른 섹션들 중 하나를 사용하고 이들을 다시 확인한다. 일반적으로, 태스크 저장소 커넥터는 밸리데이션이 실패할 경우 유용한 메시지를 제공한다. 그렇지 않으면, 커넥터용 문서를 참조하거나, 연결 문제 해결을 위한 Mylyn FAQ(&lt;A href=&quot;http://www.ibm.com/developerworks/kr/library/j-mylyn1/index.html#resources&quot; cmImpressionSent=&quot;1&quot;&gt;&lt;U&gt;&lt;FONT color=#996699&gt;참고자료&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;)를 참조하라. 일부 커넥터들은 서버상에서 특별한 설정을 필요로 한다. &lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;B&gt;로컬 태스크&lt;/B&gt;: Eclipse 워크스페이스에 저장된 간단한 태스크들과 작업하는데 사용되는 특별한 종류의 저장소.&lt;BR&gt;&lt;BR&gt;
&lt;LI&gt;&lt;B&gt;공유 태스크&lt;/B&gt;: 팀이 공유 태스크 저장소(예를 들어, Bugzilla 서버)를 사용한다면, 이 저장소를 사용하여 다른 사람들과 협업할 수 있다. &lt;BR&gt;&lt;BR&gt;
&lt;LI&gt;&lt;B&gt;프로젝트 관리 태스크&lt;/B&gt;: XPlanner 같은 커넥터들은 태스크들을 프로젝트 단계와 사용자 스토리로 그룹핑 할 수 있도록 하는 태스크 관리 장치를 제공한다. &lt;BR&gt;&lt;BR&gt;
&lt;LI&gt;&lt;B&gt;버그와 향상 리포트&lt;/B&gt;: 이것은 제품의 사용자들과 지원 팀들간 일반적으로 공유되는 특별한 유형의 태스크들이다. Mylyn은 통합 버그 리포팅을 다른 태스크에도 제공한다. &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Task Repositories 뷰(&lt;B&gt;Window &gt; Show View &gt; Mylyn &gt; Task Repositories&lt;/B&gt;)를 열거나, 이것을 포함하고 있는 Team Synchronizing 퍼스펙티브 같은 퍼스펙티브를 사용함으로써, 태스크 저장소를 만들 수 있다. 일단 열리기만 하면, 뷰의 툴바를 사용하여 새로운 저장소를 추가한다. 저장소 비밀 번호와 기타 연결 상세를 입력하거나, 가용 템플릿들 중 하나를 선택한다. 그림 6의 bugs.eclipse.org 저장소는 Mylyn을 설치할 때 자동으로 생성되어 Mylyn과 Eclipse에 대한 버그와 기능 요청을 쉽게 보고할 수 있도록 한다. &lt;/P&gt;&lt;BR&gt;&lt;A name=fig6&gt;&lt;B&gt;그림 6. Eclipse.org Bugzilla 저장소 추가하기 &lt;/B&gt;&lt;/A&gt;&lt;BR&gt;&lt;IMG height=561 alt=&quot;&quot; src=&quot;http://www.ibm.com/developerworks/kr/library/j-mylyn1/part1-repository.jpg&quot; width=572&gt; &lt;BR&gt;
&lt;P&gt;&lt;A name=N1026F&gt;&lt;SPAN class=smalltitle&gt;&lt;STRONG&gt;&lt;FONT size=3&gt;저장소 쿼리&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;태스크 저장소를 성공적으로 추가했다면, Task List의 팝업 메뉴에 있는 &lt;B&gt;New Query&lt;/B&gt; 액션을 통해 그 저장소에 있는 태스크에 액세스 할 수 있는 쿼리를 만들 수 있다. 예를 들어, 필자의 이메일 주소에 할당된 모든 Bugzilla 리포트에 액세스 할 쿼리를 작성한다. (그림 7):&lt;/P&gt;&lt;BR&gt;&lt;A name=fig7&gt;&lt;B&gt;그림 7. 새로운 Bugzilla 쿼리 만들기 &lt;/B&gt;&lt;/A&gt;&lt;BR&gt;&lt;IMG height=685 alt=&quot;&quot; src=&quot;http://www.ibm.com/developerworks/kr/library/j-mylyn1/part1-query.jpg&quot; width=572&gt; &lt;BR&gt;
&lt;TABLE cellSpacing=0 cellPadding=0 width=&quot;56%&quot; align=right border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width=10&gt;&lt;IMG height=1 alt=&quot;&quot; src=&quot;http://www.ibm.com/i/c.gif&quot; width=10&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;TABLE cellSpacing=0 cellPadding=5 width=&quot;100%&quot; border=1&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD bgColor=#eeeeee&gt;&lt;A name=query_configuration&gt;&lt;B&gt;쿼리 설정 권고&lt;/B&gt;&lt;/A&gt;&lt;BR&gt;
&lt;P&gt;다양한 구성 스타일을 지원하기 위해, Mylyn의 Task List는 카테고리와 쿼리를 설정 및 사용하는 방식을 유연하게 했다. 예를 들어, 팀이 반복을 관리하고 각 Bugzilla 리포트에 마일스톤을 표시하는 것을 중요시 여긴다면, 마일스톤에 상응하는 쿼리를 설정하고, 이들을 사용하여 프로젝트의 진행을 트래킹 할 수 있다. 하지만, Mylyn 팀과 다른 Mylyn 사용자들과 함께 작업해본 필자의 경험 상, 다른 사람들과 많이 협업한다면 개인 별로 쿼리를 설정하고, 여러분에게 할당된 태스크 작업을 주로 한다면 컴포넌트나 제품 영역을 설정하는 것을 권장한다. 모든 태스크 컨테이너들의 팝업 메뉴에서 사용할 수 있는 Task List의 &lt;B&gt;Go Into&lt;/B&gt; 액션을 사용하여 할당된 태스크나 특정 컴포넌트와 관련된 것에만 집중할 수 있다. Task Search (Ctrl+H) 장치를 사용하여 최신의 마일스톤 진행 상황을 알 수 있다. 구체적으로 다음 사항을 권하고 싶다.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;여러분에게 할당된 모든 태스크에 대한 하나의 쿼리를 설정한다. (이를 테면, &quot;All Mine&quot; 같은). 뚜렷한 제품이나 컴포넌트 영역이 있다면, 이 쿼리를 여러 개로 나눌 수 있다. 일반적으로, 싱글 쿼리로 충분하고, Task List가 수행되는 순서대로 태스크를 놓기 때문에 다음에 무엇을 해야 할 지를 쉽게 알 수 있다. &lt;BR&gt;&lt;BR&gt;
&lt;LI&gt;다른 사람들과 면밀히 협업한다면, 이들 각각에 대한 쿼리를 설정한다. Mylyn의 인커밍 공지는 개인별 논의에 대응하고 우선순위를 정하는데 도움이 된다. &lt;BR&gt;&lt;BR&gt;
&lt;LI&gt;여러분이 보고했거나, 주석을 달았거나, 참조가 되었던 모든 버그들에 대한 쿼리를 설정한다. (&quot;Products - Eclipse&quot;와 &quot;Products - Mozilla&quot;) 관심 있는 모든 태스크 저장소에 이를 수행하여, 여러분이 관심을 갖고 있는 모든 리포트에 대한 변경 공지를 받도록 한다. 고유의 태스크를 위해 설정했던 쿼리에 포함된 컴포넌트를 배제함으로써, 쿼리들 간 태스크 중복을 피할 수 있다. &lt;BR&gt;&lt;BR&gt;
&lt;LI&gt;버그를 찾는다면, 버그용 인박스 계정용 개별 쿼리를 설정하여 인커밍 리포트를 모니터링 할 수 있도록 한다. &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;포함시킬 것을 강력히 권장하고 싶다. Mylyn은 기본적으로 완료된 태스크들을 필터링 하고, Task List의 상단에 있는 &lt;B&gt;Find:&lt;/B&gt; 박스를 통해 쉽게 검색할 수 있도록 한다. 쿼리에 미완 태스크들만 포함된다면, 그러한 태스크들이 완료되면, 이 쿼리에서는 더 이상 보이지 않는다. 모든 Mylyn 태스크에 대한 필자의 쿼리는 현재 1,420 개의 엘리먼트를 리턴하고, 이중 대부분이 완료된 것이다. 일반적으로, 이러한 유형의 큰 결과 세트는 문제가 되지 않는다.&lt;/P&gt;
&lt;P&gt;쿼리에서 사라지는 완료 태스크들이 여전히 Archive에 보인다면, 여기에는 여러분이 그 동안 작업했던 모든 태스크들이 포함된 것이다.&lt;/P&gt;
&lt;P&gt;마일스톤 같은 스케줄링 정보에 대한 쿼리를 설정하는 것이 유용할 수 있지만, 다른 사람들과 중복되는 쿼리들로 Task List에 과부하를 줄 수 있다. Search 함수를 사용하여 타겟 마일스톤 같은 것을 쿼리하는 것도 고려해 볼 만하다. 일반적으로, 여러분이 지금 작업 및 협업하고 있는 것을 가능한 자세하게 보여주는 Task List를 설정하는 것이 가장 유용하고, 이 마일스톤에 &quot;다음&quot; 작업이 무엇인지 같은 질문에 빠르게 답할 때에는 검색이 유용하다. &lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P&gt;매개변수를 설정하고 &lt;B&gt;Finish&lt;/B&gt;를 클릭한 후에, Task List의 쿼리 컨테이너에는 상응하는 태스크들로 채워진다. Mylyn은 백그라운드에 태스크용 정보를 가져온다. 태스크 정보가 다운로드 되면, 태스크 열기가 바로 일어난다. 태스크 정보를 검색하기 위한 서버 라운드 트립이 필요가 없기 때문이다. 쿼리의 매개변수들을 변경하려면, 이것을 다시 열고(Task List의 쿼리를 더블 클릭한다.), 선택된 값을 편집한다. 쿼리 매개변수 설정이 커넥터 별로 다양하지만, 이들은 커넥터의 웹 UI에서 제공되는 장치들을 반영한다. 커넥터 문서 또는 서버 웹 UI 문서를 참조하라. &lt;/P&gt;
&lt;P&gt;기본적으로, 쿼리들은 20분 마다 자동으로 동기화 하고, 쿼리 매개변수들과 매치하는 새로운 태스크를 보여준다. (&lt;B&gt;Preferences &gt; Mylyn &gt; Task List&lt;/B&gt;를 통해 이 스케줄을 변경할 수 있다.) Mylyn은 웹에서 연결이 해제될 때 오프라인 모드로 될 필요가 없다. 하지만, 동기화를 끄고 싶다면, 예를 들어, 연장된 기간 동안 오프라인으로 작업하거나, 사용된 대역폭에 직접 지불할 때-Task List의 뷰 메뉴에서 &lt;B&gt;Synchronize Automatically&lt;/B&gt; 설정을 토글링 함으로써 이를 수행할 수 있다. 이 모든 태스크와 쿼리들을 툴바의 버튼을 통해 직접 동기화 하거나, 팝업 메뉴나 F5 키보드 숏컷에서 개별적으로 쿼리를 동기화 할 수 있다. 또한, 태스크 저장소를 오프라인 모드로 둘 수 있다. 이것은 저장소에 액세스 할 수 없을 때 확장된 기간 동안 작업할 때 유용하다. &lt;/P&gt;
&lt;P&gt;웹 브라우저를 통해 액세스 할 수 있는 커넥터의 경우, Mylyn은 여러분도 이미 익숙하고, 일부 연산들이 Mylyn의 풍부한 편집 장치에 의해 지원되지 않는다면 의존해야 하는 웹 UI와의 통합을 제공한다. 태스크나 쿼리를 오른쪽 클릭하여 웹 브라우저에서 연다. (Eclipse 브라우저 설정은 &lt;B&gt;Window &gt; Preferences &gt; General &gt; Web Browser&lt;/B&gt;에 있다.), 제휴 URL을 가진 모든 저장소 태스크는 Task List의 툴바와 태스크 팝업 메뉴의 Open with Browser 액션을 통해 열릴 수 있다. 또한 이 브라우저를 사용하여 Bugzilla 쿼리도 열 수 있다. (예를 들어, Bugzilla 웹 UI를 사용하여 이를 조정하기 위해 이메일에 붙이고 싶을 경우). New Query 마법사 프롬프트가 생기면 이것을 붙임으로써 업데이트 된 URL에서 Task List에 새로운 쿼리를 만들 수 있다. &lt;/P&gt;
&lt;P&gt;&lt;A name=N102D5&gt;&lt;SPAN class=smalltitle&gt;&lt;STRONG&gt;&lt;FONT size=3&gt;태스크 검색하기&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;태스크 검색은 쿼리를 생성하는 것과 비슷하지만, 결과를 Task List에 저장하지 않는다. Ctrl+H 또는 Search 메뉴 (&lt;B&gt;Search &gt; Task Search&lt;/B&gt;)를 사용하고, 관심 있는 저장소를 선택하고, 검색 기준을 입력한 다음 &lt;B&gt;Search&lt;/B&gt;를 클릭한다. Search 뷰가 열리면, 검색과 매치되는 태스크를 열 수 있다. (그림 8) 검색을 조정하려면, Search 다이얼로그를 다시 열고 이전의 검색 기준을 복원한다. 검색 결과는 Search 뷰의 팝업 메뉴에서 쿼리로 바뀔 수 있다. &lt;/P&gt;&lt;BR&gt;&lt;A name=fig8&gt;&lt;B&gt;그림 8. 태스크 검색과 결과&lt;/B&gt;&lt;/A&gt;&lt;BR&gt;&lt;IMG height=267 alt=&quot;&quot; src=&quot;http://www.ibm.com/developerworks/kr/library/j-mylyn1/part1-search.jpg&quot; width=564&gt; &lt;BR&gt;
&lt;P&gt;&lt;A name=N102F3&gt;&lt;SPAN class=smalltitle&gt;&lt;STRONG&gt;&lt;FONT size=3&gt;저장소 태스크 만들기&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;새로운 저장소 태스크를 만들려면, Task List 툴바나 &lt;B&gt;File &gt; New&lt;/B&gt; 메뉴에서 상응하는 액션을 사용하면서, 저장소를 선택한다. 이 단계 후에, 커넥터는 Bugzilla 컴포넌트 같은 이 태스크용 추가 애트리뷰트를 요청할 것이다. 새로운 에디터가 열리면 태스크의 애트리뷰트와 디스크립션을 채울 수 있다. 여러분이 Bugzilla 커넥터를 사용하고 있다면 운영 체계 같은 일부 애트리뷰트는 자동으로 선택된다.&lt;/P&gt;
&lt;TABLE cellSpacing=0 cellPadding=0 width=&quot;40%&quot; align=right border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width=10&gt;&lt;IMG height=1 alt=&quot;&quot; src=&quot;http://www.ibm.com/i/c.gif&quot; width=10&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;TABLE cellSpacing=0 cellPadding=5 width=&quot;100%&quot; border=1&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD bgColor=#eeeeee&gt;&lt;A name=N10302&gt;&lt;B&gt;팁: 쿼리 모드의 오른쪽 클릭&lt;/B&gt;&lt;/A&gt;&lt;BR&gt;
&lt;P&gt;쿼리 모드를 오른쪽 클릭하면, 쿼리에 해당하는 저장소나 제품을 자동으로 선택할 수 있다. 일반적으로, 인풋을 요하는 함수를 호출하면, Mylyn은 여러분의 선택을 사용하여 관련 인풋을 미리 선택한다.&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P&gt;여러분이 만들어야 하는 또 다른 종류의 태스크는 Mylyn용 버그 리포트 또는 Eclipse 기반 툴이다. 버그 리포팅은 bugs.eclipse.org 저장소의 자동 추가와, Eclipse의 Error Log 뷰와 Help 메뉴에서 액세스 할 수 있는 자동 버그 리포팅 용 액션을 통해 쉽게 수행된다. 보고하고 싶은 에러 이벤트를 보게 되면, 이것을 오른쪽 클릭하고, &lt;B&gt;Report as Bug&lt;/B&gt;를 선택한다. New Repository Task 에디터가 열리고, 스택 트레이스 같은 모든 관련 정보들이 포함된다. &lt;/P&gt;
&lt;P&gt;이러한 종류의 원클릭 버그 리포팅으로 수 많은 중복 버그 파일링을 만들 수 있지만, Mylyn은 자동화된 중복 탐지를 수행한다. &lt;B&gt;Search for Duplicates&lt;/B&gt; 버튼은 잠재적 중복에 대해 해당 저장소를 쿼리하기 위해 리포트의 Description에 있는 스택 태스크를 자동 삽입하거나, 직접 붙인다. 중복 탐지의 결과가 Search 뷰에 나타난다. (그림 9) 매치가 이루어지면, 이것을 열고, 새로운 버그 리포트를 만드는 대신 코멘트를 단다. &lt;/P&gt;&lt;BR&gt;&lt;A name=fig9&gt;&lt;B&gt;그림 9. 통합된 버그 리포팅과 중복 탐지&lt;/B&gt;&lt;/A&gt;&lt;BR&gt;&lt;IMG height=520 alt=&quot;&quot; src=&quot;http://www.ibm.com/developerworks/kr/library/j-mylyn1/part1-duplicate.jpg&quot; width=505&gt; &lt;BR&gt;
&lt;P&gt;&lt;A name=N10327&gt;&lt;SPAN class=smalltitle&gt;&lt;STRONG&gt;&lt;FONT size=3&gt;편집과 동기화&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Bugzilla 태스크를 열면, 에디터 상에 Bugzilla와 Planning 탭을 볼 수 있다. 저장소 커넥터는 저장소에서 공유되는 태스크 정보를 편집하기 위해 Bugzilla 탭 같은 풍부한 에디터를 제공한다. 또한, Planning 탭은 개인용 노트를 만드는데 로컬 태스크에 있었던 것과 같은 장치를 제공한다. &lt;/P&gt;
&lt;P&gt;버그에 있는 코멘트를 볼 때, Outline 뷰를 사용하여 코멘트들간 검색할 수 있지만, 읽지 않은 코멘트의 자동 폴딩(folding)은 대부분의 네비게이션이 Task Editor 자체에서 수행될 수 있다는 것을 의미한다. 다른 태스크와 다른 구조화 된 엘리먼트(자바 스택 트레이스 엘리먼트)에 대한 레퍼런스가 하이퍼링크 된다. (그림 10과 &lt;A href=&quot;http://www.ibm.com/developerworks/kr/library/j-mylyn1/index.html#fig1&quot; cmImpressionSent=&quot;1&quot;&gt;&lt;U&gt;&lt;FONT color=#996699&gt;그림 1&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;) 하이퍼링크의 신택스는 커넥터 전용이다. 일반적으로, 태스크 에디터의 좌측 상단에서 보게 되는 같은 레퍼런스는 버그를 하이퍼링크로 연결하는데 사용될 수 있다. 커넥터의 웹 UI에 의해 지원되는 대안 신택스들 역시 지원된다. &lt;I&gt;task &lt;key&gt;&lt;/I&gt; 신택스는 언제나 지원된다. &lt;/P&gt;&lt;BR&gt;&lt;A name=fig10&gt;&lt;B&gt;그림 10. 저장소 태스크 에디터와 콘텐트 어시스트 &lt;/B&gt;&lt;/A&gt;&lt;BR&gt;&lt;IMG height=514 alt=&quot;&quot; src=&quot;http://www.ibm.com/developerworks/kr/library/j-mylyn1/part1-editor-repository.jpg&quot; width=559&gt; &lt;BR&gt;
&lt;P&gt;커넥터가 오프라인 편집을 지원하면, Mylyn은 상응하는 쿼리나 태스크가 동기화 될 때마다 이 카피를 열고 업데이트 하는 태스크의 캐싱된 카피를 관리한다. 애트리뷰트를 설정하거나 코멘트의 부분들을 합성하는 것 같이 어떤 변경이라도 있으면, Ctrl+S를 눌러서 변경 사항을 로컬로 저장한다. 이로써, 태스크들은 아웃고잉(&lt;I&gt;outgoing&lt;/I&gt;) 인디케이터를 얻게 된다. 태스크를 제출 할 준비가 되면, 에디터 하단에 있는 &lt;B&gt;Submit&lt;/B&gt;을 클릭한다. &lt;/P&gt;
&lt;P&gt;태스크가 이전에 열렸다면, 이것을 다시 열면 오프라인 카피를 가져오게 되고, 태스크의 백그라운드 동기화를 시작한다. 여러분은 태스크를 읽고 작업을 시작하기 전에 서버로의 라운드 트립을 기다릴 필요가 없다. 새로운 인커밍 변화가 발견되거나, 누군가가 에디터가 열려있는 동안 태스크를 변경한다면, 에디터의 타이틀 바는 이를 가리키고, 에디터를 리프레시 할 것을 명령한다. &lt;/P&gt;
&lt;TABLE cellSpacing=0 cellPadding=0 width=&quot;40%&quot; align=right border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width=10&gt;&lt;IMG height=1 alt=&quot;&quot; src=&quot;http://www.ibm.com/i/c.gif&quot; width=10&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;TABLE cellSpacing=0 cellPadding=5 width=&quot;100%&quot; border=1&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD bgColor=#eeeeee&gt;&lt;A name=N10358&gt;&lt;B&gt;팁: 이메일 인박스 정돈하기&lt;/B&gt;&lt;/A&gt;&lt;BR&gt;
&lt;P&gt;Mylyn의 백그라운드 동기화 덕분에, Bugzilla의 버그 리포트 변경 사항을 알기 위해 이메일 공지에 의존하지 않아도 된다. 여러분이 관심 있는 (예를 들어, 복사했던 모든 리포트 같은) 모든 태스크를 캡쳐하는 쿼리를 설정하면, 인박스에 과부하를 주지 않는 깔끔한 인커밍 화살표의 형태로 공지를 받을 수 있다. &lt;B&gt;Window &gt; Preferences &gt; Mylyn &gt; Tasks&lt;/B&gt;를 선택함으로써 동기화 스케줄을 설정한다. 트리에서 노드를 오른쪽 클릭하고 &lt;B&gt;Synchronize&lt;/B&gt;를 선택함으로써 쿼리와 태스크를 직접 동기화 할 수 있다.&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P&gt;누군가가 저장소의 태스크를 변경한다면, 예를 들어, 새로운 주석을 추가한다면, 팝업 창이 스크린의 오른쪽 밑에 나타나서 변경 사항을 알려주고, 태스크는 &lt;I&gt;인커밍&lt;/I&gt; 화살표를 사용하여 보여진다. 인커밍 변화를 요약한 툴팁을 보려면 태스크 위에 마우스를 댄다. 태스크가 열리면, 변경 사항이 하이라이트 되고, 추가되었던 새로운 코멘트가 자동으로 확장된다. 로컬 카피와 서버의 카피가 변경되었다면, 빨간색 충돌 모양의 인디케이터가 나타나고, 문제를 해결하라는 프롬프트가 뜬다. 충돌 모양을 보게 되면, 태스크가 태스크 에디터의 &lt;B&gt;Synchronize&lt;/B&gt; 버튼을 통해 동기화 되고, 변경 사항을 제출했는지 확인하거나, 팝업 메뉴의 &lt;B&gt;Mark &gt; Clear Outgoing&lt;/B&gt;을 통해 이들을 버린다. &lt;/P&gt;
&lt;P&gt;&lt;A name=N10374&gt;&lt;SPAN class=smalltitle&gt;&lt;STRONG&gt;&lt;FONT size=3&gt;첨부 파일&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;태스크 에디터의 Attachments 섹션에서 &lt;B&gt;Add...&lt;/B&gt; 버튼을 사용하여 저장소에 첨부 파일을 추가할 수 있다. 워크스테이션에서 윈도우 매니저에서 파일이나 텍스트를 에디터의 Attachments 섹션으로 가져올 수 있다. 첨부 파일을 추가하면, 첨부 파일들이 클립보드 콘텐트, 컴퓨터 상의 파일, Eclipse 워크스페이스 중 어디에서 생성되는지를 선택할 수 있는 마법사가 호출된다. Attachments 테이블에서는 웹 브라우저나 에디터에 첨부 파일을 열고 저장 또는 클립보드로 복사하기 같은 콘텍스트 메뉴를 통해 특정 액션을 수행한다. &lt;/P&gt;&lt;BR&gt;
&lt;TABLE cellSpacing=0 cellPadding=0 width=&quot;100%&quot; border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;IMG height=1 alt=&quot;&quot; src=&quot;http://www.ibm.com/i/v14/rules/blue_rule.gif&quot; width=&quot;100%&quot;&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;TABLE class=no-print cellSpacing=0 cellPadding=0 align=right&gt;
&lt;TBODY&gt;
&lt;TR align=right&gt;
&lt;TD&gt;&lt;IMG height=4 alt=&quot;&quot; src=&quot;http://www.ibm.com/i/c.gif&quot; width=16 border=0&gt;&lt;BR&gt;
&lt;TABLE cellSpacing=0 cellPadding=0 border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD vAlign=center&gt;&lt;IMG height=16 alt=&quot;&quot; src=&quot;http://www.ibm.com/i/v14/icons/u_bold.gif&quot; width=16 border=0&gt;&lt;BR&gt;&lt;/TD&gt;
&lt;TD vAlign=top align=right&gt;&lt;A class=fbox href=&quot;http://www.ibm.com/developerworks/kr/library/j-mylyn1/index.html#main&quot; cmImpressionSent=&quot;1&quot;&gt;&lt;B&gt;&lt;FONT color=#996699&gt;위로&lt;/FONT&gt;&lt;/B&gt;&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR&gt;&lt;BR&gt;
&lt;P&gt;&lt;A name=planning&gt;&lt;SPAN class=atitle&gt;태스크 관리와 개인 플래닝&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;이제, Mylyn에 싱글 태스크 리스트와 주간 작업일에 관련된 모든 태스크를 관리하는 인박스를 만드는 방법을 설명하겠다. 많은 개발자들의 경우, 주어진 주간 작업일에 트래킹 및 스케줄링 되어야 할 태스크 범위는 다음과 같다:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;작업하고 있는 제품을 위해 해결해야 하는 결점과 기능 
&lt;LI&gt;짝을 이룬 동료들에 의해 수행되거나, 멘토링 또는 관리되어야 할 태스크 
&lt;LI&gt;프레임웍, API, 소프트웨어와 관련한 버그 리포트 
&lt;LI&gt;개인적인 to-do 아이템과 리마인더 &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;이 모든 태스크들을 하나의 뷰로 통합하면 다음에 해야 할 일을 보기 위해 한 곳만 보면 되므로, 관리가 더 쉬워진다. 태스크 관리를 더욱 잘 활용하기 위해서, Mylyn은 스케줄링 및 연기 태스크와 XP 스타일 개발의 직접성과 적응성 같은 일반적으로 인식된 태스크 관리 베스트 프랙티스를 실현했다. Mylyn의 태스크 관리 툴을 사용하여 장기적인 우선 순위를 잃지 않으면서 한 주 동안 쉽게 변화하는 요구 사항들의 변화에 쉽게 적응할 수 있다. 주간 작업일의 제어하는 것 외에도, Mylyn은 Eclipse를 떠나지 않은 채, 마일스톤과 우선 순위 같은 공유 저장소 애트리뷰트를 만듦으로써 팀 프랙티스와 통합할 수 있도록 해준다. &lt;/P&gt;
&lt;P&gt;&lt;A name=N1039C&gt;&lt;SPAN class=smalltitle&gt;&lt;STRONG&gt;&lt;FONT size=3&gt;Scheduled Date 대 Due Date&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Mylyn은 스케줄링 목적으로 두 가지 종류의 날짜를 제공한다: &lt;I&gt;scheduled date&lt;/I&gt;와 &lt;I&gt;due date&lt;/I&gt;. (이 두 가지가 태스크 에디터에 나타났다는 것을 알 수 있다.) Scheduled Date는 주 노동 시간을 관리하고 우선 순위를 정하는 것을 돕는 반면, Due Date는 데드라인 같은 고정된 이벤트에 해당한다.&lt;/P&gt;
&lt;P&gt;태스크의 Scheduled Date는 우선 순위 변경에 따라 쉽게 연기될 수 있는 개인용 스케줄링을 위한 소프트(soft) 데이트이다. 그 태스크에 대한 작업을 시작하는 시간을 정한다. 태스크가 이 Scheduled Date에 해당하면, 태스크는 빨간색으로 변하고 작업을 시작하거나 시작일을 미뤄야 함을 알려준다. Today로 스케줄링 된 태스크는 빨간색 대신 파란색으로 변하고, 작업일의 끝에 스케줄링 되기 때문에, 작업일에 태스크를 재 스케줄링 할 필요가 없다. &lt;/P&gt;
&lt;P&gt;반대로, 태스크의 Due Date는 고정된 날짜이다. 태그가 완료되어야 하는 날짜이다. 이것은 데드라인 같은 외부적 제약 조건과 관련이 있다. 공유 태스크 저장소나 캘린더링 툴을 사용한다면, Due Date는 동기화 되어 다른 팀 멤버들도 볼 수 있다. 예를 들어, Bugzilla의 타임 트래킹(time-tracking) 장치가 실행되면, Bugzilla 태스크용 Due Date는 태스크 에디터의 Attributes 섹션 내의 Time Tracking 섹션을 통해 설정될 수 있고 다른 팀 멤버들이 편집할 수 DT다. Due Date의 존재는 해당 날짜 전에는 파란색, 그 날짜 후에는 빨간색이 되는 태스크 아이콘 상의 작은 시계로 표시된다. &lt;/P&gt;
&lt;P&gt;&lt;A name=N103B1&gt;&lt;SPAN class=smalltitle&gt;&lt;STRONG&gt;&lt;FONT size=3&gt;주 노동 시간에 집중하기&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Mylyn으로 태스크 생성과 공유가 쉽기는 하지만, 일단 이것을 사용하기 시작하면, Task List는 곧 수십 개 또는 수천 개의 태스크들로 넘쳐날 것이다. 이러한 현상은 Mylyn의 초기 사용자들에게 일어났으며, 필자도 그 중 하나다. 아마도 필자가 최초의 사용자였기 때문에, 필자의 현재 Task List에는 5천 개 이상의 태스크들이 있고, 이중 천 개 이상이 미완이다. 이것은 정보 오버로드를 줄이고자 하는 Mylyn의 목표에 배치된다. 이를 해결하기 위해, Mylyn은 태스크의 스케줄링과 연기에 체계화 된 장치들을 제공하고, 이러한 정보를 사용하여 주 노동 시간에 관련된 태스크들만 보여주는 Task List에 집중한다. 새롭게 생성된 태스크들은 생성일에 대해 스케줄링 되고, 태스크 에디터의 Planning 섹션이나 콘텍스트 메뉴를 통해서 나중 시간 또는 날짜로 빠르게 연기될 수 있다. &lt;/P&gt;
&lt;P&gt;태스크가 Scheduled Date에 도달하면, 태스크와 컨테이너(쿼리)는 빨간색으로 변하고, 팝업 창이 리마인더로서 데스크탑에 나타난다. (다른 Mylyn 색상과 폰트 설정과 마찬가지로, &lt;B&gt;Window &gt; Preferences &gt; General &gt; Appearance &gt; Colors and Fonts&lt;/B&gt;에서 태스크 강조 선호도를 설정할 수 있다.) &lt;B&gt;Window &gt; Mylyn &gt; Tasks &gt; Scheduling&lt;/B&gt;에 설정된 작업일의 시작은 미래 날짜로 연기될 때 태스크가 스케줄링 되는 시간을 정한다. 작업일의 끝을 변경하면 그 날에 스케줄링 된 태스크들이 지난 것인지 여부를 파악한다. &lt;/P&gt;
&lt;P&gt;Mylyn의 태스크 관리 모델의 핵심은 관심 기반 랭킹과 필터링인데, 이것은 Task List 툴바의 Focus on Workweek 액션을 통해 활성화 할 수 있다. 포커싱은 주 노동 시간에 관련된 태스크들만 보이게끔 한다. 여기에 속한 태스크들은:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;그 주에 스케줄링 되거나 Scheduled Date를 지나친 태스크. 
&lt;LI&gt;인커밍 변경과 코멘트가 있는 저장소 태스크. &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;그림 11에서 보듯, 태스크에는 색깔이 있고 다음에 무엇을 할 지 빠르게 구분할 수 있도록 분류된다:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;시일이 지난 태스크들은 빨간색이고, 언제나 리스트의 위에 있다. 
&lt;LI&gt;오늘 날짜의 태스크는 파란색이다. 
&lt;LI&gt;그 주의 후반에 스케줄링 된 태스크는 검정색이다. 
&lt;LI&gt;오늘 완료된 태스크는 녹색이다. 
&lt;LI&gt;이전에 완료된 태스크들은 회색이다. &lt;/LI&gt;&lt;/UL&gt;&lt;BR&gt;&lt;A name=fig11&gt;&lt;B&gt;그림 11. 태스크 스케줄링&lt;/B&gt;&lt;/A&gt;&lt;BR&gt;&lt;IMG height=506 alt=&quot;&quot; src=&quot;http://www.ibm.com/developerworks/kr/library/j-mylyn1/part1-scheduling.jpg&quot; width=560&gt; &lt;BR&gt;
&lt;P&gt;&lt;A name=N103F3&gt;&lt;SPAN class=smalltitle&gt;&lt;STRONG&gt;&lt;FONT size=3&gt;한 번에 하루씩&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;태스크를 쉽게 스케줄링 하고 연기할 수 있게 하고, 해당 주에 스케줄링 된 태스크들로 뷰를 제한함으로써, Mylyn은 전체적인 우선 순위 관점에서 관리할 수 있도록 한다. 작업일을 명확히 하기 위해, Mylyn은 현재 요일에 스케줄링 된 모든 태스크들을 파란색으로 강조한다. 포커스 모드에서 작업할 때 스크롤바를 비교적 덜 보기 때문에, Task List는 확장된 채로 있고, 따라서, 다음에 해야 할 일에 대해 언제나 알 수 있다. &lt;/P&gt;
&lt;P&gt;Mylyn의 태스크 포커싱 장치를 사용하여 관리되는 주 노동 시간 예제를 생각해 보자:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;주의 시작에, 태스크 리스트에는 그 주에 이전에 스케줄링 되었거나 연기된 수 많은 빨간색 태스크들이 있다. &lt;BR&gt;&lt;BR&gt;
&lt;LI&gt;빨간 색은 그렇게 좋은 색깔은 아니기 때문에, 콘텍스트 메뉴를 사용하여 각 태스크를 오늘 또는 다른 날로 스케줄링 한다. 빨간색이 모두 사라지면(오늘 날짜는 파란색, 주 후반에 해야 할 일은 검은색), 주의 스케줄을 조사하여 이것이 현실적인지를 파악하고 태스크를 필요한 만큼 연기하거나 위임한다. &lt;BR&gt;&lt;BR&gt;
&lt;LI&gt;Task List가 포커싱 되어 있는 한, 녹색의 진행 바(그림 11의 Task List 상단에 보임)를 통해서 주 노동 시간에 너무 많은 태스크들을 스케줄링 하지 않았는지를 검사한다. 일부 태스크들이 특별히 더 길다면, 태스크의 Planning 섹션을 열어서 시간을 조정하고, 주 노동 시간 상태 바는 이에 따라서 조정된다. &lt;BR&gt;&lt;BR&gt;
&lt;LI&gt;작업일의 끝에, 여러분이 완료한 모든 태스크들은 행복한 녹색이 된다. 나머지 파란색이나 빨간색 태스크를 검토하고, 이 태스크를 내일 또는 미래의 특정 날짜로 연기한다. &lt;BR&gt;&lt;BR&gt;
&lt;LI&gt;다음 날의 시작에, 그 날로 스케줄링 된 모든 태스크들이 파란색이 되고, 날짜가 지난 태스크들은 빨간색이 된다. 작업일을 조정하면, 태스크들을 그 주의 나중 날짜로 연기하기 때문에, 보여지는 파란색 태스크는 그날 수행할 수 있는 모든 것을 나타낸다. 태스크를 완료하면, 녹색이 된다. &lt;BR&gt;&lt;BR&gt;
&lt;LI&gt;주 노동 시간의 끝에서는, 스크롤바는 사라지고, 리스트 상의 대부분의 태스크들이 녹색이 된다. &lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;태스크 스케줄링은 태스크 관리의 주요 부분이기 때문에, Mylyn은 Task List에 &lt;B&gt;Scheduled&lt;/B&gt; 프리젠테이션을 제공하는데, 이것은 카테고리와 쿼리 대신 해당 날짜 별로 태스크들을 구성한다. 포커스 모드에서, 프리젠테이션은 그 주의 각 요일에 완료해야 하는 모든 태스크들을 보여준다. 이것은 그 주를 통해 워크로드의 균형을 맞추는데 유용하다. 또한, 새로운 코멘트가 있는 스케줄링 되지 않은 태스크들이 나타나지 않기 때문에 공유 태스크를 사용할 때 특히 유용하다. 새로운 인커밍을 체크하기 위해, &lt;B&gt;Categorized&lt;/B&gt; 프리젠테이션으로 가서, 우선 순위를 재 조정하고, 스케줄에 초점을 맞춘다. 포커스 모드에 있지 않을 때, 스케줄링 된 프리젠테이션을 사용하여 앞으로의 주에 태스크 로드의 균형을 맞춰서 Next Week 컨테이너를 검사하여 얼마나 많은 태스크들이 연기되었는지를 확인한다. &lt;/P&gt;
&lt;P&gt;&lt;A name=N10431&gt;&lt;SPAN class=smalltitle&gt;&lt;STRONG&gt;&lt;FONT size=3&gt;작업 세트 만들기&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;지금까지 설명했던 모든 장치들이 Task List를 유연한 방식으로 스케줄링 할 수 있는 관련 태스크들의 통합 세트로 만든다. 태스크들은 쿼리들을 사용하여 그룹핑 될 수 있고, 저장소 커넥터가 이들을 지원한다면 하위 태스크들로 중첩될 수 있다. (Bugzilla 커넥터가 하는 것처럼, Task List 뷰 메뉴에서 옵션을 실행한다.) 하지만, Mylyn 2.0의 작업 세트(&lt;I&gt;working set&lt;/I&gt;) 지원으로, 완전히 관련이 없는 태스크들을 작업할 수 있다. 하나의 제품과 두 개의 다른 오픈 소스 프로젝트에 대한 작업을 한다고 가정해 보자. 주요 제품에 초점을 맞춰 작업일의 대부분을 보내겠지만, 여전히 다른 프로젝트를 체크하는 옵션도 있다. Mylyn의 작업 세트로는 특정 제품과 관련된 쿼리와 카테고리를 그룹핑 할 수 있고 Eclipse 워크스페이스에서 보는 파일과 기타 리소스의 수를 조정하는 장치도 제공한다. &lt;/P&gt;
&lt;TABLE cellSpacing=0 cellPadding=0 width=&quot;40%&quot; align=right border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width=10&gt;&lt;IMG height=1 alt=&quot;&quot; src=&quot;http://www.ibm.com/i/c.gif&quot; width=10&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;TABLE cellSpacing=0 cellPadding=5 width=&quot;100%&quot; border=1&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD bgColor=#eeeeee&gt;&lt;A name=N10440&gt;&lt;B&gt;팁: Show all&lt;/B&gt;&lt;/A&gt;&lt;BR&gt;
&lt;P&gt;작업 세트 스위처 드롭-다운에서 &lt;B&gt;Show All&lt;/B&gt;을 선택하여, 마치 작업 세트를 설정하지 않은 것처럼, 모든 엘리먼트를 볼 수 있다. 이는 Task List 전체를 주기적으로 보는데 유용하다. &lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P&gt;Task List의 상단에 스위처 바를 사용하여, 관련 쿼리, 카테고리, 워크스페이스 리소스를 포함하는 작업 세트를 만든다. (그림 12) Eclipse 뷰가 &lt;I&gt;Window Working Set&lt;/I&gt; (기본)을 보여주도록 설정되는 한, Mylyn 작업 세트를 변환하면 Task List와 Eclipse 뷰 모두 작업 세트의 일부인 태스크와 프로젝트만 보여준다. 예를 들어, 오픈 소스 프로젝트들 중 하나를 위해 작업 세트를 설정하고 이것을 드롭 다운으로 실행한다면, Eclipse Task List, Package Explorer, Problems 뷰는 그 프로젝트와 관련된 콘텐트만 보여준다. Task List Find 장치는 작업 세트 내의 매치만 보여준다. Search (Ctrl+H) 범위를 정해서 Working Set에 있는 것만 찾을 수 있는데, 이는 큰 워크스페이스를 갖고 있을 경우 매우 유용하다. 다시 말해서, 전체적인 Eclipse는 여러분이 만들었던 작업 세트와 관련된 것만 보여준다. 작업 세트는 워크스페이스의 난잡함을 줄이고, 여러 워크스페이스를 사용해야 하는 필요성을 줄인다. &lt;A href=&quot;http://www.ibm.com/developerworks/java/library/j-mylyn2/&quot; target=new cmImpressionSent=&quot;1&quot;&gt;&lt;U&gt;&lt;FONT color=#5c81a7&gt;Part 2&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;에서는, Eclipse에서 보이는 것의 범위를 싱글 태스크로 조정하는 방법을 설명하겠다.&lt;/P&gt;&lt;BR&gt;&lt;A name=fig12&gt;&lt;B&gt;그림 12. 작업 세트 편집 및 토글링&lt;/B&gt;&lt;/A&gt;&lt;BR&gt;&lt;IMG height=607 alt=&quot;&quot; src=&quot;http://www.ibm.com/developerworks/kr/library/j-mylyn1/part1-working-sets.jpg&quot; width=572&gt; &lt;BR&gt;
&lt;P&gt;&lt;A name=N10467&gt;&lt;SPAN class=smalltitle&gt;&lt;STRONG&gt;&lt;FONT size=3&gt;필터링, 분류, 검색&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;자동화 된 장치 외에도, Mylyn은 수동 분류와 필터링 장치를 제공한다:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;뷰 메뉴의 &lt;B&gt;Sort by&lt;/B&gt; 엔트리에서 Priority 같은 애트리뷰트 분류. 
&lt;LI&gt;뷰 메뉴에서 &lt;B&gt;Filter Priority Lower Than&lt;/B&gt; 엔트리를 사용한 우선 순위 별 필터링. 
&lt;LI&gt;뷰 메뉴를 통한 모든 Archive 카테고리와 완료 태스크 필터링(포커스 모드로 자동 바뀌도록 권장) 
&lt;LI&gt;&lt;B&gt;Go Into&lt;/B&gt; (포커스 모드 작업 권장)를 클릭함으로써 특정 카테고리나 쿼리에 있는 태스크들을 위한 필터링 
&lt;LI&gt;드래그&amp;드롭을 사용하여 태스크들을 수동으로 분류하기; 저장소 태스크들을 카테고리로 분류하기. &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;그림 13은 수동 Task List 필터를 보여준다:&lt;/P&gt;&lt;BR&gt;&lt;A name=fig13&gt;&lt;B&gt;그림 13. 수동 Task List 필터&lt;/B&gt;&lt;/A&gt;&lt;BR&gt;&lt;IMG height=476 alt=&quot;&quot; src=&quot;http://www.ibm.com/developerworks/kr/library/j-mylyn1/part1-filters.jpg&quot; width=491&gt; &lt;BR&gt;
&lt;P&gt;수동 검색과 필터링은 다양한 필터와 분류기를 반복적으로 토글링하는데 필요한 부담을 나타낸다. 이것은 기본 연산 모드에는 권장되지 않지만, 플래닝과 구성에는 유용하다. Focus on Workweek이 활성화 되면, 수동 필터링과 분류 설정이 실행 불가로 된다. 포커스를 토글링 하여 이를 복원한다. &lt;/P&gt;
&lt;P&gt;Task List를 구성할 때, &lt;B&gt;Move to Category&lt;/B&gt; 콘텍스트 메뉴 또는 콘텍스트 메뉴의 &lt;B&gt;Remove from Category&lt;/B&gt;를 선택함으로써 태스크를 이동할 수 있다. 콘텍스트 메뉴를 통해서 명확히 삭제하지 않는 한, 쿼리에서 사라지거나, 카테고리에서 사라지겠지만, Task List에서 어떤 태스크도 사라지지 않는다. Task List의 상단에 있는 Find 바는 Archive와 다른 곳에 있는 오랜 태스크들을 검색할 수 있는 편리한 방법이다. &lt;B&gt;Clear&lt;/B&gt; 버튼을 클릭하거나 Esc 키를 누르면 이전에 보였던 태스크들이 복원된다. Archive 컨테이너는 쿼리를 생성하는 일반적인 방식이 해결된 태스크들을 배제하는 것이기 때문에 코멘트가 달린 이전에 해결된 태스크들을 보는데 유용하다. (&lt;A href=&quot;http://www.ibm.com/developerworks/kr/library/j-mylyn1/index.html#query_configuration&quot; cmImpressionSent=&quot;1&quot;&gt;&lt;U&gt;&lt;FONT color=#996699&gt;쿼리 설정 권고&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt; 참조) &lt;/P&gt;
&lt;P&gt;&lt;A name=N104B0&gt;&lt;SPAN class=smalltitle&gt;&lt;STRONG&gt;&lt;FONT size=3&gt;백업과 반출&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;
&lt;TABLE cellSpacing=0 cellPadding=0 width=&quot;55%&quot; align=right border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width=10&gt;&lt;STRONG&gt;&lt;FONT size=3&gt;&lt;IMG height=1 alt=&quot;&quot; src=&quot;http://www.ibm.com/i/c.gif&quot; width=10&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;TABLE cellSpacing=0 cellPadding=5 width=&quot;100%&quot; border=1&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD bgColor=#eeeeee&gt;&lt;A name=N104B9&gt;&lt;STRONG&gt;팁: 태스크 데이터 공유하기&lt;/STRONG&gt;&lt;/A&gt;&lt;BR&gt;
&lt;P&gt;여러 워크스페이스에서 작업할 때, Import를 사용하여 태스크를 가져오는 대신, &lt;B&gt;Window &gt; Preferences &gt; Mylyn &gt; Tasks&lt;/B&gt;를 설정하여 태스크 데이터 디렉토리가 공유 위치가 되도록 설정할 수 있다. 네트워크 드라이브에 위치를 둔다면, 이것이 자주 액세스 될 것이므로 빠른 연결을 통해 사용할 수 있어야 한다. 이는 워크스페이스 위치를 직접 관리하는 사용자들을 위해 권장되는 고급 옵션이다. &lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P&gt;태스크 중심 방식으로 작업하면 할수록, Task List는 더욱 가치가 있다. Task List의 자동 백업은 기본적으로 실행되고, &lt;B&gt;Window &gt; Preferences &gt; Mylyn &gt; Tasks&lt;/B&gt;로 백업 디렉토리를 설정할 수 있다. 백업에서 복원하려면, 상응하는 라디오 버튼을 선택하고 백업 스냅샷을 선택한다. 기본적으로, Mylyn은 매일 태스크 데이터 모두를 찍고, 30일 동안 백업을 관리한다. (&lt;B&gt;Preferences &gt; Tasks&lt;/B&gt;를 통해 설정). &lt;B&gt;File &gt; Export&lt;/B&gt;를 클릭하여 태스크를 반출할 수 있다. &lt;/P&gt;&lt;BR&gt;
&lt;TABLE cellSpacing=0 cellPadding=0 width=&quot;100%&quot; border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;IMG height=1 alt=&quot;&quot; src=&quot;http://www.ibm.com/i/v14/rules/blue_rule.gif&quot; width=&quot;100%&quot;&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;TABLE class=no-print cellSpacing=0 cellPadding=0 align=right&gt;
&lt;TBODY&gt;
&lt;TR align=right&gt;
&lt;TD&gt;&lt;IMG height=4 alt=&quot;&quot; src=&quot;http://www.ibm.com/i/c.gif&quot; width=16 border=0&gt;&lt;BR&gt;
&lt;TABLE cellSpacing=0 cellPadding=0 border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD vAlign=center&gt;&lt;IMG height=16 alt=&quot;&quot; src=&quot;http://www.ibm.com/i/v14/icons/u_bold.gif&quot; width=16 border=0&gt;&lt;BR&gt;&lt;/TD&gt;
&lt;TD vAlign=top align=right&gt;&lt;A class=fbox href=&quot;http://www.ibm.com/developerworks/kr/library/j-mylyn1/index.html#main&quot; cmImpressionSent=&quot;1&quot;&gt;&lt;B&gt;&lt;FONT color=#996699&gt;위로&lt;/FONT&gt;&lt;/B&gt;&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR&gt;&lt;BR&gt;
&lt;P&gt;&lt;A name=N104D2&gt;&lt;SPAN class=atitle&gt;Part 1의 결론&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Mylyn 사용 가이드 Part 1에서는, Mylyn의 태스크 관리 장치에 대해 설명했다. 이러한 장치들이 개인적인 태스크 관리를 어떻게 지원하고, 전체적으로 Bugzilla 같은 웹 기반 이슈 트래커들을 Eclipse로 어떻게 통합하는지를 살펴보았다. 또한 Mylyn에 의해 관리되는 전형적인 주 노동 시간 또는 작업일을 설명했고, Task List를 관리 하는 방법도 설명했다. &lt;/P&gt;
&lt;P&gt;Task List 뷰는 태스크 저장소들이 얼마나 많은지 상관 없이, 모든 작업을 관리할 수 있는 하나의 장소를 제공한다. Eclipse에서 더 많은 작업 시간을 보낼 수 있고, 외부 브라우저 윈도우로 끊임 없이 변환하는 대신 생산성을 높일 수 있다. 또한, 드래그&amp;드롭 첨부 파일과 오프라인 지원 같은 웹 기반 이슈 트래커로 더욱 풍부한 혜택을 누릴 수 있다. &lt;/P&gt;
&lt;P&gt;이것이 Mylyn의 전부가 아니다. 태스크가 작업의 확실한 일부가 되면, Mylyn은 그 콘텍스트를 자동으로 관리한다. 본 시리즈 Part 2에서는 Mylyn의 콘텍스트 관리 장치를 보여주고, 정보 오버로드를 줄이고, 정보 오버로드를 줄이며, 하나의 클릭으로 멀티 태스킹을 수행하는 방법을 설명한다. 지금 바로 &lt;A href=&quot;http://www.ibm.com/developerworks/java/library/j-mylyn2/&quot; target=new cmImpressionSent=&quot;1&quot;&gt;&lt;U&gt;&lt;FONT color=#5c81a7&gt;Part 2&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;로 가기 바란다. &lt;/P&gt;&lt;BR&gt;&lt;BR&gt;
&lt;P&gt;&lt;A name=resources&gt;&lt;SPAN class=atitle&gt;참고자료&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;&lt;B&gt;교육&lt;/B&gt;&lt;BR&gt;
&lt;UL&gt;
&lt;LI&gt;&quot;&lt;A href=&quot;http://www.ibm.com/developerworks/java/library/j-mylyn2/&quot; target=new cmImpressionSent=&quot;1&quot;&gt;&lt;U&gt;&lt;FONT color=#5c81a7&gt;Mylyn 2.0, Part 2: 자동화된 콘텍스트 관리&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;&quot; (Mik Kersten, developerWorks, 2007년 8월)&lt;BR&gt;&lt;BR&gt;
&lt;LI&gt;&quot;&lt;A href=&quot;http://kerstens.org/mik/publications/2006-11-mylar-fse.pdf&quot; target=new cmImpressionSent=&quot;1&quot;&gt;&lt;U&gt;&lt;FONT color=#5c81a7&gt;태스크 콘텍스트를 사용하여 프로그래머의 생산성 높이기&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;&quot; (Mik Kersten과 Gail C. Murphy, FSE 2006)&lt;BR&gt;&lt;BR&gt;
&lt;LI&gt;&lt;A href=&quot;http://wiki.eclipse.org/index.php/Mylyn_FAQ&quot; target=new cmImpressionSent=&quot;1&quot;&gt;&lt;U&gt;&lt;FONT color=#5c81a7&gt;Mylyn FAQ&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;와 &lt;A href=&quot;http://wiki.eclipse.org/index.php/Mylyn_User_Guide&quot; target=new cmImpressionSent=&quot;1&quot;&gt;&lt;U&gt;&lt;FONT color=#5c81a7&gt;사용자 가이드&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;: Mylyn 사용자용 문서.&lt;BR&gt;&lt;BR&gt;
&lt;LI&gt;&lt;A href=&quot;http://www.eclipse.org/mylyn/&quot; target=new cmImpressionSent=&quot;1&quot;&gt;&lt;U&gt;&lt;FONT color=#5c81a7&gt;Mylyn 홈페이지&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;: Mylyn 사용자와 개발자를 위한 리소스와 지원.&lt;BR&gt;&lt;BR&gt;
&lt;LI&gt;&lt;A href=&quot;http://wiki.eclipse.org/Mylyn_Integrator_Reference&quot; target=new cmImpressionSent=&quot;1&quot;&gt;&lt;U&gt;&lt;FONT color=#5c81a7&gt;Mylyn Integrator Reference&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt; &lt;BR&gt;&lt;BR&gt;
&lt;LI&gt;&lt;A href=&quot;http://www.ibm.com/developerworks/kr/library/opensource/top-projects/eclipse-starthere.html&quot; cmImpressionSent=&quot;1&quot;&gt;&lt;U&gt;&lt;FONT color=#5c81a7&gt;Eclipse 시작하기 (한글)&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;: Eclipse 플랫폼과 Eclipse용 프로젝트(Mylyn 포함) 소개.&lt;BR&gt;&lt;BR&gt;
&lt;LI&gt;&lt;A href=&quot;http://www.tasktop.com/blog/&quot; target=new cmImpressionSent=&quot;1&quot;&gt;&lt;U&gt;&lt;FONT color=#5c81a7&gt;Mik의 블로그&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;: 필자의 웹로그 보기.&lt;BR&gt;&lt;BR&gt;
&lt;LI&gt;&lt;A href=&quot;http://www.ibm.com/developerworks/kr/java/&quot; cmImpressionSent=&quot;1&quot;&gt;&lt;U&gt;&lt;FONT color=#5c81a7&gt;자바 존&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;: 자바 프로그래밍 관련 다양한 기술자료 보기.&lt;/LI&gt;&lt;/UL&gt;&lt;BR&gt;&lt;B&gt;제품 및 기술 얻기&lt;/B&gt;&lt;BR&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href=&quot;http://wiki.eclipse.org/index.php/Mylyn_Extensions&quot; target=new cmImpressionSent=&quot;1&quot;&gt;&lt;U&gt;&lt;FONT color=#5c81a7&gt;Mylyn Extensions&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;: Mylyn에 포함되지 않은 커넥터 다운로드.&lt;BR&gt;&lt;BR&gt;
&lt;LI&gt;&lt;A href=&quot;http://wiki.eclipse.org/index.php/Mylyn_FAQ#Generic_Web_Repository_Connector&quot; target=new cmImpressionSent=&quot;1&quot;&gt;&lt;U&gt;&lt;FONT color=#5c81a7&gt;Generic Web Repository Connector&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt; &lt;BR&gt;&lt;BR&gt;
&lt;LI&gt;&lt;A href=&quot;http://www.eclipse.org/mylyn/downloads/&quot; target=new cmImpressionSent=&quot;1&quot;&gt;&lt;U&gt;&lt;FONT color=#5c81a7&gt;Mylyn 다운로드&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt; &lt;BR&gt;&lt;BR&gt;
&lt;LI&gt;&lt;A href=&quot;http://www.eclipse.org/downloads/&quot; target=new cmImpressionSent=&quot;1&quot;&gt;&lt;U&gt;&lt;FONT color=#5c81a7&gt;Eclipse 다운로드&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;: Eclipse 3.2 및 기타 다운로드.&lt;BR&gt;&lt;BR&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;BR&gt;&lt;B&gt;토론&lt;/B&gt;&lt;BR&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href=&quot;http://www.eclipse.org/mylyn/bugs/&quot; target=new cmImpressionSent=&quot;1&quot;&gt;&lt;U&gt;&lt;FONT color=#5c81a7&gt;Mylyn 버그와 투표&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;: Mylyn의 버그 리포트 제출과 기능 요청.&lt;BR&gt;&lt;BR&gt;
&lt;LI&gt;&lt;A href=&quot;http://www.eclipseplugincentral.com/Web_Links-index-req-ratelink-lid-560.html&quot; target=new cmImpressionSent=&quot;1&quot;&gt;&lt;U&gt;&lt;FONT color=#5c81a7&gt;Eclipse Plug-in Central&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt; &lt;BR&gt;&lt;BR&gt;
&lt;LI&gt;&lt;A href=&quot;http://www.ibm.com/developerworks/blogs/&quot; target=new cmImpressionSent=&quot;1&quot;&gt;&lt;U&gt;&lt;FONT color=#5c81a7&gt;developerWorks 블로그&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;: developerWorks community 참여하기.&lt;BR&gt;&lt;BR&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;BR&gt;&lt;BR&gt;
&lt;P&gt;&lt;A name=author&gt;&lt;SPAN class=atitle&gt;필자소개&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;
&lt;TABLE cellSpacing=0 cellPadding=0 width=&quot;100%&quot; border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD colSpan=3&gt;&lt;IMG height=5 alt=&quot;&quot; src=&quot;http://www.ibm.com/i/c.gif&quot; width=&quot;100%&quot;&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top align=left&gt;
&lt;TD&gt;
&lt;P&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;IMG height=5 alt=&quot;&quot; src=&quot;http://www.ibm.com/i/c.gif&quot; width=4&gt;&lt;/TD&gt;
&lt;TD width=&quot;100%&quot;&gt;
&lt;P&gt;Mik는 Xerox PARC의 연구원으로서 aspect 지향 프로그래밍 툴을 만들었으며 eclipse.org/aspectj 프로젝트에 기여하고 있다. 브리티시컬럼비아대학교에서 박사 과정에 있는 동안, 태스크 중심 인터랙션 기술을 개발했으며 eclipse.org/mylar 프로젝트를 이끌었다.&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
	    </content>
	    	</entry>
    	<entry>
	    <title>영어 공부 사이트</title>
		<link rel="alternate" type="text/html" href="http://blog.daum.net/jooneey22/8651874"/>
		<id>tag:blog.daum.net,2009:jooneey22.8651874</id>
	    <author>
		    <name>쥬니</name>
	    </author>
	    <updated>2008-11-13T16:18:02Z</updated>
	    <published>2008-11-13T16:18:02Z</published>
	    <content type="html">
	    	&lt;P&gt;&lt;A href=&quot;http://heartbreakhotel.tistory.com/379&quot; target=_blank&gt;http://heartbreakhotel.tistory.com/379&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href=&quot;http://isinken.tistory.com/entry/외서-관련-문법영작표현-추천서영어책-추천&quot; target=_blank&gt;&lt;FONT color=#ff6600&gt;http://isinken.tistory.com/entry/외서-관련-문법영작표현-추천서영어책-추천&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &lt;STRONG&gt;'Sendic'&lt;/STRONG&gt; 이라는 무료 프로그램이 있습니다. &amp;nbsp; (이건 검색사이트에서 검색하면 나와요.)&lt;BR&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (영화 영어대본 약 6~7천개 분량이 포함되어 있기 때문에&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;미국드라마 영어자막 / 한글자막&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href=&quot;http://warrior45.tistory.com/&quot; target=&quot;_blank&quot;&gt;http://warrior45.tistory.com/&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;&amp;nbsp; [&lt;STRONG&gt;독해&lt;/STRONG&gt;] &lt;BR&gt;&lt;SPAN ?FONT-FAMILY: ?돋움??&gt;&lt;FONT face=돋움&gt;&amp;nbsp; Link 1&amp;nbsp;: &lt;A href=&quot;http://gall.dcinside.com/list.php?id=English&amp;no=62519&quot; target=_blank&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;http://gall.dcinside.com/list.php?id=English&amp;no=62519&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;&amp;nbsp;&lt;BR&gt;&lt;/FONT&gt;&lt;FONT face=돋움&gt;&lt;SPAN ?FONT-FAMILY: ?돋움??&gt;&amp;nbsp;&amp;nbsp;&lt;BR&gt;&amp;nbsp; [&lt;STRONG&gt;리스닝&lt;/STRONG&gt;] &lt;BR&gt;&amp;nbsp;&amp;nbsp;Link 1 :&amp;nbsp;&lt;A href=&quot;http://gall.dcinside.com/list.php?id=English&amp;no=61958&quot; target=_blank&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;http://gall.dcinside.com/list.php?id=English&amp;no=61958&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;&lt;BR&gt;&lt;BR&gt;&amp;nbsp; [&lt;STRONG&gt;영작&lt;/STRONG&gt;] &lt;BR&gt;&amp;nbsp;&amp;nbsp;Link 1 : &lt;A href=&quot;http://gall.dcinside.com/list.php?id=English&amp;no=62580&quot; target=_blank&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;http://gall.dcinside.com/list.php?id=English&amp;no=62580&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp; Link 2 : &lt;A href=&quot;http://gall.dcinside.com/list.php?id=English&amp;no=59218&quot; target=_blank&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;http://gall.dcinside.com/list.php?id=English&amp;no=59218&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;&lt;BR&gt;&amp;nbsp; Link 2 : &lt;A href=&quot;http://gall.dcinside.com/list.php?id=English&amp;no=62581&quot; target=_blank&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;http://gall.dcinside.com/list.php?id=English&amp;no=62581&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt; &lt;BR&gt;&amp;nbsp; Link 3 : &lt;A href=&quot;http://gall.dcinside.com/list.php?id=English&amp;no=62582&quot; target=_blank&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;http://gall.dcinside.com/list.php?id=English&amp;no=62582&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt; &lt;BR&gt;&amp;nbsp; Link 4 : &lt;A href=&quot;http://gall.dcinside.com/list.php?id=English&amp;no=62583&quot; target=_blank&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;http://gall.dcinside.com/list.php?id=English&amp;no=62583&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt; &lt;BR&gt;&lt;BR&gt;&amp;nbsp; [&lt;STRONG&gt;회화&lt;/STRONG&gt;] &lt;BR&gt;&amp;nbsp;&amp;nbsp;Link 1 : &lt;A href=&quot;http://gall.dcinside.com/list.php?id=English&amp;no=64891&quot; target=_blank&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;http://gall.dcinside.com/list.php?id=English&amp;no=64891&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;Link 2 : &lt;A href=&quot;http://gall.dcinside.com/list.php?id=English&amp;no=59217&quot; target=_blank&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;http://gall.dcinside.com/list.php?id=English&amp;no=59217&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;&lt;BR&gt;&lt;BR&gt;&amp;nbsp; [&lt;STRONG&gt;영어관련 다큐&lt;/STRONG&gt;] &lt;BR&gt;&amp;nbsp; Link 1 : &lt;A href=&quot;http://gall.dcinside.com/list.php?id=English&amp;no=65302&quot; target=_blank&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;http://gall.dcinside.com/list.php?id=English&amp;no=65302&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;&lt;BR&gt;&lt;BR&gt;&amp;nbsp; [&lt;STRONG&gt;토익수기&lt;/STRONG&gt;] &lt;BR&gt;&amp;nbsp; Link 1 : &lt;A href=&quot;http://gall.dcinside.com/list.php?id=English&amp;no=55517&quot; target=_blank&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;http://gall.dcinside.com/list.php?id=English&amp;no=55517&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt; &lt;BR&gt;&amp;nbsp; Link 2 :&amp;nbsp;&lt;A href=&quot;http://gall.dcinside.com/list.php?id=English&amp;no=56154&quot; target=_blank&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;http://gall.dcinside.com/list.php?id=English&amp;no=56154&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt; &lt;BR&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
	    </content>
	    	</entry>
      </feed>
