<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>시간을 기록하다</title>
		<link>http://timenote.net/</link>
		<description></description>
		<language>ko</language>
		<pubDate>Wed, 27 Jan 2010 15:39:08 +0900</pubDate>
		<generator>Tistory 1.1 (http://www.tistory.com/)</generator>
		<image>
		<title>시간을 기록하다</title>
		<url><![CDATA[http://cfile24.uf.tistory.com/image/11555F254A2FDD77B15AA1]]></url>
		<link>http://timenote.net/</link>
		<description></description>
		</image>
		<item>
			<title>HTML 파서 개발 노트(1)</title>
			<link>http://timenote.net/42</link>
			<description>&lt;br /&gt;
현재 개발 중인 HTML 파서는 파싱의 효율성을 위해 기본적으로 DOM과 유사한 방법을 사용한다.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(227, 22, 0); font-weight: bold;&quot;&gt;DOM이란?&lt;/span&gt;&lt;br /&gt;
&lt;a style=&quot;font-weight: bold; color: rgb(48, 88, 210);&quot; title=&quot;[http://ko.wikipedia.org/wiki/%EB%AC%B8%EC%84%9C_%EA%B0%9D%EC%B2%B4_%EB%AA%A8%EB%8D%B8]로 이동합니다.&quot; target=&quot;_blank&quot; href=&quot;http://ko.wikipedia.org/wiki/%EB%AC%B8%EC%84%9C_%EA%B0%9D%EC%B2%B4_%EB%AA%A8%EB%8D%B8&quot;&gt;위키의 설명&lt;/a&gt;을 빌리자면 &quot;&lt;span style=&quot;font-weight: bold;&quot;&gt;문서객체모델(DOM; Document Object Model)&lt;/span&gt;은 객체 지향 모델로써 구조화된 문서를 표현하는 형식이다.&quot; 라고 정의되어 있다. W3C의 공식 표준이며 HTML 문서의 요소(엘레멘트; element : 영문으로는 엘레멘트라 하지만 국내에서는 대부분 &quot;태그&quot;로 말한다)를 제어하기 위해 웹브라우저에서 처음 지원됐다. &lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold; color: rgb(227, 22, 0);&quot;&gt;DOM의 적합성&lt;/span&gt;&lt;br /&gt;
결국 DOM을 단순히 말하자면 특정한 구조를 가진 문서에 대해 쉽게 쓸 수 있게 하는 것이라고 생각할 수 있는데, 구조화된 문서는 HTML 파서에 어떤 효용성이 있는지 판단해 보아야한다.&lt;span style=&quot;color: rgb(255, 139, 22);&quot;&gt; XML 문서의 경우 자체적으로 이미 하나의 DOM 객체&lt;/span&gt;라고 할 수 있는데 자바스크립트를 이용하면 특정 레벨에 대한 검색이나 태그의 탐색등을 할 수 있는 점이 그 예이다. 즉, 현재 개발하려는 HTML 파서의 목적 중 가장 중요한 기능이라 할 수 있는 특정 정보(특정한 태그나 속성)에 대한 탐색이 용이할 것이라는 판단이 나온다. 그러므로 HTML 파서 개발에서 기본적으로 DOM과 같이 HTML을 이용할 수 있도록 자체적으로 API를 만들것이다. &lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(227, 22, 0); font-weight: bold;&quot;&gt;개발 언어&lt;/span&gt;&lt;br /&gt;
또 하나의 중요한 관점은 파서의 속도인데, 웹브라우저를 통해 우리가 보게되는 페이지의 정보는 많지 않을지 몰라도 실제 그 문서의 소스코드를 살펴보면 상당히 많은 정보가 들어 있으므로, &lt;span style=&quot;color: rgb(255, 139, 22);&quot;&gt;많은양의 문서를 파싱해야하는 파서로서는 조금이라도 속도가 빠른것이 용이&lt;/span&gt;하다. 그렇다면 포인터를 이용하는 C 나 C++ 이 적합한데, 이 중 객체의 개념을 적용하기 쉽고 코드 이식성을 높일 수 있도록 C++를 사용한다. &lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold; color: rgb(227, 22, 0);&quot;&gt;HTML 문서의 분석&lt;/span&gt;&lt;br /&gt;
HTML 문서에서 가장 기본 단위는 태그라고 할 수 있다.&lt;br /&gt;
태그에는 기본적으로 태그명, 속성명, 속성값이 포함될 수 있다. 태그명은 하나의 태그에 하나만이 존재하지만, 속성의 경우 아래 예와 같이 다수의 속성명을 포함 할 수 있으므로, 가장 기본 단위의 객체를 태그로 놓아두되, &lt;span style=&quot;color: rgb(255, 139, 22);&quot;&gt;태그는 속성 객체의 리스트를 멤버로 갖도록 설계&lt;/span&gt;해야 한다.&lt;br /&gt;
&lt;div style=&quot;border: 1px solid rgb(254, 254, 184); padding: 10px; background-color: rgb(254, 254, 184);&quot; class=&quot;txc-textbox&quot;&gt;
EX) &amp;lt;&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;span style=&quot;color: rgb(92, 127, 176);&quot;&gt;a &lt;/span&gt;id&lt;/span&gt;=&quot;&lt;span style=&quot;font-weight: bold;&quot;&gt;ex_id&lt;/span&gt;&quot; &lt;span style=&quot;font-weight: bold;&quot;&gt;href&lt;/span&gt;=&quot;&lt;span style=&quot;font-weight: bold;&quot;&gt;ex_href.html&lt;/span&gt;&quot;&amp;gt;ex_text&amp;lt;/&lt;span style=&quot;color: rgb(92, 127, 176); font-weight: bold;&quot;&gt;a&lt;/span&gt;&amp;gt;&lt;/div&gt;
또한 속성 객체에는 어떤 멤버가 필요한지 살펴볼 필요가 있다. 위의 a태그의 id 속성만을 놓고 봤을 때, &quot;id&quot;라는 속성명과 &quot;ex_id&quot;라는 속성값이 있다. 속성에 대한 검색과 원형 복원 등을 위해 대문자 속성명(검색용), 쿼테이션마크, 속성값 등에 대한 멤버가 필요하다. &lt;br /&gt;
&lt;br /&gt;
태그에는 태그명, 속성, 텍스트 외에도 몇가지 더 필요한 것이 있다. 단순히 태그에 대해 표현하고자 하는것이 아니라 &lt;span style=&quot;color: rgb(255, 139, 22);&quot;&gt;HTML 문서를 구조화 시키기 위한 것이므로 계층 구조를 만들어 줄 링크&lt;/span&gt;가 필요하다. 우선 모든 태그의 부모 태그는 하나 뿐이므로 부모 태그에 대한 링크가 필요하며, 자식 태그의 경우 다수의 자식 태그가 존재할 수 있으므로 자식 태그의 링크를 리스트의 형태로 멤버로 갖도록 한다. 속성과 마찬가지로 검색용 태그명이 필요할 것이며, 해당 태그가 열기 태그인지 닫기 태그인지를 구별할 수 있도록 열기닫기에 대한 플래그를 멤버로 가진다(사실 이 플래그가 크게 중요한 것은 아니다).&lt;br /&gt;
&lt;br /&gt;
HTML 구조화를 간략하게 표현해보면 아래의 그림과 같이 나타낼 수 있게된다. 그림에서 알 수 있듯이 결국 HTML 문서를 최상위 노드(Root Tag)에서 뻗어 나오는 &lt;span style=&quot;font-weight: bold; color: rgb(255, 139, 22);&quot;&gt;트리 형태의 구조&lt;/span&gt;로 그릴 수 있게된다.&lt;br /&gt;
&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile8.uf.tistory.com/original/187B6D104B5FD9F72BF676&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile8.uf.tistory.com/image/187B6D104B5FD9F72BF676&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;TagStructure.png&quot; height=&quot;374&quot; width=&quot;550&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
여기까지 HTML 파서에서 문서의 구조화에 대해 설명하고 다음에 파서의 필요 기능들과 탐색 기법 등을 설명한다.&lt;br /&gt;&lt;fieldset style=&quot;margin:20px 0px 20px 0px;padding:5px;&quot;&gt;&lt;legend&gt;&lt;span&gt;&lt;strong&gt;크리에이티브 커먼즈 라이선스&lt;/strong&gt;&lt;/span&gt;&lt;/legend&gt;&lt;!--Creative Commons License--&gt;&lt;div style=&quot;float: left; width: 88px; margin-top: 3px;&quot;&gt;&lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by/2.0/kr/&quot; target=_blank&gt;&lt;img alt=&quot;Creative Commons License&quot; style=&quot;border-width: 0&quot; src=&quot;http://i.creativecommons.org/l/by/2.0/kr/88x31.png&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;margin-left: 92px; margin-top: 3px; text-align: justify;&quot;&gt;이 저작물은 &lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by/2.0/kr/&quot; target=_blank&gt;크리에이티브 커먼즈 코리아 저작자표시 2.0 대한민국 라이선스&lt;/a&gt;에 따라 이용하실 수 있습니다.
			&lt;!-- Creative Commons License--&gt;
			&lt;!-- &lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
			&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by/2.0/kr/&quot; /&gt;
			&lt;/Work&gt;
			&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/DerivativeWorks&quot;/&gt;&lt;/License&gt;&lt;/rdf:RDF&gt; --&gt;&lt;/div&gt;&lt;/fieldset&gt;</description>
			<category>개발 노트</category>
			<author>기록자</author>
			<guid>http://timenote.net/42</guid>
			<comments>http://timenote.net/42#entry42comment</comments>
			<pubDate>Wed, 27 Jan 2010 15:23:36 +0900</pubDate>
		</item>
		<item>
			<title>ssh 에서 파일 전송하기</title>
			<link>http://timenote.net/41</link>
			<description>&lt;br /&gt;
ftp 막혀있는 서버와 파일을 전송해야 할 경우&lt;br /&gt;
ssh를 이용해서 해결할 수 있다&lt;br /&gt;
&lt;br /&gt;사실 내가 쓰는 서버는 항상 ftp 열려있지만 ftp 쓰려고 매번 FileZilla 띄우는게 왠지 귀찮고...-_-;&lt;br /&gt;
터미널에서 ftp로 보내려니 매번 help 쳐서 명령어 봐야할 정도로 기억력도 나쁘고...ㅜ_ㅜ&lt;br /&gt;
&lt;br /&gt;그러다보니 구글신이 찾아주신 &lt;span style=&quot;font-weight: bold; color: rgb(227, 22, 0);&quot;&gt;scp (secure copy)&lt;/span&gt;&lt;br /&gt;
사용 방법은 아래와 같은 방법으로 하면 된다&lt;br /&gt;
&lt;br /&gt;현재 디렉토리의 &lt;span style=&quot;color: rgb(43, 132, 0);&quot;&gt;FromFile &lt;/span&gt;을 &lt;span style=&quot;color: rgb(25, 61, 169);&quot;&gt;123.123.123.123&lt;/span&gt; 서버의 &lt;span style=&quot;color: rgb(227, 22, 0);&quot;&gt;ToServer &lt;/span&gt;계정으로 &lt;span style=&quot;color: rgb(209, 142, 10);&quot;&gt;/home/ToServer/ToDir/&lt;/span&gt; 디렉토리로 전송한다고 했을 때&lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;$ scp &lt;span style=&quot;color: rgb(43, 132, 0);&quot;&gt;./&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(43, 132, 0); font-weight: bold;&quot;&gt;FromFile &lt;/span&gt;&lt;span style=&quot;color: rgb(227, 22, 0); font-weight: bold;&quot;&gt;ToServer&lt;/span&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;@&lt;/span&gt;&lt;span style=&quot;color: rgb(25, 61, 169); font-weight: bold;&quot;&gt;123.123.123.123&lt;/span&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: rgb(209, 142, 10); font-weight: bold;&quot;&gt;/home/ToServer/ToDir/&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;cp 명령어랑 같아서 편하게 쓸수 있음&lt;br /&gt;
반대의 경우도 아래와 같이 전송 가능&lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;$ scp &lt;/span&gt;&lt;span style=&quot;color: rgb(227, 22, 0); font-weight: bold;&quot;&gt;ToServer&lt;/span&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;@&lt;/span&gt;&lt;span style=&quot;color: rgb(25, 61, 169); font-weight: bold;&quot;&gt;123.123.123.123&lt;/span&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: rgb(209, 142, 10); font-weight: bold;&quot;&gt;/home/ToServer/ToDir/&lt;/span&gt;&lt;span style=&quot;color: rgb(43, 132, 0); font-weight: bold;&quot;&gt;FromFile &lt;/span&gt;&lt;span style=&quot;color: rgb(227, 22, 0); font-weight: bold;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;./&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;참고 : &lt;br /&gt;
옵션으로 -r 을 주면 하위 디렉토리까지 모두 전송&lt;br /&gt;
기본적으로 ssh 이므로 포트는 디폴트로 22번이지만 -P 옵션으로 변경 가능&lt;br /&gt;&lt;div class=&quot;entry-ccl&quot; style=&quot;clear: both; text-align: right; margin-bottom: 10px&quot;&gt;
	&lt;img id=&quot;ccl-icon-41-0&quot; class=&quot;entry-ccl-by&quot; src=&quot;http://cfs.tistory.com/static/admin/editor/ccl_black01.png&quot; alt=&quot;저작자 표시&quot;/&gt;
	&lt;!--
	&lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
		&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-fr/2.0/kr/&quot; /&gt;
		&lt;/Work&gt;
		&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-fr/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/DerivativeWorks&quot;/&gt;
		&lt;/License&gt;
	&lt;/rdf:RDF&gt;
	--&gt;
&lt;/div&gt;
&lt;fieldset style=&quot;margin:20px 0px 20px 0px;padding:5px;&quot;&gt;&lt;legend&gt;&lt;span&gt;&lt;strong&gt;크리에이티브 커먼즈 라이선스&lt;/strong&gt;&lt;/span&gt;&lt;/legend&gt;&lt;!--Creative Commons License--&gt;&lt;div style=&quot;float: left; width: 88px; margin-top: 3px;&quot;&gt;&lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by/2.0/kr/&quot; target=_blank&gt;&lt;img alt=&quot;Creative Commons License&quot; style=&quot;border-width: 0&quot; src=&quot;http://i.creativecommons.org/l/by/2.0/kr/88x31.png&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;margin-left: 92px; margin-top: 3px; text-align: justify;&quot;&gt;이 저작물은 &lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by/2.0/kr/&quot; target=_blank&gt;크리에이티브 커먼즈 코리아 저작자표시 2.0 대한민국 라이선스&lt;/a&gt;에 따라 이용하실 수 있습니다.
			&lt;!-- Creative Commons License--&gt;
			&lt;!-- &lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
			&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by/2.0/kr/&quot; /&gt;
			&lt;/Work&gt;
			&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/DerivativeWorks&quot;/&gt;&lt;/License&gt;&lt;/rdf:RDF&gt; --&gt;&lt;/div&gt;&lt;/fieldset&gt;</description>
			<category>기타 등등등등등</category>
			<category>SCP</category>
			<category>Secure Copy</category>
			<category>Secure Shell</category>
			<category>SSH</category>
			<category>파일 전송</category>
			<author>기록자</author>
			<guid>http://timenote.net/41</guid>
			<comments>http://timenote.net/41#entry41comment</comments>
			<pubDate>Thu, 29 Oct 2009 11:03:57 +0900</pubDate>
		</item>
		<item>
			<title>Apache 와 Subversion 연동 시 dav_svn.conf 설정</title>
			<link>http://timenote.net/40</link>
			<description>&lt;br /&gt;
&lt;span style=&quot;font-weight: bold; color: rgb(43, 132, 0);&quot;&gt;&lt;span style=&quot;color: rgb(227, 22, 0);&quot;&gt;dav_svn.conf&lt;/span&gt; &lt;/span&gt;파일은 우분투 기준으로 아파치만 단독으로(LAMP 없이) 설치했을 경우 아래의 디렉토리 안에 있음&lt;br /&gt;
&lt;span style=&quot;color: rgb(227, 22, 0); font-weight: bold;&quot;&gt;/etc/apache2/mods-enabled/ &lt;/span&gt;&lt;br style=&quot;font-weight: bold;&quot;&gt;&lt;br /&gt;
단순히 아래 그림과 같이 대~충 적어주면 됨^^;;&lt;br /&gt;
&lt;br /&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile3.uf.tistory.com/original/1775F4254AE6A3E554703A&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile3.uf.tistory.com/image/1775F4254AE6A3E554703A&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;1234.jpg&quot; height=&quot;210&quot; width=&quot;413&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;span style=&quot;font-weight: bold; color: rgb(227, 22, 0);&quot;&gt;Location /svn/test&lt;/span&gt; 의 의미 :&lt;br /&gt;
가상 디렉토리를 &lt;span style=&quot;color: rgb(25, 61, 169); font-weight: bold;&quot;&gt;/svn/test&lt;/span&gt; 로 잡는다는 의미&lt;br /&gt;
즉 만약 브라우져에서 주소를 &lt;span style=&quot;color: rgb(25, 61, 169); font-weight: bold;&quot;&gt;http://localhost/svn/test&lt;/span&gt; 로 입력 하였을 경우&lt;br /&gt;
SVNPath 로 지정된 &lt;span style=&quot;font-weight: bold; color: rgb(25, 61, 169);&quot;&gt;/home/svn/test&lt;/span&gt; 의 내용을 보여줌&lt;br /&gt;
&lt;br /&gt;&lt;span style=&quot;color: rgb(227, 22, 0); font-weight: bold;&quot;&gt;SVNPath&lt;/span&gt; 와 &lt;span style=&quot;font-weight: bold; color: rgb(227, 22, 0);&quot;&gt;SVNParentPath&lt;/span&gt; 의 차이 :&lt;br /&gt;
위 그림과 같은 경로일때 &lt;br /&gt;
&lt;span style=&quot;color: rgb(25, 61, 169); font-weight: bold;&quot;&gt;SVNParentPath&lt;/span&gt; 는 &lt;span style=&quot;color: rgb(25, 61, 169); font-weight: bold;&quot;&gt;/home/svn&lt;/span&gt; 으로&lt;br /&gt;
&lt;span style=&quot;font-weight: bold; color: rgb(25, 61, 169);&quot;&gt;SVNPath&lt;/span&gt; 는 &lt;span style=&quot;font-weight: bold; color: rgb(25, 61, 169);&quot;&gt;/home/svn/test&lt;/span&gt; 로 설정해야 한다고 들었음&lt;br /&gt;
그러나 본인의 서버에서는 SVNParentPath 가 제대로 적용되지 않아서 SVNPath 를 사용&lt;br /&gt;
&lt;br /&gt;참고 : &lt;span style=&quot;color: rgb(227, 22, 0);&quot;&gt;SVNPath 나 SVNParentPath 둘 중 하나만 사용해야함&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;&lt;span style=&quot;color: rgb(227, 22, 0); font-weight: bold;&quot;&gt;AuthType&lt;/span&gt; 과 &lt;span style=&quot;font-weight: bold; color: rgb(227, 22, 0);&quot;&gt;AuthName &lt;/span&gt;의 의미 :&lt;br /&gt;
솔직히 무슨 의미인지 모르겠음&lt;br /&gt;
저 부분 적지 않아도 실행하는데 아무런 문제가 없으므로 패쓰&lt;br /&gt;
&lt;br /&gt;&lt;span style=&quot;font-weight: bold; color: rgb(227, 22, 0);&quot;&gt;Require valid-user&lt;/span&gt; 의 의미 :&lt;br /&gt;
인증된 사용자만을 접근 허용하겠다는 것&lt;br /&gt;
인터넷 찾아보면 Limit 태그를 사용해서 접근 허용 범위도 조절할 수 있음 &lt;br /&gt;
&lt;br /&gt;&lt;span style=&quot;font-weight: bold; color: rgb(227, 22, 0);&quot;&gt;AuthUserFile /etc/apache2/dav_svn.paasswd&lt;/span&gt; 의 의미 :&lt;br /&gt;
뒤에 나타난 경로는 패스워드 파일의 경로로써 이곳에 인증된 사용자 정보가 저장되어 있음&lt;br /&gt;
&lt;br /&gt;참고 : &lt;span style=&quot;color: rgb(227, 22, 0);&quot;&gt;패스워드 파일은 htpasswd 명령어를 통해서 만들 수 있음&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;&lt;a href=&quot;http://timenote.net/38&quot; target=&quot;_blank&quot;&gt;링크 - Subversion 설치 및 Apache 연동 (in Ubuntu)&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://timenote.net/39&quot; target=&quot;_blank&quot;&gt;링크 - Eclipse 에서 SVN 사용하기&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;&lt;div class=&quot;entry-ccl&quot; style=&quot;clear: both; text-align: right; margin-bottom: 10px&quot;&gt;
	&lt;img id=&quot;ccl-icon-40-0&quot; class=&quot;entry-ccl-by&quot; src=&quot;http://cfs.tistory.com/static/admin/editor/ccl_black01.png&quot; alt=&quot;저작자 표시&quot;/&gt;
	&lt;!--
	&lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
		&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-fr/2.0/kr/&quot; /&gt;
		&lt;/Work&gt;
		&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-fr/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/DerivativeWorks&quot;/&gt;
		&lt;/License&gt;
	&lt;/rdf:RDF&gt;
	--&gt;
&lt;/div&gt;
&lt;fieldset style=&quot;margin:20px 0px 20px 0px;padding:5px;&quot;&gt;&lt;legend&gt;&lt;span&gt;&lt;strong&gt;크리에이티브 커먼즈 라이선스&lt;/strong&gt;&lt;/span&gt;&lt;/legend&gt;&lt;!--Creative Commons License--&gt;&lt;div style=&quot;float: left; width: 88px; margin-top: 3px;&quot;&gt;&lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by/2.0/kr/&quot; target=_blank&gt;&lt;img alt=&quot;Creative Commons License&quot; style=&quot;border-width: 0&quot; src=&quot;http://i.creativecommons.org/l/by/2.0/kr/88x31.png&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;margin-left: 92px; margin-top: 3px; text-align: justify;&quot;&gt;이 저작물은 &lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by/2.0/kr/&quot; target=_blank&gt;크리에이티브 커먼즈 코리아 저작자표시 2.0 대한민국 라이선스&lt;/a&gt;에 따라 이용하실 수 있습니다.
			&lt;!-- Creative Commons License--&gt;
			&lt;!-- &lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
			&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by/2.0/kr/&quot; /&gt;
			&lt;/Work&gt;
			&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/DerivativeWorks&quot;/&gt;&lt;/License&gt;&lt;/rdf:RDF&gt; --&gt;&lt;/div&gt;&lt;/fieldset&gt;</description>
			<category>기타 등등등등등</category>
			<category>Apache</category>
			<category>dav_svn.conf</category>
			<category>subversion</category>
			<category>ubuntu</category>
			<category>설정</category>
			<author>기록자</author>
			<guid>http://timenote.net/40</guid>
			<comments>http://timenote.net/40#entry40comment</comments>
			<pubDate>Tue, 27 Oct 2009 16:48:27 +0900</pubDate>
		</item>
		<item>
			<title>Eclipse 에서 SVN 사용하기</title>
			<link>http://timenote.net/39</link>
			<description>&lt;span style=&quot;font-style: italic;&quot;&gt;이미지를 클릭하시면 크게 보실 수 있습니다&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Eclipse 에서 버젼 관리 모듈인 Subversion 을 사용하기 위한 subclipse 플러그인의 설치 방법 기록&lt;br /&gt;
&lt;br /&gt;
환경 :&lt;br /&gt;
Ubuntu 9.04 Jaunty Jackalope&lt;br /&gt;
Eclipse Ganymede&lt;br /&gt;
&lt;br /&gt;
최근에 Subversion 을 한번 써볼까 하는 생각으로 받아서 설치해 보았다&lt;br /&gt;
우선 기능 자체의 필요성은 논의 대상이 아닌것 같다(개인적으로 필수 유틸리티라고 생각함)&lt;br /&gt;
다만 이전까지는 vi 에서 코딩을 해왔었는데 쉘 상에서 SVN을 쓰자니 조금 불편함이 있었다&lt;br /&gt;
그래서 방법을 찾다보니 subclipse 라는 플러그인을 통해 이클립스에서 SVN 을 사용할 수 있다는 것을 알게되었다&lt;br /&gt;
결국 그 동안 사용하던 vi 를 버리고 Eclipse 로 갈아타기로 결정!!&lt;br /&gt;
이미 Ganymede 버젼의 이클립스에 CDT를 설치하였다&lt;br /&gt;
마지막으로 subclipse 플러그인만 설치하면 개발 환경 셋팅은 끝&lt;br /&gt;
&lt;br /&gt;
우선 설치하는 방법은 대부분의 이클립스 플러그인과 같이 간단하다&lt;br /&gt;
아래의 순서로 따라가보면&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(227, 22, 0); font-weight: bold;&quot;&gt;Help -&amp;gt; Software Updates -&amp;gt;Available Software&lt;/span&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile21.uf.tistory.com/original/1108460B4AE4FA07C50949&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile21.uf.tistory.com/image/1108460B4AE4FA07C50949&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;1.jpg&quot; height=&quot;194&quot; width=&quot;252&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile2.uf.tistory.com/original/1208460B4AE4FA07C690DC&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile2.uf.tistory.com/image/1208460B4AE4FA07C690DC&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;2.jpg&quot; height=&quot;144&quot; width=&quot;392&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(227, 22, 0); font-weight: bold;&quot;&gt;Add Site&lt;/span&gt; 버튼을 누르고 아래와 같은 창이 뜨면 아래의 주소를 추가한다&lt;br /&gt;
&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile27.uf.tistory.com/original/1308460B4AE4FA07C75985&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile27.uf.tistory.com/image/1308460B4AE4FA07C75985&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;3.jpg&quot; height=&quot;119&quot; width=&quot;299&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;color: rgb(227, 22, 0); font-weight: bold;&quot;&gt;&lt;a title=&quot;[http://subclipse.tigris.org/update]로 이동합니다.&quot; target=&quot;_blank&quot; href=&quot;http://subclipse.tigris.org/update&quot;&gt;http://subclipse.tigris.org/update&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br style=&quot;color: rgb(227, 22, 0); font-weight: bold;&quot;&gt;&lt;/div&gt;
&lt;br /&gt;
그리고 해당 사이트가 추가되면 체크하고 &lt;span style=&quot;color: rgb(227, 22, 0); font-weight: bold;&quot;&gt;Install &lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile1.uf.tistory.com/original/1408460B4AE4FA07C877E3&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile1.uf.tistory.com/image/1408460B4AE4FA07C877E3&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;4.jpg&quot; height=&quot;143&quot; width=&quot;369&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
정상적으로 플러그인이 설치 되었다면 아래 그림과 같이 확인 할 수 있다&lt;br /&gt;
&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile2.uf.tistory.com/original/1608460B4AE4FA08C9B193&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile2.uf.tistory.com/image/1608460B4AE4FA08C9B193&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;5.jpg&quot; height=&quot;219&quot; width=&quot;178&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
SVN Repository 탭에서 오른쪽 마우스를 클릭해서 사용할 저장소를 설정하면 이클립스에서 SVN 을 사용할 수 있다&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile21.uf.tistory.com/original/1408460B4AE4FA08CA8314&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile21.uf.tistory.com/image/1408460B4AE4FA08CA8314&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;6.jpg&quot; height=&quot;153&quot; width=&quot;204&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
&lt;a href=&quot;http://timenote.net/38&quot; target=&quot;_blank&quot;&gt;링크 - Subversion 설치 및 Apache 연동 (in Ubuntu)&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;&lt;div class=&quot;entry-ccl&quot; style=&quot;clear: both; text-align: right; margin-bottom: 10px&quot;&gt;
	&lt;img id=&quot;ccl-icon-39-0&quot; class=&quot;entry-ccl-by&quot; src=&quot;http://cfs.tistory.com/static/admin/editor/ccl_black01.png&quot; alt=&quot;저작자 표시&quot;/&gt;
	&lt;!--
	&lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
		&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-fr/2.0/kr/&quot; /&gt;
		&lt;/Work&gt;
		&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-fr/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/DerivativeWorks&quot;/&gt;
		&lt;/License&gt;
	&lt;/rdf:RDF&gt;
	--&gt;
&lt;/div&gt;
&lt;fieldset style=&quot;margin:20px 0px 20px 0px;padding:5px;&quot;&gt;&lt;legend&gt;&lt;span&gt;&lt;strong&gt;크리에이티브 커먼즈 라이선스&lt;/strong&gt;&lt;/span&gt;&lt;/legend&gt;&lt;!--Creative Commons License--&gt;&lt;div style=&quot;float: left; width: 88px; margin-top: 3px;&quot;&gt;&lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by/2.0/kr/&quot; target=_blank&gt;&lt;img alt=&quot;Creative Commons License&quot; style=&quot;border-width: 0&quot; src=&quot;http://i.creativecommons.org/l/by/2.0/kr/88x31.png&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;margin-left: 92px; margin-top: 3px; text-align: justify;&quot;&gt;이 저작물은 &lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by/2.0/kr/&quot; target=_blank&gt;크리에이티브 커먼즈 코리아 저작자표시 2.0 대한민국 라이선스&lt;/a&gt;에 따라 이용하실 수 있습니다.
			&lt;!-- Creative Commons License--&gt;
			&lt;!-- &lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
			&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by/2.0/kr/&quot; /&gt;
			&lt;/Work&gt;
			&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/DerivativeWorks&quot;/&gt;&lt;/License&gt;&lt;/rdf:RDF&gt; --&gt;&lt;/div&gt;&lt;/fieldset&gt;</description>
			<category>기타 등등등등등</category>
			<category>Eclipse</category>
			<category>plugin</category>
			<category>Subclipse</category>
			<category>SVN</category>
			<category>ubuntu</category>
			<category>연동</category>
			<author>기록자</author>
			<guid>http://timenote.net/39</guid>
			<comments>http://timenote.net/39#entry39comment</comments>
			<pubDate>Mon, 26 Oct 2009 10:38:05 +0900</pubDate>
		</item>
		<item>
			<title>Subversion 설치 및 Apache 연동 (in Ubuntu)</title>
			<link>http://timenote.net/38</link>
			<description>&lt;span style=&quot;font-style: italic;&quot;&gt;이 포스트는 Ubuntu 환경에서의 설명으로 다른 환경에서는 경로등의 차이가 있을 수 있습니다&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold; color: rgb(43, 132, 0);&quot;&gt;기본 데몬 설치&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
우선 Subversion을 설치해야 하므로 아래와 같이 입력하거나&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(227, 22, 0);&quot;&gt;$ sudo apt-get install subversion&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
다음의 링크에 가서 다운 받은 후 설치한다&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(227, 22, 0);&quot;&gt;&lt;a title=&quot;[http://subversion.tigris.org/]로 이동합니다.&quot; target=&quot;_blank&quot; href=&quot;http://subversion.tigris.org/&quot;&gt;http://subversion.tigris.org/&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
아파치를 설치하기 위해 다음의 링크에 가서 다운 받은 후 설치한다&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(227, 22, 0);&quot;&gt;&lt;a title=&quot;[http://httpd.apache.org/]로 이동합니다.&quot; target=&quot;_blank&quot; href=&quot;http://httpd.apache.org/&quot;&gt;http://httpd.apache.org/&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
보통 리눅스를 사용하는 분들은 대부분 LAMP 를 이용해서 한번에 셋트로 설치를 하는데 그럴 경우 아래에 설명하는 경로와 약간의 차이가 있을 수 있다&lt;br /&gt;
그리고 SVN과 아파치의 연동을 위해 libapache2-svn 이 필요하므로 아래의 명령을 실행한다&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(227, 22, 0);&quot;&gt;$ sudo apt-get install libapache2-svn&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
물론 subversion과 libapache2-svn 을 동시에 설치해도 문제는 없다&lt;br /&gt;
개인적으로 제일 편한건 apt-get 으로 설치하는 것이었다(Ubuntu가 편한 이유가 이런게 아닐까?)&lt;br /&gt;
여기까지의 과정이 정상적으로 되었다면 저장소를 만들고 설정을 해야한다&lt;br /&gt;
&lt;br style=&quot;color: rgb(43, 132, 0);&quot;&gt;&lt;span style=&quot;font-weight: bold; color: rgb(43, 132, 0);&quot;&gt;저장소 만들기&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
저장소를 만들때는 Berkeley DB 를 이용해서 만드는 방법과 파일 시스템을 이용해서 만드는 방법이 있다&lt;br /&gt;
저장소 용도로 사용할 디렉토리 하나를 만들고 사용하는게 관리적인 측면에서 편하다&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(227, 22, 0);&quot;&gt;$ mkdir /home/svn&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
그리고 Berkeley DB 를 이용할 경우 아래와 같은 입력으로 Test 저장소를 만든다&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(227, 22, 0);&quot;&gt;$ svnadmin create --fs-type bdb /home/svn/Test&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
파일 시스템을 이용할 경우에는 &lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(227, 22, 0);&quot;&gt;$ svnadmin create --fs-type fsfs /home/svn/Test&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
본인은 fsfs 방식으로 생성 하였으며 그 이유는 아래와 같다.&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;border: 3px double rgb(193, 193, 193); padding: 10px; background-color: rgb(238, 238, 238);&quot; class=&quot;txc-textbox&quot;&gt;
FSFS는 리포지토리에 대한 크로스 플랫폼 접근성, 향상된 안정성, 향상된 보안 그리고 간단한 백업 절차와 같이 BDB에 비해 몇가지 장점을 가지고 있다&lt;/div&gt;
위 인용문의 주소 : &lt;a title=&quot;[http://wiki.osxdev.org/index.php/Getting_Control_with_Subversion_and_Xcode]로 이동합니다.&quot; target=&quot;_blank&quot; href=&quot;http://wiki.osxdev.org/index.php/Getting_Control_with_Subversion_and_Xcode&quot;&gt;http://wiki.osxdev.org/index.php/Getting_Control_with_Subversion_and_Xcode&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
다음으로는 저장소를 이용하기 위한 권한 설정이 필요하다&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(43, 132, 0); font-weight: bold;&quot;&gt;저장소 권한 설정 &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
우선 소유자와 그룹 이용자가 모두 사용할 수 있도록 아래와 같이 설정한다&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(227, 22, 0);&quot;&gt;$ sudo chmod -R 770 /home/svn/Test&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
또한 Ubuntu에서 아파치를 설치 하였을 경우 기본적으로 다음과 같이 설정한다&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(227, 22, 0);&quot;&gt;$ sudo chown www-data:www-data /home/svn/Test&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
(데비안 계열은 www-data:www-data 이고 페도라 계열은 nobody:nogroup 이라고 본 것 같음)&lt;br /&gt;
그리고 가상 경로 및 인증된 사용자 설정을 위해 dav_svn.conf 파일을 설정해 주어야 한다&lt;br /&gt;
LAMP 이용없이 아파치만을 따로 설치하였다면 해당 파일을 경로는 아래와 같으므로 에디터를 이용해 열도록한다&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(227, 22, 0);&quot;&gt;$ sudo vi /etc/apache2/mods-enabled/dav_svn.conf&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
그리고 파일을 열어서 아래와 같이 입력한다&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(227, 22, 0);&quot;&gt;&amp;lt;Location /Test&amp;gt;&lt;/span&gt;&lt;br style=&quot;color: rgb(227, 22, 0);&quot;&gt;&lt;span style=&quot;color: rgb(227, 22, 0);&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: rgb(43, 132, 0);&quot;&gt;DAV svn&lt;/span&gt;&lt;/span&gt;&lt;br style=&quot;color: rgb(43, 132, 0);&quot;&gt;&lt;span style=&quot;color: rgb(43, 132, 0);&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SVNPath /home/svn/Test &lt;/span&gt;&lt;br style=&quot;color: rgb(227, 22, 0);&quot;&gt;&lt;span style=&quot;color: rgb(227, 22, 0);&quot;&gt;&amp;lt;/Location&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
저장한 후 아파치를 다시 실행하고 웹브라우져의 주소창에 다음과 같이 쓰면&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(227, 22, 0);&quot;&gt;http://(설치 IP 주소)/Test &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
정상적으로 동작할 경우 아래와 같은 화면을 볼 수 있다&lt;br /&gt;
&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile21.uf.tistory.com/original/1612AE1E4ADE752C63B035&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile21.uf.tistory.com/image/1612AE1E4ADE752C63B035&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;1.jpg&quot; height=&quot;174&quot; width=&quot;449&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
본인은 주소창에 http://localhost/Test 라고 입력하였는데 우분투에서 아파치를 설치하였을 때 localhost 가 막혀있었으므로 localhost 를 사용하고자 한다면 다음의 파일을 열어서 수정을 해야한다&lt;br /&gt;
&lt;br style=&quot;color: rgb(227, 22, 0);&quot;&gt;&lt;span style=&quot;color: rgb(227, 22, 0);&quot;&gt;$ sudo vi /etc/apache2/apache2.conf &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
파일을 열고 마지막에 다음과 같이 추가해준다&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(227, 22, 0);&quot;&gt;ServerName localhost&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
이제까지 Subversion 과 아파치를 연동하는 방법을 기록하였다&lt;br /&gt;
물론 이것이 끝이 아니고 인증된 사용자만 이용하는 방법이라던지 ssh 를 이용해서 사용하는 방법 등등 할 일이 많이 있다&lt;br /&gt;
그러한 것들은 앞으로 차차 하나씩 더해서 기록하도록 하고 오늘은 여기까지만 기록한다&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
&lt;a href=&quot;http://timenote.net/39&quot; target=&quot;_blank&quot;&gt;링크 : Eclipse 에서 SVN 사용하기&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;&lt;div class=&quot;entry-ccl&quot; style=&quot;clear: both; text-align: right; margin-bottom: 10px&quot;&gt;
	&lt;img id=&quot;ccl-icon-38-0&quot; class=&quot;entry-ccl-by&quot; src=&quot;http://cfs.tistory.com/static/admin/editor/ccl_black01.png&quot; alt=&quot;저작자 표시&quot;/&gt;
	&lt;!--
	&lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
		&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-fr/2.0/kr/&quot; /&gt;
		&lt;/Work&gt;
		&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-fr/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/DerivativeWorks&quot;/&gt;
		&lt;/License&gt;
	&lt;/rdf:RDF&gt;
	--&gt;
&lt;/div&gt;
&lt;fieldset style=&quot;margin:20px 0px 20px 0px;padding:5px;&quot;&gt;&lt;legend&gt;&lt;span&gt;&lt;strong&gt;크리에이티브 커먼즈 라이선스&lt;/strong&gt;&lt;/span&gt;&lt;/legend&gt;&lt;!--Creative Commons License--&gt;&lt;div style=&quot;float: left; width: 88px; margin-top: 3px;&quot;&gt;&lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by/2.0/kr/&quot; target=_blank&gt;&lt;img alt=&quot;Creative Commons License&quot; style=&quot;border-width: 0&quot; src=&quot;http://i.creativecommons.org/l/by/2.0/kr/88x31.png&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;margin-left: 92px; margin-top: 3px; text-align: justify;&quot;&gt;이 저작물은 &lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by/2.0/kr/&quot; target=_blank&gt;크리에이티브 커먼즈 코리아 저작자표시 2.0 대한민국 라이선스&lt;/a&gt;에 따라 이용하실 수 있습니다.
			&lt;!-- Creative Commons License--&gt;
			&lt;!-- &lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
			&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by/2.0/kr/&quot; /&gt;
			&lt;/Work&gt;
			&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/DerivativeWorks&quot;/&gt;&lt;/License&gt;&lt;/rdf:RDF&gt; --&gt;&lt;/div&gt;&lt;/fieldset&gt;</description>
			<category>기타 등등등등등</category>
			<category>Apache</category>
			<category>repository</category>
			<category>subversion</category>
			<category>SVN</category>
			<category>svn 아파치 연동</category>
			<category>ubuntu</category>
			<category>우분투</category>
			<category>저장소</category>
			<author>기록자</author>
			<guid>http://timenote.net/38</guid>
			<comments>http://timenote.net/38#entry38comment</comments>
			<pubDate>Wed, 21 Oct 2009 11:49:32 +0900</pubDate>
		</item>
		<item>
			<title>Web Crawler 를 만들기 위해 필요한 사항 정리</title>
			<link>http://timenote.net/37</link>
			<description>&lt;br /&gt;
우선 Crawler 에서 저장해야할 데이터들을 생각해보면...&lt;br /&gt;
&lt;br /&gt;기본적으로 url 은 당연히 필요하고, 주소는 Domain Name 으로 된거랑 IP Address 로 된거 둘다 있어야 할것같고...&lt;br /&gt;
수집한 날짜도 필요하고..&lt;br /&gt;
서버측에서 제공하는 헤더에서 제공되는 파일의 생성된 날짜도 있으면..나중에 비교할 때 좋고&lt;br /&gt;
기사같은거면..수집한 기사를 다시 업데이트하거나 그러진 않을거고 새로운건지 아닌건지만 확인하면 될듯..&lt;br /&gt;
다만..&lt;br /&gt;
기사들의 내용이 여러 사이트가 동일한 경우가 많기때문에..Content만 뽑아서..비교하는기능은 있어야 할듯...A사와 B사에서 동일한 뉴스 제공하는 경우 많으므로 그냥 한 사이트만 긁으면 문제 없고...뭐...둘다 긁더라도 크게 상관은 없을것도 같고...Content 비교하는데서 오버헤드가 심하면...안하는게 나을지도...&lt;br /&gt;
&lt;br /&gt;크롤러는 깊게 생각하면 무지하게 복잡하니까..목적에 맞는 최소한의 기능만 구현하는게 좋을듯&lt;br /&gt;
&lt;br /&gt;흠...위의 내용을 정리하자면...우선 필요한 것들은...&lt;br /&gt;
url (Domain Name &amp;amp; IP Address)&lt;br /&gt;
페이지 생성 날짜&lt;br /&gt;
페이지 수집 날짜&lt;br /&gt;
Content (텍스트 추출)&lt;br /&gt;
&lt;br /&gt;검색 방법은...흠...일단 기본적으로 페이지에 나타난 링크를 큐에 밀어 넣고 계속 탐색하는걸로 해야할려나...&lt;br /&gt;
서버에서 페이지 정보를 받아 올 수 있으면 좋을텐데...&lt;br /&gt;
wget 에서 -r 옵션 주면 계속 탐색하던데...흠...그건 어떻게 하는거지...설마 링크를 따라 계속 돌아서 모은건가...이 부분은 좀 더 살펴봐야겠군...-_-;;&lt;br /&gt;
&lt;br /&gt;&lt;fieldset style=&quot;margin:20px 0px 20px 0px;padding:5px;&quot;&gt;&lt;legend&gt;&lt;span&gt;&lt;strong&gt;크리에이티브 커먼즈 라이선스&lt;/strong&gt;&lt;/span&gt;&lt;/legend&gt;&lt;!--Creative Commons License--&gt;&lt;div style=&quot;float: left; width: 88px; margin-top: 3px;&quot;&gt;&lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by/2.0/kr/&quot; target=_blank&gt;&lt;img alt=&quot;Creative Commons License&quot; style=&quot;border-width: 0&quot; src=&quot;http://i.creativecommons.org/l/by/2.0/kr/88x31.png&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;margin-left: 92px; margin-top: 3px; text-align: justify;&quot;&gt;이 저작물은 &lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by/2.0/kr/&quot; target=_blank&gt;크리에이티브 커먼즈 코리아 저작자표시 2.0 대한민국 라이선스&lt;/a&gt;에 따라 이용하실 수 있습니다.
			&lt;!-- Creative Commons License--&gt;
			&lt;!-- &lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
			&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by/2.0/kr/&quot; /&gt;
			&lt;/Work&gt;
			&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/DerivativeWorks&quot;/&gt;&lt;/License&gt;&lt;/rdf:RDF&gt; --&gt;&lt;/div&gt;&lt;/fieldset&gt;</description>
			<category>기타 등등등등등</category>
			<category>Web Crawler</category>
			<category>구현 요약</category>
			<category>설계</category>
			<category>크롤러</category>
			<category>필요 사항</category>
			<author>기록자</author>
			<guid>http://timenote.net/37</guid>
			<comments>http://timenote.net/37#entry37comment</comments>
			<pubDate>Mon, 29 Jun 2009 20:41:22 +0900</pubDate>
		</item>
		<item>
			<title>이메일 아이콘 만들기</title>
			<link>http://timenote.net/36</link>
			<description>&lt;br /&gt;
블로그를 하다보면 자꾸만 하나씩 더 꾸미고 싶어진다.&lt;br /&gt;
나 역시 마찬가지이다. &lt;br /&gt;
뭐라도 좀 더 이쁘게 보이고 싶다.&lt;br /&gt;
자신의 블로그, 혹은 웹 사이트에 애착을 가지고 있는 사람이라면 아마도 모두들 같은 생각일 것이다.&lt;br /&gt;
그래서 오늘은 자신의 이메일 주소를 아이콘으로 만들어주는 사이트를 소개한다.&lt;br /&gt;
지금 내 블로그의 사이드바 하단에 보면 TimeNoteMail@GMail.com 이라는 아이콘(이미지)이 보일 것이다.&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile1.uf.tistory.com/original/126E211F4A32170682E8E8&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile1.uf.tistory.com/image/126E211F4A32170682E8E8&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;11.PNG&quot; height=&quot;104&quot; width=&quot;180&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
이렇게 이메일 주소를 이미지 형태로 만들어 주는 사이트가 있다.&lt;br /&gt;
&lt;br /&gt;해당 사이트의 주소는 &lt;a style=&quot;font-weight: bold;&quot; title=&quot;[http://services.nexodyne.com/email/index.php]로 이동합니다.&quot; target=&quot;_blank&quot; href=&quot;http://services.nexodyne.com/email/index.php&quot;&gt;이곳&lt;/a&gt;, 혹은 아래 링크를 따라가면 확인할 수 있다.&lt;br /&gt;
http://services.nexodyne.com/email/index.php&lt;br /&gt;
&lt;br /&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile1.uf.tistory.com/original/136E211F4A3217068349BC&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile1.uf.tistory.com/image/136E211F4A3217068349BC&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;22.PNG&quot; height=&quot;268&quot; width=&quot;480&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
사이트에 들어가면 아래와 같은 내용을 볼 수 있는데 메일의 종류를 다양하다. &lt;br /&gt;
단, 국내에서 제공하는 이메일은 없다는게 단점이다.&lt;br /&gt;
&lt;br /&gt;국내 메일의 경우 아래의 &lt;a style=&quot;font-weight: bold;&quot; title=&quot;[http://justhurd.net/email/]로 이동합니다.&quot; target=&quot;_blank&quot; href=&quot;http://justhurd.net/email/&quot;&gt;이곳&lt;/a&gt;이나 아래의 링크를 따라가면 생성할 수 있는 사이트가 있다.&lt;br /&gt;
http://justhurd.net/email/&lt;br /&gt;
&lt;br /&gt;이곳에서는 국내에서 사용하는 대부분의 이메일 도메인이 있으므로 자신의 메일주소에 맞게 생성할 수 있을것이다.&lt;br /&gt;
&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile21.uf.tistory.com/original/156E211F4A321707846B18&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile21.uf.tistory.com/image/156E211F4A321707846B18&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;33.PNG&quot; height=&quot;306&quot; width=&quot;316&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
개인적으로 GMail 의 경우 국외 사이트에서는 &#039;@&#039;의 색상이 노란색이라서 국내 사이트보다 이뻐보여서 나는 국외사이트에서 만들었다.&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile22.uf.tistory.com/original/166E211F4A321707854701&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile22.uf.tistory.com/image/166E211F4A321707854701&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;mail.png&quot; height=&quot;21&quot; width=&quot;179&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;fieldset style=&quot;margin:20px 0px 20px 0px;padding:5px;&quot;&gt;&lt;legend&gt;&lt;span&gt;&lt;strong&gt;크리에이티브 커먼즈 라이선스&lt;/strong&gt;&lt;/span&gt;&lt;/legend&gt;&lt;!--Creative Commons License--&gt;&lt;div style=&quot;float: left; width: 88px; margin-top: 3px;&quot;&gt;&lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by/2.0/kr/&quot; target=_blank&gt;&lt;img alt=&quot;Creative Commons License&quot; style=&quot;border-width: 0&quot; src=&quot;http://i.creativecommons.org/l/by/2.0/kr/88x31.png&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;margin-left: 92px; margin-top: 3px; text-align: justify;&quot;&gt;이 저작물은 &lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by/2.0/kr/&quot; target=_blank&gt;크리에이티브 커먼즈 코리아 저작자표시 2.0 대한민국 라이선스&lt;/a&gt;에 따라 이용하실 수 있습니다.
			&lt;!-- Creative Commons License--&gt;
			&lt;!-- &lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
			&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by/2.0/kr/&quot; /&gt;
			&lt;/Work&gt;
			&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/DerivativeWorks&quot;/&gt;&lt;/License&gt;&lt;/rdf:RDF&gt; --&gt;&lt;/div&gt;&lt;/fieldset&gt;</description>
			<category>기타 등등등등등</category>
			<category>e-mail icon</category>
			<category>email</category>
			<category>iCon</category>
			<category>이메일 아이콘</category>
			<category>이메일 이미지</category>
			<author>기록자</author>
			<guid>http://timenote.net/36</guid>
			<comments>http://timenote.net/36#entry36comment</comments>
			<pubDate>Fri, 12 Jun 2009 18:02:08 +0900</pubDate>
		</item>
		<item>
			<title>정규표현식(Regular Expression)을 이용한 Parsing Tip</title>
			<link>http://timenote.net/35</link>
			<description>요즘 나는 업무상 필요에 의해서 perl을 공부하고 있다.&lt;br /&gt;
내가 생각하는 perl 의 장점은 간단한 코딩 몇 줄만으로도 상당한 위력을 발휘한다는 것이다.&lt;br /&gt;
그런 생각의 중심에는 바로 정규표현식이 있다.&lt;br /&gt;
사실 정규표현식을 사용할 수 있는 프로그래밍 언어는 여러가지 있지만, perl처럼 스크립트의 형식으로 사용하는 것에는 여러가지 장점이 있다고 생각한다.&lt;br /&gt;
&lt;br /&gt;
오늘은 perl을 이용한 텍스트의 Parsing 에서 유용하게 활용할 수 있는 팁을 기록한다.&lt;br /&gt;
&lt;br /&gt;
인터넷에는 수많은 문서들이 존재하며 그런 문서들을 수집하다보면 html 파일처럼 태그가 붙어 있는 문서들이 많이 있다.&lt;br /&gt;
오늘은 그러한 태그를 이용해 필요한 데이터를 추출할 때 사용할 수 있는 팁으로써 중첩된 동일한 태그에서 가장 안쪽의 데이터를 추출하는 방법이다.&lt;br /&gt;
사실 별것 아닌 방법이지만 어느날인가 KLDP에서 이 부분에 대해 해법을 찾지못하고 여러사람들이 방법들을 얘기하던 기억이 나서 적어두고자한다.&lt;br /&gt;
&lt;br /&gt;
우선 아래의 예를 보면 두 개의 div 태그 안에 쌓여 있는 형태를 볼 수 있을 것이다.&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;color: rgb(227, 22, 0); font-weight: bold;&quot;&gt;aaa&amp;lt;div&amp;gt;bbb&amp;lt;div&amp;gt;123&amp;lt;/div&amp;gt;ccc&amp;lt;/div&amp;gt;ddd&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;
&lt;br /&gt;
위와 같은 경우 &amp;lt;div&amp;gt; 와 &amp;lt;/div&amp;gt; 사이의 데이터를 찾고자 했을 때 다음과 같은 정규표현식을 사용할 수 있을 것이다.&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;border: 3px double rgb(243, 197, 52); padding: 10px; background-color: rgb(254, 254, 184); text-align: center;&quot; class=&quot;txc-textbox&quot;&gt;
/\&amp;lt;div\&amp;gt;.*?\&amp;lt;\/div\&amp;gt;/&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
하지만 위와 같은 형태로 데이터를 추출하면 아래와 같은 결과가 나온다&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;font-weight: bold; color: rgb(43, 132, 0);&quot;&gt;&amp;lt;div&amp;gt;bbb&amp;lt;div&amp;gt;123&amp;lt;/div&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;
&lt;br /&gt;
정규표현식의 처리 특성상 먼저 나타난 &amp;lt;div&amp;gt; 에 대해 위치를 찾아버리므로 당연한 결과이다. &lt;br /&gt;
하지만 우리가 원하는 데이터가 &amp;lt;div&amp;gt;123&amp;lt;/div&amp;gt; 로써 태그의 형태상 가장 안쪽에 있는 것을 찾기 원한다면 어떻게 해야 할 것인가를 생각하지 않을 수 없다.&lt;br /&gt;
&lt;br /&gt;
이런 경우 아래와 같은 형태의 &lt;span style=&quot;color: rgb(227, 22, 0); font-weight: bold;&quot;&gt;reverse&lt;/span&gt; 함수와 그에 맞는 역패턴을 이용하는 방법이 쓸만하다.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile4.uf.tistory.com/original/15631D214A2A1834431782&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile4.uf.tistory.com/image/15631D214A2A1834431782&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;pat11.png&quot; height=&quot;324&quot; width=&quot;458&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
이런 고민을 하고 있을법한 사람이라면 위의 코드내용에 대해서는 크게 어려운것이 없으니 쉽게 이해 할 것이라 생각하고 특별히 코드에 대한 설명은 하지 않겠다.&lt;br /&gt;
&lt;br /&gt;
위의 코드를 실행하면 아래 그림과 같은 결과를 확인할 수 있을 것이다.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile5.uf.tistory.com/original/16631D214A2A18344446B5&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile5.uf.tistory.com/image/16631D214A2A18344446B5&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;pat22.png&quot; height=&quot;69&quot; width=&quot;323&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
간단하면서도 단순하고, 또한 html 이나 xml 문서와 같이 구조가 있는 문서를 처리할 때 유용하게 사용할 수 있는 방법이라고 생각한다.&lt;br /&gt;
&lt;br /&gt;
PS: 내가 기억하기로는 C#에서의 정규표현식에서는 최단일치를 할 수 있는 방법이 있었던것 같은데 안쓴지 오래되서 가물가물..;;&lt;br /&gt;
&lt;br /&gt;&lt;fieldset style=&quot;margin:20px 0px 20px 0px;padding:5px;&quot;&gt;&lt;legend&gt;&lt;span&gt;&lt;strong&gt;크리에이티브 커먼즈 라이선스&lt;/strong&gt;&lt;/span&gt;&lt;/legend&gt;&lt;!--Creative Commons License--&gt;&lt;div style=&quot;float: left; width: 88px; margin-top: 3px;&quot;&gt;&lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by/2.0/kr/&quot; target=_blank&gt;&lt;img alt=&quot;Creative Commons License&quot; style=&quot;border-width: 0&quot; src=&quot;http://i.creativecommons.org/l/by/2.0/kr/88x31.png&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;margin-left: 92px; margin-top: 3px; text-align: justify;&quot;&gt;이 저작물은 &lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by/2.0/kr/&quot; target=_blank&gt;크리에이티브 커먼즈 코리아 저작자표시 2.0 대한민국 라이선스&lt;/a&gt;에 따라 이용하실 수 있습니다.
			&lt;!-- Creative Commons License--&gt;
			&lt;!-- &lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
			&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by/2.0/kr/&quot; /&gt;
			&lt;/Work&gt;
			&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/DerivativeWorks&quot;/&gt;&lt;/License&gt;&lt;/rdf:RDF&gt; --&gt;&lt;/div&gt;&lt;/fieldset&gt;</description>
			<category>프로그래밍 팁</category>
			<category>Parsing</category>
			<category>Perl</category>
			<category>Regular Expression</category>
			<category>정규표현식</category>
			<category>최단일치</category>
			<author>기록자</author>
			<guid>http://timenote.net/35</guid>
			<comments>http://timenote.net/35#entry35comment</comments>
			<pubDate>Sat, 06 Jun 2009 16:21:17 +0900</pubDate>
		</item>
		<item>
			<title>통계적 추론 : 추정, 가설 검정</title>
			<link>http://timenote.net/34</link>
			<description>통계적 추론(Statistical Inference)&lt;br /&gt;
&lt;br /&gt;모집단으로부터 랜덤표본을 추출하여 자료를 수집·정리한 후, 자료로부터 얻어진 정보를 이용하여 모집단에 관한 추측이나 결론을 도출해내는 분석과정을 통계적 추론(statistical inference)이라 한다.&lt;br /&gt;
통계적 추론은 모수의 추정(estimation)과 모두에 대한 가설 검정(hypothesis testing)의 두 분야로 나뉜다. &lt;br /&gt;
&lt;br /&gt;추정(Estimation)&lt;br /&gt;
&lt;br /&gt;통계적 추론에서 가장 기본적인 추측의 대상은 모집단의 평균, 표준 편차, 비율, 상관계수 등과 같은 것이다. 표본을 이용하여 위에 열거된 모집단의 특성치에 대한 추정값과 그 정확성을 제시하는 과정을 추정이라 한다. 추정에는 하나의 값으로 모수를 추정하는 점추정과 모수가 포함될만한 구간을 제시하는 구간추정이 있으며, 구간추정이 더 보편적이다. &lt;br /&gt;
&lt;br /&gt;가설 검정(Hypothesis Testing)&lt;br /&gt;
&lt;br /&gt;통계조사나 통계적 실험을 하는 주된 이유 중의 하나는 새로운 사실이나 어떤 현상을 확인하고 주장하기 위해서이다. 따라서 이를 주장하기 위해 설정한 가설이 옳은지 그른지에 대한 증거가 자료에 뚜렷이 나타나는가를 판단할 필요가 있을 것이다. 즉, 가설검정에서는 표본이 갖고 있는 정보를 이용하여 그 가설의 진위 여부를 통계적으로 판단하는 것이다.&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;&lt;fieldset style=&quot;margin:20px 0px 20px 0px;padding:5px;&quot;&gt;&lt;legend&gt;&lt;span&gt;&lt;strong&gt;크리에이티브 커먼즈 라이선스&lt;/strong&gt;&lt;/span&gt;&lt;/legend&gt;&lt;!--Creative Commons License--&gt;&lt;div style=&quot;float: left; width: 88px; margin-top: 3px;&quot;&gt;&lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by/2.0/kr/&quot; target=_blank&gt;&lt;img alt=&quot;Creative Commons License&quot; style=&quot;border-width: 0&quot; src=&quot;http://i.creativecommons.org/l/by/2.0/kr/88x31.png&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;margin-left: 92px; margin-top: 3px; text-align: justify;&quot;&gt;이 저작물은 &lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by/2.0/kr/&quot; target=_blank&gt;크리에이티브 커먼즈 코리아 저작자표시 2.0 대한민국 라이선스&lt;/a&gt;에 따라 이용하실 수 있습니다.
			&lt;!-- Creative Commons License--&gt;
			&lt;!-- &lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
			&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by/2.0/kr/&quot; /&gt;
			&lt;/Work&gt;
			&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/DerivativeWorks&quot;/&gt;&lt;/License&gt;&lt;/rdf:RDF&gt; --&gt;&lt;/div&gt;&lt;/fieldset&gt;</description>
			<category>기타 등등등등등</category>
			<category>estimation</category>
			<category>hypothesis testing</category>
			<category>statistical inference</category>
			<category>가설 검정</category>
			<category>추정</category>
			<category>통계적 추론</category>
			<author>기록자</author>
			<guid>http://timenote.net/34</guid>
			<comments>http://timenote.net/34#entry34comment</comments>
			<pubDate>Wed, 27 May 2009 16:28:29 +0900</pubDate>
		</item>
		<item>
			<title>Vim 에서 digraphs 를 이용한 특수문자 입력 방법</title>
			<link>http://timenote.net/33</link>
			<description>&lt;br /&gt;
vim 에디터를 사용할 때 자주 있는 일은 아니겠지만 한번씩 특수문자를 사용해야 할 경우가 있다.&lt;br /&gt;
일반적인 경우에는 키보드의 숫자키와 함께 사용하는 특수문자(~!@#$%^ 등등)로 충분히 커버할 수 있지만, 수학기호같은 것들이 필요할 경우도 있을 것이다. &lt;br /&gt;
이런 경우에는 &lt;span style=&quot;text-decoration: underline;&quot;&gt;윈도우즈의 메모장에서 처럼 한글 자음 하나 치고나서 한자키를 눌러보세요.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;text-decoration: underline;&quot;&gt;그러면 아무런 일도 일어나지 않습니다.ㅋㅋㅋㅋ&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
이런 경우 vim 에서는 &lt;span style=&quot;font-weight: bold; color: rgb(95, 182, 54);&quot;&gt;digraphs &lt;/span&gt;라는 특수문자 입력을 위한 도구가 있습니다.&lt;br /&gt;
우선 &lt;span style=&quot;color: rgb(95, 182, 54); font-weight: bold;&quot;&gt;ex mode&lt;/span&gt; 에서 &lt;span style=&quot;font-weight: bold; color: rgb(95, 182, 54);&quot;&gt;:dig&lt;/span&gt;&lt;span style=&quot;color: rgb(95, 182, 54);&quot;&gt; &lt;/span&gt;를 입력합니다.&lt;br /&gt;
&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile5.uf.tistory.com/original/1958981F4A160E11607118&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile5.uf.tistory.com/image/1958981F4A160E11607118&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;digraph_1.png&quot; height=&quot;214&quot; width=&quot;400&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
그러면 아래와 같은 화면의 특수문자표를 볼 수 있을 것이다.&lt;br /&gt;
&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile2.uf.tistory.com/original/2058981F4A160E11611DC4&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile2.uf.tistory.com/image/2058981F4A160E11611DC4&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;digraph_2.png&quot; height=&quot;214&quot; width=&quot;400&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
그러면 화면에서 보이는 특수문자 중 자신이 사용해야 할 문자의 왼쪽편에 보이는 키를 기억하도록 한다.&lt;br /&gt;
저는 시그마 기호의 매칭 키를 기억하겠습니다. 시그마 기호이 매칭키는 &lt;span style=&quot;color: rgb(95, 182, 54); font-weight: bold;&quot;&gt;S*&lt;/span&gt; 입니다.&lt;br /&gt;
&lt;br /&gt;
그리고 q를 눌러 원래 화면으로 돌아 온 뒤 &lt;span style=&quot;font-weight: bold; color: rgb(95, 182, 54);&quot;&gt;Ctrl+k&lt;/span&gt; 를 누르면 커서자리에&lt;span style=&quot;color: rgb(95, 182, 54); font-weight: bold;&quot;&gt; ?&lt;/span&gt; 표시가 보일 것입니다.&lt;br /&gt;
&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile5.uf.tistory.com/original/1258981F4A160E1262CC50&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile5.uf.tistory.com/image/1258981F4A160E1262CC50&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;digraph_3.png&quot; height=&quot;214&quot; width=&quot;400&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
그 상태에서 시그마 기호의 매칭 키인 S* 를 입력합니다. 그러면 시그마 기호가 나타날 것입니다.&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile23.uf.tistory.com/original/1358981F4A160E1263DD56&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile23.uf.tistory.com/image/1358981F4A160E1263DD56&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;digraph_4.png&quot; height=&quot;214&quot; width=&quot;400&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
여기서 S 키를 대문자로 입력하는 것과 소문자로 입력하는 것에서 차이가 있습니다. &lt;br /&gt;
대문자로 입력하면 합을 구할 때 사용하는 시그마 기호가 나오고, 소문자로 입력하면 표준편차를 가리킬 때 사용하는 시그마 기호가 됩니다.&lt;br /&gt;
&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile3.uf.tistory.com/original/1558981F4A160E13641A78&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile3.uf.tistory.com/image/1558981F4A160E13641A78&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;digraph_5.png&quot; height=&quot;214&quot; width=&quot;400&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;fieldset style=&quot;margin:20px 0px 20px 0px;padding:5px;&quot;&gt;&lt;legend&gt;&lt;span&gt;&lt;strong&gt;크리에이티브 커먼즈 라이선스&lt;/strong&gt;&lt;/span&gt;&lt;/legend&gt;&lt;!--Creative Commons License--&gt;&lt;div style=&quot;float: left; width: 88px; margin-top: 3px;&quot;&gt;&lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by/2.0/kr/&quot; target=_blank&gt;&lt;img alt=&quot;Creative Commons License&quot; style=&quot;border-width: 0&quot; src=&quot;http://i.creativecommons.org/l/by/2.0/kr/88x31.png&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;margin-left: 92px; margin-top: 3px; text-align: justify;&quot;&gt;이 저작물은 &lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by/2.0/kr/&quot; target=_blank&gt;크리에이티브 커먼즈 코리아 저작자표시 2.0 대한민국 라이선스&lt;/a&gt;에 따라 이용하실 수 있습니다.
			&lt;!-- Creative Commons License--&gt;
			&lt;!-- &lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
			&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by/2.0/kr/&quot; /&gt;
			&lt;/Work&gt;
			&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/DerivativeWorks&quot;/&gt;&lt;/License&gt;&lt;/rdf:RDF&gt; --&gt;&lt;/div&gt;&lt;/fieldset&gt;</description>
			<category>기타 등등등등등</category>
			<category>Dig</category>
			<category>digraphs</category>
			<category>Tips</category>
			<category>vim</category>
			<category>특수문자</category>
			<author>기록자</author>
			<guid>http://timenote.net/33</guid>
			<comments>http://timenote.net/33#entry33comment</comments>
			<pubDate>Fri, 22 May 2009 11:23:19 +0900</pubDate>
		</item>
	</channel>
</rss>
