<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule"
>

<channel>
	<title>EMSTONE Bebop &#187; Eclipse</title>
	<atom:link href="http://bebop.emstone.com/tags/eclipse/feed/" rel="self" type="application/rss+xml" />
	<link>http://bebop.emstone.com</link>
	<description>엠스톤 개발팀 블로그</description>
	<lastBuildDate>Sun, 29 Jan 2012 05:25:29 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<creativeCommons:license>http://creativecommons.org/licenses/by-nc-nd/2.0/kr/</creativeCommons:license>
		<item>
		<title>구글 프로토콜 버퍼(Protocol Buffers)</title>
		<link>http://lethean.pe.kr/2010/02/12/google-protocol-buffers/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=google-protocol-buffers&#038;utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25ea%25b5%25ac%25ea%25b8%2580-%25ed%2594%2584%25eb%25a1%259c%25ed%2586%25a0%25ec%25bd%259c-%25eb%25b2%2584%25ed%258d%25bcprotocol-buffers</link>
		<comments>http://lethean.pe.kr/2010/02/12/google-protocol-buffers/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=google-protocol-buffers#comments</comments>
		<pubDate>Fri, 12 Feb 2010 00:42:42 +0000</pubDate>
		<dc:creator>lethean</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Network]]></category>
		<category><![CDATA[Wireshark]]></category>
		<category><![CDATA[카스탈리엔]]></category>

		<guid isPermaLink="false">http://lethean.pe.kr/?p=1261</guid>
		<description><![CDATA[구글 프로토콜 버퍼 라이브러리에 대해서는 몇 번 언급을 한 적이 있는데, 관심만 있고 아직 프로젝트에 사용은 못해보고 있었습니다. 그 이유는 프로젝트 대부분이 C 언어를 사용하는데, 공 <a href="http://lethean.pe.kr/2010/02/12/google-protocol-buffers/?utm_source=rss&#38;utm_medium=rss&#38;utm_campaign=google-protocol-buffers">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[구글 프로토콜 버퍼 라이브러리에 대해서는 몇 번 언급을 한 적이 있는데, 관심만 있고 아직 프로젝트에 사용은 못해보고 있었습니다. 그 이유는 프로젝트 대부분이 C 언어를 사용하는데, 공식적으로 지원하는 언어에는 없었기 때문입니다. 그런데 오늘 우분투 패키지를 업데이트하다가 protobuf-c 우분투 패키지가 있어서 확인해보니, 프로토콜 &#8230; <a href="http://lethean.pe.kr/2010/02/12/google-protocol-buffers/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></content:encoded>
			<wfw:commentRss>http://lethean.pe.kr/2010/02/12/google-protocol-buffers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-nd/2.0/kr/</creativeCommons:license>
	</item>
		<item>
		<title>이클립스(Eclipse) + 원격 SSH 서버 작업하기</title>
		<link>http://lethean.pe.kr/?p=238&#038;utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25ec%259d%25b4%25ed%2581%25b4%25eb%25a6%25bd%25ec%258a%25a4eclipse-%25ec%259b%2590%25ea%25b2%25a9-ssh-%25ec%2584%259c%25eb%25b2%2584-%25ec%259e%2591%25ec%2597%2585%25ed%2595%2598%25ea%25b8%25b0</link>
		<comments>http://lethean.pe.kr/?p=238#comments</comments>
		<pubDate>Mon, 11 Aug 2008 07:29:14 +0000</pubDate>
		<dc:creator>lethean</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[SSH]]></category>

		<guid isPermaLink="false">http://lethean.pe.kr/?p=238</guid>
		<description><![CDATA[프로젝트를 빌드할때마다 매번 ssh 프로그램으로 로그인해서 emacs / vi 등의 에디터로 컴파일해서 다시 이를 타겟 장비에 scp 명령어로 복사하고&#8230; 조금 복잡하고 번거롭죠. 또한 개발환경으로 터미널 에디터 밖에 사용이 불가능합니다. 이 글은 이러한 개발 환경을 조금 탈피해서, 실제 소스 파일은 빌드 호스트에 두고 빌드 작업도 빌드 호스트에서 실행하면서, 이클립스(Eclipse) 개발 환경을 이용해 개발하는 방법을 간단하게 설명합니다.
이 [...] <a href="http://lethean.pe.kr/?p=238">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>프로젝트를 빌드할때마다 매번 ssh 프로그램으로 로그인해서 emacs / vi 등의 에디터로 컴파일해서 다시 이를 타겟 장비에 scp 명령어로 복사하고&#8230; 조금 복잡하고 번거롭죠. 또한 개발환경으로 터미널 에디터 밖에 사용이 불가능합니다. 이 글은 이러한 개발 환경을 조금 탈피해서, 실제 소스 파일은 빌드 호스트에 두고 빌드 작업도 빌드 호스트에서 실행하면서, 이클립스(Eclipse) 개발 환경을 이용해 개발하는 방법을 간단하게 설명합니다.</p>
<p>이 글은 개인 장비에 우분투 리눅스 + Eclipse 개발 환경(3.4 Ganymede 기준)이 구축되어 있다는 가정하에 설명합니다. 원격 빌드 호스트 장비(build-dvr24)는 SSH 서버가 설치되어 있고 개인 계정도 이미 만들어져 있다고 가정합니다.(여기서는 lethean)</p>
<h3>SSH 로그인 비밀번호 안물어보게 하기</h3>
<p>SSH 로그인시 비밀번호 확인 과정을 넘어가기 위해 개인공개키를 빌드 호스트에 복사합니다. 그러면 이후 모든 SSH 작업시 비밀번호를 물어보지 않게 되어 편리합니다. 만일 개인공개키가 만들어져 있지 않다면 다음과 같이 생성합니다.</p>
<pre>$ <strong>ssh-keygen -t dsa</strong>
Enter file in which to save the key (/home/lethean/.ssh/id_dsa): <strong>[Enter]</strong>
Enter passphrase (empty for no passphrase): <strong>[Enter]</strong>
Enter same passphrase again: <strong>[Enter]</strong></pre>
<p>이 경우 개인 공개키 파일은 <code>~/.ssh/id_dsa.pub</code> 파일입니다. 이 파일을 원격 빌드 호스트 계정의 인증키 목록에 다음과 깉이 추가합니다.</p>
<pre>$ <strong>ssh-copy-id -i ~/.ssh/id_dsa.pub lethean@build-dvr24</strong></pre>
<p>여기서 &#8216;lethean@build-dvr24&#8242; 부분은 &#8216;접속계정@호스트이름&#8217; 형식입니다.</p>
<h3>원격 파일시스템 연결하기</h3>
<p>제일 먼저 마운트할 디렉토리를 미리 생성합니다.</p>
<pre>$ <strong>mkdir -p ~/build-dvr24</strong></pre>
<p>터미널에서 다음과 같이 &#8217;sshfs&#8217; 프로그램을 설치합니다.</p>
<pre>$ <strong>sudo apt-get install sshfs</strong></pre>
<p>프로그램을 설치한 뒤 sshfs / fusermount 명령어를 이용해 원격 SSH 서버의 디렉토리를 로컬 파일 시스템에 연결하거나 해제할 수 있습니다. 예를 들어 연결(mount)하려는 원격 디렉토리가 &#8216;/home/lethean&#8217;이고, 로컬 홈 디렉토리 밑의 &#8216;build-dvr24&#8242; 디렉토리에 연결할 경우 다음과 같이 실행합니다. (원격 디렉토리는 절대경로 방식으로 지정해야 하며 반드시 홈디렉토리일 필요는 없습니다)</p>
<pre>$ <strong>sshfs lethean@build-dvr24:/home/lethean ~/build-dvr24</strong></pre>
<p>사용이 다 끝났으면 다음과 같이 연결을 해제할 수 있습니다</p>
<pre>$ <strong>fusermount -u ~/build-dvr24</strong></pre>
<p>이를 부팅시 자동으로 연결하는 방법은 여러가지 방법이 있지만, 쉬운 방법 중 하나는 &#8216;/etc/rc.local&#8217; 파일에 다음과 같은 내용을 마지막 &#8216;exit 0&#8242; 전에 추가하는 것입니다.</p>
<pre><strong>su lethean -c 'sshfs lethean@build-dvr24:/home/lethean ~/build-dvr24'</strong>
exit 0</pre>
<p>여기까지 하면 원격 파일 시스템을 마치 로컬 파일 시스템처럼 사용이 가능하므로 이클립스 뿐 아니라 VI, Emacs 등의 에디터를 이용해 쉽게 편집이 가능합니다.</p>
<p>(<a href="http://fuse.sourceforge.net/wiki/index.php/SshfsFaq#Exporting_via_NFS">/etc/fstab 파일을 수정하는 방법</a>도 있는데 조금 복잡하군요. 관심이 있으시다면 직접 해보시기 바랍니다)</p>
<h3>이클립스에서 빌드 명령어 실행하기</h3>
<p>먼저 연결(mount)한 소스를 기반으로 새로운 프로젝트를 생성해야 합니다. C 언어 기반 프로젝트일 경우를 가정할때 순서는 다음과 같습니다.</p>
<ol>
<li>&#8216;File -&gt; New -&gt; C Project&#8230;&#8217;를 선택하여 새로운 프로젝트를 시작합니다.</li>
<li>프로젝트 이름(Project name)을 입력합니다.</li>
<li> &#8216;기본 위치 사용(Use default location)&#8217; 선택을 해제한 뒤,</li>
<li> 위치(Location)를 직접 선택하여(Browse&#8230;) &#8216;~/build-dvr24&#8242; 디렉토리 밑의 해당 소스 디렉토리를 지정합니다.</li>
<li>프로젝트 종류(Project types)는 &#8216;Makefile project&#8217; / &#8216;Linux GCC&#8217;를 선택합니다.</li>
<li>그리고 언어 설정 등을 선택한 뒤 마침(Finish) 버튼을 눌러 새로운 프로젝트를 생성합니다.</li>
</ol>
<p>이제 프로젝트 탐색기(Project Explorer)에서 생성한 프로젝트를 선택하고, 마우스 오른쪽 버튼을 눌러 &#8216;Properties&#8217; 메뉴 항목을 선택합니다. 이제 다음 순서대로 빌드 명령어를 변경합니다.</p>
<ol>
<li>&#8216;C/C++ Build&#8217; 항목을 선택합니다.</li>
<li>&#8216;기본 빌드 명령어 사용(Use default build command)&#8217; 선택을 해제한 뒤,</li>
<li>빌드 명령어(Build command)를 다음과 같이 입력합니다.<br />
<code>ssh lethean@build-dvr24 'make -C project-dir'</code></li>
</ol>
<p>여기서 &#8216;project-dir&#8217;은 홈디렉토리 기준 원격 디렉토리를 의미합니다. 파일 시스템이 연결된 로컬 파일 시스템과는 상관없이 ssh 로 직접 연결해서 해당 디렉토리를 빌드하도록 하는게 이 방법의 핵심입니다. 물론 이 방법은 이클립스 뿐 아니라 다른 개발 환경에서도 응용이 가능합니다.</p>
]]></content:encoded>
			<wfw:commentRss>http://lethean.pe.kr/?feed=rss2&#038;p=238</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-nd/2.0/kr/</creativeCommons:license>
	</item>
	</channel>
</rss>

