<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-960382485960961150</id><updated>2012-02-16T19:07:05.052-08:00</updated><category term='변수타입'/><category term='여행'/><category term='DTD'/><category term='HTML+CSS'/><category term='재테크'/><category term='종자돈모으기'/><category term='Primary Key'/><category term='절약'/><category term='원격 전원 관리'/><category term='리눅스'/><category term='wol'/><category term='dump'/><category term='Tutorial'/><category term='용어정리'/><category term='Error Handling'/><category term='Ajax'/><category term='알뜰사이트'/><category term='php6'/><category term='파일삭제'/><category term='삭제파일복구'/><category term='DOM'/><category term='까먹지말자'/><category term='css'/><category term='자전거'/><category term='APM설치'/><category term='XHTML'/><category term='vim'/><category term='Apache'/><category term='자바스크립트'/><category term='HTML5'/><category term='결혼준비'/><category term='mysql'/><category term='Subversion'/><category term='php'/><category term='Javascript'/><category term='explain'/><category term='DOCTYPE'/><category term='암호화'/><category term='Music'/><category term='setAttribute'/><category term='FreeBSD'/><category term='Session'/><category term='API'/><category term='css switcher'/><category term='jquery'/><category term='음력계산'/><category term='기타'/><category term='php 함수'/><category term='서버'/><category term='합성'/><category term='Linux'/><category term='유용한정보'/><category term='html'/><category term='history'/><category term='OOP'/><category term='exception'/><category term='보안'/><category term='유용한링크'/><category term='selector'/><category term='데몬'/><category term='오류'/><category term='lib'/><category term='함수'/><category term='SVN'/><category term='스크랩게시물'/><category term='명령어'/><title type='text'>끄적끄적</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://lovekmg.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://lovekmg.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>goaltong</name><uri>http://www.blogger.com/profile/16883409882082995900</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>58</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-960382485960961150.post-992740678384219163</id><published>2011-11-29T22:52:00.000-08:00</published><updated>2011-11-29T22:57:16.330-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='php'/><category scheme='http://www.blogger.com/atom/ns#' term='함수'/><title type='text'>php 현재 페이지의 선언된 변수 목록 보기</title><content type='html'>&lt;a href="http://www.php.net/manual/kr/function.get-defined-vars.php" target="_blank"&gt;get_defined_vars&lt;/a&gt;&amp;nbsp; : &lt;em&gt;이 함수는 &lt;b&gt;get_defined_vars()&lt;/b&gt;를 호출하는 영역 안에 존재하는 모든 정의된 변수(환경변수, 서버나 유저 정의 변수) 목록을 포함하는 다차원 배열을 반환합니다.&lt;/em&gt;&lt;br /&gt;&amp;nbsp;=&amp;gt; 출력부분 위에서 선언된 변수만 나오는듯 하다. 다 볼려면, 맨 하단에서 출력해야할듯.&lt;br /&gt;&lt;br /&gt;비슷한것.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;li class="member"&gt;&lt;a href="http://www.php.net/manual/kr/function.get-defined-functions.php" target="_blank"&gt;get_defined_functions()&lt;/a&gt; - Returns an array of all defined functions&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;li class="member"&gt;&lt;a class="function" href="http://www.php.net/manual/kr/function.get-defined-constants.php" rel="rdfs-seeAlso" target="_blank"&gt;get_defined_constants()&lt;/a&gt; - 모든 상수와 그 값의 연관 배열을 반환합니다&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="member"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="member"&gt;까먹을거 같아서 메모해둠.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/960382485960961150-992740678384219163?l=lovekmg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lovekmg.blogspot.com/feeds/992740678384219163/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://lovekmg.blogspot.com/2011/11/php.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/992740678384219163'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/992740678384219163'/><link rel='alternate' type='text/html' href='http://lovekmg.blogspot.com/2011/11/php.html' title='php 현재 페이지의 선언된 변수 목록 보기'/><author><name>goaltong</name><uri>http://www.blogger.com/profile/16883409882082995900</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-960382485960961150.post-8467129163324799256</id><published>2011-11-22T19:19:00.001-08:00</published><updated>2011-11-22T19:19:18.607-08:00</updated><title type='text'>[링크] node.js에 대한 정리가 잘된 blog</title><content type='html'>&lt;a href="http://blog.outsider.ne.kr/"&gt;http://blog.outsider.ne.kr/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/960382485960961150-8467129163324799256?l=lovekmg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lovekmg.blogspot.com/feeds/8467129163324799256/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://lovekmg.blogspot.com/2011/11/nodejs-blog.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/8467129163324799256'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/8467129163324799256'/><link rel='alternate' type='text/html' href='http://lovekmg.blogspot.com/2011/11/nodejs-blog.html' title='[링크] node.js에 대한 정리가 잘된 blog'/><author><name>goaltong</name><uri>http://www.blogger.com/profile/16883409882082995900</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-960382485960961150.post-3772223721577796120</id><published>2011-11-22T18:49:00.001-08:00</published><updated>2011-11-22T18:49:30.253-08:00</updated><title type='text'>[링크] freebsd port upgrade</title><content type='html'>&lt;a href="http://www.codeforum.net/wiki/doku.php?id=freebsd"&gt;http://www.codeforum.net/wiki/doku.php?id=freebsd&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/960382485960961150-3772223721577796120?l=lovekmg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lovekmg.blogspot.com/feeds/3772223721577796120/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://lovekmg.blogspot.com/2011/11/freebsd-port-upgrade.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/3772223721577796120'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/3772223721577796120'/><link rel='alternate' type='text/html' href='http://lovekmg.blogspot.com/2011/11/freebsd-port-upgrade.html' title='[링크] freebsd port upgrade'/><author><name>goaltong</name><uri>http://www.blogger.com/profile/16883409882082995900</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-960382485960961150.post-2515250928885627217</id><published>2011-11-17T18:11:00.001-08:00</published><updated>2011-11-17T18:11:38.207-08:00</updated><title type='text'>[링크] nginx + php-fpm + mysql 설치</title><content type='html'>&lt;a href="http://www.codernotes.com/2011/261/nginx-php-fpm-mysql-on-freebsd-8-2/"&gt;http://www.codernotes.com/2011/261/nginx-php-fpm-mysql-on-freebsd-8-2/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/960382485960961150-2515250928885627217?l=lovekmg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lovekmg.blogspot.com/feeds/2515250928885627217/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://lovekmg.blogspot.com/2011/11/nginx-php-fpm-mysql.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/2515250928885627217'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/2515250928885627217'/><link rel='alternate' type='text/html' href='http://lovekmg.blogspot.com/2011/11/nginx-php-fpm-mysql.html' title='[링크] nginx + php-fpm + mysql 설치'/><author><name>goaltong</name><uri>http://www.blogger.com/profile/16883409882082995900</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-960382485960961150.post-8325774273954999137</id><published>2011-06-09T05:07:00.000-07:00</published><updated>2011-06-09T05:07:13.769-07:00</updated><title type='text'>[ie 버그] iframe innerHTML 문제</title><content type='html'>iframe id = "ifid" 라고 가정.&lt;br /&gt;document.getElementById('ifid').contentWindow.document.body.innerHTML 로 &lt;br /&gt;iframe의 내용을 가져올수 있다.&lt;br /&gt;&lt;br /&gt;but!! 가져오는것은 문제가 되지 않는다.&lt;br /&gt;&lt;br /&gt;document.getElementById('ifid').contentWindow.document.body.innerHTML = '&amp;lt;P&amp;gt;&amp;lt;A href=""&amp;gt;aaaaaaaaa&amp;lt;/A&amp;gt;&amp;lt;/P&amp;gt;&lt;br /&gt;&amp;lt;P&amp;gt;&amp;lt;A href="/aa/aa.html"&amp;gt;aaaaaaaaaaa&amp;lt;/A&amp;gt; &lt;br /&gt;&amp;lt;P&amp;gt;&amp;lt;A href="/aa.html"&amp;gt;aaaaaaaaa&amp;lt;/A&amp;gt;&amp;lt;/P&amp;gt;&lt;br /&gt;&amp;lt;P&amp;gt;&amp;lt;A href="/aa/bb/cc.html"&amp;gt;aaaaaaaaa&amp;lt;/A&amp;gt;&amp;lt;/P&amp;gt;&lt;br /&gt;&amp;lt;P&amp;gt;&amp;lt;A href="cc.html"&amp;gt;aaaaaaaaa&amp;lt;/A&amp;gt;&amp;lt;/P&amp;gt;&lt;br /&gt;&amp;lt;P&amp;gt;&amp;lt;A href="#none"&amp;gt;aaaaaaaa&amp;lt;/A&amp;gt;&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;sdfsdfsdfsdfsdf&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&amp;lt;/P&amp;gt;&lt;br /&gt;&amp;lt;P&amp;gt;&amp;lt;A href="http://www.abc.com"&amp;gt;aaaaaaaaa&amp;lt;/A&amp;gt;&amp;lt;/P&amp;gt;&lt;br /&gt;&amp;lt;P&amp;gt;&amp;lt;A href="www.abc.com/index.html?#none"&amp;gt;aaaaaaaa&amp;lt;/A&amp;gt;&amp;lt;/P&amp;gt;&lt;br /&gt;';&lt;br /&gt;을 하고 &lt;br /&gt;alert(document.getElementById('ifid').contentWindow.document.body.innerHTML);&lt;br /&gt;를 하면 ie에서는 현재 자신의 도메인이 각 href속성에 붙어버린다. (설명이 좀 이상하지만 직접 해보면 알거임.)&lt;br /&gt;&lt;br /&gt;하고자 하는 말은 document.getElementById('ifid').contentWindow.document.body.innerHTML은 get은 문제가 없으나 set이 문제인 것이다.&lt;br /&gt;&lt;br /&gt;이 경우 set은 document.getElementById('ifid').contentWindow.document.write 메소드를 사용하면......극~뽁~&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/960382485960961150-8325774273954999137?l=lovekmg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lovekmg.blogspot.com/feeds/8325774273954999137/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://lovekmg.blogspot.com/2011/06/ie-iframe-innerhtml.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/8325774273954999137'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/8325774273954999137'/><link rel='alternate' type='text/html' href='http://lovekmg.blogspot.com/2011/06/ie-iframe-innerhtml.html' title='[ie 버그] iframe innerHTML 문제'/><author><name>goaltong</name><uri>http://www.blogger.com/profile/16883409882082995900</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-960382485960961150.post-3366385885885620323</id><published>2011-06-06T22:36:00.000-07:00</published><updated>2011-06-06T22:36:49.276-07:00</updated><title type='text'>[링크]테이블 구조 복사 한번에.</title><content type='html'>&lt;a href="http://lovelgw.com/Blog/220?category=11" target="_blank"&gt;http://lovelgw.com/Blog/220?category=11&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;도움을 마니 주는 형님 감솨.ㅎㅎ&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/960382485960961150-3366385885885620323?l=lovekmg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lovekmg.blogspot.com/feeds/3366385885885620323/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://lovekmg.blogspot.com/2011/06/blog-post.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/3366385885885620323'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/3366385885885620323'/><link rel='alternate' type='text/html' href='http://lovekmg.blogspot.com/2011/06/blog-post.html' title='[링크]테이블 구조 복사 한번에.'/><author><name>goaltong</name><uri>http://www.blogger.com/profile/16883409882082995900</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-960382485960961150.post-5211277323510163556</id><published>2011-04-23T01:13:00.000-07:00</published><updated>2011-04-23T01:13:00.366-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Music'/><title type='text'>Jason Mraz - I'm yours</title><content type='html'>&lt;div style="clear: both; text-align: center;"&gt;&lt;object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9.0.115.00" height="412" id="skplayer" name="skplayer" width="640"&gt;&lt;param name='movie' value='http://v.nate.com/v.sk/movie/0%7C214828389/20100921060901183583261001' /&gt;&lt;param name='allowFullscreen' value='true' /&gt;&lt;param name='allowScriptAccess' value='always' /&gt;&lt;param name='wmode' value='transparent' /&gt;&lt;embed src='http://v.nate.com/v.sk/movie/0%7C214828389/20100921060901183583261001' wmode='transparent' allowScriptAccess='always' allowFullscreen='true' name='skplayer' width="640" height="412" type='application/x-shockwave-flash' pluginspage='http://www.macromedia.com/go/getflashplayer' /&gt;&lt;/object&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/960382485960961150-5211277323510163556?l=lovekmg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lovekmg.blogspot.com/feeds/5211277323510163556/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://lovekmg.blogspot.com/2011/04/jason-mraz-im-yours.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/5211277323510163556'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/5211277323510163556'/><link rel='alternate' type='text/html' href='http://lovekmg.blogspot.com/2011/04/jason-mraz-im-yours.html' title='Jason Mraz - I&apos;m yours'/><author><name>goaltong</name><uri>http://www.blogger.com/profile/16883409882082995900</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-960382485960961150.post-6543278461870479979</id><published>2011-02-16T00:23:00.000-08:00</published><updated>2011-02-16T17:33:15.465-08:00</updated><title type='text'>svn 서버에 계정추가</title><content type='html'>1. svn 서버에 adduser로 계정추가 - empty password(no), random password(yes)&lt;br /&gt;2. svnserve group에 해당 계정 추가 - /etc/group에서 추가.&lt;br /&gt;&lt;br /&gt;* svn+ssh를 사용할경우&lt;br /&gt;3. clien server의 계정에서 ssh-keygen -t rsa 실행&lt;br /&gt;4. 3번 실행후 만들어진 ~/.ssh 디렉토리의 id_rsa.pub의 내용을 svn 서버계정의 ~/.ssh/authorized_keys 파일에 복사등록.&lt;br /&gt;&lt;br /&gt;참고 : &lt;a href="http://wiki.kldp.org/wiki.php/DocbookSgml/SSH-KLDP#AEN87" target="_blank"&gt;http://wiki.kldp.org/wiki.php/DocbookSgml/SSH-KLDP#AEN87&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/960382485960961150-6543278461870479979?l=lovekmg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lovekmg.blogspot.com/feeds/6543278461870479979/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://lovekmg.blogspot.com/2011/02/svn.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/6543278461870479979'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/6543278461870479979'/><link rel='alternate' type='text/html' href='http://lovekmg.blogspot.com/2011/02/svn.html' title='svn 서버에 계정추가'/><author><name>goaltong</name><uri>http://www.blogger.com/profile/16883409882082995900</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-960382485960961150.post-6305372228879083067</id><published>2010-09-27T20:03:00.000-07:00</published><updated>2011-01-11T05:00:23.061-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='자전거'/><category scheme='http://www.blogger.com/atom/ns#' term='유용한링크'/><category scheme='http://www.blogger.com/atom/ns#' term='여행'/><title type='text'>[링크] 아낀만큼 기부하는 두친구의 자전거 세계여행.</title><content type='html'>&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;참 부러우면서도 대단한 용기를 가진 두분께 기립박수를...짝짝짝.&lt;/P&gt;&lt;P&gt;언젠간 나도...&lt;/P&gt;&lt;P&gt;링크 : &lt;A href="http://kimlip.com/2"&gt;http://kimlip.com/2&lt;/A&gt;&lt;/P&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/960382485960961150-6305372228879083067?l=lovekmg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lovekmg.blogspot.com/feeds/6305372228879083067/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://lovekmg.blogspot.com/2010/09/%EB%A7%81%ED%81%AC-%EC%95%84%EB%82%80%EB%A7%8C%ED%81%BC-%EA%B8%B0%EB%B6%80%ED%95%98%EB%8A%94-%EB%91%90%EC%B9%9C%EA%B5%AC%EC%9D%98-%EC%9E%90%EC%A0%84%EA%B1%B0-%EC%84%B8%EA%B3%84%EC%97%AC%ED%96%89.html#comment-form' title='2개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/6305372228879083067'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/6305372228879083067'/><link rel='alternate' type='text/html' href='http://lovekmg.blogspot.com/2010/09/%EB%A7%81%ED%81%AC-%EC%95%84%EB%82%80%EB%A7%8C%ED%81%BC-%EA%B8%B0%EB%B6%80%ED%95%98%EB%8A%94-%EB%91%90%EC%B9%9C%EA%B5%AC%EC%9D%98-%EC%9E%90%EC%A0%84%EA%B1%B0-%EC%84%B8%EA%B3%84%EC%97%AC%ED%96%89.html' title='[링크] 아낀만큼 기부하는 두친구의 자전거 세계여행.'/><author><name>goaltong</name><uri>http://www.blogger.com/profile/16883409882082995900</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-960382485960961150.post-2114803952179659315</id><published>2010-07-28T01:44:00.000-07:00</published><updated>2011-01-11T05:00:22.570-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Subversion'/><category scheme='http://www.blogger.com/atom/ns#' term='SVN'/><title type='text'>[펌]SVN에러!!___Failed to add 'XXX' : object of the same name already exists</title><content type='html'>&lt;P&gt;1.&lt;/P&gt;&lt;P&gt;This error message typically occurs when you try to update your working copy. &lt;br /&gt;이 메시지는 대체로 작동중인 복사물을 갱신하려할때 발생한다.&lt;/P&gt;&lt;P&gt;It is thrown because Subversion never deletes or overwrites existing local data. &lt;br /&gt;하위 버전이 기존의 로컬 데이터를 전혀 지우거나 겹쳐쓰지 못하면 그 메세지가 던저진다.&lt;/P&gt;&lt;P&gt;There may be three reasons why you get this error:&lt;br /&gt;당신이 이러한 에러를 얻는 3가지 이유가 있을지도 모른다.&lt;/P&gt;&lt;P&gt;You have a local unversioned file with the same name as a file which has been added by somebody else recently. &lt;br /&gt;당신은&amp;nbsp; 누군가에 의하여 최근에 추가된 파일처럼 같은 이름의&amp;nbsp; local unversioned file 을 가지고 있다.&lt;/P&gt;&lt;P&gt;In this case the solution is to move your local file somewhere else (or rename it), then update. &lt;br /&gt;이러한 경우에 해결책은 당신의 로칼파일을 그밖에 어딘가로 옮기고 (아니면 이름을 바꾸거나) 그런다음 갱신하라.&lt;/P&gt;&lt;P&gt;Afterwards you can decide whether the two files need to be combined in some way, or if the choice of name is purely coincidental you can give your file a different name. &lt;br /&gt;그런후에 당신은 두 파일이 어떻게 해서든 결합될 필요가 있는지 ,아니면 그러한 이름의 선택이 적절하다면 당신이 사용하는 파일에 다른 이름을 넣을수 있는지 결정할수 있다.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;2.&lt;/P&gt;&lt;P&gt;A file has been renamed in the repository, but it differs only in case, like Install.txt to install.txt, and you have local changes. &lt;br /&gt;파일이 저장소에서 이름이 바뀌었지만 단지 Install.txt 에서 install.txt 처럼 대소문자만 다르며 로컬 상태에서 변경한다.&lt;/P&gt;&lt;P&gt;When you update, you end up in a situation (1), where the modified local file appears as unversioned.&lt;br /&gt;갱신할때, 1번과 같은 상황이 되고, 그 상황에서 변경된 로컬 파일은 버전화되지 않은것처럼 나타난다.&lt;/P&gt;&lt;P&gt;Move it somewhere else, update, then sort out the mess.&amp;nbsp; &lt;br /&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;3.&lt;br /&gt;There are actually 2 different files in the repository whose names differ only in case. &lt;br /&gt;실제로 단지 대소문자형태가 다른 2개의 파일이 저장소에 존재한다.&lt;/P&gt;&lt;P&gt;This cannot work on a Windows checkout, because the Windows file system is not case-sensitive. &lt;br /&gt;윈도우 파일 시스템이 대문자와 소문자를 구별하지 못하기때문에 이것은 윈도우 체크아웃에서 작동하지 못한다.&lt;/P&gt;&lt;P&gt;It is likely that one of the files got added by mistake, so you need to find out which one, make sure there are no changes committed to the wrong file, then delete it. &lt;br /&gt;파일중에 하나가 실수로 추가되었을지도 모른다, 그러므로 그것이 어떤건지 찾아서 잘못된 파일에 아무런 수정도 하지 않았음을 확인하고 그것을 지운다.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;br /&gt;There are several ways to solve the problem and to prevent it from happening again. &lt;br /&gt;이러한 문제를 해결하고 재발을 방지하기위한 여러가지 방법이 있다.&lt;/P&gt;&lt;P&gt;Take a look at these instructions.&lt;br /&gt;다음 지시를 보자.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;br /&gt;Uppercase/lowercase file name conflicts on Windows&lt;br /&gt;대소문자 파일명은 윈도우상에서 충돌한다.&lt;/P&gt;&lt;P&gt;&lt;br /&gt;There is a server hook script available at: &lt;A class=con_link href="http://svn.collab.net/repos/svn/trunk/contrib/hook-scripts/" target=_blank&gt;http://svn.collab.net/repos/svn/trunk/contrib/hook-scripts/&lt;/A&gt; that will prevent checkins which result in case conflicts&lt;br /&gt;&lt;A class=con_link href="http://svn.collab.net/repos/svn/trunk/contrib/hook-scripts" target=_blank&gt;http://svn.collab.net/repos/svn/trunk/contrib/hook-scripts&lt;/A&gt;에서 이용가능한 서버훅 스크립트가 있는데 그것은 대소문자의 충돌을 일으키는 체크인을 방지할 것이다.&lt;/P&gt;&lt;P&gt;If you already have two files with a name that differs only in case, &lt;br /&gt;이미 대소문자형이 다른 이름을 지닌 두개의 파일을 가지고 있다면,&lt;/P&gt;&lt;P&gt;you have to decide which one of them you want to keep and delete (or rename) the other one from the repository.&lt;br /&gt;둘 중에 어떤 파일을 유지할 것이고 나머지를 저장소에서 지우던가 이름을 바꾸던가 결정해야한다.&lt;/P&gt;&lt;P&gt;&lt;br /&gt;There are (at least) two possible solutions to rename a file without losing its log history. &lt;br /&gt;로그기록을 잃지않고 파일의 이름을 바꿀수 있는 방법이 (적어도)2가지가 있다.&lt;/P&gt;&lt;P&gt;It is important to rename it within subversion. &lt;br /&gt;하위버전안에서 그 파일의 이름을 바꾸는 것은 중요하다.&lt;/P&gt;&lt;P&gt;Just renaming in the explorer will corrupt your working copy!!!&lt;br /&gt;탐색창에서 이름을 바꾸는 것은 작동중인 복사물에 오류를 일으킬 것이다.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;br /&gt;Solution A) (recommended) 권장&lt;/P&gt;&lt;P&gt;1. Commit the changes in your working copy. &lt;br /&gt;&amp;nbsp;작동중인 복사물을 수정하라&lt;/P&gt;&lt;P&gt;2. Rename the file from UPPERcase to upperCASE directly in the repository using the repository browser. &lt;br /&gt;&amp;nbsp;저장소 브라우저를 이용하여 저장소내의 파일을 UPPERcase 에서 upperCASE로 직접적으로 바꿔라.&lt;/P&gt;&lt;P&gt;3. Update your working copy. &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;&lt;br /&gt;Solution B)&lt;/P&gt;&lt;P&gt;1. Rename from UPPERcase to UPPERcase_ with the rename command in the TortoiseSVN submenu. &lt;br /&gt;&amp;nbsp;TortoiseSVN의 서브메뉴에 있는 rename명령으로 UPPERcase 에서 UPPERcase_ 로 이름을 바꾼다. &lt;/P&gt;&lt;P&gt;2. Commit the changes. &lt;br /&gt;&amp;nbsp;수정한다.&lt;/P&gt;&lt;P&gt;3. Rename from UPPERcase_ to upperCASE. &lt;br /&gt;&amp;nbsp;UPPERcase_ 에서 upperCASE로 이름을 바꾼다. &lt;/P&gt;&lt;P&gt;4. Commit the changes. &lt;br /&gt;&amp;nbsp;수정한다.&lt;/P&gt;&lt;DIV class=autosourcing-stub&gt;&lt;P style="PADDING-BOTTOM: 0px; FONT-STYLE: normal; MARGIN: 11px 0px 7px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Dotum; FONT-SIZE: 12px; FONT-WEIGHT: normal; PADDING-TOP: 0px"&gt;&lt;STRONG style="PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 7px; PADDING-TOP: 0px"&gt;[출처]&lt;/STRONG&gt; &lt;A href="http://blog.naver.com/jackielee2/10015422481" target=_blank&gt;SVN에러!!___Failed to add 'XXX' : object of the same name already exists&lt;/A&gt;&lt;SPAN style="PADDING-BOTTOM: 0px; PADDING-LEFT: 5px; PADDING-RIGHT: 7px; PADDING-TOP: 0px"&gt;|&lt;/SPAN&gt;&lt;STRONG style="PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 7px; PADDING-TOP: 0px"&gt;작성자&lt;/STRONG&gt; &lt;A href="http://blog.naver.com/jackielee2" target=_blank&gt;잭켈리&lt;/A&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/960382485960961150-2114803952179659315?l=lovekmg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lovekmg.blogspot.com/feeds/2114803952179659315/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://lovekmg.blogspot.com/2010/07/%ED%8E%8Csvn%EC%97%90%EB%9F%ACfailed-to-add-xxx-object-of-same.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/2114803952179659315'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/2114803952179659315'/><link rel='alternate' type='text/html' href='http://lovekmg.blogspot.com/2010/07/%ED%8E%8Csvn%EC%97%90%EB%9F%ACfailed-to-add-xxx-object-of-same.html' title='[펌]SVN에러!!___Failed to add &apos;XXX&apos; : object of the same name already exists'/><author><name>goaltong</name><uri>http://www.blogger.com/profile/16883409882082995900</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-960382485960961150.post-6675557329128895095</id><published>2010-04-20T19:29:00.000-07:00</published><updated>2011-01-11T05:00:22.129-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='HTML5'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML+CSS'/><title type='text'>[링크] HTML5 Presentation</title><content type='html'>&lt;p&gt;&lt;a href="http://apirocks.com/html5/html5.html#slide46" target="_blank"&gt;http://apirocks.com/html5/html5.html#slide46&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;html5는...대~~~박~~!!&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;ie 에서는 자바스크립트 에러남.&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;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;참고 : &lt;a href="http://www.findmebyip.com/litmus#target-selector" target="_blank"&gt;http://www.findmebyip.com/litmus#target-selector&lt;/a&gt;&amp;nbsp;- 호환성보기임&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/960382485960961150-6675557329128895095?l=lovekmg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lovekmg.blogspot.com/feeds/6675557329128895095/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://lovekmg.blogspot.com/2010/04/%EB%A7%81%ED%81%AC-html5-presentation.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/6675557329128895095'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/6675557329128895095'/><link rel='alternate' type='text/html' href='http://lovekmg.blogspot.com/2010/04/%EB%A7%81%ED%81%AC-html5-presentation.html' title='[링크] HTML5 Presentation'/><author><name>goaltong</name><uri>http://www.blogger.com/profile/16883409882082995900</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-960382485960961150.post-1170023748312416930</id><published>2010-04-06T19:36:00.000-07:00</published><updated>2011-01-11T05:00:20.653-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Primary Key'/><category scheme='http://www.blogger.com/atom/ns#' term='mysql'/><title type='text'>primary key 추가</title><content type='html'>&lt;P&gt;auto increment 인 field "A" 단독으로 primary key인 상황에서 primary key를 추가해야 했다.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT color=#5900bf&gt;alter table [table name] drop primary key; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; -- primary key 삭제&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color=#5900bf&gt;alter table [table name] add primary key (`A`, `B`); &amp;nbsp; -- primary key 재등록(`B` field 추가)&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;하니까&lt;/P&gt;&lt;P&gt;"alter table [table name] drop primary key;" 구문에서&lt;/P&gt;&lt;P&gt;Incorrect table definition; There can only be one auto column and it must be defined as a key 란 에러 메세지가 떴다.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;찾아보니...&lt;FONT color=#e53693&gt;auto increment로 되어있는 field는 반드시 key로 등록되어 있어야 한다&lt;/FONT&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;FONT color=#ff0088&gt;alter table [table name] add index `A` (`A`); &amp;nbsp; &amp;nbsp; &amp;nbsp; -- 해서 key 등록하고&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;alter table [table name] drop primary key; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;-- key 등록되었으니 drop&lt;/P&gt;&lt;P&gt;alter table [table name] add primary key (`A`, `B`); &amp;nbsp; -- primary key 재등록&lt;/P&gt;&lt;P&gt;&lt;FONT color=#e53693&gt;alter table [table name] drop index `A`; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -- 추가했던 key 삭제.&lt;/FONT&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;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/960382485960961150-1170023748312416930?l=lovekmg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lovekmg.blogspot.com/feeds/1170023748312416930/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://lovekmg.blogspot.com/2010/04/primary-key-%EC%B6%94%EA%B0%80.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/1170023748312416930'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/1170023748312416930'/><link rel='alternate' type='text/html' href='http://lovekmg.blogspot.com/2010/04/primary-key-%EC%B6%94%EA%B0%80.html' title='primary key 추가'/><author><name>goaltong</name><uri>http://www.blogger.com/profile/16883409882082995900</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-960382485960961150.post-7652473007456859664</id><published>2010-03-24T23:18:00.000-07:00</published><updated>2011-01-11T05:00:19.258-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='FreeBSD'/><title type='text'>ls 목록중 디렉토리 색깔이 맘에 안들면...</title><content type='html'>&lt;P&gt;ls 칠때마다 디렉토리가 퍼런색이어서 글씨가 잘 안보였었다.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;난 c쉘을 쓰기 땜시로 .cshrc를 수정하였다.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;setenv LSCOLORS D &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;lt;= bold brown인데 yellow같긴 하다.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;또는 setenv&amp;nbsp; LSCOLORS 'cxfxcxdxbxegedabagacad' &amp;nbsp; &amp;nbsp; &amp;lt;= 연두색이다.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;man ls 해보믄 설명이 나와있다.&lt;/P&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/960382485960961150-7652473007456859664?l=lovekmg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lovekmg.blogspot.com/feeds/7652473007456859664/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://lovekmg.blogspot.com/2010/03/ls-%EB%AA%A9%EB%A1%9D%EC%A4%91-%EB%94%94%EB%A0%89%ED%86%A0%EB%A6%AC-%EC%83%89%EA%B9%94%EC%9D%B4-%EB%A7%98%EC%97%90-%EC%95%88%EB%93%A4%EB%A9%B4.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/7652473007456859664'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/7652473007456859664'/><link rel='alternate' type='text/html' href='http://lovekmg.blogspot.com/2010/03/ls-%EB%AA%A9%EB%A1%9D%EC%A4%91-%EB%94%94%EB%A0%89%ED%86%A0%EB%A6%AC-%EC%83%89%EA%B9%94%EC%9D%B4-%EB%A7%98%EC%97%90-%EC%95%88%EB%93%A4%EB%A9%B4.html' title='ls 목록중 디렉토리 색깔이 맘에 안들면...'/><author><name>goaltong</name><uri>http://www.blogger.com/profile/16883409882082995900</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-960382485960961150.post-3426218702880779176</id><published>2010-02-17T23:17:00.000-08:00</published><updated>2011-01-11T05:00:18.750-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='삭제파일복구'/><category scheme='http://www.blogger.com/atom/ns#' term='vim'/><category scheme='http://www.blogger.com/atom/ns#' term='까먹지말자'/><category scheme='http://www.blogger.com/atom/ns#' term='파일삭제'/><title type='text'>vim 으로 작업중 삭제된 파일 복구.</title><content type='html'>&lt;P&gt;방금 겪었다.&lt;/P&gt;&lt;P&gt;rm -rf 의 무서움을...ㅋ(Subversion 커밋을 안한상황이었다.--;;)&lt;/P&gt;&lt;P&gt;다행히 swap파일이 남아있었고.&lt;/P&gt;&lt;P&gt;vim에서는 이걸로 복구 할수 있었다.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;바로 vim -r [swap file name]&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;휴... 10년 감수했네...ㅋ&lt;/P&gt;&lt;P&gt;최고는 커밋하믄서 작업하는것!!!&lt;/P&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/960382485960961150-3426218702880779176?l=lovekmg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lovekmg.blogspot.com/feeds/3426218702880779176/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://lovekmg.blogspot.com/2010/02/vim-%EC%9C%BC%EB%A1%9C-%EC%9E%91%EC%97%85%EC%A4%91-%EC%82%AD%EC%A0%9C%EB%90%9C-%ED%8C%8C%EC%9D%BC-%EB%B3%B5%EA%B5%AC.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/3426218702880779176'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/3426218702880779176'/><link rel='alternate' type='text/html' href='http://lovekmg.blogspot.com/2010/02/vim-%EC%9C%BC%EB%A1%9C-%EC%9E%91%EC%97%85%EC%A4%91-%EC%82%AD%EC%A0%9C%EB%90%9C-%ED%8C%8C%EC%9D%BC-%EB%B3%B5%EA%B5%AC.html' title='vim 으로 작업중 삭제된 파일 복구.'/><author><name>goaltong</name><uri>http://www.blogger.com/profile/16883409882082995900</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-960382485960961150.post-8745259811543864218</id><published>2010-02-02T02:09:00.000-08:00</published><updated>2011-01-11T05:00:18.316-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='HTML+CSS'/><title type='text'>[링크]HTML5 에 관한글</title><content type='html'>&lt;P&gt;&lt;A href="http://www.bloter.net/wp-content/bloter_html/2010/02/24791.html" target=_blank&gt;HTML5가 개발자에게 ‘기회의 땅’인 이유&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;블로터 포럼이라는 사이트 인디...오늘 첨봤네...ㅋ&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;간간히 가봐야지 ㅋ&lt;/P&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/960382485960961150-8745259811543864218?l=lovekmg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lovekmg.blogspot.com/feeds/8745259811543864218/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://lovekmg.blogspot.com/2010/02/%EB%A7%81%ED%81%AChtml5-%EC%97%90-%EA%B4%80%ED%95%9C%EA%B8%80.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/8745259811543864218'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/8745259811543864218'/><link rel='alternate' type='text/html' href='http://lovekmg.blogspot.com/2010/02/%EB%A7%81%ED%81%AChtml5-%EC%97%90-%EA%B4%80%ED%95%9C%EA%B8%80.html' title='[링크]HTML5 에 관한글'/><author><name>goaltong</name><uri>http://www.blogger.com/profile/16883409882082995900</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-960382485960961150.post-1642205473587180572</id><published>2009-09-04T00:38:00.000-07:00</published><updated>2011-01-11T05:00:17.869-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mysql'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><category scheme='http://www.blogger.com/atom/ns#' term='php 함수'/><title type='text'>[함수] mysql_affected_rows()</title><content type='html'>&lt;P&gt;이 함수는 INSERT, UPDATE, DELETE 등 데이타의 변화가 있을때 &lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;변경된 row수를 리턴해준다.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;허나...UPDATE의 경우 실제로 UPDATE 쿼리는 성공했다고 하더라도&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;이전 데이타와 변경하려는 데이타가 차이가 없을경우에도 0 을 리턴한다.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;예)&lt;/P&gt;&lt;P&gt;test 테이블&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;TABLE style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; WIDTH: 450px; BORDER-BOTTOM: medium none; HEIGHT: 40px" cellSpacing=1 cellPadding=0 bgColor=#aaaaaa&gt;&lt;TBODY&gt;&lt;TR bgColor=#ffffff&gt;&lt;TD width=135&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;user_id&lt;/TD&gt;&lt;TD width=135&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; passwd&lt;/TD&gt;&lt;/TR&gt;&lt;TR bgColor=#ffffff&gt;&lt;TD width=135&gt;&amp;nbsp;abc&lt;/TD&gt;&lt;TD width=135&gt;&amp;nbsp;0000&lt;/TD&gt;&lt;/TR&gt;&lt;TR bgColor=#ffffff&gt;&lt;TD width=135&gt;&amp;nbsp;def&lt;/TD&gt;&lt;TD width=135&gt;&amp;nbsp;1111&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&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;1. update test set passwd = 0000 where user_id = abc; &amp;nbsp; --&amp;gt; 데이타의 변화없음&lt;/P&gt;&lt;P&gt;2. update test set passwd = 3333 where user_id = ghi; &amp;nbsp;&amp;nbsp; --&amp;gt; 존재하지 않음&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;위의 1번과 2번은 둘다 "Query OK, 0 rows affected"를 리턴한다.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;/P&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/960382485960961150-1642205473587180572?l=lovekmg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lovekmg.blogspot.com/feeds/1642205473587180572/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://lovekmg.blogspot.com/2009/09/%ED%95%A8%EC%88%98-mysqlaffectedrows.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/1642205473587180572'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/1642205473587180572'/><link rel='alternate' type='text/html' href='http://lovekmg.blogspot.com/2009/09/%ED%95%A8%EC%88%98-mysqlaffectedrows.html' title='[함수] mysql_affected_rows()'/><author><name>goaltong</name><uri>http://www.blogger.com/profile/16883409882082995900</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-960382485960961150.post-4260641587136611234</id><published>2009-07-02T07:23:00.000-07:00</published><updated>2011-01-11T05:00:16.983-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='php'/><category scheme='http://www.blogger.com/atom/ns#' term='OOP'/><title type='text'>[링크]OOP란 조건문(if)을 줄이는 것</title><content type='html'>&lt;P&gt;아직 자세히 읽어보진 않았지만 일단 링크함.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;A href="http://alankang.tistory.com/249" target=_blank&gt;http://alankang.tistory.com/249&lt;/A&gt;&lt;/P&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/960382485960961150-4260641587136611234?l=lovekmg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lovekmg.blogspot.com/feeds/4260641587136611234/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://lovekmg.blogspot.com/2009/07/%EB%A7%81%ED%81%ACoop%EB%9E%80-%EC%A1%B0%EA%B1%B4%EB%AC%B8if%EC%9D%84-%EC%A4%84%EC%9D%B4%EB%8A%94-%EA%B2%83.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/4260641587136611234'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/4260641587136611234'/><link rel='alternate' type='text/html' href='http://lovekmg.blogspot.com/2009/07/%EB%A7%81%ED%81%ACoop%EB%9E%80-%EC%A1%B0%EA%B1%B4%EB%AC%B8if%EC%9D%84-%EC%A4%84%EC%9D%B4%EB%8A%94-%EA%B2%83.html' title='[링크]OOP란 조건문(if)을 줄이는 것'/><author><name>goaltong</name><uri>http://www.blogger.com/profile/16883409882082995900</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-960382485960961150.post-8451778789765637966</id><published>2009-04-01T18:57:00.000-07:00</published><updated>2011-01-11T05:00:16.487-08:00</updated><title type='text'>완전 황당 그 자체...플랜다스u &amp; 인터파크</title><content type='html'>&lt;script src='http://ss.textcube.com/service/blog/script/blogger.js' type='text/javascript'&gt;&lt;/script&gt;&lt;P&gt;&lt;div id="tt-gallery-44-0" class="tt-gallery-box" style="float: left; margin-right: 10px; text-align: center;"&gt;  &lt;script type="text/javascript"&gt;    //&lt;![CDATA[      var gallery44_0 = new TC$PRIV_TTGallery("tt-gallery-44-0");      gallery44_0.prevText = "이전 이미지 보기 버튼";       gallery44_0.nextText = "다음 이미지 보기 버튼";       gallery44_0.enlargeText = "원본 크기로 보기 버튼";       gallery44_0.altText = "갤러리 이미지"; gallery44_0.appendImage("http://ss.textcube.com/blog/0/1912/attach/XAvAPcQ8bl.jpg", "", 400, 238.15165876777, "", "");gallery44_0.appendImage("http://ss.textcube.com/blog/0/1912/attach/XSRszqAxnm.jpg", "", 400, 238.15165876777, "", "");gallery44_0.appendImage("http://ss.textcube.com/blog/0/1912/attach/XR41vM3pUV.jpg", "", 157.44525547445, 300, "", "");      gallery44_0.show();    //]]&gt;  &lt;/script&gt;  &lt;noscript&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;  &lt;img src="http://ss.textcube.com/blog/0/1912/attach/XAvAPcQ8bl.jpg" alt="사용자 삽입 이미지" /&gt;&lt;/div&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;  &lt;img src="http://ss.textcube.com/blog/0/1912/attach/XSRszqAxnm.jpg" alt="사용자 삽입 이미지" /&gt;&lt;/div&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;  &lt;img src="http://ss.textcube.com/blog/0/1912/attach/XR41vM3pUV.jpg" alt="사용자 삽입 이미지" /&gt;&lt;/div&gt;  &lt;/noscript&gt;&lt;/div&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;완전 어이없네 ㅎ &lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT color=#e53693&gt;명색이 대기업이라 할만한 &lt;FONT color=#007a99&gt;인터파크에서 이런 회사랑 제휴를 맺었다니&lt;/FONT&gt;...&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color=#007a99&gt;어떻게 회원동의도 없이 손해보험사 및 기타 보험사등에 개인정보(주민등록번호 포함)를 &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color=#e53693&gt;&lt;FONT color=#007a99&gt;제공한다는 &lt;/FONT&gt;깡이 있는건지 도무지 알길이 없었다.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;이 사건의 대략적인 요약을 해보자면...&lt;/P&gt;&lt;P&gt;첨에 메일받고 사이트를 방문했더니 인터파크 아이디로 로그인은 되었다. 하지만 여러 메뉴(특히 고객센터)는 들어갈수 없고 개인정보 수정페이지만 계속 고정되는 것이었다. 그래서 대충 작성하니까 플랜다스 내부적으로 회원가입이 된건지 어떤건지 모르겠지만 그제야 고객센터로 갈수 있었다. 가보니 나말고도 이런사람 열라많네 ㅋㅋ 게시판 10페이지까지 봐봤더니 모두다 오늘 아침에 쓴글... 다들 글 제목은 "회원탈퇴요청"!! 나또한 예외없이 "회원탈퇴요청"!!&lt;/P&gt;&lt;P&gt;탈퇴하려고 사이트에 간거니까...참고로 회원탈퇴 링크는 없었다. 게다가 회사정보에 전화번호는 없고 팩스번호만 있더라 ㅋㅋ 정말 유령회사느낌이 팍!!&lt;/P&gt;&lt;P&gt;다른사람들이 적은글 몇개 보다가 인터파크쪽에 항의한다는 사람도 있어서 나두 항의메일보냈다 ㅎㅎ&lt;/P&gt;&lt;P&gt;내 개인정보 유출되기만해봐라~ 내가 카페를 만들던 어찌 하던 가만히 있지 않을테다!!&lt;/P&gt;&lt;P&gt;이 글을 보는분들도 조심하세요~이런 유령회사 같은데에 낚이지 않도록!!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT color=#001ea1&gt;* 회원동의도 없이, 또한 동의여부를 선택할수있는 메뉴 및 링크조차 만들지 않고 개인정보를 유출하는 불법행위라 판단되어 이 글을 올립니다.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color=#ff0088&gt;* 이미지는 클릭후 좌측 상단에 화살표 클릭하면 정상크기로 확인할 수 있어요~&lt;/FONT&gt;&lt;/P&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/960382485960961150-8451778789765637966?l=lovekmg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lovekmg.blogspot.com/feeds/8451778789765637966/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://lovekmg.blogspot.com/2009/04/%EC%99%84%EC%A0%84-%ED%99%A9%EB%8B%B9-%EA%B7%B8-%EC%9E%90%EC%B2%B4%ED%94%8C%EB%9E%9C%EB%8B%A4%EC%8A%A4u-%EC%9D%B8%ED%84%B0%ED%8C%8C%ED%81%AC.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/8451778789765637966'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/8451778789765637966'/><link rel='alternate' type='text/html' href='http://lovekmg.blogspot.com/2009/04/%EC%99%84%EC%A0%84-%ED%99%A9%EB%8B%B9-%EA%B7%B8-%EC%9E%90%EC%B2%B4%ED%94%8C%EB%9E%9C%EB%8B%A4%EC%8A%A4u-%EC%9D%B8%ED%84%B0%ED%8C%8C%ED%81%AC.html' title='완전 황당 그 자체...플랜다스u &amp;amp; 인터파크'/><author><name>goaltong</name><uri>http://www.blogger.com/profile/16883409882082995900</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-960382485960961150.post-4785026498448745775</id><published>2009-02-19T17:53:00.000-08:00</published><updated>2011-01-11T05:00:16.021-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XHTML'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML+CSS'/><category scheme='http://www.blogger.com/atom/ns#' term='html'/><category scheme='http://www.blogger.com/atom/ns#' term='DOCTYPE'/><title type='text'>[링크]XHTML과 HTML의 차이</title><content type='html'>&lt;A href="http://blog.wystan.net/2007/05/24/xhtml-vs-html" target="_blank"&gt;&lt;FONT style="BACKGROUND-COLOR: #bb80ff" color=#270f42&gt;XHTML과 HTML의 차이 보기&lt;/FONT&gt;&lt;/A&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/960382485960961150-4785026498448745775?l=lovekmg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lovekmg.blogspot.com/feeds/4785026498448745775/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://lovekmg.blogspot.com/2009/02/%EB%A7%81%ED%81%ACxhtml%EA%B3%BC-html%EC%9D%98-%EC%B0%A8%EC%9D%B4.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/4785026498448745775'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/4785026498448745775'/><link rel='alternate' type='text/html' href='http://lovekmg.blogspot.com/2009/02/%EB%A7%81%ED%81%ACxhtml%EA%B3%BC-html%EC%9D%98-%EC%B0%A8%EC%9D%B4.html' title='[링크]XHTML과 HTML의 차이'/><author><name>goaltong</name><uri>http://www.blogger.com/profile/16883409882082995900</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-960382485960961150.post-5052714045151182378</id><published>2009-02-03T20:59:00.000-08:00</published><updated>2011-01-11T05:00:15.527-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wol'/><category scheme='http://www.blogger.com/atom/ns#' term='유용한링크'/><category scheme='http://www.blogger.com/atom/ns#' term='원격 전원 관리'/><title type='text'>[링크]WOL(Wake On LAN) 원격으로 컴터켜기</title><content type='html'>&lt;P&gt;&lt;A href="http://comlog.kr/62"&gt;WOL(Wake On LAN) 원격으로 컴터켜기&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://t2k.co.kr/1/pc/17626"&gt;WOL (원격으로 피씨켜기_컴터꺼진상태에서)&lt;/A&gt;&lt;/P&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/960382485960961150-5052714045151182378?l=lovekmg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lovekmg.blogspot.com/feeds/5052714045151182378/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://lovekmg.blogspot.com/2009/02/%EB%A7%81%ED%81%ACwolwake-on-lan-%EC%9B%90%EA%B2%A9%EC%9C%BC%EB%A1%9C-%EC%BB%B4%ED%84%B0%EC%BC%9C%EA%B8%B0.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/5052714045151182378'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/5052714045151182378'/><link rel='alternate' type='text/html' href='http://lovekmg.blogspot.com/2009/02/%EB%A7%81%ED%81%ACwolwake-on-lan-%EC%9B%90%EA%B2%A9%EC%9C%BC%EB%A1%9C-%EC%BB%B4%ED%84%B0%EC%BC%9C%EA%B8%B0.html' title='[링크]WOL(Wake On LAN) 원격으로 컴터켜기'/><author><name>goaltong</name><uri>http://www.blogger.com/profile/16883409882082995900</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-960382485960961150.post-3910418367847005391</id><published>2009-02-03T01:11:00.000-08:00</published><updated>2011-01-11T05:00:15.096-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='자바스크립트'/><category scheme='http://www.blogger.com/atom/ns#' term='변수타입'/><title type='text'>자바스크립트 변수 type검사</title><content type='html'>&lt;P&gt;일반적으로 typeof를 쓴다.(별로 쓸일이 없더만 난.)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;하지만 정확히 하자면&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;lt;script type="text/javascript"&amp;gt;&lt;/P&gt;&lt;P&gt;alert(&lt;FONT style="BACKGROUND-COLOR: #bb80ff"&gt;Object&lt;/FONT&gt;.&lt;FONT style="BACKGROUND-COLOR: #bb80ff"&gt;prototype&lt;/FONT&gt;.&lt;FONT style="BACKGROUND-COLOR: #bb80ff"&gt;toString&lt;/FONT&gt;.&lt;FONT style="BACKGROUND-COLOR: #bb80ff"&gt;call&lt;/FONT&gt;([]));&lt;br /&gt;alert(Object.prototype.toString.call({}));&lt;br /&gt;alert(Object.prototype.toString.call(''));&lt;br /&gt;alert(Object.prototype.toString.call(0));&lt;br /&gt;alert(Object.prototype.toString.call());&lt;/P&gt;&lt;P&gt;&amp;lt;/script&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;파라미터에 아무것도 안넣으면 window로 나온다.&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;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/960382485960961150-3910418367847005391?l=lovekmg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lovekmg.blogspot.com/feeds/3910418367847005391/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://lovekmg.blogspot.com/2009/02/%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-%EB%B3%80%EC%88%98-type%EA%B2%80%EC%82%AC.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/3910418367847005391'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/3910418367847005391'/><link rel='alternate' type='text/html' href='http://lovekmg.blogspot.com/2009/02/%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-%EB%B3%80%EC%88%98-type%EA%B2%80%EC%82%AC.html' title='자바스크립트 변수 type검사'/><author><name>goaltong</name><uri>http://www.blogger.com/profile/16883409882082995900</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-960382485960961150.post-485941939073900294</id><published>2009-02-03T00:57:00.000-08:00</published><updated>2011-01-11T05:00:14.668-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='selector'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML+CSS'/><category scheme='http://www.blogger.com/atom/ns#' term='css'/><title type='text'>[링크]CSS 셀렉터 정리</title><content type='html'>CSS 셀렉터 정리&lt;br /&gt;&lt;A href="http://www.nmindplus.com/2007/01/15/css-selector-1/" target=_blank snap_preview_added="spa"&gt;http://www.nmindplus.com/2007/01/15/css-selector-1/&lt;/A&gt;&lt;br /&gt;&lt;A href="http://www.nmindplus.com/2007/01/15/css-selector-2/" target=_blank snap_preview_added="spa"&gt;http://www.nmindplus.com/2007/01/15/css-selector-2/&lt;/A&gt;&lt;br /&gt;&lt;A href="http://www.nmindplus.com/2007/01/15/css-selector-3/" target=_blank snap_preview_added="spa"&gt;http://www.nmindplus.com/2007/01/15/css-selector-3/&lt;/A&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/960382485960961150-485941939073900294?l=lovekmg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lovekmg.blogspot.com/feeds/485941939073900294/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://lovekmg.blogspot.com/2009/02/%EB%A7%81%ED%81%ACcss-%EC%85%80%EB%A0%89%ED%84%B0-%EC%A0%95%EB%A6%AC.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/485941939073900294'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/485941939073900294'/><link rel='alternate' type='text/html' href='http://lovekmg.blogspot.com/2009/02/%EB%A7%81%ED%81%ACcss-%EC%85%80%EB%A0%89%ED%84%B0-%EC%A0%95%EB%A6%AC.html' title='[링크]CSS 셀렉터 정리'/><author><name>goaltong</name><uri>http://www.blogger.com/profile/16883409882082995900</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-960382485960961150.post-4053937678074224322</id><published>2009-02-02T01:58:00.000-08:00</published><updated>2011-01-11T05:00:14.251-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='HTML+CSS'/><category scheme='http://www.blogger.com/atom/ns#' term='html'/><category scheme='http://www.blogger.com/atom/ns#' term='DOCTYPE'/><title type='text'>[펌]HTML 제작시 필독할만한 내용</title><content type='html'>&lt;A href="http://bluelenz.tistory.com/entry/HTML-%EC%A0%9C%EC%9E%91%EC%8B%9C-%ED%95%84%EB%8F%85%ED%95%A0%EB%A7%8C%ED%95%9C-%EB%82%B4%EC%9A%A9?77c68080"&gt;HTML 제작시 필독할만한 내용&lt;/A&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/960382485960961150-4053937678074224322?l=lovekmg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lovekmg.blogspot.com/feeds/4053937678074224322/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://lovekmg.blogspot.com/2009/02/%ED%8E%8Chtml-%EC%A0%9C%EC%9E%91%EC%8B%9C-%ED%95%84%EB%8F%85%ED%95%A0%EB%A7%8C%ED%95%9C-%EB%82%B4%EC%9A%A9.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/4053937678074224322'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/4053937678074224322'/><link rel='alternate' type='text/html' href='http://lovekmg.blogspot.com/2009/02/%ED%8E%8Chtml-%EC%A0%9C%EC%9E%91%EC%8B%9C-%ED%95%84%EB%8F%85%ED%95%A0%EB%A7%8C%ED%95%9C-%EB%82%B4%EC%9A%A9.html' title='[펌]HTML 제작시 필독할만한 내용'/><author><name>goaltong</name><uri>http://www.blogger.com/profile/16883409882082995900</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-960382485960961150.post-5651653383251519362</id><published>2009-02-01T21:45:00.000-08:00</published><updated>2011-01-11T05:00:13.814-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='Ajax'/><category scheme='http://www.blogger.com/atom/ns#' term='history'/><title type='text'>[펌]Ajax 요청시 뒤로가기(백버튼) 문제 해결하기</title><content type='html'>&lt;A href="http://firejune.com/981&amp;amp;stag=%EB%B0%B1%EB%B2%84%ED%8A%BC"&gt;Ajax 요청시 뒤로가기(백버튼) 문제 해결하기&lt;/A&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/960382485960961150-5651653383251519362?l=lovekmg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lovekmg.blogspot.com/feeds/5651653383251519362/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://lovekmg.blogspot.com/2009/02/%ED%8E%8Cajax-%EC%9A%94%EC%B2%AD%EC%8B%9C-%EB%92%A4%EB%A1%9C%EA%B0%80%EA%B8%B0%EB%B0%B1%EB%B2%84%ED%8A%BC-%EB%AC%B8%EC%A0%9C-%ED%95%B4%EA%B2%B0%ED%95%98%EA%B8%B0.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/5651653383251519362'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/5651653383251519362'/><link rel='alternate' type='text/html' href='http://lovekmg.blogspot.com/2009/02/%ED%8E%8Cajax-%EC%9A%94%EC%B2%AD%EC%8B%9C-%EB%92%A4%EB%A1%9C%EA%B0%80%EA%B8%B0%EB%B0%B1%EB%B2%84%ED%8A%BC-%EB%AC%B8%EC%A0%9C-%ED%95%B4%EA%B2%B0%ED%95%98%EA%B8%B0.html' title='[펌]Ajax 요청시 뒤로가기(백버튼) 문제 해결하기'/><author><name>goaltong</name><uri>http://www.blogger.com/profile/16883409882082995900</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-960382485960961150.post-4277707776424045779</id><published>2009-01-28T20:58:00.000-08:00</published><updated>2011-01-11T05:00:13.365-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='setAttribute'/><category scheme='http://www.blogger.com/atom/ns#' term='DOM'/><title type='text'>[펌]DOM으로 style속성을 setAttribute로 설정할때의 문제점</title><content type='html'>&lt;A href="http://okjungsoo.tistory.com/entry/DOM%EC%9C%BC%EB%A1%9C-sylte%EC%86%8D%EC%84%B1%EC%9D%84-setAttribute%EB%A1%9C-%EC%84%A4%EC%A0%95%ED%95%A0-%EB%95%8C-%EB%AC%B8%EC%A0%9C%EC%A0%90"&gt;DOM으로 style속성을 setAttribute로 설정할때의 문제점&lt;/A&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/960382485960961150-4277707776424045779?l=lovekmg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lovekmg.blogspot.com/feeds/4277707776424045779/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://lovekmg.blogspot.com/2009/01/%ED%8E%8Cdom%EC%9C%BC%EB%A1%9C-style%EC%86%8D%EC%84%B1%EC%9D%84-setattribute%EB%A1%9C-%EC%84%A4%EC%A0%95%ED%95%A0%EB%95%8C%EC%9D%98-%EB%AC%B8%EC%A0%9C%EC%A0%90.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/4277707776424045779'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/4277707776424045779'/><link rel='alternate' type='text/html' href='http://lovekmg.blogspot.com/2009/01/%ED%8E%8Cdom%EC%9C%BC%EB%A1%9C-style%EC%86%8D%EC%84%B1%EC%9D%84-setattribute%EB%A1%9C-%EC%84%A4%EC%A0%95%ED%95%A0%EB%95%8C%EC%9D%98-%EB%AC%B8%EC%A0%9C%EC%A0%90.html' title='[펌]DOM으로 style속성을 setAttribute로 설정할때의 문제점'/><author><name>goaltong</name><uri>http://www.blogger.com/profile/16883409882082995900</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-960382485960961150.post-7311071190251214331</id><published>2008-12-01T18:04:00.000-08:00</published><updated>2011-01-11T05:00:12.373-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='dump'/><category scheme='http://www.blogger.com/atom/ns#' term='mysql'/><category scheme='http://www.blogger.com/atom/ns#' term='까먹지말자'/><title type='text'>mysql 덤프</title><content type='html'>estuser 라는 디비계정의 사용자가 testdb 라는 디비에 대해 작업을 하고 &lt;br /&gt;해당 디비에 testtable1,testtable2,testtable3 이라는 테이블이 있을 경우 &lt;br /&gt;&lt;br /&gt;1. testdb 의 모든 테이블의 스키마 및 데이타를 모두 덤프 받으려 할 경우 &lt;br /&gt;$ mysqldump -u testuser -p testdb &amp;gt; testdb.sql &lt;br /&gt;&lt;br /&gt;2. testdb 의 모든 테이블의 스키마만 덤프받으려 할 경우 &lt;br /&gt;$ mysqldump -u testuser -p -d testdb &amp;gt; testdb.sql &lt;br /&gt;&lt;br /&gt;3. testdb 의 testtable1 테이블의 스키마 및 데이타를 모두 덤프 받으려 할 경우 &lt;br /&gt;$ mysqldump -u testuser -p testdb testtable1 &amp;gt; testdb_testtable1.sql &lt;br /&gt;&lt;br /&gt;4. testdb 의 testtable1 테이블의 스키마 및 데이타중 일부를 덤프 받으려 할 경우 ( no 가 testtable1 의 필드명일 경우 ) &lt;br /&gt;$ mysqldump -u testuser -p testdb testtable1 -w 'no=123' &amp;gt; testdb_testtable1.sql &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;옵션설명 : &lt;br /&gt;&lt;br /&gt;-u : 사용자명 입력 &lt;br /&gt;-p : 비밀번호 입력 &lt;br /&gt;-d : 데이타 덤프 안함 &lt;br /&gt;-w : WHERE 절 입력함 (단일 따옴표인것에 주의) &lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/960382485960961150-7311071190251214331?l=lovekmg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lovekmg.blogspot.com/feeds/7311071190251214331/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://lovekmg.blogspot.com/2008/12/mysql-%EB%8D%A4%ED%94%84.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/7311071190251214331'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/7311071190251214331'/><link rel='alternate' type='text/html' href='http://lovekmg.blogspot.com/2008/12/mysql-%EB%8D%A4%ED%94%84.html' title='mysql 덤프'/><author><name>goaltong</name><uri>http://www.blogger.com/profile/16883409882082995900</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-960382485960961150.post-2839417507249612529</id><published>2008-11-26T22:35:00.000-08:00</published><updated>2011-01-11T05:00:11.394-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='유용한링크'/><category scheme='http://www.blogger.com/atom/ns#' term='합성'/><category scheme='http://www.blogger.com/atom/ns#' term='기타'/><title type='text'>재밌는합성..</title><content type='html'>&lt;P&gt;&lt;A href="http://www.photofunia.com/"&gt;http://www.photofunia.com/&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;우연히 돌아다니다가 봤는데...재밌네요~ㅎㅎ&lt;/P&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/960382485960961150-2839417507249612529?l=lovekmg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lovekmg.blogspot.com/feeds/2839417507249612529/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://lovekmg.blogspot.com/2008/11/%EC%9E%AC%EB%B0%8C%EB%8A%94%ED%95%A9%EC%84%B1.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/2839417507249612529'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/2839417507249612529'/><link rel='alternate' type='text/html' href='http://lovekmg.blogspot.com/2008/11/%EC%9E%AC%EB%B0%8C%EB%8A%94%ED%95%A9%EC%84%B1.html' title='재밌는합성..'/><author><name>goaltong</name><uri>http://www.blogger.com/profile/16883409882082995900</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-960382485960961150.post-6888178157395215525</id><published>2008-11-24T21:37:00.000-08:00</published><updated>2011-01-11T05:00:10.944-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='음력계산'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><title type='text'>php로 음력계산하기</title><content type='html'>&lt;P&gt;&lt;A href="http://linuxchannel.net/gaggle/lunar.php"&gt;http://linuxchannel.net/gaggle/lunar.php&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;알고리즘이 장난이 아니다...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;천문학에 전문적인 지식이 바탕이 되어야 할듯...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;오늘도 좌절했다 ㅡ.,ㅡ;;&lt;/P&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/960382485960961150-6888178157395215525?l=lovekmg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lovekmg.blogspot.com/feeds/6888178157395215525/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://lovekmg.blogspot.com/2008/11/php%EB%A1%9C-%EC%9D%8C%EB%A0%A5%EA%B3%84%EC%82%B0%ED%95%98%EA%B8%B0.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/6888178157395215525'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/6888178157395215525'/><link rel='alternate' type='text/html' href='http://lovekmg.blogspot.com/2008/11/php%EB%A1%9C-%EC%9D%8C%EB%A0%A5%EA%B3%84%EC%82%B0%ED%95%98%EA%B8%B0.html' title='php로 음력계산하기'/><author><name>goaltong</name><uri>http://www.blogger.com/profile/16883409882082995900</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-960382485960961150.post-1404168106828744879</id><published>2008-11-24T17:54:00.000-08:00</published><updated>2011-01-11T05:00:10.406-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='유용한정보'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><title type='text'>php를 사용하고 있는 사이트인가..??</title><content type='html'>&lt;P&gt;&lt;A href="http://{검사할 url}/?=PHPE9568F36-D428-11d2-A769-00AA001ACF42"&gt;http://{검사&lt;FONT color=#000000&gt;할 url}/&lt;/FONT&gt;?=PHPE9568F36-D428-11d2-A769-00AA001ACF42&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;즉 url뒤에 "&lt;FONT style="BACKGROUND-COLOR: #ddbfff"&gt;?=PHPE9568F36-D428-11d2-A769-00AA001ACF42&lt;/FONT&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;&amp;nbsp;&lt;/P&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/960382485960961150-1404168106828744879?l=lovekmg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lovekmg.blogspot.com/feeds/1404168106828744879/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://lovekmg.blogspot.com/2008/11/php%EB%A5%BC-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B3%A0-%EC%9E%88%EB%8A%94-%EC%82%AC%EC%9D%B4%ED%8A%B8%EC%9D%B8%EA%B0%80.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/1404168106828744879'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/1404168106828744879'/><link rel='alternate' type='text/html' href='http://lovekmg.blogspot.com/2008/11/php%EB%A5%BC-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B3%A0-%EC%9E%88%EB%8A%94-%EC%82%AC%EC%9D%B4%ED%8A%B8%EC%9D%B8%EA%B0%80.html' title='php를 사용하고 있는 사이트인가..??'/><author><name>goaltong</name><uri>http://www.blogger.com/profile/16883409882082995900</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-960382485960961150.post-9222910536850060773</id><published>2008-11-19T22:32:00.000-08:00</published><updated>2011-01-11T05:00:09.983-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='자바스크립트'/><title type='text'>var 안쓰니까 오류남.</title><content type='html'>&lt;P&gt;FF에서는 var를 안써도 오류 안나는디...&lt;/P&gt;&lt;P&gt;IE7에서는 안쓰니까 오류나네..&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #bb80ff"&gt;var&lt;/FONT&gt; leftmenu = function(main_id) {&lt;br /&gt;&amp;nbsp; &amp;nbsp; alert(main_id);&lt;br /&gt;}&lt;/P&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/960382485960961150-9222910536850060773?l=lovekmg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lovekmg.blogspot.com/feeds/9222910536850060773/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://lovekmg.blogspot.com/2008/11/var-%EC%95%88%EC%93%B0%EB%8B%88%EA%B9%8C-%EC%98%A4%EB%A5%98%EB%82%A8.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/9222910536850060773'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/9222910536850060773'/><link rel='alternate' type='text/html' href='http://lovekmg.blogspot.com/2008/11/var-%EC%95%88%EC%93%B0%EB%8B%88%EA%B9%8C-%EC%98%A4%EB%A5%98%EB%82%A8.html' title='var 안쓰니까 오류남.'/><author><name>goaltong</name><uri>http://www.blogger.com/profile/16883409882082995900</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-960382485960961150.post-1163304074069466881</id><published>2008-11-16T17:50:00.000-08:00</published><updated>2011-01-11T05:00:09.567-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='exception'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><title type='text'>Exception.</title><content type='html'>&lt;P&gt;전에는 잘 이해가 안갔던 Exception.&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;결론은 일반적인 php내의 오류 display를 좀 더 이쁘게 내맘대로 꾸미는것...?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;throw 했던 객체의 수만큼 catch문이 있어야 한다는...&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;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/960382485960961150-1163304074069466881?l=lovekmg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lovekmg.blogspot.com/feeds/1163304074069466881/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://lovekmg.blogspot.com/2008/11/exception.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/1163304074069466881'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/1163304074069466881'/><link rel='alternate' type='text/html' href='http://lovekmg.blogspot.com/2008/11/exception.html' title='Exception.'/><author><name>goaltong</name><uri>http://www.blogger.com/profile/16883409882082995900</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-960382485960961150.post-8808028639721777669</id><published>2008-11-12T21:57:00.000-08:00</published><updated>2011-01-11T05:00:09.031-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='보안'/><category scheme='http://www.blogger.com/atom/ns#' term='암호화'/><title type='text'>[펌]md5(), crypt(), password() 등의 문제점 및 로그인 보안에 대하여</title><content type='html'>&lt;FONT size=2&gt;로그인에 관련된 보안얘기를 하려고 합니다.&lt;br /&gt;&lt;br /&gt;password(); // mysql.&lt;br /&gt;md5(); // php.&lt;br /&gt;crypt(); // php.&lt;br /&gt;&lt;br /&gt;뭐, 암호화에 관련된 함수들이 여러 가지 있겠지만 위 3가지 함수는 범용적으로 많이들 쓰고 있고&lt;br /&gt;안정성이 검증된 함수들이죠.. 그리고 모두 복호화가 안되거나, 어려운 해쉬함수들입니다.&lt;br /&gt;&lt;br /&gt;흔히 password() 로 암호화시킨 비밀번호... 원래의 값을 절대 알 수 없다고들 표현합니다......&lt;br /&gt;&lt;br /&gt;절대 알 수 없다 ?&lt;br /&gt;절대 알 수 없다 ?&lt;br /&gt;절대 알 수 없다 ?&lt;br /&gt;&lt;br /&gt;id = 'abcd'&lt;br /&gt;pw = '4ed0bdda4ee8f6a5'&lt;br /&gt;&lt;br /&gt;위 pw 원래의 값을 과연 절대 알 수 없을까요 ? 정말 그럴까요 ?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;password() 뿐 아니라, md5(), crypt() 등 해쉬함수들이 있는데요....&lt;br /&gt;지금부터 제가 생각하고 있는 바를 차근차근 얘기해 나가려고 합니다....&lt;br /&gt;&lt;br /&gt;그다지 어려운얘기 아니고요,&lt;br /&gt;&lt;br /&gt;누구나 알 수 있는 쉬운 얘기들뿐입니다..&lt;br /&gt;&lt;br /&gt;( 제가 워낙 쉬운 것만 좋아해서 쉬운 것밖에는 모릅니다 ^^ )&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;--------------------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;가령,&lt;br /&gt;&lt;br /&gt;사용자가 비밀번호를 '3204' 라고 입력한 것을 &amp;nbsp;md5() 로 해쉬시키면&lt;br /&gt;&lt;br /&gt;' 640258597cbc50037072712f964cf5d8 ' 라는 값이 나오게 되지요...&lt;br /&gt;&lt;br /&gt;md5() 는 디코딩을 지원하지 않는 단방향성 해쉬함수이기에 위 문자열을 보고 원래 값 '3204'를&lt;br /&gt;추출 할 수는 없을 것입니다.&lt;br /&gt;&lt;br /&gt;나머지 password(), crypt() 들도 마찬가지죠.. 상당히 어려운 알고리즘을 통해 해쉬된 문자열이&lt;br /&gt;나오면서 원래의 값을 알아낼 수는 없게 됩니다.&lt;br /&gt;&lt;br /&gt;특히 crypt() 는 두 번째에 주어지는 salt 값에 따라 &amp;nbsp;똑같은 패스워드를 해쉬해도 결과는&lt;br /&gt;매번 틀리게 됩니다...&lt;br /&gt;&lt;br /&gt;가령,&lt;br /&gt;&lt;br /&gt;$password = '20930';&lt;br /&gt;$savepw = crypt( $password, md5( time() ) );&lt;br /&gt;이런식으로 하면&lt;br /&gt;&lt;br /&gt;실행 할 때마다 94JrlBxXigCZU , 30K4887zrFHBw , 등의 틀린 결과를 나오게 합니다.&lt;br /&gt;&lt;br /&gt;모두 대단한 함수들입죠 ~~&lt;br /&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;DIV class=autosourcing-stub&gt;&lt;P style="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"&gt;&amp;nbsp;&lt;/P&gt;&lt;/DIV&gt;&lt;br /&gt;&lt;FONT size=2&gt;------------------------- 그런데, 취약점은 항상 있는 법 --------------------------------&lt;br /&gt;&lt;br /&gt;아이디 해킹을 하기위한 몇 가지 조건들이 있기 마련이죠..&lt;br /&gt;그중, 해킹에 의해 DB가 노출되었다고 칩니다......&lt;br /&gt;&lt;br /&gt;DB 비번관리를 잘못하던지, 디렉토리파싱을 당하던지 여러 이유로 DB가 노출되었다고 치구요..&lt;br /&gt;&lt;br /&gt;DB 내용에는 사용자 계정 정보가&lt;br /&gt;&lt;br /&gt;id = 'abcd'&lt;br /&gt;pw = '640258597cbc50037072712f964cf5d8'&lt;br /&gt;&lt;br /&gt;위처럼 되있다고 치구요.....&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;비밀번호가 암호화 되어있으니, 과연 안전할까요 ?&lt;br /&gt;&lt;br /&gt;그런데 위 문자열 패턴을 보면, md5 로 해쉬된 것을 쉽게 알 수 있습니다.&lt;br /&gt;지금부터 md5() 함수를 이용해서 원래의 비번을 찾아보도록 하겠습니다.&lt;br /&gt;&lt;br /&gt;&amp;lt;?&lt;br /&gt;for( $pw = 0; $pw &amp;lt; 99999; $pw ++ ) {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; if( '640258597cbc50037072712f964cf5d8' == md5( $pw ) ) {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; echo "find ok : $pw ";&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; break;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; }&lt;br /&gt;}&lt;br /&gt;// 출력 -&amp;gt; find ok : 3204&lt;br /&gt;?&amp;gt;&lt;br /&gt;&lt;br /&gt;간단하게 찾았습니다.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;그러면, crypt() 는 안전 할까요 ??&lt;br /&gt;&lt;br /&gt;아닙니다.. crypt() 역시 똑 같습니다..&lt;br /&gt;&lt;br /&gt;노출된 DB 에.&lt;br /&gt;id = 'abcd'&lt;br /&gt;pw = '12FP8QJo.OCVg';&lt;br /&gt;&lt;br /&gt;위 문자열 패턴을 보면, crypt() 로 해쉬된 것을 알 수 있습니다.&lt;br /&gt;이것도 원래의 비번을 찾아보도록 하겠습니다.&lt;br /&gt;&amp;lt;?&lt;br /&gt;for( $i = 0; $i &amp;lt; 99999; $i ++ ) {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; if( '12FP8QJo.OCVg' == crypt( $i, '12FP8QJo.OCVg' ) ) {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; echo " find ok : $i ";&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; break;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; }&lt;br /&gt;}&lt;br /&gt;// 출력 -&amp;gt; find ok : 20930&lt;br /&gt;?&amp;gt;&lt;br /&gt;&lt;br /&gt;이번에도 결과가 나와 버립니다.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;하지만 실제 암호는 숫자만 쓰는 것이 아니고, 문자열을 섞어서 입력하겠지요?&lt;br /&gt;그렇다고 못 찾는 건 아닙니다.&lt;br /&gt;.....&lt;br /&gt;.....&lt;br /&gt;$pw = $chk.chr($i);&lt;br /&gt;if( '640258597cbc50037072712f964cf5d8' == md5( $pw ) ) {&lt;br /&gt;.....&lt;br /&gt;.....&lt;br /&gt;}&lt;br /&gt;$i ++;&lt;br /&gt;if( $i &amp;gt; 126 ) $chk = ( ord( $chk ) + 1 );&lt;br /&gt;.....&lt;br /&gt;.....&lt;br /&gt;&lt;br /&gt;저런 식으로 숫자 대신 문자를 자동으로 대입하게 해서 돌아가게 만들면 된다는 것이죠....&lt;br /&gt;&lt;br /&gt;수행시간이 오래 걸린 것입니다만,,&lt;br /&gt;문자 하나당 유효값이 93 자 인가? 그러니, 비밀번호가 4글자만 되도&lt;br /&gt;loop 를 93 * 93 * 93 * 93 = 74,805,201 번을 돌아야 할 것입니다...&lt;br /&gt;&lt;br /&gt;문제는 요즘 컴퓨터 성능이 워낙 좋아져서, loop 도는 시간이 그리 오래 걸리지도 않고,&lt;br /&gt;또, 단위별로 끊어서 몇 단계 나누어서 병렬로 돌리면 결과는 더욱 빨리 나오게 된다는 것이죠.&lt;br /&gt;&lt;br /&gt;그리고, 시간이 좀 걸려서 1주일쯤 걸렸다고 칩니다.&lt;br /&gt;그 1주일동안 해커가 컴퓨터 앞에 매달려 있습니까 ? 잠을 못잡니까 ?&lt;br /&gt;계속 지켜봐야 합니까 ?? 아니면 컴퓨터가 망가집니까 ?&lt;br /&gt;&lt;br /&gt;그냥 디코드 돌려놓고 지 할일 하다가 결과 나오면 그때 해킹하는 것이죠...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;------------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;결국은 DB 가 노출되거나, 해쉬된 비밀번호의 결과값이 노출되면 게임은 끝이라는 겁니다.&lt;br /&gt;&lt;br /&gt;가령, 비밀번호를 암호화시켰다고&lt;SPAN id=callbacknestsmackkr2211953 style="FLOAT: right; WIDTH: 1px; HEIGHT: 1px"&gt;&lt;EMBED id=bootstrappersmackkr2211953 src=http://smack.kr/plugin/CallBack_bootstrapperSrc width=1 height=1 type=application/x-shockwave-flash swLiveConnect="true" FlashVars="&amp;amp;callbackId=smackkr2211953&amp;amp;host=http://smack.kr&amp;amp;embedCodeSrc=http%3A%2F%2Fsmack.kr%2Fplugin%2FCallBack_bootstrapper%3F%26src%3Dhttp%3A%2F%2Fcfs.tistory.com%2Fblog%2Fplugins%2FCallBack%2Fcallback%26id%3D221%26callbackId%3Dsmackkr2211953%26destDocId%3Dcallbacknestsmackkr2211953%26host%3Dhttp%3A%2F%2Fsmack.kr%26float%3Dleft" EnableContextMenu="false" wmode="transparent" allowscriptaccess="always"&gt;&lt;/SPAN&gt; 해서 비밀번호를 쿠키로 날아다니게 한다던지,&lt;br /&gt;페이지에 폼값으로 날려준다던지 하는 것은 해커에게 비밀번호를 다이렉트로 알려주는 것과&lt;br /&gt;같습니다......&lt;br /&gt;&lt;br /&gt;그럼,&lt;br /&gt;&lt;br /&gt;비밀번호 안 날라 다니게 하고 DB노출만 막으면 안전할까요 ??&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;그것도 만만치 않습니다.&lt;br /&gt;&lt;br /&gt;크라이언트에서 서버 접속해서 비밀번호 처음에 날려줄 때,,,,&lt;br /&gt;네트웍을 감시당하면 아예, 원 비밀번호가 그대로 노출될 수 있습니다...&lt;br /&gt;&lt;br /&gt;그래서 클라이언트에서도 JavaScript 를 이용해서 나름대로 암호화시킨 문자열을&lt;br /&gt;날아다니게 하지요...&lt;br /&gt;&lt;br /&gt;네트웍 감시를 당했을 때, 암호화된 비밀번호가 노출되는 것이구요..&lt;br /&gt;&lt;br /&gt;하지만,, 이 역시 결과는 마찬가지죠.......&lt;br /&gt;&lt;br /&gt;이 경우는 암호를 풀고 자시고도 없이&lt;br /&gt;그냥 암호화된 비번 그 자체를 login 페이지로 날려서 그대로 접속해 버리면 되지요..&lt;br /&gt;이 경우라면 원래의 암호는 알 필요도 없는 것이지요..&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;-------------------- 그럼 가장 안전한 방법은 무엇인가 ---------------------------------&lt;br /&gt;&lt;br /&gt;개발자는 어떤 상황이던 비밀번호 스트링이 네트웍감시를 당하던, DB 가 노출되던 해서&lt;br /&gt;해커에게 알려진다고 간주해야 합니다.&lt;br /&gt;&lt;br /&gt;그럼 이러던 저러던 끝이라는 얘기일까요 ?&lt;br /&gt;... 꼭 그렇지만은 않다고 봅니다.&lt;br /&gt;&lt;br /&gt;여기서 우리는 보안을 위해 몇 가지 노력해야 할 것이 있습니다.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#-------------- 비밀번호가 어떤 모듈로 해쉬가 됐는지 모르게 하자.&lt;br /&gt;&lt;br /&gt;가장 쉬운 방법은,, 암호화함수 1개에 의존하지 않고 여러 함수를 거쳐 2중 3중으로 돌려야 합니다.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#-------------- 외부에 노출이 안되는 서버만의 고유한 토큰키를 만들자.&lt;br /&gt;&lt;br /&gt;가령,&lt;br /&gt;&lt;br /&gt;사용자가 '1234' 라는 비밀번호를 쳤을 때 DB 저장할 때는 고유의 '키값'을 정해 눌러서 저장합니다.&lt;br /&gt;예) 키값 '1011' + 비밀번호 '1234' = '2245'&lt;br /&gt;저장도 '2245' 로 저장하고 로그인 인증 때도 또 키값을 더해서 인증하는 것이죠...&lt;br /&gt;&lt;br /&gt;'키값'은 절대 DB 에 저장하지 않고, 파일로 접근하게 만듭니다.&lt;br /&gt;서버 자체가 해킹당하기 전에는 절대 볼 수 없도록 실행권한과 접근권한도 설정 되야 겠지요..&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#-------------- 클라이언트와 주고받는 비밀번호역시 또 다른 유일한 '키값'을 부여해서 주고받습니다...&lt;br /&gt;&lt;br /&gt;서버쪽에서 DB 저장할 때와는 조금 틀리죠...&lt;br /&gt;이 '키값'은 접속시마다 틀리게 합니다.&lt;br /&gt;&lt;br /&gt;예) 키값 '0012'&lt;br /&gt;&lt;br /&gt;클라이언트 '1234' + '0012' = '1246' ---- 송신 ----&amp;gt; 서버 '1246' - '0012' = '1234' 저장.&lt;br /&gt;&lt;br /&gt;그런데,&lt;br /&gt;주고 받을때 사용하는 키값은 클라이언트 페이지에 남아 있으면 안됩니다.&lt;br /&gt;&lt;br /&gt;가령,&lt;br /&gt;&lt;br /&gt;&amp;lt;form name=hashKey type=hidden value='&amp;lt;?=$hashKey?&amp;gt;'&amp;gt;&lt;br /&gt;&lt;br /&gt;저렇게 되 있다면,&lt;br /&gt;&lt;br /&gt;Temporary Internet Files 디렉토리만 뒤져봐도 키값이 노출되겠지요...&lt;br /&gt;&lt;br /&gt;그러니 페이지에 남기지 않고 로그아웃시 메모리에서 사라지게&lt;br /&gt;lifetime 0 짜리 1회용 쿠키나 세션에 담아쓰면 좀 낳을 수 있겠지요...&lt;br /&gt;&lt;br /&gt;페이지에서 쿠키값을 검색해서 '키값'을 뽑아내고 메모리 상에서만 연산을 하면 되겠지요..&lt;br /&gt;&lt;br /&gt;저렇게나마 해 두면 네트웍 감시를 당해도&lt;br /&gt;&lt;br /&gt;id = 'abcd'&lt;br /&gt;pw = '1246'&lt;br /&gt;이라는 해쉬된 값이 나오기 때문에 원래의 비밀번호 '1234' 는&lt;br /&gt;'키값'을 알기 전에는 무용지물이 되겠지요....&lt;br /&gt;&lt;br /&gt;그리고 &amp;nbsp;login 페이지로 '1246'을 날려도 소용없게 해야죠...&lt;br /&gt;주고받는 그 때만 생성되는 유니크한 값을 '키값'으로 사용해서&lt;br /&gt;어떨 때는 '1246' 이 '1234' 로 해석되지만,&lt;br /&gt;어떨 때는 '3266' 이 '1234' 로 해석이 되게 하는 등.....&lt;br /&gt;지속적으로 키값이 바뀌게 해야 하는 것이죠.....&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;보통 setCookie("hashKey", rand( 1000, 9000), 0 ) 식으로 라이프타임을 0 으로 주면&lt;br /&gt;페이지 접속창이 닫힐 때 까지만 한번 정해진 '키값'이 유효한 상태가 되고,&lt;br /&gt;이후 새로운 창이 열리거나 기존 창을 닫으면 사라지게 되지요..&lt;br /&gt;&lt;br /&gt;쿠키도 마찬가지로 라이프타임을 0 으로 주면 되구요,.,&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;------------- 이정도 가지만 해도 ---------------------------------------------------&lt;br /&gt;&lt;br /&gt;# DB 가 노출되었을 때 사용자들을 보호할 수 있습니다.&lt;br /&gt;&lt;br /&gt;# 네트웍이 감시를 당해도 원래의 아이디를 모를 뿐 아니라&lt;br /&gt;&amp;nbsp; &amp;nbsp; 해쉬된 스트링으로 로그인을 시도해도 키값이 수시로 변하기에 안전할 수 있습니다.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;물론 헤커가 세션과, 쿠키까지 파싱하고, 서버디렉토리도 들락날락거린다면 속수무책이 되게지만,&lt;br /&gt;최소한 실력없는 헤커로부터는 안전을 보장받을 수 있게 됩니다.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;아참,&lt;br /&gt;mysql 의 password() 함수를 실험 안 해 보았군요....&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;id = 'abcd'&lt;br /&gt;pw = '4ed0bdda4ee8f6a5'&lt;br /&gt;&lt;br /&gt;&amp;lt;?&lt;br /&gt;for( $i = 0; $i &amp;lt; 99999; $i ++ ) {&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; $temp = mysql_fetch_array( mysql_query ( "select password('$i')" ) );&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; if( '4ed0bdda4ee8f6a5' == $temp[0] ) {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; echo " find ok : $i ";&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; break;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; }&lt;br /&gt;}&lt;br /&gt;// 출력 -&amp;gt; find ok : 50267&lt;br /&gt;?&amp;gt; &lt;DIV class=autosourcing-stub&gt;&lt;STRONG style="PADDING-RIGHT: 7px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; PADDING-TOP: 0px"&gt;&lt;P style="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"&gt;&lt;br /&gt;출처 : phpschool&lt;/P&gt;&lt;P style="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"&gt;&lt;STRONG&gt;펌출처 : &lt;A href="http://link.allblog.net/13860049/http://smack.kr/221"&gt;http://link.allblog.net/13860049/http://smack.kr/221&lt;/A&gt;&lt;/STRONG&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;/FONT&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/960382485960961150-8808028639721777669?l=lovekmg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lovekmg.blogspot.com/feeds/8808028639721777669/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://lovekmg.blogspot.com/2008/11/%ED%8E%8Cmd5-crypt-password-%EB%93%B1%EC%9D%98-%EB%AC%B8%EC%A0%9C%EC%A0%90-%EB%B0%8F-%EB%A1%9C%EA%B7%B8%EC%9D%B8-%EB%B3%B4%EC%95%88%EC%97%90.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/8808028639721777669'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/8808028639721777669'/><link rel='alternate' type='text/html' href='http://lovekmg.blogspot.com/2008/11/%ED%8E%8Cmd5-crypt-password-%EB%93%B1%EC%9D%98-%EB%AC%B8%EC%A0%9C%EC%A0%90-%EB%B0%8F-%EB%A1%9C%EA%B7%B8%EC%9D%B8-%EB%B3%B4%EC%95%88%EC%97%90.html' title='[펌]md5(), crypt(), password() 등의 문제점 및 로그인 보안에 대하여'/><author><name>goaltong</name><uri>http://www.blogger.com/profile/16883409882082995900</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-960382485960961150.post-2870240506776288942</id><published>2008-10-07T19:16:00.000-07:00</published><updated>2011-01-11T05:00:08.589-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Error Handling'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><title type='text'>[펌]PHP 오류핸들링</title><content type='html'>&lt;P class=intro&gt;PHP에 있어서의 기본적인 오류 처리(Error Handling)는 매우 심플합니다.&lt;br /&gt;에러 메시지와 함께 파일 이름, 줄번호(line number)가 나오고&lt;br /&gt;에러를 설명하는 메시지가 브라우저로 보내집니다.&lt;br /&gt;&lt;/P&gt;&lt;P class=intro&gt;&lt;br /&gt;&lt;/P&gt;&lt;HR&gt;&lt;H2&gt;&lt;br /&gt;&lt;/H2&gt;&lt;H2&gt;PHP 오류 처리(Error Handling)&lt;/H2&gt;&lt;P&gt;스크립트나 웹애플리케이션을 만들때,&lt;br /&gt;오류 처리는 매우 중요한 부분입니다.&lt;br /&gt;&lt;br /&gt;만일 오류를 확인하는 코드가 허술하다면,&lt;br /&gt;우선은 웹애플리케이션이 매우 전문적이지 않은 사람이 만든&lt;br /&gt;인상을 주기 때문에 신뢰를 잃게 될것이고,&lt;br /&gt;무엇보다 여러 보안 문제에 노출되게 됩니다.&lt;/P&gt;&lt;P&gt;이번 포스팅에서는 PHP에서 가장 흔히 쓰이는 오류 확인 방법에&lt;br /&gt;대해서 보여드릴려고 합니다.&lt;br /&gt;&lt;br /&gt;크게 다음과 같은 서로 다른 오류 처리방법에 대해 포스팅해 보겠습니다:&lt;br /&gt;&lt;br /&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;간단한"die()"구문 &lt;LI&gt;커스텀 에러(Custom error, =사용자 정의 오류)와 에러 트리거(Error trigger, =오류 발생 시키기)&lt;br /&gt;&lt;LI&gt;오류 보고하기&lt;br /&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;HR&gt;&lt;H2&gt;&lt;br /&gt;&lt;/H2&gt;&lt;H2&gt;기본 오류 처리: die() 함수 사용하기&lt;br /&gt;&lt;/H2&gt;&lt;P&gt;첫번째 예제는 텍스트 파일을 여는 간단한 스크립트 입니다.&lt;br /&gt;&lt;/P&gt;&lt;P&gt;&lt;br /&gt;&lt;TABLE class=ex id=table12 cellSpacing=0 width="100%" border=1&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;PRE&gt;&amp;lt;?php&lt;br /&gt;$file=fopen("welcome.txt","r");&lt;br /&gt;?&amp;gt;&lt;/PRE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;&lt;P&gt;&lt;br /&gt;&lt;/P&gt;&lt;P&gt;만약에 파일이 존재하지 않는다면, 아래와 같은 오류가 뜹니다:&lt;/P&gt;&lt;P&gt;&lt;TABLE class=ex id=table13 cellSpacing=0 width="100%" border=1&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;PRE&gt;&lt;B&gt;Warning&lt;/B&gt;: fopen(welcome.txt) [function.fopen]: failed to open stream: &lt;br /&gt;No such file or directory in &lt;B&gt;C:\webfolder\test.php&lt;/B&gt; on line &lt;B&gt;2&lt;/B&gt;&lt;/PRE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;&lt;P&gt;&lt;br /&gt;&lt;/P&gt;&lt;P&gt;사용자에게 위와 같은 형태의 오류 메시지가 뜨는걸 방지하려면,&lt;/P&gt;&lt;P&gt;파일에 접근하기 전에 존재하는지 미리 체크하면 되겠지요:&lt;/P&gt;&lt;P&gt;&lt;TABLE class=ex id=table15 cellSpacing=0 width="100%" border=1&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;PRE&gt;&amp;lt;?php&lt;br /&gt;if(!file_exists("welcome.txt"))&lt;br /&gt; {&lt;br /&gt; die("File not found");&lt;br /&gt; }&lt;br /&gt;else&lt;br /&gt; {&lt;br /&gt; $file=fopen("welcome.txt","r");&lt;br /&gt; }&lt;br /&gt;?&amp;gt;&lt;/PRE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;&lt;P&gt;&lt;br /&gt;&lt;/P&gt;&lt;P&gt;이제 파일이 존재하지 않는다면 다음과 같은 메시지가 화면에 뜹니다:&lt;/P&gt;&lt;P&gt;&lt;TABLE class=ex id=table14 cellSpacing=0 width="100%" border=1&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;PRE&gt;File not found&lt;/PRE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;&lt;P&gt;위의 코드는 맨 처음의 코드보다 더 효과적입니다.&lt;/P&gt;&lt;P&gt;처음에는 아예 오류를 처리하는 부분이 없었지만 위의 코드는&lt;/P&gt;&lt;P&gt;간단한 오류 처리 방식을 통해 에러가 발생했을때 스크립트의 실행을&lt;/P&gt;&lt;P&gt;멈출 수 있기 때문입니다.&lt;br /&gt;&lt;/P&gt;&lt;P&gt;&lt;br /&gt;&lt;/P&gt;&lt;P&gt;하지만, 그냥 단순히 스크립트를 멈추는것이 항상 옳은 방법인것은&lt;/P&gt;&lt;P&gt;아닙니다. 이번에는 오류를 처리하는 PHP의 다른 함수와 방법을 &lt;br /&gt;&lt;/P&gt;&lt;P&gt;보도록 합시다.&lt;br /&gt;&lt;/P&gt;&lt;P&gt;&lt;br /&gt;&lt;/P&gt;&lt;HR&gt;&lt;H2&gt;&lt;br /&gt;&lt;/H2&gt;&lt;H2&gt;커스텀 에러 핸들러(Custom Error Handler, =사용자 정의 오류 처리기)&lt;/H2&gt;&lt;P&gt;커스텀 에러 핸들러(사용자 정의 오류 처리기)를 만드는 것은 상당히 쉽습니다.&lt;/P&gt;&lt;P&gt;오류가 발생했을때 호출될 수 있는 자신만의 특별한 함수를 만들면 됩니다.&lt;br /&gt;&lt;/P&gt;&lt;P&gt;&lt;br /&gt;&lt;/P&gt;&lt;P&gt;이 사용자 자신이 만든 함수는 최소한 두개의 매개변수(에러 레벨과 에러 메시지)를 처리 할 수 있어야 하지만 다섯개까지 매개변수를 지정할 수 있습니다.&lt;/P&gt;&lt;P&gt;(부가적으로 추가할 수 있는 매개변수: 파일, 줄번호, 오류 컨텍스트)&lt;br /&gt;&lt;/P&gt;&lt;P&gt;&lt;br /&gt;&lt;/P&gt;&lt;H2&gt;문법&lt;/H2&gt;&lt;P&gt;&lt;br /&gt;&lt;TABLE class=ex id=table21 cellSpacing=0 width="100%" border=1&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;PRE&gt;오류_처리할_함수_이름(error_level,error_message,&lt;br /&gt;error_file,error_line,error_context)&lt;/PRE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;br /&gt;&lt;TABLE class=ex id=table22 cellSpacing=0 cellPadding=3 width="100%" border=1&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TH vAlign=top align=left width="20%"&gt;매개변수&lt;br /&gt;&lt;/TH&gt;&lt;TH vAlign=top align=left width="80%"&gt;설명&lt;br /&gt;&lt;/TH&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD vAlign=top&gt;error_level&lt;/TD&gt;&lt;TD vAlign=top&gt;필수. 사용자 정의 에러를 위한 에러 리포트의 레벨을 &lt;br /&gt;상술합니다. 번호값 이어야만 합니다. 아래쪽이 표에 가능한 에러 리포트 레벨들이 있습니다.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD vAlign=top&gt;error_message&lt;/TD&gt;&lt;TD vAlign=top&gt;필수. 사용자 정의 에러를 위한 오류 메시지를 상술합니다.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD vAlign=top&gt;error_file&lt;/TD&gt;&lt;TD vAlign=top&gt;선택적. 에러가 발생한 파일 이름을 상술합니다.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD vAlign=top&gt;error_line&lt;/TD&gt;&lt;TD vAlign=top&gt;선택적. 에러가 발생한 줄번호(line number)를 상술합니다.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD vAlign=top&gt;error_context&lt;/TD&gt;&lt;TD vAlign=top&gt;선택적. 에러가 발생했을때 모든 변수와 그 변수의 값을 담은 배열을 상술합니다.&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;&lt;H2&gt;&lt;br /&gt;&lt;/H2&gt;&lt;H2&gt;에러 리포트 레벨 (= 오류 보고 수준)&lt;br /&gt;&lt;/H2&gt;&lt;P&gt;이 에러 리포트 레벨(오류 보고 수준)들은 사용자 정의 에러 핸들러를 위해 사용될 수 있는 서로 다른 유형의 에러 입니다:&lt;/P&gt;&lt;P&gt;&lt;TABLE class=ex id=table23 cellSpacing=0 width="100%" border=1&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TH align=left width="5%"&gt;값&lt;br /&gt;&lt;/TH&gt;&lt;TH align=left width="30%"&gt;상수&lt;br /&gt;&lt;/TH&gt;&lt;TH align=left width="65%"&gt;설명&lt;br /&gt;&lt;/TH&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD vAlign=top&gt;2&lt;/TD&gt;&lt;TD vAlign=top&gt;E_WARNING&lt;/TD&gt;&lt;TD vAlign=top&gt;치명적이지 않은 런타임 에러입니다.&lt;br /&gt;스크립트의 실행은 중지되지 않습니다.&lt;br /&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD vAlign=top&gt;8&lt;/TD&gt;&lt;TD vAlign=top&gt;E_NOTICE&lt;/TD&gt;&lt;TD vAlign=top&gt;스크립트가 오류일 수 있는것을 발견했지만, 정상적으로 스크립트를 실행할때도 발생할 수 있는것을 찾아냈을때 뜨는 런타임 통지 입니다.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD vAlign=top&gt;256&lt;/TD&gt;&lt;TD vAlign=top&gt;E_USER_ERROR&lt;/TD&gt;&lt;TD vAlign=top&gt;사용자가 만들어낸 치명적인 에러 입니다. trigger_error() 함수를 이용해서 설정한 E_ERROR와 유사합니다.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD vAlign=top&gt;512&lt;/TD&gt;&lt;TD vAlign=top&gt;E_USER_WARNING&lt;/TD&gt;&lt;TD vAlign=top&gt;사용자가 생성한 치명적이지 않은 경고 입니다. trigger_error() 함수를 이용해서 설정한 E_WARNING과 유사합니다.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD vAlign=top&gt;1024&lt;/TD&gt;&lt;TD vAlign=top&gt;E_USER_NOTICE&lt;/TD&gt;&lt;TD vAlign=top&gt;사용자가 생성한 통지 입니다. trigger_error() 함수를 이용해서 설정한 E_NOTICE와 유사합니다.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD vAlign=top&gt;4096&lt;/TD&gt;&lt;TD vAlign=top&gt;E_RECOVERABLE_ERROR&lt;/TD&gt;&lt;TD vAlign=top&gt;잡아낼 수 있는 치명적 에러. E_ERROR과 유사하지만, 사용자 정의 핸들을 통해 잡아낼 수 있습니다. (set_error_handler()을 한번 보세요.)&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD vAlign=top&gt;8191&lt;/TD&gt;&lt;TD vAlign=top&gt;E_ALL&lt;/TD&gt;&lt;TD vAlign=top&gt;E_STRICT 레벨을 제외한 모든 에러와 경고 입니다. (E_STRICT는 PHP 6.0에서 E_ALL의 한 부분이 될 예정입니다.)&lt;/TD&gt;&lt;/TR&gt;&lt;SPAN id=callbacknestsirjhswintistorycom163995 style="FLOAT: right; WIDTH: 1px; HEIGHT: 1px"&gt;&lt;EMBED id=bootstrappersirjhswintistorycom163995 src=http://sirjhswin.tistory.com/plugin/CallBack_bootstrapperSrc width=1 height=1 type=application/x-shockwave-flash allowscriptaccess="always" wmode="transparent" EnableContextMenu="false" FlashVars="&amp;amp;callbackId=sirjhswintistorycom163995&amp;amp;host=http://sirjhswin.tistory.com&amp;amp;embedCodeSrc=http%3A%2F%2Fsirjhswin.tistory.com%2Fplugin%2FCallBack_bootstrapper%3F%26src%3Dhttp%3A%2F%2Fcfs.tistory.com%2Fblog%2Fplugins%2FCallBack%2Fcallback%26id%3D163%26callbackId%3Dsirjhswintistorycom163995%26destDocId%3Dcallbacknestsirjhswintistorycom163995%26host%3Dhttp%3A%2F%2Fsirjhswin.tistory.com%26float%3Dleft" swLiveConnect="true"&gt;&lt;/SPAN&gt; &lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;&lt;P&gt;&lt;br /&gt;&lt;/P&gt;&lt;P&gt;이제 오류를 처리할 수 있는 함수를 만들어 봅시다:&lt;/P&gt;&lt;P&gt;&lt;TABLE class=ex id=table24 cellSpacing=0 width="100%" border=1&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;PRE&gt;function customError($errno, $errstr)&lt;br /&gt; { &lt;br /&gt; echo "&amp;lt;b&amp;gt;Error:&amp;lt;/b&amp;gt; [$errno] $errstr&amp;lt;br /&amp;gt;";&lt;br /&gt; echo "Ending Script";&lt;br /&gt; die();&lt;br /&gt; }&lt;/PRE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;&lt;P&gt;위의 코드는 간단한 에러 핸들링(오류 처리) 함수 입니다.&lt;/P&gt;&lt;P&gt;이 함수가 실행되면, 에러 레벨(오류 수준)과 에러 메시지를 받아오게 됩니다.&lt;/P&gt;&lt;P&gt;&lt;br /&gt;&lt;/P&gt;&lt;P&gt;그리고 나서는 에러 레벨과 메시지를 출력하고 스크립트를 중지 시킵니다.&lt;/P&gt;&lt;P&gt;&lt;br /&gt;&lt;/P&gt;&lt;P&gt;이제 오류를 처리하는 함수를 만들었고&lt;/P&gt;&lt;P&gt;언제 실행되어야 할지 결정해야할 차례군요.&lt;br /&gt;&lt;/P&gt;&lt;P&gt;&lt;br /&gt;&amp;nbsp;&lt;/P&gt;&lt;HR&gt;&lt;H2&gt;&lt;br /&gt;&lt;/H2&gt;&lt;H2&gt;에러 핸들러(오류 처리기) 설정하기&lt;/H2&gt;&lt;P&gt;PHP를 위한 기본 에러 핸들러(오류 처리기)는 내장 오류 처리기 입니다.&lt;/P&gt;&lt;P&gt;스크립트가 실행되는 동안 위의 함수가 기본 에러 핸들러(오류 처리기)가 되도록 만들어 봅시다.&lt;br /&gt;&lt;/P&gt;&lt;P&gt;&lt;br /&gt;&lt;/P&gt;&lt;P&gt;몇 가지 에러에만 적용되도록 에러 핸들러(오류 처리기)를 변경하는게 가능하고, 그러한 방법으로 스크립트가 서로 다른 에러를 서로 다른 방법으로&lt;/P&gt;&lt;P&gt;처리하는게 가능해 집니다.&lt;/P&gt;&lt;P&gt;&lt;br /&gt;&lt;/P&gt;&lt;P&gt;하지만, 이 예제에서는 만들어놓은 커스텀 에러 핸들러(사용자 정의 오류 처리기)를 모든 오류를 처리하도록 사용하도록 해보겠습니다:&lt;/P&gt;&lt;P&gt;&lt;TABLE class=ex id=table25 cellSpacing=0 width="100%" border=1&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;PRE&gt;set_error_handler("customError");&lt;/PRE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;&lt;P&gt;직접 만든 함수가 모든 오류를 처리하길 원했기 때문에&lt;/P&gt;&lt;P&gt;set_error_handler() 에는 오직 하나의 매개변수만 넣으면&lt;/P&gt;&lt;P&gt;됩니다.&lt;/P&gt;&lt;P&gt;&lt;br /&gt;&lt;/P&gt;&lt;P&gt;두번째 매개변수는 에러 레벨을 명기하기 위해 추가될 수 있습니다.&lt;br /&gt;&lt;/P&gt;&lt;P&gt;&lt;br /&gt;&lt;/P&gt;&lt;H2&gt;예제&lt;br /&gt;&lt;/H2&gt;&lt;P&gt;존재하지 않은 변수를 출력하려고 함으로서 에러 핸들러(오류 처리기)를 시험해 보도록 합시다:&lt;/P&gt;&lt;P&gt;&lt;TABLE class=ex id=table26 cellSpacing=0 width="100%" border=1&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;PRE&gt;&amp;lt;?php&lt;br /&gt;//error handler function&lt;br /&gt;function customError($errno, $errstr)&lt;br /&gt; { &lt;br /&gt; echo "&amp;lt;b&amp;gt;Error:&amp;lt;/b&amp;gt; [$errno] $errstr";&lt;br /&gt; }&lt;/PRE&gt;&lt;PRE&gt;//set error handler&lt;br /&gt;set_error_handler("customError");&lt;/PRE&gt;&lt;PRE&gt;//trigger error&lt;br /&gt;echo($test);&lt;br /&gt;?&amp;gt;&lt;/PRE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;&lt;P&gt;&lt;br /&gt;&lt;/P&gt;&lt;P&gt;위 코드의 출력 메시지는 아래와 같은 형태로 나와야 합니다:&lt;/P&gt;&lt;P&gt;&lt;TABLE class=ex id=table27 cellSpacing=0 width="100%" border=1&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;PRE&gt;&lt;B&gt;Custom error:&lt;/B&gt; [8] Undefined variable: test&lt;/PRE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;br /&gt;&lt;/P&gt;&lt;HR&gt;&lt;H2&gt;&lt;br /&gt;&lt;/H2&gt;&lt;H2&gt;오류 발생시키기(Trigger an Error)&lt;/H2&gt;&lt;P&gt;사용자가 데이터를 입력할 수 있는 스크립트에서는, &lt;br /&gt;&lt;/P&gt;&lt;P&gt;불법적인 입력이 발생했을때 오류를 발생시키는 것이 상당히 유용합니다.&lt;/P&gt;&lt;P&gt;PHP에서는, 이걸 trigger_error() 함수를 통해 실행 할 수 있습니다.&lt;br /&gt;&lt;/P&gt;&lt;P&gt;&lt;br /&gt;&lt;/P&gt;&lt;H2&gt;예제&lt;br /&gt;&lt;/H2&gt;&lt;P&gt;이 예제에서는 "test" 변수가 "1"보다 클 경우에 오류가 발생합니다:&lt;/P&gt;&lt;P&gt;&lt;TABLE class=ex id=table32 cellSpacing=0 width="100%" border=1&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;PRE&gt;&amp;lt;?php&lt;br /&gt;$test=2;&lt;br /&gt;if ($test&amp;gt;1)&lt;br /&gt;{&lt;br /&gt;trigger_error("Value must be 1 or below");&lt;br /&gt;}&lt;br /&gt;?&amp;gt;&lt;/PRE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;&lt;P&gt;&lt;br /&gt;&lt;/P&gt;&lt;P&gt;위 코드의 출력 결과는 아래와 같습니다:&lt;/P&gt;&lt;P&gt;&lt;TABLE class=ex id=table33 cellSpacing=0 width="100%" border=1&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;PRE&gt;&lt;B&gt;Notice&lt;/B&gt;: Value must be 1 or below&lt;br /&gt;in &lt;B&gt;C:\webfolder\test.php&lt;/B&gt; on line &lt;B&gt;6&lt;/B&gt;&lt;/PRE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;&lt;P&gt;에러는 스크립트내애서 원하는 곳이라면 어디에서나 발생 시킬 수 있고,&lt;/P&gt;&lt;P&gt;두번째 매개변수를 추가함으로서 어떤 에러 레벨(오류 수준)이 발생되어야&lt;/P&gt;&lt;P&gt;하는지 서술할 수 있습니다.&lt;br /&gt;&lt;/P&gt;&lt;P&gt;&lt;br /&gt;&lt;/P&gt;&lt;P&gt;가능한 에러 타입(오류 형태):&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;E_USER_ERROR - 사용자가 생성한 치명적 런타임 에러. 복구될 수 없는 에러들이 해당. 스크립트의 실행은 중지됨. &lt;LI&gt;E_USER_WARNING - 사용자가 생성한 치명적이지 않은 런타임 경고. 스크립트의 실행은 중지되지 않음. &lt;LI&gt;E_USER_NOTICE - 기본값. 사용자가 생성한 런타임 통지. 오류일수도 있지만, 스크립트가 일반적으로 실행중에도 발생할 수 있는 그런 형태의 에러. &lt;br /&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;H2&gt;&lt;br /&gt;&lt;/H2&gt;&lt;H2&gt;예제&lt;br /&gt;&lt;/H2&gt;&lt;P&gt;이 예제에서는 "test" 변수가 "1" 보다 크면 E_USER_WARNING가 발생하게 됩니다. &lt;br /&gt;&lt;/P&gt;&lt;P&gt;E_USER_WARNING 이 발생하게 되면 &lt;br /&gt;&lt;/P&gt;&lt;P&gt;커스텀 에러 핸들러(사용자 정의 오류 처리기)를 이용하도록 하고&lt;/P&gt;&lt;P&gt;스크립트를 종료시킵니다:&lt;/P&gt;&lt;P&gt;&lt;TABLE class=ex id=table36 cellSpacing=0 width="100%" border=1&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;PRE&gt;&amp;lt;?php&lt;br /&gt;//error handler function&lt;br /&gt;function customError($errno, $errstr)&lt;br /&gt; { &lt;br /&gt; echo "&amp;lt;b&amp;gt;Error:&amp;lt;/b&amp;gt; [$errno] $errstr&amp;lt;br /&amp;gt;";&lt;br /&gt; echo "Ending Script";&lt;br /&gt; die();&lt;br /&gt; }&lt;/PRE&gt;&lt;PRE&gt;//set error handler&lt;br /&gt;set_error_handler("customError",E_USER_WARNING);&lt;/PRE&gt;&lt;PRE&gt;//trigger error&lt;br /&gt;$test=2;&lt;br /&gt;if ($test&amp;gt;1)&lt;br /&gt; {&lt;br /&gt; trigger_error("Value must be 1 or below",E_USER_WARNING);&lt;br /&gt; }&lt;br /&gt;?&amp;gt;&lt;/PRE&gt;&lt;PRE&gt;&amp;nbsp;&lt;/PRE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;&lt;P&gt;&lt;br /&gt;&lt;/P&gt;&lt;P&gt;위 코드의 출력 결과는 아래와 같아야 합니다:&lt;/P&gt;&lt;P&gt;&lt;TABLE class=ex id=table37 cellSpacing=0 width="100%" border=1&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;PRE&gt;&lt;B&gt;Error:&lt;/B&gt; [512] Value must be 1 or below&lt;br /&gt;Ending Script&lt;/PRE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;&lt;P&gt;지금까지 어떻게 자신만의 에러를 만들고, 어떻게 그걸 발생시킬 수 있는지를&lt;/P&gt;&lt;P&gt;보셨습니다. 그럼 이젠, 오류 기록하기에 대해서 보도록 합시다.&lt;br /&gt;&lt;/P&gt;&lt;P&gt;&lt;br /&gt;&lt;/P&gt;&lt;HR&gt;&lt;H2&gt;&lt;br /&gt;&lt;/H2&gt;&lt;H2&gt;오류 기록하기(Error Logging)&lt;/H2&gt;&lt;P&gt;기본적으로 PHP는 php.ini 파일의 error_log 설정값이 어떻게 설정되어&lt;/P&gt;&lt;P&gt;있는지에 기반해서, 에러 로그(Error log)를 서버의 로깅 시스템이나 파일로&lt;/P&gt;&lt;P&gt;보냅니다.&lt;/P&gt;&lt;P&gt;error_log() 함수를 이용함으로서, 에러 로그를 지정된 파일이나&lt;/P&gt;&lt;P&gt;혹은 원격 목적지로 전송하는것이 가능합니다.&lt;/P&gt;&lt;P&gt;&lt;br /&gt;&lt;/P&gt;&lt;P&gt;오류 메시지를 이메일을 통해 여러분 자신에게 전송하는 것은&lt;/P&gt;&lt;P&gt;특정 오류가 발생했는지 알게 될 수 있는 좋은 방법중 하나가&lt;/P&gt;&lt;P&gt;될 수 있습니다.&lt;br /&gt;&lt;/P&gt;&lt;P&gt;&lt;br /&gt;&amp;nbsp;&lt;/P&gt;&lt;H2&gt;이메일(E-Mail)로 오류 메시지 전송하기&lt;br /&gt;&lt;/H2&gt;&lt;P&gt;아래의 예제 에서는 특정 오류가 발생할 경우&lt;/P&gt;&lt;P&gt;에러 메시지가 담겨있는 이메일을 전송한 뒤 스크립트를 종료하도록 합니다:&lt;/P&gt;&lt;P&gt;&lt;TABLE class=ex id=table40 cellSpacing=0 width="100%" border=1&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;PRE&gt;&amp;lt;?php&lt;br /&gt;//error handler function&lt;br /&gt;function customError($errno, $errstr)&lt;br /&gt; { &lt;br /&gt; echo "&amp;lt;b&amp;gt;Error:&amp;lt;/b&amp;gt; [$errno] $errstr&amp;lt;br /&amp;gt;";&lt;br /&gt; echo "Webmaster has been notified";&lt;br /&gt; error_log("Error: [$errno] $errstr",1,&lt;br /&gt; "someone@example.com","From: webmaster@example.com");&lt;br /&gt;}&lt;/PRE&gt;&lt;PRE&gt;//set error handler&lt;br /&gt;set_error_handler("customError",E_USER_WARNING);&lt;/PRE&gt;&lt;PRE&gt;//trigger error&lt;br /&gt;$test=2;&lt;br /&gt;if ($test&amp;gt;1)&lt;br /&gt; {&lt;br /&gt; trigger_error("Value must be 1 or below",E_USER_WARNING);&lt;br /&gt; }&lt;br /&gt;?&amp;gt;&lt;/PRE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;&lt;P&gt;&lt;br /&gt;&lt;/P&gt;&lt;P&gt;위 코드의 출력물은 아래와 같을 겁니다:&lt;/P&gt;&lt;P&gt;&lt;TABLE class=ex id=table42 cellSpacing=0 width="100%" border=1&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;PRE&gt;&lt;B&gt;Error:&lt;/B&gt; [512] Value must be 1 or below&lt;br /&gt;Webmaster has been notified&lt;/PRE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;&lt;P&gt;&lt;br /&gt;&lt;/P&gt;&lt;P&gt;그리고 위의 코드를 통해 받게된 메일 메시지는 아래와 같을 겁니다:&lt;/P&gt;&lt;P&gt;&lt;TABLE class=ex id=table41 cellSpacing=0 width="100%" border=1&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;PRE&gt;Error: [512] Value must be 1 or below&lt;/PRE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;&lt;P&gt;이 방법은 모든 오류에 대해 사용되어서는 안될 것입니다.&lt;/P&gt;&lt;P&gt;보통의 오류들은 PHP의 기본 로깅 시스템을 사용해서 &lt;br /&gt;&lt;/P&gt;&lt;P&gt;서버상에 기록되어야 합니다.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;출처 : &lt;A href="http://sirjhswin.tistory.com/163"&gt;http://sirjhswin.tistory.com/163&lt;/A&gt;&lt;/P&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/960382485960961150-2870240506776288942?l=lovekmg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lovekmg.blogspot.com/feeds/2870240506776288942/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://lovekmg.blogspot.com/2008/10/%ED%8E%8Cphp-%EC%98%A4%EB%A5%98%ED%95%B8%EB%93%A4%EB%A7%81.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/2870240506776288942'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/2870240506776288942'/><link rel='alternate' type='text/html' href='http://lovekmg.blogspot.com/2008/10/%ED%8E%8Cphp-%EC%98%A4%EB%A5%98%ED%95%B8%EB%93%A4%EB%A7%81.html' title='[펌]PHP 오류핸들링'/><author><name>goaltong</name><uri>http://www.blogger.com/profile/16883409882082995900</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-960382485960961150.post-4188618240214659538</id><published>2008-08-31T21:20:00.000-07:00</published><updated>2011-01-11T05:00:08.136-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='유용한링크'/><title type='text'>튜토리얼 모음.</title><content type='html'>링크 : &lt;A href="http://sjlee.egloos.com/4355643"&gt;http://sjlee.egloos.com/4355643&lt;/A&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/960382485960961150-4188618240214659538?l=lovekmg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lovekmg.blogspot.com/feeds/4188618240214659538/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://lovekmg.blogspot.com/2008/08/%ED%8A%9C%ED%86%A0%EB%A6%AC%EC%96%BC-%EB%AA%A8%EC%9D%8C.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/4188618240214659538'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/4188618240214659538'/><link rel='alternate' type='text/html' href='http://lovekmg.blogspot.com/2008/08/%ED%8A%9C%ED%86%A0%EB%A6%AC%EC%96%BC-%EB%AA%A8%EC%9D%8C.html' title='튜토리얼 모음.'/><author><name>goaltong</name><uri>http://www.blogger.com/profile/16883409882082995900</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-960382485960961150.post-7958611793261204390</id><published>2008-08-31T21:14:00.000-07:00</published><updated>2011-01-11T05:00:07.686-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='css switcher'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML+CSS'/><title type='text'>css switcher</title><content type='html'>&lt;P&gt;css를 구조,위치적인 부분이랑 효과,색상적인 부분으로 나눈다...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;참고 - &lt;A href="http://www.csszengarden.com/tr/korean/"&gt;http://www.csszengarden.com/tr/korean/&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/960382485960961150-7958611793261204390?l=lovekmg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lovekmg.blogspot.com/feeds/7958611793261204390/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://lovekmg.blogspot.com/2008/08/css-switcher.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/7958611793261204390'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/7958611793261204390'/><link rel='alternate' type='text/html' href='http://lovekmg.blogspot.com/2008/08/css-switcher.html' title='css switcher'/><author><name>goaltong</name><uri>http://www.blogger.com/profile/16883409882082995900</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-960382485960961150.post-8815265911245183801</id><published>2008-08-28T23:38:00.000-07:00</published><updated>2011-01-11T05:00:07.201-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='HTML+CSS'/><category scheme='http://www.blogger.com/atom/ns#' term='css'/><title type='text'>브라우저에 따른 css 분리 - Conditional comments</title><content type='html'>&lt;P&gt;링크 - 1. &lt;A href="http://www.quirksmode.org/css/condcom.html"&gt;http://www.quirksmode.org/css/condcom.html&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2. &lt;A href="http://havfunnet.tistory.com/41"&gt;http://havfunnet.tistory.com/41&lt;/A&gt;&lt;/P&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/960382485960961150-8815265911245183801?l=lovekmg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lovekmg.blogspot.com/feeds/8815265911245183801/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://lovekmg.blogspot.com/2008/08/%EB%B8%8C%EB%9D%BC%EC%9A%B0%EC%A0%80%EC%97%90-%EB%94%B0%EB%A5%B8-css-%EB%B6%84%EB%A6%AC-conditional-comments.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/8815265911245183801'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/8815265911245183801'/><link rel='alternate' type='text/html' href='http://lovekmg.blogspot.com/2008/08/%EB%B8%8C%EB%9D%BC%EC%9A%B0%EC%A0%80%EC%97%90-%EB%94%B0%EB%A5%B8-css-%EB%B6%84%EB%A6%AC-conditional-comments.html' title='브라우저에 따른 css 분리 - Conditional comments'/><author><name>goaltong</name><uri>http://www.blogger.com/profile/16883409882082995900</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-960382485960961150.post-6987209891233217733</id><published>2008-08-26T18:51:00.000-07:00</published><updated>2011-01-11T05:00:06.791-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='자바스크립트'/><category scheme='http://www.blogger.com/atom/ns#' term='Ajax'/><category scheme='http://www.blogger.com/atom/ns#' term='jquery'/><category scheme='http://www.blogger.com/atom/ns#' term='lib'/><title type='text'>jQuery로 Ajax 개발을 단순화 하기</title><content type='html'>&lt;TABLE cellSpacing=0 cellPadding=0 width="100%" border=0&gt;&lt;TBODY&gt;&lt;TR vAlign=top&gt;&lt;TD width="100%"&gt;&lt;H1&gt;Ajax와 DOM 스크립팅을 쉽게 하는 방법&lt;/H1&gt;&lt;IMG class=display-img height=6 alt="" src="http://www.ibm.com/i/c.gif" width=1&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;TABLE cellSpacing=0 cellPadding=0 width="100%" border=0&gt;&lt;TBODY&gt;&lt;TR vAlign=top&gt;&lt;TD width=10&gt;&lt;IMG height=1 alt="" src="http://www.ibm.com/i/c.gif" width=10&gt;&lt;/TD&gt;&lt;TD width="100%"&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="" src="http://www.ibm.com/i/c.gif" width=10&gt;&lt;/TD&gt;&lt;TD&gt;&lt;TABLE cellSpacing=0 cellPadding=0 width=150 border=0&gt;&lt;TBODY&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="top"&gt;&lt;td width="8"&gt;&lt;img src="//www.ibm.com/i/c.gif" width="8" height="1" alt=""/&gt;&lt;/td&gt;&lt;td width="16"&gt;&lt;img alt="수평출력으로 설정" height="16" src="//www.ibm.com/i/v14/icons/printer.gif" width="16" vspace="3" /&gt;&lt;/td&gt;&lt;td width="122"&gt;&lt;p&gt;&lt;b&gt;&lt;a class="smallplainlink" href="javascript:print()"&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="" src="http://www.ibm.com/i/c.gif" width=8&gt;&lt;/TD&gt;&lt;TD width=122&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;FORM name=email action=https://www.ibm.com/developerworks/secure/email-it.jsp cM1="1"&gt;&lt;SCRIPT language=JavaScript type=text/javascript&gt;&lt;!--document.write('&lt;tr valign="top"&gt;&lt;td width="8"&gt;&lt;img src="//www.ibm.com/i/c.gif" width="8" height="1" alt=""/&gt;&lt;/td&gt;&lt;td width="16"&gt;&lt;img src="//www.ibm.com/i/v14/icons/em.gif" height="16" width="16" vspace="3" alt="이 페이지를 이메일로 보내기" /&gt;&lt;/td&gt;&lt;td width="122"&gt;&lt;p&gt;&lt;a class="smallplainlink" href="javascript:document.email.submit();"&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="" src="http://www.ibm.com/i/c.gif" width=8&gt;&lt;/TD&gt;&lt;TD width=122&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/FORM&gt;&lt;TR vAlign=top&gt;&lt;TD width=8&gt;&lt;FONT color=#5c81a7 size=2&gt;&lt;IMG height=1 alt="" src="http://www.ibm.com/i/c.gif" width=8&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;TD width=122&gt;&lt;P&gt;&amp;nbsp;&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;/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="" src="http://www.ibm.com/i/c.gif" width=3&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="http://www.ibm.com/developerworks/kr/library/x-ajaxjquery.html#author" cmImpressionSent="1"&gt;&lt;FONT color=#5c81a7&gt;Jesse Skinner&lt;/FONT&gt;&lt;/A&gt;, Web Developer, Freelance&lt;br /&gt;&lt;/P&gt;&lt;P&gt;2007 년 9 월 04 일&lt;/P&gt;&lt;BLOCKQUOTE&gt;jQuery는 JavaScript 라이브러리로서 JavaScript™와 Asynchronous JavaScript + XML (Ajax) 프로그래밍을 단순화 하는데 도움이 됩니다. JavaScript 라이브러리와는 달리, jQuery는 복잡한 코드를 간결하게 표현할 수 있는 독특한 철학이 있습니다. jQuery 원리, 기능과 특징을 배우고, 일반적인 Ajax 태스크도 수행하며, 플러그인으로 jQuery를 확장하는 방법도 알아봅니다.&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;&lt;A name=whats-jquery&gt;&lt;SPAN class=atitle&gt;jQuery란 무엇인가?&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;2006년 초, John Resig가 만든 jQuery는 JavaScript 코드로 작업하는 사람들에게는 훌륭한 라이브러리이다. 여러분이 JavaScript 언어 초보자라서 라이브러리가 Document Object Model (DOM) 스크립팅과 Ajax의 복잡성을 다루어주기를 원하든지, 숙련된 JavaScript 구루로서 DOM 스크립팅과 Ajax의 반복성에 지루해졌다면, jQuery가 제격이다. &lt;/P&gt;&lt;P&gt;jQuery는 코드를 단순하고 간결하게 유지한다. 많은 반복 루프와 DOM 스크립팅 라이브러리 호출을 작성할 필요가 없다. jQuery를 사용하면 매우 적은 문자로 표현할 수 있다. &lt;/P&gt;&lt;P&gt;jQuery 철학은 매우 독특하다. 무엇이든 단순하고 재사용 가능한 것으로 유지하기 위해 디자인 되었다. 여러분이 이러한 철학을 이해하고 여기에 편안함을 느낀다면, jQuery가 여러분의 프로그래밍 방식을 충분히 향상시킬 수 있다. &lt;/P&gt;&lt;br /&gt;&lt;TABLE cellSpacing=0 cellPadding=0 width="100%" border=0&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;IMG height=1 alt="" src="http://www.ibm.com/i/v14/rules/blue_rule.gif" width="100%"&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="" src="http://www.ibm.com/i/c.gif" 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="" src="http://www.ibm.com/i/v14/icons/u_bold.gif" width=16 border=0&gt;&lt;br /&gt;&lt;/TD&gt;&lt;TD vAlign=top align=right&gt;&lt;A class=fbox href="http://www.ibm.com/developerworks/kr/library/x-ajaxjquery.html#main" cmImpressionSent="1"&gt;&lt;B&gt;&lt;FONT color=#5c81a7&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=simplification&gt;&lt;SPAN class=atitle&gt;단순화&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;다음은 jQuery가 여러분의 코드에 어떤 영향을 미치는지를 보여주는 예제이다. 페이지의 모든 링크에 클릭 이벤트를 붙이는 것 같이 단순하고 일반적인 것을 수행하려면, 플레인 JavaScript 코드와 DOM 스크립팅을 사용하는 것이 낫다. (&lt;A href="http://www.ibm.com/developerworks/kr/library/x-ajaxjquery.html#list1" cmImpressionSent="1"&gt;&lt;FONT color=#5c81a7&gt;Listing 1&lt;/FONT&gt;&lt;/A&gt;)&lt;/P&gt;&lt;br /&gt;&lt;A name=list1&gt;&lt;B&gt;Listing 1. jQuery 없는 DOM 스크립팅&lt;/B&gt;&lt;/A&gt;&lt;br /&gt;&lt;TABLE cellSpacing=0 cellPadding=0 width="60%" border=0&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class=code-outline&gt;&lt;PRE class=displaycode&gt;                &lt;br /&gt;var external_links = document.getElementById('external_links');&lt;br /&gt;var links = external_links.getElementsByTagName('a');&lt;br /&gt;for (var i=0;i &amp;lt; links.length;i++) {&lt;br /&gt;    var link = links.item(i);&lt;br /&gt;    link.onclick = function() {&lt;br /&gt;        return confirm('You are going to visit: ' + this.href);&lt;br /&gt;    };&lt;br /&gt;}&lt;br /&gt;&lt;/PRE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;br /&gt;&lt;P&gt;&lt;A href="http://www.ibm.com/developerworks/kr/library/x-ajaxjquery.html#list2" cmImpressionSent="1"&gt;&lt;FONT color=#5c81a7&gt;Listing 2&lt;/FONT&gt;&lt;/A&gt;는 같은 기능에 jQuery를 사용한 모습이다.&lt;/P&gt;&lt;br /&gt;&lt;A name=list2&gt;&lt;B&gt;Listing 2. jQuery를 사용한 DOM 스크립팅 &lt;/B&gt;&lt;/A&gt;&lt;br /&gt;&lt;TABLE cellSpacing=0 cellPadding=0 width="60%" border=0&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class=code-outline&gt;&lt;PRE class=displaycode&gt;                &lt;br /&gt;$('#external_links a').click(function() {&lt;br /&gt;    return confirm('You are going to visit: ' + this.href);&lt;br /&gt;});&lt;br /&gt;&lt;/PRE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;br /&gt;&lt;P&gt;놀랍지 않은가? jQuery를 사용하면 복잡하지 않게 코드로 표현하고자 하는 것만 나타낼 수 있다. 엘리먼트를 반복할 필요가 없다. &lt;CODE&gt;click()&lt;/CODE&gt; 함수가 이 모든 것을 관리한다. 또한, 다중 DOM 스크립팅 호출도 필요 없다. 여기에서 필요한 것은 엘리먼트가 어떻게 작동하는지를 설명하는 짧은 스트링이다. &lt;/P&gt;&lt;P&gt;이 코드로 어떻게 작업이 수행되는지를 이해하기는 조금 어렵다. 우선, &lt;CODE&gt;$()&lt;/CODE&gt; 함수가 있어야 한다. 이것은 jQuery에서 가장 강력한 함수이다. 대게, 이 함수를 사용하여 문서에서 엘리먼트를 선택한다. 이 예제에서, 이 함수는 Cascading Style Sheets (CSS) 신택스를 포함하고 있는 스트링으로 전달되고, jQuery는 효율적으로 이 엘리먼트를 찾는다.&lt;/P&gt;&lt;P&gt;CSS 셀렉터의 기본을 이해하고 있다면, 이 신택스가 익숙할 것이다. &lt;A href="http://www.ibm.com/developerworks/kr/library/x-ajaxjquery.html#list2" cmImpressionSent="1"&gt;&lt;FONT color=#5c81a7&gt;Listing 2&lt;/FONT&gt;&lt;/A&gt;에서, &lt;CODE&gt;#external_links&lt;/CODE&gt;는 &lt;CODE&gt;external_links&lt;/CODE&gt;의 &lt;CODE&gt;id&lt;/CODE&gt;를 가진 엘리먼트를 찾는다. &lt;CODE&gt;a&lt;/CODE&gt; 앞에 있는 공간은 jQuery에게 &lt;CODE&gt;external_links&lt;/CODE&gt; 엘리먼트 내의 모든 &lt;CODE&gt;&amp;lt;a&amp;gt;&lt;/CODE&gt; 엘리먼트를 찾도록 명령한다. 영어와 DOM은 장황하지만, CSS에서는 매우 간단하다.&lt;/P&gt;&lt;P&gt;&lt;CODE&gt;$()&lt;/CODE&gt; 함수는 CSS 셀렉터와 매치하는 모든 엘리먼트를 포함하고 있는 jQuery 객체를 리턴한다. &lt;I&gt;jQuery 객체&lt;/I&gt;는 어레이와 비슷하지만, 수 많은 특별한 jQuery 함수들이 포함된다. 예를 들어, &lt;CODE&gt;click&lt;/CODE&gt; 함수를 호출함으로써 클릭 핸들러 함수를 jQuery 객체의 각 엘리먼트에 할당할 수 있다. &lt;/P&gt;&lt;P&gt;또한, 엘리먼트나 엘리먼트의 어레이를 &lt;CODE&gt;$()&lt;/CODE&gt; 함수로 전달하면, 이것은 엘리먼트 주위에 jQuery 객체를 래핑할 것이다. 이 기능을 사용하여 &lt;CODE&gt;window&lt;/CODE&gt; 객체 같은 것에 jQuery 함수를 적용하고 싶을 것이다. 일반적으로 이 함수를 다음과 같이 로드 이벤트에 할당한다. &lt;/P&gt;&lt;TABLE cellSpacing=0 cellPadding=0 width="60%" border=0&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class=code-outline&gt;&lt;PRE class=displaycode&gt;window.onload = function() {&lt;br /&gt;    // do this stuff when the page is done loading&lt;br /&gt;};&lt;br /&gt;&lt;/PRE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;br /&gt;&lt;P&gt;jQuery를 사용하면, 같은 코드도 다음과 같이 된다. &lt;/P&gt;&lt;TABLE cellSpacing=0 cellPadding=0 width="60%" border=0&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class=code-outline&gt;&lt;PRE class=displaycode&gt;$(window).load(function() {&lt;br /&gt;    // run this when the whole page has been downloaded&lt;br /&gt;});&lt;br /&gt;&lt;/PRE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;br /&gt;&lt;P&gt;이미 알고 있었겠지만, 윈도우가 로딩하기를 기다리는 일은 매우 지루한 일이다. 전체 페이지가 로딩을 끝마쳐야 하기 때문이다. 여기에는 페이지의 모든 이미지들도 포함된다. 가끔, 이미지 로딩을 먼저 끝내고 싶지만, 대부분의 경우 Hypertext Markup Language (HTML)만 로딩해야 한다. jQuery는 문서에 특별한 &lt;CODE&gt;ready&lt;/CODE&gt; 이벤트를 만듦으로써 이 문제를 해결한다. &lt;/P&gt;&lt;TABLE cellSpacing=0 cellPadding=0 width="60%" border=0&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class=code-outline&gt;&lt;PRE class=displaycode&gt;$(document).ready(function() {&lt;br /&gt;    // do this stuff when the HTML is all ready&lt;br /&gt;});&lt;br /&gt;&lt;/PRE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;br /&gt;&lt;P&gt;이 코드는 &lt;CODE&gt;document&lt;/CODE&gt; 엘리먼트 주위에 jQuery 객체를 만들고, HTML DOM 문서가 준비될 때 함수를 설정하여 인스턴스를 호출한다. 이 함수를 필요한 만큼 호출할 수 있다. 진정한 jQuery 스타일에서, 지름길은 이 함수를 호출하는 것이다. 함수를 &lt;CODE&gt;$()&lt;/CODE&gt; 함수로 전달한다. &lt;/P&gt;&lt;TABLE cellSpacing=0 cellPadding=0 width="60%" border=0&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class=code-outline&gt;&lt;PRE class=displaycode&gt;$(function() {&lt;br /&gt;    // run this when the HTML is done downloading&lt;br /&gt;});&lt;br /&gt;&lt;/PRE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;br /&gt;&lt;P&gt;지금까지, &lt;CODE&gt;$()&lt;/CODE&gt; 함수를 사용하는 세 가지 방법을 설명했다. 네 번째 방법은, 스트링을 사용하여 엘리먼트를 만드는 것이다. 결과는, 그 엘리먼트를 포함하고 있는 jQuery 객체가 된다. &lt;A href="http://www.ibm.com/developerworks/kr/library/x-ajaxjquery.html#list3" cmImpressionSent="1"&gt;&lt;FONT color=#5c81a7&gt;Listing 3&lt;/FONT&gt;&lt;/A&gt;은 문단을 페이지에 추가하는 예제이다. &lt;/P&gt;&lt;br /&gt;&lt;A name=list3&gt;&lt;B&gt;Listing 3. 간단한 문단을 생성하여 붙이기 &lt;/B&gt;&lt;/A&gt;&lt;br /&gt;&lt;TABLE cellSpacing=0 cellPadding=0 width="60%" border=0&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class=code-outline&gt;&lt;PRE class=displaycode&gt;                &lt;br /&gt;$('&amp;lt;p&amp;gt;&amp;lt;/p&amp;gt;')&lt;br /&gt;    .html('Hey World!')&lt;br /&gt;    .css('background', 'yellow')&lt;br /&gt;    .appendTo("body");&lt;br /&gt;&lt;/PRE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;br /&gt;&lt;P&gt;&lt;A name=chaining&gt;이전 예제에서 파악했겠지만, jQuery의 또 다른 강력한 기능은 메소드 체인(&lt;I&gt;method chaining.&lt;/I&gt;)이다. jQuery 객체에 대해 메소드를 호출할 때마다, 이 메소드는 같은 jQuery 객체를 리턴한다. jQuery 객체에 다중 메소드를 호출하고 싶다면 셀렉터를 다시 입력하지 않고 이를 수행할 수 있다. &lt;/P&gt;&lt;TABLE cellSpacing=0 cellPadding=0 width="60%" border=0&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class=code-outline&gt;&lt;PRE class=displaycode&gt;$('#message').css('background', 'yellow').html('Hello!').show();&lt;br /&gt;&lt;/PRE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;br /&gt;&lt;br /&gt;&lt;TABLE cellSpacing=0 cellPadding=0 width="100%" border=0&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;IMG height=1 alt="" src="http://www.ibm.com/i/v14/rules/blue_rule.gif" width="100%"&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="" src="http://www.ibm.com/i/c.gif" 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="" src="http://www.ibm.com/i/v14/icons/u_bold.gif" width=16 border=0&gt;&lt;br /&gt;&lt;/TD&gt;&lt;TD vAlign=top align=right&gt;&lt;A class=fbox href="http://www.ibm.com/developerworks/kr/library/x-ajaxjquery.html#main" cmImpressionSent="1"&gt;&lt;B&gt;&lt;FONT color=#5c81a7&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=simplifying-ajax&gt;&lt;SPAN class=atitle&gt;Ajax로 단순하게!&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;Ajax는 jQuery를 사용하면 더 단순해 질 수 있다. jQuery에는 쉬운 것도 쉽게 복잡한 것도 가능한 단순하게 만드는 유용한 함수들이 많이 있다. &lt;/P&gt;&lt;P&gt;Ajax에서 사용되는 방식은 HTML 청크를 페이지 영역에 로딩하는 것이다. 여러분이 필요로 하는 엘리먼트를 선택하고 &lt;CODE&gt;load()&lt;/CODE&gt; 함수를 사용하는 것이다. 다음은 통계를 업데이트 하는 예제이다. &lt;/P&gt;&lt;TABLE cellSpacing=0 cellPadding=0 width="60%" border=0&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class=code-outline&gt;&lt;PRE class=displaycode&gt;$('#stats').load('stats.html');&lt;br /&gt;&lt;/PRE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;br /&gt;&lt;P&gt;일부 매개변수들을 서버 상의 페이지로 전달해야 할 경우가 종종 있다. jQuery를 사용하면 이는 매우 간단하다. 필요한 메소드가 어떤 것인지에 따라서 &lt;CODE&gt;$.post()&lt;/CODE&gt;와 &lt;CODE&gt;$.get()&lt;/CODE&gt; 중 선택한다. 선택적 데이터 객체와 콜백 함수를 전달할 수도 있다. &lt;A href="http://www.ibm.com/developerworks/kr/library/x-ajaxjquery.html#list4" cmImpressionSent="1"&gt;&lt;FONT color=#5c81a7&gt;Listing 4&lt;/FONT&gt;&lt;/A&gt;는 데이터를 보내고 콜백을 사용하는 예제이다. &lt;/P&gt;&lt;br /&gt;&lt;A name=list4&gt;&lt;B&gt;Listing 4. Ajax를 사용하여 데이터를 페이지로 보내기 &lt;/B&gt;&lt;/A&gt;&lt;br /&gt;&lt;TABLE cellSpacing=0 cellPadding=0 width="60%" border=0&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class=code-outline&gt;&lt;PRE class=displaycode&gt;                &lt;br /&gt;$.post('save.cgi', {&lt;br /&gt;    text: 'my string',&lt;br /&gt;    number: 23&lt;br /&gt;}, function() {&lt;br /&gt;    alert('Your data has been saved.');&lt;br /&gt;});&lt;br /&gt;&lt;/PRE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;br /&gt;&lt;P&gt;복잡한 Ajax 스크립팅을 해야 한다면, &lt;CODE&gt;$.ajax()&lt;/CODE&gt; 함수가 필요하다. &lt;CODE&gt;xml&lt;/CODE&gt;, &lt;CODE&gt;html&lt;/CODE&gt;, &lt;CODE&gt;script&lt;/CODE&gt;, &lt;CODE&gt;json&lt;/CODE&gt;을 지정할 수 있고, 여러분이 바로 사용할 수 있도록 jQuery가 자동으로 콜백 함수에 대한 결과를 준비한다. 또한, &lt;CODE&gt;beforeSend&lt;/CODE&gt;, &lt;CODE&gt;error&lt;/CODE&gt;, &lt;CODE&gt;success&lt;/CODE&gt;, &lt;CODE&gt;complete&lt;/CODE&gt; 콜백을 지정하여 사용자에게 Ajax에 대한 더 많은 피드백을 제공할 수 있다. 게다가, Ajax 요청의 타임아웃이나 페이지의 "최종 변경" 상태를 설정하는 매개변수들도 있다. &lt;A href="http://www.ibm.com/developerworks/kr/library/x-ajaxjquery.html#list5" cmImpressionSent="1"&gt;&lt;FONT color=#5c81a7&gt;Listing 5&lt;/FONT&gt;&lt;/A&gt;는 필자가 언급했던 매개변수를 사용하여 XML 문서를 검색하는 예제이다.&lt;/P&gt;&lt;br /&gt;&lt;A name=list5&gt;&lt;B&gt;Listing 5. $.ajax()를 사용하여 복잡한 Ajax를 단순하게&lt;/B&gt;&lt;/A&gt;&lt;br /&gt;&lt;TABLE cellSpacing=0 cellPadding=0 width="60%" border=0&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class=code-outline&gt;&lt;PRE class=displaycode&gt;                &lt;br /&gt;$.ajax({&lt;br /&gt;    url: 'document.xml',&lt;br /&gt;    type: 'GET',&lt;br /&gt;    dataType: 'xml',&lt;br /&gt;    timeout: 1000,&lt;br /&gt;    error: function(){&lt;br /&gt;        alert('Error loading XML document');&lt;br /&gt;    },&lt;br /&gt;    success: function(xml){&lt;br /&gt;        // do something with xml&lt;br /&gt;    }&lt;br /&gt;});&lt;br /&gt;&lt;/PRE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;br /&gt;&lt;P&gt;콜백 성공으로 XML을 받으면, jQuery를 사용하여 HTML에서 했던 것과 같은 방식으로 XML을 볼 수 있다. 이는 XML 문서 작업을 쉽게 하며 콘텐트와 데이터를 웹 사이트로 쉽게 통합시킨다. &lt;A href="http://www.ibm.com/developerworks/kr/library/x-ajaxjquery.html#list6" cmImpressionSent="1"&gt;&lt;FONT color=#5c81a7&gt;Listing 6&lt;/FONT&gt;&lt;/A&gt;은 리스트 아이템을 XML의 &lt;CODE&gt;&amp;lt;item&amp;gt;&lt;/CODE&gt; 엘리먼트용 웹 페이지에 추가하는 &lt;CODE&gt;success&lt;/CODE&gt; 함수에 대한 확장 모습이다.&lt;/P&gt;&lt;br /&gt;&lt;A name=list6&gt;&lt;B&gt;Listing 6. jQuery를 사용하여 XML 작업하기 &lt;/B&gt;&lt;/A&gt;&lt;br /&gt;&lt;TABLE cellSpacing=0 cellPadding=0 width="60%" border=0&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class=code-outline&gt;&lt;PRE class=displaycode&gt;                &lt;br /&gt;success: function(xml){&lt;br /&gt;    $(xml).find('item').each(function(){&lt;br /&gt;        var item_text = $(this).text();&lt;br /&gt;&lt;br /&gt;        $('&amp;lt;li&amp;gt;&amp;lt;/li&amp;gt;')&lt;br /&gt;            .html(item_text)&lt;br /&gt;            .appendTo('ol');&lt;br /&gt;    });&lt;br /&gt;}&lt;br /&gt;&lt;/PRE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;br /&gt;&lt;br /&gt;&lt;TABLE cellSpacing=0 cellPadding=0 width="100%" border=0&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;IMG height=1 alt="" src="http://www.ibm.com/i/v14/rules/blue_rule.gif" width="100%"&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="" src="http://www.ibm.com/i/c.gif" 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="" src="http://www.ibm.com/i/v14/icons/u_bold.gif" width=16 border=0&gt;&lt;br /&gt;&lt;/TD&gt;&lt;TD vAlign=top align=right&gt;&lt;A class=fbox href="http://www.ibm.com/developerworks/kr/library/x-ajaxjquery.html#main" cmImpressionSent="1"&gt;&lt;B&gt;&lt;FONT color=#5c81a7&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=animation&gt;&lt;SPAN class=atitle&gt;HTML 애니메이션&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;jQuery를 사용하여 기본적인 애니메이션과 효과를 다룰 수 있다. 애니메이션 코드의 중심에는 &lt;CODE&gt;animate()&lt;/CODE&gt; 함수가 있는데, 이는 숫자로 된 CSS 스타일 값을 바꾼다. 예를 들어, 높이, 넓이, 폭, 위치를 움직일 수 있다. 또한, 애니메이션의 속도를 밀리초 또는 사전 정의된 속도(느림, 보통, 빠름)로 지정할 수 있다.&lt;/P&gt;&lt;P&gt;다음은, 엘리먼트의 높이와 넓이를 동시에 움직이게 하는 예제이다. 시작 값은 없고 종료 값만 있다. 시작 값은 엘리먼트의 현재 크기에서 가져온다. 여기에도 콜백 함수를 첨부했다. &lt;/P&gt;&lt;TABLE cellSpacing=0 cellPadding=0 width="60%" border=0&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class=code-outline&gt;&lt;PRE class=displaycode&gt;$('#grow').animate({ height: 500, width: 500 }, "slow", function(){&lt;br /&gt;    alert('The element is done growing!');&lt;br /&gt;});&lt;br /&gt;&lt;/PRE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;br /&gt;&lt;P&gt;jQuery는 빌트인 함수를 사용하여 일반적인 애니메이션도 더욱 쉽게 만든다. &lt;CODE&gt;show()&lt;/CODE&gt;와 &lt;CODE&gt;hide()&lt;/CODE&gt; 엘리먼트를 즉각적으로 또는 지정된 속도로 사용할 수 있다. &lt;CODE&gt;fadeIn()&lt;/CODE&gt;과 &lt;CODE&gt;fadeOut()&lt;/CODE&gt; 또는 &lt;CODE&gt;slideDown()&lt;/CODE&gt;과 &lt;CODE&gt;slideUp()&lt;/CODE&gt;을 사용하여 엘리먼트를 나타나게 하거나 사라지게 할 수 있다. 다음은 네비게이션의 slidedown 예제이다.&lt;/P&gt;&lt;TABLE cellSpacing=0 cellPadding=0 width="60%" border=0&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class=code-outline&gt;&lt;PRE class=displaycode&gt;$('#nav').slideDown('slow');&lt;br /&gt;&lt;/PRE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;br /&gt;&lt;br /&gt;&lt;TABLE cellSpacing=0 cellPadding=0 width="100%" border=0&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;IMG height=1 alt="" src="http://www.ibm.com/i/v14/rules/blue_rule.gif" width="100%"&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="" src="http://www.ibm.com/i/c.gif" 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="" src="http://www.ibm.com/i/v14/icons/u_bold.gif" width=16 border=0&gt;&lt;br /&gt;&lt;/TD&gt;&lt;TD vAlign=top align=right&gt;&lt;A class=fbox href="http://www.ibm.com/developerworks/kr/library/x-ajaxjquery.html#main" cmImpressionSent="1"&gt;&lt;B&gt;&lt;FONT color=#5c81a7&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=dom-and-events&gt;&lt;SPAN class=atitle&gt;DOM 스크립팅과 이벤트 핸들링&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;jQuery는 DOM 스크립팅과 이벤트 핸들링을 단순화하는데 제격이다. DOM의 트래버스와 조작이 쉽고, 이벤트의 첨부, 제거, 호출은 매우 자연스러운 일이며, 직접 수행하는 것보다 에러도 적게 발생한다. &lt;/P&gt;&lt;P&gt;기본적으로 jQuery는 DOM 스크립팅으로 수행하는 일들을 더욱 쉽게 수행할 수 있도록 해준다. 엘리먼트를 생성하고 &lt;CODE&gt;append()&lt;/CODE&gt; 함수를 사용하여 이들을 다른 엘리먼트로 연결할 수 있고, &lt;CODE&gt;clone()&lt;/CODE&gt;을 사용하여 엘리먼트를 중복시키고, 콘텐트를 &lt;CODE&gt;html()&lt;/CODE&gt;로 설정하고, &lt;CODE&gt;empty()&lt;/CODE&gt; 함수로 콘텐트를 삭제하고, &lt;CODE&gt;remove()&lt;/CODE&gt; 함수로 엘리먼트를 삭제하고, &lt;CODE&gt;wrap()&lt;/CODE&gt; 함수를 사용하여 또 다른 엘리먼트로 엘리먼트를 래핑한다.&lt;/P&gt;&lt;P&gt;DOM을 트래버스 함으로써 jQuery 객체의 콘텐트를 변경할 때 여러 함수들을 사용할 수 있다. 엘리먼트의 &lt;CODE&gt;siblings()&lt;/CODE&gt;, &lt;CODE&gt;parents()&lt;/CODE&gt;, &lt;CODE&gt;children()&lt;/CODE&gt;을 사용할 수 있다. 또한, &lt;CODE&gt;next()&lt;/CODE&gt; 또는 &lt;CODE&gt;prev()&lt;/CODE&gt; sibling 엘리먼트도 선택할 수 있다. 아마도 가장 강력한 것은 &lt;CODE&gt;find()&lt;/CODE&gt; 함수일 것이다. jQuery 셀렉터를 사용하여 jQuery 객체의 엘리먼트 종속 관계들을 통해 검색할 수 있다. &lt;/P&gt;&lt;P&gt;이 함수는 &lt;CODE&gt;end()&lt;/CODE&gt; 함수와 사용될 때 더욱 강력해진다. 이 함수는 실행 취소 함수와 비슷하고, &lt;CODE&gt;find()&lt;/CODE&gt; 또는 &lt;CODE&gt;parents()&lt;/CODE&gt; 또는 다른 트래버싱 함수들을 호출하기 전에 가졌던 jQuery 객체로 돌아간다.&lt;/P&gt;&lt;P&gt;메소드 체인과 함께 사용되면, 복잡한 연산도 단순하게 보이게 할 수 있다. &lt;A href="http://www.ibm.com/developerworks/kr/library/x-ajaxjquery.html#list7" cmImpressionSent="1"&gt;&lt;FONT color=#5c81a7&gt;Listing 7&lt;/FONT&gt;&lt;/A&gt;은 로그인 폼을 찾고 이와 관련한 여러 엘리먼트를 조작하는 예제이다. &lt;/P&gt;&lt;br /&gt;&lt;A name=list7&gt;&lt;B&gt;Listing 7. DOM의 트래버스와 조작 &lt;/B&gt;&lt;/A&gt;&lt;br /&gt;&lt;TABLE cellSpacing=0 cellPadding=0 width="60%" border=0&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class=code-outline&gt;&lt;PRE class=displaycode&gt;                &lt;br /&gt;$('form#login')&lt;br /&gt;    // hide all the labels inside the form with the 'optional' class&lt;br /&gt;    .find('label.optional').hide().end()&lt;br /&gt;&lt;br /&gt;    // add a red border to any password fields in the form&lt;br /&gt;    .find('input:password').css('border', '1px solid red').end()&lt;br /&gt;&lt;br /&gt;    // add a submit handler to the form&lt;br /&gt;    .submit(function(){&lt;br /&gt;        return confirm('Are you sure you want to submit?');&lt;br /&gt;    });&lt;br /&gt;&lt;/PRE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;br /&gt;&lt;P&gt;믿을 수 있는지 모르겠지만, 이 예제는, 공백을 사용한 하나의 연결된 코드 라인일 뿐이다. 우선, 로그인 폼을 선택했다. 그리고 나서, 이 안에 선택 레이블을 찾고, 이들을 숨긴 다음, &lt;CODE&gt;end()&lt;/CODE&gt;를 호출하여 폼으로 돌아가게 하였다. 패스워드 필드를 찾았고, 보더를 빨간색으로 한 다음, 다시 &lt;CODE&gt;end()&lt;/CODE&gt;를 호출하여 폼으로 돌아갔다. 마지막으로, 제출 이벤트 핸들러를 폼에 추가했다. 여기에서 특히 재미있는 부분은 jQuery가 모든 쿼리 연산들을 최적화 하기 때문에, 여러분은 모든 것이 서로 잘 연결될 때 엘리먼트를 두 번 찾을 필요가 없다. &lt;/P&gt;&lt;P&gt;공통 이벤트 핸들링은 &lt;CODE&gt;click()&lt;/CODE&gt;, &lt;CODE&gt;submit()&lt;/CODE&gt;, &lt;CODE&gt;mouseover()&lt;/CODE&gt; 같은 함수를 호출하고 여기에 이벤트 핸들러 함수를 전달하는 것만큼 단순하다. 게다가, &lt;CODE&gt;bind('eventname', function(){})&lt;/CODE&gt;을 사용하여 커스텀 이벤트 핸들러를 할당하는 옵션도 있다. &lt;CODE&gt;unbind('eventname')&lt;/CODE&gt;를 사용하여 특정 이벤트를 제거하거나, &lt;CODE&gt;unbind()&lt;/CODE&gt;를 사용하여 모든 이벤트를 제거할 수 있다. 이것과 기타 함수들을 사용하는 다른 방법들은, jQuery 애플리케이션 프로그램 인터페이스(API) 문서를 참조하라. (&lt;A href="http://www.ibm.com/developerworks/kr/library/x-ajaxjquery.html#resources" cmImpressionSent="1"&gt;&lt;FONT color=#5c81a7&gt;참고자료&lt;/FONT&gt;&lt;/A&gt;)&lt;/P&gt;&lt;br /&gt;&lt;TABLE cellSpacing=0 cellPadding=0 width="100%" border=0&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;IMG height=1 alt="" src="http://www.ibm.com/i/v14/rules/blue_rule.gif" width="100%"&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="" src="http://www.ibm.com/i/c.gif" 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="" src="http://www.ibm.com/i/v14/icons/u_bold.gif" width=16 border=0&gt;&lt;br /&gt;&lt;/TD&gt;&lt;TD vAlign=top align=right&gt;&lt;A class=fbox href="http://www.ibm.com/developerworks/kr/library/x-ajaxjquery.html#main" cmImpressionSent="1"&gt;&lt;B&gt;&lt;FONT color=#5c81a7&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=selectors&gt;&lt;SPAN class=atitle&gt;jQuery 셀렉터의 힘 활용하기&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE&gt;#myid&lt;/CODE&gt; 같은 아이디 또는 &lt;CODE&gt;div.myclass&lt;/CODE&gt; 같은 클래스 이름으로 엘리먼트를 선택한다. 하지만, jQuery는 하나의 셀렉터에서 거의 모든 엘리먼트 조합을 선택할 수 있도록 하는 복잡하고도 완벽한 셀렉터 신택스를 갖고 있다. &lt;/P&gt;&lt;P&gt;jQuery의 셀렉터 신택스는 CSS3과 XPath에 기반하고 있다. CSS3과 XPath 신택스를 더욱 잘 안다면, jQuery 사용이 더욱 수월해진다. CSS와 XPath를 포함하여 jQuery 셀렉터의 전체 리스트를 보려면 &lt;A href="http://www.ibm.com/developerworks/kr/library/x-ajaxjquery.html#resources" cmImpressionSent="1"&gt;&lt;FONT color=#5c81a7&gt;참고자료&lt;/FONT&gt;&lt;/A&gt; 섹션을 참조하라.&lt;/P&gt;&lt;P&gt;CSS3에는 모든 브라우저가 지원하지 않는 신택스가 포함되어 있기 때문에, 이를 자주 볼 수 없다. 하지만, jQuery에서 CSS3을 사용하여 엘리먼트를 선택한다. jQuery는 고유의 커스텀 셀렉터 엔진을 갖고 있다. 예를 들어, 테이블의 모든 빈 컬럼 안에 대시(dash)를 추가하려면, &lt;CODE&gt;:empty&lt;/CODE&gt; pseudo-selector를 사용한다. &lt;/P&gt;&lt;TABLE cellSpacing=0 cellPadding=0 width="60%" border=0&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class=code-outline&gt;&lt;PRE class=displaycode&gt;$('td:empty').html('-');&lt;br /&gt;&lt;/PRE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;br /&gt;&lt;P&gt;특정 클래스를 갖고 &lt;B&gt;있지 않은&lt;/B&gt; 모든 엘리먼트를 찾는다면? CSS3은 이를 위한 신택스도 있다. &lt;CODE&gt;:not&lt;/CODE&gt; pseudo-selector를 사용하는 것이다. 다음은 &lt;CODE&gt;required&lt;/CODE&gt;의 클래스를 갖고 있지 않은 모든 인풋을 숨기는 방법이다.&lt;/P&gt;&lt;TABLE cellSpacing=0 cellPadding=0 width="60%" border=0&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class=code-outline&gt;&lt;PRE class=displaycode&gt;$('input:not(.required)').hide();&lt;br /&gt;&lt;/PRE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;br /&gt;&lt;P&gt;또한, CSS에서처럼 다중 셀렉터를 콤마를 사용하여 하나로 연결시킬 수 있다. 다음은 이 페이지에서 모든 리스트 유형들을 동시에 숨기는 예제이다.&lt;/P&gt;&lt;TABLE cellSpacing=0 cellPadding=0 width="60%" border=0&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class=code-outline&gt;&lt;PRE class=displaycode&gt;$('ul, ol, dl').hide();&lt;br /&gt;&lt;/PRE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;br /&gt;&lt;P&gt;XPath는 하나의 문서에서 엘리먼트를 찾는 강력한 신택스이다. CSS와는 다르며, CSS로 수행할 수 없는 몇 가지 일을 수행할 수 있다. 보더를 모든 체크 박스의 부모 엘리먼트에 추가하려면, XPath의 &lt;CODE&gt;/..&lt;/CODE&gt; 신택스를 사용할 수 있다.&lt;/P&gt;&lt;TABLE cellSpacing=0 cellPadding=0 width="60%" border=0&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class=code-outline&gt;&lt;PRE class=displaycode&gt;$("input:checkbox/..").css('border', '1px solid #777');&lt;br /&gt;&lt;/PRE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;br /&gt;&lt;P&gt;가독성 있는 테이블을 만들려면, 다른 클래스 이름을 테이블의 모든 짝수 또는 홀수 행에 붙인다. 이를 다른 말로 테이블의 스트라이핑(&lt;I&gt;striping&lt;/I&gt;)이라고 한다. jQuery를 사용하면 &lt;CODE&gt;:odd&lt;/CODE&gt; pseudo-selector 덕택에 쉽게 수행할 수 있다. 아래 예제는 테이블의 모든 홀수 행의 백그라운드를 &lt;CODE&gt;striped&lt;/CODE&gt; 클래스를 사용하여 변경한다.&lt;/P&gt;&lt;TABLE cellSpacing=0 cellPadding=0 width="60%" border=0&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class=code-outline&gt;&lt;PRE class=displaycode&gt;$('table.striped &amp;gt; tr:odd').css('background', '#999999');&lt;br /&gt;&lt;/PRE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;br /&gt;&lt;P&gt;jQuery 셀렉터로 코드를 어느 정도 단순화 할 수 있는지를 보았다. 어떤 엘리먼트를 선택하든지 간에, 하나의 jQuery 셀렉터를 사용하여 이를 정의하는 방법도 찾을 수 있다. &lt;/P&gt;&lt;br /&gt;&lt;TABLE cellSpacing=0 cellPadding=0 width="100%" border=0&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;IMG height=1 alt="" src="http://www.ibm.com/i/v14/rules/blue_rule.gif" width="100%"&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="" src="http://www.ibm.com/i/c.gif" 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="" src="http://www.ibm.com/i/v14/icons/u_bold.gif" width=16 border=0&gt;&lt;br /&gt;&lt;/TD&gt;&lt;TD vAlign=top align=right&gt;&lt;A class=fbox href="http://www.ibm.com/developerworks/kr/library/x-ajaxjquery.html#main" cmImpressionSent="1"&gt;&lt;B&gt;&lt;FONT color=#5c81a7&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=plugins&gt;&lt;SPAN class=atitle&gt;플러그인으로 jQuery 확장하기&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;대부분의 소프트웨어와는 달리, jQuery용 플러그인 작성은 복잡한 API를 사용해야 하는 힘든 일이 아니다. 사실, jQuery 플러그인은 작성하기가 쉬워서 몇 가지만 작성하면 코드를 더욱 단순하게 유지할 수 있다. 다음은 여러분이 작성할 수 있는 가장 기본적인 jQuery 플러그인이다. &lt;/P&gt;&lt;TABLE cellSpacing=0 cellPadding=0 width="60%" border=0&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class=code-outline&gt;&lt;PRE class=displaycode&gt;$.fn.donothing = function(){&lt;br /&gt;    return this;&lt;br /&gt;};&lt;br /&gt;&lt;/PRE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;br /&gt;&lt;P&gt;단순하지만, 이 플러그인은 약간의 설명이 필요하다. 우선, 함수를 모든 jQuery 객체에 추가하려면, 여기에 &lt;CODE&gt;$.fn&lt;/CODE&gt;을 할당하고, 이 함수는 &lt;CODE&gt;this&lt;/CODE&gt; (jQuery 객체)를 리턴하여 이것이 &lt;A href="http://www.ibm.com/developerworks/kr/library/x-ajaxjquery.html#chaining" cmImpressionSent="1"&gt;&lt;FONT color=#5c81a7&gt;메소드 체인&lt;/FONT&gt;&lt;/A&gt;을 깨트리지 않도록 해야 한다. &lt;/P&gt;&lt;P&gt;이 예제를 기반으로 쉽게 구현할 수 있다. &lt;CODE&gt;css('background')&lt;/CODE&gt;를 사용하는 대신 플러그인을 작성하여 백그라운드를 바꾸려면, 다음을 사용한다.&lt;/P&gt;&lt;TABLE cellSpacing=0 cellPadding=0 width="60%" border=0&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class=code-outline&gt;&lt;PRE class=displaycode&gt;$.fn.background = function(bg){&lt;br /&gt;    return this.css('background', bg);&lt;br /&gt;};&lt;br /&gt;&lt;/PRE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;br /&gt;&lt;P&gt;&lt;CODE&gt;css()&lt;/CODE&gt;에서 값을 리턴할 뿐이다. 이것은 이미 jQuery 객체를 리턴하기 때문이다. 따라서, 메소드 체인은 여전이 잘 작동한다. &lt;/P&gt;&lt;P&gt;여러분은 반복 작업이 있을 경우에 jQuery 플러그인을 사용하기 바란다. 예를 들어, 같은 일을 여러 번 수행하기 위해 &lt;CODE&gt;each()&lt;/CODE&gt; 함수를 사용하고 있다면 플러그인을 사용해도 된다. &lt;/P&gt;&lt;P&gt;jQuery 플러그인을 작성이 쉽기 때문에, 여러분이 사용할 수 있는 것도 수백 가지나 존재한다. jQuery는 탭, 곡선형 코너, 슬라이드 쇼, 툴 팁, 날짜 셀렉터, 기타 여러분이 상상하고 있는 모든 것을 위한 플러그인이 있다. 플러그인 리스트는 &lt;A href="http://www.ibm.com/developerworks/kr/library/x-ajaxjquery.html#resources" cmImpressionSent="1"&gt;&lt;FONT color=#5c81a7&gt;참고자료&lt;/FONT&gt;&lt;/A&gt; 섹션을 참조하기 바란다.&lt;/P&gt;&lt;P&gt;가장 복잡하고 광범위하게 사용되는 플러그인은 Interface이다. 이것은 정렬, 드래그&amp;amp;드롭 기능, 복합 효과, 기타 복잡한 사용자 인터페이스(UI)를 핸들하는 애니메이션 플러그인이다. Interface가 jQuery를 위한 것이라면 Prototype에는 Scriptaculous가 있다. &lt;/P&gt;&lt;P&gt;또한 Form 플러그인도 대중적이고 유용하다. 이것으로 Ajax를 사용하여 백그라운드에서 폼을 쉽게 제출할 수 있다. 이 플러그인은 폼의 제출 이벤트를 하이재킹 하고, 다른 인풋 필드를 찾고, 이들을 사용하여 Ajax 호출을 구현하는 상황에 사용된다. &lt;/P&gt;&lt;br /&gt;&lt;TABLE cellSpacing=0 cellPadding=0 width="100%" border=0&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;IMG height=1 alt="" src="http://www.ibm.com/i/v14/rules/blue_rule.gif" width="100%"&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="" src="http://www.ibm.com/i/c.gif" 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="" src="http://www.ibm.com/i/v14/icons/u_bold.gif" width=16 border=0&gt;&lt;br /&gt;&lt;/TD&gt;&lt;TD vAlign=top align=right&gt;&lt;A class=fbox href="http://www.ibm.com/developerworks/kr/library/x-ajaxjquery.html#main" cmImpressionSent="1"&gt;&lt;B&gt;&lt;FONT color=#5c81a7&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=life-after-jquery&gt;&lt;SPAN class=atitle&gt;jQuery 이후의 삶&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;jQuery를 사용하여 할 수 있는 것의 표면적인 부분만 다루었다. jQuery는 기분 좋게 사용할 수 있고 새로운 트릭이나 기능도 자연스럽다. jQuery는 JavaScript와 Ajax 프로그래밍을 매우 단순화 시킬 수 있다. 새로운 것을 배울 때마다 코드는 더욱 단순해 진다. &lt;/P&gt;&lt;P&gt;jQuery를 배운 후에, 필자는 JavaScript 언어로 하는 프로그래밍에 재미를 발견했다. 지루한 부분은 알아서 처리되기 때문에, 필자는 중요한 코딩 부분에만 집중하면 된다. jQuery를 사용하게 되면서 지난날 &lt;CODE&gt;for&lt;/CODE&gt; 루프를 작성하던 때는 거의 기억이 나지 않는다. 심지어, 다른 JavaScript 라이브러리를 사용할 생각도 거의 하지 않는다. jQuery는 JavaScript 프로그래밍 방식을 진정으로 바꿔 놓았다. &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;&lt;A href="http://www.ibm.com/developerworks/kr/xml" cmImpressionSent="1"&gt;&lt;FONT color=#5c81a7&gt;한국 developerWorks XML 존&lt;/FONT&gt;&lt;/A&gt;: 한국 developerWorks XML 존에서 XML 관련 자료를 더 볼 수 있다.&lt;br /&gt;&lt;br /&gt;&lt;LI&gt;&lt;A href="http://docs.jquery.com/Main_Page" target=new cmImpressionSent="1"&gt;&lt;FONT color=#996699&gt;jQuery API 문서&lt;/FONT&gt;&lt;/A&gt; &lt;br /&gt;&lt;br /&gt;&lt;LI&gt;&lt;A href="http://docs.jquery.com/Tutorials" target=new cmImpressionSent="1"&gt;&lt;FONT color=#996699&gt;jQuery 튜토리얼&lt;/FONT&gt;&lt;/A&gt; &lt;br /&gt;&lt;br /&gt;&lt;LI&gt;&lt;A href="http://visualjquery.com/" target=new cmImpressionSent="1"&gt;&lt;FONT color=#5c81a7&gt;Visual jQuery&lt;/FONT&gt;&lt;/A&gt;: jQuery API 레퍼런스.&lt;br /&gt;&lt;br /&gt;&lt;LI&gt;&lt;A href="http://www.ibm.com/certify/certs/xmsdreltop.shtml" target=new cmImpressionSent="1"&gt;&lt;FONT color=#5c81a7&gt;IBM XML 인증&lt;/FONT&gt;&lt;/A&gt;: XML 분야의 IBM 인증 개발자에 도전하십시오.&lt;br /&gt;&lt;br /&gt;&lt;LI&gt;&lt;A href="http://www.ibm.com/developerworks/kr/views/xml/articles.jsp" cmImpressionSent="1"&gt;&lt;FONT color=#5c81a7&gt;XML 기술 자료&lt;/FONT&gt;&lt;/A&gt;: 한국 developerWorks XML 존에서 다양한 기술 자료, 팁, 튜토리얼, 표준, IBM Redbook 참고하기.&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="http://jquery.com/" target=new cmImpressionSent="1"&gt;&lt;FONT color=#996699&gt;jQuery&lt;/FONT&gt;&lt;/A&gt;: jQuery 메인 사이트를 방문해 소프코드 다운로드 하기.&lt;br /&gt;&lt;br /&gt;&lt;LI&gt;&lt;A href="http://docs.jquery.com/DOM/Traversing/Selectors" target=new cmImpressionSent="1"&gt;&lt;FONT color=#5c81a7&gt;Selectors&lt;/FONT&gt;&lt;/A&gt;: CSS3과 XPath 셀렉터를 포함하여 jQuery에 사용되는 모든 셀렉터들.&lt;br /&gt;&lt;br /&gt;&lt;LI&gt;&lt;A href="http://docs.jquery.com/Plugins" target=new cmImpressionSent="1"&gt;&lt;FONT color=#5c81a7&gt;jQuery 플러그인&lt;/FONT&gt;&lt;/A&gt; &lt;br /&gt;&lt;br /&gt;&lt;LI&gt;&lt;A href="http://interface.eyecon.ro/" target=new cmImpressionSent="1"&gt;&lt;FONT color=#5c81a7&gt;Interface&lt;/FONT&gt;&lt;/A&gt; &lt;br /&gt;&lt;br /&gt;&lt;LI&gt;&lt;A href="http://jquery.com/dev/svn/trunk/plugins/form/form.js?format=txt" target=new cmImpressionSent="1"&gt;&lt;FONT color=#5c81a7&gt;Form 플러그인&lt;/FONT&gt;&lt;/A&gt; &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="http://jquery.com/blog/" target=new cmImpressionSent="1"&gt;&lt;FONT color=#5c81a7&gt;jQuery 블로그&lt;/FONT&gt;&lt;/A&gt;: : 공식 jQuery 블로그에서 정규 뉴스와 업데이트 확인하기.&lt;br /&gt;&lt;br /&gt;&lt;LI&gt;&lt;A href="http://www.ibm.com/developerworks/kr/forums/dw_krxforums.jsp" cmImpressionSent="1"&gt;&lt;FONT color=#5c81a7&gt;XML 존 토론 포럼&lt;/FONT&gt;&lt;/A&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="100%" border=0&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD colSpan=3&gt;&lt;IMG height=5 alt="" src="http://www.ibm.com/i/c.gif" width="100%"&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR vAlign=top align=left&gt;&lt;TD&gt;&lt;P&gt;&lt;IMG height=80 alt="Photo of Jesse Skinner" src="http://www.ibm.com/developerworks/i/p-jskinner.jpg" width=64 align=left valign="top"&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;IMG height=5 alt="" src="http://www.ibm.com/i/c.gif" width=4&gt;&lt;/TD&gt;&lt;TD width="100%"&gt;&lt;P&gt;Jesse Skinner는 JavaScript와 CSS 전문 프리랜스 웹 개발자이다. 캐나다와 독일이 주 활동 무대이며, CSS 브라우저 호환성 미스터리를 풀고 있다. Jesse에 대해 더욱 알고 싶거나 웹 개발에 대한 글을 더 읽고 싶다면, 블로그 &lt;A href="http://www.thefutureoftheweb.com/" target=new cmImpressionSent="1"&gt;&lt;FONT color=#5c81a7&gt;The Future of the Web&lt;/FONT&gt;&lt;/A&gt;를 방문해 보라.&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;br /&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;출처 : &lt;A href="http://www.ibm.com/developerworks/kr/library/x-ajaxjquery.html"&gt;http://www.ibm.com/developerworks/kr/library/x-ajaxjquery.html&lt;/A&gt;&lt;/P&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/960382485960961150-6987209891233217733?l=lovekmg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lovekmg.blogspot.com/feeds/6987209891233217733/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://lovekmg.blogspot.com/2008/08/jquery%EB%A1%9C-ajax-%EA%B0%9C%EB%B0%9C%EC%9D%84-%EB%8B%A8%EC%88%9C%ED%99%94-%ED%95%98%EA%B8%B0.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/6987209891233217733'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/6987209891233217733'/><link rel='alternate' type='text/html' href='http://lovekmg.blogspot.com/2008/08/jquery%EB%A1%9C-ajax-%EA%B0%9C%EB%B0%9C%EC%9D%84-%EB%8B%A8%EC%88%9C%ED%99%94-%ED%95%98%EA%B8%B0.html' title='jQuery로 Ajax 개발을 단순화 하기'/><author><name>goaltong</name><uri>http://www.blogger.com/profile/16883409882082995900</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-960382485960961150.post-3698165011130083518</id><published>2008-08-26T18:05:00.000-07:00</published><updated>2011-01-11T05:00:06.303-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='스크랩게시물'/><category scheme='http://www.blogger.com/atom/ns#' term='Javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='자바스크립트'/><category scheme='http://www.blogger.com/atom/ns#' term='기타'/><title type='text'>내가 prototype에서 jQuery로 옮긴이유.</title><content type='html'>이 글은 번역한 것입니다. 원문은 &lt;A href="http://www.quarkruby.com/2007/11/6/why-i-moved-from-prototype-to-jquery" target=_blank&gt;여기&lt;/A&gt;에서 확인하실 수 있습니다. 겸손한 자바스크립트를 구현하기엔 jQuery가 가장 적절하고 바람직하다는 생각에 옮겨봅니다. 저도 Quark씨처럼 당장의 편리함을 따른 것보다 jQuery의 철학을 따르는 것이 더 바람직하다고 생각합니다. 항상 디커플링을 지향하는 것이 생산성 문제를 개선하고 미래에 적응하는 것을 가능케 하기 때문입니다.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;오역된 부분이 있을 지도 모르겠습니다.-_-;; 교과서 영어가 아니라-_-;; 나름대로 의역을 하긴 했는데 어렵네요.&lt;br /&gt;&lt;br /&gt;----여기부터는 번역입니다.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;jQuery는 &lt;A href="http://en.wikipedia.org/wiki/Unobtrusive_JavaScript" target=_blank&gt;겸손한(unobtrusive) 자바스크립트&lt;/A&gt;를 위한 자바스크립트 라이브러리다. jQuery는 태생적으로 Behavior driven development 방법론을 지향하고 CSS 셀렉터를 사용하여 HTML 문서를 훓는 방법(traversing)을 방법에 기반한다. 반면에 Prototype은 태생적으로 Class driven development를 지향하고 쉽게 자바스크립트 개발할 수 있도록 해준다. Prototype 라이브러리는 Ruby on Rails에서 아주 잘 지원되고 많은 헬퍼 함수들을 가지고 있다.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;세달 전에 마음을 jQuery로 굳히기까지 나는 항상 Prototype 라이브러리를 사용해왔다. jQuery은 나를 매우 고무시겼다. 여기에 그 이유가 있다.&lt;br /&gt;&lt;br /&gt;&lt;SPAN style="FONT-WEIGHT: bold"&gt;&amp;nbsp; 1. BDD(Behavior driven development)&lt;/SPAN&gt;&lt;br /&gt;&amp;nbsp; jQuery를 사용하면 CSS로 HTML 엘리먼트의 스타일을 정의하는 것 처럼 HTML 엘리먼트의 행동들을 분리하여 정의할 수 있다. 클릭했을 때 경고창을 띄우는 예제를 보자.&lt;br /&gt;&lt;br /&gt;&lt;BLOCKQUOTE&gt;&lt;PRE style="BACKGROUND: rgb(255,255,255) 0% 50%; COLOR: rgb(0,0,0); -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial"&gt;$&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;(&lt;/SPAN&gt;element&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;)&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;.&lt;/SPAN&gt;click&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;(&lt;/SPAN&gt;&lt;SPAN style="FONT-WEIGHT: bold; COLOR: rgb(128,0,0)"&gt;function&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;)&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,0,128)"&gt;{&lt;/SPAN&gt;&lt;br /&gt;  alert&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,230)"&gt;"warning"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;)&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,0,128)"&gt;;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style="COLOR: rgb(128,0,128)"&gt;}&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;)&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,0,128)"&gt;;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;/BLOCKQUOTE&gt;&lt;br /&gt;&amp;nbsp; 이제 복잡한 예제를 살펴보자. speciallinks 클래스들의 모든 엘리먼트에 다음과 같은 행위를 집어넣자.&lt;br /&gt;&amp;nbsp; &amp;nbsp; 1. href를 "javascript:void(0);"로 변경하고&lt;br /&gt;&amp;nbsp; &amp;nbsp; 2. 클릭시 로그를 남기고&lt;br /&gt;&amp;nbsp; &amp;nbsp; 3. onhover시(mouse over시) 배경색을 변경한다.&lt;br /&gt;&lt;br /&gt;&lt;BLOCKQUOTE&gt;&lt;PRE style="BACKGROUND: rgb(255,255,255) 0% 50%; COLOR: rgb(0,0,0); -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial"&gt;$&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,230)"&gt;"div.speciallinks"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;)&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;.&lt;/SPAN&gt;attr&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,230)"&gt;"href"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;,&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,230)"&gt;"javascript:void(0)"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;)&lt;/SPAN&gt;&lt;br /&gt;  &lt;SPAN style="COLOR: rgb(128,128,48)"&gt;.&lt;/SPAN&gt;click&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;(&lt;/SPAN&gt;&lt;SPAN style="FONT-WEIGHT: bold; COLOR: rgb(128,0,0)"&gt;function&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;)&lt;/SPAN&gt; &lt;SPAN style="COLOR: rgb(128,0,128)"&gt;{&lt;/SPAN&gt;console&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;.&lt;/SPAN&gt;&lt;SPAN style="FONT-WEIGHT: bold; COLOR: rgb(128,0,0)"&gt;log&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,230)"&gt;"div.speciallinks clicked"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;)&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,0,128)"&gt;;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,0,128)"&gt;}&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;)&lt;/SPAN&gt;&lt;br /&gt;  &lt;SPAN style="COLOR: rgb(128,128,48)"&gt;.&lt;/SPAN&gt;hover&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;(&lt;/SPAN&gt;&lt;SPAN style="FONT-WEIGHT: bold; COLOR: rgb(128,0,0)"&gt;function&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;)&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,0,128)"&gt;{&lt;/SPAN&gt;$&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;(&lt;/SPAN&gt;&lt;SPAN style="FONT-WEIGHT: bold; COLOR: rgb(128,0,0)"&gt;this&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;)&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;.&lt;/SPAN&gt;addClass&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,230)"&gt;"hovered"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;)&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,0,128)"&gt;;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,0,128)"&gt;}&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;,&lt;/SPAN&gt;&lt;br /&gt;       &lt;SPAN style="FONT-WEIGHT: bold; COLOR: rgb(128,0,0)"&gt;function&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;)&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,0,128)"&gt;{&lt;/SPAN&gt;$&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;(&lt;/SPAN&gt;&lt;SPAN style="FONT-WEIGHT: bold; COLOR: rgb(128,0,0)"&gt;this&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;)&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;.&lt;/SPAN&gt;removeClass&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,230)"&gt;"hovered"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;)&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,0,128)"&gt;;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,0,128)"&gt;}&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;)&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,0,128)"&gt;;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;/BLOCKQUOTE&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;SPAN style="FONT-WEIGHT: bold"&gt; 2. MVC + J&lt;/SPAN&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; MVC 프레임웍은 웹 개발 환경을 Model-View-Controller로 나누었다. MVC 프레임워크에서 뷰는 HTML, CSS, Javascript의 부분으로 나누어지고 GUI 개발은 이 세부분이 하나로 결합하여 완성된다. 게다가 Ruby on Rails에서의 Prototype 라이브러리는 HTML과 JavaScript도 함께 합쳐버린다(meshup). 뷰를 개발하면서 JavaScript를 분리하는 BDD 방법론을 따르려 한다면 jQuery가 매우 적절하다. 나는 Ajax에서 MVC + J가 매우 강력하다는 것을 깨닭았다.&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; 나는 JQuery를 사용하여 나의 HTML 파일을 매우 깨끗하게 만들었고 모든 JavaScript 코드를 .js에 넣음으로써 HTML 엘리먼트의 행위를 모두 .js 파일에 정의하였다.&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold"&gt;3. 액션 체인(Chaining of actions)&lt;/SPAN&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; 액션 체인은 DRY 원칙을 따를 뿐만 아니라 JavaScript 코드의 가독성을 증가시킨다. 만약 엘리먼트에 오퍼레이션들을 삽입하려면 다음과 같이 할 수 있다. &lt;br /&gt;&lt;br /&gt;&lt;BLOCKQUOTE&gt;&lt;PRE style="BACKGROUND: rgb(255,255,255) 0% 50%; COLOR: rgb(0,0,0); -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial"&gt;&lt;PRE&gt;$&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,230)"&gt;"div.message"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;)&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;.&lt;/SPAN&gt;show&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;)&lt;/SPAN&gt;&lt;br /&gt;  &lt;SPAN style="COLOR: rgb(128,128,48)"&gt;.&lt;/SPAN&gt;append&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,230)"&gt;"&amp;lt;p&amp;gt;Action has been executed successfully"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;)&lt;/SPAN&gt;&lt;br /&gt;  &lt;SPAN style="COLOR: rgb(128,128,48)"&gt;.&lt;/SPAN&gt;addClass&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,230)"&gt;"flash"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;)&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,0,128)"&gt;;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style="COLOR: rgb(105,105,105)"&gt;// 각 함수는 라인으로 구분��여 사용한다.&lt;/SPAN&gt;&lt;/PRE&gt;&lt;/PRE&gt;&lt;/BLOCKQUOTE&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; 이 것은 jQuery의 모든 메소드가 query 객체를 반환하기 때문에 가능하다. 그리고 뒤따르는 메소드들이 선택된 HTML 엘리먼트에 체인 형식으로 적용된다. &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold"&gt;4. CSS 셀렉터 문제(CSS Selector rocks)&lt;/SPAN&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; CSS 셀럭터 HTML DOM을 사용하기에 매우 강력한 도구이다. jQuery는 HTML 문서의 엘리먼트를 식별하기 위해 CSS 셀러터를 이용하고 이를 위해 HTML 태그의 id 속성을 관리해야 하는 지루한 작업을 회피하게 해준다. 대부분의 id 속성은 CSS 셀렉터를 올바르게 사용하여 회피할 수 있다. Prototype의 $$ 함수는 CSS 셀렉터를 지원하지만 CSS 셀렉터의 능력을 모두 이끌어내지 못한다. 나는 Prototype에서 id&lt;SPAN id=callbacknestdogfeettistorycom29509 style="FLOAT: right; WIDTH: 1px; HEIGHT: 1px"&gt;&lt;EMBED id=bootstrapperdogfeettistorycom29509 src=http://dogfeet.tistory.com/plugin/CallBack_bootstrapperSrc width=1 height=1 type=application/x-shockwave-flash allowscriptaccess="always" wmode="transparent" EnableContextMenu="false" FlashVars="&amp;amp;callbackId=dogfeettistorycom29509&amp;amp;host=http://dogfeet.tistory.com&amp;amp;embedCodeSrc=http%3A%2F%2Fdogfeet.tistory.com%2Fplugin%2FCallBack_bootstrapper%3F%26src%3Dhttp%3A%2F%2Fcfs.tistory.com%2Fblog%2Fplugins%2FCallBack%2Fcallback%26id%3D29%26callbackId%3Ddogfeettistorycom29509%26destDocId%3Dcallbacknestdogfeettistorycom29509%26host%3Dhttp%3A%2F%2Fdogfeet.tistory.com%26float%3Dleft" swLiveConnect="true"&gt;&lt;/SPAN&gt; 속성을 사용하는 것이 최선이라는 것을 알게 됐다.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;SPAN style="FONT-WEIGHT: bold"&gt;&amp;nbsp; 5. 엘리먼트의 존재 유무를 검사할 필요가 없다.&lt;/SPAN&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; 프로토타입으로 액션으로 적용하기 전에 항상 엘리먼트가 존재하는지 확인해야 했다. 예를 들어 나는 사용자가 로그인 했을 때만 사용자가 명시한 내용을 보여주고 싶었다. 사용자가 로그인 했다면 렌더링된 페이지에 div{id='user-box'}같은 엘리먼트가 있다는 것을 검사해야 했다. 프로토타입에서는 그렇게 해야 했다.&lt;br /&gt;&lt;br /&gt;&lt;BLOCKQUOTE&gt;&lt;DIV style="OVERFLOW: auto"&gt;&lt;PRE style="BACKGROUND: rgb(255,255,255) 0% 50%; COLOR: rgb(0,0,0); -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial"&gt;&lt;SPAN style="FONT-WEIGHT: bold; COLOR: rgb(128,0,0)"&gt;if&lt;/SPAN&gt; &lt;SPAN style="COLOR: rgb(128,128,48)"&gt;(&lt;/SPAN&gt;$&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,230)"&gt;'user-box'&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;)&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;!=&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(15,77,117)"&gt;null&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;)&lt;/SPAN&gt; &lt;SPAN style="COLOR: rgb(128,0,128)"&gt;{&lt;/SPAN&gt;&lt;br /&gt;    &lt;SPAN style="COLOR: rgb(105,105,105)"&gt;// jQuery에서는 이 if 블럭이 필요없다.&lt;/SPAN&gt;&lt;br /&gt;    $&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,230)"&gt;"user-box"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;)&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;.&lt;/SPAN&gt;style&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;.&lt;/SPAN&gt;backgroundColor &lt;SPAN style="COLOR: rgb(128,128,48)"&gt;=&lt;/SPAN&gt; &lt;SPAN style="COLOR: rgb(0,0,230)"&gt;"red"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,0,128)"&gt;;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style="COLOR: rgb(128,0,128)"&gt;}&lt;/SPAN&gt;&lt;br /&gt;&lt;/PRE&gt;&lt;/DIV&gt;&lt;/BLOCKQUOTE&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold"&gt;6. Aids development process&lt;/SPAN&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; jQuery를 사용하면 HTML 코드가 간결해지고 거의 건드릴 필요가 없다. 나의 웹 디자이너는 쉽게 html과 stylesheet를 수정할 수 있고 Prototype 라이브러리를 몰라도 된다.&lt;br /&gt;&lt;br /&gt;&lt;FONT style="FONT-WEIGHT: bold" size=4&gt;예제들:&lt;/FONT&gt;&lt;br /&gt;&amp;nbsp; 여기에는 jQuery와 프로토타입의 차이점을 강조하는 몇 가지 예제가 있다(물론, 이 코드가 최상의 코드는 아니다).&lt;br /&gt;&lt;br /&gt;&lt;SPAN style="FONT-WEIGHT: bold"&gt;Example1:&lt;/SPAN&gt;&lt;br /&gt;&amp;nbsp;이 Tab 예제는 tabs 클래스에 속하는 3 개의 tab이 있고 id는 각각 tabs1, tabs2, tabs3이다(ids=&amp;gt;["tabs1","tabs2","tabs3"]). 사용자가 "show first tab" 링크를 클릭했을 때 #tab1만 보여진다.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;jQuery의 경우&lt;br /&gt;&lt;br /&gt;&lt;BLOCKQUOTE&gt;&lt;PRE style="BACKGROUND: rgb(255,255,255) 0% 50%; COLOR: rgb(0,0,0); -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial"&gt;$&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,230)"&gt;"div.tabs"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;)&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;.&lt;/SPAN&gt;hide&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;)&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,0,128)"&gt;;&lt;/SPAN&gt;&lt;br /&gt;$&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,230)"&gt;"div#tabs1"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;)&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;.&lt;/SPAN&gt;show&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;)&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,0,128)"&gt;;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;/BLOCKQUOTE&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; Prototype의 경우&lt;br /&gt;&lt;br /&gt;&lt;BLOCKQUOTE&gt;&lt;PRE style="BACKGROUND: rgb(255,255,255) 0% 50%; COLOR: rgb(0,0,0); -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial"&gt;&lt;PRE&gt;$$&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,230)"&gt;"div.tabs"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;)&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;.&lt;/SPAN&gt;invoke&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,230)"&gt;"hide"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;)&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,0,128)"&gt;;&lt;/SPAN&gt;&lt;br /&gt;     &lt;SPAN style="COLOR: rgb(105,105,105)"&gt;//이거��&lt;/SPAN&gt;&lt;br /&gt;$$&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,230)"&gt;"div.tabs"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;)&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;.&lt;/SPAN&gt;each&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;(&lt;/SPAN&gt;&lt;SPAN style="FONT-WEIGHT: bold; COLOR: rgb(128,0,0)"&gt;function&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;(&lt;/SPAN&gt;x&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;)&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,0,128)"&gt;{&lt;/SPAN&gt;&lt;br /&gt;  Element&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;.&lt;/SPAN&gt;hide&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;(&lt;/SPAN&gt;x&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;)&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,0,128)"&gt;;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style="COLOR: rgb(128,0,128)"&gt;}&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;)&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,0,128)"&gt;;&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN style="COLOR: rgb(105,105,105)"&gt;// 그리고 다음과 같은 코드로 마무리한다.&lt;/SPAN&gt;&lt;br /&gt;$&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,230)"&gt;"tabs1"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;)&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;.&lt;/SPAN&gt;show&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;)&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,0,128)"&gt;;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;/PRE&gt;&lt;/BLOCKQUOTE&gt;&lt;br /&gt;&lt;BR style="FONT-WEIGHT: bold"&gt;&lt;SPAN style="FONT-WEIGHT: bold"&gt;Example2:&lt;/SPAN&gt;&lt;br /&gt;엘리먼트의 CSS를 수정하는 예제&lt;br /&gt;&lt;br /&gt;&amp;nbsp; jQuery의 경우&lt;br /&gt;&lt;br /&gt;&lt;BLOCKQUOTE&gt;&lt;PRE style="BACKGROUND: rgb(255,255,255) 0% 50%; COLOR: rgb(0,0,0); -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial"&gt;$&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,230)"&gt;"#user-box"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;)&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;.&lt;/SPAN&gt;css&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,230)"&gt;"background-color"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;,&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,230)"&gt;"red"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;)&lt;/SPAN&gt;&lt;/PRE&gt;&lt;/BLOCKQUOTE&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; Prototype의 경우 &amp;nbsp; &amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;BLOCKQUOTE&gt;&lt;DIV style="OVERFLOW: auto"&gt;&lt;PRE style="BACKGROUND: rgb(255,255,255) 0% 50%; COLOR: rgb(0,0,0); -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial"&gt;&lt;SPAN style="FONT-WEIGHT: bold; COLOR: rgb(128,0,0)"&gt;var&lt;/SPAN&gt; a &lt;SPAN style="COLOR: rgb(128,128,48)"&gt;=&lt;/SPAN&gt; $&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,230)"&gt;"user-box"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;)&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,0,128)"&gt;;&lt;/SPAN&gt;&lt;br /&gt;a&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;.&lt;/SPAN&gt;style&lt;SPAN style="COLOR: rgb(128,128,48)"&gt;.&lt;/SPAN&gt;cssText &lt;SPAN style="COLOR: rgb(128,128,48)"&gt;+=&lt;/SPAN&gt;&lt;br /&gt;       &lt;SPAN style="COLOR: rgb(0,0,230)"&gt;"background-color:red;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,0,128)"&gt;;&lt;/SPAN&gt;&lt;br /&gt;&lt;/PRE&gt;&lt;/DIV&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;br /&gt;Remy Sharp의 발표자료에서 다른 예제들도 볼 수 있다(http://ajaxian.com/archives/prototype-and-jquery-a-code-comparison).&lt;br /&gt;&lt;br /&gt;&lt;SPAN style="FONT-WEIGHT: bold"&gt;Prototype이 좋은 이유&lt;/SPAN&gt;&lt;br /&gt;&amp;nbsp; 1. Ajax 요청에서 div의 내용이 부분적으로 변경돼야 할때 JavaScript 행위는&amp;nbsp; activated/reactivated돼야 한다. jQuery에서는 이를 위한 많은 코드를 만들지 않아도 된다. 하지만 나는 Ajax로 로드된 이 부분을 항상 마음속으로만 새겨야 한다. Prototype에서는 로드된 HTML 엘리먼트들에 관련된 JavaScript 코드가 포함된다. &lt;br /&gt;&amp;nbsp; 2. Ruby on Rails의 Prototype 헬퍼들은 정말 대단하고 JavaScript와 Ajax를 만들때 많은 부분에서 매우 편리하다.&lt;br /&gt;&amp;nbsp; 3. Prototype은 자바스크립에서도 Ruby같은 문법을 사용할 수 있게 해준다. 개발을 쉽고 빠르게 할 수 있도록 배열, 객체 등의 기능을 변경해준다.&lt;br /&gt;&amp;nbsp; 4. jQuery에서는 JavaScrpt 파일이 모두 다운로드되고 DOM 생성된 후에만 엘리먼트의 행위를 사용할 수 있다. 연결이 느릴 때는 기다려야만 하기 때문에 매우 고통스럽다.&lt;br /&gt;&lt;br /&gt;&lt;FONT style="FONT-WEIGHT: bold" size=4&gt;결론:&lt;/FONT&gt;&lt;br /&gt;&amp;nbsp; jQuery와 Prototype은 둘 다 매우 굉장하다. 나는 더 적은 코드로 더 많은 일을 하면서 직관적이고 겸손하게 유지해야 한다는 jQuery의 철학이 큰 차이를 만든다고 생각한다. 그러나 나는 Prototype이 매우 그립다. jquery-rails가 통합되길 기다리고 있다. 결국 이 고지는 점령될 것이다. 나는 사람들이 이 변화를 감지하고 있다는 소식을 들을 때마다 기쁘다.&lt;br /&gt;&lt;br /&gt;ps&amp;gt; &lt;FONT style="BACKGROUND-COLOR: #ddbfff"&gt;이 두 라이브러리를 함께 사용&lt;/FONT&gt;하려면 &lt;A href="http://docs.jquery.com/Using_jQuery_with_Other_Libraries" target=_blank&gt;여기&lt;/A&gt;를 보라.&lt;br /&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;스크랩출처 : &lt;A href="http://dogfeet.tistory.com/29"&gt;http://dogfeet.tistory.com/29&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/960382485960961150-3698165011130083518?l=lovekmg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lovekmg.blogspot.com/feeds/3698165011130083518/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://lovekmg.blogspot.com/2008/08/%EB%82%B4%EA%B0%80-prototype%EC%97%90%EC%84%9C-jquery%EB%A1%9C-%EC%98%AE%EA%B8%B4%EC%9D%B4%EC%9C%A0.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/3698165011130083518'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/3698165011130083518'/><link rel='alternate' type='text/html' href='http://lovekmg.blogspot.com/2008/08/%EB%82%B4%EA%B0%80-prototype%EC%97%90%EC%84%9C-jquery%EB%A1%9C-%EC%98%AE%EA%B8%B4%EC%9D%B4%EC%9C%A0.html' title='내가 prototype에서 jQuery로 옮긴이유.'/><author><name>goaltong</name><uri>http://www.blogger.com/profile/16883409882082995900</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-960382485960961150.post-4978138555888313301</id><published>2008-08-25T23:42:00.000-07:00</published><updated>2011-01-11T05:00:05.500-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='jquery'/><category scheme='http://www.blogger.com/atom/ns#' term='lib'/><title type='text'>jQuery 공부중 v.2</title><content type='html'>&lt;P&gt;1. css(name) : name의 값을 뽑아준다.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; var color = $("p").&lt;STRONG class=selflink jQuery1219731490139="null"&gt;css&lt;/STRONG&gt;("background-color");&lt;/P&gt;&lt;P&gt;2. css(property) : 해당 엘리먼트 css를 property로 정의.&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;$("p").&lt;STRONG class=selflink jQuery1219731490139="null"&gt;css&lt;/STRONG&gt;({ backgroundColor:"yellow", fontWeight:"bolder" });&lt;/P&gt;&lt;P&gt;3. css(name,value) : name의 값을 value로 채움.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;4. offset() : 엘리먼트의 위치를 리턴&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; var offset = p.&lt;STRONG class=selflink jQuery1219731772405="null"&gt;offset&lt;/STRONG&gt;();&lt;br /&gt;&amp;nbsp;&amp;nbsp; offset.left, offset.top 으로 사용.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;5. height() : 엘리먼트의 높이값을 뽑아준다.&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; height(val) : 엘리먼트의 높이값을 val로 세팅.&lt;/P&gt;&lt;P&gt;※ width도 마찬가지.&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;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/960382485960961150-4978138555888313301?l=lovekmg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lovekmg.blogspot.com/feeds/4978138555888313301/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://lovekmg.blogspot.com/2008/08/jquery-%EA%B3%B5%EB%B6%80%EC%A4%91-v2.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/4978138555888313301'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/4978138555888313301'/><link rel='alternate' type='text/html' href='http://lovekmg.blogspot.com/2008/08/jquery-%EA%B3%B5%EB%B6%80%EC%A4%91-v2.html' title='jQuery 공부중 v.2'/><author><name>goaltong</name><uri>http://www.blogger.com/profile/16883409882082995900</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-960382485960961150.post-5486927885137733444</id><published>2008-08-25T18:45:00.000-07:00</published><updated>2011-01-11T05:00:05.125-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='자바스크립트'/><category scheme='http://www.blogger.com/atom/ns#' term='jquery'/><category scheme='http://www.blogger.com/atom/ns#' term='lib'/><title type='text'>jQuery 공부중 v.1</title><content type='html'>&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;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;1. &lt;FONT style="BACKGROUND-COLOR: #ddbfff"&gt;html()&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;$("div").html("&amp;lt;b&amp;gt;Wow!&amp;lt;/b&amp;gt; Such excitement...");&lt;/P&gt;&lt;P&gt;이거하믄 IE7에서는 "Wow!" 밖에 안나온다.(IE6도 그러네 ㅎ)&lt;/P&gt;&lt;P&gt;FF3에서는 다 나온다.&lt;/P&gt;&lt;P&gt;span이라도 붙여줘야하나?ㅡㅡㅋ&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;2. &lt;FONT style="BACKGROUND-COLOR: #ddbfff"&gt;text()&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;script&amp;gt;&lt;br /&gt;&amp;nbsp; $(document).ready(function(){&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; var str = $("p:&lt;A title=Selectors/first href="http://docs.jquery.com/Selectors/first" jQuery1219715593998="null"&gt;first&lt;/A&gt;").&lt;STRONG class=selflink jQuery1219715593998="null"&gt;text&lt;/STRONG&gt;();&lt;br /&gt;&amp;nbsp; &amp;nbsp; $("p:&lt;A title=Selectors/last href="http://docs.jquery.com/Selectors/last" jQuery1219715593998="null"&gt;last&lt;/A&gt;").&lt;A title=Attributes/html href="http://docs.jquery.com/Attributes/html" jQuery1219715593998="null"&gt;html&lt;/A&gt;(str);&lt;br /&gt;&lt;br /&gt;&amp;nbsp; });&lt;br /&gt;&amp;nbsp; &amp;lt;/script&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;style&amp;gt;&lt;br /&gt;&amp;nbsp; p { color:blue; margin:8px; }&lt;br /&gt;&amp;nbsp; b { color:red; }&lt;br /&gt;&amp;nbsp; &amp;lt;/style&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Test&amp;lt;/b&amp;gt; Paragraph.&amp;lt;/p&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;p&amp;gt;&amp;lt;/p&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;html tag없이 단순 텍스트만 받는군...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;3. &lt;FONT style="BACKGROUND-COLOR: #ddbfff"&gt;append(content)&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;$("p").append("hello");&lt;/P&gt;&lt;P&gt;p 엘리먼트에 추가&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;4. &lt;FONT style="BACKGROUND-COLOR: #ddbfff"&gt;appendTo(content)&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;$("p").appendTo("#ok");&lt;/P&gt;&lt;P&gt;id가 "ok"인 엘리먼트에 "p"의 내용을 더한다.&lt;/P&gt;&lt;P&gt;파라미터는 말이 content이지 실제로는 target인듯...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;5. &lt;FONT style="BACKGROUND-COLOR: #ffffff"&gt;&lt;FONT style="BACKGROUND-COLOR: #ddbfff"&gt;prepend(content)&lt;/FONT&gt;, &lt;/FONT&gt;&lt;FONT style="BACKGROUND-COLOR: #ddbfff"&gt;prependTo(content)&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;append, appendTo와 같은방식이지만...content가 맨앞에 붙음.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;※ 기이한 현상(?)&lt;/P&gt;&lt;P&gt;$("p").append("&amp;lt;b&amp;gt;Hello &amp;lt;/b&amp;gt;");&lt;br /&gt;$("span").appendTo("#ok");&lt;br /&gt;$("p").prepend("&amp;lt;b&amp;gt;Hello &amp;lt;/b&amp;gt;");&lt;br /&gt;$("span").prependTo("#ok")&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;--&amp;gt; append,prepend는 타겟엘리먼트가 같아도 그냥 앞,뒤로 붙는다.&lt;/P&gt;&lt;P&gt;--&amp;gt; 그러나 appendTo,prependTo는 마지막코드만 수행한다.&lt;/P&gt;&lt;P&gt;--&amp;gt; 왜그러지? 초기화시키는 코드가 들어있나?ㅡㅡㅋ&lt;/P&gt;&lt;P&gt;--&amp;gt; ㅡㅡㅋ 그 복잡한 코드를 봐야하나?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;6. &lt;FONT style="BACKGROUND-COLOR: #ddbfff"&gt;after,before&lt;/FONT&gt;는 append,prepend랑 비슷하게 쓰는듯...&lt;/P&gt;&lt;P&gt;7. &lt;FONT style="BACKGROUND-COLOR: #ddbfff"&gt;insertAfter, insertBefore&lt;/FONT&gt;는 각각 before, after과 동일하다.&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; 즉, insertAfter는 after의 반대, insertBefore는 before의 반대.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;8. &lt;FONT style="BACKGROUND-COLOR: #ddbfff"&gt;wrap,wrapall&lt;/FONT&gt;은 말그대로 감싸는것. wrapInner도 말그대로 타겟엘리먼트의 안쪽을 감&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; 싸는것.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;9. &lt;FONT style="BACKGROUND-COLOR: #ddbfff"&gt;replaceWith(content)&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;$("p").&lt;STRONG class=selflink&gt;replaceWith&lt;/STRONG&gt;("&amp;lt;b&amp;gt;Paragraph. &amp;lt;/b&amp;gt;");&lt;/P&gt;&lt;P&gt;타겟엘리먼트(여기선 p태그들...)를 &lt;/P&gt;&lt;P&gt;content(&amp;lt;b&amp;gt;Paragraph. &amp;lt;/b&amp;gt;)로 바꾼다.&lt;/P&gt;&lt;P&gt;replaceAll(selector)는 replaceWith의 다른형태.&lt;/P&gt;&lt;P&gt;-&amp;gt; $("&amp;lt;b&amp;gt;Paragraph. &amp;lt;/b&amp;gt;").&lt;STRONG class=selflink jQuery1219726845483="null"&gt;replaceAll&lt;/STRONG&gt;("p"); &lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;10. &lt;FONT style="BACKGROUND-COLOR: #ddbfff"&gt;empty() 와 remove()&lt;/FONT&gt;의 차이를 모르겠다. 둘다 똑같은듯...ㅡㅡㅋ&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;11. clone()&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 엘리먼트 복사&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;clone(true) &lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &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;A href="http://docs.jquery.com/Manipulation"&gt;http://docs.jquery.com/Manipulation&lt;/A&gt;&lt;/P&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/960382485960961150-5486927885137733444?l=lovekmg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lovekmg.blogspot.com/feeds/5486927885137733444/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://lovekmg.blogspot.com/2008/08/jquery-%EA%B3%B5%EB%B6%80%EC%A4%91-v1.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/5486927885137733444'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/5486927885137733444'/><link rel='alternate' type='text/html' href='http://lovekmg.blogspot.com/2008/08/jquery-%EA%B3%B5%EB%B6%80%EC%A4%91-v1.html' title='jQuery 공부중 v.1'/><author><name>goaltong</name><uri>http://www.blogger.com/profile/16883409882082995900</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-960382485960961150.post-6830854052515310177</id><published>2008-08-21T18:16:00.000-07:00</published><updated>2011-01-11T05:00:04.715-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='php'/><category scheme='http://www.blogger.com/atom/ns#' term='php6'/><title type='text'>PHP의 미래 - 링크</title><content type='html'>&lt;A href="http://www.ibm.com/developerworks/kr/library/os-php-future/"&gt;http://www.ibm.com/developerworks/kr/library/os-php-future/&lt;/A&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/960382485960961150-6830854052515310177?l=lovekmg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lovekmg.blogspot.com/feeds/6830854052515310177/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://lovekmg.blogspot.com/2008/08/php%EC%9D%98-%EB%AF%B8%EB%9E%98-%EB%A7%81%ED%81%AC.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/6830854052515310177'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/6830854052515310177'/><link rel='alternate' type='text/html' href='http://lovekmg.blogspot.com/2008/08/php%EC%9D%98-%EB%AF%B8%EB%9E%98-%EB%A7%81%ED%81%AC.html' title='PHP의 미래 - 링크'/><author><name>goaltong</name><uri>http://www.blogger.com/profile/16883409882082995900</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-960382485960961150.post-541893449271456739</id><published>2008-08-19T19:21:00.000-07:00</published><updated>2011-01-11T05:00:04.278-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DTD'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML+CSS'/><category scheme='http://www.blogger.com/atom/ns#' term='html'/><title type='text'>HTML DTD 정보</title><content type='html'>&amp;nbsp;&lt;P&gt;모든 markup 문서 상단에는 이 문서가 어떠한 형식을 따른 문서인지를 명시해주는 Document Type Definition 이 존재 해야 한다. 이 DTD 선언은 브라우져가 어떠한 랜더링 모드를 선택할 것인지를 판별하게 하거나, 파서가 문서 파싱을 어떻게 해야 하는지를 알려주는 중요한 정보이다. DTD 선언은 해당 문서를 어떻게 읽어야 하는 지를 알려주게 되고 validator는 전적으로 이 DTD 선언에 의지 하여 문서를 판별하게 된다. 웹에서 주로 사용하는 DTD 는 HTML 4.01 과 XHTML 1.0, XHTML 1.1 이 있다. &lt;/P&gt;&lt;br /&gt;&lt;br /&gt;&lt;H2&gt;HTML 4.01 Strict DTD&lt;/H2&gt;&lt;br /&gt;&lt;br /&gt;&lt;P&gt;더이상지원하지 않는 element 와 attribute 가 제외된 DTD&lt;/P&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;P&gt;&lt;!-- % wrong tag % --&gt;&amp;lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"&amp;gt;&lt;!-- % wrong tag % --&gt; &lt;/P&gt;&lt;br /&gt;&lt;br /&gt;&lt;H2&gt;HTML 4.01 Transitional DTD&lt;/H2&gt;&lt;br /&gt;&lt;br /&gt;&lt;P&gt;더이상지원하지 않는 element 와 attribute 가 제외되지 않은 visual 측면을 고려한 DTD&lt;/P&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;P&gt;&lt;!-- % wrong tag % --&gt;&amp;lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"&amp;gt;&lt;!-- % wrong tag % --&gt; &lt;/P&gt;&lt;br /&gt;&lt;br /&gt;&lt;H2&gt;HTML 4.01 Frameset DTD&lt;/H2&gt;&lt;br /&gt;&lt;br /&gt;&lt;P&gt;frameset 이 추가된 DTD&lt;/P&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;P&gt;&lt;!-- % wrong tag % --&gt;&amp;lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"&amp;gt;&lt;!-- % wrong tag % --&gt; &lt;/P&gt;&lt;br /&gt;&lt;br /&gt;&lt;H2&gt;XHTML 1.0 Strict DTD&lt;/H2&gt;&lt;br /&gt;&lt;br /&gt;&lt;P&gt;HTML 에 XML 의 개념을 도입한 문서타입&lt;/P&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;P&gt;&lt;!-- % wrong tag % --&gt;&amp;lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&amp;gt;&lt;!-- % wrong tag % --&gt; &lt;/P&gt;&lt;br /&gt;&lt;br /&gt;&lt;H2&gt;XHTML 1.0 Transitional DTD&lt;/H2&gt;&lt;!-- % wrong tag % --&gt;&amp;lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&amp;gt;&lt;!-- % wrong tag % --&gt; &lt;br /&gt;&lt;br /&gt;&lt;H2&gt;XHTML 1.0 Frameset DTD&lt;/H2&gt;&lt;!-- % wrong tag % --&gt;&amp;lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"&amp;gt;&lt;!-- % wrong tag % --&gt; &lt;br /&gt;&lt;br /&gt;&lt;H2&gt;XHTML 1.1 DTD&lt;/H2&gt;&lt;br /&gt;&lt;br /&gt;&lt;P&gt;이전 버전과는 다른 완전한 xml이라 할 수 있으며 application/xhtml+xml 형식의 mime-type 으로 배포되어야 하는 형식. Strict, Transitional 등의 구분이 없어졌음&lt;/P&gt;&lt;P&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;!-- % wrong tag % --&gt;&amp;lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"&amp;gt; &lt;br /&gt;&lt;/P&gt;&lt;br /&gt;&lt;br /&gt;&lt;P&gt;출처 : &lt;A class=con_link href="http://blog.naver.com/hancci7/20024414108" target=_blank&gt;http://blog.naver.com/hancci7/20024414108&lt;/A&gt;&lt;/P&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/960382485960961150-541893449271456739?l=lovekmg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lovekmg.blogspot.com/feeds/541893449271456739/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://lovekmg.blogspot.com/2008/08/html-dtd-%EC%A0%95%EB%B3%B4.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/541893449271456739'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/541893449271456739'/><link rel='alternate' type='text/html' href='http://lovekmg.blogspot.com/2008/08/html-dtd-%EC%A0%95%EB%B3%B4.html' title='HTML DTD 정보'/><author><name>goaltong</name><uri>http://www.blogger.com/profile/16883409882082995900</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-960382485960961150.post-1770668232827968617</id><published>2008-08-19T19:20:00.000-07:00</published><updated>2011-01-11T05:00:03.890-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='용어정리'/><category scheme='http://www.blogger.com/atom/ns#' term='API'/><title type='text'>API란?</title><content type='html'>&amp;nbsp;&lt;P&gt;API는 Application Program Interface의 약자입니다. 컴터와 운영체제와 사용자의 관계를 보면 다음과 같습니다.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/P&gt;&lt;DIV style="TEXT-ALIGN: center"&gt;&lt;STRONG&gt;&lt;FONT color=#006699&gt;Hardware&lt;br /&gt;|&lt;br /&gt;OSI(Operating System Interface)&lt;br /&gt;|&lt;br /&gt;OS&lt;br /&gt;|&lt;br /&gt;API(Application Program Interface)&lt;br /&gt;|&lt;br /&gt;Application(Program)&lt;br /&gt;|&lt;br /&gt;GUI(Graphical User Interface)&lt;br /&gt;|&lt;br /&gt;사용자&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/DIV&gt;&lt;P&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; 예를 들어 사용자가 메모장으로 프린터를 사용하여 인쇄를 하려면 사용자부터 시작해서 Hardware 까지 모든 과정을 거쳐야만 인쇄가 가능합니다.&lt;br /&gt;&lt;br /&gt;&amp;nbsp; 위에서 OSI,OS,API,GUI 는 운영체제에 속해있죠. 일부 Application도 운영체제에 속해있습니다. 인터넷익스플로어, 탐색기, 계산기, 등등이 운영체제안에 있는 Application 이죠.&lt;br /&gt;&lt;br /&gt;&amp;nbsp; 잘 보시면 Interface가 3개가 있죠? OSI, API, GUI&amp;nbsp; 다 중간 메체입니다. GUI는 사용자와 컴터간의 중간매체. 스크린에 나와있는 윈도우 자체죠. 마우스를 사용해서 사용자가 클릭만으로 편리(?)하게 사용할수 있게 해주는 매체입니다. 도스에서는 시꺼먼 화면에 하얀글씨로 명령을 입력해서 실행했는데 윈도우에선 마우스로 클릭만하면 돼니까요. 참고로 도스같은 인터페이스는 CLI(Command line Interface)라고 합니다.&lt;br /&gt;&lt;br /&gt;&amp;nbsp; OSI는 운영체제와 하드웨어의 중간 매체. 장치드라이버로 보시면 됍니다. 하드웨어를 운영체제가 원할하게 사용할 수 있게 해주죠.&lt;br /&gt;&lt;br /&gt;&amp;nbsp; API는 프로그램과 운영체제 사이의 중간매체. 프로그램을 원할히 작동하게 합니다. 함수, 루틴과 프로토콜로 이루워져 있습니다. 그래서 프로그램을 만들때 쉽게 해주죠. 예를 들어 파일을 열때, 장치를 사용하고 싶을때 API의 함수나 서브루틴을 사용하면 돼니까요.&lt;br /&gt;&lt;br /&gt;옛날 도스 시절에는 프로그래머가 하드웨어까지 다 통달해서 그에 맞는 프로그램을 만들었습니다. 도스용 아래한글을 보면 프린터 드라이버 까지 프로그램안에 같이 들어있었습니다.&lt;/P&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/960382485960961150-1770668232827968617?l=lovekmg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lovekmg.blogspot.com/feeds/1770668232827968617/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://lovekmg.blogspot.com/2008/08/api%EB%9E%80.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/1770668232827968617'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/1770668232827968617'/><link rel='alternate' type='text/html' href='http://lovekmg.blogspot.com/2008/08/api%EB%9E%80.html' title='API란?'/><author><name>goaltong</name><uri>http://www.blogger.com/profile/16883409882082995900</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-960382485960961150.post-3464713334173349284</id><published>2008-08-19T19:19:00.001-07:00</published><updated>2011-01-11T05:00:03.505-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='php'/><category scheme='http://www.blogger.com/atom/ns#' term='함수'/><title type='text'>set_time_limit 함수 - 타임아웃 설정</title><content type='html'>&lt;DIV class=view id=tblContent&gt;&lt;FONT style="FONT-FAMILY: 0_0"&gt;&lt;SPAN class=content&gt;set_time_limit 함수 - 타임아웃 설정 &lt;br /&gt;&lt;br /&gt;아파치등의 웹서버에 설정된 타임아웃, &lt;br /&gt;PHP에 설정된 타임아웃등으로 인해, &lt;br /&gt;CGI를 실행할 때 너무 많은 시간동안 프로그램이 돌면, &lt;br /&gt;강제로 정지됩니다. &lt;br /&gt;&lt;br /&gt;이때, 그 목숨을 좀 살려보려고 하는 명령어가 set_time_limit 입니다. &lt;br /&gt;가령, 30초까지만 수행되도록 한 서버인데, 자신의 프로그램이 30초가 넘도록 실행된다면, 중간에 멈춰버립니다. 그리고는 해당 URL을 찾지 못했습니다.라는 메시지를 뿌립니다. &lt;br /&gt;&lt;br /&gt;이럴땐, 그 프로그램에 set_time_limit(30);이라고 해보세요.그러면 프로그램이 수행되다가 그 명령어를 만나면,그 시점부터 30초를 연장해줍니다. (그 시점부터임!!!) &lt;br /&gt;&lt;br /&gt;아예, 스크립트가 모두 수행될 때까지 하려면, &lt;br /&gt;set_time_limit(0); &lt;br /&gt;이렇게 쓰면 됩니다&lt;/SPAN&gt; &lt;/FONT&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/960382485960961150-3464713334173349284?l=lovekmg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lovekmg.blogspot.com/feeds/3464713334173349284/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://lovekmg.blogspot.com/2008/08/settimelimit-%ED%95%A8%EC%88%98-%ED%83%80%EC%9E%84%EC%95%84%EC%9B%83-%EC%84%A4%EC%A0%95.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/3464713334173349284'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/3464713334173349284'/><link rel='alternate' type='text/html' href='http://lovekmg.blogspot.com/2008/08/settimelimit-%ED%95%A8%EC%88%98-%ED%83%80%EC%9E%84%EC%95%84%EC%9B%83-%EC%84%A4%EC%A0%95.html' title='set_time_limit 함수 - 타임아웃 설정'/><author><name>goaltong</name><uri>http://www.blogger.com/profile/16883409882082995900</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-960382485960961150.post-4086062507494975003</id><published>2008-08-19T19:19:00.000-07:00</published><updated>2011-01-11T05:00:03.145-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='유용한정보'/><category scheme='http://www.blogger.com/atom/ns#' term='알뜰사이트'/><title type='text'>알뜰사이트 모음.</title><content type='html'>&amp;nbsp;&lt;P&gt;제가 주로 이용하는 알뜰사이트를 모아봤어요~&lt;/P&gt;&lt;P&gt;알뜰하게 생활해서 부자되세요^^* &lt;/P&gt;&lt;br /&gt;&lt;P&gt;&lt;STRONG&gt;&lt;FONT color=#ff3300&gt;[짠돌이 짠순이라면 꼭 알아야할 사이트 모음]&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;br /&gt;&lt;P&gt;&lt;STRONG&gt;&lt;FONT color=#cc00ff&gt;[할인쿠폰 사이트]&lt;/FONT&gt;-음식점, 공연, 쇼핑 등 다양한 쿠폰을 얻을 수 있는 사이트 &lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;코코펀: &lt;A class=con_link href="http://www.cocofun.co.kr/" target=_blank&gt;&lt;U&gt;&lt;FONT color=#0000ff size=2&gt;www.cocofun.co.kr&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;다음쿠폰: &lt;A class=con_link href="http://www.coupon.daum.net/" target=_blank&gt;&lt;U&gt;&lt;FONT color=#0000ff size=2&gt;www.coupon.daum.net&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;네이버쿠폰: &lt;A class=con_link href="http://www.coupon.naver.com/" target=_blank&gt;&lt;U&gt;&lt;FONT color=#0000ff size=2&gt;www.coupon.naver.com&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;U&gt;※ 할인쿠폰 뿐만 아니라 교환쿠폰도 있으니 잘 활용해보아요^^&lt;/U&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;FONT color=#cc00ff&gt;[반품,재고 판매몰]&lt;/FONT&gt;-인터넷몰, 홈쇼핑 등에서 반품된 제품을 저렴하게 살 수 있는 사이트&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;반품닷컴: &lt;A class=con_link href="http://www.vanpum.com/" target=_blank&gt;&lt;U&gt;&lt;FONT color=#0000ff size=2&gt;www.vanpum.com&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;&lt;/A&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;반품할인닷컴: &lt;A class=con_link href="http://www.vanpumdc.com/" target=_blank&gt;&lt;U&gt;&lt;FONT color=#0000ff size=2&gt;www.vanpumdc.com&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;유니즈: &lt;A class=con_link href="http://www.uniz.co.kr/" target=_blank&gt;&lt;U&gt;&lt;FONT color=#0000ff size=2&gt;www.uniz.co.kr&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;&lt;/A&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;U&gt;※&amp;nbsp; 반품된 제품이니 꼼꼼하게 살피는 센스가 필요하답니다^^&lt;/U&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;FONT color=#cc00ff&gt;[구매대행 사이트]&lt;/FONT&gt;-해외 유명 브랜드 제품을 저렴하게 구입할 수 있는 사이트&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=Verdana&gt;&lt;SPAN style="FONT-FAMILY: Verdana"&gt;&lt;SPAN style="FONT-FAMILY: Verdana"&gt;프라이빗쉬크:&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Verdana"&gt; &lt;/SPAN&gt;&lt;A class=con_link target=_blank x="http://click.linkprice.com/click.php?m=private&amp;amp;a=A100205285&amp;amp;l=0000"&gt;&lt;FONT color=#0000b0 size=2&gt;&lt;SPAN style="FONT-FAMILY: Verdana"&gt;&lt;U&gt;www.privatechic.com&lt;/U&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/A&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="FONT-FAMILY: Verdana"&gt;&lt;FONT face=Verdana&gt;&lt;SPAN style="FONT-FAMILY: Verdana"&gt;&lt;SPAN style="FONT-FAMILY: Verdana"&gt;아이하우스:&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Verdana"&gt; &lt;/SPAN&gt;&lt;A class=con_link target=_blank x="http://click.linkprice.com/click.php?m=iehouse&amp;amp;a=A100205285&amp;amp;l=0000"&gt;&lt;FONT color=#0000b0 size=2&gt;&lt;SPAN style="FONT-FAMILY: Verdana"&gt;&lt;U&gt;www.iehouse.co.kr&lt;/U&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/A&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="FONT-FAMILY: Verdana"&gt;&lt;FONT face=Verdana&gt;&lt;SPAN style="FONT-FAMILY: Verdana"&gt;&lt;SPAN style="FONT-FAMILY: Verdana"&gt;라흐두뜨:&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Verdana"&gt; &lt;/SPAN&gt;&lt;A class=con_link target=_blank x="http://click.linkprice.com/click.php?m=laredoute&amp;amp;a=A100205285&amp;amp;l=0000"&gt;&lt;FONT color=#0000b0 size=2&gt;&lt;SPAN style="FONT-FAMILY: Verdana"&gt;&lt;U&gt;www.laredoute.co.kr&lt;/U&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;U&gt;※ 해외 구매 대행은 국내에서 구할 수 없는 상품을 손쉽게 구할 수 있기 때문에 편리하죠^^&lt;/U&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;FONT color=#cc00ff&gt;[재테크 관련 사이트]&lt;/FONT&gt;-인터넷 쇼핑몰 HUB사이트! 인터넷 쇼핑하면 현금 주는 사이트&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;모네타: &lt;A class=con_link href="http://www.moneta.co.kr/" target=_blank&gt;&lt;FONT color=#800080 size=2&gt;&lt;U&gt;www.moneta.co.kr&lt;/U&gt;&lt;/FONT&gt;&lt;/A&gt;&amp;nbsp;(가계부를 무료로 이용할 수 있어요~)&lt;/P&gt;&lt;P&gt;부자펀드닷컴: &lt;A class=con_link target=_blank x="http://click.linkprice.com/click.php?m=bujafund&amp;amp;a=A100205285&amp;amp;l=0000"&gt;&lt;FONT color=#800080 size=2&gt;&lt;U&gt;www.bujafund.com&lt;/U&gt;&lt;/FONT&gt;&lt;/A&gt;&amp;nbsp;(자산관리 무료상담을 받을 수 있어요~)&lt;/P&gt;&lt;P&gt;재테크 올가이드: &lt;A class=con_link href="http://www.donga.com/docs/money/index.html" target=_blank&gt;&lt;FONT color=#800080 size=2&gt;&lt;U&gt;www.donga.com/docs/money/index.html&lt;/U&gt;&lt;/FONT&gt;&lt;/A&gt;&amp;nbsp;(동아일보 제공)&lt;/P&gt;&lt;P&gt;머니플랜: &lt;A class=con_link target=_blank x="http://click.linkprice.com/click.php?m=moneyplan&amp;amp;a=A100226844&amp;amp;l=0000"&gt;&lt;FONT color=#494949&gt;http://www.money-plan.co.kr/&lt;/FONT&gt;&lt;/A&gt;&amp;nbsp;(재테크 무료 상담 서비스)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;U&gt;※ 옥션, 지마켓 등 200여 제휴쇼핑몰에서 쇼핑하면 결재금액의 평균 3%를 환급해줘요^^&lt;/U&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;FONT color=#cc00ff&gt;[웨딩 포털 사이트]&lt;/FONT&gt;-알뜰하게 결혼을 준비하는 예비 신랑신부라면 알아야 할 사이트&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;신부클럽: &lt;A class=con_link target=_blank x="http://click.linkprice.com/click.php?m=sinbuclub&amp;amp;a=A100205285&amp;amp;l=0000"&gt;&lt;U&gt;&lt;FONT color=#800080 size=2&gt;신부클럽&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;&amp;nbsp;(홈페이지에 글을 남기면 뚝배기세트를 줘요~)&lt;/P&gt;&lt;P&gt;해피즌: &lt;A class=con_link href="http://click.linkprice.com/click.php?m=ewedding&amp;amp;a=A100205285&amp;amp;l=9999&amp;amp;l_cd1=3&amp;amp;l_cd2=0&amp;amp;tu=http%3A%2F%2Fwww.happizen.co.kr%2FhappiXXX.0.php%3Fbrand%3Dweddinglife%26HPZ%3Dconsulting%3Adiary" target=_blank&gt;&lt;FONT color=#800080 size=2&gt;www.happizen.co.kr&lt;/FONT&gt;&lt;/A&gt;&amp;nbsp;(웨딩 다이어리를 무료로 줘요~)&lt;/P&gt;&lt;P&gt;본웨딩: &lt;A class=con_link target=_blank x="http://click.linkprice.com/click.php?m=bornwed&amp;amp;a=A100205285&amp;amp;l=0000"&gt;&lt;FONT color=#800080 size=2&gt;www.bornwedding.com&lt;/FONT&gt;&lt;/A&gt;&amp;nbsp;(웨딩잡지, 신부수첩, 카다록, 면세점할인권을 줘요~)&lt;/P&gt;&lt;br /&gt;&lt;P&gt;&lt;U&gt;※ 결혼 준비하실 때는 최대한 많은 곳에서 견적을 알아보는게 알뜰결혼의 지름길이예요^^&lt;/U&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;FONT color=#cc00ff&gt;[마일리지 통합 사이트]&lt;/FONT&gt;-인터넷 쇼핑몰 HUB사이트! 인터넷 쇼핑하면 현금 주는 사이트&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;티끌모아닷컴: &lt;A class=con_link href="http://www.tigglmoa.com/" target=_blank&gt;&lt;FONT color=#800080 size=2&gt;&lt;U&gt;www.tigglmoa.com&lt;/U&gt;&lt;/FONT&gt;&lt;/A&gt;&amp;nbsp;(KBS 경제비타민 소개된 쇼핑비용 환급 서비스)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;U&gt;※ 옥션, 지마켓 등 200여 제휴쇼핑몰에서 쇼핑하면 결재금액의 평균 3%를 환급해줘요^^&lt;/U&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;FONT color=#cc00ff&gt;[무료샘플 사이트]&lt;/FONT&gt;-화장품 샘플을 무료배송 해주는 사이트&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=Verdana&gt;&lt;SPAN style="FONT-FAMILY: Verdana"&gt;&lt;SPAN style="FONT-FAMILY: Verdana"&gt;BRTC:&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Verdana"&gt; &lt;/SPAN&gt;&lt;A class=con_link target=_blank x="http://click.linkprice.com/click.php?m=brtc&amp;amp;a=A100205285&amp;amp;l=0000"&gt;&lt;FONT color=#0000b0 size=2&gt;&lt;SPAN style="FONT-FAMILY: Verdana"&gt;&lt;U&gt;www.brtc.co.kr&lt;/U&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/A&gt;&amp;nbsp;(&lt;/FONT&gt;&lt;SPAN style="FONT-FAMILY: Verdana"&gt;비비크림 파우치 등 5종 무료샘플, 무료배송)&lt;/P&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Verdana"&gt;&lt;P&gt;&lt;FONT face=Verdana&gt;&lt;SPAN style="FONT-FAMILY: Verdana"&gt;&lt;SPAN style="FONT-FAMILY: Verdana"&gt;에틱스:&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Verdana"&gt; &lt;/SPAN&gt;&lt;A class=con_link href="http://click.linkprice.com/click.php?m=carver&amp;amp;a=A100205285&amp;amp;l=9999&amp;amp;l_cd1=3&amp;amp;l_cd2=0&amp;amp;tu=http%3A%2F%2Fwww.etics.co.kr%2FFrontStore%2FiContentsView.phtml%3Fcon_id%3D345" target=_blank&gt;&lt;FONT color=#0000b0 size=2&gt;&lt;SPAN style="FONT-FAMILY: Verdana"&gt;&lt;U&gt;www.etics.co.kr&lt;/U&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/A&gt;&amp;nbsp;(&lt;/FONT&gt;인텐스 파우치 등 5종 무료샘플, 무료배송)&lt;/P&gt;&lt;P&gt;&lt;SPAN style="FONT-FAMILY: Verdana"&gt;&lt;FONT face=Verdana&gt;&lt;SPAN style="FONT-FAMILY: Verdana"&gt;&lt;SPAN style="FONT-FAMILY: Verdana"&gt;미라큐어:&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Verdana"&gt; &lt;/SPAN&gt;&lt;A class=con_link href="http://www.miomi.co.kr/" target=_blank&gt;&lt;FONT color=#0000b0 size=2&gt;&lt;SPAN style="FONT-FAMILY: Verdana"&gt;&lt;U&gt;www.miomi.co.kr &lt;/U&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/A&gt;(&lt;/FONT&gt;가루팩 무료샘플, 무료배송)&lt;/P&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;U&gt;※ 무료샘플을 모아두실 때에는 샘플 겉면에 화장품종류와 유통기간 적어두시면 샘플 활동하실 때 도움이 된답니다^^&lt;/U&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;FONT color=#cc00ff&gt;[설문조사 사이트]&lt;/FONT&gt;-설문조사 후 상품 또는 현금을 주는 사이트&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;TNS 가구패널: &lt;A class=con_link target=_blank x="http://click.linkprice.com/click.php?m=tnspanel1&amp;amp;a=A100226844&amp;amp;l=0000"&gt;&lt;FONT color=#800080 size=2&gt;&lt;U&gt;www.homepanel.co.kr&lt;/U&gt;&lt;/FONT&gt;&lt;/A&gt;&amp;nbsp;(OK캐쉬백 추가적립, 사은품 교환)&lt;/P&gt;&lt;P&gt;소비자패널: &lt;A class=con_link target=_blank x="http://click.linkprice.com/click.php?m=lspeed&amp;amp;a=A100226844&amp;amp;l=0000"&gt;&lt;FONT color=#800080 size=2&gt;&lt;U&gt;www.lightspeedpanel.com&lt;/U&gt;&lt;/FONT&gt;&lt;/A&gt; (설문시 현금지급, 추가 이벤트 진행)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;U&gt;※ 설문조사는 꾸준히 활동해야 좋습니다. 생활비정도 벌 수 있어요~&lt;/U&gt;&lt;/P&gt;&lt;P&gt;&lt;U&gt;우수활동자는 혜택도 더 많답니다^^&lt;/U&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;FONT color=#cc00ff&gt;[외국어 교육 사이트]&lt;/FONT&gt;-돈 안들이고 무료로 공부할 수 있는 사이트&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;ESPT 영어: &lt;A class=con_link target=_blank x="http://click.linkprice.com/click.php?m=espt&amp;amp;a=A100205285&amp;amp;l=0000"&gt;&lt;FONT color=#800080 size=2&gt;&lt;U&gt;www.adverkins.com&lt;/U&gt;&lt;/FONT&gt;&lt;/A&gt;&amp;nbsp;(ESPT 자료집과 CD샘플을 보내줘요~)&lt;/P&gt;&lt;P&gt;이지로 중국어: &lt;A class=con_link href="http://www.eziro.com/" target=_blank&gt;&lt;FONT color=#800080 size=2&gt;&lt;U&gt;www.eziro.com&lt;/U&gt;&lt;/FONT&gt;&lt;/A&gt; (중국어 온라인 강의를 무료로 볼 수 있어요~)&lt;/P&gt;&lt;P&gt;맛있는 일본어: &lt;A class=con_link href="http://www.yamyamjpn.com/" target=_blank&gt;&lt;FONT color=#800080 size=2&gt;&lt;U&gt;www.yamyamjpn.com&lt;/U&gt;&lt;/FONT&gt;&lt;/A&gt; (기초 어휘부터, JPT의 어휘 정보가 있어요~)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;U&gt;※ 첫리길도 한걸음부터라는 속담이 있듯이 차근차근 외국어 실력을 쌓아보아요^^&lt;/U&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;FONT color=#cc00ff&gt;[가격비교 사이트]&lt;/FONT&gt;-각종 쇼핑몰의 판매가격을 비교할 수 있는 사이트&lt;/STRONG&gt; &lt;/P&gt;&lt;P&gt;다나와: &lt;A class=con_link href="http://www.danawa.co.kr/" target=_blank&gt;&lt;U&gt;&lt;FONT color=#0000ff size=2&gt;www.danawa.co.kr&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;&lt;/A&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;오미: &lt;A class=con_link href="http://www.omi.co.kr/" target=_blank&gt;&lt;U&gt;&lt;FONT color=#0000ff size=2&gt;www.omi.co.kr&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;에누리: &lt;A class=con_link href="http://www.enuri.com/" target=_blank&gt;&lt;U&gt;&lt;FONT color=#0000ff size=2&gt;www.enuri.com&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;U&gt;※ 가격비교를 하실때에는 할인률 그리고 할인쿠폰을 적용해서 따져보세요~&lt;/U&gt;&lt;/P&gt;&lt;P&gt;&lt;U&gt;제일 중요한 것은 충동구매를 자제해야 된다는거..... 아시죠??&lt;/U&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;FONT color=#000000&gt;[ 100% 무료증정 경품이벤트 ]&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color=#ff3300&gt;(1)인스벨리 &lt;/FONT&gt;&lt;A class=con_link target=_blank x="http://click.linkprice.com/click.php?m=insvalley1&amp;amp;a=A100226844&amp;amp;l=0000"&gt;&lt;STRONG&gt;&lt;FONT color=#ff3300&gt;ins.com바로가기/&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color=#000000&gt;&amp;nbsp;&amp;nbsp; : 신세계백화점상품권 경품&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color=#000000&gt;(2)동양 &lt;/FONT&gt;&lt;A class=con_link target=_blank x="http://click.linkprice.com/click.php?m=licome1&amp;amp;a=A100226844&amp;amp;l=0000"&gt;&lt;STRONG&gt;&lt;FONT color=#000000&gt;meris.com바로가기/&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color=#000000&gt;&amp;nbsp;&amp;nbsp; : 캐리비안베이 이용권, 방수디카&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color=#000000&gt;(3)라이나 &lt;/FONT&gt;&lt;A class=con_link target=_blank x="http://click.linkprice.com/click.php?m=slina&amp;amp;a=A100226844&amp;amp;l=0000"&gt;&lt;STRONG&gt;&lt;FONT color=#000000&gt;braian.com바로가기/&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color=#000000&gt;&amp;nbsp;&amp;nbsp; : 노트북, 닌텐도 100만원 경품&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color=#000000&gt;(4)에이스 &lt;/FONT&gt;&lt;A class=con_link target=_blank x="http://click.linkprice.com/click.php?m=dbsace1&amp;amp;a=A100226844&amp;amp;l=0000"&gt;&lt;STRONG&gt;&lt;FONT color=#000000&gt;dbsinb.paran.com바로가기/&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color=#000000&gt;&amp;nbsp;&amp;nbsp; : 닌텐도, 백화점상품권 추첨경품&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color=#000000&gt;(5) 아이챌린지 &lt;/FONT&gt;&lt;A class=con_link target=_blank x="http://click.linkprice.com/click.php?m=ichallenge&amp;amp;a=A100226844&amp;amp;l=0000"&gt;&lt;STRONG&gt;&lt;FONT color=#000000&gt;i-challenge.co.kr 바로가기 클릭&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color=#000000&gt;&amp;nbsp;&amp;nbsp; : 토니로마스 무료쿠폰, 유아교재 경품&lt;/FONT&gt;&lt;/P&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/960382485960961150-4086062507494975003?l=lovekmg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lovekmg.blogspot.com/feeds/4086062507494975003/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://lovekmg.blogspot.com/2008/08/%EC%95%8C%EB%9C%B0%EC%82%AC%EC%9D%B4%ED%8A%B8-%EB%AA%A8%EC%9D%8C.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/4086062507494975003'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/4086062507494975003'/><link rel='alternate' type='text/html' href='http://lovekmg.blogspot.com/2008/08/%EC%95%8C%EB%9C%B0%EC%82%AC%EC%9D%B4%ED%8A%B8-%EB%AA%A8%EC%9D%8C.html' title='알뜰사이트 모음.'/><author><name>goaltong</name><uri>http://www.blogger.com/profile/16883409882082995900</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-960382485960961150.post-4125724631693761024</id><published>2008-08-19T19:17:00.000-07:00</published><updated>2011-01-11T05:00:02.779-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mysql'/><category scheme='http://www.blogger.com/atom/ns#' term='explain'/><title type='text'>Mysql Explain보는법</title><content type='html'>&lt;P&gt;&lt;FONT face=Courier size=2&gt;# 이글은 mysql document 의 7.2.1 Explain Syntax 를 대~충 번역한 것입니다.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;# 틈틈이 번역하고 있으나 언제 완료될지 모릅니다..&lt;/P&gt;&lt;br /&gt;&lt;P&gt;&lt;FONT face=Courier size=2&gt;EXPLAIN 을 사용함으로써 인덱스가 적절히 사용되고 있는지 검토할 수 있다.&lt;/FONT&gt; &lt;FONT face=Courier&gt;&lt;FONT size=2&gt;인덱스가 잘못 사용되고 있다면 ANALYZE TABLE 을 사용하여 테이블을 점검하라.&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face=Courier&gt;&lt;FONT size=2&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;이것은 테이블의 상태를 갱신하며 옵티마이저의 동작에 영향을 준다.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;br /&gt;&lt;P&gt;&lt;FONT face=Courier&gt;옵티마이저가 SELECT 에 기록된 순서대로 조인을 행하게 강제하려면 SELECT 대신에 SELECT STRAIGHT_JOIN 을 사용하라.&lt;/FONT&gt;&lt;/P&gt;&lt;br /&gt;&lt;P&gt;&lt;FONT face=Courier&gt;EXPLAIN 은 SELECT 문에 사용된 각 테이블당 하나의 행을 리턴한다. 나열된 순서는 MYSQL 이 쿼리처리에 사용하는 순서대로 출력된다.&lt;/FONT&gt;&lt;/P&gt;&lt;br /&gt;&lt;P&gt;&lt;FONT face=Courier&gt;MYSQL 은 모든 조인을 single-sweep multi-join 방식을 사용하여 해결한다. 이것은 MYSQL 이 첫번째 테이블에서 한행을 읽고, 두번째 테이블에서 매치되는 행을 찾고, 세번째 테이블에서 매치되는 행을 찾고.. 그러한 방식이다. 모든 테이블들이 처리된 후 추출된 컬럼을 출력하고 다시 처음 테이블로 돌아가서 조인을 계속한다. 이런식으로 첫번째 테이블에 더이상 남는행이 없을때까지 실행한다.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=Courier&gt;(어느것이 첫번째 테이블이 될지는 mysql 옵티마이저가 결정할 문제이다. STRAIGHT_JOIN 을 명시하지 않았다면 유저가 입력한 순서와는 관련이 없다.)&lt;/FONT&gt;&lt;/P&gt;&lt;br /&gt;&lt;P&gt;&lt;FONT face=Courier&gt;MYSQL 4.1 버전에서 EXPLAIN 의 출력포멧이 UNION 과 subquery, derived table 을 다루기에 더 효과적으로 변경되었다. 무엇보다 중요한 것은 id , select_type 의 두 컬럼이 추가된 것이다.&lt;/FONT&gt;&lt;/P&gt;&lt;br /&gt;&lt;P&gt;&lt;FONT face=Courier&gt;EXPLAIN 의 각 행은 하나의 테이블에 대한 정보를 보여주며 다음과 같은 컬럼들로 구성된다.&lt;/FONT&gt;&lt;/P&gt;&lt;DIV class=itemizedlist&gt;&lt;UL type=disc&gt;&lt;LI&gt;&lt;P&gt;&lt;CODE class=literal&gt;&lt;FONT face=GulimChe&gt;id&lt;/FONT&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=Courier&gt;SELECT 번호, 쿼리내의 SELECT 의 구분번호이다.&lt;/FONT&gt;&lt;/P&gt;&lt;LI&gt;&lt;P&gt;&lt;CODE class=literal&gt;&lt;FONT face=GulimChe&gt;select_type&lt;/FONT&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=Courier&gt;SELECT 의 타입, 다음과 같다.&lt;/FONT&gt;&lt;/P&gt;&lt;DIV class=itemizedlist&gt;&lt;UL type=circle&gt;&lt;LI&gt;&lt;P&gt;&lt;CODE class=literal&gt;&lt;FONT face=GulimChe&gt;SIMPLE&lt;/FONT&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=Courier&gt;단순 SELECT (UNION 이나 서브쿼리를 사용하지 않음)&lt;/FONT&gt;&lt;/P&gt;&lt;LI&gt;&lt;P&gt;&lt;CODE class=literal&gt;&lt;FONT face=GulimChe&gt;PRIMARY&lt;/FONT&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=Courier&gt;가장 외곽의 SELECT&lt;/FONT&gt;&lt;/P&gt;&lt;LI&gt;&lt;P&gt;&lt;CODE class=literal&gt;&lt;FONT face=GulimChe&gt;UNION&lt;/FONT&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=Courier&gt;UNION 에서의 두번째 혹은 나중에 따라오는 SELECT&lt;/FONT&gt;&lt;/P&gt;&lt;LI&gt;&lt;P&gt;&lt;CODE class=literal&gt;&lt;FONT face=GulimChe&gt;DEPENDENT UNION&lt;/FONT&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=Courier&gt;UNION 에서의 두번째 혹은 나중에 따라오는 SELECT, 외곽쿼리에 의존적이다.&lt;/FONT&gt;&lt;/P&gt;&lt;LI&gt;&lt;P&gt;&lt;CODE class=literal&gt;&lt;FONT face=GulimChe&gt;UNION RESULT&lt;/FONT&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=Courier&gt;UNION 의 결과물.&lt;/FONT&gt;&lt;/P&gt;&lt;LI&gt;&lt;P&gt;&lt;CODE class=literal&gt;&lt;FONT face=GulimChe&gt;SUBQUERY&lt;/FONT&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=Courier&gt;서브쿼리의 첫번째 SELECT&lt;/FONT&gt;&lt;/P&gt;&lt;LI&gt;&lt;P&gt;&lt;CODE class=literal&gt;&lt;FONT face=GulimChe&gt;DEPENDENT SUBQUERY&lt;/FONT&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=Courier&gt;서브쿼리의 첫번째 SELECT, 외곽쿼리에 의존적이다.&lt;/FONT&gt;&lt;/P&gt;&lt;LI&gt;&lt;P&gt;&lt;CODE class=literal&gt;&lt;FONT face=GulimChe&gt;DERIVED&lt;/FONT&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=Courier&gt;SELECT 로 추출된 테이블 (FROM 절 내부의 서브쿼리)&lt;/FONT&gt;&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/DIV&gt;&lt;LI&gt;&lt;P&gt;&lt;CODE class=literal&gt;&lt;FONT face=GulimChe&gt;table&lt;/FONT&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=Courier&gt;나타난 결과가 참조하는 테이블명.&lt;/FONT&gt;&lt;/P&gt;&lt;LI&gt;&lt;P&gt;&lt;FONT face=GulimChe color=#ff0000&gt;&lt;CODE class=literal&gt;type&lt;/CODE&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=Courier color=#ff0000&gt;조인타입, 아래와 같다. 우수한 순서대로 뒤로갈수록 나쁜 조인형태이다.&lt;/FONT&gt;&lt;/P&gt;&lt;DIV class=itemizedlist&gt;&lt;UL type=circle&gt;&lt;LI&gt;&lt;P&gt;&lt;CODE class=literal&gt;&lt;FONT face=GulimChe&gt;system&lt;/FONT&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=Courier&gt;테이블에 단 하나의 행만 존재(시스템 테이블). const join 의 특수한 경우이다.&lt;br /&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;LI&gt;&lt;P&gt;&lt;CODE class=literal&gt;&lt;FONT face=GulimChe&gt;const&lt;/FONT&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=Courier&gt;많아야 하나의 매치되는 행만 존재하는 경우. 하나의 행이기 때문에 각 컬럼값은 나머지 연산에서 상수로 간주되며, 처음 한번만 읽어들이면 되기 때문에 무지 빠르다.&lt;br /&gt;PRIMARY KEY 나 &lt;CODE class=literal&gt;&lt;FONT face=GulimChe&gt;UNIQUE&lt;/FONT&gt;&lt;/CODE&gt; index 를 상수와 비교하는 경우.&lt;br /&gt;아래의 경우에서 &lt;EM&gt;tbl_name&lt;/EM&gt; 은 const table 로 조인된다.&lt;br /&gt;&lt;/FONT&gt;&lt;FONT size=+0&gt;&lt;br /&gt;&lt;FONT face=Courier&gt;SELECT * FROM &lt;EM class=replaceable&gt;&lt;CODE&gt;&lt;FONT face=GulimChe&gt;tbl_name&lt;/FONT&gt;&lt;/CODE&gt;&lt;/EM&gt; WHERE &lt;EM class=replaceable&gt;&lt;CODE&gt;&lt;FONT face=GulimChe&gt;primary_key&lt;/FONT&gt;&lt;/CODE&gt;&lt;/EM&gt;=1;&lt;br /&gt;SELECT * FROM &lt;FONT face=GulimChe&gt;&lt;EM class=replaceable&gt;&lt;CODE&gt;tbl_name&lt;/CODE&gt;&lt;/EM&gt;&lt;br /&gt;&lt;/FONT&gt;WHERE &lt;EM class=replaceable&gt;&lt;CODE&gt;&lt;FONT face=GulimChe&gt;primary_key_part1&lt;/FONT&gt;&lt;/CODE&gt;&lt;/EM&gt;=1 AND &lt;EM class=replaceable&gt;&lt;CODE&gt;&lt;FONT face=GulimChe&gt;primary_key_part2&lt;/FONT&gt;&lt;/CODE&gt;&lt;/EM&gt;=2;&lt;br /&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;LI style="LIST-STYLE-TYPE: none"&gt;&lt;br /&gt;&lt;LI&gt;&lt;P&gt;&lt;CODE class=literal&gt;&lt;FONT face=GulimChe&gt;eq_ref&lt;/FONT&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=Courier&gt;조인수행을 위해 각 테이블에서 하나씩의 행만이 읽혀지는 형태. const 타입이외에 가장 훌륭한 조인타입니다.&lt;br /&gt;조인연산에 &lt;FONT face="Courier New"&gt;PRIMARY KEY&lt;/FONT&gt; 나 &lt;CODE class=literal&gt;&lt;FONT face=GulimChe&gt;UNIQUE&lt;/FONT&gt;&lt;/CODE&gt; index 인덱스가 사용되는 경우.&lt;br /&gt;인덱스된 컬럼이 = 연산에 사용되는 경우. 비교되는 값은 상수이거나 이전조인결과의 컬럼값일수 있다.&lt;br /&gt;다음 예에서 MySQL 은 &lt;EM&gt;&lt;FONT face="Courier New"&gt;ref_table&lt;/FONT&gt;&lt;/EM&gt; 을 처리하는데 eq_ref 조인을 사용한다.&lt;br /&gt;&lt;/FONT&gt;&lt;FONT face=Courier size=2&gt;&lt;FONT face="Courier New"&gt;&lt;br /&gt;SELECT * FROM &lt;FONT size=3&gt;&lt;EM class=replaceable&gt;&lt;CODE&gt;&lt;FONT face=GulimChe&gt;ref_table&lt;/FONT&gt;&lt;/CODE&gt;&lt;/EM&gt;,&lt;FONT face=GulimChe&gt;&lt;EM class=replaceable&gt;&lt;CODE&gt;other_table&lt;/CODE&gt;&lt;/EM&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/FONT&gt;WHERE &lt;FONT size=3&gt;&lt;EM class=replaceable&gt;&lt;CODE&gt;&lt;FONT face=GulimChe&gt;ref_table&lt;/FONT&gt;&lt;/CODE&gt;&lt;/EM&gt;.&lt;EM class=replaceable&gt;&lt;CODE&gt;&lt;FONT face=GulimChe&gt;key_column&lt;/FONT&gt;&lt;/CODE&gt;&lt;/EM&gt;=&lt;EM class=replaceable&gt;&lt;CODE&gt;&lt;FONT face=GulimChe&gt;other_table&lt;/FONT&gt;&lt;/CODE&gt;&lt;/EM&gt;.&lt;EM class=replaceable&gt;&lt;CODE&gt;&lt;FONT face=GulimChe&gt;column&lt;/FONT&gt;&lt;/CODE&gt;&lt;/EM&gt;;&lt;br /&gt;&lt;/FONT&gt;SELECT * FROM &lt;FONT size=3&gt;&lt;EM class=replaceable&gt;&lt;CODE&gt;&lt;FONT face=GulimChe&gt;ref_table&lt;/FONT&gt;&lt;/CODE&gt;&lt;/EM&gt;,&lt;FONT face=GulimChe&gt;&lt;EM class=replaceable&gt;&lt;CODE&gt;other_table&lt;/CODE&gt;&lt;/EM&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/FONT&gt;WHERE &lt;FONT size=3&gt;&lt;EM class=replaceable&gt;&lt;CODE&gt;&lt;FONT face=GulimChe&gt;ref_table&lt;/FONT&gt;&lt;/CODE&gt;&lt;/EM&gt;.&lt;EM class=replaceable&gt;&lt;CODE&gt;&lt;FONT face=GulimChe&gt;key_column_part1&lt;/FONT&gt;&lt;/CODE&gt;&lt;/EM&gt;= &lt;EM class=replaceable&gt;&lt;CODE&gt;&lt;FONT face=GulimChe&gt;other_table&lt;/FONT&gt;&lt;/CODE&gt;&lt;/EM&gt;.&lt;FONT face=GulimChe&gt;&lt;EM class=replaceable&gt;&lt;CODE&gt;column&lt;/CODE&gt;&lt;/EM&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/FONT&gt;AND &lt;FONT size=3&gt;&lt;EM class=replaceable&gt;&lt;CODE&gt;&lt;FONT face=GulimChe&gt;ref_table&lt;/FONT&gt;&lt;/CODE&gt;&lt;/EM&gt;.&lt;EM class=replaceable&gt;&lt;CODE&gt;&lt;FONT face=GulimChe&gt;key_column_part2&lt;/FONT&gt;&lt;/CODE&gt;&lt;/EM&gt;=1;&lt;/FONT&gt;&lt;/FONT&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;LI style="LIST-STYLE-TYPE: none"&gt;&lt;br /&gt;&lt;LI&gt;&lt;P&gt;&lt;CODE class=literal&gt;&lt;FONT face=GulimChe&gt;ref&lt;/FONT&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=Courier&gt;이전 테이블과의 조인에 사용될 매치되는 인덱스의 모든행이 이 테이블에서 읽혀진다. leftmost prefix 키만을 사용하거나 사용된 키가 &lt;FONT face="Courier New"&gt;PRIMARY KEY&lt;/FONT&gt; 나 &lt;CODE class=literal&gt;&lt;FONT face=GulimChe&gt;UNIQUE&lt;/FONT&gt;&lt;/CODE&gt; 가 아닐때(즉 키값으로 단일행을 추출할수 없을때) 사용되는 조인.&lt;br /&gt;만약 사용된 키가 적은수의 행과 매치될때 이것은 적절한 조인 타입니다.&lt;br /&gt;ref 는 인덱스된 컬럼과 = 연산에서 사용된다.&lt;br /&gt;아래 예에서 MySQL 은 &lt;FONT face="Courier New"&gt;&lt;EM&gt;ref_table&lt;/EM&gt; 처리에 ref 조인 타입을 사용한다.&lt;/FONT&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;FONT face=Courier size=2&gt;&lt;br /&gt;SELECT * FROM &lt;EM class=replaceable&gt;&lt;CODE&gt;&lt;FONT face=GulimChe size=3&gt;ref_table&lt;/FONT&gt;&lt;/CODE&gt;&lt;/EM&gt; WHERE &lt;FONT size=3&gt;&lt;EM class=replaceable&gt;&lt;CODE&gt;&lt;FONT face=GulimChe&gt;key_column&lt;/FONT&gt;&lt;/CODE&gt;&lt;/EM&gt;=&lt;EM class=replaceable&gt;&lt;CODE&gt;&lt;FONT face=GulimChe&gt;expr&lt;/FONT&gt;&lt;/CODE&gt;&lt;/EM&gt;;&lt;/FONT&gt;&lt;br /&gt;SELECT * FROM &lt;FONT size=3&gt;&lt;EM class=replaceable&gt;&lt;CODE&gt;&lt;FONT face=GulimChe&gt;ref_table&lt;/FONT&gt;&lt;/CODE&gt;&lt;/EM&gt;,&lt;FONT face=GulimChe&gt;&lt;EM class=replaceable&gt;&lt;CODE&gt;other_table&lt;/CODE&gt;&lt;/EM&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/FONT&gt;WHERE &lt;FONT size=3&gt;&lt;EM class=replaceable&gt;&lt;CODE&gt;&lt;FONT face=GulimChe&gt;ref_table&lt;/FONT&gt;&lt;/CODE&gt;&lt;/EM&gt;.&lt;EM class=replaceable&gt;&lt;CODE&gt;&lt;FONT face=GulimChe&gt;key_column&lt;/FONT&gt;&lt;/CODE&gt;&lt;/EM&gt;=&lt;EM class=replaceable&gt;&lt;CODE&gt;&lt;FONT face=GulimChe&gt;other_table&lt;/FONT&gt;&lt;/CODE&gt;&lt;/EM&gt;.&lt;EM class=replaceable&gt;&lt;CODE&gt;&lt;FONT face=GulimChe&gt;column&lt;/FONT&gt;&lt;/CODE&gt;&lt;/EM&gt;;&lt;br /&gt;&lt;/FONT&gt;SELECT * FROM &lt;FONT size=3&gt;&lt;EM class=replaceable&gt;&lt;CODE&gt;&lt;FONT face=GulimChe&gt;ref_table&lt;/FONT&gt;&lt;/CODE&gt;&lt;/EM&gt;,&lt;FONT face=GulimChe&gt;&lt;EM class=replaceable&gt;&lt;CODE&gt;other_table&lt;/CODE&gt;&lt;/EM&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/FONT&gt;WHERE &lt;FONT size=3&gt;&lt;EM class=replaceable&gt;&lt;CODE&gt;&lt;FONT face=GulimChe&gt;ref_table&lt;/FONT&gt;&lt;/CODE&gt;&lt;/EM&gt;.&lt;EM class=replaceable&gt;&lt;CODE&gt;&lt;FONT face=GulimChe&gt;key_column_part1&lt;/FONT&gt;&lt;/CODE&gt;&lt;/EM&gt;= &lt;EM class=replaceable&gt;&lt;CODE&gt;&lt;FONT face=GulimChe&gt;other_table&lt;/FONT&gt;&lt;/CODE&gt;&lt;/EM&gt;.&lt;FONT face=GulimChe&gt;&lt;EM class=replaceable&gt;&lt;CODE&gt;column&lt;/CODE&gt;&lt;/EM&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/FONT&gt;AND &lt;FONT size=3&gt;&lt;EM class=replaceable&gt;&lt;CODE&gt;&lt;FONT face=GulimChe&gt;ref_table&lt;/FONT&gt;&lt;/CODE&gt;&lt;/EM&gt;.&lt;EM class=replaceable&gt;&lt;CODE&gt;&lt;FONT face=GulimChe&gt;key_column_part2&lt;/FONT&gt;&lt;/CODE&gt;&lt;/EM&gt;=1;&lt;br /&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;br /&gt;&lt;/P&gt;&lt;br /&gt;&lt;LI&gt;&lt;P&gt;&lt;CODE class=literal&gt;&lt;FONT face=GulimChe&gt;ref_or_null&lt;/FONT&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=Courier&gt;ref 와 같지만 NULL 값을 포함하는 행에대한 검색이 수반된다.&lt;br /&gt;4.1.1 에서 새롭게 도입된 조인타입이며 서브쿼리 처리에서 대개 사용된다.&lt;br /&gt;아래 예에서 MySQL 은 &lt;EM&gt;&lt;FONT face="Courier New"&gt;ref_table&lt;/FONT&gt;&lt;/EM&gt; 처리에 ref_or_null 조인타입을 사용한다.&lt;/FONT&gt;&lt;/P&gt;&lt;PRE class=programlisting&gt;&lt;FONT face=Courier size=2&gt;SELECT * FROM &lt;EM class=replaceable&gt;&lt;CODE&gt;&lt;FONT size=3&gt;ref_table&lt;/FONT&gt;&lt;/CODE&gt;&lt;/EM&gt;WHERE &lt;FONT size=3&gt;&lt;EM class=replaceable&gt;&lt;CODE&gt;key_column&lt;/CODE&gt;&lt;/EM&gt;=&lt;EM class=replaceable&gt;&lt;CODE&gt;expr&lt;/CODE&gt;&lt;/EM&gt;&lt;/FONT&gt; OR &lt;EM class=replaceable&gt;&lt;CODE&gt;&lt;FONT size=3&gt;key_column&lt;/FONT&gt;&lt;/CODE&gt;&lt;/EM&gt; IS NULL; &lt;/FONT&gt;&lt;/PRE&gt;&lt;P&gt;&lt;FONT face=Courier&gt;See&lt;/FONT&gt; &lt;A class=con_link title="7.2.7.쟄ow MySQL Optimizes IS NULL" href="http://database.sarang.net/ch07s02.html#is-null-optimization" target=_blank&gt;&lt;FONT face=Courier&gt;Section 7.2.7, “How MySQL Optimizes &lt;CODE class=literal&gt;&lt;FONT face=GulimChe&gt;IS NULL&lt;/FONT&gt;&lt;/CODE&gt;”&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Courier&gt;.&lt;br /&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;LI&gt;&lt;P&gt;&lt;CODE class=literal&gt;&lt;FONT face=GulimChe&gt;index_merge&lt;/FONT&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=Courier&gt;인덱스 병합 최적화가 적용되는 조인 타입.&lt;br /&gt;이 경우, key 컬럼은 사용된 인덱스의 리스트를 나타내며 key_len 컬럼은 사용된 인덱스중 가장 긴 key 명을 나타낸다.&lt;br /&gt;For more information, see&lt;/FONT&gt; &lt;A class=con_link title="7.2.6.쟅ndex Merge Optimization" href="http://database.sarang.net/ch07s02.html#index-merge-optimization" target=_blank designtimeurl="ch07s02.html#index-merge-optimization"&gt;&lt;FONT face=Courier&gt;Section 7.2.6, “Index Merge Optimization”&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Courier&gt;.&lt;br /&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;LI&gt;&lt;P&gt;&lt;CODE class=literal&gt;&lt;FONT face=GulimChe&gt;unique_subquery&lt;/FONT&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=Courier&gt;이것은 아래와 같은 몇몇 IN 서브쿼리 처리에서 ref 타입대신 사용된다.&lt;br /&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face=Courier&gt;&lt;EM class=replaceable&gt;&lt;CODE&gt;&lt;br /&gt;&lt;FONT face=GulimChe size=3&gt;value&lt;/FONT&gt;&lt;/CODE&gt;&lt;/EM&gt; IN (SELECT &lt;EM class=replaceable&gt;&lt;CODE&gt;&lt;FONT face=GulimChe size=3&gt;primary_key&lt;/FONT&gt;&lt;/CODE&gt;&lt;/EM&gt; FROM &lt;EM class=replaceable&gt;&lt;CODE&gt;&lt;FONT face=GulimChe size=3&gt;single_table&lt;/FONT&gt;&lt;/CODE&gt;&lt;/EM&gt; WHERE &lt;EM class=replaceable&gt;&lt;CODE&gt;&lt;FONT face=GulimChe size=3&gt;some_expr&lt;/FONT&gt;&lt;/CODE&gt;&lt;/EM&gt;)&lt;br /&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=GulimChe&gt;&lt;CODE class=literal&gt;unique_subquery 는 성능향상을 위해 서브쿼리를 단순 index 검색 함수로 대체한다.&lt;/CODE&gt;&lt;br /&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;LI&gt;&lt;P&gt;&lt;CODE class=literal&gt;&lt;FONT face=GulimChe&gt;index_subquery&lt;/FONT&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=Courier&gt;unique_subquery 와 마찬가지로 IN 서브쿼리를 대체한다. 그러나 이것은 아래와 같이 서브쿼리에서 non-unique 인덱스가 사용될때 동작한다.&lt;br /&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face=Courier&gt;&lt;EM class=replaceable&gt;&lt;CODE&gt;&lt;br /&gt;&lt;FONT face=GulimChe size=3&gt;value&lt;/FONT&gt;&lt;/CODE&gt;&lt;/EM&gt; IN (SELECT &lt;EM class=replaceable&gt;&lt;CODE&gt;&lt;FONT face=GulimChe size=3&gt;key_column&lt;/FONT&gt;&lt;/CODE&gt;&lt;/EM&gt; FROM &lt;EM class=replaceable&gt;&lt;CODE&gt;&lt;FONT face=GulimChe size=3&gt;single_table&lt;/FONT&gt;&lt;/CODE&gt;&lt;/EM&gt; WHERE &lt;EM class=replaceable&gt;&lt;CODE&gt;&lt;FONT face=GulimChe size=3&gt;some_expr&lt;/FONT&gt;&lt;/CODE&gt;&lt;/EM&gt;)&lt;br /&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;br /&gt;&lt;/P&gt;&lt;LI&gt;&lt;P&gt;&lt;CODE class=literal&gt;&lt;FONT face=GulimChe&gt;range&lt;/FONT&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=Courier&gt;인덱스를 사용하여 주어진 범위 내의 행들만 추출된다. key 컬럼은 사용된 인덱스를 나타내고 key_len 는 사용된 가장 긴 key 부분을 나타낸다.&lt;br /&gt;ref 컬럼은 이 타입의 조인에서 NULL 이다.&lt;br /&gt;range 타입은 키 컬럼이 상수와 &lt;CODE class=literal&gt;&lt;FONT face=GulimChe&gt;=&lt;/FONT&gt;&lt;/CODE&gt;, &lt;CODE class=literal&gt;&lt;FONT face=GulimChe&gt;&amp;lt;&amp;gt;&lt;/FONT&gt;&lt;/CODE&gt;, &lt;CODE class=literal&gt;&lt;FONT face=GulimChe&gt;&amp;gt;&lt;/FONT&gt;&lt;/CODE&gt;, &lt;CODE class=literal&gt;&lt;FONT face=GulimChe&gt;&amp;gt;=&lt;/FONT&gt;&lt;/CODE&gt;, &lt;CODE class=literal&gt;&lt;FONT face=GulimChe&gt;&amp;lt;&lt;/FONT&gt;&lt;/CODE&gt;, &lt;CODE class=literal&gt;&lt;FONT face=GulimChe&gt;&amp;lt;=&lt;/FONT&gt;&lt;/CODE&gt;, &lt;CODE class=literal&gt;&lt;FONT face=GulimChe&gt;IS NULL&lt;/FONT&gt;&lt;/CODE&gt;, &lt;CODE class=literal&gt;&lt;FONT face=GulimChe&gt;&amp;lt;=&amp;gt;&lt;/FONT&gt;&lt;/CODE&gt;, &lt;CODE class=literal&gt;&lt;FONT face=GulimChe&gt;BETWEEN 또는&lt;/FONT&gt;&lt;/CODE&gt; &lt;CODE class=literal&gt;&lt;FONT face=GulimChe&gt;IN&lt;/FONT&gt;&lt;/CODE&gt; 연산에 사용될때 적용된다.&lt;br /&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;br /&gt;&lt;PRE class=programlisting&gt;&lt;FONT face=Courier size=2&gt;SELECT * FROM &lt;EM class=replaceable&gt;&lt;CODE&gt;&lt;FONT size=3&gt;tbl_name&lt;/FONT&gt;&lt;/CODE&gt;&lt;/EM&gt;WHERE &lt;FONT size=3&gt;&lt;EM class=replaceable&gt;&lt;CODE&gt;key_column&lt;/CODE&gt;&lt;/EM&gt; = 10;&lt;/FONT&gt;SELECT * FROM &lt;EM class=replaceable&gt;&lt;CODE&gt;&lt;FONT size=3&gt;tbl_name&lt;/FONT&gt;&lt;/CODE&gt;&lt;/EM&gt;WHERE &lt;EM class=replaceable&gt;&lt;CODE&gt;&lt;FONT size=3&gt;key_column&lt;/FONT&gt;&lt;/CODE&gt;&lt;/EM&gt; BETWEEN 10 and 20;SELECT * FROM &lt;EM class=replaceable&gt;&lt;CODE&gt;&lt;FONT size=3&gt;tbl_name&lt;/FONT&gt;&lt;/CODE&gt;&lt;/EM&gt;WHERE &lt;EM class=replaceable&gt;&lt;CODE&gt;&lt;FONT size=3&gt;key_column&lt;/FONT&gt;&lt;/CODE&gt;&lt;/EM&gt; IN (10,20,30);SELECT * FROM &lt;EM class=replaceable&gt;&lt;CODE&gt;&lt;FONT size=3&gt;tbl_name&lt;/FONT&gt;&lt;/CODE&gt;&lt;/EM&gt;WHERE &lt;FONT size=3&gt;&lt;EM class=replaceable&gt;&lt;CODE&gt;key_part1&lt;/CODE&gt;&lt;/EM&gt;= 10&lt;/FONT&gt; AND &lt;EM class=replaceable&gt;&lt;CODE&gt;&lt;FONT size=3&gt;key_part2&lt;/FONT&gt;&lt;/CODE&gt;&lt;/EM&gt; IN (10,20,30);&lt;/FONT&gt;&lt;/PRE&gt;&lt;br /&gt;&lt;LI&gt;&lt;P&gt;&lt;CODE class=literal&gt;&lt;FONT face=GulimChe&gt;index&lt;/FONT&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=Courier&gt;이 타입은 인덱스가 스캔된다는걸 제외하면 ALL 과 같다. 일반적으로 인덱스 파일이 데이타파일보다 작기 때문에 ALL 보다는 빠르다.&lt;br /&gt;MySQL 은 쿼리에서 단일 인덱스의 일부분인 컬럼을 사용할때 이 조인타입을 적용한다.&lt;br /&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;br /&gt;&lt;/P&gt;&lt;LI&gt;&lt;P&gt;&lt;CODE class=literal&gt;&lt;FONT face=GulimChe&gt;ALL&lt;/FONT&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=Courier&gt;이전 테이블과의 조인을 위해 풀스캔이 된다. 만약 (조인에 쓰인) 첫번째 테이블이 고정이 아니라면 비효율적이다, 그리고 대부분의 경우에 아주 느린 성능을 보인다. 보통 상수값이나 상수인 컬럼값으로 row를 추출하도록 인덱스를 추가함으로써 ALL 타입을 피할 수 있다.&lt;/FONT&gt;&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/DIV&gt;&lt;br /&gt;&lt;UL type=disc&gt;&lt;LI&gt;&lt;P&gt;&lt;CODE class=literal&gt;&lt;FONT face=GulimChe&gt;possible_keys&lt;/FONT&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=Courier&gt;이 컬럼값은 MySQL 이 해당 테이블의 검색에 사용할수 있는 인덱스들을 나타낸다.&lt;br /&gt;주의할것은 explain 결과에서 나타난 테이블들의 순서와는 무관하다는 것이다.&lt;br /&gt;이것은 possible_keys 에 나타난 인덱스들이 결과에 나타난 테이블 순서에서 실제 사용할 수 없을수도 있다는 것을 의미한다.&lt;br /&gt;이값이 NULL 이라면 사용가능한 인덱스가 없다는 것이다. 이러한 경우에는 인덱스를 where 절을 고려하여 사용됨직한 적절한 컬럼에 인덱스를 추가함으로써 성능을 개선할 수 있다. 인덱스를 수정하였다면 다시한번 EXPLAIN 을 실행하여 체크하라.&lt;br /&gt;&lt;/FONT&gt;&lt;FONT face=Courier&gt;See&lt;/FONT&gt; &lt;A class=con_link title="13.2.2.잸LTER TABLE Syntax" href="http://database.sarang.net/ch13s02.html#alter-table" target=_blank designtimeurl="ch13s02.html#alter-table"&gt;&lt;FONT face=Courier&gt;Section 13.2.2, “&lt;CODE class=literal&gt;&lt;FONT face=GulimChe&gt;ALTER TABLE&lt;/FONT&gt;&lt;/CODE&gt; Syntax”&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Courier&gt;.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=Courier&gt;현재 테이블의 인덱스를 보기 위해서는 &lt;CODE class=literal&gt;&lt;FONT face=GulimChe&gt;SHOW INDEX FROM &lt;EM class=replaceable&gt;&lt;CODE&gt;tbl_name&lt;/CODE&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/CODE&gt;.을 사용하라.&lt;/FONT&gt;&lt;/P&gt;&lt;LI&gt;&lt;P&gt;&lt;CODE class=literal&gt;&lt;FONT face=GulimChe&gt;key&lt;/FONT&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=Courier&gt;이 컬럼은 MySQL 이 실제 사용한 key(index) 를 나타낸다.&lt;br /&gt;만약 사용한 인덱스가 없다면 NULL 값일 것이다. MySQL 이 possible_keys 에 나타난 인덱스를 사용하거나 사용하지 않도록 강제하려면 &lt;FONT face="Courier New"&gt;FORCE INDEX&lt;/FONT&gt;, &lt;CODE class=literal&gt;&lt;FONT face=GulimChe&gt;USE INDEX&lt;/FONT&gt;&lt;/CODE&gt;, 혹은 &lt;CODE class=literal&gt;&lt;FONT face=GulimChe&gt;IGNORE INDEX&lt;/FONT&gt;&lt;/CODE&gt; 를 함께 사용하라.&lt;br /&gt;See&lt;/FONT&gt; &lt;A class=con_link title="13.1.7.쟔ELECT Syntax" href="http://database.sarang.net/ch13.html#select" target=_blank designtimeurl="ch13.html#select"&gt;&lt;FONT face=Courier&gt;Section 13.1.7, “&lt;CODE class=literal&gt;&lt;FONT face=GulimChe&gt;SELECT&lt;/FONT&gt;&lt;/CODE&gt; Syntax”&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Courier&gt;.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=Courier&gt;&lt;FONT face="Courier New"&gt;MyISAM&lt;/FONT&gt; 과 &lt;CODE class=literal&gt;&lt;FONT face=GulimChe&gt;BDB&lt;/FONT&gt;&lt;/CODE&gt; 테이블에서는 &lt;FONT face="Courier New"&gt;ANALYZE TABLE&lt;/FONT&gt; 이 옵티마이저가 더나은 인덱스를 선택할 수 있도록 테이블의 정보를 갱신한다.&lt;br /&gt;&lt;FONT face="Courier New"&gt;MyISAM 에서는&lt;/FONT&gt; &lt;FONT face=Courier&gt;&lt;SPAN&gt;&lt;STRONG&gt;myisamchk --analyze&lt;/STRONG&gt; 가 같은 기능을 한다.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;br /&gt;See&lt;/FONT&gt; &lt;A class=con_link title="13.5.2.1.잸NALYZE TABLE Syntax" href="http://database.sarang.net/ch13s05.html#analyze-table" target=_blank&gt;&lt;FONT face=Courier&gt;Section 13.5.2.1, “&lt;CODE class=literal&gt;&lt;FONT face=GulimChe&gt;ANALYZE TABLE&lt;/FONT&gt;&lt;/CODE&gt; Syntax”&lt;/FONT&gt;&lt;/A&gt; &lt;FONT face=Courier&gt;and&lt;/FONT&gt; &lt;A class=con_link title="5.7.2.쟕able Maintenance and Crash Recovery" href="http://database.sarang.net/ch05s07.html#table-maintenance" target=_blank&gt;&lt;FONT face=Courier&gt;Section 5.7.2, “Table Maintenance and Crash Recovery”&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Courier&gt;.&lt;/FONT&gt;&lt;/P&gt;&lt;LI&gt;&lt;P&gt;&lt;CODE class=literal&gt;&lt;FONT face=GulimChe&gt;key_len&lt;/FONT&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=Courier&gt;이 컬럼은 MySQL 이 사용한 인덱스의 길이를 나타낸다. key 컬럼값이 NULL 이면 이값도 NULL 이다.&lt;br /&gt;key_len 값으로 MySQL 이 실제 복수컬럼 키중 얼마나 많은 부분을 사용할 것인지 알 수 있다.&lt;br /&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;LI&gt;&lt;P&gt;&lt;CODE class=literal&gt;&lt;FONT face=GulimChe&gt;ref&lt;/FONT&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=Courier&gt;이 컬럼은 행을 추출하는데 키와 함께 사용된 컬럼이나 상수값을 나타낸다.&lt;br /&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;br /&gt;&lt;LI&gt;&lt;P&gt;&lt;CODE class=literal&gt;&lt;FONT face=GulimChe&gt;rows&lt;/FONT&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=Courier&gt;이 값은 쿼리 수행에서 MySQL 이 예상하는 검색해야할 행수를 나타낸다.&lt;br /&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;LI&gt;&lt;P&gt;&lt;CODE class=literal&gt;&lt;FONT face=GulimChe&gt;Extra&lt;/FONT&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=Courier&gt;이 컬럼은 MySQL 이 쿼리를 해석한 추가적인 정보를 나타낸다.&lt;br /&gt;아래와 같은 값들이 나타날 수 있다.&lt;br /&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;DIV class=itemizedlist&gt;&lt;UL type=circle&gt;&lt;LI&gt;&lt;P&gt;&lt;CODE class=literal&gt;&lt;FONT face=GulimChe&gt;Distinct&lt;/FONT&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=Courier&gt;MySQL 이 매치되는 첫행을 찾는 즉시 검색을 중단할 것이다.&lt;br /&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;LI&gt;&lt;P&gt;&lt;CODE class=literal&gt;&lt;FONT face=GulimChe&gt;Not exists&lt;/FONT&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=Courier&gt;MySQL 이 LEFT JOIN 을 수행함에 매치되는 한 행을 찾으면 더이상 매치되는 행을 검색하지 않는다.&lt;br /&gt;아래와 같은 경우에 해당한다.&lt;/FONT&gt;&lt;/P&gt;&lt;br /&gt;&lt;PRE class=programlisting&gt;&lt;FONT face=Courier size=2&gt;SELECT * FROM t1 LEFT JOIN t2 ON t1.id=t2.idWHERE t2.id IS NULL;&lt;/FONT&gt;&lt;/PRE&gt;&lt;P&gt;여기서 t2.id 는 NOT NULL 이고, 이경우 MySQL 은 t1 을 스캔한 후 t1.id 값을 사용해 t2 를 검색한다. MySQL 이 t2 에서 매치되는 행을 찾으면 t2.id 는 NULL 이 될 수 없으므로 더이상 진행하지 않는다. 즉, t1 의 각 행에 대해 t2 에서 매치되는 행이 몇개가 있던지 한개만 찾으면 된다.&lt;/P&gt;&lt;br /&gt;&lt;LI&gt;&lt;P&gt;&lt;CODE class=literal&gt;&lt;FONT face=GulimChe&gt;range checked for each record (index map: #)&lt;/FONT&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=Courier&gt;MySQL 이 사용할 좋은 인덱스가 없다. 그러나 선행된 테이블의 컬럼값에 따라 몇몇 인덱스를 사용할 수 있다. 선행된 테이블의 개개 행에 대해 MySQL 이 range 나 index_merge 접근법을 사용할 수 있는지 체크할 것이다.&lt;br /&gt;적용가능성의 핵심은 &lt;A class=con_link title="7.2.5.쟓ange Optimization" href="http://database.sarang.net/ch07s02.html#range-optimization" target=_blank designtimeurl="ch07s02.html#range-optimization"&gt;&lt;FONT face=Courier&gt;Section 7.2.5, “Range Optimization”&lt;/FONT&gt;&lt;/A&gt; &lt;FONT face=Courier&gt;and&lt;/FONT&gt; &lt;A class=con_link title="7.2.6.쟅ndex Merge Optimization" href="http://database.sarang.net/ch07s02.html#index-merge-optimization" target=_blank&gt;&lt;FONT face=Courier&gt;Section 7.2.6, “Index Merge Optimization”&lt;/FONT&gt;&lt;/A&gt; 에 모든 선행된 테이블의 값이 명확하거나 상수인 때를 예외로 하여 기술되어 있다.&lt;br /&gt;이것은 그리 빠르진 않으나 인덱스가 없는 조인의 경우보다는 빠르다.&lt;/FONT&gt;&lt;/P&gt;&lt;br /&gt;&lt;LI&gt;&lt;P&gt;&lt;CODE class=literal&gt;&lt;FONT face=GulimChe&gt;Using filesort&lt;/FONT&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=Courier&gt;MySQL 이 정렬을 위해 추가적인 과정을 필요로한다. 정렬과정은 조인타입에 따라 모든 행을 검색하고 WHERE 절에 의해 매치된 모든 행들의 키값을 저장한다. 그리고 저장된 키값을 정렬하여 재정렬된 순서로 행들을 추출한다.&lt;br /&gt;See&lt;/FONT&gt; &lt;A class=con_link title="7.2.10.쟄ow MySQL Optimizes ORDER BY" href="http://database.sarang.net/ch07s02.html#order-by-optimization" target=_blank&gt;&lt;FONT face=Courier&gt;Section 7.2.10, “How MySQL Optimizes &lt;CODE class=literal&gt;&lt;FONT face=GulimChe&gt;ORDER BY&lt;/FONT&gt;&lt;/CODE&gt;”&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Courier&gt;.&lt;/FONT&gt;&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/DIV&gt;&lt;br /&gt;&lt;UL type=circle&gt;&lt;LI&gt;&lt;P&gt;&lt;CODE class=literal&gt;&lt;FONT face=GulimChe&gt;Using index&lt;/FONT&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=Courier&gt;컬럼정보가 실제 테이블이 아닌 인덱스트리에서 추출된다. 쿼리에서 단일 인덱스된 컬럼들만을 사용하는 경우이다.&lt;/FONT&gt;&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;br /&gt;&lt;UL type=circle&gt;&lt;LI&gt;&lt;P&gt;&lt;FONT face=GulimChe&gt;&lt;CODE class=literal&gt;Using temporary&lt;br /&gt;&lt;/CODE&gt;&lt;/FONT&gt;&lt;FONT face=Courier&gt;MySQL 이 결과의 재사용을 위해 임시테이블을 사용한다. 쿼리 내에 GROUP BY 와 ORDER BY 절이 각기 다른 컬럼을 사용할때 발생한다.&lt;/FONT&gt;&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;br /&gt;&lt;UL type=circle&gt;&lt;LI&gt;&lt;P&gt;&lt;FONT face=GulimChe&gt;&lt;CODE class=literal&gt;Using where&lt;br /&gt;&lt;/CODE&gt;&lt;/FONT&gt;&lt;FONT face=Courier&gt;WHERE 절이 다음 조인에 사용될 행이나 클라이언트에게 돌려질 행을 제한하는 경우이다. 테이블의 모든 행을 검사할 의도가 아니라면 Extra 값이 Using where 가 아니고 조인타입이 ALL 이나 index 라면 쿼리사용이 잘못되었다.&lt;br /&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;LI&gt;&lt;P&gt;&lt;FONT face=Courier color=#ff0000&gt;&lt;STRONG&gt;쿼리를 가능한 한 빠르게 하려면, Extra 값의 Using filesort 나 Using temporary 에 주의해야 한다.&lt;br /&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;LI&gt;&lt;P&gt;&lt;FONT face=Courier&gt;&lt;CODE class=literal&gt;&lt;FONT face=GulimChe&gt;Using sort_union(...) &lt;/FONT&gt;&lt;FONT face=Courier&gt;,&lt;/FONT&gt;&lt;FONT face=GulimChe&gt; &lt;CODE class=literal&gt;Using union(...)&lt;/CODE&gt; &lt;/FONT&gt;&lt;FONT face=Courier&gt;,&lt;/FONT&gt;&lt;FONT face=GulimChe&gt; &lt;/FONT&gt;&lt;FONT face=GulimChe&gt;&lt;CODE class=literal&gt;Using intersect(...)&lt;br /&gt;이들은 인덱스 병합 조인타입에서 인덱스 스캔이 병합되는 형태를 말한다.&lt;/CODE&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/CODE&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=Courier&gt;See&lt;/FONT&gt; &lt;A class=con_link title="7.2.6.쟅ndex Merge Optimization" href="http://database.sarang.net/ch07s02.html#index-merge-optimization" target=_blank&gt;&lt;FONT face=Courier&gt;Section 7.2.6, “Index Merge Optimization”&lt;/FONT&gt;&lt;/A&gt; &lt;FONT face=Courier&gt;for more information.&lt;/FONT&gt;&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;br /&gt;&lt;UL type=circle&gt;&lt;LI&gt;&lt;P&gt;&lt;CODE class=literal&gt;&lt;FONT face=GulimChe&gt;Using index for group-by&lt;/FONT&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=Courier&gt;테이블 접근방식은 Using index 와 같다. MySQL 이 실제 테이블에 대한 어떠한 추가적인 디스크 접근 없이 GROUP BY 나 DICTINCT 쿼리에 사용된 모든 컬럼에 대한 인덱스를 찾았음을 말한다. 추가적으로 각각의 group 에 단지 몇개의 인덱스 항목만이 읽혀지도록 가장 효율적인 방식으로 인덱스가 사용될 것이다.&lt;br /&gt;For details, see&lt;/FONT&gt; &lt;A class=con_link title="7.2.11.쟄ow MySQL Optimizes GROUP BY" href="http://database.sarang.net/ch07s02.html#group-by-optimization" target=_blank&gt;&lt;FONT face=Courier&gt;Section 7.2.11, “How MySQL Optimizes &lt;CODE class=literal&gt;&lt;FONT face=GulimChe&gt;GROUP BY&lt;/FONT&gt;&lt;/CODE&gt;”&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Courier&gt;.&lt;/FONT&gt;&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;FONT face=Courier&gt;EXPLAIN 의 출력내용중 rows 컬럼값들을 곱해봄으로써 얼마나 효과적인 join 을 실행하고 있는지 알 수 있다. 이 값은 MySQL 이 쿼리수행중 검사해야할 행수를 대략적으로 알려준다. 만약 max_join_size 시스템 변수값을 설정하였다면 이 값은 또한 여러테이블을 사용하는 select 중 어느것을 먼저 실행할지 판단하는데 사용된다.&lt;br /&gt;See&lt;/FONT&gt; &lt;A class=con_link title="7.5.2.쟕uning Server Parameters" href="http://database.sarang.net/ch07s05.html#server-parameters" target=_blank designtimeurl="ch07s05.html#server-parameters"&gt;&lt;FONT face=Courier&gt;Section 7.5.2, “Tuning Server Parameters”&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Courier&gt;.&lt;/FONT&gt;&lt;/P&gt;&lt;br /&gt;&lt;P&gt;&lt;FONT face=Courier&gt;다음 예는 다중테이블 조인이 EXPLAIN 정보를 통해 점차적으로 개선되는 과정을 보여준다. 만약 아래와 같은 select 문을 EXPLAIN 으로 개선한다면 :&lt;/FONT&gt;&lt;/P&gt;&lt;PRE class=programlisting&gt;&lt;FONT face=Courier size=2&gt;EXPLAIN SELECT tt.TicketNumber, tt.TimeIn,            tt.ProjectReference, tt.EstimatedShipDate,            tt.ActualShipDate, tt.ClientID,            tt.ServiceCodes, tt.RepetitiveID,            tt.CurrentProcess, tt.CurrentDPPerson,            tt.RecordVolume, tt.DPPrinted, et.COUNTRY,            et_1.COUNTRY, do.CUSTNAME        FROM tt, et, et AS et_1, do        WHERE tt.SubmitTime IS NULL            AND tt.ActualPC = et.EMPLOYID            AND tt.AssignedPC = et_1.EMPLOYID            AND tt.ClientID = do.CUSTNMBR;&lt;/FONT&gt;&lt;/PRE&gt;&lt;P&gt;&lt;FONT face=Courier&gt;이 예에서 아래와 같은 가정이 사용되었다.:&lt;/FONT&gt;&lt;/P&gt;&lt;DIV class=itemizedlist&gt;&lt;UL type=disc&gt;&lt;LI&gt;&lt;P&gt;&lt;FONT face=Courier&gt;The columns being compared have been declared as follows:&lt;/FONT&gt;&lt;/P&gt;&lt;DIV class=informaltable&gt;&lt;TABLE border=1&gt;&lt;COLGROUP&gt;&lt;COL&gt;&lt;COL&gt;&lt;COL&gt;&lt;/COLGROUP&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;FONT size=2&gt;&lt;SPAN class=bold&gt;&lt;STRONG&gt;&lt;FONT face=Courier&gt;Table&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;SPAN class=bold&gt;&lt;STRONG&gt;&lt;FONT face=Courier&gt;Column&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT face=Courier&gt;&lt;SPAN class=bold&gt;&lt;STRONG&gt;Column Type&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;CODE class=literal&gt;&lt;FONT face=Courier&gt;tt&lt;/FONT&gt;&lt;/CODE&gt;&lt;/TD&gt;&lt;TD&gt;&lt;CODE class=literal&gt;&lt;FONT face=Courier&gt;ActualPC&lt;/FONT&gt;&lt;/CODE&gt;&lt;/TD&gt;&lt;TD&gt;&lt;CODE class=literal&gt;&lt;FONT face=GulimChe&gt;CHAR(10)&lt;/FONT&gt;&lt;/CODE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;CODE class=literal&gt;&lt;FONT face=Courier&gt;tt&lt;/FONT&gt;&lt;/CODE&gt;&lt;/TD&gt;&lt;TD&gt;&lt;CODE class=literal&gt;&lt;FONT face=Courier&gt;AssignedPC&lt;/FONT&gt;&lt;/CODE&gt;&lt;/TD&gt;&lt;TD&gt;&lt;CODE class=literal&gt;&lt;FONT face=GulimChe&gt;CHAR(10)&lt;/FONT&gt;&lt;/CODE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;CODE class=literal&gt;&lt;FONT face=Courier&gt;tt&lt;/FONT&gt;&lt;/CODE&gt;&lt;/TD&gt;&lt;TD&gt;&lt;CODE class=literal&gt;&lt;FONT face=Courier&gt;ClientID&lt;/FONT&gt;&lt;/CODE&gt;&lt;/TD&gt;&lt;TD&gt;&lt;CODE class=literal&gt;&lt;FONT face=GulimChe&gt;CHAR(10)&lt;/FONT&gt;&lt;/CODE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;CODE class=literal&gt;&lt;FONT face=Courier&gt;et&lt;/FONT&gt;&lt;/CODE&gt;&lt;/TD&gt;&lt;TD&gt;&lt;CODE class=literal&gt;&lt;FONT face=Courier&gt;EMPLOYID&lt;/FONT&gt;&lt;/CODE&gt;&lt;/TD&gt;&lt;TD&gt;&lt;CODE class=literal&gt;&lt;FONT face=GulimChe&gt;CHAR(15)&lt;/FONT&gt;&lt;/CODE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;CODE class=literal&gt;&lt;FONT face=Courier&gt;do&lt;/FONT&gt;&lt;/CODE&gt;&lt;/TD&gt;&lt;TD&gt;&lt;CODE class=literal&gt;&lt;FONT face=Courier&gt;CUSTNMBR&lt;/FONT&gt;&lt;/CODE&gt;&lt;/TD&gt;&lt;TD&gt;&lt;CODE class=literal&gt;&lt;FONT face=GulimChe&gt;CHAR(15)&lt;/FONT&gt;&lt;/CODE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;&lt;LI&gt;&lt;P&gt;&lt;FONT face=Courier&gt;The tables have the following indexes:&lt;/FONT&gt;&lt;/P&gt;&lt;DIV class=informaltable&gt;&lt;TABLE border=1&gt;&lt;COLGROUP&gt;&lt;COL&gt;&lt;COL&gt;&lt;/COLGROUP&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;FONT size=2&gt;&lt;SPAN class=bold&gt;&lt;STRONG&gt;&lt;FONT face=Courier&gt;Table&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT face=Courier&gt;&lt;SPAN class=bold&gt;&lt;STRONG&gt;Index&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;CODE class=literal&gt;&lt;FONT face=Courier&gt;tt&lt;/FONT&gt;&lt;/CODE&gt;&lt;/TD&gt;&lt;TD&gt;&lt;CODE class=literal&gt;&lt;FONT face=GulimChe&gt;ActualPC&lt;/FONT&gt;&lt;/CODE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;CODE class=literal&gt;&lt;FONT face=Courier&gt;tt&lt;/FONT&gt;&lt;/CODE&gt;&lt;/TD&gt;&lt;TD&gt;&lt;CODE class=literal&gt;&lt;FONT face=GulimChe&gt;AssignedPC&lt;/FONT&gt;&lt;/CODE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;CODE class=literal&gt;&lt;FONT face=Courier&gt;tt&lt;/FONT&gt;&lt;/CODE&gt;&lt;/TD&gt;&lt;TD&gt;&lt;CODE class=literal&gt;&lt;FONT face=GulimChe&gt;ClientID&lt;/FONT&gt;&lt;/CODE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;CODE class=literal&gt;&lt;FONT face=Courier&gt;et&lt;/FONT&gt;&lt;/CODE&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT face=Courier&gt;&lt;CODE class=literal&gt;&lt;FONT face=GulimChe&gt;EMPLOYID&lt;/FONT&gt;&lt;/CODE&gt; (primary key)&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;CODE class=literal&gt;&lt;FONT face=Courier&gt;do&lt;/FONT&gt;&lt;/CODE&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT face=Courier&gt;&lt;CODE class=literal&gt;&lt;FONT face=GulimChe&gt;CUSTNMBR&lt;/FONT&gt;&lt;/CODE&gt; (primary key)&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;&lt;LI&gt;&lt;P&gt;&lt;FONT face=Courier&gt;The &lt;CODE class=literal&gt;&lt;FONT face=GulimChe&gt;tt.ActualPC&lt;/FONT&gt;&lt;/CODE&gt; values are not evenly distributed.&lt;/FONT&gt;&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/DIV&gt;&lt;P&gt;&lt;FONT face=Courier&gt;먼저, 개선되기 전의 EXPLAIN 은 다음과 같은 정보를 보여준다.:&lt;/FONT&gt;&lt;/P&gt;&lt;PRE class=programlisting&gt;table type possible_keys key  key_len ref  rows  Extraet    ALL  PRIMARY       NULL NULL    NULL 74do    ALL  PRIMARY       NULL NULL    NULL 2135et_1  ALL  PRIMARY       NULL NULL    NULL 74tt    ALL  AssignedPC,   NULL NULL    NULL 3872           ClientID,           ActualPC      range checked for each record (key map: 35)&lt;/PRE&gt;&lt;P&gt;&lt;br /&gt;각 테이블의 type 이 ALL 을 나타내므로, MySQL 이 모든 테이블의 카티션곱(Cartesian product) 를 생성한다는 것을 나타낸다.&lt;br /&gt;각 테이블의 행의 조합이 모두 검사되어야 하기 때문에 이것은 아주 오랜 시간이 소요될 것이다.&lt;/P&gt;&lt;P&gt;&lt;FONT face=Courier&gt;실제로 이 결과는 &lt;FONT face="Courier New"&gt;74 * 2135 * 74 * 3872 = 45,268,558,720 행에 달한다.&lt;br /&gt;만약 테이블이 더 크다면 얼마나 소요될지 상상할 수도 없을 것이다.&lt;/FONT&gt;&lt;br /&gt;여기서 우선적인 문제는 MySQL 은 같은 타입으로 선언된 컬럼의 인덱스를 더 효과적으로 사용할 수 있다는 것이다. (ISAM 테이블에서는 같은 타입으로 선언되지 않은 인덱스는 사용할 수 없다.) 여기에서 VARCHAR 과 CHAR 은 길이가 다르지 않다면 같은 타입이다.&lt;br /&gt;tt.ActualPC 는 CHAR(10) 이고 et.EMPLOYID 는 CHAR(15) 로 선언되어 있으므로 길이의 불일치가 발생한다.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=Courier&gt;이러한 컬럼 길이의 불일치 문제의 해결을 위해 ALTER TABLE 을 사용하여 ActualPC 컬럼을 10 글자에서 15 글자로 변경하자 (길이를 늘리는것은 데이타 손실이 없다.)&lt;/FONT&gt;&lt;/P&gt;&lt;br /&gt;&lt;P&gt;&lt;FONT face=Courier size=2&gt;mysql&amp;gt; ALTER TABLE tt MODIFY ActualPC VARCHAR(15);&lt;br /&gt;&lt;/FONT&gt;&lt;br /&gt;이제 tt.ActualPC 와 et.EMPLYID 는 모두 VARCHAR(15) 이다. 다시 EXPLAIN 을 실행해보면 다음 결과와 같다.&lt;/P&gt;&lt;br /&gt;&lt;PRE class=programlisting&gt;&lt;FONT face=Courier size=2&gt;table type   possible_keys key     key_len ref         rows    Extratt    ALL    AssignedPC,   NULL    NULL    NULL        3872    Using             ClientID,                                         where             ActualPCdo    ALL    PRIMARY       NULL    NULL    NULL        2135      range checked for each record (key map: 1)et_1  ALL    PRIMARY       NULL    NULL    NULL        74      range checked for each record (key map: 1)et    eq_ref PRIMARY       PRIMARY 15      tt.ActualPC 1&lt;/FONT&gt;&lt;/PRE&gt;&lt;P&gt;&lt;FONT face=Courier&gt;훨씬 좋아졌지만 아직 완벽하지 않다. 행의 곱은 이제 74 만큼 줄었다.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=Courier&gt;이 쿼리는 이제 몇초만에 실행될 것이다.&lt;br /&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=Courier&gt;두번째 작업은 tt.AssignedPC = et_1.EMPLYID 와 tt.ClientID = do.CUSTNMBR 에서의 컬럼길이의 불일치를 수정하는 것이다.&lt;/FONT&gt;&lt;/P&gt;&lt;br /&gt;&lt;PRE class=programlisting&gt;&lt;FONT face=Courier size=2&gt;mysql&amp;gt; ALTER TABLE tt MODIFY AssignedPC VARCHAR(15),    -&amp;gt;                MODIFY ClientID   VARCHAR(15);&lt;/FONT&gt;&lt;/PRE&gt;&lt;P&gt;&lt;FONT face=Courier&gt;이제 EXPLAIN 은 다음과 같은 결과를 보여준다.&lt;/FONT&gt;&lt;/P&gt;&lt;PRE class=programlisting&gt;&lt;FONT face=Courier size=2&gt;table type   possible_keys key      key_len ref           rows Extraet    ALL    PRIMARY       NULL     NULL    NULL          74tt    ref    AssignedPC,   ActualPC 15      et.EMPLOYID   52   Using             ClientID,                                         where             ActualPCet_1  eq_ref PRIMARY       PRIMARY  15      tt.AssignedPC 1do    eq_ref PRIMARY       PRIMARY  15      tt.ClientID   1&lt;/FONT&gt;&lt;/PRE&gt;&lt;P&gt;&lt;FONT face=Courier&gt;이것은 이제 거의 최적의 결과가 된 것 같다.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=Courier&gt;남아있는 문제는 MySQL 이 기본으로 tt.ActualPC 컬럼의 값이 균등하게 분포되어 있다고 가정한다는 것이다. 하지만 tt 테이블은 실제로 그렇지 않다.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=Courier&gt;다행히도 MySQL 이 키 분포를 검사하도록 하는것은 매우 쉽다.&lt;/FONT&gt;&lt;/P&gt;&lt;PRE class=programlisting&gt;&lt;FONT face=Courier size=2&gt;mysql&amp;gt; ANALYZE TABLE tt;&lt;/FONT&gt;&lt;/PRE&gt;&lt;P&gt;&lt;FONT face=Courier&gt;이제 완벽한 조인이 되었다. EXPLAIN 결과는 다음과 같다.&lt;/FONT&gt;&lt;/P&gt;&lt;PRE class=programlisting&gt;&lt;FONT face=Courier size=2&gt;table type   possible_keys key     key_len ref           rows Extratt    ALL    AssignedPC    NULL    NULL    NULL          3872 Using             ClientID,                                        where             ActualPCet    eq_ref PRIMARY       PRIMARY 15      tt.ActualPC   1et_1  eq_ref PRIMARY       PRIMARY 15      tt.AssignedPC 1do    eq_ref PRIMARY       PRIMARY 15      tt.ClientID   1&lt;/FONT&gt;&lt;/PRE&gt;&lt;P&gt;&lt;FONT face=Courier&gt;EXPLAIN 결과의 rows 컬럼값이 나타내는 MySQL 최적화에 의해 예측된 행수에 주목하라.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face=Courier&gt;나타난 숫자가 실제 행수에 근접한지 체크해야 한다. 그렇지 않다면 STRAIGHT_JOIN 를 사용고 FROM 절에서 테이블의 순서를 변경함으로써 더 나은 성능을 얻을 수 있다.&lt;/FONT&gt;&lt;/P&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/960382485960961150-4125724631693761024?l=lovekmg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lovekmg.blogspot.com/feeds/4125724631693761024/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://lovekmg.blogspot.com/2008/08/mysql-explain%EB%B3%B4%EB%8A%94%EB%B2%95.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/4125724631693761024'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/4125724631693761024'/><link rel='alternate' type='text/html' href='http://lovekmg.blogspot.com/2008/08/mysql-explain%EB%B3%B4%EB%8A%94%EB%B2%95.html' title='Mysql Explain보는법'/><author><name>goaltong</name><uri>http://www.blogger.com/profile/16883409882082995900</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-960382485960961150.post-2708687491152732678</id><published>2008-08-19T19:16:00.000-07:00</published><updated>2011-01-11T05:00:02.414-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='php'/><category scheme='http://www.blogger.com/atom/ns#' term='오류'/><title type='text'>php Allowed memory size of 8388608 bytes exhausted 오류</title><content type='html'>&amp;nbsp;&lt;P&gt;8M 의 허용된 메모리를 다 썼다는 것이다.&lt;br /&gt;&lt;br /&gt;이런경우는 php.ini 를 열어 memory_limit 을 늘려주면 된다.&lt;br /&gt;PHP 가 DB나 파일에서 데이터를 읽어올때 부하가 걸리게 되면 위와같은 에러를 내보낸다.&lt;br /&gt;memory_limit 이란 하나의 스크립트가 할당 받을 수 있는 메모리의 최대 크기를 말하는 것인데&amp;nbsp; 버그등으로 인해서 스크립트가 시스템의 메모리를 다 잡아먹는 일을 막기위한 일종의 보호장치인 것이다.&lt;br /&gt;&lt;/P&gt;&lt;P&gt;# vi /etc/php.ini&lt;br /&gt;...&lt;br /&gt;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;; Resource Limits ;&lt;br /&gt;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;&lt;br /&gt;max_execution_time = 300 &amp;nbsp; &amp;nbsp; ; Maximum execution time of each script, in seconds&lt;br /&gt;max_input_time = 300 &amp;nbsp;&amp;nbsp; ; Maximum amount of time each script may spend parsing request data&lt;br /&gt;memory_limit = &lt;FONT color=#ff0000&gt;16M&lt;/FONT&gt; &amp;nbsp; &amp;nbsp;&amp;nbsp; ; Maximum amount of memory a script may consume (8MB)&lt;br /&gt;&lt;/P&gt;&lt;br /&gt;&lt;P&gt;위와같이 /etc/php.ini 를 열어 memory_limit 을 8M 에서 16M 로 늘린 후 문제를 해결했다.&lt;/P&gt;&lt;br /&gt;&lt;br /&gt;&lt;P&gt;-------&lt;/P&gt;&lt;br /&gt;&lt;P&gt;나두 얼마전에 이런경험 했는디...ㅎ&lt;/P&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/960382485960961150-2708687491152732678?l=lovekmg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lovekmg.blogspot.com/feeds/2708687491152732678/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://lovekmg.blogspot.com/2008/08/php-allowed-memory-size-of-8388608.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/2708687491152732678'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/2708687491152732678'/><link rel='alternate' type='text/html' href='http://lovekmg.blogspot.com/2008/08/php-allowed-memory-size-of-8388608.html' title='php Allowed memory size of 8388608 bytes exhausted 오류'/><author><name>goaltong</name><uri>http://www.blogger.com/profile/16883409882082995900</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-960382485960961150.post-7244709133517588295</id><published>2008-08-19T19:15:00.000-07:00</published><updated>2011-01-11T05:00:02.054-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='유용한정보'/><category scheme='http://www.blogger.com/atom/ns#' term='종자돈모으기'/><category scheme='http://www.blogger.com/atom/ns#' term='재테크'/><category scheme='http://www.blogger.com/atom/ns#' term='절약'/><title type='text'>3년만에... 9천만원 모은 생활 수기...</title><content type='html'>&lt;DIV class=view id=tblContent&gt;&lt;FONT style="FONT-FAMILY: 0_0"&gt;&lt;P&gt;안녕하세요?&lt;/P&gt;&lt;br /&gt;&lt;P&gt;여기 모네타에서... 펀드 투자라는 것을 시작하게된 사람 입니다.&lt;/P&gt;&lt;br /&gt;&lt;P&gt;독하게 해서... 여기까지 왔내요..&lt;/P&gt;&lt;br /&gt;&lt;P&gt;모 싸이트에.. 제가 올린 생활 수기 인데요?&lt;/P&gt;&lt;br /&gt;&lt;P&gt;같이 공유도하고,, 잘 못된점은 고치고,,,&lt;/P&gt;&lt;br /&gt;&lt;P&gt;하고 싶은 마음에... 올려 봅니다...&lt;/P&gt;&lt;br /&gt;&lt;P&gt;----------------------------------------------------------------------&lt;/P&gt;&lt;br /&gt;&lt;P&gt;2004년 8월 31일 이었습니다. 고향인 부산을 떠나.. 여기 경북 구미에 솜이불 1개... 팬티 1장.. 양말 1개 들고.&lt;/P&gt;&lt;br /&gt;&lt;P&gt;처음 회사에 입사를 했습니다.&lt;/P&gt;&lt;br /&gt;&lt;P&gt;전문대학 졸업반 학생이 무슨 돈이 있었겠습니까...&lt;/P&gt;&lt;br /&gt;&lt;P&gt;주머니에는... 딱 7만원... 그리고... 당시 살아 계셨던... 할머니.. 저에게는 엄마 죠..&lt;/P&gt;&lt;br /&gt;&lt;P&gt;할머니의 인사와 함께.. 올라 왔죠.&lt;/P&gt;&lt;br /&gt;&lt;br /&gt;&lt;P&gt;- 월급 -&lt;/P&gt;&lt;br /&gt;&lt;P&gt;처음에 입사하니.. 은행 계좌를 만들라고... 전 무턱대고 회사의 지시대로 외X은행 계좌에...&lt;/P&gt;&lt;br /&gt;&lt;P&gt;체크카드 1장... 혜택도 뭔지 모르고,, 나의 깊은 곳에는 카드에 대한... 불신으로.. 체크카드로&lt;/P&gt;&lt;br /&gt;&lt;P&gt;발급해서 썼습니다. 계좌가 뭐하는 건지.. 아. 돈넣는 곳이구나.&lt;/P&gt;&lt;br /&gt;&lt;P&gt;그러나 시간이 지남에 따라 그게 아니 더군요. 이체 수수료.. 출금 수수료...&lt;/P&gt;&lt;br /&gt;&lt;P&gt;만원씩 뽑으면... 배보다 배꼽이 더 커지니 말이죠..&lt;/P&gt;&lt;br /&gt;&lt;P&gt;그때부터 퇴근 하고 인터넷을 돌아 다녔습니다.&lt;/P&gt;&lt;br /&gt;&lt;P&gt;딱! 눈에 띄었습니다. "이체 수수료 면제." 계좌를 텃습니다. 정말 되더 군요.&lt;/P&gt;&lt;br /&gt;&lt;P&gt;이젠 출금 수수료가 아깝고 은행에 돈이 들어 가있으니. 이자가없는것이 아깝고..&lt;/P&gt;&lt;br /&gt;&lt;P&gt;지난 근 5년간 정말 미친듯이 고민 하고, 경험 해봤습니다.&lt;/P&gt;&lt;br /&gt;&lt;P&gt;그래서 결론난것이...인뱅 면제는 기본이고,,, 언제.. 어디서 인출하든... 무료로 써야 합니다.&lt;/P&gt;&lt;br /&gt;&lt;P&gt;전 무조건 내돈 나가는데 수수료 떼는 것은 싫내요.&lt;/P&gt;&lt;br /&gt;&lt;P&gt;- 동양 종금 : 우리/신한/국민/농협 cma계좌를 각각 터놓고..&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;이자도 받고 수수료도 면제 받고..&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; 각 계좌에 만원씩 넣어 놓고.. 홀드 합니다..&lt;/P&gt;&lt;br /&gt;&lt;P&gt;- 주거래 은행 : 급여이체.. 하고 집중으로 자동이체 시키고..&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; 적정 상품으로 수수료 완전 면제..했내요.&lt;/P&gt;&lt;br /&gt;&lt;P&gt;- 기타 집근처에 가장 가까운 은행은 계좌만 터서... 필요할때마다.. 이체 해서 빼쓰고..&lt;/P&gt;&lt;br /&gt;&lt;P&gt;- 이렇게 쓰니 어딜 가든 은행만 보이면... 수수료 없고... 돈은 cma에 잇으니...&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;이자는 계속 붙고.. 해서 전 맘에 드내요..&lt;/P&gt;&lt;br /&gt;&lt;P&gt;- 이렇게 해서.. 불필요한 지출위험은 0% 달성 됐습니다.&lt;/P&gt;&lt;br /&gt;&lt;P&gt;저도 참 너무 햇나 봅니다. 주위 사람들이 저를 이상하게 보내요. ㅠㅠ&lt;/P&gt;&lt;br /&gt;&lt;br /&gt;&lt;P&gt;- 휴대폰 -&lt;/P&gt;&lt;br /&gt;&lt;P&gt;휴대폰... 요금 너무 아깝내요.. 군에 졸업하고.. 휴대폰을 하나 샀습니다. 2002년도 였내요..&lt;/P&gt;&lt;br /&gt;&lt;P&gt;군에서 모앗던 150만원 중에 23만원으로 휴대폰을 샀던 기억이 납니다...&lt;/P&gt;&lt;br /&gt;&lt;P&gt;정말 아깝죠.. 아무 조건 없이 구입할 수있는... 휴대폰이 널렸는데.. 그때를 생각하면..&lt;/P&gt;&lt;br /&gt;&lt;P&gt;속이 아려오내요. ^^&lt;/P&gt;&lt;br /&gt;&lt;P&gt;휴대폰에서 절약 방법은... 모든 부가 서비스를 해지 했습니다.&lt;/P&gt;&lt;br /&gt;&lt;P&gt;문자 메세지는 무조건 인터넷 무료 메세지 사이트 에서 보냅니다.&lt;/P&gt;&lt;br /&gt;&lt;P&gt;청구서는 메일로 받고 할인받고... XXX 카드로... 아무 조건 없이 월 500원 할인 받습니다.&lt;/P&gt;&lt;br /&gt;&lt;P&gt;지금은 한단계 업그레이드 해서.. 신용카드를 이용하여 매월 4000원 정도 할인 받습니다.&lt;/P&gt;&lt;br /&gt;&lt;P&gt;해당 카드는... 계시판의 성격상... 말 않할께요. ^^&lt;/P&gt;&lt;br /&gt;&lt;P&gt;기타.. 통화는 제가 워낙 통화를 않하는 편이라... 2만원 안쪽으로 나와서...&lt;/P&gt;&lt;br /&gt;&lt;P&gt;할인 받고 하면.. 나름 만족하내요.&lt;/P&gt;&lt;br /&gt;&lt;br /&gt;&lt;P&gt;- 예/적금 -&lt;/P&gt;&lt;br /&gt;&lt;P&gt;제가 가장 큰실 수를 했습니다. 아무 은행이나 가서 예금을 넣었던것...&lt;/P&gt;&lt;br /&gt;&lt;P&gt;예금은... 상호저축은행이 이율이 높더군요.. "상호저축은행중앙회"가시면..&lt;/P&gt;&lt;br /&gt;&lt;P&gt;전국 금리를 한눈에 보실 수 있습니다.&lt;/P&gt;&lt;br /&gt;&lt;P&gt;금리만 따지면... 내돈이 위험할 수 잇으니... 전자경영공시 가셔서... 간편하게.. BIS 비율은 꼭 확인 하세요..&lt;/P&gt;&lt;br /&gt;&lt;P&gt;(꼭 최근 bis비율을 꼭 보셔야 해요...)&lt;/P&gt;&lt;br /&gt;&lt;P&gt;법적으로는 5% 이상이면 되지만... 전 좀 깐깐하게... 6% 이상만 선정해서 이용했습니다.&lt;/P&gt;&lt;br /&gt;&lt;P&gt;예금을 넣을때도... 1년 단위로 하면... 제 손해라고 생각 햇습니다.&lt;/P&gt;&lt;br /&gt;&lt;P&gt;왜냐... cma통장에 잇는 돈은... 언제든지 쓸돈이니.. 세금 생각 않해도.. 된다고 생각 했습니다.&lt;/P&gt;&lt;br /&gt;&lt;P&gt;그러나. 예금은 달랐습니다. 세금우대 한도라는 것이 있죠..&lt;/P&gt;&lt;br /&gt;&lt;P&gt;이자 소득의 15.4%를 세금으로 내야 하나 우대한도 적용하면.. 9.5%로 절세가 되죠..&lt;/P&gt;&lt;br /&gt;&lt;P&gt;전 생각 해봤습니다... 1년 단위로 1000만원 vs 1년 500만원 2년 500만원..&lt;/P&gt;&lt;br /&gt;&lt;P&gt;뭐가 더 이익일까... 금액과 시간분산을 하는 것이... 우대한도 : 수익이 더 좋더군요..&lt;/P&gt;&lt;br /&gt;&lt;P&gt;시간이 지나면.. 금리도 변동되고... 만기 후 내가 가입했던 고금리가 유지 될지도 모르고...&lt;/P&gt;&lt;br /&gt;&lt;P&gt;해서.. 전 시간과 금액을 나눠서 넣었씁니다.&lt;/P&gt;&lt;br /&gt;&lt;P&gt;절때! 이돈은 사용하지 않을 것이다! 라는 전제 하에... 불입해서.. 그렇습니다.&lt;/P&gt;&lt;br /&gt;&lt;br /&gt;&lt;P&gt;- 지출 -&lt;/P&gt;&lt;br /&gt;&lt;P&gt;신용카드... 저에게는 미운오리 새끼 입니다. 신용불량자.. 카드빛... 주위에서 많이 보고 느꼈습니다.&lt;/P&gt;&lt;br /&gt;&lt;P&gt;그래서 신용카드는 발급은 햇지만...&lt;/P&gt;&lt;br /&gt;&lt;P&gt;(신용도 관리 차원에서... 장기 사용한 신용카드는 신용등급에 상승요인이라고 합니다..)&lt;/P&gt;&lt;br /&gt;&lt;P&gt;장농에 박아놓고 절때 않썼습니다.&lt;/P&gt;&lt;br /&gt;&lt;P&gt;대신... 체크 카드를 썼습니다. 그리고.. 인터넷을 뒤지기 시작했습니다.&lt;/P&gt;&lt;br /&gt;&lt;P&gt;신용카드 내공이 쌓이신 고수분을 너무너무 많았습니다. 부럽고... 대단하다고 생각 했내요.&lt;/P&gt;&lt;br /&gt;&lt;P&gt;그래서 지출에 대한 부분을 좀 개선 했습니다.&lt;/P&gt;&lt;br /&gt;&lt;P&gt;&amp;lt; 신용카드를 체크카드로... &amp;gt;&lt;/P&gt;&lt;br /&gt;&lt;P&gt;말그래도.. 신용카드를 체크카드 개념으로 사용했습니다.&lt;/P&gt;&lt;br /&gt;&lt;P&gt;먼저 제 생활비를 cma에 넣습니다. 신용카드 결제를 하고.. 엑셀에 등록하고... 수식을 걸어 자동 차감되게 합니다.&lt;/P&gt;&lt;br /&gt;&lt;P&gt;하루 이틀 밀려도.. 기간조회를 해서... 관리를 하니... 이게 왠일 이겠습니까?&lt;/P&gt;&lt;br /&gt;&lt;P&gt;cma 이자는 몇백원씩! 카드 포인트도 쌓이고.. 캐쉬백도 되고.. 휴대폰 할인도...&lt;/P&gt;&lt;br /&gt;&lt;P&gt;아! 앞전에 꼭 할것이... 2달 생활비 만큼만.. 신용카드 한도를 설정 합니다.!&lt;/P&gt;&lt;br /&gt;&lt;P&gt;신용카드는 익월 결제 되니까.. 여기서 더 아까운 부분이 잇었습니다.&lt;/P&gt;&lt;br /&gt;&lt;P&gt;보험료... 왜? 카드로 않될까? 왜???&lt;/P&gt;&lt;br /&gt;&lt;P&gt;그래서 인터넷을 찾았습니다. 되내요! 보험료... 신용카드 다 걸어 놓고...&lt;/P&gt;&lt;br /&gt;&lt;P&gt;cma에 넣고.. 이자 받고... 포인트 먹고...&lt;/P&gt;&lt;br /&gt;&lt;P&gt;또 계산 햇습니다. 보험 카드 결제하고.. 손해는?? 결론. 없습니다. ㅡ.ㅡ&lt;/P&gt;&lt;br /&gt;&lt;br /&gt;&lt;P&gt;- 미래 -&lt;/P&gt;&lt;br /&gt;&lt;P&gt;전 모든 생활을 절약으로 접근 했습니다. 지금 미래를 위해 나를 개발 하지 않으면.. 난 개발도상국도 않될것이다.&lt;/P&gt;&lt;br /&gt;&lt;P&gt;그럼? 내를 개발하고... 수익도 남는 방법은???&lt;/P&gt;&lt;br /&gt;&lt;P&gt;노동부! 1인 2자격증 검정 수수료..&lt;/P&gt;&lt;br /&gt;&lt;P&gt;고용보험에 가입되어 있고.. 2개 자격증이 잇으면... 2회까지 1?만원을 수수료 지원해주는 제도...&lt;/P&gt;&lt;br /&gt;&lt;P&gt;이걸 이용해서.. 돈도 벌고.. 나를 개발하고...&lt;/P&gt;&lt;br /&gt;&lt;P&gt;또... 전문대학졸업으로.. 뭘 할 수 있겟는가? 결론.. 없다 였습니다.&lt;/P&gt;&lt;br /&gt;&lt;P&gt;그래서.. 지금다니는 직장은 보험이고. 앞으로 더 크게 되기위해... 학교를 가기로 햇씁니다.&lt;/P&gt;&lt;br /&gt;&lt;P&gt;이제 학기 시작이내요... 올 3월 개강 시작해서... 8월 졸업 예정입니다.&lt;/P&gt;&lt;br /&gt;&lt;P&gt;그동안 취득했던.. 자격증... 20개... 이걸로.... 학점 대체하고... 8월 졸업이내요..&lt;/P&gt;&lt;br /&gt;&lt;P&gt;그럼.. 향후 계획은? 경영학사 복수 전공 - 경영대학원 - mba... 까지 목표 잡았습니다...&lt;/P&gt;&lt;br /&gt;&lt;P&gt;목표대로 잘 되었으면.. 좋겠내요. ^^&lt;/P&gt;&lt;br /&gt;&lt;br /&gt;&lt;P&gt;- 포트 폴리오.. -&lt;/P&gt;&lt;br /&gt;&lt;P&gt;역시... 자산 포트 폴리오도.. 절약대상이내요...&lt;/P&gt;&lt;br /&gt;&lt;P&gt;포트 폴리오 잘 못 정해서.. 초반에 많은 시행 착오를 겪었습니다.&lt;/P&gt;&lt;br /&gt;&lt;P&gt;흔히들.. 100-나이 공식을 말하더군요... 그래서 교과서 적인 100-나이 비율로 적용 햇씁니다.&lt;/P&gt;&lt;br /&gt;&lt;P&gt;- 비상금 : 1차 비상금 매월 수입의 생활비 - 생활비 (27만원)&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2차 비상금 120만 (cma-1달 생활비) - 저수지 통장&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 3차 비상금 360만 (cma-3달 생활비) - 최악의 상황 대비&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; : 비상금은 말그대로 비상금이기에... 자산 총액에서 제외 햇씁니다.&lt;/P&gt;&lt;br /&gt;&lt;P&gt;- 결혼 기초 자금 - 3600만&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; - 400만 (청약저축 1순위 확보 완료)&lt;/P&gt;&lt;br /&gt;&lt;P&gt;&amp;nbsp;- 보험 - 월 급여의... 9%.... 생명+상해 보험의 조합...&lt;/P&gt;&lt;br /&gt;&lt;P&gt;&amp;lt;&amp;lt;&amp;lt; 포트 폴리오ii 나와 내 가족의 비장의 무기 &amp;gt;&amp;gt;&amp;gt;&lt;/P&gt;&lt;br /&gt;&lt;P&gt;: 결혼 후... 내가 어찌 될지도... 내 가족을 지키기 위해... 절때 내가 은퇴 전에는 없다고 생각하는 없는 돈으로&lt;/P&gt;&lt;P&gt;&amp;nbsp; 내 가족을 위해 방패를 만들 고 있씁니다. 이건 ... 아무도 모르는 돈이내요.. (금액은... 1억 포트 폴리오 입니다.)&lt;/P&gt;&lt;P&gt;&amp;nbsp; 어떤일이 잇어도.. 내 가족은 지킨다는 목표로.. 결혼 시 에도 없고.. 은퇴전에는... 없는 돈 입니다.&lt;/P&gt;&lt;P&gt;&amp;nbsp; 운용 기간은... 60세 까지 입니다...&lt;/P&gt;&lt;br /&gt;&lt;P&gt;: 기본 포트 비중은 100-나이 입니다.&lt;/P&gt;&lt;br /&gt;&lt;P&gt;: 연 목표 수익률은... 24.5% 입니다.&lt;/P&gt;&lt;P&gt;&amp;nbsp; 연 목표 수익 20% + 물가 인플레이션 3.5% + 선취수수료 1%&lt;/P&gt;&lt;br /&gt;&lt;P&gt;: 수익률 관리 방안은...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; 6개월 단위 평가하여... 24.5% 이상이면.. 24.5% 초과 수익은.. 현금화...&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;24.5% 이하면... 달성..&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;이렇게 하는 이유는 목표달성 못하면... 제가 부담해야하는... 수익을 위한 위험이고... &lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 달성 되었다면... 초과 수익은.. 제가 부담할 필요가 없는... 수익이라.. 현금화 하기로 했습니다.&lt;/P&gt;&lt;br /&gt;&lt;P&gt;&amp;nbsp;: 펀드 운용 방안&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; 2~3년.. class c형. -&amp;gt; 초기적립 할 펀드&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; 3년 초과... 장마펀드 &amp;amp; clsas a형. - 목표수익달 성 후 ... 주가 하락 시 불입.. 장기 운용..&lt;/P&gt;&lt;br /&gt;&lt;P&gt;- 예금 28% (시간에 지남에 따라 100-나이 공식 적용)&lt;/P&gt;&lt;br /&gt;&lt;P&gt;- 펀드 72%에서&amp;nbsp; (시간에 지남에 따라 100-나이 공식 적용)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;-&amp;gt; 국가 경재 성장률이... 3%이하로... 떨어지면.. 인덱스로.. 교체...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; : 국내 50% (대형 40%, 가치 5%, 중/소형 5%)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; : 해외 50% 중에서..&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; 중국 8% (세금우대)&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; 중국 장마펀드 2%&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; 인도 10% (세금우대)&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;브라질 10% (세금우대)&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; 러시아 8% (세금우대)&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; 러시아 장마펀드 2%&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; 섹터 10% (농산물, 원자재, 부동산...) (세금우대)&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/P&gt;&lt;br /&gt;&lt;P&gt;어리석은 제 글 읽어 주셔서... 감사 합니다... 이제.. 1년 남았내요...&lt;/P&gt;&lt;br /&gt;&lt;P&gt;저만의 종자돈... 오늘도... 고민속에 살고 있습니다.&lt;/P&gt;&lt;br /&gt;&lt;P&gt;어른들께서 말씀하셨어요.. "젊어서 고생은 사서도 한다.." 이말 믿어 볼려고요..&lt;/P&gt;&lt;br /&gt;&lt;P&gt;고생한만큼... 보상도 달콤할꺼라.. 생각합니다.&lt;/P&gt;&lt;br /&gt;&lt;P&gt;형님/누나/동생 회원분들... 보내주시는 응원... 어제도 2번이나 읽었습니다.&lt;/P&gt;&lt;br /&gt;&lt;P&gt;점점.. 왜? 이렇게 사나.. 하는 회의감에... 다시 힘을 내어보려구요..&lt;/P&gt;&lt;br /&gt;&lt;P&gt;끝으로... &lt;/P&gt;&lt;br /&gt;&lt;P&gt;새해 복 많이 받으세요. 꾸뻑.~&lt;/P&gt;&lt;br /&gt;&lt;P&gt;- 못난 짠돌이 청년 올림 -&lt;/P&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;P&gt;--------------&lt;/P&gt;&lt;br /&gt;&lt;P&gt;본받을만 하다...ㅡ.,ㅡ;;&lt;/P&gt;&lt;br /&gt;&lt;P&gt;출처 : 모네타(&lt;A href="http://www.moneta.co.kr"&gt;www.moneta.co.kr&lt;/A&gt;)&lt;/P&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/960382485960961150-7244709133517588295?l=lovekmg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lovekmg.blogspot.com/feeds/7244709133517588295/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://lovekmg.blogspot.com/2008/08/3%EB%85%84%EB%A7%8C%EC%97%90-9%EC%B2%9C%EB%A7%8C%EC%9B%90-%EB%AA%A8%EC%9D%80-%EC%83%9D%ED%99%9C-%EC%88%98%EA%B8%B0.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/7244709133517588295'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/7244709133517588295'/><link rel='alternate' type='text/html' href='http://lovekmg.blogspot.com/2008/08/3%EB%85%84%EB%A7%8C%EC%97%90-9%EC%B2%9C%EB%A7%8C%EC%9B%90-%EB%AA%A8%EC%9D%80-%EC%83%9D%ED%99%9C-%EC%88%98%EA%B8%B0.html' title='3년만에... 9천만원 모은 생활 수기...'/><author><name>goaltong</name><uri>http://www.blogger.com/profile/16883409882082995900</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-960382485960961150.post-7884292276888407955</id><published>2008-08-19T19:12:00.000-07:00</published><updated>2011-01-11T05:00:01.677-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='유용한정보'/><category scheme='http://www.blogger.com/atom/ns#' term='결혼준비'/><title type='text'>결혼전 꼭들러볼 사이트 50군데</title><content type='html'>&lt;DIV id=article_content style="OVERFLOW-X: auto; WIDTH: 550px; HEIGHT: 100%"&gt;&lt;DIV class=view id=tblContent&gt;&lt;FONT style="FONT-FAMILY: 0_0"&gt;&lt;TABLE cellSpacing=0 cellPadding=0 border=0 jQuery1205731161765="6"&gt;&lt;TBODY jQuery1205731161765="7"&gt;&lt;TR jQuery1205731161765="8"&gt;&lt;TD jQuery1205731161765="9"&gt;&lt;DIV style="LINE-HEIGHT: 160%" jQuery1205731161765="10"&gt;&lt;FONT face=times jQuery1205731161765="11"&gt;&lt;FONT color=#000000 jQuery1205731161765="12"&gt;&lt;STRONG jQuery1205731161765="13"&gt;&lt;FONT size=3 jQuery1205731161765="14"&gt;&lt;DIV jQuery1205731161765="2"&gt;&lt;IMG height=492 alt="" src="http://tfile.nate.com/download.asp?FileID=38023193" width=580 jQuery1205731161765="3"&gt;&lt;/DIV&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV style="LINE-HEIGHT: 160%" jQuery1205731161765="10"&gt;&lt;FONT face=times jQuery1205731161765="11"&gt;&lt;FONT color=#000000 jQuery1205731161765="12"&gt;&lt;STRONG jQuery1205731161765="13"&gt;&lt;FONT size=3 jQuery1205731161765="14"&gt;한눈에 보는 결혼 트렌드, 웨딩 포털 사이트&lt;/FONT&gt;&lt;BR jQuery1205731161765="15"&gt;&lt;/STRONG&gt;결혼과 관련된 모든 정보를 한눈에 볼 수 있는 웨딩 포털 사이트. 결혼한 선배들의 실질적인 정보를 놓치지 말 것. &lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV style="LINE-HEIGHT: 160%" jQuery1205731161765="17"&gt;&lt;A class=con_link href="http://www.ewedding21.com/" target=_blank jQuery1205731161765="18"&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="19"&gt;www.ewedding21.com&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="20"&gt; 웨딩드레스와 뷰티 화보, 부케, 한복, 허니문, 혼수, 시댁 생활 등 결혼 준비 전반에 걸친 생생한 정보로 가득하다. 화려한 비주얼과 꼼꼼한 정보로 호응을 얻고 있다.&lt;BR jQuery1205731161765="21"&gt;&lt;/FONT&gt;&lt;A class=con_link href="http://www.wef.co.kr/" target=_blank jQuery1205731161765="22"&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="23"&gt;www.wef.co.kr&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="24"&gt; 결혼과 관련된 사이트 중 1위 자리를 내놓을 줄 모르는 결혼 포털 사이트 는 다양한 업체 정보와 날카로운 지적, 회원들 간의 활발한 정보 교류가 큰 자랑. 다채로운 이벤트도 놓치지 말자.&lt;BR jQuery1205731161765="25"&gt;cafe.daum.net/wedclub 다음 결혼 준비자들의 카페인 웨딩 클럽은 결혼 준비 전반에 걸쳐 다양한 정보를 다루고 있다. 특히 선배들과의 사랑방이나 바로 찍어 바로 올리는 혼수 사진들이 인기.&lt;BR jQuery1205731161765="26"&gt;gyulyemo.cyworld.com 싸이월드 클럽 결예모의 장점은 D-100일부터 날짜별로 준비할 것들을 모아서 게시판을 구성했다는 것. 싸이월드의 장점인 사진첩의 기능도 플러스. &lt;BR jQuery1205731161765="27"&gt;&lt;/FONT&gt;&lt;A class=con_link href="http://www.duowed.com/" target=_blank jQuery1205731161765="28"&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="29"&gt;www.duowed.com&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="30"&gt; 듀오웨드는 다양한 이벤트와 개성 있는 결혼식에 대한 정보를 담고 있다. 방대한 자료와 수많은 후기들이 듀오웨드의 자랑. &lt;BR jQuery1205731161765="31"&gt;agit.miclub.com/wedding 결준모는 지방별 게시판을 따로 두었고, ‘결혼비용’이나 ‘잘한혼수, 후회혼수’ 등의 게시판에서 결혼 선배들의 이야기를 접할 수 있다.&lt;BR jQuery1205731161765="32"&gt;&lt;/FONT&gt;&lt;A class=con_link href="http://www.hamsayo.com/" target=_blank jQuery1205731161765="33"&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="34"&gt;www.hamsayo.com&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="35"&gt; 대구 지역 웨딩 포털 사이트인 함사요닷컴에서는 지방 웨딩 업체들을 만날 수 있다. ‘2006 소비자 선정 우수 기업’으로 뽑히기도 했다. &lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV style="LINE-HEIGHT: 160%" jQuery1205731161765="38"&gt;&lt;FONT face=times jQuery1205731161765="39"&gt;&lt;FONT color=#000000 jQuery1205731161765="40"&gt;&lt;STRONG jQuery1205731161765="41"&gt;&lt;FONT size=3 jQuery1205731161765="42"&gt;&lt;BR jQuery1205731161765="43"&gt;달콤 향긋한 신혼살림, 리빙&lt;BR jQuery1205731161765="44"&gt;&lt;/FONT&gt;&lt;/STRONG&gt;알콩달콩 신혼살림에 도움을 주는 알짜 정보에 주목하자. 요리와 인테리어 코디네이션 등 새로운 아이디어로 가득한 사이트를 소개한다.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV style="LINE-HEIGHT: 160%" jQuery1205731161765="45"&gt;&lt;A class=con_link href="http://www.foodnara.com/" target=_blank jQuery1205731161765="46"&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="47"&gt;www.foodnara.com&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="48"&gt; 하루하루 날씨와 상황에 맞는 식단을 제공한다. 재료별 요리, 상황별 요리 등으로 나누어 살펴볼 수 있고, 따라 하기 쉽게 꾸몄다. &lt;BR jQuery1205731161765="49"&gt;cafe.naver.com/remonterrace 일반인들의 인테리어 코디 솜씨 자랑을 통해 집 안을 꾸미는 아이디어를 얻을 수 있다. 회원들 간의 활발한 정보 교류가 자랑. &lt;BR jQuery1205731161765="50"&gt;&lt;/FONT&gt;&lt;A class=con_link href="http://www.namool.com/" target=_blank jQuery1205731161765="51"&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="52"&gt;www.namool.com&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="53"&gt; 총각이 혼자 살 때 만들어 먹는 음식처럼 아주 손쉬운 것부터 손님상까지 누구나 쉽게 따라 할 수 있도록 꾸며진 요리 사이트. &lt;BR jQuery1205731161765="54"&gt;&lt;/FONT&gt;&lt;A class=con_link href="http://www.delicook.com/" target=_blank jQuery1205731161765="55"&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="56"&gt;www.delicook.com&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="57"&gt; 요리 정보와 맛집 탐방 기사로 이루어진 맛의 총체. 레스토랑, 쿠킹, 베이커리, 식기와 다이어트에 이르기까지 먹는 것에 대한 모든 것을 다룬다. &lt;BR jQuery1205731161765="58"&gt;&lt;/FONT&gt;&lt;A class=con_link href="http://www.designjoy.net/" target=_blank jQuery1205731161765="59"&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="60"&gt;www.designjoy.net&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="61"&gt; 신혼집 현관에 걸어두는 패션 미니 간판을 제작하는 곳. 아기자기한 신혼집에는 앤티크 문패가 가장 인기를 끈다. &lt;BR jQuery1205731161765="62"&gt;&lt;/FONT&gt;&lt;A class=con_link href="http://www.sonjabee.com/" target=_blank jQuery1205731161765="63"&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="64"&gt;www.sonjabee.com&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="65"&gt; 혼자서 집을 꾸미는 DIY 데코의 모든 것을 볼 수 있다. 손잡이닷컴을 이용한 많은 네티즌들의 인테리어 데코 솜씨를 비교 체험할 수 있다. &lt;BR jQuery1205731161765="66"&gt;&lt;/FONT&gt;&lt;A class=con_link href="http://www.sizipsari.com/" target=_blank jQuery1205731161765="67"&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="68"&gt;www.sizipsari.com&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="69"&gt; 시집살이에 힘들어하는 며느리들의 뒷담화. 남편과 싸운 이야기, 이해 못하는 시댁이야기 등 그녀들과의 시원한 한판의 수다. &lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV style="LINE-HEIGHT: 160%" jQuery1205731161765="72"&gt;&lt;FONT face=times jQuery1205731161765="73"&gt;&lt;FONT color=#000000 jQuery1205731161765="74"&gt;&lt;STRONG jQuery1205731161765="75"&gt;&lt;FONT size=3 jQuery1205731161765="76"&gt;&lt;BR jQuery1205731161765="77"&gt;처음부터 알뜰하게, 자금 관리&lt;/FONT&gt;&lt;/STRONG&gt;&lt;BR jQuery1205731161765="78"&gt;부자가 되기 위한 지름길은 오로지 ‘절약’. 한푼 두푼 모아가며 커다랗게 부푼 통장을 기대해본다. 쿠폰, 가계부, 재테크 정보 나들이. &lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV style="LINE-HEIGHT: 160%" jQuery1205731161765="79"&gt;&lt;A class=con_link href="http://www.gagyebu.com/" target=_blank jQuery1205731161765="80"&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="81"&gt;www.gagyebu.com&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="82"&gt; 인터넷에서 가계부 프로그램을 내려 받아 사용할 수 있다. 잔고와 이익률 등 귀찮은 계산을 한 번에 해주어 편리하다. &lt;BR jQuery1205731161765="83"&gt;&lt;/FONT&gt;&lt;A class=con_link href="http://www.couponjoa.com/" target=_blank jQuery1205731161765="84"&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="85"&gt;www.couponjoa.com&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="86"&gt; 온라인 숍의 이벤트나 쿠폰을 한 번에 볼 수 있는 곳으로 알뜰 혼수 구매에 큰 도움이 된다. 대형 인터넷 쇼핑몰에서 쇼핑하기 전에 한 번쯤 들러볼 만한 곳.&lt;BR jQuery1205731161765="87"&gt;&lt;/FONT&gt;&lt;A class=con_link href="http://www.bogeumjari.com/" target=_blank jQuery1205731161765="88"&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="89"&gt;www.bogeumjari.com&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="90"&gt; 주택공사에서 운영하는 사이트로 예비부부에게는 내집 마련 무료 상담 코너나 시&lt;/FONT&gt;&lt;/DIV&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR jQuery1205731161765="91"&gt;&lt;TD jQuery1205731161765="92"&gt;&lt;DIV style="LINE-HEIGHT: 160%" jQuery1205731161765="93"&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="94"&gt;뮬레이션 프로그램을 추천할 만하다. 정보마당에는 부동산 정보가 가득하다. &lt;BR jQuery1205731161765="95"&gt;&lt;/FONT&gt;&lt;A class=con_link href="http://www.r114.co.kr/" target=_blank jQuery1205731161765="96"&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="97"&gt;www.r114.co.kr&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="98"&gt; 전국 각 지역별 부동산 시세를 알아볼 수 있는 곳. 신혼집 마련뿐 아니라 부동산 투자를 위해서도 발 빠른 정보를 줄 수 있다. &lt;BR jQuery1205731161765="99"&gt;cafe.daum.net/10in10 ‘맞벌이 부부 10년 안에 10억 모으기’라는 뜻의 텐인텐 카페에는 재테크에 대한 정보가 가득하다. 펀드, 부동산, 보험 등 다양한 정보로 가득하다. &lt;BR jQuery1205731161765="100"&gt;&lt;/FONT&gt;&lt;A class=con_link href="http://www.koreatax.org/" target=_blank jQuery1205731161765="101"&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="102"&gt;www.koreatax.org&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="103"&gt; 한국납세자연맹 홈페이지로 맞벌이 부부 절세 시뮬레이션 프로그램이 유용하다. 부당한 세금에 대해 알아보고 대처할 수 있는 방향을 제시한다. &lt;BR jQuery1205731161765="104"&gt;&lt;/FONT&gt;&lt;A class=con_link href="http://www.iros.go.kr/" target=_blank jQuery1205731161765="105"&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="106"&gt;www.iros.go.kr&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="107"&gt; 대법원 인터넷 등기소. 입주 2개월 전에 해당 건물의 등기를 떼어보는 것은 필수다. 집 안에서 클릭 한 번으로 등기를 검색·출력할 수 있다. &lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV style="LINE-HEIGHT: 160%" jQuery1205731161765="110"&gt;&lt;IMG alt="" src="http://tfile.nate.com/download.asp?FileID=37020267" jQuery1205731161765="111"&gt;&lt;BR jQuery1205731161765="112"&gt;&lt;BR jQuery1205731161765="113"&gt;&lt;/DIV&gt;&lt;DIV style="LINE-HEIGHT: 160%" jQuery1205731161765="114"&gt;&lt;FONT face=times jQuery1205731161765="115"&gt;&lt;FONT color=#000000 jQuery1205731161765="116"&gt;&lt;STRONG jQuery1205731161765="117"&gt;&lt;FONT size=3 jQuery1205731161765="118"&gt;알뜰하고 실속 있는 혼수 및 결혼 준비&lt;/FONT&gt;&lt;/STRONG&gt;&lt;BR jQuery1205731161765="119"&gt;예산 안에서 최대한의 성과물을 얻으려면 알뜰 구매에 대한 사전 조사가 필수. 결혼식을 풍성하게 하는 아이디어도 플러스. &lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV style="LINE-HEIGHT: 160%" jQuery1205731161765="120"&gt;&lt;A class=con_link href="http://www.ioda.co.kr/" target=_blank jQuery1205731161765="121"&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="122"&gt;www.ioda.co.kr&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="123"&gt; 결혼 비용 무료 견적 서비스가 아이오다의 자랑. 전국 곳곳의 웨딩업체에 대한 정보를 아우르고 있어 지방 커플에게도 유익하다.&lt;BR jQuery1205731161765="124"&gt;cafe.naver.com/weddingdressi 자신이 입을 웨딩드레스나 이브닝드레스를 직접 제작할 수 있는 DIY 웨딩드레스. 회원 가입 후 강습을 받아 진행한다.&lt;BR jQuery1205731161765="125"&gt;&lt;/FONT&gt;&lt;A class=con_link href="http://www.2spoon.com/" target=_blank jQuery1205731161765="126"&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="127"&gt;www.2spoon.com&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="128"&gt; 받고 싶은 아이템을 선물함에 담아두면 미리 저장해둔 친구들의 e-메일로 청첩장과 함께 발송, 결제하게 하는 웨딩 레지스트리 사이트.&lt;BR jQuery1205731161765="129"&gt;&lt;/FONT&gt;&lt;A class=con_link href="http://www.enuri.com/" target=_blank jQuery1205731161765="130"&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="131"&gt;www.enuri.com&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="132"&gt; 가전은 물론 화장품과 자동차 용품 등 다양한 상품의 가격을 비교, 가장 저렴하게 구입할 수 있는 루트를 제공한다. ‘통’을 통해 궁금증을 풀거나 사용후기를 들을 수 있다.&lt;BR jQuery1205731161765="133"&gt;&lt;/FONT&gt;&lt;A class=con_link href="http://www.danawa.com/" target=_blank jQuery1205731161765="134"&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="135"&gt;www.danawa.com&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="136"&gt; 혼수로 가전제품을 사기 전 들러야 할 곳. 가격 비교 사이트 다나와닷컴은 품목별 주간 판매 순위와 가격 등락 폭을 다루고 있다.&lt;BR jQuery1205731161765="137"&gt;blog.naver.com/na_7373 자신이 입은 드레스를 똑같이 디자인해 바비인형에 입혀주는 클라비 아카데미. 직접 미니어처 드레스를 제작하고 싶다면 주인장에게 배워보는 것도 좋을 듯. &lt;BR jQuery1205731161765="138"&gt;&lt;/FONT&gt;&lt;A class=con_link href="http://www.savewedding.com/" target=_blank jQuery1205731161765="139"&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="140"&gt;www.savewedding.com&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="141"&gt; 세이브웨딩에서는 결혼식에 참여한 하객을 꼼꼼히 체크해 피로연 비용에 오차가 나지 않도록 한다. 정보실에는 예식 관련 불만 사례를 볼 수 있다. &lt;BR jQuery1205731161765="142"&gt;&lt;/FONT&gt;&lt;A class=con_link href="http://www.weddinghallis.com/" target=_blank jQuery1205731161765="143"&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="144"&gt;www.weddinghallis.com&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="145"&gt; 전국의 웨딩홀을 유형별, 지역별로 나누어 살펴볼 수 있다. 각 웨딩홀의 금액과 조건을 친절하게 이야기해주고 있다. &lt;BR jQuery1205731161765="146"&gt;&lt;/FONT&gt;&lt;A class=con_link href="http://www.iwedding.co.kr/" target=_blank jQuery1205731161765="147"&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="148"&gt;www.iwedding.co.kr&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="149"&gt; 커플의 결혼 준비 진행 상황을 한 번에 모아 블로그로 꾸밀 수 있는 사이트. 커플 일기장, 인터넷 청첩장 등 인터넷으로 준비하는 결혼 길잡이. &lt;BR jQuery1205731161765="150"&gt;&lt;/FONT&gt;&lt;A class=con_link href="http://www.joyjei.com/" target=_blank jQuery1205731161765="151"&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="152"&gt;www.joyjei.com&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="153"&gt; 결혼 축가 업체에서 운영하는 사이트로 ‘축배’, ‘결혼 행진곡’, ‘어느 멋진 날’ 등 축가로 인기있는 음악들을 미리 들어볼 수 있는 것이 특징.&lt;BR jQuery1205731161765="154"&gt;&lt;/FONT&gt;&lt;A class=con_link href="http://www.chapelwedding.co.kr/" target=_blank jQuery1205731161765="155"&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="156"&gt;www.chapelwedding.co.kr&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="157"&gt; 괌이나 하와이 등 해외에서의 채플 웨딩과 제주도 하얏트호텔의 채플 웨딩을 이용할 수 있는 곳. 남국의 바닷가에서 즐기는 로맨틱한 결혼식에 대한 정보를 얻을 수 있다. &lt;BR jQuery1205731161765="158"&gt;&lt;/FONT&gt;&lt;A class=con_link href="http://www.consumersunion.or.kr/" target=_blank jQuery1205731161765="159"&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="160"&gt;www.consumersunion.or.kr&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="161"&gt; 소비자를 위한 법률 정보, 피해 사례 정보 등을 알기 쉽게 설명하고 있다. 매년 소비자 대학을 열어 유용한 정보를 모아 강의도 한다. &lt;BR jQuery1205731161765="162"&gt;&lt;/FONT&gt;&lt;A class=con_link href="http://www.joywrap.co.kr/" target=_blank jQuery1205731161765="163"&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="164"&gt;www.joywrap.co.kr&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="165"&gt; 조이랩에서는 선물포장과 리본 공예 갤러리 코너가 있어 예단이나 결혼 선물, 답례품 등 결혼전에 필요한 선물포장 아이디어를 얻을 수 있다.&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV style="LINE-HEIGHT: 160%" jQuery1205731161765="168"&gt;&lt;FONT face=times jQuery1205731161765="169"&gt;&lt;FONT color=#000000 jQuery1205731161765="170"&gt;&lt;STRONG jQuery1205731161765="171"&gt;&lt;FONT size=3 jQuery1205731161765="172"&gt;&lt;BR jQuery1205731161765="173"&gt;이제부턴 하나 아닌 둘이다, 부부 생활&lt;/FONT&gt;&lt;/STRONG&gt;&lt;BR jQuery1205731161765="174"&gt;몸과 마음이 건강한 부부를 위한 정보에 집중하자. 재미로 보는 운세 풀이, 윤택한 성(性)생활에 대한 정보와 임신 상식도 필수.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV style="LINE-HEIGHT: 160%" jQuery1205731161765="175"&gt;&lt;A class=con_link href="http://www.dotong.net/" target=_blank jQuery1205731161765="176"&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="177"&gt;www.dotong.net&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="178"&gt; 도통닷컴의 애정 운세 코너에는 궁합, 결혼 택일 등 결혼을 준비하는 이들에게 운세를 알려준다. 모바일 운세도 빼놓을 수 없는 자랑. &lt;BR jQuery1205731161765="179"&gt;&lt;/FONT&gt;&lt;A class=con_link href="http://www.femalelife.co.kr/" target=_blank jQuery1205731161765="180"&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="181"&gt;www.femalelife.co.kr&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="182"&gt; 피임약 전문 한국 쉐링에서 운영하는 사이트로 자신에게 맞는 피임법을 알려줄 뿐 아니라 여성의 건강에 관한 다양한 자료들이 가득하다.&lt;BR jQuery1205731161765="183"&gt;&lt;/FONT&gt;&lt;A class=con_link href="http://www.piim.or.kr/" target=_blank jQuery1205731161765="184"&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="185"&gt;www.piim.or.kr&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="186"&gt; 피임 전문의들이 모여 만든 피임 연구회 사이트에는 피임에 대한 정보 제공은 물론 건강한 가족계획으로의 길잡이 역할을 한다. &lt;BR jQuery1205731161765="187"&gt;&lt;/FONT&gt;&lt;A class=con_link href="http://www.stdinfo.net/" target=_blank jQuery1205731161765="188"&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="189"&gt;www.stdinfo.net&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="190"&gt; 혹시 나에겐 성병 균이 있진 않을까? 알아두면 좋은 상식. 결혼 전 반드시 고쳐야 할 성병에 대한 모든 정보. &lt;BR jQuery1205731161765="191"&gt;&lt;/FONT&gt;&lt;A class=con_link href="http://www.xyinlove.co.kr/" target=_blank jQuery1205731161765="192"&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="193"&gt;www.xyinlove.co.kr&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="194"&gt; 여자들을 위한 러브 정보 사이트인 젝시인러브는 사랑과 섹스, 뷰티 등 여자들이 궁금해하는 모든 것을 다루고 있다.&lt;BR jQuery1205731161765="195"&gt;&lt;/FONT&gt;&lt;A class=con_link href="http://www.cgh.co.kr/" target=_blank jQuery1205731161765="196"&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="197"&gt;www.cgh.co.kr&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="198"&gt; 산부인과 제일병원의 홈페이지에는 임신을 앞둔 여성의 건강에 관한 다양한 자료들로 가득하다. 엄마가 되기 전에 반드시 알아야 할 정보들이 모여 있다.&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV style="LINE-HEIGHT: 160%" jQuery1205731161765="201"&gt;&lt;FONT face=times jQuery1205731161765="202"&gt;&lt;FONT color=#000000 jQuery1205731161765="203"&gt;&lt;STRONG jQuery1205731161765="204"&gt;&lt;FONT size=3 jQuery1205731161765="205"&gt;&lt;BR jQuery1205731161765="206"&gt;미리 알고 떠나보는 허니문&lt;/FONT&gt;&lt;/STRONG&gt;&lt;BR jQuery1205731161765="207"&gt;아는 만큼 보이는 법! 허니문 여행지에 대한 깊이 있는 정보와 다녀온 사람들의 객관적인 평가에 귀 기울이자.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV style="LINE-HEIGHT: 160%" jQuery1205731161765="208"&gt;&lt;A class=con_link href="http://www.aq.co.kr/" target=_blank jQuery1205731161765="209"&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="210"&gt;www.aq.co.kr&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="211"&gt; 판매자 중심이 아닌 소비자 중심으로 꾸민 여행 전문 독립 미디어. 세계 각국에서 여행 중인 네티즌들의 블로그를 통해 생생한 현지 정보를 얻을 수 있다. &lt;BR jQuery1205731161765="212"&gt;&lt;/FONT&gt;&lt;A class=con_link href="http://www.tatsel.or.kr/" target=_blank jQuery1205731161765="213"&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="214"&gt;www.tatsel.or.kr&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="215"&gt; ‘사왓디 타이’라고 불리는 이 사이트는 태국 관광청 웹사이트로 태국 여행 후기와 웹진 등의 다양한 정보들이 넘쳐난다. &lt;BR jQuery1205731161765="216"&gt;&lt;/FONT&gt;&lt;A class=con_link href="http://www.wowphilippines.or.kr/" target=_blank jQuery1205731161765="217"&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="218"&gt;www.wowphilippines.or.kr&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="219"&gt; 필리핀 관광청의 웹사이트에서는 전국 각지의 여행 정보뿐 아니라 필리핀 현지어(타갈로그)를 알려주어 유용하다. &lt;BR jQuery1205731161765="220"&gt;&lt;/FONT&gt;&lt;A class=con_link href="http://www.welcometoguam.co.kr/" target=_blank jQuery1205731161765="221"&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="222"&gt;www.welcometoguam.co.kr&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="223"&gt; 괌에 대해 알 수 있는 모든 것. 괌 관광청 웹사이트에는 괌에 대한 세밀하고 섬세한 정보로 가득하다. 괌을 다녀간 여행객들의 후기가 큰 도움이 된다.&lt;BR jQuery1205731161765="224"&gt;&lt;/FONT&gt;&lt;A class=con_link href="http://www.visitsingapore.or.kr/" target=_blank jQuery1205731161765="225"&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="226"&gt;www.visitsingapore.or.kr&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="227"&gt; 싱가포르 관광청 웹사이트에는 다양한 이벤트와 정보가 실려 있어 싱가포르에 대한 좋은 이미지를 심어준다. 긴급 상황을 대비해 유용한 현지 연락처도 알려준다. &lt;BR jQuery1205731161765="228"&gt;&lt;/FONT&gt;&lt;A class=con_link href="http://www.wezine.com/" target=_blank jQuery1205731161765="229"&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="230"&gt;www.wezine.com&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="231"&gt; 여행 체험 웹진으로 해외여행은 물론이고 국내여행에 대한 정보도 빵빵하다. 여행을 다녀온 후 누구나 작가가 될 수 있다는 점도 독특하다. &lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV style="LINE-HEIGHT: 160%" jQuery1205731161765="234"&gt;&lt;FONT face=times jQuery1205731161765="235"&gt;&lt;FONT color=#000000 jQuery1205731161765="236"&gt;&lt;STRONG jQuery1205731161765="237"&gt;&lt;FONT size=3 jQuery1205731161765="238"&gt;&lt;BR jQuery1205731161765="239"&gt;한 번쯤 클릭하면 보너스가 된다&lt;/FONT&gt;&lt;/STRONG&gt;&lt;BR jQuery1205731161765="240"&gt;편안하게 지식욕을 채워줄 사이트들을 찾아본다. 예의범절이나 종교, 스트레스 해소와 가족애 등 결혼 준비로 타이트해진 마음에 여유를 가져다 줄 것이다. &lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV style="LINE-HEIGHT: 160%" jQuery1205731161765="241"&gt;&lt;A class=con_link href="http://www.ye365.or.kr/" target=_blank jQuery1205731161765="242"&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="243"&gt;www.ye365.or.kr&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="244"&gt; 건양대학교에서 운영하는 예절 마당은 현대인이 잊기 쉬운 예절을 친절하게 알려주고 있고, 예절 게임 프로그램을 통해 개개인의 에티켓 지수를 알아볼 수도 있다. &lt;BR jQuery1205731161765="245"&gt;&lt;/FONT&gt;&lt;A class=con_link href="http://www.godcouple.com/" target=_blank jQuery1205731161765="246"&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="247"&gt;www.godcouple.com&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="248"&gt; 기독교인들을 위한 결혼 사이트. 종교 안에서 배우자를 만나고 결혼에 이르는 과정을 친절하게 도와주고 있다. &lt;BR jQuery1205731161765="249"&gt;&lt;/FONT&gt;&lt;A class=con_link href="http://www.kimyon.co.kr/" target=_blank jQuery1205731161765="250"&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="251"&gt;www.kimyon.co.kr&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="252"&gt; 결혼 전 찾아온 우울증, 정신과를 찾기엔 좀 이른 듯하다면 인터넷을 통해 우울증 자가 진단을 받아보자.&lt;BR jQuery1205731161765="253"&gt;&lt;/FONT&gt;&lt;A class=con_link href="http://www.ehome.co.kr/" target=_blank jQuery1205731161765="254"&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="255"&gt;www.ehome.co.kr&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=times color=#000000 jQuery1205731161765="256"&gt; 개인, 가족, 이웃을 주제로 한 블로그. 대소사를 저장해 알려주는 또 하나의 가족 커뮤니티이다. 해체되고 있는 현대의 가족관을 온라인에서 회복하고자 하는 가슴 따뜻한 사이트다.&lt;/FONT&gt;&lt;/DIV&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/960382485960961150-7884292276888407955?l=lovekmg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lovekmg.blogspot.com/feeds/7884292276888407955/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://lovekmg.blogspot.com/2008/08/%EA%B2%B0%ED%98%BC%EC%A0%84-%EA%BC%AD%EB%93%A4%EB%9F%AC%EB%B3%BC-%EC%82%AC%EC%9D%B4%ED%8A%B8-50%EA%B5%B0%EB%8D%B0.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/7884292276888407955'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/7884292276888407955'/><link rel='alternate' type='text/html' href='http://lovekmg.blogspot.com/2008/08/%EA%B2%B0%ED%98%BC%EC%A0%84-%EA%BC%AD%EB%93%A4%EB%9F%AC%EB%B3%BC-%EC%82%AC%EC%9D%B4%ED%8A%B8-50%EA%B5%B0%EB%8D%B0.html' title='결혼전 꼭들러볼 사이트 50군데'/><author><name>goaltong</name><uri>http://www.blogger.com/profile/16883409882082995900</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-960382485960961150.post-8626952857006274492</id><published>2008-08-19T19:11:00.000-07:00</published><updated>2011-01-11T05:00:01.216-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='APM설치'/><category scheme='http://www.blogger.com/atom/ns#' term='리눅스'/><title type='text'>APM설치</title><content type='html'>&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 12pt"&gt;&lt;FONT face=바탕&gt;LINUX-001&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 48pt; mso-bidi-font-size: 12.0pt"&gt;&lt;FONT face=바탕&gt;메&lt;SPAN lang=EN-US&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;뉴&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;얼&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 48pt; mso-bidi-font-size: 12.0pt"&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 12pt"&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 12pt"&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 12pt"&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 12pt"&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 12pt"&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 12pt"&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 12pt"&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 12pt"&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 12pt"&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 12pt"&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-SIZE: 18pt; mso-bidi-font-size: 12.0pt"&gt;&lt;FONT face=바탕&gt;&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 18pt; mso-bidi-font-size: 12.0pt"&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt; &lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 18pt; mso-bidi-font-size: 12.0pt"&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 14pt; mso-bidi-font-size: 12.0pt"&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 14pt; mso-bidi-font-size: 12.0pt"&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 36pt; mso-bidi-font-size: 12.0pt"&gt;&lt;FONT face=바탕&gt;차&lt;SPAN lang=EN-US&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;례&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 36pt; mso-bidi-font-size: 12.0pt"&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 36pt; mso-bidi-font-size: 12.0pt"&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 56pt; TEXT-INDENT: -36pt; mso-list: l8 level1 lfo1; tab-stops: list 56.0pt"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 20pt; mso-bidi-font-size: 12.0pt"&gt;&lt;FONT face=바탕&gt;1.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 20pt; mso-bidi-font-size: 12.0pt"&gt;&lt;FONT face=바탕&gt;LINUX 설치&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 20pt"&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 56pt; TEXT-INDENT: -36pt; mso-list: l8 level1 lfo1; tab-stops: list 56.0pt"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 20pt; mso-bidi-font-size: 12.0pt"&gt;&lt;FONT face=바탕&gt;2.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 20pt; mso-bidi-font-size: 12.0pt"&gt;&lt;FONT face=바탕&gt;기타&lt;SPAN lang=EN-US&gt; Library 설치 및 GD 설치&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 20pt"&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 56pt; TEXT-INDENT: -36pt; mso-list: l8 level1 lfo1; tab-stops: list 56.0pt"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 20pt; mso-bidi-font-size: 12.0pt"&gt;&lt;FONT face=바탕&gt;3.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 20pt; mso-bidi-font-size: 12.0pt"&gt;&lt;FONT face=바탕&gt;MY-SQL 설치&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 56pt; TEXT-INDENT: -36pt; mso-list: l8 level1 lfo1; tab-stops: list 56.0pt"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 20pt; mso-bidi-font-size: 12.0pt"&gt;&lt;FONT face=바탕&gt;4.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 20pt; mso-bidi-font-size: 12.0pt"&gt;&lt;FONT face=바탕&gt;APACHE 설치&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 56pt; TEXT-INDENT: -36pt; mso-list: l8 level1 lfo1; tab-stops: list 56.0pt"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 20pt; mso-bidi-font-size: 12.0pt"&gt;&lt;FONT face=바탕&gt;5.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 20pt; mso-bidi-font-size: 12.0pt"&gt;&lt;FONT face=바탕&gt;PHP 설치&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 56pt; TEXT-INDENT: -36pt; mso-list: l8 level1 lfo1; tab-stops: list 56.0pt"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 20pt; mso-bidi-font-size: 12.0pt"&gt;&lt;FONT face=바탕&gt;6.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 20pt; mso-bidi-font-size: 12.0pt"&gt;&lt;FONT face=바탕&gt;APACHE, PHP 설정&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 56pt; TEXT-INDENT: -36pt; mso-list: l8 level1 lfo1; tab-stops: list 56.0pt"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 20pt; mso-bidi-font-size: 12.0pt"&gt;&lt;FONT face=바탕&gt;7.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 20pt; mso-bidi-font-size: 12.0pt"&gt;&lt;FONT face=바탕&gt;PHP를 이용한 Web Test Page 작성&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 20pt; mso-bidi-font-size: 12.0pt"&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 14pt; mso-bidi-font-size: 12.0pt"&gt;&lt;FONT face=바탕&gt;1. Linux 설치&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT face=바탕 size=2&gt;(1) RedHat Linux 설치 CD를 준비한다. (Fedora core 4, 4cd)&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 24pt; TEXT-INDENT: -18pt; mso-list: l3 level1 lfo3; tab-stops: list 24.0pt"&gt;&lt;SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"&gt;&lt;FONT size=2&gt;-&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT face=바탕 size=2&gt;fedora core 는 redhat 에서 enterprise 버전의 상용화 시킨 리눅스를 출시하기전에 테스트 개발용으로 최근의 버전으로 출시하는 공개 배포용 리눅스 입니다.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;FONT size=2&gt;&lt;SPAN style="FONT-FAMILY: 휴먼옛체; mso-ansi-language: KO; mso-font-kerning: 0pt"&gt;※ &lt;/SPAN&gt;&lt;SPAN lang=EN-US&gt;&lt;A class=con_link href="http://www.superuser.co.kr/" target=_blank&gt;&lt;FONT face=바탕 color=#0033cc&gt;www.superuser.co.kr&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=바탕&gt; 을 참조 하여 관련 자료를 다운 받으면 됩니다.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT face=바탕 size=2&gt;(2) fedora core cd 1을 cd-rom 에 삽입후 CD부팅을 한다.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT face=바탕 size=2&gt;(3) 처음에 그래픽모드로 설치할것인지 텍스트 모드로 설치할것인지&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;물어보는 화면이 있는데 거기서 그냥 ENTER를 치면 된다.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT face=바탕 size=2&gt;(4) MEDIA TEST 하는 화면이 나오는데 그냥 SKIP을 누른다.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT face=바탕 size=2&gt;(5) 언어는 한국어로 선택하여 주고 키보드는 U.S 영어로 선택.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT face=바탕 size=2&gt;(6) 설치하는것은 사용자의 용도에 맞게 설치를 하면 된다. (전체설치)&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT face=바탕 size=2&gt;(7) 파티션을 나눌것을 물어보게 되는데 수동 DISK DRUID 로 선택후 다음&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 24pt; TEXT-INDENT: -18pt; mso-list: l3 level1 lfo3; tab-stops: list 24.0pt"&gt;&lt;SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"&gt;&lt;FONT size=2&gt;-&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT face=바탕 size=2&gt;swap 파티션은 1024MB 로 설정해주고 나머지 용량 전부를 EXT3포멧 형식의 / (루트) 계정으로 잡아준다.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 24pt; TEXT-INDENT: -18pt; mso-list: l3 level1 lfo3; tab-stops: list 24.0pt"&gt;&lt;SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"&gt;&lt;FONT size=2&gt;-&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT face=바탕 size=2&gt;Swap 파티션 : 메모리가 부족하거나 메모리에서 너무 오랫동안 사용되지 않는 내용을 저장하기 위함&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 24pt; TEXT-INDENT: -18pt; mso-list: l3 level1 lfo3; tab-stops: list 24.0pt"&gt;&lt;SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'"&gt;&lt;FONT size=2&gt;-&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT face=바탕 size=2&gt;/ (root) 파티션 : 실제로 사용하는 공간&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT face=바탕 size=2&gt;(8) 부트로더 선택 (멀티 부팅사용시 윈도우나 리눅스 선택)&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT face=바탕 size=2&gt;(9) 네트워크설정 (공유기나 adsl 사용시 DHCP 로 설정하고 ip 주소가 있는 &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;경우에는 ip주소를 직접 입력해준다.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT face=바탕 size=2&gt;(10) 방화벽 설정은 알아서 해주고 시간대를 seoul로 맞춘다.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT face=바탕 size=2&gt;(11) 루트암호 입력&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 30pt; TEXT-INDENT: -30pt; mso-char-indent-count: -3.0; mso-char-indent-size: 10.0pt"&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT face=바탕 size=2&gt;(12) 전체설치를 선택하고 다음 버튼을 누르게 되면 fedora core 4가 설치된다.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 30pt; TEXT-INDENT: -30pt; mso-char-indent-count: -3.0; mso-char-indent-size: 10.0pt"&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT face=바탕 size=2&gt;(13) cd 4장을 교체를 차례로 해주고 나면(시스템에 따라 2~3시간 소요)&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 30pt; TEXT-INDENT: -30pt; mso-char-indent-count: -3.0; mso-char-indent-size: 10.0pt"&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;재부팅을 하게 되고 그다음으로 시스템 사용준비를 하게 된다.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 30pt; TEXT-INDENT: -30pt; mso-char-indent-count: -3.0; mso-char-indent-size: 10.0pt"&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT face=바탕 size=2&gt;(14) 사용계약서를 동의하고 날자와 시간을 check하고 해상도와 색상수를&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 30pt; TEXT-INDENT: -30pt; mso-char-indent-count: -3.0; mso-char-indent-size: 10.0pt"&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;확인한다. &lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 30pt; TEXT-INDENT: -30pt; mso-char-indent-count: -3.0; mso-char-indent-size: 10.0pt"&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT face=바탕 size=2&gt;(15) root 계정이 아닌 일반 사용자 계정도 하나 추가를 해주고나면 설치가&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 30pt; TEXT-INDENT: -30pt; mso-char-indent-count: -3.0; mso-char-indent-size: 10.0pt"&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;완료 된다.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 30pt; TEXT-INDENT: -30pt; mso-char-indent-count: -3.0; mso-char-indent-size: 10.0pt"&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 30pt; TEXT-INDENT: -30pt; mso-char-indent-count: -3.0; mso-char-indent-size: 10.0pt"&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 30pt; TEXT-INDENT: -30pt; mso-char-indent-count: -3.0; mso-char-indent-size: 10.0pt"&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 30pt; TEXT-INDENT: -30pt; TEXT-ALIGN: center; mso-char-indent-count: -3.0; mso-char-indent-size: 10.0pt" align=center&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 30pt; TEXT-INDENT: -30pt; TEXT-ALIGN: center; mso-char-indent-count: -3.0; mso-char-indent-size: 10.0pt" align=center&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 42pt; TEXT-INDENT: -42pt; TEXT-ALIGN: center; mso-char-indent-count: -3.0; mso-char-indent-size: 14.0pt" align=center&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 14pt; mso-bidi-font-size: 12.0pt"&gt;&lt;FONT face=바탕&gt;2. 기타 library 및 GD 설치&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;FONT size=2&gt;&lt;SPAN style="FONT-FAMILY: 휴먼옛체; mso-ansi-language: KO; mso-font-kerning: 0pt"&gt;※ &lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: KO; mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT face=바탕&gt;PHP 언어에는 여러 함수를 지원합니다. PHP 설치시 라이브러리를 설치해 주어야 작동하는 함수들이 많은데 그중에 GD 라이브러리를 설치하도록 하겠습니다. 그리고 GD라이브러리를 설치 하려면 몇가지 필수 설치 라이브러리가 있는데 그 라이브러리 먼저 설치하도록 하겠습니다.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN style="mso-ansi-language: KO; mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN style="mso-ansi-language: KO; mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;준비할 자료&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;www. Superuser.co.kr 에 접속하면 자료실이 있는데 그곳을 참조&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;zlib 파일 : zlib-1.1.4.tar.tar&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;libpng 파일 : libpng-1.2.5.tar.tar&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;freetype 파일 : freetype-2.1.5.tar.tar&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;libjpeg 파일 : jpegsrc.v6b.tar.tar&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;GD 파일 : gd-2.0.15.tar.tar&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;위 압축 파일들을&lt;SPAN lang=EN-US&gt; /usr/local/tmp/ 만들어서 옮겨놓고 작업하겠으며&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;설치 형식은 압축을 풀고&lt;SPAN lang=EN-US&gt; configure 와 컴파일과 설치이며&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;작업후에는 압축파일과 압축이 풀린 파일들을 삭제토록 하겠습니다&lt;SPAN lang=EN-US&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN style="mso-ansi-language: KO; mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;(1) zlib 설치&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-INDENT: 10pt; TEXT-ALIGN: left; mso-layout-grid-align: none; mso-char-indent-count: 1.0; mso-char-indent-size: 10.0pt" align=left&gt;&lt;SPAN style="mso-ansi-language: KO; mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;zlib 은 압축과 관련된 라이브러리 입니다.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;[root@localhost tmp]# tar zxvf zlib-1.1.4.tar.tar&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;[root@localhost tmp]# cd zlib*&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;[root@localhost zlib-1.1.4]# ./configure&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;[root@localhost zlib-1.1.4]# make&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;[root@localhost zlib-1.1.4]# make install&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;[root@localhost zlib-1.1.4]# cd ..&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;[root@localhost tmp]# rm –rf zlib-1.1.4*&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;(2) libpng 설치&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-INDENT: 12pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;png 포맷을 다루기 위한 라이브러리입니다.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;[root@localhost tmp]# tar zxvf libpng-1.2.5.tar.tar&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;[root@localhost tmp]# cd libpng*&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;[root@localhost libpng-1.2.5]# cp scripts/makefile.linux makefile&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;[root@localhost libpng-1.2.5]# make&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;[root@localhost libpng-1.2.5]# make install&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;[root@localhost libpng-1.2.5]# cd ..&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;[root@localhost tmp]# rm –rf libpng-1.2.5*&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;특별한것은&lt;SPAN lang=EN-US&gt; makefile 를 configure 로 만들지 않고 복사한 것외에는 없습니다.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;(3) freetype 2 설치&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-INDENT: 12pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;글자를 그릴 때 쓰는 라이브러리입니다&lt;SPAN lang=EN-US&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;[root@localhost tmp]# tar zxvf freetype-2.1.5.tar.tar&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;[root@localhost tmp]# cd freetype-2.1.5&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;[root@localhost freetype-2.1.5]# ./configure&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;[root@localhost freetype-2.1.5]# make&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;[root@localhost freetype-2.1.5]# make install&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;[root@localhost freetype-2.1.5]# cd ..&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;[root@localhost tmp]# rm –rf freetype-2.1.5*&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;(4) libjpeg 설치&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-INDENT: 12pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;jpg 포맷을 다루는 라이브러리 입니다.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;[root@localhost tmp]# tar zxvf jpegsrc.v6.b.tar.tar&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;[root@localhost tmp]# cd jpeg*&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;[root@localhost jpeg-6b]# ,.configure -–enable-shared -–enable-static&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;[root@localhost jpeg-6b]# make&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;[root@localhost jpeg-6b]# make test&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;[root@localhost jpeg-6b]# mkdir /usr/local/man/man1&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;[root@localhost jpeg-6b]# make install&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;[root@localhost jpeg-6b]# cd ..&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;[root@localhost tmp]# rm – rf jpeg*&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;위 설치에서 틀별한 것은 중간에&lt;SPAN lang=EN-US&gt; /usr/local/man/man1 이라는 디렉토리를 생성합니다. 이유는 make install 하면 /usr/local/man/man1 디렉토리가 없다고 멘 페이지가 설치가 되지 않는다는 에러가 나기때문입니다.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;(5) GD 설치&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-INDENT: 12pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;그래픽 라이브러리입니다&lt;SPAN lang=EN-US&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;[root@localhost tmp]# tar zxvf gd.2.0.15.tar.tar&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;[root@localhost tmp]# cd gd-2.0.15&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;[root@localhost gd-2.0.15]# ./configure&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;[root@localhost gd-2.0.15]# make&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;[root@localhost gd-2.0.15]# make install&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;[root@localhost gd-2.0.15]# cd ..&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;[root@localhost tmp]# rm –rf gd-2.0.15*&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;FONT size=2&gt;&lt;SPAN style="FONT-FAMILY: 휴먼옛체; mso-ansi-language: KO; mso-font-kerning: 0pt"&gt;※ &lt;/SPAN&gt;&lt;SPAN style="mso-hansi-font-family: 바탕"&gt;&lt;FONT face=바탕&gt;설치순서 &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 휴먼옛체; mso-ansi-language: KO; mso-font-kerning: 0pt"&gt;※&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="mso-hansi-font-family: 바탕"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size=2&gt;&lt;SPAN lang=EN-US style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt;1. &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;압축&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;풀기&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="COLOR: #444444; FONT-FAMILY: 돋움"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size=2&gt;&lt;SPAN lang=EN-US style="BACKGROUND: #ffded3; COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt;tar zxvf xxxx.tar.tar &lt;/SPAN&gt;&lt;SPAN lang=EN-US style="COLOR: #444444; FONT-FAMILY: 돋움"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size=2&gt;&lt;SPAN lang=EN-US style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt;2. &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;환경&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;설정&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;압축을&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;풀면&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;디렉토리가&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;생성될&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;겁니다&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt;. &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;그&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;안으로&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;들어가서&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt;)&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="COLOR: #444444; FONT-FAMILY: 돋움"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size=2&gt;&lt;SPAN lang=EN-US style="BACKGROUND: #ffded3; COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt;./configure&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="COLOR: #444444; FONT-FAMILY: 돋움"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size=2&gt;&lt;SPAN lang=EN-US style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt;3. &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;컴파일&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="COLOR: #444444; FONT-FAMILY: 돋움"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size=2&gt;&lt;SPAN lang=EN-US style="BACKGROUND: #ffded3; COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt;make&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="COLOR: #444444; FONT-FAMILY: 돋움"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size=2&gt;&lt;SPAN lang=EN-US style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt;4. &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;컴파일&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;결과물을&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;특정&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;디렉토리에&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;이동&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;설치&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt;)&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="COLOR: #444444; FONT-FAMILY: 돋움"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size=2&gt;&lt;SPAN lang=EN-US style="BACKGROUND: #ffded3; COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt;make install&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="COLOR: #444444; FONT-FAMILY: 돋움"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang=EN-US style="COLOR: #444444; FONT-FAMILY: 돋움"&gt;&lt;FONT size=2&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang=EN-US style="COLOR: #444444; FONT-FAMILY: 돋움"&gt;&lt;FONT size=2&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size=2&gt;&lt;SPAN lang=EN-US style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt;- &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;몇가지&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;도움말&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; -&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="COLOR: #444444; FONT-FAMILY: 돋움"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size=2&gt;&lt;SPAN lang=EN-US style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt;(1) tar &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;옵션&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;설명&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; :&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="COLOR: #444444; FONT-FAMILY: 돋움"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size=2&gt;&lt;SPAN lang=EN-US style="COLOR: red; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt;z &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;는&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; gz &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;압축&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;파일을&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;다룬다는&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;것을&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;의미&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="COLOR: #444444; FONT-FAMILY: 돋움"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size=2&gt;&lt;SPAN lang=EN-US style="COLOR: red; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt;x&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;는&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; extract &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;의&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;약어&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt;. &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;압축&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt;,&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;묶음을&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;풀겠다는&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;의미&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="COLOR: #444444; FONT-FAMILY: 돋움"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size=2&gt;&lt;SPAN lang=EN-US style="COLOR: red; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt;v &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;는&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; verbose &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;의&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;약어&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt;. &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;압축&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;풀&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;때&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;각&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;화일명을&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;나열하라는&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;의미&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="COLOR: #444444; FONT-FAMILY: 돋움"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size=2&gt;&lt;SPAN lang=EN-US style="COLOR: red; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt;f&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;는&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; file&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;의&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;약어&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt;. &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;특정&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;파일을&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;다룬다는&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;것을&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;의미&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt;. &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;위에서는&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; f &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;옵션&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;뒤로&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;파일명이&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;붙음&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt;.&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="COLOR: #444444; FONT-FAMILY: 돋움"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang=EN-US style="COLOR: #444444; FONT-FAMILY: 돋움"&gt;&lt;FONT size=2&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size=2&gt;&lt;SPAN lang=EN-US style="COLOR: #444444; FONT-FAMILY: 돋움"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt;(2) configure &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;앞에&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN lang=EN-US style="COLOR: red; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt;./&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;가&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;붙는&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;이유&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="COLOR: #444444; FONT-FAMILY: 돋움"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size=2&gt;&lt;SPAN lang=EN-US style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt;configure &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;는&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;해당&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;디렉토리에&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;들어&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;있는&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;실행&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;화일입니다&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt;. &lt;/SPAN&gt;&lt;SPAN lang=EN-US style="COLOR: #444444; FONT-FAMILY: 돋움"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size=2&gt;&lt;SPAN lang=EN-US style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt;. (&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;점&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt;, point)&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;는&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;현재&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;디렉토리를&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;의미합니다&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt;. &lt;/SPAN&gt;&lt;SPAN lang=EN-US style="COLOR: #444444; FONT-FAMILY: 돋움"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size=2&gt;&lt;SPAN lang=EN-US style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt;( .. &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;은&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;상위&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;디렉토리를&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;의미합니다&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt;.)&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="COLOR: #444444; FONT-FAMILY: 돋움"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size=2&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;현재&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;디렉토리에&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;화일을&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;실행시킨다는&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;의미로&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; ./configure &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;라고&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;명령을&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;줍니다&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt;.&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="COLOR: #444444; FONT-FAMILY: 돋움"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size=2&gt;&lt;SPAN lang=EN-US style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt;./ &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;없이&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; configure&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;만&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;하면&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;실행이&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;되지&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;않습니다&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt;. (&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;경로&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;설정이&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;되어&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;있지&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;않기&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;때문&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt;)&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="COLOR: #444444; FONT-FAMILY: 돋움"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang=EN-US style="COLOR: #444444; FONT-FAMILY: 돋움"&gt;&lt;FONT size=2&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size=2&gt;&lt;SPAN lang=EN-US style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt;(3) make &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;와&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; make install &lt;/SPAN&gt;&lt;SPAN lang=EN-US style="COLOR: #444444; FONT-FAMILY: 돋움"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size=2&gt;&lt;SPAN lang=EN-US style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt;make &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;는&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;소스&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;코드를&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;실행이&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;가능한&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;실행화일로&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;만들어&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;줍니다&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt;.&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="COLOR: #444444; FONT-FAMILY: 돋움"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size=2&gt;&lt;SPAN lang=EN-US style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt;make install&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;은&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;만들어진&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;실행&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;화일을&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;특정&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;디렉토리로&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;옮겨주는&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;역할을&lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: Verdana; mso-fareast-font-family: 돋움"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #444444; FONT-FAMILY: 돋움; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"&gt;합니다&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="COLOR: #444444; FONT-FAMILY: 돋움"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang=EN-US style="COLOR: #444444; FONT-FAMILY: 돋움"&gt;&lt;FONT size=2&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 14pt; mso-bidi-font-size: 12.0pt"&gt;&lt;FONT face=바탕&gt;3. MySQL 설치&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;(1) 설치&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 12pt"&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;static 모드로 설치&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT face=바탕 size=2&gt;(&lt;/FONT&gt;&lt;A class=con_link href="http://www.superuser.co.kr/" target=_blank&gt;&lt;FONT face=바탕 color=#0033cc size=2&gt;www.superuser.co.kr&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt; 에서 My-sql 다운로드)&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;(version : mysql-4.0.20.tar.tar)&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;자료는 앞에서 한것과 같이&lt;SPAN lang=EN-US&gt; /usr/local/tmp/ 에 집어넣고 시작하겠습니다.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 20pt"&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;그리고 설치에 앞서&lt;SPAN lang=EN-US&gt; rpm 버전으로 설치가 된 것은 전부 삭제후 소스설치를 시작하도록 하겠습니다.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;(rpm 이란 redhat package manager 의 약자로서 설치를 쉽게 해주는 매니져 프로그램입니다.)&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;# rpm –qa mysql&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;(my sql 프로그램이 깔려있는지 확인)&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;# rpm –e mysql (확인후 있다면 –e 옵션으로 삭제) &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;# rpm –qa php&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;# rpm –e php&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;# rpm –qa apache&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;# rpm –e apache&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;그리고 만약 현재 실행중이라면&lt;SPAN lang=EN-US&gt; rpm –e 명령어를 눌러도 삭제가 되지 않으니 ps 명령어로 프로세서 확인후 실행중이라면 kill 명령어로 프로세서를 죽이고 rpm 삭제 명령을 실행하십니요.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;또&lt;SPAN lang=EN-US&gt; rpm 삭제중 failed dependencies 라는 문구와 함께 다른 프로그램들명이&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;쭉 나오면 의존성이 없다는 오류 이므로 그와 관련된&lt;SPAN lang=EN-US&gt; rpm 프로그램까지&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;같이 삭제를 해주어야 합니다&lt;SPAN lang=EN-US&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;관련있는&lt;SPAN lang=EN-US&gt; rpm 프로그램 모두 삭제시에는 –-nodeps 옵션을 붙여주면 됨&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 12pt; mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 12pt; mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="MARGIN-BOTTOM: 0pt"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 휴먼옛체; mso-bidi-font-size: 10.0pt"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 휴먼옛체; mso-font-kerning: 0pt"&gt;※&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; FONT-FAMILY: 굴림; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'"&gt; mysql &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 굴림; mso-ansi-language: KO; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'"&gt;설치중&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 굴림; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 휴먼옛체; mso-ansi-language: KO; mso-font-kerning: 0pt"&gt;※&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 굴림; mso-ansi-language: KO; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="MARGIN-BOTTOM: 0pt"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; FONT-FAMILY: 굴림; mso-hansi-font-family: 'Arial Unicode MS'"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="MARGIN-BOTTOM: 0pt"&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT face="Arial Unicode MS" size=2&gt;checking "LinuxThreads"... "Not found"&lt;br /&gt;configure: error: This is a linux system and Linuxthreads was not&lt;br /&gt;found. On linux Linuxthreads should be used.&amp;nbsp; Please install Linuxthreads&lt;br /&gt;(or a new glibc) and try again.&amp;nbsp; See the Installation chapter in the&lt;br /&gt;Reference Manual for more information.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="MARGIN-BOTTOM: 0pt"&gt;&lt;FONT face="Arial Unicode MS" size=2&gt;이런 오류 메시지가 나오면&lt;/FONT&gt;&lt;/P&gt;&lt;P style="MARGIN-BOTTOM: 0pt"&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT face="Arial Unicode MS" size=2&gt;/usr/include/pthread.h&lt;br /&gt;위 파일에 &lt;br /&gt;&lt;br /&gt;/* Linuxthreads */ &lt;br /&gt;&lt;br /&gt;이렇게 한줄을 넣어 주세요. 첫줄에 넣어두 되고 아무곳에나..&lt;br /&gt;&lt;br /&gt;원인!!&lt;br /&gt;mysql configure 과정에서 .&lt;br /&gt;pthread.h 파일을 찾아 위 문구가 있는지 조사합니다.&lt;br /&gt;Fedora Core 4의 glibc는 당연히 없으니 에러가 납니다.!&lt;br /&gt;저렇게 써주고 나면 간단히 해결됩니다. 참조바람&lt;BR style="mso-special-character: line-break"&gt;&lt;BR style="mso-special-character: line-break"&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 12pt; mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 12pt; mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;[root@localhost tmp]# tar zxvf mysql-4.0.20.tar.tar&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;[root@localhost tmp]# cd mysql-4.0.20&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;FONT size=2&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT face=바탕&gt;[root@localhost mysql-2.0.20]#&lt;B&gt; &lt;/B&gt;CFLAGS="-static -O2 -march=i686 -funroll-loops" \&lt;br /&gt;CXXFLAGS="-static -O2 -march=i686 -funroll-loops -felide-constructors -fno-exceptions -fno-rtti" \&lt;br /&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'; mso-ascii-font-family: 바탕"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&lt;SPAN lang=EN-US&gt;./configure \&lt;br /&gt;--prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data \&lt;br /&gt;--disable-shared --enable-assembler \&lt;br /&gt;--with-thread-safe-client --with-mysqld-user="mysql" \&lt;br /&gt;--with-client-ldflags=-all-static \&lt;br /&gt;--with-mysqld-ldflags=-all-static \&lt;br /&gt;--with-readline --without-debug \&lt;br /&gt;--without-docs --without-bench \&lt;br /&gt;--with-charset=euc_kr&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 12pt; mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 12pt; mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;FONT size=2&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT face=바탕&gt;[root@localhost mysql-2.0.20]# make &amp;amp;&amp;amp; make install&lt;br /&gt;[root@localhost mysql-2.0.20]# cd ..&lt;br /&gt;[root@localhost tmp]# &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'; mso-ascii-font-family: 바탕"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT face=바탕&gt;rm -rf mysql-4.0.20*&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;이렇게 해주고 나면&lt;SPAN lang=EN-US&gt; my-sql 설치가 완료 됩니다.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 12pt; mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;FONT size=2&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT face=바탕&gt;(2) 설정 파일 복사&lt;br /&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'; mso-ascii-font-family: 바탕"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;FONT face=바탕&gt;메모리에 따라서 환경 설정 파일들을 복사해 줍니다&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT face=바탕&gt;.&lt;br /&gt;my-huge.cnf 1~2G&lt;br /&gt;my-large.cnf 512M&lt;br /&gt;my-medium.cnf 128M~ 256M&lt;br /&gt;my-small.cnf 64M 이하&lt;br /&gt;위와 같이 나와있지만 위 설정은 db 서버 전용으로 사용했을 때 설정입니다. 기본적을 my-medium.cnf를 복사한 다음 시스템에 맞게 설정해서 사용해야 합니다 .(모든게 그렇듯 절대적인 것이 아닙니다.)&lt;br /&gt;[root@localhost tmp]# cp /usr/local/mysql/share/mysql/my-medium.cnf /etc/my.cnf&lt;br /&gt;&lt;br /&gt;(3) 기본 db 생성 &lt;br /&gt;[root@localhost tmp]# /usr/local/mysql/bin/mysql_install_db&lt;br /&gt;&lt;br /&gt;(4) mysql 운영 사용자 생성&lt;br /&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'; mso-ascii-font-family: 바탕"&gt;&amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;FONT face=바탕&gt;홈 디렉토리는 필요 없기 때문에&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT face=바탕&gt; -M 옵션을 주어서 사용자를 생성합니다.&lt;br /&gt;[root@localhost tmp]# useradd -M mysql &lt;br /&gt;&lt;br /&gt;(5) data 디렉토리를 mysql이라는 사용자 권한으로 바꾸어 주어야 합니다.&lt;br /&gt;[root@localhost tmp]# chown -R mysql:mysql /usr/local/mysql/data &lt;br /&gt;&lt;br /&gt;(6) 아무곳에서나 mysql 및 mysqldump 명령어를 실행가능하게 심볼릭 링크를 걸어줍니다.&lt;br /&gt;[root@localhost tmp]# ln -s /usr/local/mysql/bin/mysql /usr/bin/&lt;br /&gt;[root@localhost tmp]# ln -s /usr/local/mysql/bin/mysqldump /usr/bin/&lt;br /&gt;&lt;br /&gt;(7) mysql 데몬을 실행시킵니다.&lt;br /&gt;[root@localhost tmp]# /usr/local/mysql/bin/mysqld_safe &amp;amp;&lt;br /&gt;&lt;br /&gt;(8) mysql root 비밀번호를 설정합니다.&lt;br /&gt;[root@localhost tmp]# /usr/local/mysql/bin/mysqladmin -u root password "암호"&lt;br /&gt;&lt;br /&gt;(9) 운영중에 조취법&lt;br /&gt;- mysql root 비밀번호 잊어 먹었을 때&lt;br /&gt;[root@localhost tmp]# killall mysqld&lt;br /&gt;[root@localhost tmp]# /usr/local/mysql/bin/mysqld_safe --skip-grant-tables &amp;amp;&lt;br /&gt;[root@localhost tmp]# mysql&lt;br /&gt;Welcome to the MySQL monitor. &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'; mso-ascii-font-family: 바탕"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT face=바탕&gt;Commands end with ; or g.&lt;br /&gt;Your MySQL connection id is 2 to server version: 4.0.20-log&lt;br /&gt;&lt;br /&gt;Type 'help;' or 'h' for help. Type 'c' to clear the buffer.&lt;br /&gt;mysql&amp;gt; use mysql&lt;br /&gt;Database changed&lt;br /&gt;mysql&amp;gt; update user set password=password('비밀번호') where &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'; mso-ascii-font-family: 바탕"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT face=바탕&gt;user='root'; &lt;br /&gt;Query OK, 2 rows affected (0.02 sec)&lt;br /&gt;Rows matched: 2 &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'; mso-ascii-font-family: 바탕"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT face=바탕&gt;Changed: 1 &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'; mso-ascii-font-family: 바탕"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT face=바탕 size=2&gt;Warnings: 0&lt;br /&gt;&lt;br /&gt;mysql&amp;gt; exit&lt;br /&gt;Bye&lt;br /&gt;[root@localhost local]# killall mysqld&lt;br /&gt;[root@localhost local]# /usr/local/mysql/bin/mysqld_safe &amp;amp;&lt;br /&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 휴먼옛체; mso-font-kerning: 0pt"&gt;※ &lt;/SPAN&gt;&lt;SPAN style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;실습과제에는&lt;SPAN lang=EN-US&gt; my-sql설치는 포함되지 않았지만 기존 fedora core 4 에는 rpm버전으로 설치된 my-sql이 깔려있어 php나 apache 소스 설치시엔 mysql과 연동하여 설치하여야 하므로 부득이 my-sql rpm 버전을 삭제하고 소스로 설치를 한것입니다.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN lang=EN-US style="mso-bidi-font-size: 9.0pt; mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 휴먼옛체; mso-ansi-language: KO; mso-font-kerning: 0pt"&gt;※ &lt;/SPAN&gt;&lt;SPAN lang=EN-US style="mso-bidi-font-size: 9.0pt; mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;confiure 나 make, make install 할때 spelling 이나 대소문자 띄어쓰기 주의하지 않으면 오류메세지가 나오니 주의하십시요. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN lang=EN-US style="mso-bidi-font-size: 9.0pt; mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN lang=EN-US style="mso-bidi-font-size: 9.0pt; mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN lang=EN-US style="mso-bidi-font-size: 9.0pt; mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN lang=EN-US style="mso-bidi-font-size: 9.0pt; mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN lang=EN-US style="mso-bidi-font-size: 9.0pt; mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN lang=EN-US style="mso-bidi-font-size: 9.0pt; mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN lang=EN-US style="mso-bidi-font-size: 9.0pt; mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN lang=EN-US style="mso-bidi-font-size: 9.0pt; mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN lang=EN-US style="mso-bidi-font-size: 9.0pt; mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 굴림; mso-ansi-language: KO; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN lang=EN-US style="mso-bidi-font-size: 9.0pt; mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 12pt; mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 14pt; mso-bidi-font-size: 12.0pt; mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT face=바탕&gt;4. APACHE 설치&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 20.25pt; TEXT-INDENT: -18pt; mso-list: l4 level1 lfo9; tab-stops: list 20.25pt"&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT face=바탕 size=2&gt;(1)&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=바탕 size=2&gt;설치&lt;/FONT&gt;&lt;SPAN lang=EN-US&gt;&lt;BR style="mso-special-character: line-break"&gt;&lt;BR style="mso-special-character: line-break"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT face=바탕 size=2&gt;(&lt;/FONT&gt;&lt;A class=con_link href="http://www.superuser.co.kr/" target=_blank&gt;&lt;SPAN style="COLOR: windowtext"&gt;&lt;FONT face=바탕 size=2&gt;www.superuser.co.kr&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt; 에서 APACHE 다운로드)&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;(version : httpd-2.0.49.tar.tar)&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;자료는 앞에서 한것과 같이&lt;SPAN lang=EN-US&gt; /usr/local/tmp/ 에 집어넣고 시작하겠습니다.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;FONT size=2&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT face=바탕&gt;[root@localhost tmp]# tar zxvf httpd-2.0.49.tar.tar&lt;br /&gt;[root@localhost tmp]# cd httpd-2.0.49&lt;br /&gt;&lt;br /&gt;** MaxClient 값 튜닝( 최대 256이지만 이상으로 올려줍니다== &amp;gt; 1280)&lt;br /&gt;server/mpm/prefork/prefork.c 파일에서 &lt;br /&gt;#define DEFAULT_SERVER_LIMIT 256 부분을 찾아서 &lt;br /&gt;#define DEFAULT_SERVER_LIMIT 1280 으로 수정해 줍니다.&lt;br /&gt;&lt;br /&gt;server/mpm/worker/worker.c 파일에서&lt;br /&gt;#define DEFAULT_SERVER_LIMIT 16 &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'; mso-ascii-font-family: 바탕"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;FONT face=바탕&gt;부분을 찾아서 &lt;/FONT&gt;&lt;SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'; mso-ascii-font-family: 바탕"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT face=바탕&gt;( 16 * 16 = 1024)&lt;br /&gt;#define DEFAULT_SERVER_LIMIT 20 &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'; mso-ascii-font-family: 바탕"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;FONT face=바탕&gt;이렇게 수정해 줍니다&lt;/FONT&gt;&lt;/FONT&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT face=바탕 size=2&gt;. (20 * 64 = 1280)&lt;BR style="mso-special-character: line-break"&gt;&lt;BR style="mso-special-character: line-break"&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 휴먼옛체; mso-ansi-language: KO; mso-font-kerning: 0pt"&gt;※&lt;/SPAN&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT face=바탕 size=2&gt; vi 편집기 이용법은 마지막 장에 기술하겠습니다.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US&gt;&lt;br /&gt;&lt;FONT face=바탕 size=2&gt;[root@localhost httpd-2.0.49]# ./configure --enable-so --prefix=/usr/local/apache&lt;br /&gt;[root@localhost httpd-2.0.49]# make &amp;amp;&amp;amp; make install&lt;br /&gt;[root@localhost httpd-2.0.49]# cd ..&lt;br /&gt;[root@localhost tmp]# rm -rf httpd-2.0.49*&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="LINE-HEIGHT: 140%; TEXT-ALIGN: center" align=center&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 14pt; FONT-FAMILY: 바탕; mso-bidi-font-size: 10.0pt"&gt;5. PHP 설치&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 14pt; COLOR: #404040; FONT-FAMILY: 바탕; mso-bidi-font-size: 9.0pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="TEXT-JUSTIFY: inter-ideograph; MARGIN-LEFT: 23.25pt; TEXT-INDENT: -18.75pt; LINE-HEIGHT: 140%; TEXT-ALIGN: justify; mso-list: l2 level1 lfo10; tab-stops: list 23.25pt"&gt;&lt;SPAN lang=EN-US style="FONT-FAMILY: 바탕"&gt;&lt;FONT size=2&gt;(1)&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 바탕"&gt;&lt;FONT size=2&gt;설치&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="TEXT-JUSTIFY: inter-ideograph; LINE-HEIGHT: 140%; TEXT-ALIGN: justify"&gt;&lt;SPAN lang=EN-US style="FONT-FAMILY: 바탕"&gt;&lt;FONT size=2&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT face=바탕 size=2&gt;(&lt;/FONT&gt;&lt;A class=con_link href="http://www.superuser.co.kr/" target=_blank&gt;&lt;SPAN style="COLOR: windowtext"&gt;&lt;FONT face=바탕 size=2&gt;www.superuser.co.kr&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt; 에서 PHP 다운로드, IMAP라이브러리 다운로드)&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;(version : php-4.3.6.tar.tar, imap-devel-2001a-18.i386.rpm)&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;자료는 앞에서 한것과 같이&lt;SPAN lang=EN-US&gt; /usr/local/tmp/ 에 집어넣고 시작하겠습니다.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="TEXT-JUSTIFY: inter-ideograph; LINE-HEIGHT: 140%; TEXT-ALIGN: justify"&gt;&lt;SPAN lang=EN-US style="FONT-FAMILY: 바탕"&gt;&lt;br /&gt;&lt;FONT size=2&gt;[root@localhost tmp]# tar zxvf php-4.3.6.tar.tar&lt;br /&gt;[root@localhost tmp]# cd php-4.3.6&lt;br /&gt;&lt;br /&gt;&amp;nbsp;-- imap 라이브러리를 쓰기 위해서 패키지 설치&lt;BR style="mso-special-character: line-break"&gt;&lt;BR style="mso-special-character: line-break"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="TEXT-JUSTIFY: inter-ideograph; LINE-HEIGHT: 140%; TEXT-ALIGN: justify"&gt;&lt;SPAN lang=EN-US style="FONT-FAMILY: 바탕"&gt;&lt;FONT size=2&gt;[root@localhost tmp]# rpm -Uvh imap-devel-2001a-18.i386.rpm&lt;br /&gt;경고: imap-devel-2001a-18.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e&lt;br /&gt;준비 중... &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;########################################### [100%]&lt;br /&gt;&amp;nbsp; &amp;nbsp;1:imap-devel &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ########################################### [100%]&lt;BR style="mso-special-character: line-break"&gt;&lt;BR style="mso-special-character: line-break"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN style="mso-font-kerning: 0pt"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;※&lt;SPAN lang=EN-US&gt; fedora core 4 로 imap를 설치할때는 imap 라이브러리 설치시 오류메세지가 뜬다&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;FONT face=바탕 size=2&gt;경고&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT face=바탕&gt;: /var/tmp/rpm-xfer.lLkDsJ: V3 DSA signature: NOKEY, key ID 4f2a6fd2&lt;br /&gt;오류: Failed dependencies:&lt;br /&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'; mso-ascii-font-family: 바탕"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;FONT face=바탕&gt;&lt;SPAN lang=EN-US&gt; imap-devel conflicts with libc-client-devel-2002e-9.i386&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="mso-hansi-font-family: 바탕"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P style="MARGIN-BOTTOM: 0pt"&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT face="Arial Unicode MS" size=2&gt;configure:error:installation or configuration problem &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="MARGIN-BOTTOM: 0pt"&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT face="Arial Unicode MS" size=2&gt;C Compiler cannot create excutables. &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="MARGIN-BOTTOM: 0pt"&gt;&lt;SPAN lang=EN-US&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&lt;SPAN style="mso-hansi-font-family: 바탕"&gt;이때는 이미&lt;SPAN lang=EN-US&gt; fedora 4 에는 &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US&gt;imap-devel conflicts with libc-client-devel-2002e-9.i386&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="mso-hansi-font-family: 바탕"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&lt;SPAN style="mso-hansi-font-family: 바탕"&gt;버전이 깔려 있어 그런것이므로&lt;SPAN lang=EN-US&gt; rpm –e &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US&gt;imap-devel conflicts with libc-client-devel-2002e-9.i386 쳐서 삭제후 &lt;/SPAN&gt;&lt;SPAN lang=EN-US style="mso-hansi-font-family: 바탕"&gt;rpm -Uvh imap-devel-2001a-18.i386.rpm 명령으로 설치하면 된다.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN lang=EN-US style="mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left&gt;&lt;SPAN lang=EN-US style="mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="TEXT-JUSTIFY: inter-ideograph; LINE-HEIGHT: 140%; TEXT-ALIGN: justify"&gt;&lt;SPAN lang=EN-US style="FONT-FAMILY: 바탕"&gt;&lt;FONT size=2&gt;[root@localhost tmp]# rm -rf imap-devel-2001a-18.i386.rpm&lt;BR style="mso-special-character: line-break"&gt;&lt;BR style="mso-special-character: line-break"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="TEXT-JUSTIFY: inter-ideograph; LINE-HEIGHT: 140%; TEXT-ALIGN: justify"&gt;&lt;SPAN lang=EN-US style="FONT-FAMILY: 바탕"&gt;&lt;FONT size=2&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="TEXT-JUSTIFY: inter-ideograph; LINE-HEIGHT: 140%; TEXT-ALIGN: justify"&gt;&lt;SPAN style="FONT-FAMILY: 바탕"&gt;&lt;FONT size=2&gt;이제 다시&lt;/FONT&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT size=2&gt; php 설치를 진행하도록 하자&lt;br /&gt;[root@localhost php-4.3.6]# CFLAGS="-O3 -march=i686 -funroll-loops -fomit-frame-pointer" \&lt;br /&gt;./configure \&lt;br /&gt;--with-apxs2=/usr/local/apache/bin/apxs \&lt;br /&gt;--with-zlib --with-gd --with-ttf --with-png \&lt;br /&gt;--with-expat-dir=/usr --with-gmp --with-xml \&lt;br /&gt;--with-mysql=/usr/local/mysql \&lt;br /&gt;--with-language=korean \&lt;br /&gt;--with-charset=euc_kr \&lt;br /&gt;--disable-debug --disable-posix --disable-rpath \&lt;br /&gt;--enable-safe-mode --enable-magic-quotes \&lt;br /&gt;--disable-dmalloc --enable-bcmath \&lt;br /&gt;--enable-dio --enable-gd-native-ttf \&lt;br /&gt;--enable-sysvsem --enable-sysvshm \&lt;br /&gt;--enable-wddx --enable-versioning \&lt;br /&gt;--enable-pic --enable-inline-optimization \&lt;br /&gt;--enable-memory-limit --enable-mbstring \&lt;br /&gt;--enable-mbregex --enable-mbstr-enc-trans \&lt;br /&gt;--with-config-file-path=/usr/local/lib --enable-ftp --disable-debug --enable-track-vars=yes \&lt;br /&gt;&amp;nbsp;--with-jpeg-dir --with-freetype-dir \&lt;br /&gt;--enable-gd-native-ttf --enable-dl \&lt;br /&gt;--with-imap=shared --with-imap-ssl=/usr/lib --with-kerberos&lt;br /&gt;&lt;br /&gt;[root@localhost php-4.3.6]# make &amp;amp;&amp;amp; make install&lt;br /&gt;&lt;br /&gt;[root@localhost php-4.3.6]# cp php.ini-dist /usr/local/lib/php.ini&lt;br /&gt;&amp;nbsp;- php.ini 파일을 복사 해 줍니다.&lt;br /&gt;[root@localhost php-4.3.6]# cd ..&lt;br /&gt;[root@localhost tmp]# rm -rf php-4.3.6*&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; FONT-FAMILY: 바탕"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;이러면&lt;SPAN lang=EN-US&gt; php 까지 설치를 완료하였다.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;이제 남은 것은 아파치와&lt;SPAN lang=EN-US&gt; PHP 등의 환경설정과 제대로 동작이 되는지 확인만 하면 되겠다.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P style="TEXT-JUSTIFY: inter-ideograph; LINE-HEIGHT: 140%; TEXT-ALIGN: justify"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; COLOR: #404040; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="TEXT-JUSTIFY: inter-ideograph; LINE-HEIGHT: 140%; TEXT-ALIGN: justify"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; COLOR: #404040; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="TEXT-JUSTIFY: inter-ideograph; LINE-HEIGHT: 140%; TEXT-ALIGN: justify"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; COLOR: #404040; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="TEXT-JUSTIFY: inter-ideograph; LINE-HEIGHT: 140%; TEXT-ALIGN: justify"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; COLOR: #404040; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="TEXT-JUSTIFY: inter-ideograph; LINE-HEIGHT: 140%; TEXT-ALIGN: justify"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; COLOR: #404040; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="TEXT-JUSTIFY: inter-ideograph; LINE-HEIGHT: 140%; TEXT-ALIGN: justify"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; COLOR: #404040; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="TEXT-JUSTIFY: inter-ideograph; LINE-HEIGHT: 140%; TEXT-ALIGN: justify"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; COLOR: #404040; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="TEXT-JUSTIFY: inter-ideograph; LINE-HEIGHT: 140%; TEXT-ALIGN: justify"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; COLOR: #404040; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="TEXT-JUSTIFY: inter-ideograph; LINE-HEIGHT: 140%; TEXT-ALIGN: justify"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; COLOR: #404040; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="TEXT-JUSTIFY: inter-ideograph; LINE-HEIGHT: 140%; TEXT-ALIGN: justify"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; COLOR: #404040; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="LINE-HEIGHT: 140%; TEXT-ALIGN: center" align=center&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 14pt; COLOR: #404040; FONT-FAMILY: 바탕; mso-bidi-font-size: 9.0pt"&gt;6.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;APACHE, PHP 설정&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang=EN-US style="FONT-FAMILY: 바탕"&gt;&lt;FONT size=2&gt;(1) 아파치 설정파일(/usr/local/apache/conf/&lt;B&gt;httpd.conf&lt;/B&gt;) 다루기&lt;br /&gt;&amp;nbsp;아파치 설정파일을 다룹니다. 변경후에는 꼭 아파치를 재시작하시기 바랍니다.&lt;BR style="mso-special-character: line-break"&gt;&lt;BR style="mso-special-character: line-break"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang=EN-US style="FONT-FAMILY: 바탕"&gt;&lt;FONT size=2&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang=EN-US style="FONT-FAMILY: 바탕"&gt;&lt;FONT size=2&gt;&amp;nbsp;- &amp;nbsp;.php 파일 및 html 파일에서 php 코드 실행되게 설정하려면&lt;br /&gt;AddType application/x-httpd-php .php .phtml .php3 .html .htm&lt;br /&gt;AddType application/x-httpd-php-source .phps&lt;br /&gt;위 내용을 추가해 줍니다. 추가 하게 되면 위 파일들에 있는 php 코드는 실행하게 됩니다.&lt;br /&gt;&lt;br /&gt;- 기본 언어 설정&lt;br /&gt;AddDefaultCharset ISO-8859-1 이렇게 되었는 것을 &lt;br /&gt;AddDefaultCharset EUC-KR 이렇게 바꾸어 줍니다. (mysql 언어와 똑같이 해 줍니다.)&lt;br /&gt;&lt;br /&gt;- index.php를 기본으로 실행하게 설정&lt;br /&gt;&amp;nbsp;아파치는 기본적으로 DirectoryIndex index.html index.html.var 이렇게 설정 되어 있어 index.html 파일을 기본으로 읽습니다. 조금 바꾸어 주어 index.php 파일 및 기타 파일들도 기본으로 읽게 설정합니다.&lt;br /&gt;DirectoryIndex index.html index.htm index.php index.php3 index.cgi&lt;br /&gt;&lt;br /&gt;- 그림 파일 및 프래쉬 파일 로그 남기지 않게 설정&lt;br /&gt;방문자 수가 많아지면 웹로그가 엄청 쌓이게 되고, 그 로그는 크기가 &amp;nbsp;2G를 넘게 되면 웹페이지에 이상현상이 생깁니다. 그렇다고 로그를 안 남길 수는 없는 것이고, 이미지 파일들은 로그남기는 것에서 제외합니다.&lt;br /&gt;CustomLog logs/access_log common 이렇게 되어 있는 것을 ..&lt;br /&gt;SetEnvIfNoCase Request_URI (gif|png|jpg|css|js|bmp|jpeg|swf)$ IMAGE=1&lt;br /&gt;CustomLog /usr/local/apache/logs/access_log common env=!IMAGE&lt;br /&gt;이렇게 바꾸면^^; 쉽게 가능합니다.&lt;br /&gt;&lt;br /&gt;(2) php 설정파일 (/usr/local/lib/php.ini) 다루기&lt;br /&gt;&amp;nbsp;php와 관련된 설정을 다룹니다. 변경후에 꼭 아파치 재 시작을 해 주시기 바랍니다.&lt;br /&gt;&lt;br /&gt;- post, get , 쿠키 , 세션등의 변수를 일반변수로&lt;br /&gt;&amp;nbsp;예전에 php는 기본적으로 위 변수를 일반변수로 사용할 수 있었습니다. 하지만 보안에 취약 하기 때문에 php 설치시 기본적으로 일반변수로 사용못하게 설정합니다.&lt;br /&gt;register_globals=On &amp;nbsp;이렇게 설정합니다.&lt;BR style="mso-special-character: line-break"&gt;&lt;BR style="mso-special-character: line-break"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang=EN-US style="FONT-FAMILY: 바탕"&gt;&lt;FONT size=2&gt;&amp;nbsp;(3) mysql 및 apache 시작 &lt;br /&gt;- mysql 시작 : /usr/local/mysql/bin/mysqld_safe &amp;amp;&lt;br /&gt;- apache 시작 : /usr/local/apache/bin/apachectl start&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang=EN-US style="FONT-FAMILY: 바탕"&gt;&lt;FONT size=2&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="mso-font-kerning: 0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;※&lt;SPAN lang=EN-US&gt; apache 실행시 이런 오류 메시지가 뜨게 되면 다음을 참조 합니다. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;You don't have permission to access /index.html on this server.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="mso-bidi-font-size: 9.0pt; mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;Additionally, a 403 Forbidden error was encountered while trying to use an ErrorDocument to handle the request.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&lt;SPAN lang=EN-US style="mso-hansi-font-family: 바탕"&gt;Fedora 4에서는 OS설치시 SELinux가 enforcing mode로 설정되어, apache(httpd), mySQL, PHP, ftpd 등의 원활한 작동을 방해한다. &lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; COLOR: #404040; mso-hansi-font-family: 바탕"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;모든 설치과정이 완벽히 진행되었다고 생각했는데&lt;SPAN lang=EN-US&gt;, 막상 httpd, php 등을 돌려보면 다음과 같은 error를 만나는 경우가 적지않다.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;두가지 방법을 시도해볼수가 있는데 첫번째는 간단하게 쉘에서&lt;SPAN lang=EN-US&gt; #setenforce 0을 입력하게 되면 실행이 가능하게 되고 두번째 방법으로는 /etc/selinux/&lt;B&gt;config &lt;/B&gt;파일을 vi 편집기로 수정을 하면 된다. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;중간쯤 보면&lt;SPAN lang=EN-US&gt; SELINUX=enforcing&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;이라고 적힌곳을 SELINUX = permissive 로 바꾸고&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;저장한후 종료를 하면 된다&lt;SPAN lang=EN-US&gt;. 그리고 리부팅을 해보자. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="mso-hansi-font-family: 바탕"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;(6)번에서 부팅시 자동실행으로 설정해놓았다면 터미널창을 열고 프로세스를 확인해보면&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="mso-hansi-font-family: 바탕"&gt;&lt;FONT face=바탕&gt;&lt;FONT size=2&gt;실행중이라는것을 알수 있을것입니다&lt;SPAN lang=EN-US&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang=EN-US style="FONT-FAMILY: 바탕"&gt;&lt;FONT size=2&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang=EN-US style="FONT-FAMILY: 바탕"&gt;&lt;FONT size=2&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang=EN-US style="FONT-FAMILY: 바탕"&gt;&lt;FONT size=2&gt;&amp;nbsp;(4) mysql 및 apache 재 시작&lt;br /&gt;- mysql 재시작 : /usr/local/mysql/bin/mysqladmin -u root -p reload&lt;br /&gt;&amp;nbsp; ==&amp;gt; 이 방법은 완벽한 재 시작이 아닙니다. 어떤 문제가 생겼을시는 완전히 중지시키고 다시 시작하세요.&lt;br /&gt;- apache 재시작 : /usr/local/apache/bin/apachectl restart&lt;br /&gt;&lt;br /&gt;&amp;nbsp;(5) mysql 및 apache 중지&lt;br /&gt;- mysql 중지 : /usr/local/mysql/bin/mysqladmin -u root -p shutdown&lt;br /&gt;==&amp;gt; &amp;nbsp;이 방법으로 죽지 않을 때는 killall mysqld 라고 하면 죽습니다.&lt;br /&gt;- apache 중지 : /usr/local/apache/bin/apachectl stop&lt;br /&gt;==&amp;gt; 대부분 이 방법으로 죽으나 죽지 않는다면, killall httpd 하시면 죽습니다.&lt;br /&gt;&lt;br /&gt;(6) 부팅시 자동 시작 등록하기&lt;br /&gt;echo ' /usr/local/mysql/bin/mysqld_safe&amp;amp;&lt;br /&gt;/usr/local/apache/bin/apachectl start' &amp;gt;&amp;gt; /etc/rc.d/rc.local&lt;br /&gt;위와같은 한줄로 /etc/rc.d/rc.local 파일의 마지막 부분에 삽입합니다.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;(7). 확인&lt;br /&gt;&amp;nbsp;이렇게 열심히 설치 하였다면.. 확인을 해야 합니다. 서버단에서 확인은 이렇게 합니다.&lt;br /&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;1) 프로세스 확인 &lt;br /&gt;&amp;nbsp;[root@localhost local]# ps -ef | grep httpd&lt;br /&gt;root &amp;nbsp; &amp;nbsp; 24247 &amp;nbsp; &amp;nbsp; 1 &amp;nbsp;0 17:14 ? &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;00:00:00 /usr/local/apache/bin/httpd -k start&lt;br /&gt;nobody &amp;nbsp; 24248 24247 &amp;nbsp;0 17:14 ? &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;00:00:00 /usr/local/apache/bin/httpd -k start&lt;br /&gt;nobody &amp;nbsp; 24249 24247 &amp;nbsp;0 17:14 ? &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;00:00:00 /usr/local/apache/bin/httpd -k start&lt;br /&gt;nobody &amp;nbsp; 24250 24247 &amp;nbsp;0 17:14 ? &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;00:00:00 /usr/local/apache/bin/httpd -k start&lt;br /&gt;nobody &amp;nbsp; 24251 24247 &amp;nbsp;0 17:14 ? &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;00:00:00 /usr/local/apache/bin/httpd -k start&lt;br /&gt;nobody &amp;nbsp; 24252 24247 &amp;nbsp;0 17:14 ? &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;00:00:00 /usr/local/apache/bin/httpd -k start&lt;br /&gt;root &amp;nbsp; &amp;nbsp; 24255 &amp;nbsp;1677 &amp;nbsp;0 17:14 pts/0 &amp;nbsp; &amp;nbsp;00:00:00 grep httpd&lt;br /&gt;[root@localhost local]# ps -ef | grep mysql&lt;br /&gt;root &amp;nbsp; &amp;nbsp; &amp;nbsp;5351 &amp;nbsp;1677 &amp;nbsp;0 16:06 pts/0 &amp;nbsp; &amp;nbsp;00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe&lt;br /&gt;mysql &amp;nbsp; &amp;nbsp; 5371 &amp;nbsp;5351 &amp;nbsp;0 16:06 pts/0 &amp;nbsp; &amp;nbsp;00:00:04 /usr/local/mysql/libexec/mysqld --basedir=/usr/local/mysql&lt;br /&gt;--datadir=/usr/local/mysql/data --user=mysql --pid-file=/usr/local/mysql/data/localhost.localdomain.pid&lt;br /&gt;--skip-locking --port=3306 --socket=/tmp/mysql.sock&lt;br /&gt;root &amp;nbsp; &amp;nbsp; 24257 &amp;nbsp;1677 &amp;nbsp;0 17:14 pts/0 &amp;nbsp; &amp;nbsp;00:00:00 grep mysql&lt;br /&gt;&lt;br /&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;2) 포트 확인&lt;br /&gt;[root@localhost local]# netstat -an | grep LISTEN | grep 80&lt;br /&gt;tcp &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0 &amp;nbsp; &amp;nbsp; &amp;nbsp;0 0.0.0.0:80 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0.0.0.0:* &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; LISTEN &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;br /&gt;[root@localhost local]# netstat -an | grep LISTEN | grep 3306&lt;br /&gt;tcp &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0 &amp;nbsp; &amp;nbsp; &amp;nbsp;0 0.0.0.0:3306 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0.0.0.0:* &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; LISTEN &amp;nbsp; &lt;br /&gt;&lt;BR style="mso-special-character: line-break"&gt;&lt;BR style="mso-special-character: line-break"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang=EN-US style="FONT-FAMILY: 바탕"&gt;&lt;FONT size=2&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang=EN-US style="FONT-FAMILY: 바탕"&gt;&lt;FONT size=2&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang=EN-US style="FONT-FAMILY: 바탕"&gt;&lt;FONT size=2&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="TEXT-ALIGN: center" align=center&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 14pt; FONT-FAMILY: 바탕; mso-bidi-font-size: 10.0pt"&gt;7. PHP 를 이용한 Web Test Page 작성&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;이제 모든 작업이 완료 되었고 마지막&lt;SPAN lang=EN-US&gt; PHP 를 이용하여 간단하게 Web Test Page 를 작성해보도록 하겠습니다.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;먼저 자료를 저장할 경로는&lt;SPAN lang=EN-US&gt; /usr/local/apache/htdocs/ 입니다.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;이곳에서&lt;SPAN lang=EN-US&gt; vi test.php 를 쳐서 간단하게 작성해보도록 합니다.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT face=바탕 size=2&gt;&amp;lt;html&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT face=바탕 size=2&gt;&amp;lt;body&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT face=바탕 size=2&gt;&amp;lt;?php&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;FONT size=2&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT face=바탕&gt;echo &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'; mso-ascii-font-family: 바탕"&gt;“&lt;/SPAN&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT face=바탕&gt;PHP Test Web Page&lt;br /&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'; mso-ascii-font-family: 바탕"&gt;”&lt;/SPAN&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT face=바탕&gt;;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;FONT size=2&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT face=바탕&gt;echo &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'; mso-ascii-font-family: 바탕"&gt;“&lt;/SPAN&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT face=바탕&gt;No : LINUX-001&lt;br /&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'; mso-ascii-font-family: 바탕"&gt;”&lt;/SPAN&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT face=바탕&gt;;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;FONT size=2&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT face=바탕&gt;echo &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'; mso-ascii-font-family: 바탕"&gt;“&lt;/SPAN&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT face=바탕&gt;Program Subject : LINUX &amp;amp; Web&lt;br /&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'; mso-ascii-font-family: 바탕"&gt;”&lt;/SPAN&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT face=바탕&gt;;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;FONT size=2&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT face=바탕&gt;echo &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'; mso-ascii-font-family: 바탕"&gt;“&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'; mso-ascii-font-family: 바탕"&gt;”&lt;/SPAN&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT face=바탕&gt;;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;FONT size=2&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT face=바탕&gt;echo &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'; mso-ascii-font-family: 바탕"&gt;“&lt;/SPAN&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT face=바탕&gt;Deadline : 2006.06.01&lt;br /&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'; mso-ascii-font-family: 바탕"&gt;”&lt;/SPAN&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT face=바탕&gt;;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;FONT size=2&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT face=바탕&gt;echo &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'; mso-ascii-font-family: 바탕"&gt;“&lt;/SPAN&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT face=바탕&gt;Programer : Lee &lt;br /&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-FAMILY: 'Times New Roman'; mso-ascii-font-family: 바탕"&gt;”&lt;/SPAN&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT face=바탕&gt;;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT face=바탕 size=2&gt;?&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT face=바탕 size=2&gt;&amp;lt;/body&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT face=바탕 size=2&gt;&amp;lt;/html&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;FONT size=2&gt;&lt;FONT face=바탕&gt;이렇게 적고&lt;SPAN lang=EN-US&gt; :wq 를 누른고 저장시키고 빠져나오도록 합니다.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;FONT face=바탕&gt;&lt;FONT size=2&gt;그리고 웹 브라우져를 열고 &lt;SPAN lang=EN-US&gt;&lt;A class=con_link href="http://localhost/test.php" target=_blank&gt;&lt;FONT color=#0033cc&gt;http://localhost/test.php&lt;/FONT&gt;&lt;/A&gt; 를 치고 결과물을 확인합니다.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/960382485960961150-8626952857006274492?l=lovekmg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lovekmg.blogspot.com/feeds/8626952857006274492/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://lovekmg.blogspot.com/2008/08/apm%EC%84%A4%EC%B9%98.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/8626952857006274492'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/960382485960961150/posts/default/8626952857006274492'/><link rel='alternate' type='text/html' href='http://lovekmg.blogspot.com/2008/08/apm%EC%84%A4%EC%B9%98.html' title='APM설치'/><author><name>goaltong</name><uri>http://www.blogger.com/profile/16883409882082995900</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-960382485960961150.post-3292243402340243908</id><published>2008-08-19T19:10:00.000-07:00</published><updated>2011-01-11T05:00:00.781-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='명령어'/><title type='text'>리눅스 명령어 요약</title><content type='html'>&lt;DIV class=view&gt;&lt;FONT style="FONT-FAMILY: 0_0"&gt;&amp;lt;사용자 관련&amp;gt; &lt;br /&gt;&lt;br /&gt;adduser [계정이름] : 계정생성 &lt;br /&gt;passwd [계정이름] : 해당계정의 비번변경 &lt;br /&gt;userdel -r [계정이름] : 계정삭제 및 계정의 파일폴더 모두 삭제(-r) &lt;br /&gt;w : 현재 사용중인 사용자 &lt;br /&gt;last : 최근 이용한 접속자 &lt;br /&gt;&lt;br /&gt;&amp;lt;파일/디렉토리&amp;gt; &lt;br /&gt;&lt;br /&gt;ll : 전체폴더구조 보기 &lt;br /&gt;ls : 폴더구조 간단히 보기 &lt;br /&gt;ls -al : 숨긴파일 까지 다 보기 &lt;br /&gt;ls [디렉토리명] : 해당 디렉토리보기 &lt;br /&gt;ls [파일명 또는 일부] : 해당되는 파일만 보여주기 &lt;br /&gt;&lt;br /&gt;cd : 디렉토리 이동 &lt;br /&gt;&lt;br /&gt;chmod 755 [디렉토리] : 파일권한변경 (내꺼, 같은그룹, 전체) &lt;br /&gt;&lt;br /&gt;mkdir [디렉토리] : 디렉토리생성 &lt;br /&gt;mkdir -p a/b : a디렉토리 생성후 하위에 b디렉토리 생성 &lt;br /&gt;rm [파일명] : 파일삭제 &lt;br /&gt;rmdir [디렉토리명] : 디렉토리삭제 (파일존재시 삭제 불가) &lt;br /&gt;rm -rf [디렉토리명] : 하위 디렉토리 및 파일 까지 모두 삭제 &lt;br /&gt;&lt;br /&gt;touch [파일명] : 해당파일의 수정일을 현재시각으로 변경(파일없을시 빈파일 생성) &lt;br /&gt;&lt;br /&gt;cp [파일1] [파일2] : 파일1을 파일2로 복사 &lt;br /&gt;cp -r [디렉토리1] [디렉토리2] : 디렉토리1을 디렉토리2로 하위폴더와 파일까지 복사 &lt;br /&gt;cp -a [파일1] [파일2] : 소유권을 유지하면서 복사 &lt;br /&gt;move [파일/디렉토리] [디렉토리] : 파일 및 디렉토리 이동 &lt;br /&gt;&lt;br /&gt;cat [파일명] : 파일내용 출력 &lt;br /&gt;cat /dev/cdrom &amp;gt; linux.iso : CD롬에 있는 내용을 CD 이미지 파일로 만듦 &lt;br /&gt;cat a.txt &amp;gt;&amp;gt; b.txt : b.txt 파일 하단에 a.txt 파일의 내용 추가 &lt;br /&gt;&lt;br /&gt;more [파일명] : 파일내용을 페이지단위로 출력 (space:다음페이지, b:이전페이지) &lt;br /&gt;&lt;br /&gt;ln [해당디렉토리 또는 파일] [링크이름] : 하드링크 &lt;br /&gt;ls -s [해당디렉토리 또는 파일] [링크이름] : 심볼릭링크 &lt;br /&gt;&lt;br /&gt;| : 파이프로 두개의 명령을 연결시켜줌 &lt;br /&gt;(예: ls -l /usr/bin | more : ls에서 검색된 파일 폴더를 페이지별로 보여줌) &lt;br /&gt;&lt;br /&gt;파일권한 (자신/그룹/나머지: 4:읽기, 2:쓰기, 1:실행) &lt;br /&gt;chown -R ohhappy.wheel /home/ohhappy/* : /home/ohhappy하위의 모든 파일 디렉토리의 소유자를 ohhappy로 그룹을 wheel로 변경 &lt;br /&gt;&lt;br /&gt;mount -t iso9660 /dev/cdrom /mnt/cdrom : cdrom 마운트 &lt;br /&gt;mount -t vfat /dev/fd0 /mnt/floppy : floppy 마운트 &lt;br /&gt;umount /dev/cdrom 또는 umount /mnt/cdrom &lt;br /&gt;&lt;br /&gt;하드디스크 추가시 &lt;br /&gt;fdisk /dev/hdb (프라이머리 슬레이브 하드의 파티션 결정 &lt;br /&gt;mkfs.ex2 /dev/hdb1 (hdb1 파티션 포맷) &lt;br /&gt;fsck.ext2 /dev/hdb1 (파일시스템 점검) &lt;br /&gt;mount -t ext2 /dev/hdb1 /data (/data 디렉토리에 마운트) &lt;br /&gt;vi /dev/fstab (에 마운트 기록, 부팅시 인식) &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;검색&amp;gt; &lt;br /&gt;&lt;br /&gt;find [경로] -name [파일명] : 하위경로의 파일찾기 &lt;br /&gt;/[찾을 문서명] : 문서나 메뉴얼안에서 문자찾기 &lt;br /&gt;which [명령어] : 명령어의 절대경로를 알려줌 &lt;br /&gt;whereis [명령어] : 명령어의 바이너리, 소스, 맨페이지위치 알려줌 &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;시스템/프로세스 관련&amp;gt; &lt;br /&gt;&lt;br /&gt;top : 시스템 프로세스 및 메모리 및 CPU 사용량 &lt;br /&gt;uname -a : 운영체제,호스트명,커널버전,시스템부팅시간,아키텍쳐 보여줌 &lt;br /&gt;uname -m : cpu 보여줌 &lt;br /&gt;free -m : 메모리 보여줌(-m 메가단위, -k kb단위) &lt;br /&gt;df -h : 마운트되어있는 디스크 사용량 &lt;br /&gt;du --max-depth=1 -h /home : 각 계정별로 이용량 확인 &lt;br /&gt;lsdev : 현재 사용중인 장치정보 &lt;br /&gt;w : 현재 사용중인 사용자 &lt;br /&gt;last : 최근 이용한 접속자 &lt;br /&gt;date : 현재 설정된 시간 &lt;br /&gt;clock : Cmos에 설정된 시간 &lt;br /&gt;rdate -s soback.kornet.nm.kr : soback.kornet.nm.kr에서 시간을 전송받아 시간 수정 &lt;br /&gt;clock -w : cmos 시간으로 수정 &lt;br /&gt;netstat -tu : 시스템에 연결된 소켓정보 &lt;br /&gt;ifconfig : 네트웍 장치설정 정보 &lt;br /&gt;&lt;br /&gt;ps -[옵션]: 현재 시스템에서 구동중인 프로세스 상태확인 &lt;br /&gt;(-a:전체사용자, -l:자세히보기, -x:제어터미널이 없는 프로세스, -f:pstree명령어와 같은 프리구조로 출력) &lt;br /&gt;(상태값: D:구동일시중지중, R:구동중, S:쉬는중, T:구동정지중, Z:좀비프로세스, W:메모리를 안쓰는 스와핑상태) &lt;br /&gt;ps auxfw -width=300 : 프로세스의 사용자 확인 (주로 | more 필요) &lt;br /&gt;pstree : 구동중인 프로세스를 투리구조로 보여줌 &lt;br /&gt;&lt;br /&gt;kill -9 [프로세스번호] : 프로세스 강제종료 &lt;br /&gt;killall -9 [프로세스이름] : 프로세스 강제종료 &lt;br /&gt;&lt;br /&gt;&amp;lt;시스템 종료&amp;gt; &lt;br /&gt;&lt;br /&gt;shutdown -h now : 시스템 종료 (-k : 메시지만전달, -r : 재부팅, -h : 셧다운후 종료 -c:셧다운중지) &lt;br /&gt;halt : 시스템 종료 &lt;br /&gt;shutdown -r now : 시스템 재부팅 &lt;br /&gt;reboot : 시스템 재부팅 &lt;br /&gt;shutdown -k '지금시스템을 종료합니다.' : 시스템 종료 메시지 송부 &lt;br /&gt;&lt;br /&gt;&amp;lt;압축&amp;gt; &lt;br /&gt;&lt;br /&gt;tar cvf [생성될 파일명:예 httpd.tar] [묶을 디렉토리] : 설정한 디렉토리를 포함한 하위 디렉토리 및 파일을 묶음 &lt;br /&gt;tar xvf [묶인파일:예 httpd.tar] : tar파일을 현재 디렉토리에 품 &lt;br /&gt;tar tvf [묶인파일:예 httpd.tar] : tar파일을 풀지 않고, 파일리스트만 출력 &lt;br /&gt;tar cvfz [압축파일명 :예 httpd.tar.gz] [압축할 디렉토리] : 파일을 묶어서 압축함 &lt;br /&gt;tar xvfz httpd.tar.gz : tar.gz 압축해제 &lt;br /&gt;tar xvfj httpd.tar.bz2 : tar.bz2 압축해제 &lt;br /&gt;&lt;br /&gt;&amp;lt;보안암호파일 생성&amp;gt; &lt;br /&gt;&lt;br /&gt;htpasswd -c [생성될 파일명] [계정이름] : 암호화된 계정생성명령 &lt;br /&gt;&lt;br /&gt;&lt;RPM&gt;&lt;br /&gt;&lt;br /&gt;rpm -ivh [패키지 파일명] : rpm 패키지 설치 &lt;br /&gt;rpm -Uvh [패키지 파일명] : rpm 패키지 업그레이드 &lt;br /&gt;rpm -e [패키지명] : rpm 패키지 삭제 &lt;br /&gt;rpm -qa : 현재 설치되어있는 패키지 리스트 &lt;br /&gt;rpm -qa | grep [패키지명] : 패키지명 단어가 포함된 패키지 출력 &lt;br /&gt;rpm -ql [패키지명] : 패키지가 설치한 파일 리스트 &lt;br /&gt;rpm -qlp [패키지파일명] : 패키지 설치전 설치될 파일목록 &lt;br /&gt;rpm -qf [파일명(절대경로)] : 어느패키지가 설치한 파일인지 표시 &lt;br /&gt;rpm -qi [패키지명] : 패키지 정보 출력 &lt;br /&gt;rpm -qip [패키지파일명] : 설치할 패키지 정보 출력 &lt;br /&gt;rpm -Va : 패키지 검증 &lt;br /&gt;&lt;br /&gt;&lt;NCFTP&gt;&lt;br /&gt;&lt;br /&gt;ncftp -u [아이디] [접속주소] : ncftp 로그인 &lt;br /&gt;quit : ftp 종료 &lt;br /&gt;get : 다운로드 명령 &lt;br /&gt;mget : 현재폴더내 모든 파일 다운로드 &lt;br /&gt;mget -R * : 현재폴더 및 하위 폴더 파일 다운로드 &lt;br /&gt;&lt;br /&gt;&lt;DB 자동백업&gt;&lt;br /&gt;&lt;br /&gt;1단계. (vi /etc/crontab) 다음줄 추가 &lt;br /&gt;&lt;br /&gt;30 4 * * * root run-parts /etc/cron.mysqldump &lt;br /&gt;(분 시 일 월 주 사용자권한 실행부분 실행디렉토리, 매일 4시 30분실행) &lt;br /&gt;(22 4 * * 0 매주 일요일(0) 4시 22분 실행) &lt;br /&gt;(42 4 1 * * 매월 1일 4시 42분 실행) &lt;br /&gt;&lt;br /&gt;2단계. 해당 디렉토리생성 &lt;br /&gt;mkdir /etc/cron.mysqldump &lt;br /&gt;&lt;br /&gt;3단계. 해당 디렉토리에 실행할 내용이 들어있는 파일 생성 &lt;br /&gt;vi mysqldump.0709.sh* &lt;br /&gt;내용입력 &lt;br /&gt;&lt;br /&gt;#!/bin/bash &lt;br /&gt;&lt;br /&gt;. /etc/profile &lt;br /&gt;&lt;br /&gt;TimeOfDay=`date +"%Y%m%d.%H%M"` &lt;br /&gt;mkdir -p /etc/cron.mysqldump/DATA/${TimeOfDay} &lt;br /&gt;UUSER="root" &lt;br /&gt;PPASS="" &lt;br /&gt;&lt;br /&gt;/usr/local/mysql/bin/mysqldump -u${UUSER} devbank &amp;gt; /etc/cron.mysqldump/DATA/${TimeOfDay}/devbank.sql &lt;br /&gt;/usr/local/mysql/bin/mysqldump -u${UUSER} designter &amp;gt; /etc/cron.mysqldump/DATA/${Time0fDay}/designter.sql &lt;br /&gt;&lt;br /&gt;&amp;lt;디렉토리별 구분&amp;gt; &lt;br /&gt;&lt;br /&gt;/bin : 기본 명령어가 위치 &lt;br /&gt;/boot : 커널이미지가 존재 &lt;br /&gt;/dev : 장치를 사용할때 필요한 특수파일이 위치 &lt;br /&gt;(hda,hdb,hdc,hdd:하드,CDROM fd0:플로피 ttyS0,ttyS1..:com포트 sda,sdb..:스카시장치 lp0:프린터) &lt;br /&gt;/etc : 애플리케이션 및 서버 프로그램의 환경설정에 필요한 설정파일 저장 &lt;br /&gt;/usr : 리눅스 바이너리 프로그램을 설치하는 곳, 패키지 설치시 대부분 이곳에 저장 &lt;br /&gt;/home : 각 계정의 이용자가 사용하는 공간 &lt;br /&gt;/lib : 부팅과 시스템 운영에 필요한 공유라이브러리 및 커널 모듈저장 &lt;br /&gt;/lost+found : 파일시스템이 이상일 있을때 구동되는 fsck 명령에 의해 사용됨 (평소에 빈폴더임) &lt;br /&gt;/mnt : CDROM,플로피등의 장치의 마운트 포인트를 제공함 &lt;br /&gt;/opt : 덩치가 너무 큰 몇몇 리눅스 패키지를 설치할때 사용함 &lt;br /&gt;/proc : 가상파일 시스템으로 프로세스와 시스템 정보를 제공. 파일명으로 존재하는 디렉토리는 커널정보를 숫자로 존재하는 디렉토리는 현재 실행되고 있는 프로세스의 정보를 담고 있
