<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Bitaholic</title>
		<link>http://www.bitaholic.co.kr/</link>
		<description>효민이 아빠, 지희 남편, 프로그래밍, 콘솔,피씨,보드게임 을 좋아하는 종희의 블로그입니다.</description>
		<language>ko</language>
		<pubDate>Tue, 07 Feb 2012 10:45:36 +0900</pubDate>
		<generator>Tistory 1.1 (http://www.tistory.com/)</generator>
		<managingEditor>Bitaholic</managingEditor>
		<image>
		<title>Bitaholic</title>
		<url><![CDATA[http://cfile24.uf.tistory.com/image/187936274A3E298C4B3990]]></url>
		<link>http://www.bitaholic.co.kr/</link>
		<description>효민이 아빠, 지희 남편, 프로그래밍, 콘솔,피씨,보드게임 을 좋아하는 종희의 블로그입니다.</description>
		</image>
		<item>
			<title>Mac OS X (10.7 lion)에서 Java src.jar 설치</title>
			<link>http://www.bitaholic.co.kr/entry/Mac-OS-X-107-lion%EC%97%90%EC%84%9C-Java-srcjar-%EC%84%A4%EC%B9%98</link>
			<description>Mac OS X은 기본적으로 자바가 설치 되어 있다.&amp;nbsp;&lt;br /&gt;
다음 과 같은 경로에 설치가 되어 있다.&lt;br /&gt;
/System/Library/Frameworks/JavaVM.framework/Versions/Current&lt;br /&gt;
하지만 자바 소스 인 src.jar 및 doc.jar는 없는데 이것 은 Java for Mac OS X 10.x Update x Developer Package를 별도로 설치해야 하고 애플 사이트에 계정이 있어야 다운로드를 할 수 있다.&lt;br /&gt;
&lt;br /&gt;여기서 Java Developer Package 를 검색하여 다운 받자.&amp;nbsp;&lt;a href=&quot;http://connect.apple.com/cgi-bin/WebObjects/MemberSite.woa/wa/downloads&quot;&gt;Apple Developer Downloads Website&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;설치를 하면 다음과 같은 경로에서 해당 파일들을 찾을 수 있다.&lt;br /&gt;
/Library/Java/JavaVirtualMachines/1.6.0_29-b11-402.jdk/Contents/Home&lt;br /&gt;
&lt;br /&gt;그리고 해당 IDE에서 소스 연결을 하면 쉽게 소스를 참조할 수 있다.&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;&amp;nbsp;&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-198-0&quot; class=&quot;entry-ccl-by&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black01.png&quot; alt=&quot;저작자 표시&quot;/&gt;
	&lt;img id=&quot;ccl-icon-198-1&quot; class=&quot;entry-ccl-nc&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black02.png&quot; alt=&quot;비영리&quot;/&gt;
	&lt;img id=&quot;ccl-icon-198-2&quot; class=&quot;entry-ccl-nd&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black03.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-nc-nd/2.0/kr/&quot; /&gt;
		&lt;/Work&gt;
		&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-nd/&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;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;
		&lt;/License&gt;
	&lt;/rdf:RDF&gt;
	--&gt;
&lt;/div&gt;
</description>
			<category>Java</category>
			<category>Java</category>
			<category>lion</category>
			<category>Mac OS X</category>
			<category>src.jar</category>
			<author>Bitaholic ...Simple is beautiful Bitaholic</author>
			<guid>http://www.bitaholic.co.kr/198</guid>
			<comments>http://www.bitaholic.co.kr/entry/Mac-OS-X-107-lion%EC%97%90%EC%84%9C-Java-srcjar-%EC%84%A4%EC%B9%98#entry198comment</comments>
			<pubDate>Tue, 07 Feb 2012 09:10:53 +0900</pubDate>
		</item>
		<item>
			<title>.bash_profile VS .bashrc</title>
			<link>http://www.bitaholic.co.kr/entry/bashprofile-VS-bashrc</link>
			<description>&lt;span class=&quot;Apple-style-span&quot;&gt;두 파일의 차의가 항상 궁금 했었다.&lt;br /&gt;
좋은 문서를 발견! :&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;border-collapse: collapse; white-space: nowrap; font-family: arial, sans-serif; font-size: 13px; line-height: 19px; &quot;&gt;&lt;a class=&quot;info&quot; href=&quot;http://goo.gl/ZN4vF&quot; title=&quot;goo.gl/ZN4vF&quot; style=&quot;color: black; text-decoration: none; &quot;&gt;goo.gl/ZN4vF&lt;br /&gt;
&lt;br /&gt;
간략히 설명하면 .bash_profile은 login shell 을 위한 것이고, .bash_rc는 interactive non-login shell들을 위해 실행되는&lt;br /&gt;
 파일이다.&lt;br /&gt;
 &lt;/a&gt;&lt;br /&gt;
그럼 login, non-login shell은 무엇인가? &lt;br /&gt;
console에서 바로 로그인을 하던 ssh를 이용해 리모트에서 로그인을 하던 로그인 할 때 단 1회만 .bash_profile은 &lt;br /&gt;
실행이 된다.&amp;nbsp;반면에 로그인한 쉘에서 새로운 배쉬 쉘을 실행한다거나 &amp;nbsp;Gnome 같은 환경에서 터미널 프로그램으로 &lt;br /&gt;
새로운 쉘 창을 열면 열때 마다 .bashrc가 실행이 된다.&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
단 Mac OS X은 예외 인데 멀로 하던 .bash_profile이 실행이 된다. &lt;br /&gt;
&amp;nbsp;(.bashrc에 써봤자 실행이 안돼 반영이 안된다 -삽질주의)&lt;br /&gt;
&lt;br /&gt;
그럼 문서의 저자가 추천하는 방법은 대부분 .bash_profile에 들어가 있는데 대부분의 내용을 .bashrc에 쓰고&lt;br /&gt;
 .bash_profile에서 해당 파일을 실행하는 방법을 쓰라는 것이다.&lt;br /&gt;
다음과 같이&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;if [ -f ~/.bashrc ]; then&lt;br /&gt;
&amp;nbsp; &amp;nbsp;source ~/.bashrc&amp;nbsp;&lt;br /&gt;
&amp;nbsp;fi&lt;br /&gt;
&lt;br /&gt;
끝!&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&amp;nbsp;&lt;/span&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-197-0&quot; class=&quot;entry-ccl-by&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black01.png&quot; alt=&quot;저작자 표시&quot;/&gt;
	&lt;img id=&quot;ccl-icon-197-1&quot; class=&quot;entry-ccl-nc&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black02.png&quot; alt=&quot;비영리&quot;/&gt;
	&lt;img id=&quot;ccl-icon-197-2&quot; class=&quot;entry-ccl-nd&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black03.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-nc-nd/2.0/kr/&quot; /&gt;
		&lt;/Work&gt;
		&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-nd/&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;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;
		&lt;/License&gt;
	&lt;/rdf:RDF&gt;
	--&gt;
&lt;/div&gt;
</description>
			<category>Linux</category>
			<category>bash</category>
			<category>bashrc</category>
			<category>bash_profile</category>
			<category>Linux</category>
			<category>Shell</category>
			<author>Bitaholic ...Simple is beautiful Bitaholic</author>
			<guid>http://www.bitaholic.co.kr/197</guid>
			<comments>http://www.bitaholic.co.kr/entry/bashprofile-VS-bashrc#entry197comment</comments>
			<pubDate>Fri, 23 Sep 2011 09:46:27 +0900</pubDate>
		</item>
		<item>
			<title>iMac 24인치 2.8GHz Intel Core 2 Duo, 4GB (800Mhz) 메모리 판매 합니다.</title>
			<link>http://www.bitaholic.co.kr/entry/iMac-24%EC%9D%B8%EC%B9%98-28GHz-Intel-Core-2-Duo-4GB-800Mhz-%EB%A9%94%EB%AA%A8%EB%A6%AC-%ED%8C%90%EB%A7%A4-%ED%95%A9%EB%8B%88%EB%8B%A4</link>
			<description>&lt;p style=&quot;margin:0&quot;&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;img src=&quot;http://cfile23.uf.tistory.com/image/1674FE5A4DA3FDB90B751D&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;IMG_0971.jpg&quot; height=&quot;480&quot; width=&quot;640&quot;/&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p style=&quot;margin:0&quot;&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;img src=&quot;http://cfile2.uf.tistory.com/image/1574FE5A4DA3FDBA0C1621&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;Screen shot 2011-04-12 at 오후 4.06.46.png&quot; height=&quot;456&quot; width=&quot;410&quot;/&gt;&lt;/div&gt;&lt;br /&gt;
구입일 : 2008년 11월 (만 2년 6개월)&lt;br /&gt;
판매금액 : 95만원&lt;br /&gt;
판매장소 : 강남~역삼? 직거래&lt;br /&gt;
구성품 : iMac 24인치 + 키보드 + 마우스 + 설치시디 + 리모콘&lt;br /&gt;
&lt;br /&gt;
2년간 잘 쓴 아이맥 분양 해요~ 관심있으신 분은 연락주세요~^^ 스노우 레오퍼드로 초기화 해드려요^^&lt;br /&gt;
&amp;nbsp;&lt;/p&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-196-0&quot; class=&quot;entry-ccl-by&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black01.png&quot; alt=&quot;저작자 표시&quot;/&gt;
	&lt;img id=&quot;ccl-icon-196-1&quot; class=&quot;entry-ccl-nc&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black02.png&quot; alt=&quot;비영리&quot;/&gt;
	&lt;img id=&quot;ccl-icon-196-2&quot; class=&quot;entry-ccl-nd&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black03.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-nc-nd/2.0/kr/&quot; /&gt;
		&lt;/Work&gt;
		&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-nd/&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;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;
		&lt;/License&gt;
	&lt;/rdf:RDF&gt;
	--&gt;
&lt;/div&gt;
</description>
			<category>iMac</category>
			<category>중고</category>
			<category>판매</category>
			<author>Bitaholic ...Simple is beautiful Bitaholic</author>
			<guid>http://www.bitaholic.co.kr/196</guid>
			<comments>http://www.bitaholic.co.kr/entry/iMac-24%EC%9D%B8%EC%B9%98-28GHz-Intel-Core-2-Duo-4GB-800Mhz-%EB%A9%94%EB%AA%A8%EB%A6%AC-%ED%8C%90%EB%A7%A4-%ED%95%A9%EB%8B%88%EB%8B%A4#entry196comment</comments>
			<pubDate>Tue, 12 Apr 2011 16:25:26 +0900</pubDate>
		</item>
		<item>
			<title>글로벌 소프트웨어를 꿈꾸다.</title>
			<link>http://www.bitaholic.co.kr/entry/%EA%B8%80%EB%A1%9C%EB%B2%8C-%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4%EB%A5%BC-%EA%BF%88%EA%BE%B8%EB%8B%A4</link>
			<description>&lt;img src=&quot;http://book.daum-img.net/R155x225/BOK0001083554211&quot; width=&quot;155&quot; height=&quot;225&quot; alt=&quot;글로벌 소프트웨어를 꿈꾸다&quot; class=&quot;bImg&quot;&gt;&lt;br /&gt;
http://goo.gl/wlynw&lt;br /&gt;
&lt;br /&gt;회사의 필독서 로 &quot;글로벌 소프트웨어를 꿈꾸다&quot; 를 보게 되었다.&amp;nbsp;&lt;br /&gt;
국내의 척박한 소프트웨어 개발 환경에 있는 개발자들이 꿈꾸는&amp;nbsp;실리콘밸리의 많은 소프트웨어 개발 회사들.&lt;br /&gt;
필자는 그곳은 왜 개발자들의 천국이고 우리나라의 많은 소프트웨어 회사는 왜 해외로 진출 하지 못하고, 3D 업종이라니 이런 소리만 듣는지 비교를 해 놓았다.&lt;br /&gt;
크게 다섯가지를 예를 들어 설명을 했는데 [기반 시스템, 조직, 프로세스, 문화, 기술] 이 다섯가지이다.&lt;br /&gt;
&lt;br /&gt;특히 프로세스에 대해서는 많은 사람들이 거부 하는 경향이 있는데, 이 문제에 대해서 주먹구구식으로 프로세스 없이 개발 하는 것과 잘못된 방법으로 프로세스를 적용 하는것을 거의 동급으로 아니 더 나쁘게 보았다. 즉 소프트웨어 공학은 책으로 배울 수 없는 것으로 경험이 많은 사람으로 부터 배워야 한다는 것이다. &amp;nbsp;아무리 좋은 프로세스를 가져 와도 잘 못 이해하고 적용하면 개발이 더 힘들어질 뿐이라는거다. 지식이 없는 경험 보다 경험 없는 지식이 더 무섭단다.&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;또한 SRS에 대해서도 강조를 하는데 이건 나도 공감을 한다. 요구사항, 스펙 문서들을 먼저 완벽하게 자세히 작성을 하고 개발을 하면 좋을 거 같다. 하지만 필자도 얘기 했듯이 그런 문서작성 방법이나 프로세스 적용은 몸으로 체험하고 있고 일상화가 되어 있는 어떤 선임한테 배워야 하는데&amp;nbsp;ㅋㅋ 그건 어떻게 해야 할까? 의지와 책만으로는 안된다는데 어디서 레전드급 개발자를 만나고 배우지? 꿈만 꾸고 있어야 하나? ㅋㅋ 그래도 노력은 해야겠지? 개발자, 사장님 모두들 마음을 뭉치고 조금씩 해 나가면 우리 회사도 실리콘 밸리 부럽지 않은 문화를 가진 회사가 되지 않을까? 나부터라고 당장 실행? Just Do It!! &amp;nbsp;&lt;br /&gt;
&amp;nbsp;&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-195-0&quot; class=&quot;entry-ccl-by&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black01.png&quot; alt=&quot;저작자 표시&quot;/&gt;
	&lt;img id=&quot;ccl-icon-195-1&quot; class=&quot;entry-ccl-nc&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black02.png&quot; alt=&quot;비영리&quot;/&gt;
	&lt;img id=&quot;ccl-icon-195-2&quot; class=&quot;entry-ccl-nd&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black03.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-nc-nd/2.0/kr/&quot; /&gt;
		&lt;/Work&gt;
		&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-nd/&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;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;
		&lt;/License&gt;
	&lt;/rdf:RDF&gt;
	--&gt;
&lt;/div&gt;
</description>
			<category>독서</category>
			<category>글로벌 소프트웨어를 꿈꾸다</category>
			<category>김익환</category>
			<category>리뷰</category>
			<category>책</category>
			<author>Bitaholic ...Simple is beautiful Bitaholic</author>
			<guid>http://www.bitaholic.co.kr/195</guid>
			<comments>http://www.bitaholic.co.kr/entry/%EA%B8%80%EB%A1%9C%EB%B2%8C-%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4%EB%A5%BC-%EA%BF%88%EA%BE%B8%EB%8B%A4#entry195comment</comments>
			<pubDate>Tue, 15 Mar 2011 17:39:44 +0900</pubDate>
		</item>
		<item>
			<title>Spring 3.0 Request Mapping (Suffix Pattern, Path Variable)</title>
			<link>http://www.bitaholic.co.kr/entry/Spring-30-Request-Mapping-Suffix-Pattern-Path-Variable</link>
			<description>스프링을 쓰면 Http Request를 적절한 클래스의 적절한 메소드로 연결하는(Mapping) 작업을 비교적 쉽게 할 수 있다. 여러가지 방법이 있지만 Java Annotation (@RequestMapping)을 이용해서 클래스 또는 메소드에다가 쓰면 해당 규칙에 맞는 Http Request가 그 메소드를 호출 할 수 있도록 해준다. 그 규칙은 Request URL, Request Header, Request parameter , Http method 조합으로 정해 주는데 Request URL은 ant 타입으로 쓸 수 있다. ( *, ** 를 쓸 수 있다)&amp;nbsp;&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;ex1)&lt;/div&gt;
&lt;div&gt;아래의 예는 http://host/context/user 로 오는 요청을 &amp;nbsp;handlerUser(..) 메소드에 전달 해준다.&lt;/div&gt;
&lt;div&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border-top-style: dashed; border-right-style: dashed; border-bottom-style: dashed; border-left-style: dashed; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: rgb(121, 165, 228); border-right-color: rgb(121, 165, 228); border-bottom-color: rgb(121, 165, 228); border-left-color: rgb(121, 165, 228); background-color: rgb(219, 232, 251); padding-top: 10px; padding-right: 10px; padding-bottom: 10px; padding-left: 10px; &quot;&gt;
@RequestMapping(&quot;/user&quot;)&lt;br /&gt;
public void handleUser(...) {...}&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;ex2)&lt;/div&gt;
&lt;div&gt;아래의 예는 Header로 content-type이 text/*에 해당되고 /user로 요청만 메소드로 전달해준다.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border-top-style: dashed; border-right-style: dashed; border-bottom-style: dashed; border-left-style: dashed; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: rgb(121, 165, 228); border-right-color: rgb(121, 165, 228); border-bottom-color: rgb(121, 165, 228); border-left-color: rgb(121, 165, 228); background-color: rgb(219, 232, 251); padding-top: 10px; padding-right: 10px; padding-bottom: 10px; padding-left: 10px; &quot;&gt;
@RequestMapping(value = &quot;/user&quot;, headers=&quot;content-type=text/*&quot;)&lt;/div&gt;
&lt;/div&gt;&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Path Variable&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;Spring 3.0에서는 RESTful webservice를 지원하기 위해 path variable기능이 추가 되었다. 간단하게 설명하면 &quot; /부서/이름&quot; 이런 포맷의 REST요청을 URL을 파싱하지 않고 바로 메소드 인자로 받을 수 있는 기능이다.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;아래와 같이 선언을 하면 각 URL의 부분들이 해당 인자로 매핑이 된다. &amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border-top-style: dashed; border-right-style: dashed; border-bottom-style: dashed; border-left-style: dashed; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: rgb(121, 165, 228); border-right-color: rgb(121, 165, 228); border-bottom-color: rgb(121, 165, 228); border-left-color: rgb(121, 165, 228); background-color: rgb(219, 232, 251); padding-top: 10px; padding-right: 10px; padding-bottom: 10px; padding-left: 10px; &quot;&gt;
@RequestMapping(value=&quot;/{department}/{employee}&quot;)&lt;br /&gt;
public void handleMethod(@PathVariable String&amp;nbsp;department, @PathVariable String&amp;nbsp;employee) {...)&amp;nbsp;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Suffix Pattern&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;이때 DefaultAnnotationHandlerMapping 은 @RequestMapping에 자동으로 몇몇 접미어를 붙여서 ReqestMapping 리스트에 추가 한다. 즉 위와 같은 예에서는&lt;/div&gt;
&lt;div&gt;&lt;ul style=&quot;list-style-type: disc; &quot;&gt;
&lt;li&gt;/{department}/{employee}&lt;/li&gt;
&lt;li&gt;/{department}/{employee}.*&lt;/li&gt;
&lt;li&gt;/{department}/{employee}/&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;
위와 같은 RequestMapping을 자동으로 추가해 준다. 즉 /sales/thomas, /sales/thomas/, /sales/thosmas.add 와같은 URL로 자동으로 매핑이 된다. 이러한 패턴을 쓰기 싫으면&amp;nbsp;DefaultAnnotationHandlerMapping 에서 해당 옵션을 꺼주어야 한다. 스프링 설정 파일에서 다음과 같이 설정을 꺼줄 수 있다.&lt;/div&gt;
&lt;div&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border-top-style: dashed; border-right-style: dashed; border-bottom-style: dashed; border-left-style: dashed; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: rgb(121, 165, 228); border-right-color: rgb(121, 165, 228); border-bottom-color: rgb(121, 165, 228); border-left-color: rgb(121, 165, 228); background-color: rgb(219, 232, 251); padding-top: 10px; padding-right: 10px; padding-bottom: 10px; padding-left: 10px; &quot;&gt;
&amp;lt;bean class=&quot;org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping&quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;lt;property name=&quot;useDefaultSuffixPattern&quot; value=&quot;false&quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/bean&amp;gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&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-194-0&quot; class=&quot;entry-ccl-by&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black01.png&quot; alt=&quot;저작자 표시&quot;/&gt;
	&lt;img id=&quot;ccl-icon-194-1&quot; class=&quot;entry-ccl-nc&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black02.png&quot; alt=&quot;비영리&quot;/&gt;
	&lt;img id=&quot;ccl-icon-194-2&quot; class=&quot;entry-ccl-nd&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black03.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-nc-nd/2.0/kr/&quot; /&gt;
		&lt;/Work&gt;
		&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-nd/&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;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;
		&lt;/License&gt;
	&lt;/rdf:RDF&gt;
	--&gt;
&lt;/div&gt;
</description>
			<category>Spring</category>
			<category>annotation</category>
			<category>requestmapping</category>
			<category>spring3.0</category>
			<category>suffix</category>
			<author>Bitaholic ...Simple is beautiful Bitaholic</author>
			<guid>http://www.bitaholic.co.kr/194</guid>
			<comments>http://www.bitaholic.co.kr/entry/Spring-30-Request-Mapping-Suffix-Pattern-Path-Variable#entry194comment</comments>
			<pubDate>Wed, 20 Oct 2010 16:41:09 +0900</pubDate>
		</item>
		<item>
			<title>남이섬 나들이</title>
			<link>http://www.bitaholic.co.kr/entry/%EB%82%A8%EC%9D%B4%EC%84%AC-%EB%82%98%EB%93%A4%EC%9D%B4</link>
			<description>&lt;div class=&quot;imageblock left&quot; style=&quot;float: left; margin-right: 10px;&quot;&gt;&lt;img src=&quot;http://cfile9.uf.tistory.com/image/194408224CA3D7F819FA26&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;IMG_0372.jpg&quot; height=&quot;400&quot; width=&quot;300&quot;/&gt;&lt;/div&gt;지희랑 내가 좋아하는 닭붉고기 먹으러 양평으로 간만에 나들이&amp;nbsp;&lt;div&gt;
닭불고기 2판이나 배터지게 먹고 날씨도 좋아 남이섬 나들이도 갔는데 많이 올랐네 입장료가 8000원이나 효민이도 4000원 저녁은 숯불 닭갈비를 먹었는데 그냥 고기만 있어서 별로인듯 담엔 보통 먹는 춘천 닭갈비인 철판 닭갈비를 먹어야겠어요. 간만에 야외 나들이라 즐거운 하루였슴다^^&lt;br /&gt;
&lt;div&gt;&lt;div class=&quot;imageblock left&quot; style=&quot;float: left; margin-right: 10px;&quot;&gt;&lt;img src=&quot;http://cfile23.uf.tistory.com/image/1267AA374CA3D70529B593&quot; alt=&quot;&quot; filemime=&quot;&quot; filename=&quot;cfile23.uf@1267AA374CA3D70529B593.jpg&quot; height=&quot;399&quot; width=&quot;300&quot;/&gt;&lt;/div&gt;&lt;div class=&quot;imageblock&quot; style=&quot;display:inline;&quot;&gt;&lt;img src=&quot;http://cfile22.uf.tistory.com/image/1367AA374CA3D7082A3D17&quot; alt=&quot;&quot; filemime=&quot;&quot; filename=&quot;cfile22.uf@1367AA374CA3D7082A3D17.jpg&quot; height=&quot;399&quot; width=&quot;300&quot;/&gt;&lt;/div&gt;&lt;div class=&quot;imageblock&quot; style=&quot;display:inline;&quot;&gt;&lt;img src=&quot;http://cfile3.uf.tistory.com/image/1567AA374CA3D7092B58E4&quot; alt=&quot;&quot; filemime=&quot;&quot; filename=&quot;cfile3.uf@1567AA374CA3D7092B58E4.jpg&quot; height=&quot;399&quot; width=&quot;300&quot;/&gt;&lt;/div&gt;&lt;div class=&quot;imageblock&quot; style=&quot;display:inline;&quot;&gt;&lt;img src=&quot;http://cfile22.uf.tistory.com/image/1567AA374CA3D70B2C59E9&quot; alt=&quot;&quot; filemime=&quot;&quot; filename=&quot;cfile22.uf@1567AA374CA3D70B2C59E9.jpg&quot; height=&quot;399&quot; width=&quot;300&quot;/&gt;&lt;/div&gt;&lt;div class=&quot;imageblock&quot; style=&quot;display:inline;&quot;&gt;&lt;img src=&quot;http://cfile9.uf.tistory.com/image/1867AA374CA3D70D2DA7F7&quot; alt=&quot;&quot; filemime=&quot;&quot; filename=&quot;cfile9.uf@1867AA374CA3D70D2DA7F7.jpg&quot; height=&quot;399&quot; width=&quot;300&quot;/&gt;&lt;/div&gt;&lt;div class=&quot;imageblock&quot; style=&quot;display:inline;&quot;&gt;&lt;img src=&quot;http://cfile27.uf.tistory.com/image/2067AA374CA3D70E2E6A55&quot; alt=&quot;&quot; filemime=&quot;&quot; filename=&quot;cfile27.uf@2067AA374CA3D70E2E6A55.jpg&quot; height=&quot;399&quot; width=&quot;300&quot;/&gt;&lt;/div&gt;&lt;div class=&quot;imageblock&quot; style=&quot;display:inline;&quot;&gt;&lt;img src=&quot;http://cfile30.uf.tistory.com/image/1267AA374CA3D70F2F9711&quot; alt=&quot;&quot; filemime=&quot;&quot; filename=&quot;cfile30.uf@1267AA374CA3D70F2F9711.jpg&quot; height=&quot;399&quot; width=&quot;300&quot;/&gt;&lt;/div&gt;&lt;div class=&quot;imageblock&quot; style=&quot;display:inline;&quot;&gt;&lt;img src=&quot;http://cfile5.uf.tistory.com/image/1167AA374CA3D7113080B2&quot; alt=&quot;&quot; filemime=&quot;&quot; filename=&quot;cfile5.uf@1167AA374CA3D7113080B2.jpg&quot; height=&quot;399&quot; width=&quot;300&quot;/&gt;&lt;/div&gt;&lt;div class=&quot;imageblock&quot; style=&quot;display:inline;&quot;&gt;&lt;img src=&quot;http://cfile27.uf.tistory.com/image/1267AA374CA3D71131ABF8&quot; alt=&quot;&quot; filemime=&quot;&quot; filename=&quot;cfile27.uf@1267AA374CA3D71131ABF8.jpg&quot; height=&quot;399&quot; width=&quot;300&quot;/&gt;&lt;/div&gt;&lt;div class=&quot;imageblock&quot; style=&quot;display:inline;&quot;&gt;&lt;img src=&quot;http://cfile22.uf.tistory.com/image/1567AA374CA3D71332B41C&quot; alt=&quot;&quot; filemime=&quot;&quot; filename=&quot;cfile22.uf@1567AA374CA3D71332B41C.jpg&quot; height=&quot;399&quot; width=&quot;300&quot;/&gt;&lt;/div&gt;&lt;div class=&quot;imageblock&quot; style=&quot;display:inline;&quot;&gt;&lt;img src=&quot;http://cfile25.uf.tistory.com/image/1667AA374CA3D713337237&quot; alt=&quot;&quot; filemime=&quot;&quot; filename=&quot;cfile25.uf@1667AA374CA3D713337237.jpg&quot; height=&quot;399&quot; width=&quot;300&quot;/&gt;&lt;/div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;/div&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-192-0&quot; class=&quot;entry-ccl-by&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black01.png&quot; alt=&quot;저작자 표시&quot;/&gt;
	&lt;img id=&quot;ccl-icon-192-1&quot; class=&quot;entry-ccl-nc&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black02.png&quot; alt=&quot;비영리&quot;/&gt;
	&lt;img id=&quot;ccl-icon-192-2&quot; class=&quot;entry-ccl-nd&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black03.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-nc-nd/2.0/kr/&quot; /&gt;
		&lt;/Work&gt;
		&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-nd/&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;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;
		&lt;/License&gt;
	&lt;/rdf:RDF&gt;
	--&gt;
&lt;/div&gt;
</description>
			<category>여행, 호텔</category>
			<category>나들이</category>
			<category>남이섬</category>
			<category>닭갈비</category>
			<category>닭불고기</category>
			<category>백숙</category>
			<category>춘천</category>
			<author>Bitaholic ...Simple is beautiful Bitaholic</author>
			<guid>http://www.bitaholic.co.kr/192</guid>
			<comments>http://www.bitaholic.co.kr/entry/%EB%82%A8%EC%9D%B4%EC%84%AC-%EB%82%98%EB%93%A4%EC%9D%B4#entry192comment</comments>
			<pubDate>Thu, 30 Sep 2010 09:24:38 +0900</pubDate>
		</item>
		<item>
			<title>Mysql + Spring에서 Transaction 사용하기</title>
			<link>http://www.bitaholic.co.kr/entry/Mysql-Spring%EC%97%90%EC%84%9C-Transaction-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0</link>
			<description>토비 스프링 책 스터디를 하다 트랜잭션 부분을 하는 데 도대체가 Auto Commit을 끄고 롤백을 시도해도 롤백이 되지 않았다 디비를 살펴보니 Commit 또는 Rollback 하기 전에 디비에 적용한 것들이 바로 디비에 적용이 되는 것이였다. 즉 Transaction 처리가 안된다는 건데 구글링 해보니 문제는 테이블의 Engine type이였다. 내가 만든 테이블은 MyISAM이였는데 트랜잭션은 InnoDB로 해야 한단다 (참고 :&amp;nbsp;http://dev.mysql.com/doc/refman/5.0/en/connector-j-usagenotes-j2ee.html 의&amp;nbsp;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: rgb(0, 0, 0); font-family: helvetica, arial, sans-serif; font-size: 13px; line-height: 23px; &quot;&gt;20.3.5.2.4.2.&amp;nbsp;Transactional JDBC Access)&amp;nbsp;&lt;/span&gt;&lt;div&gt;
&lt;font class=&quot;Apple-style-span&quot; color=&quot;#000000&quot; face=&quot;helvetica, arial, sans-serif&quot; size=&quot;3&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 13px; line-height: 23px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#000000&quot; face=&quot;helvetica, arial, sans-serif&quot; size=&quot;3&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 13px; line-height: 23px;&quot;&gt;테이블의 Engine 타입을 변경하는 것은 아래와 같이 하면 된다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#000000&quot; face=&quot;helvetica, arial, sans-serif&quot; size=&quot;3&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 13px; line-height: 23px;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: rgb(102, 102, 102); font-family: Tahoma, Verdana, Arial, sans-serif; line-height: normal; &quot;&gt;&lt;em&gt;ALTER TABLE my_table ENGINE = InnoDB;&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: rgb(102, 102, 102); font-family: Tahoma, Verdana, Arial, sans-serif; line-height: normal; &quot;&gt;&lt;em&gt;&lt;br /&gt;
&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: rgb(102, 102, 102); font-family: Tahoma, Verdana, Arial, sans-serif; line-height: normal; &quot;&gt;&lt;em&gt;&lt;br /&gt;
&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;&lt;/div&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-191-0&quot; class=&quot;entry-ccl-by&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black01.png&quot; alt=&quot;저작자 표시&quot;/&gt;
	&lt;img id=&quot;ccl-icon-191-1&quot; class=&quot;entry-ccl-nc&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black02.png&quot; alt=&quot;비영리&quot;/&gt;
	&lt;img id=&quot;ccl-icon-191-2&quot; class=&quot;entry-ccl-nd&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black03.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-nc-nd/2.0/kr/&quot; /&gt;
		&lt;/Work&gt;
		&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-nd/&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;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;
		&lt;/License&gt;
	&lt;/rdf:RDF&gt;
	--&gt;
&lt;/div&gt;
</description>
			<category>Spring</category>
			<category>InnoDB</category>
			<category>MySQL</category>
			<category>Spring</category>
			<category>Transaction</category>
			<author>Bitaholic ...Simple is beautiful Bitaholic</author>
			<guid>http://www.bitaholic.co.kr/191</guid>
			<comments>http://www.bitaholic.co.kr/entry/Mysql-Spring%EC%97%90%EC%84%9C-Transaction-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0#entry191comment</comments>
			<pubDate>Thu, 16 Sep 2010 10:24:13 +0900</pubDate>
		</item>
		<item>
			<title>Apache + Mongrel 설정</title>
			<link>http://www.bitaholic.co.kr/entry/Apache-Mongrel-%EC%84%A4%EC%A0%95</link>
			<description>&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;img src=&quot;http://cfile2.uf.tistory.com/image/1104630B4B0F28B8A40B20&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;httpd_logo_wide.gif&quot; height=&quot;61&quot; width=&quot;683&quot;/&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;img src=&quot;http://cfile28.uf.tistory.com/image/1411BA164B0F29347F9C64&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;images.jpg&quot; height=&quot;125&quot; width=&quot;122&quot;/&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;img src=&quot;http://cfile29.uf.tistory.com/image/19618D104B0F2826570205&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;mongrel_logo.png&quot; height=&quot;154&quot; width=&quot;350&quot;/&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Mongrel 은 루비웹서버이다. Rails에서 WebBrick과 함께 쉽게 쓸 수 있는 웹서버인데, 하지만 몽그렐은 하나의 프로세스에 하나의 쓰레드로만 돌아가기 때문에 상용서비스를 하려면 아파치 웹서버를 프락시 서버 및 로드 밸런서로 쓰고 뒤에 다수의 몽그렐 서버를 클러스터로 구성 해야 한다. (이때 서버들 간의 세션 공유는 아마 가정하지 않고, 공유 되는 정보는 모두 DB에서 이루어지는 것을 가정해야 한다. 이부분은 아직 자세히 보진 않았다)&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: 12pt; font-weight: bold;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;1. 아파치 웹서버를 프락시 서버로 구성하기&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; a) mod_proxy, mod_rewrite 아파치 모듈이 필요하다 (없으면 다운받아서 아파치 서버 모듈폴더에 넣어두자)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - 폴더는 CentOS5.x기준으로 &#039;/etc/httpd/modules&#039; 이다&lt;br /&gt;
&amp;nbsp; b) 위의 모듈을 로딩하고 설정을 해준다 (/etc/httpd/conf/httpd.conf)&lt;br /&gt;
&lt;div style=&quot;border: 1px solid rgb(121, 165, 228); padding: 10px; background-color: rgb(219, 232, 251);&quot; class=&quot;txc-textbox&quot;&gt;
LoadModule rewrite_module modules/mod_rewrite.so&lt;br /&gt;
LoadModule proxy_module modules/mod_proxy.so&lt;br /&gt;
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so&lt;br /&gt;
&lt;br /&gt;
&amp;lt;IfModule mod_proxy.c&amp;gt;&lt;br /&gt;
ProxyRequests On&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Proxy *&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Order deny,allow&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; #Deny from all&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Allow from all&lt;br /&gt;
&amp;lt;/Proxy&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
RewriteEngine On&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Proxy balancer://mongrel_cluster&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BalancerMember http://127.0.0.1:8000 retry=10&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BalancerMember http://127.0.0.1:8001 retry=10&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BalancerMember http://127.0.0.1:8002 retry=10&lt;br /&gt;
&amp;lt;/Proxy&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# PERFORMANCE: If no static file exists, let Mongrel handle the request&lt;br /&gt;
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f&lt;br /&gt;
RewriteRule ^/(.*)$ balancer://mongrel_cluster%{REQUEST_URI} [P,QSA,L]&lt;br /&gt;
&lt;/div&gt;
&amp;nbsp; 
&lt;br /&gt;
&lt;span style=&quot;font-size: 12pt; text-decoration: underline; font-weight: bold;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;2. &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; text-decoration: underline; font-weight: bold;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;Mongrel cluster 설치 &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;border: 1px solid rgb(121, 165, 228); padding: 10px; background-color: rgb(219, 232, 251);&quot; class=&quot;txc-textbox&quot;&gt;
gem install mongrel&lt;br /&gt;
gem install mongrel_cluster&lt;br /&gt;
&lt;/div&gt;
&amp;nbsp;tip) gem 으로 몽그렐 설치시 &#039;make : xxx[fastthred.c] Error 127&#039; 이라는 에러가 나면 gcc가 서버에 설치가 안되있어서 그러니 관련 라이브러리르 설치 하자.&lt;br /&gt;
&amp;nbsp; - centOS에서는 &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - yum install gcc-c++ kernel-devel&lt;br /&gt;
&amp;nbsp; - Devian계열은&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - apt-get install build-essentail&lt;br /&gt;
으로 설치 하면 된다. centOS에는 테스트 해서 성공했는에 우분투등 데비안 계열을 해보진 않았다. 아마 되겠지&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: 12pt; font-weight: bold; text-decoration: underline;&quot;&gt;3. &lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-weight: bold; text-decoration: underline;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;Mongrel을 서비스(데몬)으로 등록하고 부팅시 자동 스타트 되게 만들기&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; 몽그렐은 기본적으로 레일스 어플리케이션 폴더에서 실행을 해야 한다. (로그폴더(log), 설정폴더(config), 임시폴더(tmp) 등이 필요하다), 물론 저 폴더들을 따로 옵션으로 지정을 할 수 도 있다.&lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; i) Mongrel 서버를 띄우 리눅스 계정을 하나 만들어 준다.&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $ adduser -r mongrel&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ii) 레일스 어플리케이션 홈폴더에서 &lt;/span&gt;&lt;br /&gt;
&lt;pre class=&quot;code&quot;&gt;    $ mongrel_rails cluster::configure -e production -p 8000 -N 3&lt;br /&gt;
&lt;br /&gt;
    위의 명령으로 기본 설정파일등을 만들어 준다.(위의 설정은, 포트 8000, 8001, 8002로서 서버 3개를 클러스터로 시작한다는 말이다. &lt;br /&gt;
  &lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;  iii) 그러면 아래와 같은 명령으로 몽그렐클러스터 를 시작하고 종료시킬수 있다.&lt;/span&gt;&lt;br /&gt;
    $ mongrel_rails cluster::start&lt;br /&gt;
    $ mongrel_rails cluster::stop&lt;br /&gt;
  &lt;br /&gt;
 &lt;span style=&quot;font-weight: bold;&quot;&gt; iv) /etc/mongrel_cluster 라는 폴더를 만들어 준다.&lt;/span&gt;&lt;br /&gt;
  &lt;br /&gt;
 &lt;span style=&quot;font-weight: bold;&quot;&gt; v) /etc/mongrel_cluster/yourrailsapp.yum 이라는 링크를 만들어 준다.&lt;/span&gt;&lt;br /&gt;
    $ ln /MyRailsAppHome/config/mongrel_cluster.yml /etc/mongrel_cluster/myrailsapp.yml&lt;br /&gt;
  &lt;br /&gt;
  &lt;span style=&quot;font-weight: bold;&quot;&gt;vi) 자동스타트를 위해 init.d 파일을 /etc/init.d/ 폴더 밑으로 복사한다. (스크립트는 몽그렐을 설치하면&lt;/span&gt;&lt;br /&gt;
     생성되 있다.&lt;br /&gt;
    $ cp /usr/lib/ruby/gems/1.8/gems/mongrel_cluster-1.0.5/resources/mongrel_cluster /etc/init.d&lt;br /&gt;
&lt;br /&gt;
 &lt;span style=&quot;font-weight: bold;&quot;&gt; vii) mongrel_cluster 스크립트의 실행 권한을 주고 자동 실행이되게 관련 값을 변경해 준다.&lt;/span&gt;&lt;br /&gt;
    $ chmod +x /etc/init.d/mongrel_cluster&lt;br /&gt;
    $ service mongrel_cluster start&lt;br /&gt;
    $ chkconfig mongrel_cluster on&lt;br /&gt;
&lt;/pre&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;font-weight: bold;&quot;&gt; viii) /etc/mongrel_cluster/에 복사한 몽그렐 설정 내용은 대충 이럴것 이다.&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;border: 1px solid rgb(121, 165, 228); padding: 10px; background-color: rgb(219, 232, 251);&quot; class=&quot;txc-textbox&quot;&gt;
user: mongrel&lt;br /&gt;
cwd: /myRailsAppHome&lt;br /&gt;
log_file: /myRailsAppHome/log/mongrel.log&lt;br /&gt;
port: &quot;8000&quot;&lt;br /&gt;
environment: production&lt;br /&gt;
group: mongrel&lt;br /&gt;
address: 127.0.0.1&lt;br /&gt;
pid_file: /myRailsAppHome/tmp/pids/mongrel.pid&lt;br /&gt;
servers: 3&lt;br /&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; iX) 위의 폴더중, log, pid폴더에 접근권한을 mongrel 유저에게 주어야 한다.&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $ chown -R mongrel.mongrel /myRailsAppHome/log&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $ chown -R mongrel.mongrel /myRailsAppHome/tmp/pids &lt;br /&gt;
&lt;br /&gt;
위와같의 하면 서버 실행시 아파치와 몽그렐 클러스터가 실행될 것이다.&lt;br /&gt;
&lt;br /&gt;
Ref) http://www.mygeekproject.com/?p=155&lt;br /&gt;
Ref) http://mongrel.rubyforge.org/&lt;br /&gt;
Ref) http://wiki.rubyonrails.org/deployment/apache-mongrel&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-189-0&quot; class=&quot;entry-ccl-by&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black01.png&quot; alt=&quot;저작자 표시&quot;/&gt;
	&lt;img id=&quot;ccl-icon-189-1&quot; class=&quot;entry-ccl-nc&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black02.png&quot; alt=&quot;비영리&quot;/&gt;
	&lt;img id=&quot;ccl-icon-189-2&quot; class=&quot;entry-ccl-nd&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black03.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-nc-nd/2.0/kr/&quot; /&gt;
		&lt;/Work&gt;
		&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-nd/&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;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;
		&lt;/License&gt;
	&lt;/rdf:RDF&gt;
	--&gt;
&lt;/div&gt;
</description>
			<category>Ruby&amp;Rails</category>
			<category>Apache</category>
			<category>gem</category>
			<category>Mongrel</category>
			<category>mongrel cluster</category>
			<category>Proxy</category>
			<category>Rails</category>
			<category>ruby</category>
			<author>Bitaholic ...Simple is beautiful Bitaholic</author>
			<guid>http://www.bitaholic.co.kr/189</guid>
			<comments>http://www.bitaholic.co.kr/entry/Apache-Mongrel-%EC%84%A4%EC%A0%95#entry189comment</comments>
			<pubDate>Fri, 27 Nov 2009 11:14:27 +0900</pubDate>
		</item>
		<item>
			<title>Where is the configuration files of Apache Web Server on Linux?</title>
			<link>http://www.bitaholic.co.kr/entry/Where-is-the-configuration-files-of-Apache-Web-Server-on-Linux</link>
			<description>&lt;div style=&quot;text-align: left;&quot;&gt;
설정 파일들은 &#039;/etc/httpd/conf&#039;에 있다.&lt;br /&gt;
httpd 실행 파일은 &#039;/usr/sbin/httpd&#039; (cent OS 5 기준)&lt;br /&gt;
&lt;br /&gt;아파치 실행/중단은 &lt;br /&gt;
&amp;nbsp; &lt;span style=&quot;font-weight: bold;&quot;&gt;service httpd start/stop/restart&lt;/span&gt;&lt;br /&gt;
로 하면 된다.&lt;br /&gt;
&lt;/div&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-188-0&quot; class=&quot;entry-ccl-by&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black01.png&quot; alt=&quot;저작자 표시&quot;/&gt;
	&lt;img id=&quot;ccl-icon-188-1&quot; class=&quot;entry-ccl-nc&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black02.png&quot; alt=&quot;비영리&quot;/&gt;
	&lt;img id=&quot;ccl-icon-188-2&quot; class=&quot;entry-ccl-nd&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black03.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-nc-nd/2.0/kr/&quot; /&gt;
		&lt;/Work&gt;
		&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-nd/&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;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;
		&lt;/License&gt;
	&lt;/rdf:RDF&gt;
	--&gt;
&lt;/div&gt;
</description>
			<category>Linux</category>
			<category>Apache</category>
			<category>configuration</category>
			<category>PATH</category>
			<category>web server</category>
			<author>Bitaholic ...Simple is beautiful Bitaholic</author>
			<guid>http://www.bitaholic.co.kr/188</guid>
			<comments>http://www.bitaholic.co.kr/entry/Where-is-the-configuration-files-of-Apache-Web-Server-on-Linux#entry188comment</comments>
			<pubDate>Wed, 25 Nov 2009 11:00:22 +0900</pubDate>
		</item>
		<item>
			<title>Today&#039;s Linux Commands</title>
			<link>http://www.bitaholic.co.kr/entry/%EC%98%A4%EB%8A%98%EC%9D%98-%EB%A6%AC%EB%88%85%EC%8A%A4-%EB%AA%85%EB%A0%B9%EC%96%B4</link>
			<description>&lt;span style=&quot;font-weight: bold;&quot;&gt;which &lt;/span&gt;&lt;br /&gt;
&amp;nbsp;- 하는일 : 명령어(프로그램)이 어디에 있는지 경로를 알려주는 놈 (show the full path of (shell) commands)&lt;br /&gt;
&amp;nbsp;- ex) which httpd (아파치 웹서버가 어디에 들어 있는지 알려준다)&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;nmap&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;- 하는 일 : port 스캔을 해서 무슨 포트가 열려있는지 검색해준다.(Network exploration tool and security /port scanner &amp;lt;- 보아하니 아주 많은 일을 하는 넘인거 같다&lt;br /&gt;
&amp;nbsp;- ex) nmap localhost (현재 로컬호스트에 어떤 포트가 열려 서비스를 하는지 알려준다)&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;ntsysv&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;- 하는 일 : GUI로 전체 서비스를 보여주고, 현재 구동되고 있는 리눅스 서비스를 보여준다. 물로 서비스를 실행할 수도 멈출 수도 있다.&lt;br /&gt;
&amp;nbsp;- ex) ntsysv&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-187-0&quot; class=&quot;entry-ccl-by&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black01.png&quot; alt=&quot;저작자 표시&quot;/&gt;
	&lt;img id=&quot;ccl-icon-187-1&quot; class=&quot;entry-ccl-nc&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black02.png&quot; alt=&quot;비영리&quot;/&gt;
	&lt;img id=&quot;ccl-icon-187-2&quot; class=&quot;entry-ccl-nd&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black03.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-nc-nd/2.0/kr/&quot; /&gt;
		&lt;/Work&gt;
		&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-nd/&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;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;
		&lt;/License&gt;
	&lt;/rdf:RDF&gt;
	--&gt;
&lt;/div&gt;
</description>
			<category>Linux</category>
			<category>command</category>
			<category>Linux</category>
			<category>nmap</category>
			<category>ntsysv</category>
			<category>Port Scan</category>
			<category>service</category>
			<category>which</category>
			<category>리눅스</category>
			<category>명령어</category>
			<author>Bitaholic ...Simple is beautiful Bitaholic</author>
			<guid>http://www.bitaholic.co.kr/187</guid>
			<comments>http://www.bitaholic.co.kr/entry/%EC%98%A4%EB%8A%98%EC%9D%98-%EB%A6%AC%EB%88%85%EC%8A%A4-%EB%AA%85%EB%A0%B9%EC%96%B4#entry187comment</comments>
			<pubDate>Wed, 25 Nov 2009 10:55:40 +0900</pubDate>
		</item>
	</channel>
</rss>

