<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
	<channel>
		<title>seevaa.net</title>
		<link>http://seevaa.net/</link>
		<description>seevaa의 잡다구리한 이야기</description>
		<language>ko</language>
		<pubDate>Thu, 05 Jan 2012 15:16:35 +0900</pubDate>
		<generator>Tistory 1.1 (http://www.tistory.com/)</generator>
		<managingEditor>seevaa</managingEditor>
		<image>
		<title>seevaa.net</title>
		<url><![CDATA[http://cfile2.uf.tistory.com/image/1572040C49DCC8A09AEB75]]></url>
		<link>http://seevaa.net/</link>
		<description>seevaa의 잡다구리한 이야기</description>
		</image>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/seevaa" /><feedburner:info uri="seevaa" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>seevaa</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2Fseevaa" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.feedburner.com%2Fseevaa" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/seevaa" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Fseevaa" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.live.com/?add=http%3A%2F%2Ffeeds.feedburner.com%2Fseevaa" src="http://tkfiles.storage.msn.com/x1piYkpqHC_35nIp1gLE68-wvzLZO8iXl_JMledmJQXP-XTBOLfmQv4zhj4MhcWEJh_GtoBIiAl1Mjh-ndp9k47If7hTaFno0mxW9_i3p_5qQw">Subscribe with Live.com</feedburner:feedFlare><feedburner:feedFlare href="http://www.hanrss.com/add_sub.qst?url=http%3A%2F%2Ffeeds.feedburner.com%2Fseevaa" src="http://static.hanrss.com/images/add_to_hanrss2.gif">Subscribe with HanRSS</feedburner:feedFlare><item>
			<title>페이지 속 특정부분만 인쇄</title>
			<link>http://feedproxy.google.com/~r/seevaa/~3/1Ts9TyJlGnk/395</link>
			<description>&lt;div lang="en"&gt;
&lt;p&gt;웹페이지상에서 뿌려지는 데이터를 사용자가 인쇄할 수 있도록-버튼같은 걸- 만들어 달라는 요구사항이 종종 있다. 웹브라우저상에서 페이지 인쇄가 가능한데 굳이 버튼을 만들어 달라는 건 필요한 데이터만 깔끔하게 출력되게 끔 원하는 것이다.&lt;/p&gt;
&lt;p&gt;이런 경우 데이터만 보이는 페이지를 별도로 만들어 서버를 한번 더 타게 만드는 경우가 있는데, &lt;tt&gt;CSS(media="print")&lt;/tt&gt;로 같은 페이지 상에서 쉽게 해결할 수 있다.&lt;/p&gt;
&lt;p&gt;&lt;tt&gt;style&lt;/tt&gt; 속성에 &lt;tt&gt;media="print"&lt;/tt&gt; 라고 주면 인쇄시에만 해당 스타일이 적용되는데, 위의 예에서처럼 출력시 필요없는 부분은 &lt;tt&gt;display:none;&lt;/tt&gt; 이런식으로 막아버리면 된다.&lt;/p&gt;
&lt;pre class="brush:html"&gt;...
&lt;script type="text/javascript"&gt;
	function printData(){
		document.getElementById('container').className = "printDiv";
		window.print();
		document.getElementById('container').className = "";
	}
&lt;/script&gt;
&lt;style type="text/css" media="print"&gt;
	.printDiv #header	{ display:none;}
	.printDiv #left-menu	{ display:none;}
	.printDiv #footer	{ display:none;}
&lt;/style&gt;
...
&lt;div id="container"&gt;
	&lt;div id="container"&gt;...&lt;/div&gt;
	&lt;div id="left-menu"&gt;...&lt;/div&gt;
	&lt;div id="content"&gt;
		...
		&lt;button type="text" onclick="printData();"&gt;데이터 인쇄&lt;/button&gt;
		...
	&lt;/div&gt;
	&lt;div id="footer"&gt;...&lt;/div&gt;
&lt;/div&gt;
...&lt;/pre&gt;

&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/seevaa/~4/1Ts9TyJlGnk" height="1" width="1"/&gt;</description>
			<category>CSS</category>
			<category>CSS</category>
			<category>인쇄</category>
			<author>seevaa</author>
			<guid isPermaLink="false">http://seevaa.net/395</guid>
			<comments>http://seevaa.net/395#entry395comment</comments>
			<pubDate>Wed, 28 Dec 2011 14:37:25 +0900</pubDate>
		<feedburner:origLink>http://seevaa.net/395</feedburner:origLink></item>
		<item>
			<title>링크 요소(a element)의 href 속성과 자바스크립트의 사용</title>
			<link>http://feedproxy.google.com/~r/seevaa/~3/Z3RZ5f9nRzA/394</link>
			<description>&lt;div lang="en"&gt;
&lt;p&gt;신현석님의 '&lt;a href="http://hyeonseok.com/docs/accessible-javascript/"&gt;접근성을 해치지 않는 자바스크립트의 사용&lt;/a&gt;'이라는 글 중에서...&lt;/p&gt;

&lt;h3&gt;의미 없는 href 값을 사용한 경우&lt;/h3&gt;

&lt;pre class="brush:html"&gt;&lt;a href="#notice-list" onclick="showNoticeTab(); return false;"&gt;
	&lt;img src="notice-tab.gif" alt="Notice" /&gt;
&lt;/a&gt;&lt;/pre&gt;

&lt;pre class="brush:html"&gt;&lt;button onclick="myAction()"&gt;
	&lt;img src="button.gif" alt="보기" /&gt;
&lt;/button&gt;&lt;/pre&gt;

&lt;h3&gt;팝업창을 열 때(window.open)&lt;/h3&gt;

&lt;pre class="brush:html"&gt;&lt;a href="popup.html" onclick="window.open(this.href, 'popupName', 'width=300,height=200'); return false;"&gt;
	&lt;img src="openWindow.gif"&gt;
&lt;/a&gt;&lt;/pre&gt;

&lt;p&gt;실제로 위의 경우 나쁜 예로 많이 사용했었는데 신경써야겠다.&lt;/p&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/seevaa/~4/Z3RZ5f9nRzA" height="1" width="1"/&gt;</description>
			<category>JavaScript</category>
			<category>href</category>
			<category>JavaScript</category>
			<category>onclick</category>
			<category>웹 접근성</category>
			<author>seevaa</author>
			<guid isPermaLink="false">http://seevaa.net/394</guid>
			<comments>http://seevaa.net/394#entry394comment</comments>
			<pubDate>Wed, 28 Dec 2011 10:46:39 +0900</pubDate>
		<feedburner:origLink>http://seevaa.net/394</feedburner:origLink></item>
		<item>
			<title>Image Thumbnail 만들기</title>
			<link>http://feedproxy.google.com/~r/seevaa/~3/LxXaVIB-5ng/393</link>
			<description>&lt;a href="http://download.oracle.com/docs/cd/E17802_01/products/products/java-media/jai/forDevelopers/jai-apidocs/overview-summary.html"&gt;javax.media.jai API Docs&lt;/a&gt;

&lt;pre class="brush:java"&gt;import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

import javax.imageio.ImageIO;
import javax.media.jai.JAI;
import javax.media.jai.RenderedOp;

import com.sun.media.jai.codec.FileSeekableStream;
import com.sun.media.jai.codec.ImageCodec;
import com.sun.media.jai.codec.SeekableStream;

public class TestThumb {
	public void createImageThumb(String loadfile, String savefile, int width, int height) throws IOException 	{

		if (getDecoderCheck(loadfile)) {
			File 	    save = new File(savefile);
			RenderedOp    op = JAI.create("fileload", loadfile);
	     	BufferedImage im = op.getAsBufferedImage();

	     	if(im.getWidth()  &lt; width) width = im.getWidth();
	     	if(im.getHeight() &lt; height) height = im.getHeight();

			BufferedImage thumb = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
			Graphics2D 	  g2d   = thumb.createGraphics();

			g2d.drawImage(im, 0, 0, width, height, null);

			ImageIO.write(thumb, "png", save);
		}
	}
	protected boolean getDecoderCheck(String filename) {
		SeekableStream 	ss 	   = null;
		File 			file   = null;
		String[]		ext	   = null;
		String[]		images = {"gif","jpeg","png","tiff","bmp"};
		boolean 		check  = false;

		try {
			file = new File(filename);
			ss   = new FileSeekableStream(file);
			ext  = ImageCodec.getDecoderNames(ss);

			for(int i=0; i&lt;ext.length; i++)
			{
				for(int j=0; j&lt;images.length; j++)
				{
					if(ext[i].indexOf(images[j]) &gt; -1)
					{
						check = true;
						break;
					}
				}
			}
		}catch(Exception e) {}

		return check;
	}
}&lt;/pre&gt;

&lt;p&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/seevaa/~4/LxXaVIB-5ng" height="1" width="1"/&gt;</description>
			<category>java/jsp</category>
			<author>seevaa</author>
			<guid isPermaLink="false">http://seevaa.net/393</guid>
			<comments>http://seevaa.net/393#entry393comment</comments>
			<pubDate>Fri, 14 Oct 2011 14:53:36 +0900</pubDate>
		<feedburner:origLink>http://seevaa.net/393</feedburner:origLink></item>
		<item>
			<title>정규식 표현으로 필드값 검사하기</title>
			<link>http://feedproxy.google.com/~r/seevaa/~3/mJuo8WALXo4/392</link>
			<description>&lt;div lang="en"&gt;
&lt;pre class="brush:js"&gt;&lt;script type="text/javascript"&gt;
&lt;!--
function checkEmail(arg){
	var rexEmail = /^([0-9a-zA-Z_-]+)@([0-9a-zA-Z_-]+)(\.[0-9a-zA-Z_-]+){1,2}$/;
	if( arg.email.value.search(rexEmail) == -1){
		arg.email.focus();
		return false;
	}
	return true;
}
//--&gt;
&lt;/script&gt;
&lt;form onsubmit="return check(this)"&gt;
	&lt;input name="email" type="text"&gt;
	&lt;input value="submit" type="submit"&gt;
&lt;/form&gt;&lt;/pre&gt;


정규식
&lt;ul&gt;
	&lt;li&gt;&lt;tt&gt;/^[a-z0-9_-]{3,16}$/&lt;/tt&gt; // 아이디&lt;/li&gt;
	&lt;li&gt;&lt;tt&gt;/^[a-z0-9_-]{6,18}$/&lt;/tt&gt; // 비밀번호&lt;/li&gt;
	&lt;li&gt;&lt;tt&gt;/^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/&lt;/tt&gt; // 이메일&lt;/li&gt;
	&lt;li&gt;&lt;tt&gt;/^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w_\.-]*)*\/?$/&lt;/tt&gt; // URL&lt;/li&gt;
	&lt;li&gt;&lt;tt&gt;/^[0-9]{8,11}$/&lt;/tt&gt; // 전화번호&lt;/li&gt;
&lt;/ul&gt;


&lt;pre class="brush:js"&gt;onkeypress="if((event.keyCode&lt;48)||(event.keyCode&gt;57)) event.returnValue=false;"&lt;/pre&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/seevaa/~4/mJuo8WALXo4" height="1" width="1"/&gt;</description>
			<category>JavaScript</category>
			<author>seevaa</author>
			<guid isPermaLink="false">http://seevaa.net/392</guid>
			<comments>http://seevaa.net/392#entry392comment</comments>
			<pubDate>Tue, 11 Oct 2011 13:53:21 +0900</pubDate>
		<feedburner:origLink>http://seevaa.net/392</feedburner:origLink></item>
		<item>
			<title>파라미터 관련 유틸</title>
			<link>http://feedproxy.google.com/~r/seevaa/~3/LTuD7hCHTS8/391</link>
			<description>&lt;p&gt;파라미터 한글 인코딩&lt;/p&gt;
&lt;pre class="brush:java"&gt;String str = request.getParameter("name");
str = new String(str.getBytes("8859_1"), "UTF-8");&lt;/pre&gt;


&lt;p&gt;xss 보안&lt;/p&gt;
&lt;pre class="brush:java"&gt;public String xssReplace(String value) {

	value = value.replaceAll("&lt;","&amp;lt;");
	value = value.replaceAll("&gt;","&amp;gt;");
	value = value.replaceAll("#","&amp;#35;");
	value = value.replaceAll("\\(","&amp;#40;");
	value = value.replaceAll("\\)","&amp;#41;");
	//value = value.replaceAll("&amp;","&amp;amp;");
	//value = value.replaceAll("\\n","&lt;br/&gt;");

	return value;
}&lt;/pre&gt;


&lt;p&gt;암호화&lt;/p&gt;
&lt;pre class="brush:js"&gt;var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
function encode64(input) {
	var output = "";
	var chr1, chr2, chr3;
	var enc1, enc2, enc3, enc4;
	var i = 0;
	do {
		chr1 = input.charCodeAt(i++);
		chr2 = input.charCodeAt(i++);
		chr3 = input.charCodeAt(i++);
		enc1 = chr1 &gt;&gt; 2;
		enc2 = ((chr1 &amp; 3) &lt;&lt; 4) | (chr2 &gt;&gt; 4);
		enc3 = ((chr2 &amp; 15) &lt;&lt; 2) | (chr3 &gt;&gt; 6);
		enc4 = chr3 &amp; 63;
		if (isNaN(chr2)) {
			enc3 = enc4 = 64;
		}else if (isNaN(chr3)) {
			enc4 = 64;
		}
		output = output + keyStr.charAt(enc1) + keyStr.charAt(enc2) +
		keyStr.charAt(enc3) + keyStr.charAt(enc4);
	} while(i &lt; input.length);

	return output;
}&lt;/pre&gt;

&lt;p&gt;복호화&lt;/p&gt;
&lt;pre class="brush:java"&gt;public static final String keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
public static String decode64(String input) {

	if (input == null) return "";

	String output = "";
	int chr1, chr2, chr3;
	int enc1, enc2, enc3, enc4;
	int i = 0;
	// remove all characters that are not A-Z, a-z, 0-9, +, /, or =
	//input = input.replaceAll("/[^A-Za-z0-9\+\/\=]/g", "");
	do {
		enc1 = keyStr.indexOf(input.charAt(i++));
		enc2 = keyStr.indexOf(input.charAt(i++));
		enc3 = keyStr.indexOf(input.charAt(i++));
		enc4 = keyStr.indexOf(input.charAt(i++));
		chr1 = (enc1 &lt;&lt; 2) | (enc2 &gt;&gt; 4);
		chr2 = ((enc2 &amp; 15) &lt;&lt; 4) | (enc3 &gt;&gt; 2);
		chr3 = ((enc3 &amp; 3) &lt;&lt; 6) | enc4;

		output = output + Character.toString((char)chr1);
		if (enc3 != 64) {
			output = output + Character.toString((char)chr2);
		}
		if (enc4 != 64) {
			output = output + Character.toString((char)chr3);
		}
	} while(i &lt; input.length());

	return output;
}&lt;/pre&gt;&lt;img src="http://feeds.feedburner.com/~r/seevaa/~4/LTuD7hCHTS8" height="1" width="1"/&gt;</description>
			<category>java/jsp</category>
			<author>seevaa</author>
			<guid isPermaLink="false">http://seevaa.net/391</guid>
			<comments>http://seevaa.net/391#entry391comment</comments>
			<pubDate>Mon, 10 Oct 2011 14:06:00 +0900</pubDate>
		<feedburner:origLink>http://seevaa.net/391</feedburner:origLink></item>
		<item>
			<title>JSTL &lt;functions&gt;</title>
			<link>http://feedproxy.google.com/~r/seevaa/~3/JLBX_d8vvP0/390</link>
			<description>&lt;a title="[http://download.oracle.com/javaee/5/jstl/1.1/docs/tlddocs/fn/tld-summary.html]로 이동합니다." href="http://download.oracle.com/javaee/5/jstl/1.1/docs/tlddocs/fn/tld-summary.html"&gt;JSTL 1.1 functions library&lt;/a&gt;
&lt;pre class="brush:js"&gt;&lt;%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %&gt;&lt;/pre&gt;

&lt;p lang="en"&gt;
Functions&lt;br /&gt;
&lt;a href="http://download.oracle.com/javaee/5/jstl/1.1/docs/tlddocs/fn/contains.fn.html"&gt;&lt;tt&gt;fn:contains()&lt;/tt&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;a href="http://download.oracle.com/javaee/5/jstl/1.1/docs/tlddocs/fn/containsIgnoreCase.fn.html"&gt;&lt;tt&gt;fn:containsIgnoreCase()&lt;/tt&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;a href="http://download.oracle.com/javaee/5/jstl/1.1/docs/tlddocs/fn/endsWith.fn.html"&gt;&lt;tt&gt;fn:endsWith(&lt;/tt&gt;)&lt;/a&gt;
&lt;br /&gt;
&lt;a href="http://download.oracle.com/javaee/5/jstl/1.1/docs/tlddocs/fn/escapeXml.fn.html"&gt;&lt;tt&gt;fn:escapeXml()&lt;/tt&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;a href="http://download.oracle.com/javaee/5/jstl/1.1/docs/tlddocs/fn/indexOf.fn.html"&gt;&lt;tt&gt;fn:indexOf()&lt;/tt&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;a href="http://download.oracle.com/javaee/5/jstl/1.1/docs/tlddocs/fn/join.fn.html"&gt;&lt;tt&gt;fn:join()&lt;/tt&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;a href="http://download.oracle.com/javaee/5/jstl/1.1/docs/tlddocs/fn/length.fn.html"&gt;&lt;tt&gt;fn:length()&lt;/tt&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;a href="http://download.oracle.com/javaee/5/jstl/1.1/docs/tlddocs/fn/replace.fn.html"&gt;&lt;tt&gt;fn:replace()&lt;/tt&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;a href="http://download.oracle.com/javaee/5/jstl/1.1/docs/tlddocs/fn/split.fn.html"&gt;&lt;tt&gt;fn:split()&lt;/tt&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;a href="http://download.oracle.com/javaee/5/jstl/1.1/docs/tlddocs/fn/startsWith.fn.html"&gt;&lt;tt&gt;fn:startsWith()&lt;/tt&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;a href="http://download.oracle.com/javaee/5/jstl/1.1/docs/tlddocs/fn/substring.fn.html"&gt;&lt;tt&gt;fn:substring()&lt;/tt&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;a href="http://download.oracle.com/javaee/5/jstl/1.1/docs/tlddocs/fn/substringAfter.fn.html"&gt;&lt;tt&gt;fn:substringAfter()&lt;/tt&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;a href="http://download.oracle.com/javaee/5/jstl/1.1/docs/tlddocs/fn/substringBefore.fn.html"&gt;&lt;tt&gt;fn:substringBefore()&lt;/tt&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;a href="http://download.oracle.com/javaee/5/jstl/1.1/docs/tlddocs/fn/toLowerCase.fn.html"&gt;&lt;tt&gt;fn:toLowerCase()&lt;/tt&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;a href="http://download.oracle.com/javaee/5/jstl/1.1/docs/tlddocs/fn/toUpperCase.fn.html"&gt;&lt;tt&gt;fn:toUpperCase()&lt;/tt&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;a href="http://download.oracle.com/javaee/5/jstl/1.1/docs/tlddocs/fn/trim.fn.html"&gt;&lt;tt&gt;fn:trim()&lt;/tt&gt;&lt;/a&gt;
&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/seevaa/~4/JLBX_d8vvP0" height="1" width="1"/&gt;</description>
			<category>java/jsp</category>
			<author>seevaa</author>
			<guid isPermaLink="false">http://seevaa.net/390</guid>
			<comments>http://seevaa.net/390#entry390comment</comments>
			<pubDate>Mon, 10 Oct 2011 13:21:13 +0900</pubDate>
		<feedburner:origLink>http://seevaa.net/390</feedburner:origLink></item>
		<item>
			<title>Spring - ServletRequestUtils</title>
			<link>http://feedproxy.google.com/~r/seevaa/~3/ifwbZMyLYCo/389</link>
			<description>&lt;div lang="en"&gt;
&lt;p&gt;Spring 2.0 &lt;/p&gt;
&lt;p&gt;request로 부터 넘어온 파라미터의 형변환에 유용한 &lt;a title="[http://static.springsource.org/spring/docs/2.0.x/api/org/springframework/web/bind/ServletRequestUtils.html]로 이동합니다." href="http://static.springsource.org/spring/docs/2.0.x/api/org/springframework/web/bind/ServletRequestUtils.html"&gt;ServletRequestUtils&lt;/a&gt; 클래스,&lt;/p&gt;
&lt;pre class="brush:java"&gt;int nowPage = 1;
if (request.getParameter("page") != null || !request.getParameter("page").equals("")){
	nowPage = Integer.parseInt(request.getParameter("page"));
}&lt;/pre&gt;

&lt;p&gt;위 코드를 아래와 같이 쓸 수 있다.&lt;/p&gt;
&lt;pre class="brush:java"&gt;int nowPage = ServletRequestUtils.getIntParameter(request, "page", 1);&lt;/pre&gt;

&lt;p&gt;boolean, float, double, int, long, String 타입으로 받아 올 수 있으며 이 타입들의 배열([]) 타입으로도 바로 바인딩해서 넘겨 받을 수 있습니다.&lt;/p&gt;

source : &lt;a href="http://whiteship.tistory.com/1005"&gt;http://whiteship.tistory.com/1005&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/seevaa/~4/ifwbZMyLYCo" height="1" width="1"/&gt;</description>
			<category>java/jsp</category>
			<author>seevaa</author>
			<guid isPermaLink="false">http://seevaa.net/389</guid>
			<comments>http://seevaa.net/389#entry389comment</comments>
			<pubDate>Mon, 10 Oct 2011 13:08:34 +0900</pubDate>
		<feedburner:origLink>http://seevaa.net/389</feedburner:origLink></item>
		<item>
			<title>Oracle &amp; sqlplus 설정</title>
			<link>http://feedproxy.google.com/~r/seevaa/~3/d_SexeFJENA/388</link>
			<description>&lt;div lang="en"&gt;
	&lt;h3&gt;오라클 설치시 주의&lt;/h3&gt;
&lt;ul&gt;
	&lt;li&gt;O/S 설치시 유저의 이름에 한글X, 띄워쓰기X, 오직 영문&lt;/li&gt;
    &lt;li&gt;오라클 설치 파일이 있는 path에 한글X, 띄워쓰기X(C드라이브 루트에 파일을 저장하는게 좋음, 바탕화면은 path가 한글이라 되지 않고 My Documents는 중간에 띄워쓰기가 있어서 되지 않음)&lt;/li&gt;
    &lt;li&gt;기존버전 삭제&lt;/li&gt;
    &lt;li&gt;고정IP사용&lt;/li&gt;
    &lt;li&gt;HDD 3G이상, MEM 500M이상&lt;/li&gt;
&lt;/ul&gt;



&lt;h3&gt;Window에서 오라클 삭제&lt;/h3&gt;
&lt;ol&gt;
	&lt;li&gt;서비스에서 Oracle 관련부분 중지&lt;/li&gt;
	&lt;li&gt;Universal Installer 실행(시작메뉴 또는 Orecle CD -&amp;gt; 제품 설치 제거&lt;/li&gt;
	&lt;li&gt;Program Files 폴더에서 Oracle 폴더 삭제&lt;/li&gt;
	&lt;li&gt;시스템 등록 정보 -&amp;gt; 고급 -&amp;gt; 환경변수 -&amp;gt; Path 에서 Oracle 관련부분 삭제&lt;/li&gt;
	&lt;li&gt;Regstry 편집
		&lt;ul&gt;
			&lt;li&gt;&lt;tt&gt;local machine\software\oracle&lt;/tt&gt; -&amp;gt; 삭제&lt;/li&gt;
			&lt;li&gt;&lt;tt&gt;local machine\system\ControlSet001\Services\oracle&lt;/tt&gt; 관련-&amp;gt; 삭제&lt;/li&gt;
			&lt;li&gt;&lt;tt&gt;local machine\system\ControlSet002\Services\oracle&lt;/tt&gt; 관련-&amp;gt; 삭제&lt;/li&gt;
			&lt;li&gt;&lt;tt&gt;local machine\system\CurrentControlSet\Services\oracle&lt;/tt&gt; 관련-&amp;gt; 삭제&lt;/li&gt;
		&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;Rebooting&lt;/li&gt;
	&lt;li&gt;Oracle 폴더 삭제&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;Sql 사용을 위한 셋팅&lt;/h3&gt;
&lt;ul&gt;
	&lt;li&gt;시작 -&gt; 실행 -&gt; cmd&lt;/li&gt;
	&lt;li&gt;&lt;tt&gt;cmd&gt;sqlplus / as sysdba&lt;/tt&gt;&lt;/li&gt;
	&lt;li&gt;사용자 lock풀기 및 비번 결정하기.
		&lt;ol&gt;
			&lt;li&gt;&lt;tt&gt;SQL&gt; alter user scott identified by tiger account unlock;&lt;/tt&gt;&lt;/li&gt;
			&lt;li&gt;사용자가 변경되었습니다.&lt;/li&gt;
			&lt;li&gt;&lt;tt&gt;SQL&gt; alter user hr identified by hr account unlock;&lt;/tt&gt;&lt;/li&gt;
			&lt;li&gt;사용자가 변경되었습니다.&lt;/li&gt;

		&lt;/ol&gt;
	&lt;/li&gt;
	&lt;li&gt;&lt;tt&gt; SQL&gt; conn scott/tiger&lt;/tt&gt; (접속해 보기)&lt;/li&gt;
	&lt;li&gt;&lt;tt&gt;SQL&gt; show user&lt;/tt&gt; (접속 확인해 보기)&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;Sql 바탕화면 단축 아이콘 만들기&lt;/h4&gt;
&lt;ul&gt;
	&lt;li&gt;바탕화면 -&amp;gt; 마우스 오른쪽 버튼 -&amp;gt; 새로만들기 -&amp;gt; 바로가기
		&lt;ul&gt;
			&lt;li&gt;&lt;tt&gt;cmd /k sqlplus "/ as sysdba"&lt;/tt&gt; -&amp;gt; sysdba&lt;/li&gt;
			&lt;li&gt;&lt;tt&gt;cmd /k sqlplus scott/tiger&lt;/tt&gt; -&amp;gt; scott&lt;/li&gt;
			&lt;li&gt;&lt;tt&gt;cmd /k sqlplus hr/hr&lt;/tt&gt; -&amp;gt; hr&lt;/li&gt;
		&lt;/ul&gt;
	&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;line size setting&lt;/h4&gt;

 &lt;p&gt;&lt;tt&gt;C:\oracle\product\10.2.0\db_1\sqlplus\admin\glogin.sql&lt;/tt&gt; 파일은 오라클이 실행 될 때 파일 안의 명령을 실행 한 후 오라클이 시작 된다. 그래서 파일을 열어 '-- is connected to Oracle 9.2 or earlier.' 부분에 '&lt;tt&gt;set linesize 100&lt;/tt&gt;'을 쳐준다.&lt;br /&gt;그리고 cmd 창 속성에 레이아웃에서 너비를 100으로 바꿔준다.&lt;/p&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/seevaa/~4/d_SexeFJENA" height="1" width="1"/&gt;</description>
			<category>Oracle</category>
			<author>seevaa</author>
			<guid isPermaLink="false">http://seevaa.net/388</guid>
			<comments>http://seevaa.net/388#entry388comment</comments>
			<pubDate>Wed, 07 Sep 2011 14:40:06 +0900</pubDate>
		<feedburner:origLink>http://seevaa.net/388</feedburner:origLink></item>
		<item>
			<title>샤방샤방 세차장</title>
			<link>http://feedproxy.google.com/~r/seevaa/~3/32MUYjHDe_I/387</link>
			<description>&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://cfile4.uf.tistory.com/image/1944AC494DF73D3E128540" alt="" filemime="image/jpeg" filename="20110614-003.jpg" height="213" width="600"/&gt;&lt;/div&gt;
&lt;p&gt;
&lt;br /&gt;
&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/seevaa/~4/32MUYjHDe_I" height="1" width="1"/&gt;</description>
			<category>Life Style</category>
			<category>세차장</category>
			<author>seevaa</author>
			<guid isPermaLink="false">http://seevaa.net/387</guid>
			<comments>http://seevaa.net/387#entry387comment</comments>
			<pubDate>Wed, 08 Jun 2011 14:50:09 +0900</pubDate>
		<feedburner:origLink>http://seevaa.net/387</feedburner:origLink></item>
		<item>
			<title>XMLHttpRequest Object</title>
			<link>http://feedproxy.google.com/~r/seevaa/~3/pn1KXDzZt_I/386</link>
			<description>&lt;div class="section" lang="en"&gt;
&lt;h3&gt;Create an &lt;tt&gt;XMLHttpRequest&lt;/tt&gt; Object&lt;/h3&gt;
&lt;p&gt;All modern browsers (IE7+, Firefox, Chrome, Safari, and Opera)
	have a built-in &lt;tt&gt;XMLHttpRequest&lt;/tt&gt; object.&lt;/p&gt;
&lt;p&gt;Syntax for creating an &lt;tt&gt;XMLHttpRequest&lt;/tt&gt; object:&lt;/p&gt;
&lt;pre class="brush:js"&gt;xmlhttp=new XMLHttpRequest();&lt;/pre&gt;
&lt;p&gt;Old versions of Internet Explorer (IE5 and IE6) uses an &lt;tt&gt;ActiveX&lt;/tt&gt;	Object:&lt;/p&gt;
&lt;pre class="brush:js"&gt;xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");&lt;/pre&gt;
&lt;p&gt;To handle all modern browsers, including IE5 and IE6, check if
	the browser supports the &lt;tt&gt;XMLHttpRequest&lt;/tt&gt; object. If it does, create an
	&lt;tt&gt;XMLHttpRequest&lt;/tt&gt; object, if not, create an &lt;tt&gt;ActiveXObject&lt;/tt&gt;:&lt;/p&gt;
&lt;h3 class="example"&gt;Example&lt;/h3&gt;
&lt;pre class="brush:js"&gt;if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
	xmlhttp=new XMLHttpRequest();
}
else {// code for IE6, IE5
	xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}&lt;/pre&gt;
&lt;h3&gt;Send a Request To a Server&lt;/h3&gt;
&lt;p&gt;To send a request to a server, we use the &lt;tt&gt;open()&lt;/tt&gt; and &lt;tt&gt;send()&lt;/tt&gt;
	methods of the &lt;tt&gt;XMLHttpRequest&lt;/tt&gt; object:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;
		&lt;tt&gt;open(method,url,async)&lt;/tt&gt; : Specifies the type of request, the URL, and if the request
				should be handled asynchronously or not.		
		&lt;ul&gt;
			&lt;li&gt;&lt;em&gt;method&lt;/em&gt;: the type of request: GET or POST&lt;/li&gt;
			&lt;li&gt;&lt;em&gt;url&lt;/em&gt;: the location of the file on the server&lt;/li&gt;
			&lt;li&gt;&lt;em&gt;async&lt;/em&gt;: true (asynchronous) or false (synchronous)&lt;/li&gt;
		&lt;/ul&gt;
		&lt;pre class="brush:js"&gt;xmlhttp.open("GET","xmlhttp_info.txt",true);&lt;/pre&gt;
	&lt;/li&gt;
	&lt;li&gt;
		&lt;tt&gt;send(string)&lt;/tt&gt; : Sends the request off to the server.
		&lt;ul&gt;
			&lt;li&gt;&lt;em&gt;string&lt;/em&gt;: Only used for POST requests&lt;/li&gt;
		&lt;/ul&gt;
		&lt;pre class="brush:js"&gt;xmlhttp.send();&lt;/pre&gt;
	&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/seevaa/~4/pn1KXDzZt_I" height="1" width="1"/&gt;</description>
			<category>JavaScript</category>
			<category>XMLHttpRequest</category>
			<author>seevaa</author>
			<guid isPermaLink="false">http://seevaa.net/386</guid>
			<comments>http://seevaa.net/386#entry386comment</comments>
			<pubDate>Sun, 15 May 2011 17:05:20 +0900</pubDate>
		<feedburner:origLink>http://seevaa.net/386</feedburner:origLink></item>
		<item>
			<title>Spring - view를 결정하기</title>
			<link>http://feedproxy.google.com/~r/seevaa/~3/bTEmHellZvs/385</link>
			<description>&lt;div class="section" lang="en"&gt;
&lt;h3&gt;13.5.3. view로 redirect하기&lt;/h3&gt;

&lt;p&gt;이미 언급된것처럼, 컨트롤러는 대개 view결정자가 특정 view기술을 결정하는 논리적인 view명을 반환한다. 
Servlet/JSP 엔진을 통해 실질적으로 처리되는 JSP와 같은 view기술을 위해, 이것은 대개 Servlet API의 &lt;tt class="literal"&gt;RequestDispatcher.forward()&lt;/tt&gt; 나 &lt;tt class="literal"&gt;RequestDispatcher.include()&lt;/tt&gt;를 통해 내부 forward나 include를 이슈화하는것을 끝낼 &lt;tt class="classname"&gt;InternalResourceViewResolver&lt;/tt&gt;/&lt;tt class="classname"&gt;InternalResourceView&lt;/tt&gt;을 통해 다루어진다. Velocity, XSLT, 등등과 같은 다른 view기술을 위해, view자체는 응답 스트림에 컨텐츠를 생성한다. &lt;/p&gt;

&lt;p&gt;때때로 view가 표현되기 전에 클라이언트로 HTTP redirect해서 돌아가는 것을 이슈화하는 것이 바람직하다. 이것은 하나의 컨트롤러가 &lt;tt class="literal"&gt;POST&lt;/tt&gt;된 데이터를 가지고 호출되고 응답이 다른 컨트롤러(폼서브밋으로부터 성공한 경우에)로 위임되었을때의 예제를 위해 바람직하다. 이 경우, 대개의 내부 forward는 다른 컨트롤러가 &lt;tt class="literal"&gt;POST&lt;/tt&gt;된
 같은 데이터를 볼것이라는 것을 의미한다. 결과가 사용자가 폼 데이터의 이중 서브밋을 수행하는 것의 가능성을 제거할 것을 표시하기
 전에 redirect하기 위한 다른 이유를 기대하는 것을 혼동할수 있다면 잠재적으로 문제의 소지가 있다. 브라우저는 초기 &lt;tt class="literal"&gt;POST&lt;/tt&gt;를 보낼것이다. 현재 페이지는 &lt;tt class="literal"&gt;GET&lt;/tt&gt;보다는 &lt;tt class="literal"&gt;POST&lt;/tt&gt;의 결과를 반영하지 않는다. 그래서 refresh를 통해 같은 데이터를 다시 &lt;tt class="literal"&gt;POST&lt;/tt&gt;할수 있는 방법은 없다. refresh는 결과페이지의 &lt;tt class="literal"&gt;GET&lt;/tt&gt;을 강제로 수행할뿐 아니라 초기 &lt;tt class="literal"&gt;POST&lt;/tt&gt;데이터를 다시 보내지는 않는다. &lt;/p&gt;

&lt;h4&gt;13.5.3.1. &lt;tt class="classname"&gt;RedirectView&lt;/tt&gt;&lt;/h4&gt;

&lt;p&gt;컨트롤러 응답의 결과처럼 redirect를 강제로 수행하기 위한 하나의 방법은 생성하기 위한 컨트롤러와 Spring &lt;tt class="classname"&gt;RedirectView&lt;/tt&gt;의 인스턴스를 반환하는 것이다. 이 경우, &lt;tt class="classname"&gt;DispatcherServlet&lt;/tt&gt;은 대개의 view결정 기법을 사용하지 않을것이지만 이미 주어진 view처럼 작동하기 위해 요청할것이다. &lt;/p&gt;

&lt;p&gt;&lt;tt class="classname"&gt;RedirectView&lt;/tt&gt;는 HTTP redirect로 클라이언트 브라우저로 돌아갈 &lt;tt class="literal"&gt;HttpServletResponse.sendRedirect()&lt;/tt&gt;호
출을 이슈화하는것을 간단히 끝낸다. 모든 모델 속성은 HTTP쿼리 파라미터처럼 간단히 나타난다. 이것은 모델이 오직 문자열 형태 
HTTP쿼리 파라미터로 변환될수 있는 객체만(대개 String이나 String으로 변환가능한)을 포함해야하는것을 의미한다. &lt;/p&gt;

&lt;p&gt;만약 &lt;tt class="classname"&gt;RedirectView&lt;/tt&gt;을 사용하고 view가 컨트롤러 자체에 의해서 생성된다면, 최소한 redirect URL이 컨트롤러로 삽입되는것을 선호할것이다. 그래서 이것은 컨트롤러로 태울(baked into)뿐 아니라 view명과 함께 컨텍스트내 설정된다.&lt;/p&gt;

&lt;h4&gt;13.5.3.2. &lt;tt class="literal"&gt;redirect:&lt;/tt&gt; 접두사&lt;/h4&gt;

&lt;p&gt;&lt;tt class="classname"&gt;RedirectView&lt;/tt&gt;사용이 잘 작동하는 동안, 컨트롤러자체가 &lt;tt class="literal"&gt;RedirectView&lt;/tt&gt;를
 생성한다면, 컨트롤러는 redirection이 발생하는것을 감지한다. 이것은 실제로 차선책이고 너무 타이트하게 커플링한다. 
컨트롤러는 응답이 다루어지는 방법에 대해 다루지는 않을것이다. 이것은 대개 삽입되는 view명의 개념에서만 생각한다. &lt;/p&gt;

&lt;p&gt;특수한 &lt;tt class="literal"&gt;redirect&lt;/tt&gt;: 접두사는 이것이 달성되도록 허용한다. 만약 view명이 접두사 redirect를 가지고 반환된다면, &lt;tt class="classname"&gt;UrlBasedViewResolver&lt;/tt&gt;(과 모든 하위클래스)는 redirect가 필요하다는것을 특별히 표시하는것처럼 이것을 인식할것이다. view명의 나머지는 redirect URL처럼 처리될것이다. &lt;/p&gt;

&lt;p&gt;net 효과는 컨트롤러가 &lt;tt class="classname"&gt;RedirectView&lt;/tt&gt;를 반환하는 것과 같다. 하지만 컨트롤러 자체는 논리적인 view명의 개념에서 다루어진다. &lt;tt class="literal"&gt;redirect:/my/response/controller.html&lt;/tt&gt;과 같은 논리적인 view명은 현재 서블릿 컨텍스트에 상대적으로 redirect 될것이다. 반면에 &lt;tt class="literal"&gt;redirect:http://myhost.com/some/arbitrary/path.html&lt;/tt&gt;와 같은 이름은 절대경로의 URL로 redirect할것이다. 중요한 것은 redirect view명이 다른 논리적인 view명처럼 컨트롤러내로 삽입되는것이다. 컨트롤러는 redirection이 발생하는 것을 감지하지 않는다. &lt;/p&gt;

&lt;h4&gt;13.5.3.3. &lt;tt class="literal"&gt;forward:&lt;/tt&gt; 접두사&lt;/h4&gt;

&lt;p&gt;&lt;tt class="classname"&gt;UrlBasedViewResolver&lt;/tt&gt;와 하위클래스에 의해 해석될 view명을 위한 접두사인 특별한 &lt;tt class="literal"&gt;forward:&lt;/tt&gt;를 사용하는 것은 가능하다. 이 모든것은 URL을 고려하는 view명의 나머지에 &lt;tt class="classname"&gt;InternalResourceView&lt;/tt&gt;(궁극적으로는 &lt;tt class="literal"&gt;RequestDispatcher.forward()&lt;/tt&gt; 하는)를 생성한다. 그러므로, &lt;tt class="classname"&gt;InternalResourceViewResolver&lt;/tt&gt;/&lt;tt class="classname"&gt;InternalResourceView&lt;/tt&gt;를
 사용할때 이 접두사를 결코 사용하지 않는다. 하지만 당신이 다른 view기술을 사용할때 잠재적으로 사용한다. 몇몇 경우 
Servlet/JSP엔진에 의해 다루어지는 자원에 대해 발생하는 forward를 강요한다. 만약 당신이 많은 것을 할 필요가 
있다면, 당신은 다중 view결정자를 묶을수 있다. &lt;/p&gt;
&lt;p&gt;&lt;tt class="literal"&gt;redirect:&lt;/tt&gt; 접두사를 사용할때, 접두사를 가진 view명이 컨트롤러로 삽입된다면, 어떤 특별한 것을 감지하지 않는 컨트롤러는 응답을 다루는 개념에서 발생한다. &lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;source : &lt;a href="http://openframework.or.kr/framework_reference/spring/ver2.x/html/mvc.html#mvc-viewresolver"&gt;http://openframework.or.kr/framework_reference/spring/ver2.x/html/mvc.html#mvc-viewresolver&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/seevaa/~4/bTEmHellZvs" height="1" width="1"/&gt;</description>
			<category>java/jsp</category>
			<category>redirect</category>
			<category>Spring</category>
			<category>ViewResolver</category>
			<author>seevaa</author>
			<guid isPermaLink="false">http://seevaa.net/385</guid>
			<comments>http://seevaa.net/385#entry385comment</comments>
			<pubDate>Fri, 22 Apr 2011 10:28:14 +0900</pubDate>
		<feedburner:origLink>http://seevaa.net/385</feedburner:origLink></item>
		<item>
			<title>Basic Filter for Index</title>
			<link>http://feedproxy.google.com/~r/seevaa/~3/_cK7cLzNC2Q/384</link>
			<description>&lt;div id="" class="" lang="en"&gt;
	&lt;p&gt;Basic filter is used to implement some properties like filter element according to their index in set, elements which are in the progress of animation at the time selector is run etc.&lt;/p&gt;

&lt;p&gt;Some of the key filters and their syntax are given with example :&lt;/p&gt;

&lt;h3&gt;&lt;tt class="literal"&gt;: animated Selector &lt;/tt&gt;&lt;/h3&gt;

&lt;p&gt;This selector select the element which are in advancement of an animation at the time selector is running.&lt;/p&gt;

&lt;p&gt;Example :&lt;/p&gt;

&lt;pre class="brush:js"&gt;$("#butt").click(function(){
	$("div:animated").toggleClass("colored");
});&lt;/pre&gt;

&lt;p&gt;Here "butt" is a button , when you click on it, it will change the color of all the animated div element.&lt;/p&gt;

&lt;p&gt;&lt;tt&gt;$("div:animated")&lt;/tt&gt; selects all the div element which are in progress of animation.&lt;/p&gt;

&lt;p&gt;toggleClass("colored") change the CSS class to 'colored'.&lt;/p&gt;

&lt;h3&gt;&lt;tt class="literal"&gt;: eq Selector&lt;/tt&gt;&lt;/h3&gt;

&lt;p&gt;It filter the element which are at index at ' n ' within the matched set.&lt;br /&gt;
Note that java script array is using 0 based indexing.&lt;/p&gt;

&lt;p&gt;Example :&lt;/p&gt;

&lt;pre class="brush:js"&gt;&amp;lt;script&amp;gt;$("td:eq(2)").css("color", "red");&amp;lt;/script&amp;gt;&lt;/pre&gt;

&lt;p&gt;Following code change the color of third ' &lt;tt&gt;td&lt;/tt&gt; ' of each row and change it's color to 'red'.&lt;/p&gt;

&lt;h3&gt;&lt;tt class="literal"&gt;: even Selector&lt;/tt&gt;&lt;/h3&gt;

&lt;p&gt;It selects the even elements within the matched set.&lt;/p&gt;

&lt;pre class="brush:js"&gt;&amp;lt;script&amp;gt;$("tr:even").css("background-color", "#bbbbff");&amp;lt;/script&amp;gt;&lt;/pre&gt;

&lt;p&gt;It selects the even rows within the matched set. It do not select the even number index rows . It selects 2nd element ,4th element &amp; so on. &lt;/p&gt;
&lt;h3&gt;&lt;tt class="literal"&gt;: first Selector&lt;/tt&gt;&lt;/h3&gt;

&lt;p&gt;This Selector selects the first filtered element.&lt;/p&gt;

&lt;p&gt;Example :&lt;/p&gt;

&lt;pre class="brush:js"&gt;&amp;lt;script&amp;gt;$("tr:first").css("font-style", "italic");&amp;lt;/script&amp;gt;&lt;/pre&gt;

&lt;h3&gt;&lt;tt class="literal"&gt;: gt Selector&lt;/tt&gt;&lt;/h3&gt;

&lt;p&gt;This selector selects all the element which has greater index than the element with provided index.&lt;/p&gt;

&lt;p&gt;Example :&lt;/p&gt;

&lt;pre class="brush:js"&gt;&amp;lt;script&amp;gt;$("td:gt(4)").css("text-decoration", "line-through");&amp;lt;/script&amp;gt;&lt;/pre&gt;

&lt;p&gt;Here 4th element has index value 3 and it filters those elements with greater index value.&lt;/p&gt;

&lt;h3&gt;&lt;tt class="literal"&gt;: header Selector&lt;/tt&gt;&lt;/h3&gt;

&lt;p&gt;This selector filters the elements which have headers like &lt;tt&gt;H!&lt;/tt&gt;,&lt;tt&gt;H2&lt;/tt&gt;,&lt;tt&gt;H3&lt;/tt&gt; etc.&lt;/p&gt;

&lt;p&gt;Example :&lt;/p&gt;

&lt;pre class="brush:js"&gt;&amp;lt;script&amp;gt;$(":header").css({ background:'#CCC', color:'blue' });&amp;lt;/script&amp;gt;&lt;/pre&gt;

&lt;p&gt;This selector selects all the header.&lt;/p&gt;

&lt;h3&gt;&lt;tt class="literal"&gt;: last Selector&lt;/tt&gt;&lt;/h3&gt;

&lt;p&gt;This selector filters the last matched element.&lt;/p&gt;

&lt;p&gt;Example :&lt;/p&gt;

&lt;pre class="brush:js"&gt;&amp;lt;script&amp;gt;$("tr:last").css({backgroundColor: 'yellow', fontWeight: 'bolder'});&amp;lt;/script&amp;gt;&lt;/pre&gt;

&lt;p&gt;The above code filters the last tr or row in table and will change it's background color.&lt;/p&gt;

&lt;h3&gt;&lt;tt class="literal"&gt;: lt Selector&lt;/tt&gt;&lt;/h3&gt;

&lt;p&gt;This selector selects all the element which has lesser index than the element with provided index.&lt;/p&gt;

&lt;h3&gt;&lt;tt class="literal"&gt;: not Selector&lt;/tt&gt;&lt;/h3&gt;

&lt;p&gt;This selector is slightly different filtering style. As it filters those who don't matches provided criteria.&lt;/p&gt;

&lt;h3&gt;&lt;tt class="literal"&gt;: odd Selector&lt;/tt&gt;&lt;/h3&gt;

&lt;p&gt;This selector selects the odd elements like in a table it selects 1st , 3rd rows etc not according to the  index number. Since it selects 3rd row means it has index value 4.&lt;/p&gt;

&lt;p&gt;Example :&lt;/p&gt;

&lt;pre class="brush:js"&gt;&amp;lt;script&amp;gt;$("tr:odd").css("background-color", "#bbbbff");&amp;lt;/script&amp;gt;&lt;/pre&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/seevaa/~4/_cK7cLzNC2Q" height="1" width="1"/&gt;</description>
			<category>JavaScript</category>
			<category>jquery</category>
			<category>Selector</category>
			<author>seevaa</author>
			<guid isPermaLink="false">http://seevaa.net/384</guid>
			<comments>http://seevaa.net/384#entry384comment</comments>
			<pubDate>Mon, 18 Apr 2011 20:06:04 +0900</pubDate>
		<feedburner:origLink>http://seevaa.net/384</feedburner:origLink></item>
		<item>
			<title>Table 7 - short film</title>
			<link>http://feedproxy.google.com/~r/seevaa/~3/uiKTconUtcE/383</link>
			<description>&lt;div&gt;
&lt;iframe src="http://player.vimeo.com/video/19237917?title=0&amp;amp;byline=0&amp;amp;portrait=0&amp;amp;color=EA633A" width="600" height="338" frameborder="0"&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/seevaa/~4/uiKTconUtcE" height="1" width="1"/&gt;</description>
			<category>Bookmarks</category>
			<author>seevaa</author>
			<guid isPermaLink="false">http://seevaa.net/383</guid>
			<comments>http://seevaa.net/383#entry383comment</comments>
			<pubDate>Sun, 17 Apr 2011 17:44:49 +0900</pubDate>
		<feedburner:origLink>http://seevaa.net/383</feedburner:origLink></item>
		<item>
			<title>mybatis - sql.xml(product search)</title>
			<link>http://feedproxy.google.com/~r/seevaa/~3/QvdB17AaWLs/382</link>
			<description>&lt;pre class="brush : sql"&gt;SELECT
	p.PRODUCTID AS PRODUCTID,
	p.NAME  AS NAME,
	p.DESCRIPTION AS DESCRIPTION,
	p.IMAGE AS IMAGE,
	p.CATEGORYID AS CATEGORYID
FROM Product p
	INNER JOIN Category c ON c.categoryId=p.categoryId
	INNER JOIN Item i ON i.productId = p.productId
WHERE
	c.categoryId IN ('ACTADV')
	AND p.name LIKE ''
	AND p.description LIKE ''
	AND i.name LIKE ''
	AND i.description LIKE ''&lt;/pre&gt;

&lt;p&gt;위의 쿼리문을 아래와 같이 동적으로 처리, &lt;br /&gt;
parameterClass에 해당하는 beans(productSearch)를 만들어 이용한다.&lt;/p&gt;

&lt;pre class="brush : xml"&gt;&amp;lt;select id="searchProductsWithProductSearch" 
	parameterClass="productSearch"
	resultClass="product" &amp;gt;
	SELECT DISTINCT
	p.PRODUCTID,
	p.NAME,
	p.DESCRIPTION,
	p.IMAGE,
	p.CATEGORYID
	FROM Product p
	&amp;lt;isEqual property="itemProperties" compareValue="true"&amp;gt;
		INNER JOIN Item i ON i.productId=p.productId
	&amp;lt;/isEqual&amp;gt;
	&amp;lt;dynamic prepend="WHERE"&amp;gt;
		&amp;lt;iterate property="categoryIds" 
			open="p.categoryId IN (" close=")" 
			conjunction="," prepend="BOGUS"&amp;gt;
			#categoryIds[]#
		&amp;lt;/iterate&amp;gt;
		&amp;lt;isNotEmpty property="productName" prepend="AND"&amp;gt;
			p.name LIKE #productName#
		&amp;lt;/isNotEmpty&amp;gt;
		&amp;lt;isNotEmpty property="productDescription" prepend="AND"&amp;gt;
			p.description LIKE #productDescription#
		&amp;lt;/isNotEmpty&amp;gt;
		&amp;lt;isNotEmpty property="itemName" prepend="AND"&amp;gt;
			i.name LIKE #itemName#
		&amp;lt;/isNotEmpty&amp;gt;
		&amp;lt;isNotEmpty property="itemDescription" prepend="AND"&amp;gt;
			i.description LIKE #itemDescription#
		&amp;lt;/isNotEmpty&amp;gt;
	&amp;lt;/dynamic&amp;gt;
&amp;lt;/select&amp;gt;&lt;/pre&gt;

source : &lt;a href="http://book.naver.com/bookdb/book_detail.nhn?bid=2913734"&gt;iBATIS 인 액션&lt;/a&gt;&lt;img src="http://feeds.feedburner.com/~r/seevaa/~4/QvdB17AaWLs" height="1" width="1"/&gt;</description>
			<category>DataBase</category>
			<category>mybatis</category>
			<author>seevaa</author>
			<guid isPermaLink="false">http://seevaa.net/382</guid>
			<comments>http://seevaa.net/382#entry382comment</comments>
			<pubDate>Tue, 12 Apr 2011 20:24:43 +0900</pubDate>
		<feedburner:origLink>http://seevaa.net/382</feedburner:origLink></item>
		<item>
			<title>java - ThreadLocal 클래스</title>
			<link>http://feedproxy.google.com/~r/seevaa/~3/ZrPnY2wKXuM/381</link>
			<description>&lt;p&gt;source : &lt;a href="http://javacan.tistory.com/entry/ThreadLocalUsage"&gt;http://javacan.tistory.com/entry/ThreadLocalUsage&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;자바 1.2 버전부터 제공되고 있지만 아직 다수의 개발자들이 잘 몰라서 활용을 잘 못하는 기능이 하나 있는데, 그 기능이 바로 쓰레드 단위로 로컬 변수를 할당하는 기능이다. 이 기능은 ThreadLocal 클래스를 통해서 제공되는데
&lt;br /&gt;...&lt;br /&gt;ThreadLocal을 이용하면 쓰레드 영역에 변수를 설정할 수 있기 때문에, 특정 쓰레드가 실행하는 모든 코드에서 그 쓰레드에 설정된 변수 값을 사용할 수 있게 된다.&lt;br /&gt;...&lt;/blockquote&gt;

&lt;p&gt;아래는 트랜잭션처리를 위해 ThreadLocal을 이용해서 동일한 Connection을 얻기 위한 예제&lt;/p&gt;
&lt;pre class="brush:java"&gt;public class ConnectionUtil .... {
	...
	/*
	threadLocal을 이용해서 같은 connection을 끊지 않는 이상은 공유
	*/
	public static final ThreadLocal&amp;lt;Connection&amp;gt; threadLocal = new ThreadLocal&amp;lt;Connection&amp;gt;();
	public Connection getConnection(){
		Connection connection = (Connection)threadLocal.get();
		try{
			if(connection == null){
				connection = dataSource.getConnection();
				threadLocal.set(connection);
			}
			return connection;
		}catch(SQLException e){
			e.printStackTrace();
			throw new DAOException(e.getMessage());
		}
	}
	...
}&lt;/pre&gt;&lt;img src="http://feeds.feedburner.com/~r/seevaa/~4/ZrPnY2wKXuM" height="1" width="1"/&gt;</description>
			<category>java/jsp</category>
			<category>ThreadLocal</category>
			<category>쓰레드 변수</category>
			<category>트랜잭션</category>
			<author>seevaa</author>
			<guid isPermaLink="false">http://seevaa.net/381</guid>
			<comments>http://seevaa.net/381#entry381comment</comments>
			<pubDate>Tue, 12 Apr 2011 14:31:45 +0900</pubDate>
		<feedburner:origLink>http://seevaa.net/381</feedburner:origLink></item>
		<item>
			<title>mybatis - LIKE절에 parameter값 넣기</title>
			<link>http://feedproxy.google.com/~r/seevaa/~3/bcKXIhukwaA/380</link>
			<description>&lt;ul&gt;
	&lt;li&gt;
		&lt;p&gt;&lt;strong&gt;MySQL&lt;/strong&gt;
		&lt;pre class="brush:sql"&gt;SELECT * FROM table_name WHERE column_name LIKE "%$username$%"&lt;/pre&gt;
		이 방식은 보안위험성이 높다네요;;;   그래서 아래 방식 추천!!  (# 을 쓰는게 좋답니다;)
		&lt;pre class="brush:sql"&gt;SELECT * FROM table_name WHERE column_name LIKE CONCAT('%', #keyword#, '%')&lt;/pre&gt;&lt;/p&gt;
	&lt;/li&gt;
	&lt;li&gt;
		&lt;p&gt;&lt;strong&gt;ORACLE&lt;/strong&gt;
		&lt;pre class="brush:sql"&gt;SELECT * FROM table_name WHERE column_name LIKE '%'|| #username# ||'%'&lt;/pre&gt;&lt;/p&gt;
	&lt;/li&gt;
	&lt;li&gt;
		&lt;p&gt;&lt;strong&gt;SYBASE/SQL SERVER&lt;/strong&gt;
		&lt;pre class="brush:sql"&gt;SELECT * from table_name WHERE column_name LIKE '%' + #username# + '%'&lt;/pre&gt;&lt;/p&gt;
	&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;그냥 like %#땡땡땡#% 이렇게 하면&lt;br /&gt;
PrepareStatement 형식으로 바뀌면서 %?% 가 되어 오류가 발생.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/seevaa/~4/bcKXIhukwaA" height="1" width="1"/&gt;</description>
			<category>DataBase</category>
			<category>mybatis</category>
			<author>seevaa</author>
			<guid isPermaLink="false">http://seevaa.net/380</guid>
			<comments>http://seevaa.net/380#entry380comment</comments>
			<pubDate>Tue, 12 Apr 2011 12:28:46 +0900</pubDate>
		<feedburner:origLink>http://seevaa.net/380</feedburner:origLink></item>
		<item>
			<title>20110406</title>
			<link>http://feedproxy.google.com/~r/seevaa/~3/7eF8aZ7OU2M/379</link>
			<description>&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://cfile27.uf.tistory.com/image/1778E3584DA3B5290B19FB" alt="" filemime="image/jpeg" filename="IMG_1334.jpg" height="338" width="600"/&gt;&lt;/div&gt;

&lt;p&gt;어느 봄날 ㅋㅋㅋ&lt;br/&gt;
나중에 다시 본다면 웃길거야~&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/seevaa/~4/7eF8aZ7OU2M" height="1" width="1"/&gt;</description>
			<category>Life Style</category>
			<category>목련</category>
			<category>봄</category>
			<category>사진</category>
			<category>친구</category>
			<author>seevaa</author>
			<guid isPermaLink="false">http://seevaa.net/379</guid>
			<comments>http://seevaa.net/379#entry379comment</comments>
			<pubDate>Tue, 12 Apr 2011 11:18:46 +0900</pubDate>
		<feedburner:origLink>http://seevaa.net/379</feedburner:origLink></item>
		<item>
			<title>Eclipse 플러그인</title>
			<link>http://feedproxy.google.com/~r/seevaa/~3/34CL5dnGuJs/378</link>
			<description>&lt;ul&gt;
	&lt;li&gt;Maven IDE - &lt;a href="http://m2eclipse.codehaus.org/"&gt;http://m2eclipse.codehaus.org/&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;Spring IDE - &lt;a href="http://springide.org/updatesite/"&gt;http://springide.org/updatesite/&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;Quick Regular Expression - &lt;a href="http://www.bastian-bergerhoff.com/eclipse/features"&gt;http://www.bastian-bergerhoff.com/eclipse/features&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;Implementors - &lt;a href="http://eclipse-tools.sourceforge.net/updates/"&gt;http://eclipse-tools.sourceforge.net/updates/&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;The Eclipse Project Updates - &lt;a href="http://update.eclipse.org/updates/3.2"&gt;http://update.eclipse.org/updates/3.2&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;Callisto Discovery Site - &lt;a href="http://download.eclipse.org/callisto/releases"&gt;http://download.eclipse.org/callisto/releases&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/seevaa/~4/34CL5dnGuJs" height="1" width="1"/&gt;</description>
			<category>Eclipse</category>
			<category>플러그인</category>
			<author>seevaa</author>
			<guid isPermaLink="false">http://seevaa.net/378</guid>
			<comments>http://seevaa.net/378#entry378comment</comments>
			<pubDate>Tue, 05 Apr 2011 11:56:41 +0900</pubDate>
		<feedburner:origLink>http://seevaa.net/378</feedburner:origLink></item>
		<item>
			<title>JNDI</title>
			<link>http://feedproxy.google.com/~r/seevaa/~3/md7GGrQl9go/377</link>
			<description>&lt;h3&gt;JNDI의 소개&lt;/h3&gt;

&lt;p&gt;많은 J2EE개발자들이 환경변수(environment entries), &lt;code&gt;DataSource&lt;/code&gt; 객체, JMS 메시지 수신지(JMS message destinations) 그리고 엔터프라이즈 빈 홈 인터페이스(enterprise bean home interfaces)를 찾고자 Java Naming and Directory
Interface (JNDI)를 이용한다. 하지만 많은 사람들은 JNDI에 대한 진정한 이해 없이 이러한 기능을 하는 코드를 단순히 복사해서 붙이고 고칠 뿐이다. 이 팁은 사용자의 엔터프라이즈 시스템에 배포된 리소스를 액세스하기 위해 JNDI를 사용하는
방법을 소개한다. &lt;/p&gt;

&lt;p&gt;엔터프라이즈 애플리케이션들은 그것들의 특성상,
비즈니스 오퍼레이션을 지원하기 위해 여러곳에 배포된 리소스들을 한데 모아야 한다. 새로운 시스템이 생성되었다거나, 기존의 시스템이
업그레이드 되었다거나, 오래된 시스템이 더 이상 작동하지 않을 때 서비스들이 오가게 된다. 애플리케이션 서비스를 서로 분리하는
것은 시스템을 쉽게 유지/확장할 수 있게 한다. 하지만 서비스가 분리되었을 때, 각자의 역할을 제대로 수행하기 위해서는 서로를
찾아낼 수 있어야만 한다. 이 때가 바로 명명 서비스(naming services)와 디렉토리가 유용한 시점이다. &lt;/p&gt;

&lt;p&gt;명명 서비스는 이름을 이용해서 객체나 객체에 대한
레퍼런스를 검색하는 방법을 제공한다. 그러한 객체로의 예는 메시지 큐(message queues), 데이터베이스 커넥션
팩토리(database connection factories), 환경 파라미터(environment parameters), 그리고
엔터프라이즈 빈과 같은 분산 컴포넌트(distributed components)등이 있다. 애플리케이션 개발자들은 명명 서비스내의
이름에 객체들을 바인딩해서 객체에 이름을 붙인다. 애플리케이션 코드는 이렇게 바인딩된 이름으로 객체들을 검색하기 위해 명명
서비스를 사용할 수가 있다. 이러한 분리(decoupling)는 네트워크 객체들을 사용하는 시스템 컴포넌트에 대한 어떠한 변경없이
유지 보수를 위해 올리거나 내릴 수 있고, 요청들을 리다이렉트(redirect)시킬 수 있으며, 서비스가 다이나믹하게 재조정될 수
있음을 의미한다.&lt;/p&gt;

&lt;p&gt;이미 기존의 명명 서비스에 대해 잘 이해하고
있으리라고 생각된다. &lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;DNS (Domain Name Service)는 &lt;code&gt;java.sun.com&lt;/code&gt;과 같은 호스트네임을 &lt;code&gt;%nslookup java.sun.com%&lt;/code&gt;과 같은 IP주로소 매핑한다.&lt;/li&gt;
	&lt;li&gt;CORBA (Common Object Request Broker	Architecture)를 위해 쓰이는 COS (Common Object Services) 명명 서비스 는 CORBA 인터페이스 이름(interface names)을 객체 인터페이스로 매핑한다.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;사용자는 컴퓨터의 파일시스템을 파일의 경로(pathname)에 파일의 컨텐츠를 매핑하는 일종의 명명 서비스로 생각할 수 있다. &lt;/p&gt;

&lt;p&gt;밑의 그림은 명명 서비스가 서비스 네임을 데이터나 서비스 인터페이스로 매핑하는 방법을 보여주고 있다. &lt;/p&gt;

&lt;p&gt;이름(name)을 객체로 매핑하는 것을 바인딩이라
부른다. 바인딩은 명명 서비스를 형성하는 사람에 의해 생성된다. 대부분의 명명 서비스는 프로그램이 런타임시에 이름을 객체로
바인딩하거나 해제하는 방법도 제공한다.&lt;/p&gt;


&lt;p&gt;컨텍스트는 이름을 객체로 바인딩한 집합이다. 예를들면, 파일시스템에서 경로 &lt;code&gt;/home&lt;/code&gt;는 흔히 시스템의 유저 디렉토리를 포함하는 컨텍스트이다. 컨텍스트는 다른 컨텍스트를 포함할 수도 있다. 
&lt;code&gt;/home&lt;/code&gt; 컨텍스트의 유저 디렉토리는 그 자체가 유저 파일을 포함하는 컨텍스트이다. &lt;/p&gt;

&lt;p&gt;컨텍스트는 최소한 명명 규칙(naming
convention)과 검색기능(lookup function)을 갖는다. 예를 들면, DNS는 가장 구체적인 스트링은 왼쪽,
도메인은 오른쪽에 나타내면서 스트링을 점으로 분리하는 명명 규칙을 갖는다. DNS의 검색기능은&lt;code&gt;nslookup&lt;/code&gt; 프로그램을 이용해서 커맨드라인으로부터 액세스가 가능하다.(물론, DNS
명명 서비스에 대한 API도 존재한다.) 컨텍스트는 대게 객체들을 바인딩하고 해제하는 방법과 그것들을 열거하는 방법을 제공한다.&lt;/p&gt;

&lt;p&gt;때때로 명명 서비스 의 객체들은 다른 프로그램이
필요로 하는 데이터를 포함한다. 가령, J2EE애플리케이션에서 환경 변수를 나타내는 객체들은 대게 명명 서비스 에 저장된다.
하지만 이외에 명명 서비스의 객체는 객체에 대한 레퍼런스를 나타낸다. 예를 들면, 서버에 레퍼런스를 제공하는 객체는 통상적으로
오픈 서버 커넥션이 아닌 서버에 대한 레퍼런스로서 명명 서비스 에 의해 저장된다.명명 서비스 에 의해 리턴된 레퍼런스 객체는
필요시에 서버 커넥션을 생성하기 위해 사용될 수 있다. &lt;/p&gt;

&lt;p&gt;다음 그림은 컨텍스트의 개념도이다. top 컨텍스트는 &lt;code&gt;/top&lt;/code&gt;로
불리며 객체, 레퍼런스, 그리고 다른 컨텍스트들을 포함한다. 컨텍스트 &lt;code&gt;/top&lt;/code&gt;은
subcontexts b 와 g를 갖는다. 컨텍스트 &lt;code&gt;/top/g&lt;/code&gt;는
subcontext "b"를 갖는다. A라고 불리는 객체가 하나 이상 일지라도, 특정 개체 &lt;code&gt;/top/g/b/a&lt;/code&gt;는 그 위치가 컨텍스트 &lt;code&gt;/top/g/b&lt;/code&gt;임이 분명하기 때문에 찾을 수가 있다. &lt;/p&gt;

&lt;p&gt;바인딩된 객체들에 대한 데이터를 제공하는 명명서비스를 디렉토리라고 부른다.&lt;/p&gt;

&lt;p&gt;가령, 파일시스템 디렉토리는 일반적으로 크기,
타입, 접근 허용 그리고 파일을 생성하고 수정한 날짜에 관한 정보를 제공한다. 몇몇 디렉토리는 이름으로 검색, 애트리뷰트의
조합으로 검색 모두를 허용한다. &lt;/p&gt;

&lt;p&gt;각각의 명명 서비스들은 각자의 태스크(task)에
잘 맞도록 되어있지만, 그들이 작동하는 방식은 서로 다르다. 각 명명 서비스는 고유의 명명규칙, 검색기능, 바인딩과 디렉토리
프로토콜(directory protocols)과 객체 서비스 인터페이스(object service interfaces)를 갖는다.&lt;/p&gt;

&lt;p&gt;JNDI는 네트워크 서비스를 이름짓고 찾기 위해 일관된 방법을 제공한다. &lt;/p&gt;

&lt;h4&gt;Java Naming and Directory Interface&lt;/h4&gt;

&lt;p&gt;JDBC 데이터베이스 커넥션(database connections), JMS 큐(JMS queues) 혹은 엔터프라이즈 빈 홈 인터페이스(enterprise bean home
interfaces)와 같은 네트워크 객체에 액세스하기 위해 JNDI 를 사용하는 방법을 이미 알고 있을 것이다. &lt;/p&gt;

&lt;p&gt;사실 JNDI 는 이름들을 객체로 매핑하지만, JNDI 는 명명 서비스가 아니다. &lt;/p&gt;

&lt;p&gt;그보다도 JNDI는 명명 서비스를 표준적인 방법으로
액세스가능하게 하면서 기존의 명명 서비스를 감추는(wrap) 인터페이스들의 집합이다. &lt;/p&gt;

&lt;p&gt;다음 그림에서 보는 것과 같이, 자바 애플리케이션은
JNDI인터페이스를 이용해서 감춰진(underlying) 명명 서비스에 액세스한다. &lt;/p&gt;


&lt;p&gt;애플리케이션내의 코드는 JNDI 인터페이스 메소드를
호출한다. 이러한 메소드를 구현하는 객체들은 JNDI 인터페이스 호출을 감춰진 명명 서비스에 대한 호출로 매핑한다. &lt;/p&gt;

&lt;p&gt;또한 JNDI는 통합된 명명 규칙도 정의한다.
JNDI 이름들은 JNDI의 명명 관리자(naming manager)에 의해 감춰진 명명 서비스의 명명 규칙을 따르는 이름으로
매핑된다. &lt;/p&gt;

&lt;p&gt;&lt;code&gt;javax.naming &lt;/code&gt;패키지는 다음과 같은 명명과 디렉토리에 관련된 인터페이스들을 포함한다.&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;&lt;code&gt; javax.naming.Context&lt;/code&gt;는
	컨텍스트를 나타내는데, 이것은 바인딩과 서브컨텍스트를 찾고 관리하는 데에 쓰인다.&lt;/li&gt;
	&lt;li&gt;&lt;code&gt; javax.naming.Name&lt;/code&gt;는
	명명 서비스의 이름을 추상적으로 표현(abstract representation)하게 해준다.&lt;/li&gt;
	&lt;li&gt;&lt;code&gt; javax.naming.Binding&lt;/code&gt;은
	명명 서비스 이름과 그 이름에 바인딩된 객체의 표현이다.&lt;/li&gt;
	&lt;li&gt;&lt;code&gt; javax.naming.Reference&lt;/code&gt;는
	객체의 복사본을 얻어낼 수 있게 해준다.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;컨텍스트 찾기 &lt;/h4&gt;

&lt;p&gt;이 팁에 포함된 샘플코드는 JNDI컨텍스트의
컨텐츠를 열거하는 방법을 보여준다. &lt;/p&gt;

&lt;p&gt;샘플 서블릿&lt;code&gt;Oct2003Servlet&lt;/code&gt;는 사용자가 입력한 이름에 해당하는
JNDI namespace내의 컨텐츠를 찾고 디스플레이한다. &lt;/p&gt;

&lt;p&gt;컨텍스트를 얻는 가장 쉬운 방법은&lt;code&gt;javax.naming.InitialContext&lt;/code&gt; 클래스의
인스턴스를 생성하는 것이다. 샘플 서블릿 메소드 &lt;code&gt;jndiList&lt;/code&gt;는
최초의 컨텍스트를 생성하고 명명된 객체를 찾을 때 그것을 사용한다. &lt;/p&gt;
&lt;pre class="brush:js"&gt;InitialContext ic = new InitialContext();
Object objFound = ic.lookup(name);
&lt;/pre&gt;

&lt;p&gt;여기에서 name은 사용자가 HTML페이지에서
입력한 HTTP &lt;code&gt;GET&lt;/code&gt; 혹은 &lt;code&gt;POST&lt;/code&gt;변수명(vriable name)이다. 만약 리턴된 객체가 &lt;code&gt;Context&lt;/code&gt;라면 &lt;code&gt;jndiList&lt;/code&gt;는 
&lt;code&gt;listContext&lt;/code&gt; 메소드를 호출하고, &lt;code&gt;ListContext&lt;/code&gt; 메소드는 주어진 이름에 해당하는 컨텍스트의 컨텐츠를 열거한다. 객체가 &lt;code&gt;DataSource&lt;/code&gt;이면, &lt;code&gt;jndiList&lt;/code&gt;는 명명된 데이터 소스에 관한 정보를 출력한다. &lt;/p&gt;

&lt;p&gt;&lt;code&gt;listContext&lt;/code&gt; 메소드는 주어진 JNDI 컨텍스트의 컨텐츠를 하나의 테이블로 출력한다. 이를 위해서는 &lt;code&gt;Context&lt;/code&gt; 메소드 &lt;code&gt;listBindings&lt;/code&gt;를 이용하는데, 이는
&lt;code&gt;NamingEnumeration &lt;/code&gt;를 리턴한다. &lt;/p&gt;

&lt;pre class="brush:js"&gt;NamingEnumeration ne = context.listBindings("");&lt;/pre&gt;

&lt;p&gt;&lt;code&gt;NamingEnumeration&lt;/code&gt;는 &lt;code&gt;java.util.Enumeration&lt;/code&gt;를 구현한 것이다. &lt;code&gt;NamingEnumeration.next&lt;/code&gt; 메소드는 &lt;code&gt;javax.naming.Binding&lt;/code&gt; 타입의 객체를 리턴하고, 이는 객체의 이름과 객체의 클래스 이름 그리고
저장된 객체 자체를 포함한다. &lt;/p&gt;

&lt;pre class="brush:js"&gt;while (ne.hasMore()) {
	Binding ncp = (Binding)ne.next();
	String objName = ncp.getName();
	String objClass = ncp.getClassName();
	Object objObj = ncp.getObject();
	...
}&lt;/pre&gt;

&lt;p&gt;단순히 &lt;code&gt;Context&lt;/code&gt;내의 이름들과 클래스이름을 보고자 한다면 &lt;code&gt;Context.list&lt;/code&gt; 메소드를 이용할 수 있다. &lt;/p&gt;

&lt;p&gt;&lt;code&gt;Context.list&lt;/code&gt;도 &lt;code&gt;NamingEnumeration&lt;/code&gt;를 리턴하지만, 그것이 담고있는 컬랙션은 &lt;code&gt;Binding&lt;/code&gt;이 아닌 &lt;code&gt;NameClassPair&lt;/code&gt;타입이다. &lt;code&gt;NameClassPair&lt;/code&gt;는 이름과 객체 클래스 이름만을 포함한다. &lt;/p&gt;

&lt;p&gt;샘플애플리케이션을 배포하고 실행하는 방법은 &lt;a href="http://kr.sun.com/developers/techtips/enter_10_27.html#sample"&gt;샘플코드 실행하기&lt;/a&gt;를 참고한다. &lt;/p&gt;
&lt;p&gt;애플리케이션을 실행하면, 다음과 같은 시작페이지를 보게 된다. &lt;/p&gt;


&lt;p&gt;컨텍스트를 입력하거나, 텍스트 필드를 빈 상태로
놔두고 명명된 컨텍스트의 컨텐츠를 보기 위해 List버튼을 클릭한다. 예를 들면 jdbc 의 엔트리는 다음과 같은 화면을
디스플레이한다. &lt;/p&gt;

&lt;p&gt;JNDI 에 관한 더 자세한 정보는 &lt;a	 href="http://java.sun.com/products/jndi/tutorial/index.html"&gt;JNDI 튜토리얼&lt;/a&gt;를 참고한다. &lt;/p&gt;



&lt;p&gt;source : &lt;a href="http://blog.naver.com/kvivaldi.do?Redirect=Log&amp;amp;logNo=60004720636"&gt;http://blog.naver.com/kvivaldi.do?Redirect=Log&amp;amp;logNo=60004720636&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/seevaa/~4/md7GGrQl9go" height="1" width="1"/&gt;</description>
			<category>java/jsp</category>
			<category>J2EE</category>
			<category>Java</category>
			<author>seevaa</author>
			<guid isPermaLink="false">http://seevaa.net/377</guid>
			<comments>http://seevaa.net/377#entry377comment</comments>
			<pubDate>Tue, 05 Apr 2011 10:55:22 +0900</pubDate>
		<feedburner:origLink>http://seevaa.net/377</feedburner:origLink></item>
		<item>
			<title>길고양이</title>
			<link>http://feedproxy.google.com/~r/seevaa/~3/b2PODTOmVi8/376</link>
			<description>&lt;iframe title="YouTube video player" width="600" height="368" src="http://www.youtube.com/embed/Ewx7BXHMboU" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;
&lt;p&gt;밥달라는 건지;;;&lt;br/&gt;
내 엉덩이 밑으로 들어가서 자리잡아버린;; ㅋ&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/seevaa/~4/b2PODTOmVi8" height="1" width="1"/&gt;</description>
			<category>Life Style</category>
			<category>고양이</category>
			<author>seevaa</author>
			<guid isPermaLink="false">http://seevaa.net/376</guid>
			<comments>http://seevaa.net/376#entry376comment</comments>
			<pubDate>Mon, 04 Apr 2011 13:57:13 +0900</pubDate>
		<feedburner:origLink>http://seevaa.net/376</feedburner:origLink></item>
		<item>
			<title>20110403</title>
			<link>http://feedproxy.google.com/~r/seevaa/~3/3jQAT7jSZ-M/375</link>
			<description>&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://cfile10.uf.tistory.com/image/115279544D990CD405C024" alt="각시꽃" filemime="image/jpeg" filename="IMG_1002.jpg" height="338" width="600"/&gt;&lt;/div&gt;
&lt;p&gt;iPhone 에서 작성된 글입니다.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/seevaa/~4/3jQAT7jSZ-M" height="1" width="1"/&gt;</description>
			<category>Photo</category>
			<category>꽃</category>
			<author>seevaa</author>
			<guid isPermaLink="false">http://seevaa.net/375</guid>
			<comments>http://seevaa.net/375#entry375comment</comments>
			<pubDate>Sun, 03 Apr 2011 14:48:02 +0900</pubDate>
		<feedburner:origLink>http://seevaa.net/375</feedburner:origLink></item>
		<item>
			<title>블랙스완</title>
			<link>http://feedproxy.google.com/~r/seevaa/~3/T19OU20Sjcs/374</link>
			<description>&lt;div class="imageblock" style="display:inline;"&gt;&lt;img src="http://cfile2.uf.tistory.com/image/1930563F4D91454E21DB51" alt="영화 블랙스완 포스터" filemime="image/jpeg" filename="MV5BNzY2NzI4OTE5MF5BMl5BanBnXkFtZTcwMjMyNDY4Mw@@._V1._SX640.jpg" height="889" width="600"/&gt;&lt;/div&gt;
&lt;p&gt;source - &lt;a href="http://www.imdb.com/media/rm1503101184/tt0947798"&gt;http://www.imdb.com/media/rm1503101184/tt0947798&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;본다 본다 하다 결국 다운받아서 봤는데... 처음부터 끝까지 긴장하고 본 영화, 굳!!!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/seevaa/~4/T19OU20Sjcs" height="1" width="1"/&gt;</description>
			<category>Life Style</category>
			<category>Black Swan</category>
			<category>영화</category>
			<author>seevaa</author>
			<guid isPermaLink="false">http://seevaa.net/374</guid>
			<comments>http://seevaa.net/374#entry374comment</comments>
			<pubDate>Tue, 29 Mar 2011 11:28:24 +0900</pubDate>
		<feedburner:origLink>http://seevaa.net/374</feedburner:origLink></item>
		<item>
			<title>CSS - the Selector syntax</title>
			<link>http://feedproxy.google.com/~r/seevaa/~3/PFRomewvGgs/373</link>
			<description>&lt;table class="normalTable" style="font-size: 9px; line-height: 160%;"&gt;
	&lt;thead&gt;
		&lt;tr&gt;
			&lt;th&gt;Pattern&lt;/th&gt;
			&lt;th&gt;Meaning&lt;/th&gt;
			&lt;th&gt;Described in section&lt;/th&gt;
			&lt;th&gt;level&lt;/th&gt;
		&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
		&lt;tr&gt;
			&lt;td&gt;*&lt;/td&gt;
			&lt;td&gt;any element&lt;/td&gt;
			&lt;td&gt;&lt;a
				href="http://www.w3.org/TR/css3-selectors/#universal-selector"&gt;Universal
			selector&lt;/a&gt;&lt;/td&gt;
			&lt;td&gt;2&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;E&lt;/td&gt;
			&lt;td&gt;an element of type E&lt;/td&gt;
			&lt;td&gt;&lt;a
				href="http://www.w3.org/TR/css3-selectors/#type-selectors"&gt;Type
			selector&lt;/a&gt;&lt;/td&gt;
			&lt;td&gt;1&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;E[foo]&lt;/td&gt;
			&lt;td&gt;an E element with a "foo" attribute&lt;/td&gt;
			&lt;td&gt;&lt;a
				href="http://www.w3.org/TR/css3-selectors/#attribute-selectors"&gt;Attribute
			selectors&lt;/a&gt;&lt;/td&gt;
			&lt;td&gt;2&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;E[foo="bar"]&lt;/td&gt;
			&lt;td&gt;an E element whose "foo" attribute value is
			exactly equal to "bar"&lt;/td&gt;
			&lt;td&gt;&lt;a
				href="http://www.w3.org/TR/css3-selectors/#attribute-selectors"&gt;Attribute
			selectors&lt;/a&gt;&lt;/td&gt;
			&lt;td&gt;2&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;E[foo~="bar"]&lt;/td&gt;
			&lt;td&gt;an E element whose "foo" attribute value is
			a list of whitespace-separated values, one of which is exactly equal
			to "bar"&lt;/td&gt;
			&lt;td&gt;&lt;a
				href="http://www.w3.org/TR/css3-selectors/#attribute-selectors"&gt;Attribute
			selectors&lt;/a&gt;&lt;/td&gt;
			&lt;td&gt;2&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;E[foo^="bar"]&lt;/td&gt;
			&lt;td&gt;an E element whose "foo" attribute value
			begins exactly with the string "bar"&lt;/td&gt;
			&lt;td&gt;&lt;a
				href="http://www.w3.org/TR/css3-selectors/#attribute-selectors"&gt;Attribute
			selectors&lt;/a&gt;&lt;/td&gt;
			&lt;td&gt;3&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;E[foo$="bar"]&lt;/td&gt;
			&lt;td&gt;an E element whose "foo" attribute value
			ends exactly with the string "bar"&lt;/td&gt;
			&lt;td&gt;&lt;a
				href="http://www.w3.org/TR/css3-selectors/#attribute-selectors"&gt;Attribute
			selectors&lt;/a&gt;&lt;/td&gt;
			&lt;td&gt;3&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;E[foo*="bar"]&lt;/td&gt;
			&lt;td&gt;an E element whose "foo" attribute value
			contains the substring "bar"&lt;/td&gt;
			&lt;td&gt;&lt;a
				href="http://www.w3.org/TR/css3-selectors/#attribute-selectors"&gt;Attribute
			selectors&lt;/a&gt;&lt;/td&gt;
			&lt;td&gt;3&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;E[foo|="en"]&lt;/td&gt;
			&lt;td&gt;an E element whose "foo" attribute has a
			hyphen-separated list of values beginning (from the left) with "en"&lt;/td&gt;
			&lt;td&gt;&lt;a
				href="http://www.w3.org/TR/css3-selectors/#attribute-selectors"&gt;Attribute
			selectors&lt;/a&gt;&lt;/td&gt;
			&lt;td&gt;2&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;E:root&lt;/td&gt;
			&lt;td&gt;an E element, root of the document&lt;/td&gt;
			&lt;td&gt;&lt;a
				href="http://www.w3.org/TR/css3-selectors/#structural-pseudos"&gt;Structural
			pseudo-classes&lt;/a&gt;&lt;/td&gt;
			&lt;td&gt;3&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;E:nth-child(n)&lt;/td&gt;
			&lt;td&gt;an E element, the n-th child of its parent&lt;/td&gt;
			&lt;td&gt;&lt;a
				href="http://www.w3.org/TR/css3-selectors/#structural-pseudos"&gt;Structural
			pseudo-classes&lt;/a&gt;&lt;/td&gt;
			&lt;td&gt;3&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;E:nth-last-child(n)&lt;/td&gt;
			&lt;td&gt;an E element, the n-th child of its parent,
			counting from the last one&lt;/td&gt;
			&lt;td&gt;&lt;a
				href="http://www.w3.org/TR/css3-selectors/#structural-pseudos"&gt;Structural
			pseudo-classes&lt;/a&gt;&lt;/td&gt;
			&lt;td&gt;3&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;E:nth-of-type(n)&lt;/td&gt;
			&lt;td&gt;an E element, the n-th sibling of its type&lt;/td&gt;
			&lt;td&gt;&lt;a
				href="http://www.w3.org/TR/css3-selectors/#structural-pseudos"&gt;Structural
			pseudo-classes&lt;/a&gt;&lt;/td&gt;
			&lt;td&gt;3&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;E:nth-last-of-type(n)&lt;/td&gt;
			&lt;td&gt;an E element, the n-th sibling of its type,
			counting from the last one&lt;/td&gt;
			&lt;td&gt;&lt;a
				href="http://www.w3.org/TR/css3-selectors/#structural-pseudos"&gt;Structural
			pseudo-classes&lt;/a&gt;&lt;/td&gt;
			&lt;td&gt;3&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;E:first-child&lt;/td&gt;
			&lt;td&gt;an E element, first child of its parent&lt;/td&gt;
			&lt;td&gt;&lt;a
				href="http://www.w3.org/TR/css3-selectors/#structural-pseudos"&gt;Structural
			pseudo-classes&lt;/a&gt;&lt;/td&gt;
			&lt;td&gt;2&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;E:last-child&lt;/td&gt;
			&lt;td&gt;an E element, last child of its parent&lt;/td&gt;
			&lt;td&gt;&lt;a
				href="http://www.w3.org/TR/css3-selectors/#structural-pseudos"&gt;Structural
			pseudo-classes&lt;/a&gt;&lt;/td&gt;
			&lt;td&gt;3&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;E:first-of-type&lt;/td&gt;
			&lt;td&gt;an E element, first sibling of its type&lt;/td&gt;
			&lt;td&gt;&lt;a
				href="http://www.w3.org/TR/css3-selectors/#structural-pseudos"&gt;Structural
			pseudo-classes&lt;/a&gt;&lt;/td&gt;
			&lt;td&gt;3&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;E:last-of-type&lt;/td&gt;
			&lt;td&gt;an E element, last sibling of its type&lt;/td&gt;
			&lt;td&gt;&lt;a
				href="http://www.w3.org/TR/css3-selectors/#structural-pseudos"&gt;Structural
			pseudo-classes&lt;/a&gt;&lt;/td&gt;
			&lt;td&gt;3&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;E:only-child&lt;/td&gt;
			&lt;td&gt;an E element, only child of its parent&lt;/td&gt;
			&lt;td&gt;&lt;a
				href="http://www.w3.org/TR/css3-selectors/#structural-pseudos"&gt;Structural
			pseudo-classes&lt;/a&gt;&lt;/td&gt;
			&lt;td&gt;3&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;E:only-of-type&lt;/td&gt;
			&lt;td&gt;an E element, only sibling of its type&lt;/td&gt;
			&lt;td&gt;&lt;a
				href="http://www.w3.org/TR/css3-selectors/#structural-pseudos"&gt;Structural
			pseudo-classes&lt;/a&gt;&lt;/td&gt;
			&lt;td&gt;3&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;E:empty&lt;/td&gt;
			&lt;td&gt;an E element that has no children (including
			text nodes)&lt;/td&gt;
			&lt;td&gt;&lt;a
				href="http://www.w3.org/TR/css3-selectors/#structural-pseudos"&gt;Structural
			pseudo-classes&lt;/a&gt;&lt;/td&gt;
			&lt;td&gt;3&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;E:link&lt;br /&gt;
			E:visited&lt;/td&gt;
			&lt;td&gt;an E element being the source anchor of a
			hyperlink of which the target is not yet visited (:link) or already
			visited (:visited)&lt;/td&gt;
			&lt;td&gt;&lt;a
				href="http://www.w3.org/TR/css3-selectors/#link"&gt;The link
			pseudo-classes&lt;/a&gt;&lt;/td&gt;
			&lt;td&gt;1&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;E:active&lt;br /&gt;
			E:hover&lt;br /&gt;
			E:focus&lt;/td&gt;
			&lt;td&gt;an E element during certain user actions&lt;/td&gt;
			&lt;td&gt;&lt;a
				href="http://www.w3.org/TR/css3-selectors/#useraction-pseudos"&gt;The
			user action pseudo-classes&lt;/a&gt;&lt;/td&gt;
			&lt;td&gt;1,2&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;E:target&lt;/td&gt;
			&lt;td&gt;an E element being the target of the
			referring URI&lt;/td&gt;
			&lt;td&gt;&lt;a
				href="http://www.w3.org/TR/css3-selectors/#target-pseudo"&gt;The
			target pseudo-class&lt;/a&gt;&lt;/td&gt;
			&lt;td&gt;3&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;E:lang(fr)&lt;/td&gt;
			&lt;td&gt;an element of type E in language "fr" (the
			document language specifies how language is determined)&lt;/td&gt;
			&lt;td&gt;&lt;a
				href="http://www.w3.org/TR/css3-selectors/#lang-pseudo"&gt;The
			:lang() pseudo-class&lt;/a&gt;&lt;/td&gt;
			&lt;td&gt;2&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;E:enabled&lt;br /&gt;
			E:disabled&lt;/td&gt;
			&lt;td&gt;a user interface element E which is enabled
			or disabled&lt;/td&gt;
			&lt;td&gt;&lt;a
				href="http://www.w3.org/TR/css3-selectors/#UIstates"&gt;The UI
			element states pseudo-classes&lt;/a&gt;&lt;/td&gt;
			&lt;td&gt;3&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;E:checked&lt;/td&gt;
			&lt;td&gt;a user interface element E which is checked
			(for instance a radio-button or checkbox)&lt;/td&gt;
			&lt;td&gt;&lt;a
				href="http://www.w3.org/TR/css3-selectors/#UIstates"&gt;The UI
			element states pseudo-classes&lt;/a&gt;&lt;/td&gt;
			&lt;td&gt;3&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;E::first-line&lt;/td&gt;
			&lt;td&gt;the first formatted line of an E element&lt;/td&gt;
			&lt;td&gt;&lt;a
				href="http://www.w3.org/TR/css3-selectors/#first-line"&gt;The
			::first-line pseudo-element&lt;/a&gt;&lt;/td&gt;
			&lt;td&gt;1&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;E::first-letter&lt;/td&gt;
			&lt;td&gt;the first formatted letter of an E element&lt;/td&gt;
			&lt;td&gt;&lt;a
				href="http://www.w3.org/TR/css3-selectors/#first-letter"&gt;The
			::first-letter pseudo-element&lt;/a&gt;&lt;/td&gt;
			&lt;td&gt;1&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;E::before&lt;/td&gt;
			&lt;td&gt;generated content before an E element&lt;/td&gt;
			&lt;td&gt;&lt;a
				href="http://www.w3.org/TR/css3-selectors/#gen-content"&gt;The
			::before pseudo-element&lt;/a&gt;&lt;/td&gt;
			&lt;td&gt;2&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;E::after&lt;/td&gt;
			&lt;td&gt;generated content after an E element&lt;/td&gt;
			&lt;td&gt;&lt;a
				href="http://www.w3.org/TR/css3-selectors/#gen-content"&gt;The
			::after pseudo-element&lt;/a&gt;&lt;/td&gt;
			&lt;td&gt;2&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;E.warning&lt;/td&gt;
			&lt;td&gt;an E element whose class is "warning" (the
			document language specifies how class is determined).&lt;/td&gt;
			&lt;td&gt;&lt;a
				href="http://www.w3.org/TR/css3-selectors/#class-html"&gt;Class
			selectors&lt;/a&gt;&lt;/td&gt;
			&lt;td&gt;1&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;E#myid&lt;/td&gt;
			&lt;td&gt;an E element with ID equal to "myid".&lt;/td&gt;
			&lt;td&gt;&lt;a
				href="http://www.w3.org/TR/css3-selectors/#id-selectors"&gt;ID
			selectors&lt;/a&gt;&lt;/td&gt;
			&lt;td&gt;1&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;E:not(s)&lt;/td&gt;
			&lt;td&gt;an E element that does not match simple
			selector s&lt;/td&gt;
			&lt;td&gt;&lt;a
				href="http://www.w3.org/TR/css3-selectors/#negation"&gt;Negation
			pseudo-class&lt;/a&gt;&lt;/td&gt;
			&lt;td&gt;3&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;E F&lt;/td&gt;
			&lt;td&gt;an F element descendant of an E element&lt;/td&gt;
			&lt;td&gt;&lt;a
				href="http://www.w3.org/TR/css3-selectors/#descendant-combinators"&gt;Descendant
			combinator&lt;/a&gt;&lt;/td&gt;
			&lt;td&gt;1&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;E &amp;gt; F&lt;/td&gt;
			&lt;td&gt;an F element child of an E element&lt;/td&gt;
			&lt;td&gt;&lt;a
				href="http://www.w3.org/TR/css3-selectors/#child-combinators"&gt;Child
			combinator&lt;/a&gt;&lt;/td&gt;
			&lt;td&gt;2&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;E + F&lt;/td&gt;
			&lt;td&gt;an F element immediately preceded by an E
			element&lt;/td&gt;
			&lt;td&gt;&lt;a
				href="http://www.w3.org/TR/css3-selectors/#adjacent-sibling-combinators"&gt;Adjacent
			sibling combinator&lt;/a&gt;&lt;/td&gt;
			&lt;td&gt;2&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;E ~ F&lt;/td&gt;
			&lt;td&gt;an F element preceded by an E element&lt;/td&gt;
			&lt;td&gt;&lt;a
				href="http://www.w3.org/TR/css3-selectors/#general-sibling-combinators"&gt;General
			sibling combinator&lt;/a&gt;&lt;/td&gt;
			&lt;td&gt;3&lt;/td&gt;
		&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style="font-size: 9px; line-height: 160%;"&gt;source - &lt;a href="http://www.w3.org/TR/css3-selectors/#selectors"&gt;http://www.w3.org/TR/css3-selectors/#selectors&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/seevaa/~4/PFRomewvGgs" height="1" width="1"/&gt;</description>
			<category>CSS</category>
			<category>CSS</category>
			<category>Selector</category>
			<author>seevaa</author>
			<guid isPermaLink="false">http://seevaa.net/373</guid>
			<comments>http://seevaa.net/373#entry373comment</comments>
			<pubDate>Thu, 24 Mar 2011 17:56:04 +0900</pubDate>
		<feedburner:origLink>http://seevaa.net/373</feedburner:origLink></item>
		<item>
			<title>grayscale</title>
			<link>http://feedproxy.google.com/~r/seevaa/~3/i56GE7hA1tM/372</link>
			<description>&lt;div style="text-shadow:none; color:#EA633A; font:9px 'verdana'; text-align:center; "&gt;
&lt;script type="text/javascript"&gt;
&lt;!--
	var count=128;
	var text="";
	for(i=0;i&lt;256;i+=(256/count)){
		var hex = i.toString(16);
		if(i&lt;16)
			hex = "0"+i.toString(16);
		text=text+"&lt;div style='float:left; padding-top:10px; padding-bottom:100px; width:"+100/(count/4)+"%; background-color:#"+hex+hex+hex+"'&gt;"+hex+"&lt;/div&gt;";
	}
	document.write(text);
//--&gt;
&lt;/script&gt;
&lt;/div&gt;
&lt;div class="clearer"&gt;&lt;/div&gt;

&lt;p&gt;128개 다 구분할 수 있는지 보세요~&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/seevaa/~4/i56GE7hA1tM" height="1" width="1"/&gt;</description>
			<category>JavaScript</category>
			<author>seevaa</author>
			<guid isPermaLink="false">http://seevaa.net/372</guid>
			<comments>http://seevaa.net/372#entry372comment</comments>
			<pubDate>Wed, 23 Mar 2011 19:22:58 +0900</pubDate>
		<feedburner:origLink>http://seevaa.net/372</feedburner:origLink></item>
		<item>
			<title>Bookmark - 20110309 : NHN, HTML Elements의 id/class(CSS selector) 네이밍</title>
			<link>http://feedproxy.google.com/~r/seevaa/~3/zJcTjsjeAuA/371</link>
			<description>&lt;p&gt;Source : &lt;strong&gt;NHN&lt;/strong&gt; &amp;gt; &lt;a href="http://html.nhndesign.com/" target="_top"&gt;NULI&lt;/a&gt; &amp;gt; Guidelines &amp;gt; Naming&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Naming Guidelines&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;&lt;a href="http://html.nhndesign.com/guidelines/naming/#section1"&gt;CSS 파일 네이밍&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href="http://html.nhndesign.com/guidelines/naming/#section2"&gt;id/class 선택자 선언 규약&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href="http://html.nhndesign.com/guidelines/naming/#section3"&gt;id/class 선택자 네이밍 가이드&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href="http://html.nhndesign.com/guidelines/naming/#section4"&gt;Image 네이밍 규약&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href="http://html.nhndesign.com/guidelines/naming/#section5"&gt;Image 네이밍 가이드&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href="http://html.nhndesign.com/guidelines/naming/#section6"&gt;Update History&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;img src="http://feeds.feedburner.com/~r/seevaa/~4/zJcTjsjeAuA" height="1" width="1"/&gt;</description>
			<category>CSS</category>
			<category>HTML/CSS</category>
			<category>Naming</category>
			<author>seevaa</author>
			<guid isPermaLink="false">http://seevaa.net/371</guid>
			<comments>http://seevaa.net/371#entry371comment</comments>
			<pubDate>Wed, 09 Mar 2011 11:33:56 +0900</pubDate>
		<feedburner:origLink>http://seevaa.net/371</feedburner:origLink></item>
		<item>
			<title>Ext JS, Cross-Browser Rich Internet Application Framework</title>
			<link>http://feedproxy.google.com/~r/seevaa/~3/iPx4OZ4lAZo/370</link>
			<description>Ext JS, Cross-Browser Rich Internet Application Framework
&lt;p&gt;&lt;strong&gt;Ext JS&lt;/strong&gt; is the developer's choice for building powerful desktop web applications using JavaScript and web standards.&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Official : &lt;a href="http://www.sencha.com/products/extjs/"&gt;http://www.sencha.com/products/extjs/&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;Demo : &lt;a href="http://dev.sencha.com/deploy/dev/examples/"&gt;http://dev.sencha.com/deploy/dev/examples/&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;Docs : &lt;a href="http://dev.sencha.com/deploy/dev/docs/"&gt;http://dev.sencha.com/deploy/dev/docs/&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;Tutorials : &lt;a href="http://www.sencha.com/learn/Tutorials"&gt;http://www.sencha.com/learn/Tutorials&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Ext JS Overview&lt;/strong&gt;&lt;br /&gt;With Ext JS, you can develop pixel-perfect, cross-platform web apps with ease. Whether you're a single developer or a development team, the Ext JS component model keeps your code well structured so even the largest applications can be easily maintained. And other developers' components plug-in seamlessly. Best of all, Ext JS provides an encyclopedic-collection of user interface widgets with a elegant starting theme. These are just a few of the reasons why Ext JS is the leading choice of developers everywhere.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;아래는 데꾸벅님의 정리글들, 저처럼 입문자에게 오아시스같은 존재;;&lt;br /&gt;
&lt;a href="http://techbug.tistory.com/category/Scripter/EXTJS"&gt;http://techbug.tistory.com/category/Scripter/EXTJS&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/seevaa/~4/iPx4OZ4lAZo" height="1" width="1"/&gt;</description>
			<category>JavaScript</category>
			<category>ext JS</category>
			<category>framework</category>
			<author>seevaa</author>
			<guid isPermaLink="false">http://seevaa.net/370</guid>
			<comments>http://seevaa.net/370#entry370comment</comments>
			<pubDate>Tue, 08 Mar 2011 09:50:44 +0900</pubDate>
		<feedburner:origLink>http://seevaa.net/370</feedburner:origLink></item>
		<item>
			<title>Bookmark - 20110307 : iPhone User Interface Framework</title>
			<link>http://feedproxy.google.com/~r/seevaa/~3/87nf1Jb9f5g/369</link>
			<description>아이폰용 웹앱 프레임워크 iUI: iPhone User Interface Framework&lt;br /&gt;
&lt;a href="http://code.google.com/p/iui/"&gt;http://code.google.com/p/iui/&lt;/a&gt;

&lt;p&gt;아이폰용 웹사이트를 만들기 쉽도록 프레임워크를 오픈소스로 제공하고 있다.&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;iUI is a framework consisting of a JavaScript library, CSS, and images for developing advanced mobile webapps for iPhone and comparable/compatible devices. &lt;/p&gt;&lt;/blockquote&gt;


&lt;ul&gt;
	&lt;li&gt;Create Navigational Menus and iPhone-style interfaces from standard HTML &lt;/li&gt;
	&lt;li&gt;Use or knowledge of JavaScript is not required to create modern mobile web pages &lt;/li&gt;
	&lt;li&gt;Ability to handle phone orientation changes &lt;/li&gt;
	&lt;li&gt;Provide a more "iPhone-like" experience in your Web apps &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For more information, see the &lt;a href="http://code.google.com/p/iui/wiki/Introduction"&gt;Introduction&lt;/a&gt; page.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/seevaa/~4/87nf1Jb9f5g" height="1" width="1"/&gt;</description>
			<category>Bookmarks</category>
			<category>framework</category>
			<category>iPhone</category>
			<category>iui</category>
			<category>webapps</category>
			<author>seevaa</author>
			<guid isPermaLink="false">http://seevaa.net/369</guid>
			<comments>http://seevaa.net/369#entry369comment</comments>
			<pubDate>Mon, 07 Mar 2011 21:25:00 +0900</pubDate>
		<feedburner:origLink>http://seevaa.net/369</feedburner:origLink></item>
		<item>
			<title>JSP - Tiles를 이용한 레이아웃 템플릿 처리</title>
			<link>http://feedproxy.google.com/~r/seevaa/~3/3dDC8Emnq3M/368</link>
			<description>&lt;p&gt;컴포지트 뷰(Composite View) 패턴을 구현한 라이브러리 중에서 현재 널리 사용되고 있는 라이브러리는 Tiles 2로서, &lt;a href="http://tiles.apache.org/download.html"&gt;http://tiles.apache.org/download.html&lt;/a&gt; 사이트에서 최신버전을 다운로드 받을 수 있다. 현재 최신버전은 2.2.2이고 자바 5 또는 그 이상 버전에서 동작한다.&lt;/p&gt;

&lt;ol&gt;
	&lt;li&gt;필요한 jar 파일을 WEB-INF/lib 디렉터리에 복사한다.&lt;/li&gt;
	&lt;li&gt;web.xml에 초기화 코드 추가&lt;/li&gt;
	&lt;li&gt;Tile 2 설정파일 작성&lt;/li&gt;
	&lt;li&gt;레이아웃 템플릿 JSP 파일 작성&lt;/li&gt;
	&lt;li&gt;템플릿을 사용하는 JSP 파일 작성&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;미니 코드&lt;/p&gt;

&lt;code&gt;gate.jsp&lt;/code&gt;

&lt;pre class="brush:js"&gt;&amp;lt;%@ page contentType="text/html; charset=euc-kr" %&amp;gt;
&amp;lt;%@ taglib prefix="tiles" uri="http://tiles.apache.org/tags-tiles" %&amp;gt;
&amp;lt;tiles:insertDefinition name="test" /&amp;gt;&lt;/pre&gt;


&lt;code&gt;tiles-test.xml&lt;/code&gt;

&lt;pre class="brush:js"&gt;&amp;lt;?xml version="1.0" encoding="euc-kr" ?&amp;gt;
&amp;lt;!DOCTYPE tiles-definitions PUBLIC
       "-//Apache Software Foundation//DTD Tiles Configuration 2.1//EN"
       "http://tiles.apache.org/dtds/tiles-config_2_1.dtd"&amp;gt;

&amp;lt;tiles-definitions&amp;gt;
	&amp;lt;definition name="test" template="/container.jsp"&amp;gt;
		&amp;lt;put-attribute name="title" value="Hello" /&amp;gt;
		&amp;lt;put-attribute name="header" value="/header.jsp" /&amp;gt;
		&amp;lt;put-attribute name="menu" value="/side.jsp" /&amp;gt;
		&amp;lt;put-attribute name="content" value="/content.jsp" /&amp;gt;
	&amp;lt;/definition&amp;gt;
&amp;lt;/tiles-definitions&amp;gt;&lt;/pre&gt;



&lt;code&gt;web.xml&lt;/code&gt;

&lt;pre class="brush:js"&gt;...
	&amp;lt;servlet&amp;gt;
		&amp;lt;servlet-name&amp;gt;tiles&amp;lt;/servlet-name&amp;gt;
		&amp;lt;servlet-class&amp;gt;org.apache.tiles.web.startup.TilesServlet&amp;lt;/servlet-class&amp;gt;
		&amp;lt;init-param&amp;gt;
			&amp;lt;param-name&amp;gt;
				org.apache.tiles.impl.BasicTilesContainer.DEFINITIONS_CONFIG
			&amp;lt;/param-name&amp;gt;
			&amp;lt;param-value&amp;gt;
				/WEB-INF/tiles-test.xml
			&amp;lt;/param-value&amp;gt;
		&amp;lt;/init-param&amp;gt;
		&amp;lt;load-on-startup&amp;gt;1&amp;lt;/load-on-startup&amp;gt;
	&amp;lt;/servlet&amp;gt;
...  
&amp;lt;/web-app&amp;gt;&lt;/pre&gt;


&lt;code&gt;container.jsp&lt;/code&gt;

&lt;pre class="brush:js"&gt;&amp;lt;%@ page contentType="text/html; charset=euc-kr" %&amp;gt;
&amp;lt;%@ taglib prefix="tiles" uri="http://tiles.apache.org/tags-tiles" %&amp;gt;
&amp;lt;html&amp;gt;
	&amp;lt;head&amp;gt;
		&amp;lt;title&amp;gt;&amp;lt;tiles:getAsString name="title" /&amp;gt;&amp;lt;/title&amp;gt;
	&amp;lt;/head&amp;gt;
	&amp;lt;body&amp;gt;
		&amp;lt;table width="100%" border="1" cellpadding="0" cellspacing="0"&amp;gt;
			&amp;lt;tr&amp;gt;
				&amp;lt;td colspan="2"&amp;gt;&amp;lt;tiles:insertAttribute name="header" /&amp;gt;&amp;lt;/td&amp;gt;
			&amp;lt;/tr&amp;gt;
			&amp;lt;tr&amp;gt;
				&amp;lt;td valign="top"&amp;gt;&amp;lt;tiles:insertAttribute name="menu" /&amp;gt;&amp;lt;/td&amp;gt;
				&amp;lt;td valign="top"&amp;gt;&amp;lt;tiles:insertAttribute name="content" /&amp;gt;&amp;lt;/td&amp;gt;
			&amp;lt;/tr&amp;gt;
		&amp;lt;/table&amp;gt;
	&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/pre&gt;



&lt;p&gt;TilesDispatchServlet을 사용하면 웹 요청 URI와 동일한 이름을 같는 Definition을 바로 클라이언트에 출력할 수 있다. TilesDispatchServlet을 사용하려면 &amp;lt;servlet&amp;gt;태그를 이용해서 TilesDispatchServlet을 web.xml 파일에 등록하고, &amp;lt;servlet-mapping&amp;gt;을 이용해서 TilesDispatchServlet이 처리할 확장자를 설정하면 된다.&lt;/p&gt;

&lt;code&gt;web.xml&lt;/code&gt;
&lt;pre class="brush:js"&gt;&amp;lt;servlet&amp;gt;
	&amp;lt;servlet-name&amp;gt;TilesDispatchServlet&amp;lt;/servlet-name&amp;gt;
	&amp;lt;servlet-class&amp;gt;
		org.apache.tiles.web.util.TilesDispatchServlet
	&amp;lt;/servlet-class&amp;gt;
&amp;lt;/servlet&amp;gt;
&amp;lt;servlet-mapping&amp;gt;
	&amp;lt;servlet-name&amp;gt;TilesDispatchServlet&amp;lt;/servlet-name&amp;gt;
	&amp;lt;url-pattern&amp;gt;*.tiles&amp;lt;/url-pattern&amp;gt;
&amp;lt;/servlet-mapping&amp;gt;&lt;/pre&gt;&lt;img src="http://feeds.feedburner.com/~r/seevaa/~4/3dDC8Emnq3M" height="1" width="1"/&gt;</description>
			<category>java/jsp</category>
			<category>Apache</category>
			<category>Tiles 2</category>
			<category>TilesDispatchServlet</category>
			<author>seevaa</author>
			<guid isPermaLink="false">http://seevaa.net/368</guid>
			<comments>http://seevaa.net/368#entry368comment</comments>
			<pubDate>Fri, 04 Mar 2011 18:47:41 +0900</pubDate>
		<feedburner:origLink>http://seevaa.net/368</feedburner:origLink></item>
		<item>
			<title>Oracle - Sequence Syntax</title>
			<link>http://feedproxy.google.com/~r/seevaa/~3/XpzsQ2qOkgU/367</link>
			<description>&lt;ul&gt;
	&lt;li&gt;고유한 숫자를 자동적으로 생성&lt;/li&gt;
	&lt;li&gt;일반적으로 Primary Key로 사용&lt;/li&gt;
	&lt;li&gt;메모리에 적재되기 때문에 효율성 증가&lt;/li&gt;
	&lt;li&gt;공유 가능한 객체&lt;/li&gt;
	&lt;li&gt;정해진 값만 돌고 자동으로 없어진다.&lt;/li&gt;
	&lt;li&gt;보통 s,sq,sqe 로 시작한다.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Sequence 생성&lt;/h3&gt;

 &lt;pre class="brush: plain;"&gt;CREATE SEQUENCE sequenceName
	[INCREMENT BY n]
	[START WITH n]
	[MAXVALUE n | NOMAXVALUE]
	[MINVALUE n | NOMINVALUE]
	[CYCLE | NOCYCLE]
	[CACHE n | NOCACHE]&lt;/pre&gt;

 &lt;pre class="brush: plain;"&gt;SQL&gt;CREATE SEQUENCE SEQ_TEST
	INCREMENT BY 1
	START WITH 20
	MAXVALUE 25
	NOCYCLE
/&lt;/pre&gt;

&lt;h3&gt;테이블 칼럼에서 사용법&lt;/h3&gt;
&lt;code&gt;SEQ_TEST.NEXTVAL&lt;/code&gt;, &lt;code&gt;SEQ_TEST.CURRVAL&lt;/code&gt;

 &lt;pre class="brush: plain;"&gt;SQL&gt;INSERT INTO TEST VALUES(SEQ_TEST.NEXTVAL, ...);&lt;/pre&gt;

&lt;h3&gt;Sequence 변경&lt;/h3&gt;

alter를 사용하며 start with를 빼야된다.
start with값은 변경이 불가능 하다.

 &lt;pre class="brush: plain;"&gt;SQL&gt;ALTER SEQUENCE SEQ_TEST
	INCREMENT BY -2
	MINVALUE 20
	NOCYCLE
/&lt;/pre&gt;

&lt;h3&gt;Sequence 조회&lt;/h3&gt;
 &lt;pre class="brush: plain;"&gt;SQL&gt;SELECT * FROM USER_SEQUENCES;&lt;/pre&gt;

&lt;h3&gt;Sequence 값 조회&lt;/h3&gt;

 &lt;pre class="brush: plain;"&gt;SQL&gt;SELECT SEQ_TEST.CURRVAL FROM DUAL;&lt;/pre&gt;

&lt;h3&gt;Sequence 삭제&lt;/h3&gt;
 &lt;pre class="brush: plain;"&gt;SQL&gt;DROP SEQUENCE SEQ_TEST;&lt;/pre&gt;&lt;img src="http://feeds.feedburner.com/~r/seevaa/~4/XpzsQ2qOkgU" height="1" width="1"/&gt;</description>
			<category>Oracle</category>
			<category>SEQUENCE</category>
			<author>seevaa</author>
			<guid isPermaLink="false">http://seevaa.net/367</guid>
			<comments>http://seevaa.net/367#entry367comment</comments>
			<pubDate>Fri, 04 Mar 2011 12:01:51 +0900</pubDate>
		<feedburner:origLink>http://seevaa.net/367</feedburner:origLink></item>
		<item>
			<title>Eclipse - properties 플러그인</title>
			<link>http://feedproxy.google.com/~r/seevaa/~3/0KosnRq0Yeo/366</link>
			<description>&lt;p&gt;자바의 리소스 번들은 java.util.Properties 클래스에 정의된 방법으로 파일을 읽어오는데, java.util.Properties 클래스는 알파벳이나 숫자, 라틴문자 등을 제외한 나머지 언어에 대해서는 유니코드에서의 코드 값으로 표현하도록 하고 있다.&lt;/p&gt;
&lt;p&gt;properties는 각 글자를 유니코드 숫자로 표시한 형태로 변환한 것만을 사용할 수 있다. 이 변환은 JDK가 제공하는 native2ascii.exe를 통해서 처리할 수 있다.&lt;/p&gt;

&lt;code&gt;...\classes\resource\message_ko.properties.src&lt;/code&gt;&lt;br /&gt;
------------------------------------------------&lt;br /&gt;
TILTE = 타이틀&lt;br /&gt;
ID = 아이디&lt;br /&gt;
PW = 패쓰워드&lt;br /&gt;
SUBMIT = 입력&lt;br /&gt;&lt;br /&gt;

&lt;pre class="brush: plain;"&gt;C:\...\resource&gt;native2ascii message_ko.properties.src message_ko.properties&lt;/pre&gt;

&lt;p&gt;이클립스에서 자동으로 이과정을 처리하기 위해 properties 플러그인을 설치하면된다.&lt;br /&gt;
help&gt;&gt;install new software에서&lt;br /&gt; 
&lt;code&gt;http://propedit.sourceforge.jp/eclipse/updates&lt;/code&gt; 추가 설치하면된다.&lt;br /&gt;
성공적으로 플러그인이 설치되면 아래와 같이 아이콘이 바뀐다.&lt;/p&gt;
&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://cfile1.uf.tistory.com/image/16670F504D704F59333063" alt="" filemime="image/jpeg" filename="20110304.jpg" height="114" width="600"/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/seevaa/~4/0KosnRq0Yeo" height="1" width="1"/&gt;</description>
			<category>Eclipse</category>
			<category>Properties</category>
			<category>이클립스</category>
			<author>seevaa</author>
			<guid isPermaLink="false">http://seevaa.net/366</guid>
			<comments>http://seevaa.net/366#entry366comment</comments>
			<pubDate>Fri, 04 Mar 2011 11:34:36 +0900</pubDate>
		<feedburner:origLink>http://seevaa.net/366</feedburner:origLink></item>
	</channel>
</rss>

