<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>이상한 나라의 행복한 브라운</title>
		<link>http://brown.ezphp.net/</link>
		<description>브라운의 일상 생활과 프로그래밍 그리고 기타 잡다한 것들이 있는 곳</description>
		<language>ko</language>
		<pubDate>Sun, 20 May 2012 18:28:59 +0900</pubDate>
		<generator>Tistory 1.1 (http://www.tistory.com/)</generator>
		<managingEditor>행복한브라운</managingEditor>
		<item>
			<title>공개 강연 일정 및 수강 신청 방법</title>
			<link>http://brown.ezphp.net/122</link>
			<description>&lt;p&gt;6월 1~2일 양일간 총 14시간에 걸친(-_-) 공개 강연이 있습니다.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;2012년 개방형 소프트웨어 교육센터 모델 커리큘럼 무료 공개 강좌라는 이름으로&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;지식경제부에서주최하는 무료 공개 강좌입니다.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;6월 1~2일 (금,토) 블로터 아카데미(서초2동 애서니움빌딩 4층)에서 진행됩니다.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;ㅇ30명 정원이며 수강비는 무료이나 신청후 참석하지 않는 이유 등으로&amp;nbsp;교재비 명목으로 2만원 받는 것으로 알고 있습니다.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;관심있으신 분은 신청하시기 바랍니다.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;300명 접수를 받아 추첨을 통해 선정한다고 하니 듣는것이 쉽지 않을 수도 있겠네요.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;신청 사이트 :&amp;nbsp;&lt;a href=&quot;http://olc.oss.kr/offlec/list.jsp&quot;&gt;http://olc.oss.kr/offlec/list.jsp&lt;/a&gt;&amp;nbsp;, PHP 과정을 선택하시면 됩니다.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;책 전반적인 내용에 대해서 강좌를 진행하니&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;책을 혼자 공부하기 힘드셨던 분들에게 도움이 될 수 있을것 같습니다.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://olc.oss.kr/resource/files/201205/OLC%20%c8%a8%c6%e4%c0%cc%c1%f6%bf%eb_%bc%f6%c1%a4.jpg&quot; width=&quot;98%&quot;&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;&amp;nbsp;&lt;/p&gt;&lt;div class=&quot;entry-ccl&quot; style=&quot;clear: both; text-align: right; margin-bottom: 10px&quot;&gt;
	&lt;img id=&quot;ccl-icon-122-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-122-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-122-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 class=&quot;another_category another_category_color_gray&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;/122&quot; &gt;공개 강연 일정 및 수강 신청 방법&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
17:57:47&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;</description>
			<category>책</category>
			<category>PHP 강연</category>
			<category>공개 강연</category>
			<author>행복한브라운</author>
			<guid>http://brown.ezphp.net/122</guid>
			<comments>http://brown.ezphp.net/122#entry122comment</comments>
			<pubDate>Sun, 20 May 2012 17:57:47 +0900</pubDate>
		</item>
		<item>
			<title>머큐리얼 에러 waiting for lock on repository 해결법</title>
			<link>http://brown.ezphp.net/121</link>
			<description>&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;머큐리얼로 소스 관리를 하다보면 commit이나 push 등을 할때 간혹 다음과 같은 에러가 발생한다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;BORDER-BOTTOM: #cbcbcb 1px solid; BORDER-LEFT: #cbcbcb 1px solid; PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #000000; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; BORDER-TOP: #cbcbcb 1px solid; BORDER-RIGHT: #cbcbcb 1px solid; PADDING-TOP: 10px&quot; class=&quot;txc-textbox&quot;&gt;&lt;span style=&quot;BACKGROUND-COLOR: #ffffff; COLOR: #000000&quot;&gt;&lt;strong&gt;&lt;span style=&quot;BACKGROUND-COLOR: #000000; COLOR: #ffffff&quot;&gt;&lt;span style=&quot;font-family: 'Courier New'; &quot;&gt;waiting for lock on repository /home&lt;/span&gt;&lt;span style=&quot;font-family: 'Courier New'; &quot;&gt;/brown &lt;/span&gt;&lt;span style=&quot;font-family: 'Courier New'; &quot;&gt;held by 'brown-PC:2396'&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;이 경우 프로세스를 죽이고 별짓을 다 해봐도 안되는 경우가 많은데 다음과 같이 파일을 삭제하면 이 문제를 해결할 수 있다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;BORDER-BOTTOM: #cbcbcb 1px solid; BORDER-LEFT: #cbcbcb 1px solid; PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #000000; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; BORDER-TOP: #cbcbcb 1px solid; BORDER-RIGHT: #cbcbcb 1px solid; PADDING-TOP: 10px&quot; class=&quot;txc-textbox&quot;&gt;&lt;span style=&quot;BACKGROUND-COLOR: #ffffff; COLOR: #000000&quot;&gt;&lt;span style=&quot;background-color: rgb(0, 0, 0); font-family: Terminal; color: rgb(255, 255, 255); &quot;&gt;&lt;b&gt;&lt;a href=&quot;mailto:brown@Android:~/$&quot;&gt;&lt;span style=&quot;color: rgb(255, 255, 255); font-family: 'Courier New'; &quot;&gt;brown@Android:~/$&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: rgb(255, 255, 255); font-family: 'Courier New'; &quot;&gt; rm .hg/store/lock&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;자세한 사항은 아래의 원본 자료를 참고하면 되겠다.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://stackoverflow.com/questions/12865/mercurial-stuck-waiting-for-lock/13205&quot;&gt;http://stackoverflow.com/questions/12865/mercurial-stuck-waiting-for-lock/13205&lt;/a&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-121-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-121-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-121-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 class=&quot;another_category another_category_color_gray&quot;&gt;
&lt;h4&gt;'&lt;a href=&quot;/category/잡다한%20이야기&quot;&gt;잡다한 이야기&lt;/a&gt;&amp;nbsp;&gt;&amp;nbsp;&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;/121&quot; &gt;머큐리얼 에러 waiting for lock on repository 해결법&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/04/04&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/120&quot; &gt;Linux shell 디렉토리 이동 프로그램&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/03/30&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/119&quot; &gt;ARMv7 Hardware Performance Counter Events&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/03/26&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/107&quot; &gt;최초의 모바일용 듀얼코어 NVIDIA Tegra2 성능과 전력소비&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/02/08&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/103&quot; &gt;일드 역대 시청률 순위&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/01/10&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/71&quot; &gt;DCF를 MP3로 변환할 수 없는 이유&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(18)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2009/11/12&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;</description>
			<category>토막 정보</category>
			<category>LOCK</category>
			<category>Repository</category>
			<category>머큐리얼</category>
			<author>행복한브라운</author>
			<guid>http://brown.ezphp.net/121</guid>
			<comments>http://brown.ezphp.net/121#entry121comment</comments>
			<pubDate>Wed, 04 Apr 2012 17:13:54 +0900</pubDate>
		</item>
		<item>
			<title>Linux shell 디렉토리 이동 프로그램</title>
			<link>http://brown.ezphp.net/120</link>
			<description>&lt;p&gt;리눅스 쉘을 쓰다보면 이전 작업 디렉토리로 이리저리 이동해야할 때가 있다.&amp;nbsp;&lt;/p&gt;&lt;p&gt;이때 cd 명령어를 통해서 이동해야하는데 경로가 크게 바뀌어야 하는 경우 귀찮음은 이루 말할 수 없다.&lt;/p&gt;&lt;p&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 /&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:563px;&quot;&gt;&lt;a href=&quot;http://cfile1.uf.tistory.com/original/1866C83E4F754ADD0A9FE3&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile1.uf.tistory.com/image/1866C83E4F754ADD0A9FE3&quot; filemime=&quot;image/png&quot; filename=&quot;pp.png&quot; height=&quot;377&quot; width=&quot;563&quot;/&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;위와 같이 pp 명령을 이용하여 여러 디렉토리를 자유자재로 이동이 가능하다.&amp;nbsp;&lt;/p&gt;&lt;p&gt;현재 디렉토리를 리스트에 등록할때는 a1, a2 와 같은 방법으로 등록하면 된다.&lt;/p&gt;&lt;p&gt;디렉토리를 이동할때는 이동하고자하는 디렉토리의 번호를 넣어주면 바로 이동한다.&lt;/p&gt;&lt;p&gt;이 프로그램은 공유메모리를 사용하기 때문에 같은 사용자는 다른 쉘에서도 동일한 목록을 사용할 수 있다.&lt;/p&gt;&lt;p&gt;즉, 여러 쉘을 띄워놓고 사용하더라도 한쪽에서 등록하면 다른 쉘에서 사용이 가능하다.&lt;/p&gt;&lt;p style=&quot;text-align: center; &quot;&gt;&lt;/p&gt;&lt;div style=&quot;text-align: -webkit-auto;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display:inline-block;&quot;&gt;&lt;a href=&quot;http://happybrown.tistory.com/attachment/cfile5.uf@196C33454F754CB6327D4F&quot;&gt;&lt;img src=&quot;http://i1.daumcdn.net/cfs.tistory/v/110706133414/blog/image/extension/unknown.gif&quot; alt=&quot;&quot; style=&quot;vertical-align: middle;&quot; /&gt; nz_pp&lt;/a&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;위의 파일을 다운받아서 자신의 home 디렉토리에 넣고 .bash_profile 에 다음 문구를 추가한다.&lt;/p&gt;&lt;p&gt;alias pp='cd $(~/nz_pp)'&lt;/p&gt;&lt;p&gt;(물론 적당한 디렉토리에 넣고 PATH를 잘 반영해주면 상관없다.)&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;이 프로그램은 후배인 nzthing이 개인적 사용을 위해 개발한 것으로 다양한 시스템에서 테스트해보지는 않았다.&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-120-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-120-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-120-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 class=&quot;another_category another_category_color_gray&quot;&gt;
&lt;h4&gt;'&lt;a href=&quot;/category/잡다한%20이야기&quot;&gt;잡다한 이야기&lt;/a&gt;&amp;nbsp;&gt;&amp;nbsp;&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;/121&quot; &gt;머큐리얼 에러 waiting for lock on repository 해결법&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/04/04&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/120&quot; &gt;Linux shell 디렉토리 이동 프로그램&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/03/30&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/119&quot; &gt;ARMv7 Hardware Performance Counter Events&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/03/26&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/107&quot; &gt;최초의 모바일용 듀얼코어 NVIDIA Tegra2 성능과 전력소비&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/02/08&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/103&quot; &gt;일드 역대 시청률 순위&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/01/10&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/71&quot; &gt;DCF를 MP3로 변환할 수 없는 이유&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(18)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2009/11/12&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;</description>
			<category>토막 정보</category>
			<category>linux</category>
			<category>Shell</category>
			<category>디렉토리 이동</category>
			<category>리눅스</category>
			<author>행복한브라운</author>
			<guid>http://brown.ezphp.net/120</guid>
			<comments>http://brown.ezphp.net/120#entry120comment</comments>
			<pubDate>Fri, 30 Mar 2012 15:06:13 +0900</pubDate>
		</item>
		<item>
			<title>ARMv7 Hardware Performance Counter Events</title>
			<link>http://brown.ezphp.net/119</link>
			<description>&lt;h1 style=&quot;color: rgb(0, 0, 0); font-family: Gulim; line-height: normal; background-color: rgb(255, 255, 255); &quot;&gt;[PATCH 5/5] arm/perfevents: implement perf event support for ARMv6&lt;/h1&gt;&lt;b style=&quot;color: rgb(0, 0, 0); font-family: Gulim; line-height: normal; background-color: rgb(255, 255, 255); font-size: medium; &quot;&gt;Jean Pihet&lt;/b&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: Gulim; line-height: normal; background-color: rgb(255, 255, 255); font-size: medium; &quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;mailto:linux-arm-kernel%40lists.infradead.org?Subject=Re:%20Re%3A%20%5BPATCH%205/5%5D%20arm/perfevents%3A%20implement%20perf%20event%20support%20for%20ARMv6&amp;amp;In-Reply-To=%3C201001261847.44774.jpihet%40mvista.com%3E&quot; title=&quot;[PATCH 5/5] arm/perfevents: implement perf event support for ARMv6&quot; style=&quot;font-family: Gulim; line-height: normal; background-color: rgb(255, 255, 255); font-size: medium; &quot;&gt;jpihet at mvista.com&amp;nbsp;&lt;/a&gt;&lt;br style=&quot;color: rgb(0, 0, 0); font-family: Gulim; line-height: normal; background-color: rgb(255, 255, 255); font-size: medium; &quot;&gt;&lt;i style=&quot;color: rgb(0, 0, 0); font-family: Gulim; line-height: normal; background-color: rgb(255, 255, 255); font-size: medium; &quot;&gt;Tue Jan 26 12:47:44 EST 2010&lt;/i&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: Gulim; line-height: normal; background-color: rgb(255, 255, 255); font-size: medium; &quot;&gt;&lt;/span&gt;&lt;p style=&quot;color: rgb(0, 0, 0); font-family: Gulim; line-height: normal; background-color: rgb(255, 255, 255); font-size: medium; &quot;&gt;&lt;/p&gt;
&lt;ul style=&quot;color: rgb(0, 0, 0); font-family: Gulim; line-height: normal; background-color: rgb(255, 255, 255); font-size: medium; &quot;&gt;&lt;li&gt;Previous message:&amp;nbsp;&lt;a href=&quot;http://lists.infradead.org/pipermail/linux-arm-kernel/2010-January/008547.html&quot;&gt;[PATCH 5/5] arm/perfevents: implement perf event support for ARMv6&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Next message:&amp;nbsp;&lt;a href=&quot;http://lists.infradead.org/pipermail/linux-arm-kernel/2010-January/008682.html&quot;&gt;[PATCH 5/5] arm/perfevents: implement perf event support for ARMv6&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Messages sorted by:&lt;/b&gt;&amp;nbsp;&lt;a href=&quot;http://lists.infradead.org/pipermail/linux-arm-kernel/2010-January/date.html#8551&quot;&gt;[ date ]&lt;/a&gt;&amp;nbsp;&lt;a href=&quot;http://lists.infradead.org/pipermail/linux-arm-kernel/2010-January/thread.html#8551&quot;&gt;[ thread ]&lt;/a&gt;&amp;nbsp;&lt;a href=&quot;http://lists.infradead.org/pipermail/linux-arm-kernel/2010-January/subject.html#8551&quot;&gt;[ subject ]&lt;/a&gt;&amp;nbsp;&lt;a href=&quot;http://lists.infradead.org/pipermail/linux-arm-kernel/2010-January/author.html#8551&quot;&gt;[ author ]&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;hr style=&quot;color: rgb(0, 0, 0); font-family: Gulim; line-height: normal; background-color: rgb(255, 255, 255); font-size: medium; &quot;&gt;&lt;pre style=&quot;color: rgb(0, 0, 0); line-height: normal; background-color: rgb(255, 255, 255); &quot;&gt;Hi,

Here is the latest version of the patch, after review on the ML.

Adds the Performance Events support for ARMv7 processor, using
the PMNC unit in HW.

Supports the following:
- Cortex-A8 and Cortex-A9 processors,
- dynamic detection of the number of available counters,
   based on the PMCR value,
- runtime detection of the CPU arch (v6 or v7)
   and model (Cortex-A8 or Cortex-A9)

Tested on OMAP3 (Cortex-A8) only.

Signed-off-by: Jean Pihet &amp;lt;&lt;a href=&quot;http://lists.infradead.org/mailman/listinfo/linux-arm-kernel&quot;&gt;jpihet at mvista.com&lt;/a&gt;&amp;gt;

Regards,
Jean

On Tuesday 26 January 2010 17:11:44 Jean Pihet wrote:
&amp;gt;&lt;i&gt; Hi,
&lt;/i&gt;&amp;gt;&lt;i&gt;
&lt;/i&gt;&amp;gt;&lt;i&gt; On Tuesday 26 January 2010 17:09:29 Jamie Iles wrote:
&lt;/i&gt;&amp;gt;&lt;i&gt; &amp;gt; On Tue, Jan 26, 2010 at 05:03:44PM +0100, Tomasz Fujak wrote:
&lt;/i&gt;&amp;gt;&lt;i&gt; &amp;gt; &amp;gt; Where do I find a repository that contains the latest performance
&lt;/i&gt;&amp;gt;&lt;i&gt; &amp;gt; &amp;gt; events/ARM efforts?
&lt;/i&gt;&amp;gt;&lt;i&gt; &amp;gt;
&lt;/i&gt;&amp;gt;&lt;i&gt; &amp;gt; I've just submitted the generic/ARMv6 stuff to the patch system.
&lt;/i&gt;&amp;gt;&lt;i&gt; &amp;gt; Hopefully this will end up in Russell's tree soon.
&lt;/i&gt;&amp;gt;&lt;i&gt;
&lt;/i&gt;&amp;gt;&lt;i&gt; I am about to submit the patch for ARMv7, so hopefully it will end up in
&lt;/i&gt;&amp;gt;&lt;i&gt; Russell's tree soon as well.
&lt;/i&gt;&amp;gt;&lt;i&gt;
&lt;/i&gt;&amp;gt;&lt;i&gt; &amp;gt; Jamie
&lt;/i&gt;&amp;gt;&lt;i&gt;
&lt;/i&gt;&amp;gt;&lt;i&gt; Jean
&lt;/i&gt;---

From 6e8e6e710c93eb16885c5c789f689a86d824bdba Mon Sep 17 00:00:00 2001
From: Jean Pihet &amp;lt;&lt;a href=&quot;http://lists.infradead.org/mailman/listinfo/linux-arm-kernel&quot;&gt;jpihet at mvista.com&lt;/a&gt;&amp;gt;
Date: Fri, 18 Dec 2009 17:46:21 +0100
Subject: [PATCH] arm/perfevents: add support for ARMv7

Adds the Performance Events support for ARMv7 processor, using
the PMNC unit in HW.

Supports the following:
- Cortex-A8 and Cortex-A9 processors,
- dynamic detection of the number of available counters,
   based on the PMCR value,
- runtime detection of the CPU arch (v6 or v7)
   and model (Cortex-A8 or Cortex-A9)

Tested on OMAP3 (Cortex-A8) only.

Signed-off-by: Jean Pihet &amp;lt;&lt;a href=&quot;http://lists.infradead.org/mailman/listinfo/linux-arm-kernel&quot;&gt;jpihet at mvista.com&lt;/a&gt;&amp;gt;
---
 arch/arm/Kconfig             |    2 +-
 arch/arm/kernel/perf_event.c |  934 
+++++++++++++++++++++++++++++++++++++++++-
 2 files changed, 931 insertions(+), 5 deletions(-)

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 6cbcba7..bc177cd 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -1181,7 +1181,7 @@ config HIGHPTE
 
 config HW_PERF_EVENTS
 	bool &quot;Enable hardware performance counter support for perf events&quot;
-	depends on PERF_EVENTS &amp;amp;&amp;amp; CPU_HAS_PMU &amp;amp;&amp;amp; CPU_V6
+	depends on PERF_EVENTS &amp;amp;&amp;amp; CPU_HAS_PMU &amp;amp;&amp;amp; (CPU_V6 || CPU_V7)
 	default y
 	help
 	  Enable hardware performance counter support for perf events. If
diff --git a/arch/arm/kernel/perf_event.c b/arch/arm/kernel/perf_event.c
index 4ef3c50..6d030d8 100644
--- a/arch/arm/kernel/perf_event.c
+++ b/arch/arm/kernel/perf_event.c
@@ -5,6 +5,9 @@
  *
  * Copyright (C) 2009 picoChip Designs, Ltd., Jamie Iles
  *
+ * ARMv7 support: Jean Pihet &amp;lt;&lt;a href=&quot;http://lists.infradead.org/mailman/listinfo/linux-arm-kernel&quot;&gt;jpihet at mvista.com&lt;/a&gt;&amp;gt;
+ * 2010 (c) MontaVista Software, LLC.
+ *
  * This code is based on the sparc64 perf event code, which is in turn based
  * on the x86 code. Callchain code is based on the ARM OProfile backtrace
  * code.
@@ -35,8 +38,12 @@ DEFINE_SPINLOCK(pmu_lock);
  * ARMv6 supports a maximum of 3 events, starting from index 1. If we add
  * another platform that supports more, we need to increase this to be the
  * largest of all platforms.
+ *
+ * ARMv7 supports up to 32 events:
+ *  cycle counter CCNT + 31 events counters CNT0..30.
+ *  Cortex-A8 has 1+4 counters, Cortex-A9 has 1+6 counters
  */
-#define ARMPMU_MAX_HWEVENTS		4
+#define ARMPMU_MAX_HWEVENTS		33
 
 /* The events for a given CPU. */
 struct cpu_hw_events {
@@ -61,7 +68,7 @@ struct cpu_hw_events {
 DEFINE_PER_CPU(struct cpu_hw_events, cpu_hw_events);
 
 struct arm_pmu {
-	const char	*name;
+	char		*name;
 	irqreturn_t	(*handle_irq)(int irq_num, void *dev);
 	void		(*enable)(struct hw_perf_event *evt, int idx);
 	void		(*disable)(struct hw_perf_event *evt, int idx);
@@ -1173,6 +1180,903 @@ static const struct arm_pmu armv6mpcore_pmu = {
 	.max_period		= (1LLU &amp;lt;&amp;lt; 32) - 1,
 };
 
+/*
+ * ARMv7 Cortex-A8 and Cortex-A9 Performance Events handling code.
+ *
+ * Copied from ARMv6 code, with the low level code inspired
+ *  by the ARMv7 Oprofile code.
+ *
+ * Cortex-A8 has up to 4 configurable performance counters and
+ *  a single cycle counter.
+ * Cortex-A9 has up to 31 configurable performance counters and
+ *  a single cycle counter.
+ *
+ * All counters can be enabled/disabled and IRQ masked separately. The cycle
+ *  counter and all 4 performance counters together can be reset separately.
+ */
+
+#define ARMV7_PMU_CORTEX_A8_NAME		&quot;ARMv7 Cortex-A8&quot;
+
+#define ARMV7_PMU_CORTEX_A9_NAME		&quot;ARMv7 Cortex-A9&quot;
+
+/* Common ARMv7 event types */
+enum armv7_perf_types {
+	ARMV7_PERFCTR_PMNC_SW_INCR		= 0x00,
+	ARMV7_PERFCTR_IFETCH_MISS		= 0x01,
+	ARMV7_PERFCTR_ITLB_MISS			= 0x02,
+	ARMV7_PERFCTR_DCACHE_REFILL		= 0x03,
+	ARMV7_PERFCTR_DCACHE_ACCESS		= 0x04,
+	ARMV7_PERFCTR_DTLB_REFILL		= 0x05,
+	ARMV7_PERFCTR_DREAD			= 0x06,
+	ARMV7_PERFCTR_DWRITE			= 0x07,
+
+	ARMV7_PERFCTR_EXC_TAKEN			= 0x09,
+	ARMV7_PERFCTR_EXC_EXECUTED		= 0x0A,
+	ARMV7_PERFCTR_CID_WRITE			= 0x0B,
+	/* ARMV7_PERFCTR_PC_WRITE is equivalent to HW_BRANCH_INSTRUCTIONS.
+	 * It counts:
+	 *  - all branch instructions,
+	 *  - instructions that explicitly write the PC,
+	 *  - exception generating instructions.
+	 */
+	ARMV7_PERFCTR_PC_WRITE			= 0x0C,
+	ARMV7_PERFCTR_PC_IMM_BRANCH		= 0x0D,
+	ARMV7_PERFCTR_UNALIGNED_ACCESS		= 0x0F,
+	ARMV7_PERFCTR_PC_BRANCH_MIS_PRED	= 0x10,
+	ARMV7_PERFCTR_CLOCK_CYCLES		= 0x11,
+
+	ARMV7_PERFCTR_PC_BRANCH_MIS_USED	= 0x12,
+
+	ARMV7_PERFCTR_CPU_CYCLES		= 0xFF
+};
+
+/* ARMv7 Cortex-A8 specific event types */
+enum armv7_a8_perf_types {
+	ARMV7_PERFCTR_INSTR_EXECUTED		= 0x08,
+
+	ARMV7_PERFCTR_PC_PROC_RETURN		= 0x0E,
+
+	ARMV7_PERFCTR_WRITE_BUFFER_FULL		= 0x40,
+	ARMV7_PERFCTR_L2_STORE_MERGED		= 0x41,
+	ARMV7_PERFCTR_L2_STORE_BUFF		= 0x42,
+	ARMV7_PERFCTR_L2_ACCESS			= 0x43,
+	ARMV7_PERFCTR_L2_CACH_MISS		= 0x44,
+	ARMV7_PERFCTR_AXI_READ_CYCLES		= 0x45,
+	ARMV7_PERFCTR_AXI_WRITE_CYCLES		= 0x46,
+	ARMV7_PERFCTR_MEMORY_REPLAY		= 0x47,
+	ARMV7_PERFCTR_UNALIGNED_ACCESS_REPLAY	= 0x48,
+	ARMV7_PERFCTR_L1_DATA_MISS		= 0x49,
+	ARMV7_PERFCTR_L1_INST_MISS		= 0x4A,
+	ARMV7_PERFCTR_L1_DATA_COLORING		= 0x4B,
+	ARMV7_PERFCTR_L1_NEON_DATA		= 0x4C,
+	ARMV7_PERFCTR_L1_NEON_CACH_DATA		= 0x4D,
+	ARMV7_PERFCTR_L2_NEON			= 0x4E,
+	ARMV7_PERFCTR_L2_NEON_HIT		= 0x4F,
+	ARMV7_PERFCTR_L1_INST			= 0x50,
+	ARMV7_PERFCTR_PC_RETURN_MIS_PRED	= 0x51,
+	ARMV7_PERFCTR_PC_BRANCH_FAILED		= 0x52,
+	ARMV7_PERFCTR_PC_BRANCH_TAKEN		= 0x53,
+	ARMV7_PERFCTR_PC_BRANCH_EXECUTED	= 0x54,
+	ARMV7_PERFCTR_OP_EXECUTED		= 0x55,
+	ARMV7_PERFCTR_CYCLES_INST_STALL		= 0x56,
+	ARMV7_PERFCTR_CYCLES_INST		= 0x57,
+	ARMV7_PERFCTR_CYCLES_NEON_DATA_STALL	= 0x58,
+	ARMV7_PERFCTR_CYCLES_NEON_INST_STALL	= 0x59,
+	ARMV7_PERFCTR_NEON_CYCLES		= 0x5A,
+
+	ARMV7_PERFCTR_PMU0_EVENTS		= 0x70,
+	ARMV7_PERFCTR_PMU1_EVENTS		= 0x71,
+	ARMV7_PERFCTR_PMU_EVENTS		= 0x72,
+};
+
+/* ARMv7 Cortex-A9 specific event types */
+enum armv7_a9_perf_types {
+	ARMV7_PERFCTR_JAVA_HW_BYTECODE_EXEC	= 0x40,
+	ARMV7_PERFCTR_JAVA_SW_BYTECODE_EXEC	= 0x41,
+	ARMV7_PERFCTR_JAZELLE_BRANCH_EXEC	= 0x42,
+
+	ARMV7_PERFCTR_COHERENT_LINE_MISS	= 0x50,
+	ARMV7_PERFCTR_COHERENT_LINE_HIT		= 0x51,
+
+	ARMV7_PERFCTR_ICACHE_DEP_STALL_CYCLES	= 0x60,
+	ARMV7_PERFCTR_DCACHE_DEP_STALL_CYCLES	= 0x61,
+	ARMV7_PERFCTR_TLB_MISS_DEP_STALL_CYCLES	= 0x62,
+	ARMV7_PERFCTR_STREX_EXECUTED_PASSED	= 0x63,
+	ARMV7_PERFCTR_STREX_EXECUTED_FAILED	= 0x64,
+	ARMV7_PERFCTR_DATA_EVICTION		= 0x65,
+	ARMV7_PERFCTR_ISSUE_STAGE_NO_INST	= 0x66,
+	ARMV7_PERFCTR_ISSUE_STAGE_EMPTY		= 0x67,
+	ARMV7_PERFCTR_INST_OUT_OF_RENAME_STAGE	= 0x68,
+
+	ARMV7_PERFCTR_PREDICTABLE_FUNCT_RETURNS	= 0x6E,
+
+	ARMV7_PERFCTR_MAIN_UNIT_EXECUTED_INST	= 0x70,
+	ARMV7_PERFCTR_SECOND_UNIT_EXECUTED_INST	= 0x71,
+	ARMV7_PERFCTR_LD_ST_UNIT_EXECUTED_INST	= 0x72,
+	ARMV7_PERFCTR_FP_EXECUTED_INST		= 0x73,
+	ARMV7_PERFCTR_NEON_EXECUTED_INST	= 0x74,
+
+	ARMV7_PERFCTR_PLD_FULL_DEP_STALL_CYCLES	= 0x80,
+	ARMV7_PERFCTR_DATA_WR_DEP_STALL_CYCLES	= 0x81,
+	ARMV7_PERFCTR_ITLB_MISS_DEP_STALL_CYCLES	= 0x82,
+	ARMV7_PERFCTR_DTLB_MISS_DEP_STALL_CYCLES	= 0x83,
+	ARMV7_PERFCTR_MICRO_ITLB_MISS_DEP_STALL_CYCLES	= 0x84,
+	ARMV7_PERFCTR_MICRO_DTLB_MISS_DEP_STALL_CYCLES 	= 0x85,
+	ARMV7_PERFCTR_DMB_DEP_STALL_CYCLES	= 0x86,
+
+	ARMV7_PERFCTR_INTGR_CLK_ENABLED_CYCLES	= 0x8A,
+	ARMV7_PERFCTR_DATA_ENGINE_CLK_EN_CYCLES	= 0x8B,
+
+	ARMV7_PERFCTR_ISB_INST			= 0x90,
+	ARMV7_PERFCTR_DSB_INST			= 0x91,
+	ARMV7_PERFCTR_DMB_INST			= 0x92,
+	ARMV7_PERFCTR_EXT_INTERRUPTS		= 0x93,
+
+	ARMV7_PERFCTR_PLE_CACHE_LINE_RQST_COMPLETED	= 0xA0,
+	ARMV7_PERFCTR_PLE_CACHE_LINE_RQST_SKIPPED	= 0xA1,
+	ARMV7_PERFCTR_PLE_FIFO_FLUSH		= 0xA2,
+	ARMV7_PERFCTR_PLE_RQST_COMPLETED	= 0xA3,
+	ARMV7_PERFCTR_PLE_FIFO_OVERFLOW		= 0xA4,
+	ARMV7_PERFCTR_PLE_RQST_PROG		= 0xA5
+};
+
+/*
+ * Cortex-A8 HW events mapping
+ *
+ * The hardware events that we support. We do support cache operations but
+ * we have harvard caches and no way to combine instruction and data
+ * accesses/misses in hardware.
+ */
+static const unsigned armv7_a8_perf_map[PERF_COUNT_HW_MAX] = {
+	[PERF_COUNT_HW_CPU_CYCLES]	    = ARMV7_PERFCTR_CPU_CYCLES,
+	[PERF_COUNT_HW_INSTRUCTIONS]	    = ARMV7_PERFCTR_INSTR_EXECUTED,
+	[PERF_COUNT_HW_CACHE_REFERENCES]    = HW_OP_UNSUPPORTED,
+	[PERF_COUNT_HW_CACHE_MISSES]	    = HW_OP_UNSUPPORTED,
+	[PERF_COUNT_HW_BRANCH_INSTRUCTIONS] = ARMV7_PERFCTR_PC_WRITE,
+	[PERF_COUNT_HW_BRANCH_MISSES]	    = ARMV7_PERFCTR_PC_BRANCH_MIS_PRED,
+	[PERF_COUNT_HW_BUS_CYCLES]	    = ARMV7_PERFCTR_CLOCK_CYCLES,
+};
+
+static const unsigned armv7_a8_perf_cache_map[PERF_COUNT_HW_CACHE_MAX]
+					  [PERF_COUNT_HW_CACHE_OP_MAX]
+					  [PERF_COUNT_HW_CACHE_RESULT_MAX] = {
+	[C(L1D)] = {
+		/*
+		 * The performance counters don't differentiate between read
+		 * and write accesses/misses so this isn't strictly correct,
+		 * but it's the best we can do. Writes and reads get
+		 * combined.
+		 */
+		[C(OP_READ)] = {
+			[C(RESULT_ACCESS)]	= ARMV7_PERFCTR_DCACHE_ACCESS,
+			[C(RESULT_MISS)]	= ARMV7_PERFCTR_DCACHE_REFILL,
+		},
+		[C(OP_WRITE)] = {
+			[C(RESULT_ACCESS)]	= ARMV7_PERFCTR_DCACHE_ACCESS,
+			[C(RESULT_MISS)]	= ARMV7_PERFCTR_DCACHE_REFILL,
+		},
+		[C(OP_PREFETCH)] = {
+			[C(RESULT_ACCESS)]	= CACHE_OP_UNSUPPORTED,
+			[C(RESULT_MISS)]	= CACHE_OP_UNSUPPORTED,
+		},
+	},
+	[C(L1I)] = {
+		[C(OP_READ)] = {
+			[C(RESULT_ACCESS)]	= ARMV7_PERFCTR_L1_INST,
+			[C(RESULT_MISS)]	= ARMV7_PERFCTR_L1_INST_MISS,
+		},
+		[C(OP_WRITE)] = {
+			[C(RESULT_ACCESS)]	= ARMV7_PERFCTR_L1_INST,
+			[C(RESULT_MISS)]	= ARMV7_PERFCTR_L1_INST_MISS,
+		},
+		[C(OP_PREFETCH)] = {
+			[C(RESULT_ACCESS)]	= CACHE_OP_UNSUPPORTED,
+			[C(RESULT_MISS)]	= CACHE_OP_UNSUPPORTED,
+		},
+	},
+	[C(LL)] = {
+		[C(OP_READ)] = {
+			[C(RESULT_ACCESS)]	= ARMV7_PERFCTR_L2_ACCESS,
+			[C(RESULT_MISS)]	= ARMV7_PERFCTR_L2_CACH_MISS,
+		},
+		[C(OP_WRITE)] = {
+			[C(RESULT_ACCESS)]	= ARMV7_PERFCTR_L2_ACCESS,
+			[C(RESULT_MISS)]	= ARMV7_PERFCTR_L2_CACH_MISS,
+		},
+		[C(OP_PREFETCH)] = {
+			[C(RESULT_ACCESS)]	= CACHE_OP_UNSUPPORTED,
+			[C(RESULT_MISS)]	= CACHE_OP_UNSUPPORTED,
+		},
+	},
+	[C(DTLB)] = {
+		/*
+		 * Only ITLB misses and DTLB refills are supported.
+		 * If users want the DTLB refills misses a raw counter
+		 * must be used.
+		 */
+		[C(OP_READ)] = {
+			[C(RESULT_ACCESS)]	= CACHE_OP_UNSUPPORTED,
+			[C(RESULT_MISS)]	= ARMV7_PERFCTR_DTLB_REFILL,
+		},
+		[C(OP_WRITE)] = {
+			[C(RESULT_ACCESS)]	= CACHE_OP_UNSUPPORTED,
+			[C(RESULT_MISS)]	= ARMV7_PERFCTR_DTLB_REFILL,
+		},
+		[C(OP_PREFETCH)] = {
+			[C(RESULT_ACCESS)]	= CACHE_OP_UNSUPPORTED,
+			[C(RESULT_MISS)]	= CACHE_OP_UNSUPPORTED,
+		},
+	},
+	[C(ITLB)] = {
+		[C(OP_READ)] = {
+			[C(RESULT_ACCESS)]	= CACHE_OP_UNSUPPORTED,
+			[C(RESULT_MISS)]	= ARMV7_PERFCTR_ITLB_MISS,
+		},
+		[C(OP_WRITE)] = {
+			[C(RESULT_ACCESS)]	= CACHE_OP_UNSUPPORTED,
+			[C(RESULT_MISS)]	= ARMV7_PERFCTR_ITLB_MISS,
+		},
+		[C(OP_PREFETCH)] = {
+			[C(RESULT_ACCESS)]	= CACHE_OP_UNSUPPORTED,
+			[C(RESULT_MISS)]	= CACHE_OP_UNSUPPORTED,
+		},
+	},
+	[C(BPU)] = {
+		[C(OP_READ)] = {
+			[C(RESULT_ACCESS)]	= ARMV7_PERFCTR_PC_WRITE,
+			[C(RESULT_MISS)]
+					= ARMV7_PERFCTR_PC_BRANCH_MIS_PRED,
+		},
+		[C(OP_WRITE)] = {
+			[C(RESULT_ACCESS)]	= ARMV7_PERFCTR_PC_WRITE,
+			[C(RESULT_MISS)]
+					= ARMV7_PERFCTR_PC_BRANCH_MIS_PRED,
+		},
+		[C(OP_PREFETCH)] = {
+			[C(RESULT_ACCESS)]	= CACHE_OP_UNSUPPORTED,
+			[C(RESULT_MISS)]	= CACHE_OP_UNSUPPORTED,
+		},
+	},
+};
+
+/*
+ * Cortex-A9 HW events mapping
+ */
+static const unsigned armv7_a9_perf_map[PERF_COUNT_HW_MAX] = {
+	[PERF_COUNT_HW_CPU_CYCLES]	    = ARMV7_PERFCTR_CPU_CYCLES,
+	[PERF_COUNT_HW_INSTRUCTIONS]	    =
+					ARMV7_PERFCTR_INST_OUT_OF_RENAME_STAGE,
+	[PERF_COUNT_HW_CACHE_REFERENCES]    = ARMV7_PERFCTR_COHERENT_LINE_HIT,
+	[PERF_COUNT_HW_CACHE_MISSES]	    = ARMV7_PERFCTR_COHERENT_LINE_MISS,
+	[PERF_COUNT_HW_BRANCH_INSTRUCTIONS] = ARMV7_PERFCTR_PC_WRITE,
+	[PERF_COUNT_HW_BRANCH_MISSES]	    = ARMV7_PERFCTR_PC_BRANCH_MIS_PRED,
+	[PERF_COUNT_HW_BUS_CYCLES]	    = ARMV7_PERFCTR_CLOCK_CYCLES,
+};
+
+static const unsigned armv7_a9_perf_cache_map[PERF_COUNT_HW_CACHE_MAX]
+					  [PERF_COUNT_HW_CACHE_OP_MAX]
+					  [PERF_COUNT_HW_CACHE_RESULT_MAX] = {
+	[C(L1D)] = {
+		/*
+		 * The performance counters don't differentiate between read
+		 * and write accesses/misses so this isn't strictly correct,
+		 * but it's the best we can do. Writes and reads get
+		 * combined.
+		 */
+		[C(OP_READ)] = {
+			[C(RESULT_ACCESS)]	= ARMV7_PERFCTR_DCACHE_ACCESS,
+			[C(RESULT_MISS)]	= ARMV7_PERFCTR_DCACHE_REFILL,
+		},
+		[C(OP_WRITE)] = {
+			[C(RESULT_ACCESS)]	= ARMV7_PERFCTR_DCACHE_ACCESS,
+			[C(RESULT_MISS)]	= ARMV7_PERFCTR_DCACHE_REFILL,
+		},
+		[C(OP_PREFETCH)] = {
+			[C(RESULT_ACCESS)]	= CACHE_OP_UNSUPPORTED,
+			[C(RESULT_MISS)]	= CACHE_OP_UNSUPPORTED,
+		},
+	},
+	[C(L1I)] = {
+		[C(OP_READ)] = {
+			[C(RESULT_ACCESS)]	= CACHE_OP_UNSUPPORTED,
+			[C(RESULT_MISS)]	= ARMV7_PERFCTR_IFETCH_MISS,
+		},
+		[C(OP_WRITE)] = {
+			[C(RESULT_ACCESS)]	= CACHE_OP_UNSUPPORTED,
+			[C(RESULT_MISS)]	= ARMV7_PERFCTR_IFETCH_MISS,
+		},
+		[C(OP_PREFETCH)] = {
+			[C(RESULT_ACCESS)]	= CACHE_OP_UNSUPPORTED,
+			[C(RESULT_MISS)]	= CACHE_OP_UNSUPPORTED,
+		},
+	},
+	[C(LL)] = {
+		[C(OP_READ)] = {
+			[C(RESULT_ACCESS)]	= CACHE_OP_UNSUPPORTED,
+			[C(RESULT_MISS)]	= CACHE_OP_UNSUPPORTED,
+		},
+		[C(OP_WRITE)] = {
+			[C(RESULT_ACCESS)]	= CACHE_OP_UNSUPPORTED,
+			[C(RESULT_MISS)]	= CACHE_OP_UNSUPPORTED,
+		},
+		[C(OP_PREFETCH)] = {
+			[C(RESULT_ACCESS)]	= CACHE_OP_UNSUPPORTED,
+			[C(RESULT_MISS)]	= CACHE_OP_UNSUPPORTED,
+		},
+	},
+	[C(DTLB)] = {
+		/*
+		 * Only ITLB misses and DTLB refills are supported.
+		 * If users want the DTLB refills misses a raw counter
+		 * must be used.
+		 */
+		[C(OP_READ)] = {
+			[C(RESULT_ACCESS)]	= CACHE_OP_UNSUPPORTED,
+			[C(RESULT_MISS)]	= ARMV7_PERFCTR_DTLB_REFILL,
+		},
+		[C(OP_WRITE)] = {
+			[C(RESULT_ACCESS)]	= CACHE_OP_UNSUPPORTED,
+			[C(RESULT_MISS)]	= ARMV7_PERFCTR_DTLB_REFILL,
+		},
+		[C(OP_PREFETCH)] = {
+			[C(RESULT_ACCESS)]	= CACHE_OP_UNSUPPORTED,
+			[C(RESULT_MISS)]	= CACHE_OP_UNSUPPORTED,
+		},
+	},
+	[C(ITLB)] = {
+		[C(OP_READ)] = {
+			[C(RESULT_ACCESS)]	= CACHE_OP_UNSUPPORTED,
+			[C(RESULT_MISS)]	= ARMV7_PERFCTR_ITLB_MISS,
+		},
+		[C(OP_WRITE)] = {
+			[C(RESULT_ACCESS)]	= CACHE_OP_UNSUPPORTED,
+			[C(RESULT_MISS)]	= ARMV7_PERFCTR_ITLB_MISS,
+		},
+		[C(OP_PREFETCH)] = {
+			[C(RESULT_ACCESS)]	= CACHE_OP_UNSUPPORTED,
+			[C(RESULT_MISS)]	= CACHE_OP_UNSUPPORTED,
+		},
+	},
+	[C(BPU)] = {
+		[C(OP_READ)] = {
+			[C(RESULT_ACCESS)]	= ARMV7_PERFCTR_PC_WRITE,
+			[C(RESULT_MISS)]
+					= ARMV7_PERFCTR_PC_BRANCH_MIS_PRED,
+		},
+		[C(OP_WRITE)] = {
+			[C(RESULT_ACCESS)]	= ARMV7_PERFCTR_PC_WRITE,
+			[C(RESULT_MISS)]
+					= ARMV7_PERFCTR_PC_BRANCH_MIS_PRED,
+		},
+		[C(OP_PREFETCH)] = {
+			[C(RESULT_ACCESS)]	= CACHE_OP_UNSUPPORTED,
+			[C(RESULT_MISS)]	= CACHE_OP_UNSUPPORTED,
+		},
+	},
+};
+
+/*
+ * Perf Events counters
+ */
+enum armv7_counters {
+	ARMV7_CYCLE_COUNTER 		= 1,	/* Cycle counter */
+	ARMV7_COUNTER0			= 2,	/* First event counter */
+};
+
+/*
+ * The cycle counter is ARMV7_CYCLE_COUNTER.
+ * The first event counter is ARMV7_COUNTER0.
+ * The last event counter is (ARMV7_COUNTER0 + armpmu-&amp;gt;num_events - 1).
+ */
+#define	ARMV7_COUNTER_LAS	(ARMV7_COUNTER0 + armpmu-&amp;gt;num_events - 1)
+
+/*
+ * ARMv7 low level PMNC access
+ */
+
+/*
+ * Per-CPU PMNC: config reg
+ */
+#define ARMV7_PMNC_E		(1 &amp;lt;&amp;lt; 0) /* Enable all counters */
+#define ARMV7_PMNC_P		(1 &amp;lt;&amp;lt; 1) /* Reset all counters */
+#define ARMV7_PMNC_C		(1 &amp;lt;&amp;lt; 2) /* Cycle counter reset */
+#define ARMV7_PMNC_D		(1 &amp;lt;&amp;lt; 3) /* CCNT counts every 64th cpu cycle */
+#define ARMV7_PMNC_X		(1 &amp;lt;&amp;lt; 4) /* Export to ETM */
+#define ARMV7_PMNC_DP		(1 &amp;lt;&amp;lt; 5) /* Disable CCNT if non-invasive debug*/
+#define	ARMV7_PMNC_N_SHIFT	11	 /* Number of counters supported */
+#define	ARMV7_PMNC_N_MASK	0x1f
+#define	ARMV7_PMNC_MASK		0x3f	 /* Mask for writable bits */
+
+/*
+ * Available counters
+ */
+#define ARMV7_CNT0 		0	/* First event counter */
+#define ARMV7_CCNT 		31	/* Cycle counter */
+
+/* Perf Event to low level counters mapping */
+#define ARMV7_EVENT_CNT_TO_CNTx	(ARMV7_COUNTER0 - ARMV7_CNT0)
+
+/*
+ * CNTENS: counters enable reg
+ */
+#define ARMV7_CNTENS_P(idx)	(1 &amp;lt;&amp;lt; (idx - ARMV7_EVENT_CNT_TO_CNTx))
+#define ARMV7_CNTENS_C		(1 &amp;lt;&amp;lt; ARMV7_CCNT)
+
+/*
+ * CNTENC: counters disable reg
+ */
+#define ARMV7_CNTENC_P(idx)	(1 &amp;lt;&amp;lt; (idx - ARMV7_EVENT_CNT_TO_CNTx))
+#define ARMV7_CNTENC_C		(1 &amp;lt;&amp;lt; ARMV7_CCNT)
+
+/*
+ * INTENS: counters overflow interrupt enable reg
+ */
+#define ARMV7_INTENS_P(idx)	(1 &amp;lt;&amp;lt; (idx - ARMV7_EVENT_CNT_TO_CNTx))
+#define ARMV7_INTENS_C		(1 &amp;lt;&amp;lt; ARMV7_CCNT)
+
+/*
+ * INTENC: counters overflow interrupt disable reg
+ */
+#define ARMV7_INTENC_P(idx)	(1 &amp;lt;&amp;lt; (idx - ARMV7_EVENT_CNT_TO_CNTx))
+#define ARMV7_INTENC_C		(1 &amp;lt;&amp;lt; ARMV7_CCNT)
+
+/*
+ * EVTSEL: Event selection reg
+ */
+#define	ARMV7_EVTSEL_MASK	0x7f		/* Mask for writable bits */
+
+/*
+ * SELECT: Counter selection reg
+ */
+#define	ARMV7_SELECT_MASK	0x1f		/* Mask for writable bits */
+
+/*
+ * FLAG: counters overflow flag status reg
+ */
+#define ARMV7_FLAG_P(idx)	(1 &amp;lt;&amp;lt; (idx - ARMV7_EVENT_CNT_TO_CNTx))
+#define ARMV7_FLAG_C		(1 &amp;lt;&amp;lt; ARMV7_CCNT)
+#define	ARMV7_FLAG_MASK		0xffffffff	/* Mask for writable bits */
+#define	ARMV7_OVERFLOWED_MASK	ARMV7_FLAG_MASK
+
+static inline unsigned long armv7_pmnc_read(void)
+{
+	u32 val;
+	asm volatile(&quot;mrc p15, 0, %0, c9, c12, 0&quot; : &quot;=r&quot;(val));
+	return val;
+}
+
+static inline void armv7_pmnc_write(unsigned long val)
+{
+	val &amp;amp;= ARMV7_PMNC_MASK;
+	asm volatile(&quot;mcr p15, 0, %0, c9, c12, 0&quot; : : &quot;r&quot;(val));
+}
+
+static inline int armv7_pmnc_has_overflowed(unsigned long pmnc)
+{
+	return pmnc &amp;amp; ARMV7_OVERFLOWED_MASK;
+}
+
+static inline int armv7_pmnc_counter_has_overflowed(unsigned long pmnc,
+					enum armv7_counters counter)
+{
+	int ret;
+
+	if (counter == ARMV7_CYCLE_COUNTER)
+		ret = pmnc &amp;amp; ARMV7_FLAG_C;
+	else if ((counter &amp;gt;= ARMV7_COUNTER0) &amp;amp;&amp;amp; (counter &amp;lt;= ARMV7_COUNTER_LAST))
+		ret = pmnc &amp;amp; ARMV7_FLAG_P(counter);
+	else
+		pr_err(&quot;CPU%u checking wrong counter %d overflow status\n&quot;,
+			smp_processor_id(), counter);
+
+	return ret;
+}
+
+static inline int armv7_pmnc_select_counter(unsigned int idx)
+{
+	u32 val;
+
+	if ((idx &amp;lt; ARMV7_COUNTER0) || (idx &amp;gt; ARMV7_COUNTER_LAST)) {
+		pr_err(&quot;CPU%u selecting wrong PMNC counter&quot;
+			&quot; %d\n&quot;, smp_processor_id(), idx);
+		return -1;
+	}
+
+	val = (idx - ARMV7_EVENT_CNT_TO_CNTx) &amp;amp; ARMV7_SELECT_MASK;
+	asm volatile(&quot;mcr p15, 0, %0, c9, c12, 5&quot; : : &quot;r&quot; (val));
+
+	return idx;
+}
+
+static inline u32 armv7pmu_read_counter(int idx)
+{
+	unsigned long value = 0;
+
+	if (idx == ARMV7_CYCLE_COUNTER)
+		asm volatile(&quot;mrc p15, 0, %0, c9, c13, 0&quot; : &quot;=r&quot; (value));
+	else if ((idx &amp;gt;= ARMV7_COUNTER0) &amp;amp;&amp;amp; (idx &amp;lt;= ARMV7_COUNTER_LAST)) {
+		if (armv7_pmnc_select_counter(idx) == idx)
+			asm volatile(&quot;mrc p15, 0, %0, c9, c13, 2&quot;
+				     : &quot;=r&quot; (value));
+	} else
+		pr_err(&quot;CPU%u reading wrong counter %d\n&quot;,
+			smp_processor_id(), idx);
+
+	return value;
+}
+
+static inline void armv7pmu_write_counter(int idx, u32 value)
+{
+	if (idx == ARMV7_CYCLE_COUNTER)
+		asm volatile(&quot;mcr p15, 0, %0, c9, c13, 0&quot; : : &quot;r&quot; (value));
+	else if ((idx &amp;gt;= ARMV7_COUNTER0) &amp;amp;&amp;amp; (idx &amp;lt;= ARMV7_COUNTER_LAST)) {
+		if (armv7_pmnc_select_counter(idx) == idx)
+			asm volatile(&quot;mcr p15, 0, %0, c9, c13, 2&quot;
+				     : : &quot;r&quot; (value));
+	} else
+		pr_err(&quot;CPU%u writing wrong counter %d\n&quot;,
+			smp_processor_id(), idx);
+}
+
+static inline void armv7_pmnc_write_evtsel(unsigned int idx, u32 val)
+{
+	if (armv7_pmnc_select_counter(idx) == idx) {
+		val &amp;amp;= ARMV7_EVTSEL_MASK;
+		asm volatile(&quot;mcr p15, 0, %0, c9, c13, 1&quot; : : &quot;r&quot; (val));
+	}
+}
+
+static inline u32 armv7_pmnc_enable_counter(unsigned int idx)
+{
+	u32 val;
+
+	if ((idx != ARMV7_CYCLE_COUNTER) &amp;amp;&amp;amp;
+	    ((idx &amp;lt; ARMV7_COUNTER0) || (idx &amp;gt; ARMV7_COUNTER_LAST))) {
+		pr_err(&quot;CPU%u enabling wrong PMNC counter&quot;
+			&quot; %d\n&quot;, smp_processor_id(), idx);
+		return -1;
+	}
+
+	if (idx == ARMV7_CYCLE_COUNTER)
+		val = ARMV7_CNTENS_C;
+	else
+		val = ARMV7_CNTENS_P(idx);
+
+	asm volatile(&quot;mcr p15, 0, %0, c9, c12, 1&quot; : : &quot;r&quot; (val));
+
+	return idx;
+}
+
+static inline u32 armv7_pmnc_disable_counter(unsigned int idx)
+{
+	u32 val;
+
+
+	if ((idx != ARMV7_CYCLE_COUNTER) &amp;amp;&amp;amp;
+	    ((idx &amp;lt; ARMV7_COUNTER0) || (idx &amp;gt; ARMV7_COUNTER_LAST))) {
+		pr_err(&quot;CPU%u disabling wrong PMNC counter&quot;
+			&quot; %d\n&quot;, smp_processor_id(), idx);
+		return -1;
+	}
+
+	if (idx == ARMV7_CYCLE_COUNTER)
+		val = ARMV7_CNTENC_C;
+	else
+		val = ARMV7_CNTENC_P(idx);
+
+	asm volatile(&quot;mcr p15, 0, %0, c9, c12, 2&quot; : : &quot;r&quot; (val));
+
+	return idx;
+}
+
+static inline u32 armv7_pmnc_enable_intens(unsigned int idx)
+{
+	u32 val;
+
+	if ((idx != ARMV7_CYCLE_COUNTER) &amp;amp;&amp;amp;
+	    ((idx &amp;lt; ARMV7_COUNTER0) || (idx &amp;gt; ARMV7_COUNTER_LAST))) {
+		pr_err(&quot;CPU%u enabling wrong PMNC counter&quot;
+			&quot; interrupt enable %d\n&quot;, smp_processor_id(), idx);
+		return -1;
+	}
+
+	if (idx == ARMV7_CYCLE_COUNTER)
+		val = ARMV7_INTENS_C;
+	else
+		val = ARMV7_INTENS_P(idx);
+
+	asm volatile(&quot;mcr p15, 0, %0, c9, c14, 1&quot; : : &quot;r&quot; (val));
+
+	return idx;
+}
+
+static inline u32 armv7_pmnc_disable_intens(unsigned int idx)
+{
+	u32 val;
+
+	if ((idx != ARMV7_CYCLE_COUNTER) &amp;amp;&amp;amp;
+	    ((idx &amp;lt; ARMV7_COUNTER0) || (idx &amp;gt; ARMV7_COUNTER_LAST))) {
+		pr_err(&quot;CPU%u disabling wrong PMNC counter&quot;
+			&quot; interrupt enable %d\n&quot;, smp_processor_id(), idx);
+		return -1;
+	}
+
+	if (idx == ARMV7_CYCLE_COUNTER)
+		val = ARMV7_INTENC_C;
+	else
+		val = ARMV7_INTENC_P(idx);
+
+	asm volatile(&quot;mcr p15, 0, %0, c9, c14, 2&quot; : : &quot;r&quot; (val));
+
+	return idx;
+}
+
+static inline u32 armv7_pmnc_getreset_flags(void)
+{
+	u32 val;
+
+	/* Read */
+	asm volatile(&quot;mrc p15, 0, %0, c9, c12, 3&quot; : &quot;=r&quot; (val));
+
+	/* Write to clear flags */
+	val &amp;amp;= ARMV7_FLAG_MASK;
+	asm volatile(&quot;mcr p15, 0, %0, c9, c12, 3&quot; : : &quot;r&quot; (val));
+
+	return val;
+}
+
+#ifdef DEBUG
+static void armv7_pmnc_dump_regs(void)
+{
+	u32 val;
+	unsigned int cnt;
+
+	printk(KERN_INFO &quot;PMNC registers dump:\n&quot;);
+
+	asm volatile(&quot;mrc p15, 0, %0, c9, c12, 0&quot; : &quot;=r&quot; (val));
+	printk(KERN_INFO &quot;PMNC  =0x%08x\n&quot;, val);
+
+	asm volatile(&quot;mrc p15, 0, %0, c9, c12, 1&quot; : &quot;=r&quot; (val));
+	printk(KERN_INFO &quot;CNTENS=0x%08x\n&quot;, val);
+
+	asm volatile(&quot;mrc p15, 0, %0, c9, c14, 1&quot; : &quot;=r&quot; (val));
+	printk(KERN_INFO &quot;INTENS=0x%08x\n&quot;, val);
+
+	asm volatile(&quot;mrc p15, 0, %0, c9, c12, 3&quot; : &quot;=r&quot; (val));
+	printk(KERN_INFO &quot;FLAGS =0x%08x\n&quot;, val);
+
+	asm volatile(&quot;mrc p15, 0, %0, c9, c12, 5&quot; : &quot;=r&quot; (val));
+	printk(KERN_INFO &quot;SELECT=0x%08x\n&quot;, val);
+
+	asm volatile(&quot;mrc p15, 0, %0, c9, c13, 0&quot; : &quot;=r&quot; (val));
+	printk(KERN_INFO &quot;CCNT  =0x%08x\n&quot;, val);
+
+	for (cnt = ARMV7_COUNTER0; cnt &amp;lt; ARMV7_COUNTER_LAST; cnt++) {
+		armv7_pmnc_select_counter(cnt);
+		asm volatile(&quot;mrc p15, 0, %0, c9, c13, 2&quot; : &quot;=r&quot; (val));
+		printk(KERN_INFO &quot;CNT[%d] count =0x%08x\n&quot;,
+			cnt-ARMV7_EVENT_CNT_TO_CNTx, val);
+		asm volatile(&quot;mrc p15, 0, %0, c9, c13, 1&quot; : &quot;=r&quot; (val));
+		printk(KERN_INFO &quot;CNT[%d] evtsel=0x%08x\n&quot;,
+			cnt-ARMV7_EVENT_CNT_TO_CNTx, val);
+	}
+}
+#endif
+
+void armv7pmu_enable_event(struct hw_perf_event *hwc, int idx)
+{
+	unsigned long flags;
+
+	/*
+	 * Enable counter and interrupt, and set the counter to count
+	 * the event that we're interested in.
+	 */
+	spin_lock_irqsave(&amp;amp;pmu_lock, flags);
+
+	/*
+	 * Disable counter
+	 */
+	armv7_pmnc_disable_counter(idx);
+
+	/*
+	 * Set event (if destined for PMNx counters)
+	 * We don't need to set the event if it's a cycle count
+	 */
+	if (idx != ARMV7_CYCLE_COUNTER)
+		armv7_pmnc_write_evtsel(idx, hwc-&amp;gt;config_base);
+
+	/*
+	 * Enable interrupt for this counter
+	 */
+	armv7_pmnc_enable_intens(idx);
+
+	/*
+	 * Enable counter
+	 */
+	armv7_pmnc_enable_counter(idx);
+
+	spin_unlock_irqrestore(&amp;amp;pmu_lock, flags);
+}
+
+static void armv7pmu_disable_event(struct hw_perf_event *hwc, int idx)
+{
+	unsigned long flags;
+
+	/*
+	 * Disable counter and interrupt
+	 */
+	spin_lock_irqsave(&amp;amp;pmu_lock, flags);
+
+	/*
+	 * Disable counter
+	 */
+	armv7_pmnc_disable_counter(idx);
+
+	/*
+	 * Disable interrupt for this counter
+	 */
+	armv7_pmnc_disable_intens(idx);
+
+	spin_unlock_irqrestore(&amp;amp;pmu_lock, flags);
+}
+
+static irqreturn_t armv7pmu_handle_irq(int irq_num, void *dev)
+{
+	unsigned long pmnc;
+	struct perf_sample_data data;
+	struct cpu_hw_events *cpuc;
+	struct pt_regs *regs;
+	int idx;
+
+	/*
+	 * Get and reset the IRQ flags
+	 */
+	pmnc = armv7_pmnc_getreset_flags();
+
+	/*
+	 * Did an overflow occur?
+	 */
+	if (!armv7_pmnc_has_overflowed(pmnc))
+		return IRQ_NONE;
+
+	/*
+	 * Handle the counter(s) overflow(s)
+	 */
+	regs = get_irq_regs();
+
+	data.addr = 0;
+
+	cpuc = &amp;amp;__get_cpu_var(cpu_hw_events);
+	for (idx = 0; idx &amp;lt;= armpmu-&amp;gt;num_events; ++idx) {
+		struct perf_event *event = cpuc-&amp;gt;events[idx];
+		struct hw_perf_event *hwc;
+
+		if (!test_bit(idx, cpuc-&amp;gt;active_mask))
+			continue;
+
+		/*
+		 * We have a single interrupt for all counters. Check that
+		 * each counter has overflowed before we process it.
+		 */
+		if (!armv7_pmnc_counter_has_overflowed(pmnc, idx))
+			continue;
+
+		hwc = &amp;amp;event-&amp;gt;hw;
+		armpmu_event_update(event, hwc, idx);
+		data.period = event-&amp;gt;hw.last_period;
+		if (!armpmu_event_set_period(event, hwc, idx))
+			continue;
+
+		if (perf_event_overflow(event, 0, &amp;amp;data, regs))
+			armpmu-&amp;gt;disable(hwc, idx);
+	}
+
+	/*
+	 * Handle the pending perf events.
+	 *
+	 * Note: this call *must* be run with interrupts enabled. For
+	 * platforms that can have the PMU interrupts raised as a PMI, this
+	 * will not work.
+	 */
+	perf_event_do_pending();
+
+	return IRQ_HANDLED;
+}
+
+static void armv7pmu_start(void)
+{
+	unsigned long flags;
+
+	spin_lock_irqsave(&amp;amp;pmu_lock, flags);
+	/* Enable all counters */
+	armv7_pmnc_write(armv7_pmnc_read() | ARMV7_PMNC_E);
+	spin_unlock_irqrestore(&amp;amp;pmu_lock, flags);
+}
+
+static void armv7pmu_stop(void)
+{
+	unsigned long flags;
+
+	spin_lock_irqsave(&amp;amp;pmu_lock, flags);
+	/* Disable all counters */
+	armv7_pmnc_write(armv7_pmnc_read() &amp;amp; ~ARMV7_PMNC_E);
+	spin_unlock_irqrestore(&amp;amp;pmu_lock, flags);
+}
+
+static inline int armv7_a8_pmu_event_map(int config)
+{
+	int mapping = armv7_a8_perf_map[config];
+	if (HW_OP_UNSUPPORTED == mapping)
+		mapping = -EOPNOTSUPP;
+	return mapping;
+}
+
+static inline int armv7_a9_pmu_event_map(int config)
+{
+	int mapping = armv7_a9_perf_map[config];
+	if (HW_OP_UNSUPPORTED == mapping)
+		mapping = -EOPNOTSUPP;
+	return mapping;
+}
+
+static u64 armv7pmu_raw_event(u64 config)
+{
+	return config &amp;amp; 0xff;
+}
+
+static int armv7pmu_get_event_idx(struct cpu_hw_events *cpuc,
+				  struct hw_perf_event *event)
+{
+	int idx;
+
+	/* Always place a cycle counter into the cycle counter. */
+	if (event-&amp;gt;config_base == ARMV7_PERFCTR_CPU_CYCLES) {
+		if (test_and_set_bit(ARMV7_CYCLE_COUNTER, cpuc-&amp;gt;used_mask))
+			return -EAGAIN;
+
+		return ARMV7_CYCLE_COUNTER;
+	} else {
+		/*
+		 * For anything other than a cycle counter, try and use
+		 * the events counters
+		 */
+		for (idx = ARMV7_COUNTER0; idx &amp;lt;= armpmu-&amp;gt;num_events; ++idx) {
+			if (!test_and_set_bit(idx, cpuc-&amp;gt;used_mask))
+				return idx;
+		}
+
+		/* The counters are all in use. */
+		return -EAGAIN;
+	}
+}
+
+static struct arm_pmu armv7pmu = {
+	.handle_irq		= armv7pmu_handle_irq,
+	.enable			= armv7pmu_enable_event,
+	.disable		= armv7pmu_disable_event,
+	.raw_event		= armv7pmu_raw_event,
+	.read_counter		= armv7pmu_read_counter,
+	.write_counter		= armv7pmu_write_counter,
+	.get_event_idx		= armv7pmu_get_event_idx,
+	.start			= armv7pmu_start,
+	.stop			= armv7pmu_stop,
+	.max_period		= (1LLU &amp;lt;&amp;lt; 32) - 1,
+};
+
+static u32 __init armv7_reset_read_pmnc(void)
+{
+	u32 nb_cnt;
+
+	/* Initialize &amp;amp; Reset PMNC: C and P bits */
+	armv7_pmnc_write(ARMV7_PMNC_P | ARMV7_PMNC_C);
+
+	/* Read the nb of CNTx counters supported from PMNC */
+	nb_cnt = (armv7_pmnc_read() &amp;gt;&amp;gt; ARMV7_PMNC_N_SHIFT) &amp;amp; ARMV7_PMNC_N_MASK;
+
+	/* Add the CPU cycles counter and return */
+	return nb_cnt + 1;
+}
+
 static int __init
 init_hw_perf_events(void)
 {
@@ -1194,14 +2098,36 @@ init_hw_perf_events(void)
 				sizeof(armv6mpcore_perf_cache_map));
 		perf_max_events = armv6mpcore_pmu.num_events;
 		break;
+	case 0xC080:	/* Cortex-A8 */
+		armv7pmu.name = ARMV7_PMU_CORTEX_A8_NAME;
+		memcpy(armpmu_perf_cache_map, armv7_a8_perf_cache_map,
+				sizeof(armv7_a8_perf_cache_map));
+		armv7pmu.event_map = armv7_a8_pmu_event_map;
+		armpmu = &amp;amp;armv7pmu;
+
+		/* Reset PMNC and read the nb of CNTx counters supported */
+		armv7pmu.num_events = armv7_reset_read_pmnc();
+		perf_max_events	= armv7pmu.num_events;
+		break;
+	case 0xC090:	/* Cortex-A9 */
+		armv7pmu.name = ARMV7_PMU_CORTEX_A9_NAME;
+		memcpy(armpmu_perf_cache_map, armv7_a9_perf_cache_map,
+				sizeof(armv7_a9_perf_cache_map));
+		armv7pmu.event_map = armv7_a9_pmu_event_map;
+		armpmu = &amp;amp;armv7pmu;
+
+		/* Reset PMNC and read the nb of CNTx counters supported */
+		armv7pmu.num_events = armv7_reset_read_pmnc();
+		perf_max_events	= armv7pmu.num_events;
+		break;
 	default:
 		pr_info(&quot;no hardware support available\n&quot;);
 		perf_max_events = -1;
 	}
 
 	if (armpmu)
-		pr_info(&quot;enabled with %s PMU driver\n&quot;,
-				armpmu-&amp;gt;name);
+		pr_info(&quot;enabled with %s PMU driver, %d counters available\n&quot;,
+				armpmu-&amp;gt;name, armpmu-&amp;gt;num_events);
 
 	return 0;
 }
-- 
1.6.2.5.168.g3823


&lt;/pre&gt;&lt;hr style=&quot;color: rgb(0, 0, 0); font-family: Gulim; line-height: normal; background-color: rgb(255, 255, 255); font-size: medium; &quot;&gt;&lt;p style=&quot;color: rgb(0, 0, 0); font-family: Gulim; line-height: normal; background-color: rgb(255, 255, 255); font-size: medium; &quot;&gt;&lt;/p&gt;
&lt;ul style=&quot;color: rgb(0, 0, 0); font-family: Gulim; line-height: normal; background-color: rgb(255, 255, 255); font-size: medium; &quot;&gt;&lt;li&gt;Previous message:&amp;nbsp;&lt;a href=&quot;http://lists.infradead.org/pipermail/linux-arm-kernel/2010-January/008547.html&quot;&gt;[PATCH 5/5] arm/perfevents: implement perf event support for ARMv6&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Next message:&amp;nbsp;&lt;a href=&quot;http://lists.infradead.org/pipermail/linux-arm-kernel/2010-January/008682.html&quot;&gt;[PATCH 5/5] arm/perfevents: implement perf event support for ARMv6&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Messages sorted by:&lt;/b&gt;&amp;nbsp;&lt;a href=&quot;http://lists.infradead.org/pipermail/linux-arm-kernel/2010-January/date.html#8551&quot;&gt;[ date ]&lt;/a&gt;&amp;nbsp;&lt;a href=&quot;http://lists.infradead.org/pipermail/linux-arm-kernel/2010-January/thread.html#8551&quot;&gt;[ thread ]&lt;/a&gt;&amp;nbsp;&lt;a href=&quot;http://lists.infradead.org/pipermail/linux-arm-kernel/2010-January/subject.html#8551&quot;&gt;[ subject ]&lt;/a&gt;&amp;nbsp;&lt;a href=&quot;http://lists.infradead.org/pipermail/linux-arm-kernel/2010-January/author.html#8551&quot;&gt;[ author ]&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;hr style=&quot;color: rgb(0, 0, 0); font-family: Gulim; line-height: normal; background-color: rgb(255, 255, 255); font-size: medium; &quot;&gt;&lt;a href=&quot;http://lists.infradead.org/mailman/listinfo/linux-arm-kernel&quot; style=&quot;font-family: Gulim; line-height: normal; background-color: rgb(255, 255, 255); font-size: medium; &quot;&gt;More information about the linux-arm-kernel mailing list&lt;/a&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-119-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-119-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-119-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 class=&quot;another_category another_category_color_gray&quot;&gt;
&lt;h4&gt;'&lt;a href=&quot;/category/잡다한%20이야기&quot;&gt;잡다한 이야기&lt;/a&gt;&amp;nbsp;&gt;&amp;nbsp;&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;/121&quot; &gt;머큐리얼 에러 waiting for lock on repository 해결법&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/04/04&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/120&quot; &gt;Linux shell 디렉토리 이동 프로그램&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/03/30&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/119&quot; &gt;ARMv7 Hardware Performance Counter Events&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/03/26&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/107&quot; &gt;최초의 모바일용 듀얼코어 NVIDIA Tegra2 성능과 전력소비&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/02/08&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/103&quot; &gt;일드 역대 시청률 순위&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/01/10&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/71&quot; &gt;DCF를 MP3로 변환할 수 없는 이유&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(18)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2009/11/12&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;</description>
			<category>토막 정보</category>
			<author>행복한브라운</author>
			<guid>http://brown.ezphp.net/119</guid>
			<comments>http://brown.ezphp.net/119#entry119comment</comments>
			<pubDate>Mon, 26 Mar 2012 13:19:04 +0900</pubDate>
		</item>
		<item>
			<title>내 책상에 굴러다니는 안드로이드 단말들</title>
			<link>http://brown.ezphp.net/118</link>
			<description>&lt;p style=&quot;margin:0&quot;&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile9.uf.tistory.com/original/1968C2334F62A32B23D401&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile9.uf.tistory.com/image/1968C2334F62A32B23D401&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;2012-03-16 11.13.09.jpg&quot; height=&quot;525&quot; width=&quot;700&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/p&gt;
&lt;br /&gt;청소 기념으로 한컷 (전부 연구 혹은 강의용)&amp;nbsp;&lt;div class=&quot;entry-ccl&quot; style=&quot;clear: both; text-align: right; margin-bottom: 10px&quot;&gt;
	&lt;img id=&quot;ccl-icon-118-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-118-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-118-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 class=&quot;another_category another_category_color_gray&quot;&gt;
&lt;h4&gt;'&lt;a href=&quot;/category/프로그래밍&quot;&gt;프로그래밍&lt;/a&gt;&amp;nbsp;&gt;&amp;nbsp;&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;/118&quot; &gt;내 책상에 굴러다니는 안드로이드 단말들&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&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;/117&quot; &gt;안드로이드 에뮬레이터 부팅 로고 변경 - initlogo.rle&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/02/07&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/116&quot; &gt;안드로이드 에뮬레이터 CPU type 변경&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/02/07&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/115&quot; &gt;*** glibc detected *** make: free(): invalid next size (fast)&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/01/31&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/114&quot; &gt;안드로이드 read-only File System read-write 모드로 변경&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/11/10&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/113&quot; &gt;ARM Condition Flags and Codes&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(1)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/11/07&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;</description>
			<category>안드로이드</category>
			<author>행복한브라운</author>
			<guid>http://brown.ezphp.net/118</guid>
			<comments>http://brown.ezphp.net/118#entry118comment</comments>
			<pubDate>Fri, 16 Mar 2012 11:20:48 +0900</pubDate>
		</item>
		<item>
			<title>안드로이드 에뮬레이터 부팅 로고 변경 - initlogo.rle</title>
			<link>http://brown.ezphp.net/117</link>
			<description>안드로이드 에뮬레이터의 부팅 로고는 다음과 같이 변경이 가능하다.&lt;br /&gt;
&lt;br /&gt;
테스트환경 : 우분투&lt;br /&gt;
&lt;br /&gt;
320x480 크기의 로고 이미지를 만든다. (해상도가 자신의 에뮬레이터와 맞지 않으면 제대로 안보인다.)&amp;nbsp;&lt;br /&gt;
BMP나 PNG 등으로 저장한다.&lt;br /&gt;
&lt;br /&gt;
$convert -depth 8 &amp;nbsp;initlogo.png rgb:initlogo.raw&lt;br /&gt;
$./rgb2565 -rle &amp;lt;initlogo.raw&amp;gt; initlogo.rle&lt;br /&gt;
&lt;br /&gt;
여기서 convert 프로그램은 우분투에는 기본으로 존재하나 페도라에서는 없었다.&lt;br /&gt;
안드로이드 소스를 빌드하면 rgb2565 프로그램은 out/host/linux-x86/bin 디렉토리에 생성된다.&lt;br /&gt;
&lt;br /&gt;
여기서 생성된 initlogo.rle 파일을 out/target/product/generic/root/ 디렉토리로 복사한다. &lt;br /&gt;
(generic 대신에 자신에 맞는 제품명을 넣는다.)&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
이미지를 새로 빌드해보면 에뮬레이터에 다음과 같이 출력된다.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile4.uf.tistory.com/original/2064084B4F30A230282435&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile4.uf.tistory.com/image/2064084B4F30A230282435&quot; alt=&quot;&quot; filemime=&quot;image/png&quot; filename=&quot;androscope.png&quot; height=&quot;518&quot; width=&quot;336&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&amp;nbsp;&lt;br /&gt;
안드로이드 이미지의 원본 출처 :&amp;nbsp;
&lt;a href=&quot;http://blogspc.com/high-quality-android-wallpapers/447&quot;&gt;http://blogspc.com/high-quality-android-wallpapers/447&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;div class=&quot;entry-ccl&quot; style=&quot;clear: both; text-align: right; margin-bottom: 10px&quot;&gt;
	&lt;img id=&quot;ccl-icon-117-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-117-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-117-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 class=&quot;another_category another_category_color_gray&quot;&gt;
&lt;h4&gt;'&lt;a href=&quot;/category/프로그래밍&quot;&gt;프로그래밍&lt;/a&gt;&amp;nbsp;&gt;&amp;nbsp;&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;/118&quot; &gt;내 책상에 굴러다니는 안드로이드 단말들&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&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;/117&quot; &gt;안드로이드 에뮬레이터 부팅 로고 변경 - initlogo.rle&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/02/07&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/116&quot; &gt;안드로이드 에뮬레이터 CPU type 변경&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/02/07&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/115&quot; &gt;*** glibc detected *** make: free(): invalid next size (fast)&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/01/31&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/114&quot; &gt;안드로이드 read-only File System read-write 모드로 변경&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/11/10&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/113&quot; &gt;ARM Condition Flags and Codes&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(1)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/11/07&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;</description>
			<category>안드로이드</category>
			<category>initlogo.rle</category>
			<category>부팅 로고</category>
			<category>안드로이드</category>
			<author>행복한브라운</author>
			<guid>http://brown.ezphp.net/117</guid>
			<comments>http://brown.ezphp.net/117#entry117comment</comments>
			<pubDate>Tue, 07 Feb 2012 13:06:23 +0900</pubDate>
		</item>
		<item>
			<title>안드로이드 에뮬레이터 CPU type 변경</title>
			<link>http://brown.ezphp.net/116</link>
			<description>&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;font color=&quot;#000000&quot; face=&quot;'Bitstream Vera Sans Mono', 'Courier New', monospace&quot;&gt;&lt;span style=&quot;line-height: 16px; white-space: pre;&quot;&gt;&lt;div style=&quot;font-weight: bold; &quot;&gt;
&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;font-weight: bold; &quot;&gt;$./emulator -kernel /{AndroidRoot}/prebuilt/android-arm/kernel/kernel-qemu-armv7 -avd avdname -qemu -cpu cortex-a8&lt;/div&gt;
&lt;div style=&quot;font-weight: bold; &quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;
안드로이드 에뮬레이터 사용시 qemu가 지원하는 여러 CPU 중에서 특정 CPU를 에뮬레이션 하고 싶다면 위와 같이 -qemu -cpu 옵션을 통해서 추가할 수 있다.&amp;nbsp;지원하는 CPU 목록을 보고 싶다면&lt;br /&gt;
&lt;br /&gt;-qemu -cpu ?&lt;br /&gt;
&lt;br /&gt;라고 옵션을 추가하면 다음과 같은 목록이 나온다.&lt;br /&gt;
&lt;br /&gt;Available CPUs:
  arm926
  arm946
  arm1026
  arm1136
  arm1136-r2
  arm11mpcore
  cortex-m3
  cortex-a8
  ti925t
  pxa250
  pxa255
  pxa260
  pxa261
  pxa262
  pxa270
  pxa270-a0
  pxa270-a1
  pxa270-b0
  pxa270-b1
  pxa270-c0
  pxa270-c5
  any&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;여기서 주의할 점은 cortex-a8을 에뮬레이션하고자 한다면 반드시 kernel을 위와 같이 prebuilt 디렉토리에 있는 kernel-qemu-armv7 으로 지정해야 한다는 것.&amp;nbsp;&lt;/div&gt;
&lt;/span&gt;&lt;/font&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-116-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-116-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-116-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 class=&quot;another_category another_category_color_gray&quot;&gt;
&lt;h4&gt;'&lt;a href=&quot;/category/프로그래밍&quot;&gt;프로그래밍&lt;/a&gt;&amp;nbsp;&gt;&amp;nbsp;&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;/118&quot; &gt;내 책상에 굴러다니는 안드로이드 단말들&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&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;/117&quot; &gt;안드로이드 에뮬레이터 부팅 로고 변경 - initlogo.rle&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/02/07&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/116&quot; &gt;안드로이드 에뮬레이터 CPU type 변경&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/02/07&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/115&quot; &gt;*** glibc detected *** make: free(): invalid next size (fast)&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/01/31&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/114&quot; &gt;안드로이드 read-only File System read-write 모드로 변경&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/11/10&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/113&quot; &gt;ARM Condition Flags and Codes&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(1)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/11/07&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;</description>
			<category>안드로이드</category>
			<category>cortex-a8</category>
			<category>Emulator</category>
			<category>안드로이드</category>
			<category>에뮬레이터</category>
			<author>행복한브라운</author>
			<guid>http://brown.ezphp.net/116</guid>
			<comments>http://brown.ezphp.net/116#entry116comment</comments>
			<pubDate>Tue, 07 Feb 2012 12:52:54 +0900</pubDate>
		</item>
		<item>
			<title>*** glibc detected *** make: free(): invalid next size (fast)</title>
			<link>http://brown.ezphp.net/115</link>
			<description>&lt;div&gt;
[brown@baal android]$ mm&lt;/div&gt;
&lt;div&gt;============================================&lt;/div&gt;
&lt;div&gt;PLATFORM_VERSION_CODENAME=REL&lt;/div&gt;
&lt;div&gt;PLATFORM_VERSION=2.3.3&lt;/div&gt;
&lt;div&gt;TARGET_PRODUCT=lge_bproj&lt;/div&gt;
&lt;div&gt;TARGET_BUILD_VARIANT=eng&lt;/div&gt;
&lt;div&gt;TARGET_SIMULATOR=false&lt;/div&gt;
&lt;div&gt;TARGET_BUILD_TYPE=release&lt;/div&gt;
&lt;div&gt;TARGET_BUILD_APPS=&lt;/div&gt;
&lt;div&gt;TARGET_ARCH=arm&lt;/div&gt;
&lt;div&gt;HOST_ARCH=x86&lt;/div&gt;
&lt;div&gt;HOST_OS=linux&lt;/div&gt;
&lt;div&gt;HOST_BUILD_TYPE=release&lt;/div&gt;
&lt;div&gt;BUILD_ID=GRI40&lt;/div&gt;
&lt;div&gt;============================================&lt;/div&gt;
&lt;div&gt;find: `frameworks/base/frameworks/base/docs/html': No such file or directory&lt;/div&gt;
&lt;div&gt;find: `out/target/common/docs/gen': No such file or directory&lt;/div&gt;
&lt;div&gt;find: `frameworks/base/frameworks/base/docs/html': No such file or directory&lt;/div&gt;
&lt;div&gt;find: `out/target/common/docs/gen': No such file or directory&lt;/div&gt;
&lt;div&gt;find: `frameworks/base/frameworks/base/docs/html': No such file or directory&lt;/div&gt;
&lt;div&gt;find: `out/target/common/docs/gen': No such file or directory&lt;/div&gt;
&lt;div&gt;find: `frameworks/base/frameworks/base/docs/html': No such file or directory&lt;/div&gt;
&lt;div&gt;find: `out/target/common/docs/gen': No such file or directory&lt;/div&gt;
&lt;div&gt;find: `frameworks/base/frameworks/base/docs/html': No such file or directory&lt;/div&gt;
&lt;div&gt;find: `out/target/common/docs/gen': No such file or directory&lt;/div&gt;
&lt;div&gt;*** glibc detected *** make: free(): invalid next size (fast): 0x000000000aa4f420 ***&lt;/div&gt;
&lt;div&gt;*** glibc detected *** make: malloc(): memory corruption: 0x000000000aa4f460 ***&lt;br /&gt;
&lt;br /&gt;위와 같은 에러가 발생할 경우 make 버전을 3.82에서 3.81로 내리면 해결됨&amp;nbsp;&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-115-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-115-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-115-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 class=&quot;another_category another_category_color_gray&quot;&gt;
&lt;h4&gt;'&lt;a href=&quot;/category/프로그래밍&quot;&gt;프로그래밍&lt;/a&gt;&amp;nbsp;&gt;&amp;nbsp;&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;/117&quot; &gt;안드로이드 에뮬레이터 부팅 로고 변경 - initlogo.rle&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/02/07&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/116&quot; &gt;안드로이드 에뮬레이터 CPU type 변경&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/02/07&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/115&quot; &gt;*** glibc detected *** make: free(): invalid next size (fast)&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/01/31&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/114&quot; &gt;안드로이드 read-only File System read-write 모드로 변경&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/11/10&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/113&quot; &gt;ARM Condition Flags and Codes&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(1)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/11/07&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/112&quot; &gt;ARM Instruction Set Architecture&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/11/07&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;</description>
			<category>안드로이드</category>
			<author>행복한브라운</author>
			<guid>http://brown.ezphp.net/115</guid>
			<comments>http://brown.ezphp.net/115#entry115comment</comments>
			<pubDate>Tue, 31 Jan 2012 21:08:44 +0900</pubDate>
		</item>
		<item>
			<title>[뇌를자극하는 PHP프로그래밍] 소스코드 (2011년 11월 15일)</title>
			<link>http://brown.ezphp.net/85</link>
			<description>&lt;DIV style=&quot;BORDER-BOTTOM: #9fd331 1px dashed; BORDER-LEFT: #9fd331 1px dashed; PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #e7fdb5; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; BORDER-TOP: #9fd331 1px dashed; BORDER-RIGHT: #9fd331 1px dashed; PADDING-TOP: 10px&quot; class=txc-textbox&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://happybrown.tistory.com/attachment/cfile7.uf@171E19394EC1F24F2A4B45.zip&quot;&gt;&lt;img src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/blog/image/extension/zip.gif&quot; alt=&quot;&quot; style=&quot;vertical-align: middle;&quot; /&gt; 뇌를자극하는PHP프로그래밍.zip&lt;/a&gt;&lt;/div&gt;&lt;/DIV&gt;&lt;br /&gt;
오류 및 오탈자 부분을 수정한 버전을 올립니다.&lt;br /&gt;
만약 실행시 오류가 발생한다면 바로 알려주시면 최대한 빠른 답변을 드리겠습니다.&lt;br /&gt;
그리고 이 페이지는 항상 최신 버전의 소스코드를 유지할 예정입니다.&lt;br /&gt;
변경사항이 있으면 날짜와 함께 최신의 소스코드를 업로드하겠습니다.&lt;br /&gt;
&lt;br /&gt;참고로 문의하시는 분이 계셔서 말씀드립니다.&lt;br /&gt;
책의 예제 소스코드는 책을 구매하신 분 뿐만이 아니라 &quot;모든&quot; 분들이 &quot;모든&quot; 용도로 사용이 가능합니다.&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-85-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-85-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-85-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 class=&quot;another_category another_category_color_gray&quot;&gt;
&lt;h4&gt;'&lt;a href=&quot;/category/책&quot;&gt;책&lt;/a&gt;&amp;nbsp;&gt;&amp;nbsp;&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;/85&quot; &gt;[뇌를자극하는 PHP프로그래밍] 소스코드 (2011년 11월 15일)&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/11/15&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;</description>
			<category>최종 소스 코드</category>
			<category>PHP프로그래밍</category>
			<category>뇌를 자극하는 PHP 프로그래밍</category>
			<category>소스코드</category>
			<author>행복한브라운</author>
			<guid>http://brown.ezphp.net/85</guid>
			<comments>http://brown.ezphp.net/85#entry85comment</comments>
			<pubDate>Tue, 15 Nov 2011 14:02:59 +0900</pubDate>
		</item>
		<item>
			<title>안드로이드 read-only File System read-write 모드로 변경</title>
			<link>http://brown.ezphp.net/114</link>
			<description>&lt;h3 class=&quot;post-title entry-title&quot; style=&quot;font-size: 20px; color: rgb(0, 0, 0); font-family: 'Trebuchet MS', verdana, sans-serif; line-height: 22px; text-indent: 10px; background-color: rgb(245, 245, 245); &quot;&gt;Mount a filesystem read-write&lt;/h3&gt;&lt;div class=&quot;post-header&quot; style=&quot;color: rgb(0, 0, 0); font-family: 'Trebuchet MS', verdana, sans-serif; font-size: 13px; line-height: 22px; text-indent: 10px; background-color: rgb(245, 245, 245); &quot;&gt;
&lt;div class=&quot;post-header-line-1&quot;&gt;&lt;/div&gt;
&lt;/div&gt;&lt;div class=&quot;post-body entry-content&quot; id=&quot;post-body-8628592987415482408&quot; style=&quot;color: rgb(0, 0, 0); font-family: 'Trebuchet MS', verdana, sans-serif; font-size: 13px; line-height: 22px; text-indent: 10px; background-color: rgb(245, 245, 245); &quot;&gt;
Very often when you want to write files to a particular partition on ADP1, you will get a &quot;Permission Denied&quot; if the partition is mounted read-only.&lt;br /&gt;
To get around this, you need to mount the partition read-write. Typically this is done with /system partition&lt;br /&gt;
&lt;br /&gt;$&amp;nbsp;&lt;b style=&quot;font-family: 'courier new', monospace; &quot;&gt;adb shell&lt;/b&gt;&lt;br /&gt;
$&amp;nbsp;&lt;b&gt;&lt;span style=&quot;font-family: 'courier new', monospace; &quot;&gt;su&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
$&amp;nbsp;&lt;b style=&quot;font-family: 'courier new', monospace; &quot;&gt;mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system&lt;/b&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-114-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-114-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-114-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 class=&quot;another_category another_category_color_gray&quot;&gt;
&lt;h4&gt;'&lt;a href=&quot;/category/프로그래밍&quot;&gt;프로그래밍&lt;/a&gt;&amp;nbsp;&gt;&amp;nbsp;&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;/116&quot; &gt;안드로이드 에뮬레이터 CPU type 변경&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/02/07&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/115&quot; &gt;*** glibc detected *** make: free(): invalid next size (fast)&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/01/31&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/114&quot; &gt;안드로이드 read-only File System read-write 모드로 변경&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/11/10&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/113&quot; &gt;ARM Condition Flags and Codes&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(1)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/11/07&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/112&quot; &gt;ARM Instruction Set Architecture&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/11/07&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/111&quot; &gt;안드로이드 에뮬레이터에서 asm 출력&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/11/07&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;</description>
			<category>안드로이드</category>
			<category>권한변경</category>
			<category>안드로이드</category>
			<category>에뮬레이터</category>
			<category>파일시스템</category>
			<author>행복한브라운</author>
			<guid>http://brown.ezphp.net/114</guid>
			<comments>http://brown.ezphp.net/114#entry114comment</comments>
			<pubDate>Thu, 10 Nov 2011 14:22:10 +0900</pubDate>
		</item>
		<item>
			<title>ARM Condition Flags and Codes</title>
			<link>http://brown.ezphp.net/113</link>
			<description>&lt;A href=&quot;http://blogs.arm.com/software-enablement/206-condition-codes-1-condition-flags-and-codes/&quot;&gt;http://blogs.arm.com/software-enablement/206-condition-codes-1-condition-flags-and-codes/&lt;/A&gt;&lt;br /&gt;
&lt;br /&gt;&lt;EM&gt;Posted by&lt;/EM&gt;&lt;STRONG&gt;&lt;A href=&quot;http://forums.arm.com/index.php?/user/105519-arm-jacob/&quot;&gt;&lt;FONT color=#284b72&gt;ARM Jacob&lt;/FONT&gt;&lt;/A&gt;&lt;/STRONG&gt;, 
&lt;DIV class=entry_comments_bloglist&gt;&lt;IMG alt=&quot;&quot; src=&quot;http://forums.arm.com/public/style_images/master/blog/comments.png&quot;&gt; &lt;A href=&quot;http://blogs.arm.com/software-enablement/206-condition-codes-1-condition-flags-and-codes/#comments&quot;&gt;&lt;FONT color=#284b72&gt;1 Comments&lt;/FONT&gt;&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV class=entry_date_bloglist&gt;&lt;!--[open=] - [close=] --&gt;16 July 2010 &lt;/DIV&gt;
&lt;DIV class=&quot;post entry_content entry_content_entryview&quot;&gt;
&lt;P&gt;Every practical general-purpose computing architecture has a mechanism of conditionally executing some code. Such mechanisms are used to implement the &lt;CODE&gt;if&lt;/CODE&gt; construct in C, for example, in addition to several other cases that are less obvious.&lt;/P&gt;
&lt;P&gt;ARM, like many other architectures, implements conditional execution using a set of flags which store state information about a previous operation. I intend, in this post, to shed some light on the operation of these flags. Of course, the&lt;A href=&quot;http://infocenter.arm.com/help/topic/com.arm.doc.ddi0406b/index.html&quot;&gt;&lt;FONT color=#284b72&gt;Architecture Reference Manual&lt;/FONT&gt;&lt;/A&gt;is the definitive source of information, so if you need to know about a specific corner-case that I do not cover here, that is where you need to look.&lt;/P&gt;
&lt;H3&gt;A Realistic Example&lt;/H3&gt;
&lt;P&gt;Consider a simple fragment of C code:&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;    for (i = 10; i != 0; i--) {
        do_something();
    }
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;A compiler might implement that structure as follows:&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;    mov r4, #10
loop_label:
    bl do_something
    sub r4, r4, #1
    cmp r4, #0
    bne loop_label
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;The last two instructions are of particular interest. The&lt;CODE&gt;cmp&lt;/CODE&gt; (compare) instruction compares &lt;CODE&gt;r4&lt;/CODE&gt;with &lt;CODE&gt;0&lt;/CODE&gt;, and the &lt;CODE&gt;bne&lt;/CODE&gt; instruction is simply a &lt;CODE&gt;b&lt;/CODE&gt; (branch) instruction that executes if the result of the &lt;CODE&gt;cmp&lt;/CODE&gt; instruction was &quot;not equal&quot;. The code works because &lt;CODE&gt;cmp&lt;/CODE&gt; sets some global flags indicating various properties of the operation. The&lt;CODE&gt;bne&lt;/CODE&gt; instruction — which is really just a&lt;CODE&gt;b&lt;/CODE&gt; (branch) with a &lt;CODE&gt;ne&lt;/CODE&gt; condition code suffix — reads these flags to determine whether or not to branch &lt;SUP&gt;&lt;A href=&quot;http://blogs.arm.com/software-enablement/206-condition-codes-1-condition-flags-and-codes/#FootNoteGeneralCC&quot;&gt;&lt;FONT color=#284b72&gt;1&lt;/FONT&gt;&lt;/A&gt;&lt;/SUP&gt;.&lt;/P&gt;
&lt;P&gt;The following code implements a more efficient solution:&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;    mov r4, #10
loop_label:
    bl do_something
    subs r4, r4, #1
    bne loop_label
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Adding the &lt;CODE&gt;s&lt;/CODE&gt; suffix to &lt;CODE&gt;sub&lt;/CODE&gt; causes it to update the flags itself, based on the result of the operation. This suffix can be added to many (but not all) arithmetic and logical operations&lt;SUP&gt;&lt;A href=&quot;http://blogs.arm.com/software-enablement/206-condition-codes-1-condition-flags-and-codes/#FootNoteSUpdates&quot;&gt;&lt;FONT color=#284b72&gt;2&lt;/FONT&gt;&lt;/A&gt;&lt;/SUP&gt;.&lt;/P&gt;
&lt;P&gt;In the rest of the article, I will explain what the condition flags are, where they are stored, and how to test them using condition codes.&lt;/P&gt;
&lt;H3&gt;Condition-Code Analysis Tool&lt;/H3&gt;
&lt;P&gt;If you have an ARM platform (or emulator) handy, the attached&lt;A href=&quot;http://forums.arm.com/index.php?app=core&amp;amp;module=attach&amp;amp;section=attach&amp;amp;attach_id=566&quot;&gt;&lt;FONT color=#284b72&gt;&lt;CODE&gt;ccdemo&lt;/CODE&gt; application&lt;/FONT&gt;&lt;/A&gt; can be used to experiment with the operations discussed in the article. The application allows you to pick an operation and two operands, and shows the resulting flags and a list of which condition codes will match. When writing assembly code, it can also be a rather useful development tool.&lt;/P&gt;
&lt;H3&gt;The Flags&lt;/H3&gt;
&lt;P&gt;The simplest way to set the condition flags is to use a comparison operation, such as &lt;CODE&gt;cmp&lt;/CODE&gt;. This mechanism is common to many processor architectures, and the semantics (if not the details) of &lt;CODE&gt;cmp&lt;/CODE&gt; will likely be familiar. In addition, we have already seen that many instructions (such as &lt;CODE&gt;sub&lt;/CODE&gt; in the example) can be modified to update the condition flags based on the result by adding an &lt;CODE&gt;s&lt;/CODE&gt; suffix. That's all well and good, but what information is stored, and how can we access it?&lt;/P&gt;
&lt;P&gt;The additional information is stored in four condition flag bits in the &lt;CODE&gt;APSR&lt;/CODE&gt; (&lt;EM&gt;Application Processor Status Register&lt;/EM&gt;), or the &lt;CODE&gt;CPSR&lt;/CODE&gt; (&lt;EM&gt;Current Processor Status Register&lt;/EM&gt;) if you are used to pre-ARMv7 terminology&lt;SUP&gt;&lt;A href=&quot;http://blogs.arm.com/software-enablement/206-condition-codes-1-condition-flags-and-codes/#FootNoteAPSR&quot;&gt;&lt;FONT color=#284b72&gt;3&lt;/FONT&gt;&lt;/A&gt;,&lt;A href=&quot;http://blogs.arm.com/software-enablement/206-condition-codes-1-condition-flags-and-codes/#FootNoteMSR&quot;&gt;&lt;FONT color=#284b72&gt;4&lt;/FONT&gt;&lt;/A&gt;&lt;/SUP&gt;. The flags indicate simple properties such as whether or not the result was negative, and are used in various combinations to detect higher-level relationships such as &quot;greater than&quot; and suchlike. Once I have described the flags, I will explain how they map onto condition codes (such as &lt;CODE&gt;ne&lt;/CODE&gt; in the previous example).&lt;/P&gt;
&lt;H4&gt;&lt;CODE&gt;N&lt;/CODE&gt;: Negative&lt;/H4&gt;
&lt;P&gt;The &lt;CODE&gt;N&lt;/CODE&gt; flag is set by an instruction if the result is negative. In practice, N is set to the&lt;A href=&quot;http://en.wikipedia.org/wiki/Two%27s_complement&quot;&gt;&lt;FONT color=#284b72&gt;two's complement&lt;/FONT&gt;&lt;/A&gt;sign bit of the result (bit 31).&lt;/P&gt;
&lt;H4&gt;&lt;CODE&gt;Z&lt;/CODE&gt;: Zero&lt;/H4&gt;
&lt;P&gt;The &lt;CODE&gt;Z&lt;/CODE&gt; flag is set if the result of the flag-setting instruction is zero.&lt;/P&gt;
&lt;H4&gt;&lt;CODE&gt;C&lt;/CODE&gt;: Carry (or Unsigned Overflow)&lt;/H4&gt;
&lt;P&gt;The &lt;CODE&gt;C&lt;/CODE&gt; flag is set if the result of an unsigned operation overflows the 32-bit result register. This bit can be used to implement 64-bit unsigned arithmetic, for example.&lt;/P&gt;
&lt;H4&gt;&lt;CODE&gt;V&lt;/CODE&gt;: (Signed) Overflow&lt;/H4&gt;
&lt;P&gt;The &lt;CODE&gt;V&lt;/CODE&gt; flag works the same as the &lt;CODE&gt;C&lt;/CODE&gt;flag, but for signed operations. For example,&lt;CODE&gt;0x7fffffff&lt;/CODE&gt; is the largest positive two's complement integer that can be represented in 32 bits, so&lt;CODE&gt;0x7fffffff + 0x7fffffff&lt;/CODE&gt; triggers a signed overflow, but not an unsigned overflow (or carry): the result,&lt;CODE&gt;0xfffffffe&lt;/CODE&gt;, is correct if interpreted as an unsigned quantity, but represents a negative value (&lt;CODE&gt;-2&lt;/CODE&gt;) if interpreted as a signed quantity.&lt;/P&gt;
&lt;H4&gt;Flag-Setting Example&lt;/H4&gt;
&lt;P&gt;Consider the following example:&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;    ldr r1, =0xffffffff
    ldr r2, =0x00000001
    adds r0, r1, r2
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;The result of the operation would be &lt;CODE&gt;0x100000000&lt;/CODE&gt;, but the top bit is lost because it does not fit into the 32-bit destination register and so the real result is&lt;CODE&gt;0x00000000&lt;/CODE&gt;. In this case, the flags will be set as follows:&lt;/P&gt;
&lt;TABLE&gt;
&lt;THEAD&gt;
&lt;TR&gt;
&lt;TH&gt;Flag&lt;/TH&gt;
&lt;TH&gt;Explanation&lt;/TH&gt;&lt;/TR&gt;&lt;/THEAD&gt;
&lt;TBODY&gt;
&lt;TR class=alt&gt;
&lt;TD&gt;&lt;CODE&gt;N = 0&lt;/CODE&gt;&lt;/TD&gt;
&lt;TD&gt;The result is 0, which is considered positive, and so the &lt;CODE&gt;N&lt;/CODE&gt; (negative) bit is set to&lt;CODE&gt;0&lt;/CODE&gt;.&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;CODE&gt;Z = 1&lt;/CODE&gt;&lt;/TD&gt;
&lt;TD&gt;The result is 0, so the &lt;CODE&gt;Z&lt;/CODE&gt; (zero) bit is set to &lt;CODE&gt;1&lt;/CODE&gt;.&lt;/TD&gt;&lt;/TR&gt;
&lt;TR class=alt&gt;
&lt;TD&gt;&lt;CODE&gt;C = 1&lt;/CODE&gt;&lt;/TD&gt;
&lt;TD&gt;We lost some data because the result did not fit into 32 bits, so the processor indicates this by setting &lt;CODE&gt;C&lt;/CODE&gt; (carry) to &lt;CODE&gt;1&lt;/CODE&gt;.&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;CODE&gt;V = 0&lt;/CODE&gt;&lt;/TD&gt;
&lt;TD&gt;From a two's complement signed-arithmetic viewpoint, &lt;CODE&gt;0xffffffff&lt;/CODE&gt; really means&lt;CODE&gt;-1&lt;/CODE&gt;, so the operation we did was really&lt;CODE&gt;(-1) + 1 = 0&lt;/CODE&gt;. That operation clearly does not overflow, so &lt;CODE&gt;V&lt;/CODE&gt; (overflow) is set to &lt;CODE&gt;0&lt;/CODE&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P&gt;If you fancy it, you can check this with the&lt;CODE&gt;ccdemo&lt;/CODE&gt; application. The output looks like this:&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;$ ./ccdemo adds 0xffffffff 0x1
The results (in various formats):
        Signed: -1 adds 1 = 0
      Unsigned: 4294967295 adds 1 = 0
   Hexadecimal: 0xffffffff adds 0x00000001 = 0x00000000
Flags:
  N (negative): 0
  Z (zero) : 1
  C (carry) : 1
  V (overflow): 0
Condition Codes:
  EQ: 1 NE: 0
  CS: 1 CC: 0
  MI: 0 PL: 1
  VS: 0 VC: 1
  HI: 0 LS: 1
  GE: 1 LT: 0
  GT: 0 LE: 1
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;H3&gt;Reading the Flags&lt;/H3&gt;
&lt;P&gt;We have worked out how to set the flags, but how does that result in the ability to conditionally execute some code? Being able to set the flags is pointless if you cannot then react to them.&lt;/P&gt;
&lt;P&gt;The most common method of testing the flags is to use conditional execution codes. This mechanism is similar to mechanisms used in other architectures, so if you are familiar with other machines you might recognize the following pattern, which maps cleanly onto C's &lt;CODE&gt;if/else&lt;/CODE&gt; construct:&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;    cmp r0, #20
    bhi do_something_else
do_something:
    @ This code runs if (r0 &amp;lt;= 20).
    b continue @ Prevent do_something_else from executing.
do_something_else:
    @ This code runs if (r0 &amp;gt; 20).
continue:
    @ Other code.
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;In effect, attaching one of the condition codes to an instruction causes it to execute &lt;EM&gt;if&lt;/EM&gt; the condition is true. Otherwise, it does nothing, and is essentially a&lt;CODE&gt;nop&lt;/CODE&gt;.&lt;/P&gt;
&lt;P&gt;The following table lists the available condition codes, their meanings (where the flags were set by a &lt;CODE&gt;cmp&lt;/CODE&gt; or&lt;CODE&gt;subs&lt;/CODE&gt; instruction), and the flags that are tested:&lt;/P&gt;
&lt;TABLE&gt;
&lt;THEAD&gt;
&lt;TR&gt;
&lt;TH&gt;Code&lt;/TH&gt;
&lt;TH&gt;Meaning (for &lt;CODE&gt;cmp&lt;/CODE&gt; or &lt;CODE&gt;subs&lt;/CODE&gt;)&lt;/TH&gt;
&lt;TH&gt;Flags Tested&lt;/TH&gt;&lt;/TR&gt;&lt;/THEAD&gt;
&lt;TBODY&gt;
&lt;TR class=alt&gt;
&lt;TD&gt;&lt;CODE&gt;eq&lt;/CODE&gt;&lt;/TD&gt;
&lt;TD&gt;Equal.&lt;/TD&gt;
&lt;TD&gt;&lt;CODE&gt;Z==1&lt;/CODE&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;CODE&gt;ne&lt;/CODE&gt;&lt;/TD&gt;
&lt;TD&gt;Not equal.&lt;/TD&gt;
&lt;TD&gt;&lt;CODE&gt;Z==0&lt;/CODE&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR class=alt&gt;
&lt;TD&gt;&lt;CODE&gt;cs&lt;/CODE&gt; or &lt;CODE&gt;hs&lt;/CODE&gt;&lt;/TD&gt;
&lt;TD&gt;Unsigned higher or same (or carry set).&lt;/TD&gt;
&lt;TD&gt;&lt;CODE&gt;C==1&lt;/CODE&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;CODE&gt;cc&lt;/CODE&gt; or &lt;CODE&gt;lo&lt;/CODE&gt;&lt;/TD&gt;
&lt;TD&gt;Unsigned lower (or carry clear).&lt;/TD&gt;
&lt;TD&gt;&lt;CODE&gt;C==0&lt;/CODE&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR class=alt&gt;
&lt;TD&gt;&lt;CODE&gt;mi&lt;/CODE&gt;&lt;/TD&gt;
&lt;TD&gt;Negative. The mnemonic stands for &quot;minus&quot;.&lt;/TD&gt;
&lt;TD&gt;&lt;CODE&gt;N==1&lt;/CODE&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;CODE&gt;pl&lt;/CODE&gt;&lt;/TD&gt;
&lt;TD&gt;Positive or zero. The mnemonic stands for &quot;plus&quot;.&lt;/TD&gt;
&lt;TD&gt;&lt;CODE&gt;N==0&lt;/CODE&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR class=alt&gt;
&lt;TD&gt;&lt;CODE&gt;vs&lt;/CODE&gt;&lt;/TD&gt;
&lt;TD&gt;Signed overflow. The mnemonic stands for &quot;V set&quot;.&lt;/TD&gt;
&lt;TD&gt;&lt;CODE&gt;V==1&lt;/CODE&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;CODE&gt;vc&lt;/CODE&gt;&lt;/TD&gt;
&lt;TD&gt;No signed overflow. The mnemonic stands for &quot;V clear&quot;.&lt;/TD&gt;
&lt;TD&gt;&lt;CODE&gt;V==0&lt;/CODE&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR class=alt&gt;
&lt;TD&gt;&lt;CODE&gt;hi&lt;/CODE&gt;&lt;/TD&gt;
&lt;TD&gt;Unsigned higher.&lt;/TD&gt;
&lt;TD&gt;&lt;CODE&gt;(C==1) &amp;amp;&amp;amp; (Z==0)&lt;/CODE&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;CODE&gt;ls&lt;/CODE&gt;&lt;/TD&gt;
&lt;TD&gt;Unsigned lower or same.&lt;/TD&gt;
&lt;TD&gt;&lt;CODE&gt;(C==0) || (Z==1)&lt;/CODE&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR class=alt&gt;
&lt;TD&gt;&lt;CODE&gt;ge&lt;/CODE&gt;&lt;/TD&gt;
&lt;TD&gt;Signed greater than or equal.&lt;/TD&gt;
&lt;TD&gt;&lt;CODE&gt;N==V&lt;/CODE&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;CODE&gt;lt&lt;/CODE&gt;&lt;/TD&gt;
&lt;TD&gt;Signed less than.&lt;/TD&gt;
&lt;TD&gt;&lt;CODE&gt;N!=V&lt;/CODE&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR class=alt&gt;
&lt;TD&gt;&lt;CODE&gt;gt&lt;/CODE&gt;&lt;/TD&gt;
&lt;TD&gt;Signed greater than.&lt;/TD&gt;
&lt;TD&gt;&lt;CODE&gt;(Z==0) &amp;amp;&amp;amp; (N==V)&lt;/CODE&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;CODE&gt;le&lt;/CODE&gt;&lt;/TD&gt;
&lt;TD&gt;Signed less than or equal.&lt;/TD&gt;
&lt;TD&gt;&lt;CODE&gt;(Z==1) || (N!=V)&lt;/CODE&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR class=alt&gt;
&lt;TD&gt;&lt;CODE&gt;al&lt;/CODE&gt; (or omitted)&lt;/TD&gt;
&lt;TD&gt;Always executed.&lt;/TD&gt;
&lt;TD&gt;None tested.&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P&gt;It is fairly obvious how the first few work because they test individual flags, but the others rely on specific combinations of flags. In practice, you very rarely need to know exactly what is happening; the mnemonics hide the complexity of the comparisons.&lt;/P&gt;
&lt;P&gt;Here, once again, is the example &lt;CODE&gt;for&lt;/CODE&gt;-loop code I gave earlier:&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;    mov r4, #10
loop_label:
    bl do_something
    subs r4, r4, #1
    bne loop_label
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;It should now be easy enough to work out exactly what is happening here:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;The &lt;CODE&gt;subs&lt;/CODE&gt; instruction sets the flags based on the result of &quot;&lt;CODE&gt;r4-1&lt;/CODE&gt;&quot;. In particular, the&lt;CODE&gt;Z&lt;/CODE&gt; flag will be set if the result is&lt;CODE&gt;0&lt;/CODE&gt;, and it will be clear if the result is anything else.&lt;/LI&gt;
&lt;LI&gt;The &lt;CODE&gt;bne&lt;/CODE&gt; instruction only executes if condition&lt;CODE&gt;ne&lt;/CODE&gt; is true. That condition is true if&lt;CODE&gt;Z&lt;/CODE&gt; is clear, so the &lt;CODE&gt;bne&lt;/CODE&gt; iterates the loop until &lt;CODE&gt;Z&lt;/CODE&gt; is set (and therefore &lt;CODE&gt;r4&lt;/CODE&gt;is 0).&lt;/LI&gt;&lt;/OL&gt;
&lt;H3&gt;Dedicated Comparison Instructions&lt;/H3&gt;
&lt;P&gt;The &lt;CODE&gt;cmp&lt;/CODE&gt; instruction (that we saw in the first example) can be thought of as a &lt;CODE&gt;sub&lt;/CODE&gt; instruction that doesn't store its result: if the two operands are equal, the result of the subtraction will be zero, hence the mapping between &lt;CODE&gt;eq&lt;/CODE&gt; and the &lt;CODE&gt;Z&lt;/CODE&gt; flag. Of course, we could just use a &lt;CODE&gt;sub&lt;/CODE&gt; instruction with a dummy register, but you can only do that if you have a register to spare. Dedicated comparison instructions are therefore quite commonly used.&lt;/P&gt;
&lt;P&gt;There are actually four dedicated comparison instructions available, and they perform operations as described in the following table:&lt;/P&gt;
&lt;TABLE&gt;
&lt;THEAD&gt;
&lt;TR&gt;
&lt;TH&gt;Instruction&lt;/TH&gt;
&lt;TH&gt;Description&lt;/TH&gt;&lt;/TR&gt;&lt;/THEAD&gt;
&lt;TBODY&gt;
&lt;TR class=alt&gt;
&lt;TD&gt;&lt;CODE&gt;cmp&lt;/CODE&gt;&lt;/TD&gt;
&lt;TD&gt;Works like &lt;CODE&gt;subs&lt;/CODE&gt;, but does not store the result.&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;CODE&gt;cmn&lt;/CODE&gt;&lt;/TD&gt;
&lt;TD&gt;Works like &lt;CODE&gt;adds&lt;/CODE&gt;, but does not store the result.&lt;/TD&gt;&lt;/TR&gt;
&lt;TR class=alt&gt;
&lt;TD&gt;&lt;CODE&gt;tst&lt;/CODE&gt;&lt;/TD&gt;
&lt;TD&gt;Works like &lt;CODE&gt;ands&lt;/CODE&gt;, but does not store the result.&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;CODE&gt;teq&lt;/CODE&gt;&lt;/TD&gt;
&lt;TD&gt;Works like &lt;CODE&gt;eors&lt;/CODE&gt;, but does not store the result.&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P&gt;Note that the dedicated comparison operations do not require the&lt;CODE&gt;s&lt;/CODE&gt; suffix; they &lt;EM&gt;only&lt;/EM&gt; update the flags, so the suffix would be redundant.&lt;/P&gt;
&lt;H3&gt;End Note&lt;/H3&gt;
&lt;P&gt;Whilst the condition flag mechanism is fairly simple in principle, there are a lot of details to take in, and seeing some real examples will probably be useful! I will make a point of presenting some examples of realistic usage in a future blog post.&lt;/P&gt;&lt;A title=&quot;Download attachment&quot; href=&quot;http://forums.arm.com/index.php?app=core&amp;amp;module=attach&amp;amp;section=attach&amp;amp;attach_id=566&quot;&gt;&lt;IMG alt=&quot;Attached File&quot; src=&quot;http://forums.arm.com/public/style_extra/mime_types/zip.gif&quot;&gt;&lt;/A&gt; &lt;A title=&quot;Download attachment&quot; href=&quot;http://forums.arm.com/index.php?app=core&amp;amp;module=attach&amp;amp;section=attach&amp;amp;attach_id=566&quot;&gt;&lt;FONT color=#284b72&gt;ccdemo.tar.gz&lt;/FONT&gt;&lt;/A&gt; &lt;FONT size=3&gt;&lt;FONT color=#606060&gt;&lt;SPAN class=desc&gt;&lt;STRONG&gt;(4.4K)&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;br /&gt;
&lt;SPAN class=&quot;desc info&quot;&gt;Number of downloads: 237&lt;/SPAN&gt;&lt;br /&gt;
&lt;br /&gt;&lt;/FONT&gt;&lt;/FONT&gt;
&lt;H3&gt;Other Related Blogs&lt;/H3&gt;
&lt;P&gt;&lt;A class=bbc_url title=&quot;External link&quot; href=&quot;http://blogs.arm.com/software-enablement/condition-codes-2-conditional-execution/&quot; rel=&quot;nofollow external&quot;&gt;&lt;FONT color=#284b72&gt;Condition Codes 2: Conditional Execution&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;&lt;FONT color=#284b72&gt;
&lt;HR&gt;
&lt;/FONT&gt;
&lt;DIV class=footnote&gt;&lt;A class=footnote_tag href=&quot;http://blogs.arm.com/software-enablement/206-condition-codes-1-condition-flags-and-codes/#FootNoteGeneralCC&quot; name=FootNoteGeneralCC&gt;&lt;FONT color=#284b72&gt;1&lt;/FONT&gt;&lt;/A&gt;
&lt;P&gt;Technically, most instructions can be executed conditionally, not just branches. However, I will discuss such conditional execution in more detail in another article.&lt;/P&gt;&lt;/DIV&gt;
&lt;DIV class=footnote&gt;&lt;A class=footnote_tag href=&quot;http://blogs.arm.com/software-enablement/206-condition-codes-1-condition-flags-and-codes/#FootNoteSUpdates&quot; name=FootNoteSUpdates&gt;&lt;FONT color=#284b72&gt;2&lt;/FONT&gt;&lt;/A&gt;
&lt;P&gt;The&lt;A href=&quot;http://infocenter.arm.com/help/topic/com.arm.doc.qrc0001m/index.html?resultof=%22%71%75%69%63%6b%22%20%22%72%65%66%65%72%65%6e%63%65%22%20%22%72%65%66%65%72%22%20&quot;&gt;&lt;FONT color=#284b72&gt;Instruction Set Quick Reference Card&lt;/FONT&gt;&lt;/A&gt;summarises the flag-setting abilities of each instruction. The&lt;A href=&quot;http://infocenter.arm.com/help/topic/com.arm.doc.ddi0406b/index.html&quot;&gt;&lt;FONT color=#284b72&gt;Architecture Reference Manual&lt;/FONT&gt;&lt;/A&gt;contains detailed information about exactly how the flags are updated for each instruction.&lt;/P&gt;&lt;/DIV&gt;
&lt;DIV class=footnote&gt;&lt;A class=footnote_tag href=&quot;http://blogs.arm.com/software-enablement/206-condition-codes-1-condition-flags-and-codes/#FootNoteAPSR&quot; name=FootNoteAPSR&gt;&lt;FONT color=#284b72&gt;3&lt;/FONT&gt;&lt;/A&gt;
&lt;P&gt;The &lt;CODE&gt;APSR&lt;/CODE&gt; and &lt;CODE&gt;CPSR&lt;/CODE&gt; are actually the same on ARMv7, despite having separate names, but only the condition codes and one or two other bits are defined for the &lt;CODE&gt;APSR&lt;/CODE&gt;. The other bits should not really be accessed directly anyway, so the renaming is essentially a clean-up of the old mixed-access &lt;CODE&gt;CPSR&lt;/CODE&gt;. Note, however, that GCC (4.3.3 at least) does not accept&lt;CODE&gt;APSR&lt;/CODE&gt;, so you have to use &lt;CODE&gt;CPSR&lt;/CODE&gt; in your assembly source if you want to access it.&lt;/P&gt;&lt;/DIV&gt;
&lt;DIV class=footnote&gt;&lt;A class=footnote_tag href=&quot;http://blogs.arm.com/software-enablement/206-condition-codes-1-condition-flags-and-codes/#FootNoteMSR&quot; name=FootNoteMSR&gt;&lt;FONT color=#284b72&gt;4&lt;/FONT&gt;&lt;/A&gt;
&lt;P&gt;In general, you will very rarely need to directly access the &lt;CODE&gt;APSR&lt;/CODE&gt; because the condition codes give you the functionality you usually need from them anyway. However, if you really want to see what is in there, you can access it using the &lt;CODE&gt;msr&lt;/CODE&gt; and&lt;CODE&gt;mrs&lt;/CODE&gt; instructions. Indeed, this is the method that the &lt;CODE&gt;ccdemo&lt;/CODE&gt; application uses to give information about the specified operation.&lt;/P&gt;&lt;/DIV&gt;Shortlink to this post: &lt;A class=bbc_url title=&quot;External link&quot; href=&quot;http://bit.ly/9XZAC0&quot; rel=&quot;nofollow external&quot;&gt;&lt;FONT color=#284b72&gt;http://bit.ly/9XZAC0&lt;/FONT&gt;&lt;/A&gt; &lt;!--IBF.ATTACHMENT_206--&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-113-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-113-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-113-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 class=&quot;another_category another_category_color_gray&quot;&gt;
&lt;h4&gt;'&lt;a href=&quot;/category/프로그래밍&quot;&gt;프로그래밍&lt;/a&gt;&amp;nbsp;&gt;&amp;nbsp;&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;/116&quot; &gt;안드로이드 에뮬레이터 CPU type 변경&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/02/07&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/115&quot; &gt;*** glibc detected *** make: free(): invalid next size (fast)&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/01/31&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/114&quot; &gt;안드로이드 read-only File System read-write 모드로 변경&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/11/10&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/113&quot; &gt;ARM Condition Flags and Codes&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(1)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/11/07&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/112&quot; &gt;ARM Instruction Set Architecture&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/11/07&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/111&quot; &gt;안드로이드 에뮬레이터에서 asm 출력&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/11/07&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;</description>
			<category>안드로이드</category>
			<author>행복한브라운</author>
			<guid>http://brown.ezphp.net/113</guid>
			<comments>http://brown.ezphp.net/113#entry113comment</comments>
			<pubDate>Mon, 07 Nov 2011 20:57:27 +0900</pubDate>
		</item>
		<item>
			<title>ARM Instruction Set Architecture</title>
			<link>http://brown.ezphp.net/112</link>
			<description>&lt;br /&gt;

&lt;H3 class=r&gt;&lt;A class=l href=&quot;http://www.google.co.kr/url?sa=t&amp;amp;rct=j&amp;amp;q=arm%20instruction%20set&amp;amp;source=web&amp;amp;cd=2&amp;amp;sqi=2&amp;amp;ved=0CFYQFjAB&amp;amp;url=http%3A%2F%2Fsimplemachines.it%2Fdoc%2FQRC0001H_rvct_v2.1_arm.pdf&amp;amp;ei=Qay3TrCZNo2viQePsaiZAg&amp;amp;usg=AFQjCNF3CYZa2d38ZLR5sZ4oeU4zxgMXPw&amp;amp;cad=rjt&quot; target=_blank&gt;&lt;FONT color=#1122cc&gt;ARM® Instruction Set Quick Reference Card&lt;/FONT&gt;&lt;/A&gt;&lt;/H3&gt;&lt;A href=&quot;http://simplemachines.it/doc/QRC0001H_rvct_v2.1_arm.pdf&quot;&gt;http://simplemachines.it/doc/QRC0001H_rvct_v2.1_arm.pdf&lt;/A&gt;&lt;br /&gt;

&lt;H3 class=r&gt;&amp;nbsp;&lt;/H3&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-112-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-112-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-112-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 class=&quot;another_category another_category_color_gray&quot;&gt;
&lt;h4&gt;'&lt;a href=&quot;/category/프로그래밍&quot;&gt;프로그래밍&lt;/a&gt;&amp;nbsp;&gt;&amp;nbsp;&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;/116&quot; &gt;안드로이드 에뮬레이터 CPU type 변경&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/02/07&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/115&quot; &gt;*** glibc detected *** make: free(): invalid next size (fast)&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/01/31&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/114&quot; &gt;안드로이드 read-only File System read-write 모드로 변경&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/11/10&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/113&quot; &gt;ARM Condition Flags and Codes&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(1)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/11/07&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/112&quot; &gt;ARM Instruction Set Architecture&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/11/07&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/111&quot; &gt;안드로이드 에뮬레이터에서 asm 출력&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/11/07&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;</description>
			<category>안드로이드</category>
			<category>ARM</category>
			<category>ISA</category>
			<author>행복한브라운</author>
			<guid>http://brown.ezphp.net/112</guid>
			<comments>http://brown.ezphp.net/112#entry112comment</comments>
			<pubDate>Mon, 07 Nov 2011 19:02:36 +0900</pubDate>
		</item>
		<item>
			<title>안드로이드 에뮬레이터에서 asm 출력</title>
			<link>http://brown.ezphp.net/111</link>
			<description>emulator &amp;lt;AVD name&amp;gt; -qemu -d in_asm&lt;br /&gt;
&lt;br /&gt;출력은 /tmp/qemu.log&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-111-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-111-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-111-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 class=&quot;another_category another_category_color_gray&quot;&gt;
&lt;h4&gt;'&lt;a href=&quot;/category/프로그래밍&quot;&gt;프로그래밍&lt;/a&gt;&amp;nbsp;&gt;&amp;nbsp;&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;/116&quot; &gt;안드로이드 에뮬레이터 CPU type 변경&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/02/07&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/115&quot; &gt;*** glibc detected *** make: free(): invalid next size (fast)&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/01/31&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/114&quot; &gt;안드로이드 read-only File System read-write 모드로 변경&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/11/10&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/113&quot; &gt;ARM Condition Flags and Codes&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(1)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/11/07&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/112&quot; &gt;ARM Instruction Set Architecture&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/11/07&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/111&quot; &gt;안드로이드 에뮬레이터에서 asm 출력&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/11/07&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;</description>
			<category>안드로이드</category>
			<category>Instruction</category>
			<category>안드로이드</category>
			<category>에뮬레이터</category>
			<author>행복한브라운</author>
			<guid>http://brown.ezphp.net/111</guid>
			<comments>http://brown.ezphp.net/111#entry111comment</comments>
			<pubDate>Mon, 07 Nov 2011 18:55:18 +0900</pubDate>
		</item>
		<item>
			<title>[뇌를 자극하는 PHP 프로그래밍] 458페이지</title>
			<link>http://brown.ezphp.net/110</link>
			<description>&lt;P&gt;책 458페이지 코드 115번줄에 다음과 같은 코드가 있습니다.&lt;br /&gt;
&lt;br /&gt;$result=mysql_query(&quot;update testboard set see=see+1 where id=$id&quot;, $conn); &lt;br /&gt;
&lt;br /&gt;이 코드는 다음과 같이 수정되어야 합니다.&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;$result=mysql_query(&quot;update &lt;STRONG&gt;board&lt;/STRONG&gt; set &lt;STRONG&gt;view=view+1&lt;/STRONG&gt; where id=$id&quot;, $conn); &lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;이 부분은 제가 테스트시 작성하였던 코드인데 그대로 소스에 반영이 되어 버렸네요.&lt;br /&gt;
&lt;br /&gt;책으로 펴내면서 코드를 조금 다듬다가 미쳐 수정하지 못한 부분입니다.&lt;br /&gt;
&lt;br /&gt;정말 죄송합니다.&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
이 오류는 일당천님께서&amp;nbsp;알려주셨습니다. 정말 감사드립니다.&lt;/P&gt;
&lt;P&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-110-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-110-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-110-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 class=&quot;another_category another_category_color_gray&quot;&gt;
&lt;h4&gt;'&lt;a href=&quot;/category/책&quot;&gt;책&lt;/a&gt;&amp;nbsp;&gt;&amp;nbsp;&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;/110&quot; &gt;[뇌를 자극하는 PHP 프로그래밍] 458페이지&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(1)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/09/27&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/109&quot; &gt;[뇌를자극하는 PHP프로그래밍] 3장에서 사용하는 form.php 소스코드&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/04/26&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/101&quot; &gt;[뇌를자극하는 PHP프로그래밍] 357페이지&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2010/09/15&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/100&quot; &gt;[뇌를자극하는 PHP프로그래밍] 306페이지&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2010/09/15&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/99&quot; &gt;[뇌를자극하는 PHP프로그래밍] 292페이지&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2010/09/15&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/98&quot; &gt;[뇌를자극하는 PHP프로그래밍] 146페이지&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2010/07/27&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;</description>
			<category>바로잡습니다</category>
			<author>행복한브라운</author>
			<guid>http://brown.ezphp.net/110</guid>
			<comments>http://brown.ezphp.net/110#entry110comment</comments>
			<pubDate>Tue, 27 Sep 2011 16:40:58 +0900</pubDate>
		</item>
		<item>
			<title>[뇌를자극하는 PHP프로그래밍] 3장에서 사용하는 form.php 소스코드</title>
			<link>http://brown.ezphp.net/109</link>
			<description>3장에서 폼으로부터 넘어온 값을 확인할 수 있는 form.php 파일입니다. &lt;br /&gt;
&lt;PRE class=brush:php&gt;
&amp;lt;pre&amp;gt;
&amp;lt;?
&amp;nbsp;&amp;nbsp;&amp;nbsp; print_r($_GET);
&amp;nbsp;&amp;nbsp;&amp;nbsp; print_r($_POST);
&amp;nbsp;&amp;nbsp;&amp;nbsp; print_r($_FILES);
?&amp;gt;
&amp;lt;/pre&amp;gt;
&lt;/PRE&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-109-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-109-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-109-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 class=&quot;another_category another_category_color_gray&quot;&gt;
&lt;h4&gt;'&lt;a href=&quot;/category/책&quot;&gt;책&lt;/a&gt;&amp;nbsp;&gt;&amp;nbsp;&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;/110&quot; &gt;[뇌를 자극하는 PHP 프로그래밍] 458페이지&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(1)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/09/27&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/109&quot; &gt;[뇌를자극하는 PHP프로그래밍] 3장에서 사용하는 form.php 소스코드&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/04/26&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/101&quot; &gt;[뇌를자극하는 PHP프로그래밍] 357페이지&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2010/09/15&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/100&quot; &gt;[뇌를자극하는 PHP프로그래밍] 306페이지&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2010/09/15&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/99&quot; &gt;[뇌를자극하는 PHP프로그래밍] 292페이지&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2010/09/15&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/98&quot; &gt;[뇌를자극하는 PHP프로그래밍] 146페이지&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2010/07/27&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;</description>
			<category>바로잡습니다</category>
			<author>행복한브라운</author>
			<guid>http://brown.ezphp.net/109</guid>
			<comments>http://brown.ezphp.net/109#entry109comment</comments>
			<pubDate>Tue, 26 Apr 2011 17:32:10 +0900</pubDate>
		</item>
		<item>
			<title>최초의 모바일용 듀얼코어 NVIDIA Tegra2 성능과 전력소비</title>
			<link>http://brown.ezphp.net/107</link>
			<description>&lt;DIV style=&quot;BORDER-BOTTOM: #9fd331 1px dashed; BORDER-LEFT: #9fd331 1px dashed; PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #e7fdb5; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; BORDER-TOP: #9fd331 1px dashed; BORDER-RIGHT: #9fd331 1px dashed; PADDING-TOP: 10px&quot; class=txc-textbox&gt;Reference : The Benefits of Multiple CPU Cores in Mobile Devices (from NVIDIA)&lt;br /&gt;
&lt;A href=&quot;http://www.nvidia.com/content/PDF/tegra_white_papers/Benefits-of-Multi-core-CPUs-in-Mobile-Devices_Ver1.2.pdf&quot;&gt;http://www.nvidia.com/content/PDF/tegra_white_papers/Benefits-of-Multi-core-CPUs-in-Mobile-Devices_Ver1.2.pdf&lt;/A&gt;&lt;br /&gt;
&lt;/DIV&gt;&lt;br /&gt;
LG에서 최근에 출시한 수퍼 스마트폰 &quot;2X&quot;는 NVIDIA에서 만든 Tegra2 프로세서를 사용하고 있다. 이 프로세서는 1GHz 듀얼코어 CPU로 최초의 모바일용 듀얼코어 프로세서이다. 최근 뉴스에는 올 연말까지 총 5개의 업체가 쿼드코어 스마트폰을 준비하고 있다는 소식을 전한바있다. 물론 이들 업체가 주력으로 쿼드코어 스마트폰을 미는 것은 아니고 주력은 듀얼코어 스마트폰이라고 한다. 그렇다는 것은 올 상반기엔 LG 뿐만이 아니라 다른 제조사들도 듀얼코어 CPU를 채택한 고성능 스마트폰이 줄줄이 나오게 될 것을 암시한다.&lt;br /&gt;
&lt;br /&gt;
&lt;DIV style=&quot;TEXT-ALIGN: center&quot;&gt;현재 싱글코어에서 듀얼코어 혹은 그 이상의 멀티코어 스마트폰으로 옮겨가는 것이 옳은 결정인걸까?&amp;nbsp;&lt;br /&gt;
&lt;/DIV&gt;
&lt;DIV style=&quot;TEXT-ALIGN: left&quot;&gt;&lt;br /&gt;
PC 시장에서는 이견이 없다. 이미 널리 알려진바와 같이 싱글코어의 속도(Clock Frequency)를 높이는 것은 파워 문제로 인해서 포기한지 오래다. 사실 10여년전만해도 지금쯤 10GHz CPU가 등장할거라 예측했었다. 하지만 파워문제로 클럭을 올리는 것보다는 코어수를 늘리는 방향으로 전환되었다. 그렇다면 스마트폰은?&lt;br /&gt;
&lt;br /&gt;현재 갤럭시S를 포함하여 많은 고급형 스마트폰들이 Arm Cortex A8 기반의 1GHz CPU를 사용하고 있다. 모바일 환경에서&amp;nbsp;1GHz라는 것은&amp;nbsp;크게 문제되지 않을 수 있으나 점차 고성능을 요구하는 게임이나 다양한 어플리케이션의 멀티태스킹 환경 그리고 웹브라우징의 속도 개선 등을 위해서 1GHz는 약간 부족함이 없지 않다. 사실 현재&amp;nbsp;갤럭시S 등에서 프로그램을 설치하거나 프로그램을 사용하다보면 간혹 끊김현상이 발생하는 것을&amp;nbsp;어렵지않게 볼 수 있다. &lt;br /&gt;
&lt;br /&gt;만약 이러한 문제를 해결하기 위해서 클럭 속도를 높이게 되면 어떻게 될까? 1GHz 모바일 CPU를 통 크게 전압을 두배 올려서 2GHz 모바일 CPU를 사용한다고 가정을 해보자. (대략적인 값으로 실제와는 약간의 차이가 있다.)&lt;br /&gt;
&lt;br /&gt;&lt;/DIV&gt;
&lt;DIV style=&quot;TEXT-ALIGN: center&quot;&gt;Dynamic Power&amp;nbsp;= CV&lt;SUP&gt;2&lt;/SUP&gt;F &lt;/DIV&gt;
&lt;DIV style=&quot;TEXT-ALIGN: left&quot;&gt;
&lt;DIV class=autosourcing-stub&gt;
&lt;P style=&quot;PADDING-BOTTOM: 0px; FONT-STYLE: normal; MARGIN: 11px 0px 7px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Dotum; FONT-SIZE: 12px; FONT-WEIGHT: normal; PADDING-TOP: 0px&quot;&gt;위의 Dynamic Power 공식에 따라서 V가 2배 F가 2배 증가하였으므로 총 8배의 전력소비가 발생하게 된다. 단순히 말하면 1GHz로 8시간가는 배터리일 경우에 2GHz로 1시간밖에 동작을 안한다는 의미이다. 전력 공급을 지속적으로 받는 PC에서는 큰 문제가 아닐지 몰라도 모바일 환경에서 배터리의 급격한 소모는 큰일이 아닐 수 없다. 따라서 배터리의 획기적인 발전이 없는 이상 클럭을 올리는 것은 무모하다. 즉, 스마트폰 환경에서도 성능 향상을 꾀하기 위해서는 멀티코어 전략을 사용할 수 밖에 없다는 것이다.&lt;br /&gt;
&lt;br /&gt;그래서 LG는 지난해말 옵티머스 마하를 출시하였는데 옵티머스 마하는&amp;nbsp;어플리케이션 코어로 OMAP 3630 1GHz를 사용하고 통신을 담당하는 모뎀칩셋 MDM6600을 더불어 사용함으로써 성능향상을 꾀했다. 그러나 얼마지나지않아 듀얼코어 2X가 출시되는 바람에 묻혀버리게 되었다. 그럼 2X가 사용하는 Tegra2 프로세서에 대한 성능을 좀 살펴보자.&lt;br /&gt;
&lt;br /&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile3.uf.tistory.com/original/14570A4B4D50CBE205FAA6&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile3.uf.tistory.com/image/14570A4B4D50CBE205FAA6&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;tegra2.png&quot; height=&quot;376&quot; width=&quot;667&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile27.uf.tistory.com/original/1363C34D4D50CC5B07DAE3&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile27.uf.tistory.com/image/1363C34D4D50CC5B07DAE3&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;tegra2-1.png&quot; height=&quot;378&quot; width=&quot;685&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
대충봐도(헐.. 이런식으로 발표하면 교수님께 엄청 혼나는디 ㅋㅋ) Tegra2가 다른 Cortex A8 기반의 프로세서에 비해서 1.5~2배 정도의 성능 향상이 있는 것을 알 수 있다. 그리고 코어의 수에 따른 성능 향상을 정확히 보기 위해서는 Architecture가 다른 프로세서와의 비교는 큰 의미는 없고 Tegra2의 single core 성능과 비교해보는 것이 더 바람직하다. 여기에 첨부하지는 않지만 single core와 dual core의 성능 차이는 대략 1.4 ~ 2배의 성능향상을 보이고 있다. 성능 향상은 어떻게 보면 너무나 당연하기 때문에 간략히 넘어가고 가장 큰 문제인 파워에 대해서 살펴보자.&lt;br /&gt;
&lt;br /&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile4.uf.tistory.com/original/145CDB4B4D50D0840D64C9&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile4.uf.tistory.com/image/145CDB4B4D50D0840D64C9&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;power.png&quot; height=&quot;606&quot; width=&quot;656&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
NVIDIA는 코어 수의 증가로 인해서 파워 소비가 더 커질 것이란 우려에 대해 그것은 기우에 지나지 않는다며 위의 그림을 제시하고 있다. 이는 앞서 Dynamic Power 계산한 것과 동일한 이론이다. single core로 1.1V에서 1GHz로 동작하는 경우 소비되는 파워를 P라고 했을 때 dual core에서 두개의 코어가 작업을 분산하여 약 50%씩 나눠서 작업을 하게 되면 Dynamic Power 공식에 의해서 약 0.58P 정도의 전력이 소모된다.&amp;nbsp;single core를 사용하는 것보다 dual core를 사용하는 것이 오히려&amp;nbsp;약 40%의 전력소비가 줄어든다는 말이다.&lt;/P&gt;&lt;/DIV&gt;&lt;/DIV&gt;
&lt;DIV style=&quot;TEXT-ALIGN: center&quot;&gt;빠르고 전력소모까지 적으니 오~ 그렇다면 듀얼코어가 훨씬 좋은건가?&lt;br /&gt;
&lt;br /&gt;&lt;/DIV&gt;
&lt;DIV style=&quot;TEXT-ALIGN: left&quot;&gt;그러나 이는 가장 좋은 예일뿐 실제와는 다소 차이가 있지 않을까 생각된다. 성능에서의 문제가 아니라 파워 측면에서 전력소비가 더 적다는 것은 약간 의심스럽다. Single Core의 경우에는 1GHz에 대한 성능 제한이 있다. 오버클럭킹을 하지 않는 이상 (실제 1GHz Arm CPU들을&amp;nbsp;1.2GHz 정도까지 오버클럭킹해서 사용하는 경우도 있다.) 1GHz 이상의 컴퓨팅 파워가 필요한 프로그램에 대해서도 1GHz로 동작하게 된다. 그렇기때문에 다소 처리가 늦어질 수 있다. 그러나 1GHz Core 두개를 가진 Tegra2의 경우 컴퓨팅 파워가 1GHz 이상 필요한 프로그램에 대해서 (만약 이 프로그램이 멀티쓰레딩이 적절히 이루어지고 있다고 했을 때) 최악의 경우 두 core 모두 1GHz로 동작할 수 있다. 물론 성능 측면에서는 끊김없이 빠르게 수행이 가능하겠지만 두 Core가 모두 1GHz로 동작하게 되면서 파워소비는 2배로 증가할 수 밖에 없게 된다. 한 Core가 1GHz로 동작하고 다른 Core가 400MHz로 동작하게 되어도 400MHz로 동작하는 Core의 파워 소비만큼은 Single Core에 비해서 더 소비되는 것은 어쩔 수가 없다.&lt;br /&gt;
&lt;br /&gt;작업(Workload)이&amp;nbsp;두개의 Core에서 비슷한 비율로 적절히 분산된다고 가정하고 &quot;발 계산&quot;(매우 중요! 정말 대충 계산했음)을 해보면 대략적으로 두개의 Core가 약 700MHz로 동작할때까지는 single core에서 1GHz로 동작하는 전력소비와 비슷하다고 볼 수 있다. 따라서 듀얼 코어 스마트폰의 성패는 얼마나 잘 작업(Workload)을 분산시키느냐가 관건이라고 볼 수 있다.&amp;nbsp;하지만&amp;nbsp;대부분의 앱 개발자들은 싱글코어를 감안하고 멀티코어를 고려하지 않기 때문에 작업이 얼마나 잘 분산될지는 미지수이다.&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;2X의 경우도 이러한 문제로 고민이 많았을 것으로 생각된다. 사실 전력소비 문제 뿐만이 아니라 발열 문제도 큰 이슈이니 정말 엔지니어들의 고생 시나리오는 안봐도 비디오다. NVIDIA의 이상적인 설명에 대한 진위는 2X 실 사용자들이 몸소 체험하게 될 것이니 여기서 멈추도록 하자. (관계자의 말이 사실이라면 2X는 성능 이득을 조금 줄여서 파워 소모를 줄였다고 한다. 하지만 single core에 비해선 파워 소모가 더 크다고... 믿거나 말거나 ㅋㅋ)&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-107-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-107-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-107-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 class=&quot;another_category another_category_color_gray&quot;&gt;
&lt;h4&gt;'&lt;a href=&quot;/category/잡다한%20이야기&quot;&gt;잡다한 이야기&lt;/a&gt;&amp;nbsp;&gt;&amp;nbsp;&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;/120&quot; &gt;Linux shell 디렉토리 이동 프로그램&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/03/30&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/119&quot; &gt;ARMv7 Hardware Performance Counter Events&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/03/26&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/107&quot; &gt;최초의 모바일용 듀얼코어 NVIDIA Tegra2 성능과 전력소비&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/02/08&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/103&quot; &gt;일드 역대 시청률 순위&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/01/10&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/71&quot; &gt;DCF를 MP3로 변환할 수 없는 이유&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(18)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2009/11/12&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/63&quot; &gt;버스 목적지에 도착하면 알려주는 프로그램&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2009/10/26&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;</description>
			<category>토막 정보</category>
			<category>2X</category>
			<category>Tegra2</category>
			<category>듀얼코어</category>
			<category>스마트폰</category>
			<category>테크라2</category>
			<author>행복한브라운</author>
			<guid>http://brown.ezphp.net/107</guid>
			<comments>http://brown.ezphp.net/107#entry107comment</comments>
			<pubDate>Tue, 08 Feb 2011 14:54:47 +0900</pubDate>
		</item>
		<item>
			<title>고추장 가격의 진실은? - 할인 아닌 할인의 실체</title>
			<link>http://brown.ezphp.net/106</link>
			<description>&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile22.uf.tistory.com/original/167DA7544D457EDE20D581&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile22.uf.tistory.com/image/167DA7544D457EDE20D581&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;2011-01-29 20.54.22.jpg&quot; height=&quot;480&quot; width=&quot;640&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;오늘 이마트에 장을 보러갔다. 떡볶이를 만들어 먹을까 하고 고추장을 사러갔는데 마침 대문짝만하게 할인 광고를 하고 있다. 위의 사진에도 나오지만 &quot;누구도 따라올 수 없는 가격 이마트는 매일 가격조사를 통해 늘 낮은 가격으로 드립니다.&quot;라는 문구가 써있다. 사진은 찍지 않아서 올리지 않았지만 사실 이 고추장 코너에는 다른 상품과 구별되게 빨간 테두리가&amp;nbsp;쳐져있었고 천정에는 크게 할인중이라는 패널이 매달려있었다.&lt;br /&gt;
&lt;br /&gt;&quot;아싸~ 마침 할인 중이네 언능사야쥥~ 잇힝~ 나는 운좋은 도시 남자! 운도남!! 우후훗~&quot;&lt;br /&gt;
&lt;br /&gt;요즘 밀가루로 고추장 만들어왔다는 이야기는 광고 등으로 많이 들어왔는데 게다가 할인 상품이 &quot;우리쌀&quot; 찰고추장이다. ㅎㅎ&lt;br /&gt;
거기다 사진에는 없지만 500g 용량의 된장과 고추장도 덤으로 붙어 있었다. ㅋㅋㅋㅋ 오~ 대박!&lt;br /&gt;
불만제로 정신을 발휘하여 뒤에 원재료 목록까지&amp;nbsp;유심히 살펴봤다.&lt;br /&gt;
&lt;br /&gt;우리쌀은 우리쌀인데 고추양념이 중국산이더라. 고추가루와 고추양념이 들어가는데 (비슷한 비율로 들어가고 합이 11%정도 된다.) 고추가루는 국산 고추가루인데 고추 양념이 중국산이었다. 아잉~ 다 국산인데 왜 고추 양념만 중국산이얏~! 다른 제품도 찾아봐야징~&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;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile23.uf.tistory.com/original/197DA7544D457EDE1FDD23&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile23.uf.tistory.com/image/197DA7544D457EDE1FDD23&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;2011-01-29 20.54.09.jpg&quot; height=&quot;525&quot; width=&quot;700&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
동일제품 2Kg 용량이 9440원인거다. 흠... 모르겠다고? 다시 위를 보시라!&lt;br /&gt;
&lt;br /&gt;동일제품 3Kg 용량이 24000원이다. 1Kg이 늘었는데 14560원이나 늘었다.&lt;br /&gt;
간단히 2Kg 두개를 사도 2만원이 안된다. 근데 3Kg에 24000원이라니 -_-;;;;;&lt;br /&gt;
잘 살펴보면 조그만 글씨로 2Kg은 100g당 472원, 3Kg은 100g당 800원이라고 써있다.&lt;br /&gt;
&lt;br /&gt;즉, 덤으로 고추장 된장 500g짜리 더 주고 만원이나 더 받아먹는단 소리다. (2Kg 가격 기준 3Kg 가격은 14160원이다)&lt;br /&gt;
결국 두개 합쳐도 만원은 택도 없는 보너스 상품을 미끼로 더 비싸게 팔아먹고 있었단 소리!&lt;br /&gt;
&lt;br /&gt;정말 &quot;누구도 따라올 수 없는 가격&quot;이다. -_-;;; 이마트 정신차려라!&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-106-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-106-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-106-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 class=&quot;another_category another_category_color_gray&quot;&gt;
&lt;h4&gt;'&lt;a href=&quot;/category/잡다한%20이야기&quot;&gt;잡다한 이야기&lt;/a&gt;&amp;nbsp;&gt;&amp;nbsp;&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;/106&quot; &gt;고추장 가격의 진실은? - 할인 아닌 할인의 실체&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/01/31&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/61&quot; &gt;칠레산 와인 : Casillero del Diablo Carmenere&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2009/09/10&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/59&quot; &gt;칠레산 와인 : 트리오 까베르네 쇼비뇽&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2009/04/20&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;</description>
			<category>음식 이야기</category>
			<category>가격</category>
			<category>고추장</category>
			<category>이마트</category>
			<category>할인</category>
			<author>행복한브라운</author>
			<guid>http://brown.ezphp.net/106</guid>
			<comments>http://brown.ezphp.net/106#entry106comment</comments>
			<pubDate>Mon, 31 Jan 2011 00:29:39 +0900</pubDate>
		</item>
		<item>
			<title>스마트폰 시장 동향 : 안드로이드폰 vs. 아이폰 승자는?</title>
			<link>http://brown.ezphp.net/105</link>
			<description>&lt;DIV style=&quot;BORDER-BOTTOM: #9fd331 1px dashed; BORDER-LEFT: #9fd331 1px dashed; PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #e7fdb5; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; BORDER-TOP: #9fd331 1px dashed; BORDER-RIGHT: #9fd331 1px dashed; PADDING-TOP: 10px&quot; class=txc-textbox&gt;
&lt;CENTER&gt;모든 근거 자료는 Nielson Company의 미국내 조사 결과를 바탕으로 하고 있습니다.&lt;/CENTER&gt;&lt;/DIV&gt;&lt;br /&gt;
&lt;br /&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile25.uf.tistory.com/original/182B55584D3928E20712B7&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile25.uf.tistory.com/image/182B55584D3928E20712B7&quot; alt=&quot;&quot; filemime=&quot;image/png&quot; filename=&quot;us-mobile-market-oct2010-2.png&quot; height=&quot;331&quot; width=&quot;565&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
2010년 기준으로 2011년 스마트폰으로 핸드폰을 바꾸고자 하는 소비자의 조사 자료이다. 위의 자료를 보면 아이폰이 약간&amp;nbsp;안드로이드폰 보다 우위를 차지하고 있으나 거의 동률(오차범위를 고려하면)을 차지한다고 볼 수 있다. 현재 안드로이드폰의 보급률이 아이폰을 넘어섰고 핸드폰 벤더들과 통신사들이 안드로이드폰을 전략적으로 공급하고 있기때문에 이 결과는&amp;nbsp;조만간 뒤집혀질 가능성이 매우 높다. (미국내 특성상 RIM의 블랙베리가 3위를 차지하고 있는데 이는 전 세계적인 시장을 고려해보면 무시해도 된다.)&lt;br /&gt;
&lt;br /&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile3.uf.tistory.com/original/182DFE584D3928E3017070&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile3.uf.tistory.com/image/182DFE584D3928E3017070&quot; alt=&quot;&quot; filemime=&quot;image/png&quot; filename=&quot;us-mobile-market-oct2010-3.png&quot; height=&quot;377&quot; width=&quot;565&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&amp;nbsp; &lt;br /&gt;
Nielson Company의 2010년 2/4분기 조사자료를 보면 아이폰 사용자가 다시&amp;nbsp;아이폰을 구매하고자 하는 경우(동일한 스마트폰 OS를 선택하는 경우, 즉 충성도)는 89%, 안드로이드폰의 경우 71%로 스마트폰 OS의 충성도는 아이폰이 다소 높은 편이다. 그러나 아이폰과 안드로이드폰 이외의 다른 스마트폰의 사용자가 아이폰이나 안드로이드폰을 구매하고자 하는 비율은 크게 다르지 않다. 위의 자료는 현재 피쳐폰이나 스마트폰 사용자가 어떤 스마트폰을 구매하고자 하는 가를 조사한 결과인데 스마트폰 사용자 중에서 아이폰을 구매하고자 하는 비율은 35%로 매우 높은 편이나 피쳐폰 사용자들은 오히려 안드로이드 폰을 선호하는 것을 볼 수 있다. 이는 아마도 안드로이드폰의 가격 전략과도 관계가 있을 것으로 생각된다.&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile5.uf.tistory.com/original/112C03584D3928E305F651&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile5.uf.tistory.com/image/112C03584D3928E305F651&quot; alt=&quot;&quot; filemime=&quot;image/png&quot; filename=&quot;us-mobile-market-oct2010-41.png&quot; height=&quot;344&quot; width=&quot;565&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;이 자료는 나이대 별로 분석한 결과인데 그 결과가 흥미롭다. 나이대의 변화에도 불구하고 아이폰과 안드로이드 폰의&amp;nbsp;비율은 크게 다르지 않다는 것. 다만 나이대가 높아질 수록 Windows Mobile 폰의 비율이 높아지고 있다는 것이 흥미롭다. 여전히 그들은 새로운 스마트폰 OS보다 Windows Mobile의 친숙함을 더 선호하기 때문인 것으로 판단된다.&lt;br /&gt;
&lt;br /&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile3.uf.tistory.com/original/192BD0584D3928E40678CD&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile3.uf.tistory.com/image/192BD0584D3928E40678CD&quot; alt=&quot;&quot; filemime=&quot;image/png&quot; filename=&quot;us-mobile-market-oct2010-51.png&quot; height=&quot;348&quot; width=&quot;565&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
이 설문조사에서 가장 재미있는 결과, 남녀의 선호도를 볼 수 있는 자료이다. 여성 소비자는 &quot;예쁜&quot; 아이폰을 가장 선호하고 아이폰과 안드로이드폰 사이에서 &quot;도대체 어떤게 더 좋은건가?&quot;라며 이도 저도 고르지 못하고 갈등할 것 같은 23.8%의 결과도 보인다. 반면 남성 소비자는 스펙과 기능을 따지기 때문에&amp;nbsp;&quot;단순히 더 예쁘다&quot;라는 이유로 아이폰을 구매하고자 하는 비율이 줄어 들어 안드로이드폰 선호 비율이 더 높은게 아닌가 판단된다. 여기에 다양한 가격과 성능 그리고 디자인의 디바이스를 선택할 수 있다는 장점도 안드로이드폰을 선호하는 원인이 될 수 있다. 여성 소비자보다 남자 소비자의 고민하는 사람 비율이 더 적은 것도 재미있다. 여성 소비자에 비해 Windows Mobile의 선호도가 남자측이 더 높은 것은 아마도 Windows7폰에 대한 기대때문인 것으로 보인다.&lt;br /&gt;
&lt;br /&gt;아이폰은 애플이 단독으로 제조해서 판매하기 때문에 제품 출시에 앞서 완성도를 높이는 작업에 크게 공을 들이고 있다.&amp;nbsp;다른 제조사들이 한 해에 수십개에서 백여개의 모델을 공급하는 것과 달리 애플은 완성도 높은 모델 하나에 전력을 다하고 있다. 3개월만에 만들어진 안드로이드폰과 1년동안 다듬고 다듬은 아이폰 중 누가 뭐라고해도 아이폰이 완성도가 높을 것이 분명하다.&amp;nbsp;수 많은 제조회사들이 새 모델의 출시에만 급급하여 완성도가 낮은 안드로이드폰을 계속해서 공급한다면 소비자들에게는 모든 안드로이드폰의 수준이 딱 그정도 수준이라는 편견을 심어주게 된다. 따라서 안드로이드폰이 아이폰을 넘어서 최고의 스마트폰으로 자리매김하기 위해서는 안드로이드폰의 다양성 더불어&amp;nbsp;성능의 향상 그리고 완성도의&amp;nbsp;향상이 반드시 뒷따라야 한다. &lt;div class=&quot;entry-ccl&quot; style=&quot;clear: both; text-align: right; margin-bottom: 10px&quot;&gt;
	&lt;img id=&quot;ccl-icon-105-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-105-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-105-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 class=&quot;another_category another_category_color_gray&quot;&gt;
&lt;h4&gt;'&lt;a href=&quot;/category/잡다한%20이야기&quot;&gt;잡다한 이야기&lt;/a&gt;' 카테고리의 다른 글&lt;/h4&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/105&quot; &gt;스마트폰 시장 동향 : 안드로이드폰 vs. 아이폰 승자는?&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/01/21&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/104&quot; &gt;정부의 에너지 절약 시행 지침의 딜레마&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/01/13&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/62&quot; &gt;옴니아폰 SCH-M490&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2009/10/15&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/57&quot; &gt;비난받는 고대 동정받는 출교생?!&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2009/04/14&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/56&quot; &gt;프리웨어의 개발과 소스 코드의 공개&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(1)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2009/04/06&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/30&quot; &gt;영화 워낭소리와 그 명암&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2009/03/03&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;</description>
			<category>잡다한 이야기</category>
			<category>소비자 동향</category>
			<category>시장 동향</category>
			<category>아이폰</category>
			<category>안드로이드폰</category>
			<author>행복한브라운</author>
			<guid>http://brown.ezphp.net/105</guid>
			<comments>http://brown.ezphp.net/105#entry105comment</comments>
			<pubDate>Fri, 21 Jan 2011 16:39:44 +0900</pubDate>
		</item>
		<item>
			<title>정부의 에너지 절약 시행 지침의 딜레마</title>
			<link>http://brown.ezphp.net/104</link>
			<description>올 여름에도 비슷한 상황이 발생했지만 예상대로 이번 겨울에도 난방에 문제가 발생하고 있다. 정부는 에너지 절약 차원에서 에너지 절약 시행 지침을 정하고 실내 온도를 섭씨 18도(한국경제 매거진에 따르면)를 넘지 못하도록 하고 있다. 이에 공공기관이나 학교와 같은 시설에서는 이 온도에 준하는 난방을 하고 있다. 우리 연구실도 중앙 난방을 하고 있는데 컨트롤러로 희망 온도를 아무리 높여도 제한 온도를 넘지 못하도록 중앙에서 조절을 하고 있다. 그래서 대부분의 학생들이 다소 추위를 느끼며 창가쪽에 앉는 사람들은 그 정도가 심하다고 느낀다. 정부는 공무원들에게 내복을 입을 것을 권장한다고 하는데 내복은 너무 답답해서 입을 수 없는 나와 같은 사람들은 추위로 인해 무거운 외투를 입고 일을 할 수 밖에 없다.&lt;br /&gt;
&lt;br /&gt;한국 경제 1월 12일자 뉴스를 보니 요즘 전력 수급에 문제가 발생해서 예비전력이 비상사태까지 왔다고 한다. 이는 기름값 폭등으로 인한 상대적으로 저렴한 전기 난방이 인기를 끌고 있기 때문이다. 나도 집에선 적당한 온도로 가스 보일러를 사용하고&amp;nbsp;전기장판을 병행해서 사용하고 있으니 아마 틀린 말은 아닐게다. 그런데 전력수급의 문제가 심각해지다 보니 전기요금 인상과 에너지 절약 시행 지침이 더 강화될 가능성이 보이고 있다. 그렇다면 아마도 현재 지침보다 더 낮은 온도를 유지하라고 하지는 않을테지만 그 대상의 범위가 공공기관을 넘어서 일반에 대중화 될 가능성이 있어보인다. 그러면 전력 수급이 좀 더 나아질 수 있을까?&lt;br /&gt;
&lt;br /&gt;여기서 하나의 의문점, &quot;정말로&quot; &quot;정말로&quot;&amp;nbsp;전력 수급이 나아질까?&lt;br /&gt;
&lt;br /&gt;중앙난방으로 더 이상 온도를 높일 수 없게 되자 기이한 현상이 발생하고 있다. &lt;br /&gt;
중앙난방 건물에서&amp;nbsp;개별난방이 시작되고&amp;nbsp;있다는 것이다. &lt;br /&gt;
즉, 각 오피스마다 추위를 견디지 못하고 온풍기나 전열기와 같은 히터를 구입하기 시작했다는 말이다. &lt;br /&gt;
&lt;br /&gt;자 한번 생각해보자.&lt;br /&gt;
기관은 에너지 절약 시책으로 다소 난방비가 줄어들 것이 분명하다. 게다가 기름값이 천정부지로 오르고 있으니 아마 많이 절약될지도 모르겠다. 그런데 각 오피스에서는 히터를 구입하기 위해서 추가 비용이 발생한다. 기관은 돈을 절약할지 몰라도 그 결과 개인 혹은&amp;nbsp;소속 단체가 그 비용을 끌어안았다. 거기다 개별난방으로 인해서 전력 소비는 예전보다 커질 수 밖에 없다. 그도 그럴것이&amp;nbsp;내 주변을 살펴보면 전열기 뿐만이 아니라 USB 온열 실내화도 등장했다.&lt;br /&gt;
&lt;br /&gt;고유가 -&amp;gt; 에너지 절약 지침 시행 -&amp;gt; 중앙난방 온도제한(가스/석유) -&amp;gt; 개별난방으로 대체(전기) -&amp;gt; 전력 수요 상승&lt;br /&gt;
&lt;br /&gt;결국, 대규모 기관들 마저도 가스/석유 난방에서 전기 난방으로 전환되고 있다는 말이다.&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
일반 가정, 소규모 사업장을 넘어서서 대규모 기관까지 전기난방을 해대는 형국이니 전력 수급이 문제가 되는건 어찌보면 당연한 일이 아닐까 싶다. 문제는 요즘과 같이 고유가 시대에 그렇다고 가스/석유 난방을 빵빵 땔수도 없으니 이것참 답이 없는 세상이다. 하지만 그대로 두자니 악순환은 계속될 것이 분명하고...&lt;br /&gt;
&lt;br /&gt;에너지 절약 시책으로 온도 제한을 하는 것은 좋으나 제발 겨울 상의 두겹정도 입고 있을때 춥다고 생각하지 않을 정도의 온도로 제한을 완화시켜주면&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-104-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-104-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-104-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 class=&quot;another_category another_category_color_gray&quot;&gt;
&lt;h4&gt;'&lt;a href=&quot;/category/잡다한%20이야기&quot;&gt;잡다한 이야기&lt;/a&gt;' 카테고리의 다른 글&lt;/h4&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/105&quot; &gt;스마트폰 시장 동향 : 안드로이드폰 vs. 아이폰 승자는?&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/01/21&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/104&quot; &gt;정부의 에너지 절약 시행 지침의 딜레마&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/01/13&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/62&quot; &gt;옴니아폰 SCH-M490&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2009/10/15&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/57&quot; &gt;비난받는 고대 동정받는 출교생?!&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2009/04/14&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/56&quot; &gt;프리웨어의 개발과 소스 코드의 공개&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(1)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2009/04/06&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/30&quot; &gt;영화 워낭소리와 그 명암&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2009/03/03&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;</description>
			<category>잡다한 이야기</category>
			<category>난방</category>
			<category>에너지 절약 지침</category>
			<category>전력 수급 비상</category>
			<author>행복한브라운</author>
			<guid>http://brown.ezphp.net/104</guid>
			<comments>http://brown.ezphp.net/104#entry104comment</comments>
			<pubDate>Thu, 13 Jan 2011 21:19:28 +0900</pubDate>
		</item>
		<item>
			<title>일드 역대 시청률 순위</title>
			<link>http://brown.ezphp.net/103</link>
			<description>&lt;TABLE cellSpacing=1 cellPadding=5 bgColor=black&gt;
&lt;TBODY&gt;
&lt;TR bgColor=#ff6699&gt;
&lt;TD width=30&gt;순위&lt;/TD&gt;
&lt;TD&gt;시청률&lt;/TD&gt;
&lt;TD&gt;제 목&lt;/TD&gt;
&lt;TD&gt;주인공&lt;/TD&gt;
&lt;TD width=10&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;1&lt;/TD&gt;
&lt;TD&gt;34.30%&lt;/TD&gt;
&lt;TD&gt;&lt;A title=&quot;[http://blog.naver.com/ouji21/130033637378]로 이동합니다.&quot; href=&quot;http://blog.naver.com/ouji21/130033637378&quot; target=_blank&gt;히어로&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;기무라 타쿠야, 마츠 다카코&lt;/TD&gt;
&lt;TD&gt;V&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;2001&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;중졸 출신의 전례 없는 검사. 도쿄 지검에 새 바람이 분다. 시청률 몫을 하는 드라마.&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;2&lt;/TD&gt;
&lt;TD&gt;32.30%&lt;/TD&gt;
&lt;TD&gt;&lt;A title=&quot;[http://www.danielism.com/157]로 이동합니다.&quot; href=&quot;http://www.danielism.com/157&quot; target=_blank&gt;뷰티풀 라이프&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;기무라 타쿠야, 토키와 다카코&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;2000&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;미용사인 남자 주인공과 병으로 다리를 못쓰는 여자 주인공의 러브스토리&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;3&lt;/TD&gt;
&lt;TD&gt;30.70%&lt;/TD&gt;
&lt;TD&gt;&lt;A title=&quot;[http://blog.naver.com/bboroq?Redirect=Log&amp;amp;logNo=100000630141]로 이동합니다.&quot; href=&quot;http://blog.naver.com/bboroq?Redirect=Log&amp;amp;logNo=100000630141&quot; target=_blank&gt;러브 제너레이션&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;기무라 타쿠야, 마츠 다카코&lt;/TD&gt;
&lt;TD&gt;V&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;1997&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;이름에서도 와닿는 말 그대로 러브스토리. 그 시작은 러브호텔??? (이런 응큼쟁이들)&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;4&lt;/TD&gt;
&lt;TD&gt;30.40%&lt;/TD&gt;
&lt;TD&gt;Good Luck&lt;/TD&gt;
&lt;TD&gt;기무라 타쿠야, 시바사키 코우&lt;/TD&gt;
&lt;TD&gt;V&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;2003&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;파일럿(남주)과&amp;nbsp;정비공(여주) 그리고 승무원들의 이야기. 매회 잠깐 등장하는 윤손하의 미친(?) 존재감&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;5&lt;/TD&gt;
&lt;TD&gt;29.20%&lt;/TD&gt;
&lt;TD&gt;롱 베이케이션&lt;/TD&gt;
&lt;TD&gt;기무라 타쿠야, 야마구치 토모코&lt;/TD&gt;
&lt;TD&gt;V&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;1996&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;러브 스토리. 지금은 상상하기 힘든 출연진들. 히로스에 료쿄의 어린 모습도 볼 수 있다&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;6&lt;/TD&gt;
&lt;TD&gt;28.30%&lt;/TD&gt;
&lt;TD&gt;GTO&lt;/TD&gt;
&lt;TD&gt;소리미치 다카시, 마츠시마 나나코&lt;/TD&gt;
&lt;TD&gt;V&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;1998&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;7&lt;/TD&gt;
&lt;TD&gt;28.20%&lt;/TD&gt;
&lt;TD&gt;한지붕아래1&lt;/TD&gt;
&lt;TD&gt;에구치 요스케, 후쿠야마 마시하루, 이시다 잇세이, 사카이 노리코&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;1993&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;8&lt;/TD&gt;
&lt;TD&gt;27.80%&lt;/TD&gt;
&lt;TD&gt;고쿠센2 &lt;/TD&gt;
&lt;TD&gt;나카마 유키에,카메나시 카즈야,아카니시 진&lt;/TD&gt;
&lt;TD&gt;V&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;2005&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;9&lt;/TD&gt;
&lt;TD&gt;27.00%&lt;/TD&gt;
&lt;TD&gt;아스나로백서&lt;/TD&gt;
&lt;TD&gt;이시다 히카리, 기무라 타쿠야, 니시지마 히데토시&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;1993&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;10&lt;/TD&gt;
&lt;TD&gt;26.70%&lt;/TD&gt;
&lt;TD&gt;&lt;A title=&quot;[http://blog.naver.com/vitamin_leo/40064051378]로 이동합니다.&quot; href=&quot;http://blog.naver.com/vitamin_leo/40064051378&quot; target=_blank&gt;한지붕아래2&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;에구치 요스케, 후쿠야마 마시하루, 이시다 잇세이, 마츠 다카코&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;1997&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;11&lt;/TD&gt;
&lt;TD&gt;26.10%&lt;/TD&gt;
&lt;TD&gt;야마토 나데시코 &lt;/TD&gt;
&lt;TD&gt;마츠시마 나나코, 츠츠미 신이치&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;2000&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;12&lt;/TD&gt;
&lt;TD&gt;25.30%&lt;/TD&gt;
&lt;TD&gt;후루하타닌자부로2&lt;/TD&gt;
&lt;TD&gt;타무라 마사카즈, 니시무라 마사히코, 각회게스트&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;1996&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;13&lt;/TD&gt;
&lt;TD&gt;25.10%&lt;/TD&gt;
&lt;TD&gt;잠자는 숲&lt;/TD&gt;
&lt;TD&gt;기무라 타쿠야, 나카야마 미호&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;1998&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;13&lt;/TD&gt;
&lt;TD&gt;25.10%&lt;/TD&gt;
&lt;TD&gt;후루하타닌자부로3&lt;/TD&gt;
&lt;TD&gt;타무라 마사카즈, 니시무라 마사히코, 각회게스트&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;1999&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;15&lt;/TD&gt;
&lt;TD&gt;24.90%&lt;/TD&gt;
&lt;TD&gt;프라이드&lt;/TD&gt;
&lt;TD&gt;기무라 타쿠야, 다케우치 유코&lt;/TD&gt;
&lt;TD&gt;V&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;2004&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;16&lt;/TD&gt;
&lt;TD&gt;24.20%&lt;/TD&gt;
&lt;TD&gt;오야지&lt;/TD&gt;
&lt;TD&gt;오카다 준이치, 히로스에 료코&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;2000&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;17&lt;/TD&gt;
&lt;TD&gt;23.90%&lt;/TD&gt;
&lt;TD&gt;김전일소년사건부1&lt;/TD&gt;
&lt;TD&gt;도모토 쯔요시, 토모사카 리에, 후루오야 마사토&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;1995&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;17&lt;/TD&gt;
&lt;TD&gt;23.90%&lt;/TD&gt;
&lt;TD&gt;협주곡&lt;/TD&gt;
&lt;TD&gt;타무라 마사카즈, 기무라 타쿠야, 미야자와 리에&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;1996&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;17&lt;/TD&gt;
&lt;TD&gt;23.90%&lt;/TD&gt;
&lt;TD&gt;화려한일족&lt;/TD&gt;
&lt;TD&gt;기무라 타쿠야, 키타오오지 킨야, 야마모토 코지, 스즈키 쿄카&lt;/TD&gt;
&lt;TD&gt;V&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;2007&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;20&lt;/TD&gt;
&lt;TD&gt;23.70%&lt;/TD&gt;
&lt;TD&gt;하얀거탑&lt;/TD&gt;
&lt;TD&gt;카라사와 토시아키,에구치 요스케&lt;/TD&gt;
&lt;TD&gt;V&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;2004&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;20&lt;/TD&gt;
&lt;TD&gt;23.70%&lt;/TD&gt;
&lt;TD&gt;비치 보이즈&lt;/TD&gt;
&lt;TD&gt;타케노우치 유타카,소리미치 다카시&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;1997&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;22&lt;/TD&gt;
&lt;TD&gt;23.60%&lt;/TD&gt;
&lt;TD&gt;101번째 프로포즈&lt;/TD&gt;
&lt;TD&gt;아사노 아츠코, 다케다 테츠야, 에구치 요스케&lt;/TD&gt;
&lt;TD&gt;V&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;1991&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;23&lt;/TD&gt;
&lt;TD&gt;23.40%&lt;/TD&gt;
&lt;TD&gt;퓨어&lt;/TD&gt;
&lt;TD&gt;와쿠이 에미, 츠츠미 신이치, 타카하시 카츠노리&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;1996&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;24&lt;/TD&gt;
&lt;TD&gt;22.90%&lt;/TD&gt;
&lt;TD&gt;이 세상의 끝&lt;/TD&gt;
&lt;TD&gt;스즈키 호나미, 미카미 히로시, 토요카와 에츠시&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;1994&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;24&lt;/TD&gt;
&lt;TD&gt;22.90%&lt;/TD&gt;
&lt;TD&gt;도쿄 러브스토리&lt;/TD&gt;
&lt;TD&gt;스즈키 호나미, 오다 유지, 에구치 요스케&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;1991&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;26&lt;/TD&gt;
&lt;TD&gt;22.80%&lt;/TD&gt;
&lt;TD&gt;서유기&lt;/TD&gt;
&lt;TD&gt;카토리 싱고, 후카츠 에리, 이토 아츠시&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;2006&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;27&lt;/TD&gt;
&lt;TD&gt;22.50%&lt;/TD&gt;
&lt;TD&gt;신이시여 조금만 더&lt;/TD&gt;
&lt;TD&gt;카네시로 타케시, 후카다 쿄코&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;1998&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;27&lt;/TD&gt;
&lt;TD&gt;22.50%&lt;/TD&gt;
&lt;TD&gt;김전일소년사건부2&lt;/TD&gt;
&lt;TD&gt;도모토 쯔요시, 토모사카 리에, 후루오야 마사토&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;1996&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;27&lt;/TD&gt;
&lt;TD&gt;22.50%&lt;/TD&gt;
&lt;TD&gt;집 없는 아이2&lt;/TD&gt;
&lt;TD&gt;아다치 유미, 도모토 코이치, 쿠사나기 쯔요시&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;1995&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;30&lt;/TD&gt;
&lt;TD&gt;22.40%&lt;/TD&gt;
&lt;TD&gt;엔진&lt;/TD&gt;
&lt;TD&gt;기무라타쿠야, 코유키&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;2005&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;31&lt;/TD&gt;
&lt;TD&gt;22.30%&lt;/TD&gt;
&lt;TD&gt;하늘에서 떨어지는 일억개의 별&lt;/TD&gt;
&lt;TD&gt;아카시야 산마, 기무라 타쿠야, 후카츠 에리&lt;/TD&gt;
&lt;TD&gt;V&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;2002&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;32&lt;/TD&gt;
&lt;TD&gt;22.20%&lt;/TD&gt;
&lt;TD&gt;별의 금화&lt;/TD&gt;
&lt;TD&gt;사카이 노리코, 타케노우치 유타카&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;2001&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;33&lt;/TD&gt;
&lt;TD&gt;22.10%&lt;/TD&gt;
&lt;TD&gt;속 별의 금화&lt;/TD&gt;
&lt;TD&gt;사카이 노리코, 타케노우치 유타카&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;1996&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;33&lt;/TD&gt;
&lt;TD&gt;22.10%&lt;/TD&gt;
&lt;TD&gt;닥터 고토진료소&lt;/TD&gt;
&lt;TD&gt;요시오카 히데타카, 시바사키 코우, 아오이 유우, 카케이 토시오&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;2006&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;35&lt;/TD&gt;
&lt;TD&gt;22.00%&lt;/TD&gt;
&lt;TD&gt;29세의 크리스마스&lt;/TD&gt;
&lt;TD&gt;야마구치 토모코, 야나기바 토시로, 마츠시타 유키&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;1994&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;36&lt;/TD&gt;
&lt;TD&gt;21.90%&lt;/TD&gt;
&lt;TD&gt;고교교사1&lt;/TD&gt;
&lt;TD&gt;사나다 히로유키, 사쿠라이 사치코, 아카이 히데카즈&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;1993&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;37&lt;/TD&gt;
&lt;TD&gt;21.70%&lt;/TD&gt;
&lt;TD&gt;꽃보다남자2&lt;/TD&gt;
&lt;TD&gt;이노우에마오, 마츠모토 준, 오구리 슌, 마츠다쇼타, 아베 츠요시&lt;/TD&gt;
&lt;TD&gt;V&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;2007&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;38&lt;/TD&gt;
&lt;TD&gt;21.50%&lt;/TD&gt;
&lt;TD&gt;마녀의 조건&lt;/TD&gt;
&lt;TD&gt;마츠시마 나나코, 타키자와 히데야키&lt;/TD&gt;
&lt;TD&gt;V&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;1999&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;38&lt;/TD&gt;
&lt;TD&gt;21.50%&lt;/TD&gt;
&lt;TD&gt;라스트 크리스마스&lt;/TD&gt;
&lt;TD&gt;오다유지, 야다 아키코&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;2004&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;38&lt;/TD&gt;
&lt;TD&gt;21.50%&lt;/TD&gt;
&lt;TD&gt;쇼무네&lt;/TD&gt;
&lt;TD&gt;에스미 마키코, 쿄노 코토미, 호쇼 마이&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;1998&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;41&lt;/TD&gt;
&lt;TD&gt;21.40%&lt;/TD&gt;
&lt;TD&gt;사람에게 상냥하게&lt;/TD&gt;
&lt;TD&gt;카토리 싱고, 마츠오카 미츠루&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;2002&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;42&lt;/TD&gt;
&lt;TD&gt;21.30%&lt;/TD&gt;
&lt;TD&gt;사랑한다고 말해줘&lt;/TD&gt;
&lt;TD&gt;토요카와 에츠시, 토키와 다카코, 야다 아키코&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;1995&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;43&lt;/TD&gt;
&lt;TD&gt;21.10%&lt;/TD&gt;
&lt;TD&gt;버진로드&lt;/TD&gt;
&lt;TD&gt;와쿠이 에미, 소라마치 다카시, 다케다 테츠야&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;1997&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;44&lt;/TD&gt;
&lt;TD&gt;21.00%&lt;/TD&gt;
&lt;TD&gt;전차남&lt;/TD&gt;
&lt;TD&gt;이토 미사키, 이토 아츠시, 하야미 모코미치&lt;/TD&gt;
&lt;TD&gt;V&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;2005&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;44&lt;/TD&gt;
&lt;TD&gt;21.00%&lt;/TD&gt;
&lt;TD&gt;러브 스토리&lt;/TD&gt;
&lt;TD&gt;나카야미 미호, 토요카와 에츠시, 카토리 싱고&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;2001&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;46&lt;/TD&gt;
&lt;TD&gt;20.90%&lt;/TD&gt;
&lt;TD&gt;성자의 행진&lt;/TD&gt;
&lt;TD&gt;이시다 잇세이, 사카이 노리코&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;1998&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;47&lt;/TD&gt;
&lt;TD&gt;20.80%&lt;/TD&gt;
&lt;TD&gt;좋은 사람&lt;/TD&gt;
&lt;TD&gt;쿠사나기 쯔요시, 칸노미호&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;1998&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;47&lt;/TD&gt;
&lt;TD&gt;20.80%&lt;/TD&gt;
&lt;TD&gt;깅로괴기파일～2개의 뇌를 가진 소년&lt;/TD&gt;
&lt;TD&gt;도모토 코이치, 호쇼 마이, 미야케 켄&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;1996&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;49&lt;/TD&gt;
&lt;TD&gt;20.70%&lt;/TD&gt;
&lt;TD&gt;나와 그녀와 그녀가 사는길&lt;/TD&gt;
&lt;TD&gt;쿠사나기 쯔요시, 코유키&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;2004&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;50&lt;/TD&gt;
&lt;TD&gt;20.50%&lt;/TD&gt;
&lt;TD&gt;돈이 없어&lt;/TD&gt;
&lt;TD&gt;오다 유지, 자이젠 나오미, 이노하라 요시히코&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;1994&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;51&lt;/TD&gt;
&lt;TD&gt;20.30%&lt;/TD&gt;
&lt;TD&gt;쇼무니2&lt;/TD&gt;
&lt;TD&gt;에스미 마키코, 쿄노 코토미, 호쇼마이&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;2000&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;52&lt;/TD&gt;
&lt;TD&gt;20.20%&lt;/TD&gt;
&lt;TD&gt;구명병동24시 2기&lt;/TD&gt;
&lt;TD&gt;에구치 요스케, 마츠유키 야츠코&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;2001&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;52&lt;/TD&gt;
&lt;TD&gt;20.20%&lt;/TD&gt;
&lt;TD&gt;over time&lt;/TD&gt;
&lt;TD&gt;소리미치 타카시, 에스미 마키코&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;1999&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;54&lt;/TD&gt;
&lt;TD&gt;20.10%&lt;/TD&gt;
&lt;TD&gt;파견의 품격&lt;/TD&gt;
&lt;TD&gt;시노하라 료코, 카토 아이, 고이즈미 코타로, 오오이즈미 요&lt;/TD&gt;
&lt;TD&gt;V&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;2007&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;54&lt;/TD&gt;
&lt;TD&gt;20.10%&lt;/TD&gt;
&lt;TD&gt;하얀 그림자&lt;/TD&gt;
&lt;TD&gt;나카이 마사히로, 다케우치 유코, 카미카와 타카야&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;2001&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;54&lt;/TD&gt;
&lt;TD&gt;20.10%&lt;/TD&gt;
&lt;TD&gt;인생은 최고다&lt;/TD&gt;
&lt;TD&gt;하마다 마사토시, 기무라 타쿠야, 이시다 유리코&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;1995&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;54&lt;/TD&gt;
&lt;TD&gt;20.10%&lt;/TD&gt;
&lt;TD&gt;미성년&lt;/TD&gt;
&lt;TD&gt;이시다 잇세이, 소라마치 다카시, 카토리 싱고&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;1995&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;58&lt;/TD&gt;
&lt;TD&gt;20.00%&lt;/TD&gt;
&lt;TD&gt;구명병동24시 1기&lt;/TD&gt;
&lt;TD&gt;에구치 요스케,마츠시마 나나코&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;1999&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;59&lt;/TD&gt;
&lt;TD&gt;19.90%&lt;/TD&gt;
&lt;TD&gt;링～최종장&lt;/TD&gt;
&lt;TD&gt;야나기바 토시로, 나가세 토모야, 야다 아키코&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;1999&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;60&lt;/TD&gt;
&lt;TD&gt;19.40%&lt;/TD&gt;
&lt;TD&gt;모래그릇&lt;/TD&gt;
&lt;TD&gt;나카이 마사히로, 마츠유키 야스코&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;2004&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;61&lt;/TD&gt;
&lt;TD&gt;19.30%&lt;/TD&gt;
&lt;TD&gt;카바치타레&lt;/TD&gt;
&lt;TD&gt;토키와 다카코, 후카츠 에리&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;2001&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;62&lt;/TD&gt;
&lt;TD&gt;19.20%&lt;/TD&gt;
&lt;TD&gt;인간실격&lt;/TD&gt;
&lt;TD&gt;도모토 쯔요시,도모토 코이치,사쿠라이 사치코&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;1994&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;63&lt;/TD&gt;
&lt;TD&gt;19.10%&lt;/TD&gt;
&lt;TD&gt;구명병동24시 3기&lt;/TD&gt;
&lt;TD&gt;에구치 요스케, 마츠시마 나나코, 오구리 슌 슌&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;2005&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;64&lt;/TD&gt;
&lt;TD&gt;18.90%&lt;/TD&gt;
&lt;TD&gt;마이보스 마이히어로&lt;/TD&gt;
&lt;TD&gt;나가세 토모야, 테고시 유야,아라가키 유이,다나카 코키&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;2006&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;64&lt;/TD&gt;
&lt;TD&gt;18.90%&lt;/TD&gt;
&lt;TD&gt;런치의 여왕&lt;/TD&gt;
&lt;TD&gt;다케우치 유코, 에구치 유스케,츠마부키 사토시,야마시타 토모히사&lt;/TD&gt;
&lt;TD&gt;V&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;2002&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;66&lt;/TD&gt;
&lt;TD&gt;18.80%&lt;/TD&gt;
&lt;TD&gt;노다메 칸타빌레&lt;/TD&gt;
&lt;TD&gt;우에노 주리, 타마키 히로시,에이타&lt;/TD&gt;
&lt;TD&gt;V&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;2006&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;66&lt;/TD&gt;
&lt;TD&gt;18.80%&lt;/TD&gt;
&lt;TD&gt;위험한 아네키&lt;/TD&gt;
&lt;TD&gt;이토 미사키, 모리야마 미라이&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;2005&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;68&lt;/TD&gt;
&lt;TD&gt;18.60%&lt;/TD&gt;
&lt;TD&gt;14세의 어머니&lt;/TD&gt;
&lt;TD&gt;시다 미라이, 다나카 미사코, 나마세 카츠히사, 키타무라 카즈키&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;2006&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;68&lt;/TD&gt;
&lt;TD&gt;18.60%&lt;/TD&gt;
&lt;TD&gt;닥터 고토의 진료소 &lt;/TD&gt;
&lt;TD&gt;요시오카 히데타카, 시바사키 코우&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;2003&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;70&lt;/TD&gt;
&lt;TD&gt;18.40%&lt;/TD&gt;
&lt;TD&gt;미녀 혹은 야수 &lt;/TD&gt;
&lt;TD&gt;마츠시마 나나코, 후쿠야마 마사하루&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;2003&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;71&lt;/TD&gt;
&lt;TD&gt;18.20%&lt;/TD&gt;
&lt;TD&gt;브라더즈 &lt;/TD&gt;
&lt;TD&gt;나카이 마사히로,키무라 요시노&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;1998&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;71&lt;/TD&gt;
&lt;TD&gt;18.20%&lt;/TD&gt;
&lt;TD&gt;춤추는 대수사선 &lt;/TD&gt;
&lt;TD&gt;오다유지, 후카츠 에리&lt;/TD&gt;
&lt;TD&gt;V&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;1997&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;73&lt;/TD&gt;
&lt;TD&gt;18.00%&lt;/TD&gt;
&lt;TD&gt;Summer Snow &lt;/TD&gt;
&lt;TD&gt;도모토 쯔요시, 히로스에 료코,&lt;/TD&gt;
&lt;TD&gt;V&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;2000&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;74&lt;/TD&gt;
&lt;TD&gt;17.70%&lt;/TD&gt;
&lt;TD&gt;안티크～서양골동양과자점&lt;/TD&gt;
&lt;TD&gt;타키자와 히데아키, 시이나 캇페이, 후지키 나오히토&lt;/TD&gt;
&lt;TD&gt;V&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;2001&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;75&lt;/TD&gt;
&lt;TD&gt;17.40%&lt;/TD&gt;
&lt;TD&gt;고쿠센1&lt;/TD&gt;
&lt;TD&gt;나카마 유키에,마츠모토 준, 오구리 슌&lt;/TD&gt;
&lt;TD&gt;V&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;2002&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;76&lt;/TD&gt;
&lt;TD&gt;17.30%&lt;/TD&gt;
&lt;TD&gt;프로포즈 대작전&lt;/TD&gt;
&lt;TD&gt;야마시타 토모히사, 나가사와 마사미, 에이쿠라 나나, 히라오카 유타&lt;/TD&gt;
&lt;TD&gt;V&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;2007&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;76&lt;/TD&gt;
&lt;TD&gt;17.30%&lt;/TD&gt;
&lt;TD&gt;신선조&lt;/TD&gt;
&lt;TD&gt;카토리 싱고, 야마모토 코지, 후지와라 타츠야&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;2004&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;78&lt;/TD&gt;
&lt;TD&gt;17.20%&lt;/TD&gt;
&lt;TD&gt;오렌지 데이즈&lt;/TD&gt;
&lt;TD&gt;츠마부키 사토시, 시바사키 코우, 나리미야 히로키&lt;/TD&gt;
&lt;TD&gt;V&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;2004&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;79&lt;/TD&gt;
&lt;TD&gt;16.90%&lt;/TD&gt;
&lt;TD&gt;결혼 못하는 남자&lt;/TD&gt;
&lt;TD&gt;아베 히로시, 나츠카와 유이, 쿠니나카 료코, 츠카모토 타카시&lt;/TD&gt;
&lt;TD&gt;V&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;2006&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;79&lt;/TD&gt;
&lt;TD&gt;16.90%&lt;/TD&gt;
&lt;TD&gt;노부타를 프로듀스&lt;/TD&gt;
&lt;TD&gt;호리키타 마키, 카메나시 카즈야, 야마시타 토모히사&lt;/TD&gt;
&lt;TD&gt;V&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;2005&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;79&lt;/TD&gt;
&lt;TD&gt;16.90%&lt;/TD&gt;
&lt;TD&gt;여왕의 교실&lt;/TD&gt;
&lt;TD&gt;아마미 유키, 하라 사치에, 시다 미라이, 후쿠다마 유코&lt;/TD&gt;
&lt;TD&gt;V&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;2005&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;79&lt;/TD&gt;
&lt;TD&gt;16.90%&lt;/TD&gt;
&lt;TD&gt;사랑스런 그대에게&lt;/TD&gt;
&lt;TD&gt;칸노 미호, 후지키 나오히토, 이토 미사키, 타마키 히로시&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;2004&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;83&lt;/TD&gt;
&lt;TD&gt;16.80%&lt;/TD&gt;
&lt;TD&gt;태양은 지지않는다&lt;/TD&gt;
&lt;TD&gt;타키자와 히데아키, 마츠유키 야스코, 유카&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;2000&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;84&lt;/TD&gt;
&lt;TD&gt;16.40%&lt;/TD&gt;
&lt;TD&gt;어텐션 플리즈&lt;/TD&gt;
&lt;TD&gt;우에토 아야, 니시키도 료, 후에키 유코, 유민, 아이부 사키&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;2006&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;84&lt;/TD&gt;
&lt;TD&gt;16.40%&lt;/TD&gt;
&lt;TD&gt;드래곤 사쿠라&lt;/TD&gt;
&lt;TD&gt;아베 히로시, 야마시타 토모히사, 나기사와 마사미&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;2005&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;86&lt;/TD&gt;
&lt;TD&gt;16.30%&lt;/TD&gt;
&lt;TD&gt;롱 러브레터～포류교실&lt;/TD&gt;
&lt;TD&gt;토키와 다카코, 쿠보즈카 요스케, 야마시타 토모히사&lt;/TD&gt;
&lt;TD&gt;V&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;2002&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;87&lt;/TD&gt;
&lt;TD&gt;15.90%&lt;/TD&gt;
&lt;TD&gt;세상의 중심에서 사랑을 외치다&lt;/TD&gt;
&lt;TD&gt;야마다 타카유키, 아야세 하루카&lt;/TD&gt;
&lt;TD&gt;V&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;2004&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;88&lt;/TD&gt;
&lt;TD&gt;15.70%&lt;/TD&gt;
&lt;TD&gt;쿠로사기(검은사기)&lt;/TD&gt;
&lt;TD&gt;야마시타 토모히사, 호리키타 마키,&amp;nbsp;이치카와 유이, 아이카와 쇼&lt;/TD&gt;
&lt;TD&gt;V&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;2006&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;88&lt;/TD&gt;
&lt;TD&gt;15.70%&lt;/TD&gt;
&lt;TD&gt;모토카레&lt;/TD&gt;
&lt;TD&gt;도모토 쯔요시, 히로스에 료코, 우치야마 리나&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;2003&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;90&lt;/TD&gt;
&lt;TD&gt;15.60%&lt;/TD&gt;
&lt;TD&gt;아네고&lt;/TD&gt;
&lt;TD&gt;시노하라 료코, 토모사카 리에, 아카니시 진&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;2005&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;91&lt;/TD&gt;
&lt;TD&gt;15.30%&lt;/TD&gt;
&lt;TD&gt;1리터의 눈물&lt;/TD&gt;
&lt;TD&gt;사와지리 에리카, 니시키도 료, 후지키 나오히토&lt;/TD&gt;
&lt;TD&gt;V&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;2005&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD rowSpan=2&gt;91&lt;/TD&gt;
&lt;TD&gt;15.30%&lt;/TD&gt;
&lt;TD&gt;데릴사위&lt;/TD&gt;
&lt;TD&gt;나가세 토모야, 다케우치 유코, 아이바 마사키&lt;/TD&gt;
&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR bgColor=#f6f6f6&gt;
&lt;TD&gt;2001&lt;/TD&gt;
&lt;TD bgColor=white colSpan=3&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&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-103-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-103-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-103-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 class=&quot;another_category another_category_color_gray&quot;&gt;
&lt;h4&gt;'&lt;a href=&quot;/category/잡다한%20이야기&quot;&gt;잡다한 이야기&lt;/a&gt;&amp;nbsp;&gt;&amp;nbsp;&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;/119&quot; &gt;ARMv7 Hardware Performance Counter Events&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/03/26&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/107&quot; &gt;최초의 모바일용 듀얼코어 NVIDIA Tegra2 성능과 전력소비&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/02/08&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/103&quot; &gt;일드 역대 시청률 순위&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/01/10&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/71&quot; &gt;DCF를 MP3로 변환할 수 없는 이유&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(18)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2009/11/12&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/63&quot; &gt;버스 목적지에 도착하면 알려주는 프로그램&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2009/10/26&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/21&quot; &gt;왕초보 바둑 강좌 - 김지명의 클릭 바둑 나들이&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2009/02/20&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;</description>
			<category>토막 정보</category>
			<category>순위</category>
			<category>시청률</category>
			<category>일드</category>
			<author>행복한브라운</author>
			<guid>http://brown.ezphp.net/103</guid>
			<comments>http://brown.ezphp.net/103#entry103comment</comments>
			<pubDate>Mon, 10 Jan 2011 15:20:36 +0900</pubDate>
		</item>
		<item>
			<title>오탈자와 새 교정판</title>
			<link>http://brown.ezphp.net/102</link>
			<description>&lt;br /&gt;
많은 분들의 고마운 제보를 통해서 그동안 찾아둔 많은 오탈자들을 이번에 새롭게 책을 찍어내면서 수정하였습니다.&lt;br /&gt;
&lt;br /&gt;좀 더 완벽을 기했어야 했는데 교정본이 나오고 나서 다시 찾아보니 몇가지 교정이 되지 않은 부분이 있네요. ㅠㅠ&lt;br /&gt;
&lt;br /&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile26.uf.tistory.com/original/1527EE344C9085D56FB9C8&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile26.uf.tistory.com/image/1527EE344C9085D56FB9C8&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;005.jpg&quot; height=&quot;389&quot; width=&quot;576&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
이렇게 많이 붙어있던 포스트잇이 이제는 서너개 밖에 안붙어 있답니다.&lt;br /&gt;
&lt;br /&gt;이게 다 여러분들의 제보 덕분입니다. 감사합니다. (^^)(--)(__)(^^)v&lt;br /&gt;
&lt;br /&gt;2010년 8월 16일부터 찍어내는 책들은 그동안의 오탈자와 객체부분이 수정된 것이므로&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-102-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-102-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-102-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 class=&quot;another_category another_category_color_gray&quot;&gt;
&lt;h4&gt;'&lt;a href=&quot;/category/책&quot;&gt;책&lt;/a&gt;&amp;nbsp;&gt;&amp;nbsp;&lt;a href=&quot;/category/책/책%20이야기&quot;&gt;책 이야기&lt;/a&gt;' 카테고리의 다른 글&lt;/h4&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/102&quot; &gt;오탈자와 새 교정판&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(8)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2010/09/15&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/83&quot; &gt;라면 받침대로 쓰기에...&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2009/11/13&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/82&quot; &gt;책 오탈자 찾기 후&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2009/11/13&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/60&quot; &gt;[책 출간] 뇌를 자극하는 PHP 프로그래밍&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(6)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2009/07/30&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;</description>
			<category>책 이야기</category>
			<category>교정본</category>
			<category>뇌를 자극하는 PHP 프로그래밍</category>
			<author>행복한브라운</author>
			<guid>http://brown.ezphp.net/102</guid>
			<comments>http://brown.ezphp.net/102#entry102comment</comments>
			<pubDate>Wed, 15 Sep 2010 17:41:03 +0900</pubDate>
		</item>
		<item>
			<title>[뇌를자극하는 PHP프로그래밍] 357페이지</title>
			<link>http://brown.ezphp.net/101</link>
			<description>357페이지는&amp;nbsp;DIGEST 인증 창과 관련된 다음과 같은 변수가 나옵니다.&lt;br /&gt;
&lt;br /&gt;&lt;SPAN style=&quot;FONT-FAMILY: 'Verdana','sans-serif'; FONT-SIZE: 10pt; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-fareast-font-family: 굴림; mso-ansi-language: EN-US; mso-fareast-language: KO; mso-bidi-language: AR-SA&quot; lang=EN-US&gt;&lt;FONT color=#000000&gt;$_SERVER['HTTP_AUTH_DIGEST'] &lt;br /&gt;
&lt;br /&gt;그런데 페이지 중간 부분에 &lt;SPAN style=&quot;FONT-FAMILY: 'Verdana','sans-serif'; FONT-SIZE: 10pt; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-fareast-font-family: 굴림; mso-ansi-language: EN-US; mso-fareast-language: KO; mso-bidi-language: AR-SA&quot; lang=EN-US&gt;$_SERVER['HTTP_AUTH_DㄴIGEST']라는 오타가 있네요.&lt;br /&gt;
&lt;br /&gt;이는 위와 같이 &lt;SPAN style=&quot;FONT-FAMILY: 'Verdana','sans-serif'; FONT-SIZE: 10pt; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-fareast-font-family: 굴림; mso-ansi-language: EN-US; mso-fareast-language: KO; mso-bidi-language: AR-SA&quot; lang=EN-US&gt;$_SERVER['HTTP_AUTH_DIGEST']&amp;nbsp;&lt;/SPAN&gt;이렇게 변경되어야 합니다.&lt;br /&gt;
&lt;br /&gt;이것도 편집과정에서의 실수네요. (원고에는 제대로 되어 있는데 ㅠㅠ)&lt;br /&gt;
&lt;br /&gt;수정전&lt;br /&gt;
&lt;SPAN style=&quot;FONT-FAMILY: 'Verdana','sans-serif'; FONT-SIZE: 10pt; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-fareast-font-family: 굴림; mso-ansi-language: EN-US; mso-fareast-language: KO; mso-bidi-language: AR-SA&quot; lang=EN-US&gt;$_SERVER['HTTP_AUTH_DㄴIGEST']&lt;/SPAN&gt;&lt;br /&gt;
&lt;br /&gt;수정후&lt;br /&gt;
&lt;SPAN style=&quot;FONT-FAMILY: 'Verdana','sans-serif'; FONT-SIZE: 10pt; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-fareast-font-family: 굴림; mso-ansi-language: EN-US; mso-fareast-language: KO; mso-bidi-language: AR-SA&quot; lang=EN-US&gt;$_SERVER['HTTP_AUTH_DIGEST']&lt;/SPAN&gt;&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
제보해주신 게토님께 감사드립니다.&amp;nbsp;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&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-101-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-101-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-101-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 class=&quot;another_category another_category_color_gray&quot;&gt;
&lt;h4&gt;'&lt;a href=&quot;/category/책&quot;&gt;책&lt;/a&gt;&amp;nbsp;&gt;&amp;nbsp;&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;/110&quot; &gt;[뇌를 자극하는 PHP 프로그래밍] 458페이지&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(1)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/09/27&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/109&quot; &gt;[뇌를자극하는 PHP프로그래밍] 3장에서 사용하는 form.php 소스코드&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/04/26&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/101&quot; &gt;[뇌를자극하는 PHP프로그래밍] 357페이지&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2010/09/15&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/100&quot; &gt;[뇌를자극하는 PHP프로그래밍] 306페이지&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2010/09/15&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/99&quot; &gt;[뇌를자극하는 PHP프로그래밍] 292페이지&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2010/09/15&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/98&quot; &gt;[뇌를자극하는 PHP프로그래밍] 146페이지&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2010/07/27&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;</description>
			<category>바로잡습니다</category>
			<category>357</category>
			<category>뇌를 자극하는 PHP 프로그래밍</category>
			<category>오탈자</category>
			<author>행복한브라운</author>
			<guid>http://brown.ezphp.net/101</guid>
			<comments>http://brown.ezphp.net/101#entry101comment</comments>
			<pubDate>Wed, 15 Sep 2010 17:26:36 +0900</pubDate>
		</item>
		<item>
			<title>[뇌를자극하는 PHP프로그래밍] 306페이지</title>
			<link>http://brown.ezphp.net/100</link>
			<description>306페이지 표 7-6의 필드 이름중 이름과 학년에서 각각 Name, Grade 라고 표기된 것은&lt;br /&gt;
&lt;br /&gt;name, grade로 바뀌어야 합니다. 아마 편집도구에서 첫자를 자동으로 대문자로 만드는 오류때문인듯 하네요.&lt;br /&gt;
&lt;br /&gt;거기에 덧붙여 TYNYINT는 오자로 TINYINT가 맞습니다.&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;

&lt;DIV style=&quot;TEXT-ALIGN: center&quot;&gt;수정 전&lt;/DIV&gt;
&lt;DIV align=center&gt;
&lt;TABLE style=&quot;BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; WIDTH: 416.5pt; BORDER-COLLAPSE: collapse; BORDER-TOP: medium none; BORDER-RIGHT: medium none; mso-border-alt: solid black .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-border-insideh: .5pt solid black; mso-border-insidev: .5pt solid black&quot; class=MsoNormalTable border=1 cellSpacing=0 cellPadding=0 width=555&gt;
&lt;TBODY&gt;
&lt;TR style=&quot;mso-yfti-irow: 0; mso-yfti-firstrow: yes&quot;&gt;
&lt;TD style=&quot;BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0cm; PADDING-LEFT: 5.4pt; WIDTH: 83.35pt; PADDING-RIGHT: 5.4pt; BACKGROUND: #d9d9d9; BORDER-TOP: black 1pt solid; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-border-alt: solid black .5pt&quot; vAlign=top width=111&gt;
&lt;P style=&quot;TEXT-ALIGN: center; MARGIN: 0cm 0cm 0pt&quot; class=MsoNormal align=center&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 굴림; mso-font-kerning: 0pt&quot;&gt;&lt;FONT size=2&gt;&lt;FONT color=#000000&gt;필 드&lt;SPAN lang=EN-US&gt;&lt;?xml:namespace prefix = o ns = &quot;urn:schemas-microsoft-com:office:office&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0cm; PADDING-LEFT: 5.4pt; WIDTH: 67.85pt; PADDING-RIGHT: 5.4pt; BACKGROUND: #d9d9d9; BORDER-TOP: black 1pt solid; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt&quot; vAlign=top width=90&gt;
&lt;P style=&quot;TEXT-ALIGN: center; MARGIN: 0cm 0cm 0pt&quot; class=MsoNormal align=center&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 굴림; mso-font-kerning: 0pt&quot;&gt;&lt;FONT size=2&gt;&lt;FONT color=#000000&gt;필드명&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0cm; PADDING-LEFT: 5.4pt; WIDTH: 64.2pt; PADDING-RIGHT: 5.4pt; BACKGROUND: #d9d9d9; BORDER-TOP: black 1pt solid; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt&quot; vAlign=top width=86&gt;
&lt;P style=&quot;TEXT-ALIGN: center; MARGIN: 0cm 0cm 0pt&quot; class=MsoNormal align=center&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 굴림; mso-font-kerning: 0pt&quot;&gt;&lt;FONT size=2&gt;&lt;FONT color=#000000&gt;데이터 형&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0cm; PADDING-LEFT: 5.4pt; WIDTH: 42.5pt; PADDING-RIGHT: 5.4pt; BACKGROUND: #d9d9d9; BORDER-TOP: black 1pt solid; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt&quot; vAlign=top width=57&gt;
&lt;P style=&quot;TEXT-ALIGN: center; MARGIN: 0cm 0cm 0pt&quot; class=MsoNormal align=center&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 굴림; mso-font-kerning: 0pt&quot;&gt;&lt;FONT size=2&gt;&lt;FONT color=#000000&gt;크기&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0cm; PADDING-LEFT: 5.4pt; WIDTH: 158.6pt; PADDING-RIGHT: 5.4pt; BACKGROUND: #d9d9d9; BORDER-TOP: black 1pt solid; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt&quot; vAlign=top width=211&gt;
&lt;P style=&quot;TEXT-ALIGN: center; MARGIN: 0cm 0cm 0pt&quot; class=MsoNormal align=center&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 굴림; mso-font-kerning: 0pt&quot;&gt;&lt;FONT size=2&gt;&lt;FONT color=#000000&gt;비 고&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style=&quot;mso-yfti-irow: 1&quot;&gt;
&lt;TD style=&quot;BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 83.35pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-border-alt: solid black .5pt; mso-border-top-alt: solid black .5pt&quot; vAlign=top width=111&gt;
&lt;P style=&quot;TEXT-ALIGN: center; MARGIN: 0cm 0cm 0pt&quot; class=MsoNormal align=center&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 굴림; mso-font-kerning: 0pt&quot;&gt;&lt;FONT size=2&gt;&lt;FONT color=#000000&gt;학생번호&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 67.85pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt&quot; vAlign=top width=90&gt;
&lt;P style=&quot;MARGIN: 0cm 0cm 0pt&quot; class=MsoNormal&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 굴림; mso-font-kerning: 0pt&quot; lang=EN-US&gt;&lt;FONT size=2&gt;&lt;FONT color=#000000&gt;student_id&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 64.2pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt&quot; vAlign=top width=86&gt;
&lt;P style=&quot;MARGIN: 0cm 0cm 0pt&quot; class=MsoNormal&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 굴림; mso-font-kerning: 0pt&quot; lang=EN-US&gt;&lt;FONT size=2&gt;&lt;FONT color=#000000&gt;INT&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 42.5pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt&quot; vAlign=top width=57&gt;
&lt;P style=&quot;MARGIN: 0cm 0cm 0pt&quot; class=MsoNormal&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 굴림; mso-font-kerning: 0pt&quot; lang=EN-US&gt;&lt;o:p&gt;&lt;FONT color=#000000 size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 158.6pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt&quot; vAlign=top width=211&gt;
&lt;P style=&quot;MARGIN: 0cm 0cm 0pt&quot; class=MsoNormal&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 굴림; mso-font-kerning: 0pt&quot;&gt;&lt;FONT size=2&gt;&lt;FONT color=#000000&gt;학생 테이블의 키&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style=&quot;mso-yfti-irow: 2&quot;&gt;
&lt;TD style=&quot;BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 83.35pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-border-alt: solid black .5pt; mso-border-top-alt: solid black .5pt&quot; vAlign=top width=111&gt;
&lt;P style=&quot;TEXT-ALIGN: center; MARGIN: 0cm 0cm 0pt&quot; class=MsoNormal align=center&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 굴림; mso-font-kerning: 0pt&quot;&gt;&lt;FONT size=2&gt;&lt;FONT color=#000000&gt;이름&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 67.85pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt&quot; vAlign=top width=90&gt;
&lt;P style=&quot;MARGIN: 0cm 0cm 0pt&quot; class=MsoNormal&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 굴림; mso-font-kerning: 0pt&quot; lang=EN-US&gt;&lt;FONT size=2&gt;&lt;FONT color=#000000&gt;Name&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 64.2pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt&quot; vAlign=top width=86&gt;
&lt;P style=&quot;MARGIN: 0cm 0cm 0pt&quot; class=MsoNormal&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 굴림; mso-font-kerning: 0pt&quot; lang=EN-US&gt;&lt;FONT size=2&gt;&lt;FONT color=#000000&gt;VARCHAR&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 42.5pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt&quot; vAlign=top width=57&gt;
&lt;P style=&quot;MARGIN: 0cm 0cm 0pt&quot; class=MsoNormal&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 굴림; mso-font-kerning: 0pt&quot; lang=EN-US&gt;&lt;FONT size=2&gt;&lt;FONT color=#000000&gt;10&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 158.6pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt&quot; vAlign=top width=211&gt;
&lt;P style=&quot;MARGIN: 0cm 0cm 0pt&quot; class=MsoNormal&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 굴림; mso-font-kerning: 0pt&quot; lang=EN-US&gt;&lt;o:p&gt;&lt;FONT color=#000000 size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style=&quot;mso-yfti-irow: 3&quot;&gt;
&lt;TD style=&quot;BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 83.35pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-border-alt: solid black .5pt; mso-border-top-alt: solid black .5pt&quot; vAlign=top width=111&gt;
&lt;P style=&quot;TEXT-ALIGN: center; MARGIN: 0cm 0cm 0pt&quot; class=MsoNormal align=center&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 굴림; mso-font-kerning: 0pt&quot;&gt;&lt;FONT size=2&gt;&lt;FONT color=#000000&gt;학년&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 67.85pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt&quot; vAlign=top width=90&gt;
&lt;P style=&quot;MARGIN: 0cm 0cm 0pt&quot; class=MsoNormal&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 굴림; mso-font-kerning: 0pt&quot; lang=EN-US&gt;&lt;FONT size=2&gt;&lt;FONT color=#000000&gt;Grade&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 64.2pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt&quot; vAlign=top width=86&gt;
&lt;P style=&quot;MARGIN: 0cm 0cm 0pt&quot; class=MsoNormal&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 굴림; mso-font-kerning: 0pt&quot; lang=EN-US&gt;&lt;FONT size=2&gt;&lt;FONT color=#000000&gt;TYNYINT&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 42.5pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt&quot; vAlign=top width=57&gt;
&lt;P style=&quot;MARGIN: 0cm 0cm 0pt&quot; class=MsoNormal&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 굴림; mso-font-kerning: 0pt&quot; lang=EN-US&gt;&lt;o:p&gt;&lt;FONT color=#000000 size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 158.6pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt&quot; vAlign=top width=211&gt;
&lt;P style=&quot;MARGIN: 0cm 0cm 0pt&quot; class=MsoNormal&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 굴림; mso-font-kerning: 0pt&quot; lang=EN-US&gt;&lt;o:p&gt;&lt;FONT color=#000000 size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style=&quot;mso-yfti-irow: 4; mso-yfti-lastrow: yes&quot;&gt;
&lt;TD style=&quot;BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 83.35pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-border-alt: solid black .5pt; mso-border-top-alt: solid black .5pt&quot; vAlign=top width=111&gt;
&lt;P style=&quot;TEXT-ALIGN: center; MARGIN: 0cm 0cm 0pt&quot; class=MsoNormal align=center&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 굴림; mso-font-kerning: 0pt&quot;&gt;&lt;FONT size=2&gt;&lt;FONT color=#000000&gt;학과번호&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 67.85pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt&quot; vAlign=top width=90&gt;
&lt;P style=&quot;MARGIN: 0cm 0cm 0pt&quot; class=MsoNormal&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 굴림; mso-font-kerning: 0pt&quot; lang=EN-US&gt;&lt;FONT size=2&gt;&lt;FONT color=#000000&gt;dept_no&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 64.2pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt&quot; vAlign=top width=86&gt;
&lt;P style=&quot;MARGIN: 0cm 0cm 0pt&quot; class=MsoNormal&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 굴림; mso-font-kerning: 0pt&quot; lang=EN-US&gt;&lt;FONT size=2&gt;&lt;FONT color=#000000&gt;INT&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 42.5pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt&quot; vAlign=top width=57&gt;
&lt;P style=&quot;MARGIN: 0cm 0cm 0pt&quot; class=MsoNormal&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 굴림; mso-font-kerning: 0pt&quot; lang=EN-US&gt;&lt;o:p&gt;&lt;FONT color=#000000 size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 158.6pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt&quot; vAlign=top width=211&gt;
&lt;P style=&quot;MARGIN: 0cm 0cm 0pt&quot; class=MsoNormal&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 굴림; mso-font-kerning: 0pt&quot;&gt;&lt;FONT size=2&gt;&lt;FONT color=#000000&gt;학과 테이블의 키&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;br /&gt;
수정 후&lt;br /&gt;

&lt;DIV align=center&gt;
&lt;TABLE style=&quot;BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; WIDTH: 416.5pt; BORDER-COLLAPSE: collapse; BORDER-TOP: medium none; BORDER-RIGHT: medium none; mso-border-alt: solid black .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-border-insideh: .5pt solid black; mso-border-insidev: .5pt solid black&quot; class=MsoNormalTable border=1 cellSpacing=0 cellPadding=0 width=555&gt;
&lt;TBODY&gt;
&lt;TR style=&quot;mso-yfti-irow: 0; mso-yfti-firstrow: yes&quot;&gt;
&lt;TD style=&quot;BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0cm; PADDING-LEFT: 5.4pt; WIDTH: 83.35pt; PADDING-RIGHT: 5.4pt; BACKGROUND: #d9d9d9; BORDER-TOP: black 1pt solid; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-border-alt: solid black .5pt&quot; vAlign=top width=111&gt;
&lt;P style=&quot;TEXT-ALIGN: center; MARGIN: 0cm 0cm 0pt&quot; class=MsoNormal align=center&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 굴림; mso-font-kerning: 0pt&quot;&gt;&lt;FONT size=2&gt;&lt;FONT color=#000000&gt;필 드&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0cm; PADDING-LEFT: 5.4pt; WIDTH: 67.85pt; PADDING-RIGHT: 5.4pt; BACKGROUND: #d9d9d9; BORDER-TOP: black 1pt solid; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt&quot; vAlign=top width=90&gt;
&lt;P style=&quot;TEXT-ALIGN: center; MARGIN: 0cm 0cm 0pt&quot; class=MsoNormal align=center&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 굴림; mso-font-kerning: 0pt&quot;&gt;&lt;FONT size=2&gt;&lt;FONT color=#000000&gt;필드명&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0cm; PADDING-LEFT: 5.4pt; WIDTH: 64.2pt; PADDING-RIGHT: 5.4pt; BACKGROUND: #d9d9d9; BORDER-TOP: black 1pt solid; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt&quot; vAlign=top width=86&gt;
&lt;P style=&quot;TEXT-ALIGN: center; MARGIN: 0cm 0cm 0pt&quot; class=MsoNormal align=center&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 굴림; mso-font-kerning: 0pt&quot;&gt;&lt;FONT size=2&gt;&lt;FONT color=#000000&gt;데이터 형&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0cm; PADDING-LEFT: 5.4pt; WIDTH: 42.5pt; PADDING-RIGHT: 5.4pt; BACKGROUND: #d9d9d9; BORDER-TOP: black 1pt solid; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt&quot; vAlign=top width=57&gt;
&lt;P style=&quot;TEXT-ALIGN: center; MARGIN: 0cm 0cm 0pt&quot; class=MsoNormal align=center&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 굴림; mso-font-kerning: 0pt&quot;&gt;&lt;FONT size=2&gt;&lt;FONT color=#000000&gt;크기&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0cm; PADDING-LEFT: 5.4pt; WIDTH: 158.6pt; PADDING-RIGHT: 5.4pt; BACKGROUND: #d9d9d9; BORDER-TOP: black 1pt solid; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt&quot; vAlign=top width=211&gt;
&lt;P style=&quot;TEXT-ALIGN: center; MARGIN: 0cm 0cm 0pt&quot; class=MsoNormal align=center&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 굴림; mso-font-kerning: 0pt&quot;&gt;&lt;FONT size=2&gt;&lt;FONT color=#000000&gt;비 고&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style=&quot;mso-yfti-irow: 1&quot;&gt;
&lt;TD style=&quot;BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 83.35pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-border-alt: solid black .5pt; mso-border-top-alt: solid black .5pt&quot; vAlign=top width=111&gt;
&lt;P style=&quot;TEXT-ALIGN: center; MARGIN: 0cm 0cm 0pt&quot; class=MsoNormal align=center&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 굴림; mso-font-kerning: 0pt&quot;&gt;&lt;FONT size=2&gt;&lt;FONT color=#000000&gt;학생번호&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 67.85pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt&quot; vAlign=top width=90&gt;
&lt;P style=&quot;MARGIN: 0cm 0cm 0pt&quot; class=MsoNormal&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 굴림; mso-font-kerning: 0pt&quot; lang=EN-US&gt;&lt;FONT size=2&gt;&lt;FONT color=#000000&gt;student_id&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 64.2pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt&quot; vAlign=top width=86&gt;
&lt;P style=&quot;MARGIN: 0cm 0cm 0pt&quot; class=MsoNormal&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 굴림; mso-font-kerning: 0pt&quot; lang=EN-US&gt;&lt;FONT size=2&gt;&lt;FONT color=#000000&gt;INT&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 42.5pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt&quot; vAlign=top width=57&gt;
&lt;P style=&quot;MARGIN: 0cm 0cm 0pt&quot; class=MsoNormal&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 굴림; mso-font-kerning: 0pt&quot; lang=EN-US&gt;&lt;o:p&gt;&lt;FONT color=#000000 size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 158.6pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt&quot; vAlign=top width=211&gt;
&lt;P style=&quot;MARGIN: 0cm 0cm 0pt&quot; class=MsoNormal&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 굴림; mso-font-kerning: 0pt&quot;&gt;&lt;FONT size=2&gt;&lt;FONT color=#000000&gt;학생 테이블의 키&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style=&quot;mso-yfti-irow: 2&quot;&gt;
&lt;TD style=&quot;BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 83.35pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-border-alt: solid black .5pt; mso-border-top-alt: solid black .5pt&quot; vAlign=top width=111&gt;
&lt;P style=&quot;TEXT-ALIGN: center; MARGIN: 0cm 0cm 0pt&quot; class=MsoNormal align=center&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 굴림; mso-font-kerning: 0pt&quot;&gt;&lt;FONT size=2&gt;&lt;FONT color=#000000&gt;이름&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 67.85pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt&quot; vAlign=top width=90&gt;
&lt;P style=&quot;MARGIN: 0cm 0cm 0pt&quot; class=MsoNormal&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 굴림; mso-font-kerning: 0pt&quot; lang=EN-US&gt;&lt;FONT size=2&gt;&lt;FONT color=#000000&gt;&lt;STRONG&gt;name&lt;o:p&gt;&lt;/o:p&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 64.2pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt&quot; vAlign=top width=86&gt;
&lt;P style=&quot;MARGIN: 0cm 0cm 0pt&quot; class=MsoNormal&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 굴림; mso-font-kerning: 0pt&quot; lang=EN-US&gt;&lt;FONT size=2&gt;&lt;FONT color=#000000&gt;VARCHAR&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 42.5pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt&quot; vAlign=top width=57&gt;
&lt;P style=&quot;MARGIN: 0cm 0cm 0pt&quot; class=MsoNormal&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 굴림; mso-font-kerning: 0pt&quot; lang=EN-US&gt;&lt;FONT size=2&gt;&lt;FONT color=#000000&gt;10&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 158.6pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt&quot; vAlign=top width=211&gt;
&lt;P style=&quot;MARGIN: 0cm 0cm 0pt&quot; class=MsoNormal&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 굴림; mso-font-kerning: 0pt&quot; lang=EN-US&gt;&lt;o:p&gt;&lt;FONT color=#000000 size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style=&quot;mso-yfti-irow: 3&quot;&gt;
&lt;TD style=&quot;BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 83.35pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-border-alt: solid black .5pt; mso-border-top-alt: solid black .5pt&quot; vAlign=top width=111&gt;
&lt;P style=&quot;TEXT-ALIGN: center; MARGIN: 0cm 0cm 0pt&quot; class=MsoNormal align=center&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 굴림; mso-font-kerning: 0pt&quot;&gt;&lt;FONT size=2&gt;&lt;FONT color=#000000&gt;학년&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 67.85pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt&quot; vAlign=top width=90&gt;
&lt;P style=&quot;MARGIN: 0cm 0cm 0pt&quot; class=MsoNormal&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 굴림; mso-font-kerning: 0pt&quot; lang=EN-US&gt;&lt;FONT size=2&gt;&lt;FONT color=#000000&gt;&lt;STRONG&gt;grade&lt;o:p&gt;&lt;/o:p&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 64.2pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt&quot; vAlign=top width=86&gt;
&lt;P style=&quot;MARGIN: 0cm 0cm 0pt&quot; class=MsoNormal&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 굴림; mso-font-kerning: 0pt&quot; lang=EN-US&gt;&lt;FONT size=2&gt;&lt;FONT color=#000000&gt;&lt;STRONG&gt;TINYINT&lt;o:p&gt;&lt;/o:p&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 42.5pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt&quot; vAlign=top width=57&gt;
&lt;P style=&quot;MARGIN: 0cm 0cm 0pt&quot; class=MsoNormal&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 굴림; mso-font-kerning: 0pt&quot; lang=EN-US&gt;&lt;o:p&gt;&lt;FONT color=#000000 size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 158.6pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt&quot; vAlign=top width=211&gt;
&lt;P style=&quot;MARGIN: 0cm 0cm 0pt&quot; class=MsoNormal&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 굴림; mso-font-kerning: 0pt&quot; lang=EN-US&gt;&lt;o:p&gt;&lt;FONT color=#000000 size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style=&quot;mso-yfti-irow: 4; mso-yfti-lastrow: yes&quot;&gt;
&lt;TD style=&quot;BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 83.35pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-border-alt: solid black .5pt; mso-border-top-alt: solid black .5pt&quot; vAlign=top width=111&gt;
&lt;P style=&quot;TEXT-ALIGN: center; MARGIN: 0cm 0cm 0pt&quot; class=MsoNormal align=center&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 굴림; mso-font-kerning: 0pt&quot;&gt;&lt;FONT size=2&gt;&lt;FONT color=#000000&gt;학과번호&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 67.85pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt&quot; vAlign=top width=90&gt;
&lt;P style=&quot;MARGIN: 0cm 0cm 0pt&quot; class=MsoNormal&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 굴림; mso-font-kerning: 0pt&quot; lang=EN-US&gt;&lt;FONT size=2&gt;&lt;FONT color=#000000&gt;dept_no&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 64.2pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt&quot; vAlign=top width=86&gt;
&lt;P style=&quot;MARGIN: 0cm 0cm 0pt&quot; class=MsoNormal&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 굴림; mso-font-kerning: 0pt&quot; lang=EN-US&gt;&lt;FONT size=2&gt;&lt;FONT color=#000000&gt;INT&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 42.5pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt&quot; vAlign=top width=57&gt;
&lt;P style=&quot;MARGIN: 0cm 0cm 0pt&quot; class=MsoNormal&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 굴림; mso-font-kerning: 0pt&quot; lang=EN-US&gt;&lt;o:p&gt;&lt;FONT color=#000000 size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style=&quot;BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0cm; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 158.6pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0cm; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt&quot; vAlign=top width=211&gt;
&lt;P style=&quot;MARGIN: 0cm 0cm 0pt&quot; class=MsoNormal&gt;&lt;SPAN style=&quot;FONT-FAMILY: 굴림; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 굴림; mso-font-kerning: 0pt&quot;&gt;&lt;FONT size=2&gt;&lt;FONT color=#000000&gt;학과 테이블의 키&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&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-100-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-100-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-100-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 class=&quot;another_category another_category_color_gray&quot;&gt;
&lt;h4&gt;'&lt;a href=&quot;/category/책&quot;&gt;책&lt;/a&gt;&amp;nbsp;&gt;&amp;nbsp;&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;/109&quot; &gt;[뇌를자극하는 PHP프로그래밍] 3장에서 사용하는 form.php 소스코드&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/04/26&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/101&quot; &gt;[뇌를자극하는 PHP프로그래밍] 357페이지&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2010/09/15&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/100&quot; &gt;[뇌를자극하는 PHP프로그래밍] 306페이지&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2010/09/15&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/99&quot; &gt;[뇌를자극하는 PHP프로그래밍] 292페이지&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2010/09/15&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/98&quot; &gt;[뇌를자극하는 PHP프로그래밍] 146페이지&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2010/07/27&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/84&quot; &gt;[뇌를자극하는 PHP프로그래밍] 215페이지&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(3)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2009/11/13&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;</description>
			<category>바로잡습니다</category>
			<category>306</category>
			<category>뇌를 자극하는 PHP 프로그래밍</category>
			<category>오탈자</category>
			<author>행복한브라운</author>
			<guid>http://brown.ezphp.net/100</guid>
			<comments>http://brown.ezphp.net/100#entry100comment</comments>
			<pubDate>Wed, 15 Sep 2010 17:19:28 +0900</pubDate>
		</item>
		<item>
			<title>[뇌를자극하는 PHP프로그래밍] 292페이지</title>
			<link>http://brown.ezphp.net/99</link>
			<description>292페이지 그림 7-19는 다음과 같이 변경되어야 합니다.&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile22.uf.tistory.com/original/132ECA1F4C907E3C6418A2&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile22.uf.tistory.com/image/132ECA1F4C907E3C6418A2&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;7-19.png&quot; height=&quot;213&quot; width=&quot;548&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;바뀐 내용은 테이블 : 수강에서 학번 항목에 밑줄이 그어졌습니다.&lt;br /&gt;
&lt;br /&gt;원래 원고에는 위와 같이 제대로 작성되었으나 편집 과정에서 실수를 하신것 같네요.&lt;br /&gt;
&lt;br /&gt;학번과 학수번호 모두 키가 되기 때문에 학번, 학수번호 모두 밑줄이 필요합니다.&lt;br /&gt;
&lt;br /&gt;제보해주신 게토님께 감사드립니다.&lt;div class=&quot;entry-ccl&quot; style=&quot;clear: both; text-align: right; margin-bottom: 10px&quot;&gt;
	&lt;img id=&quot;ccl-icon-99-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-99-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-99-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 class=&quot;another_category another_category_color_gray&quot;&gt;
&lt;h4&gt;'&lt;a href=&quot;/category/책&quot;&gt;책&lt;/a&gt;&amp;nbsp;&gt;&amp;nbsp;&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;/101&quot; &gt;[뇌를자극하는 PHP프로그래밍] 357페이지&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2010/09/15&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/100&quot; &gt;[뇌를자극하는 PHP프로그래밍] 306페이지&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2010/09/15&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/99&quot; &gt;[뇌를자극하는 PHP프로그래밍] 292페이지&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2010/09/15&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/98&quot; &gt;[뇌를자극하는 PHP프로그래밍] 146페이지&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2010/07/27&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/84&quot; &gt;[뇌를자극하는 PHP프로그래밍] 215페이지&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(3)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2009/11/13&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/81&quot; &gt;[뇌를자극하는 PHP프로그래밍] 516페이지&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(3)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2009/11/13&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;</description>
			<category>바로잡습니다</category>
			<category>292</category>
			<category>뇌를 자극하는 PHP 프로그래밍</category>
			<category>오탈자</category>
			<author>행복한브라운</author>
			<guid>http://brown.ezphp.net/99</guid>
			<comments>http://brown.ezphp.net/99#entry99comment</comments>
			<pubDate>Wed, 15 Sep 2010 17:07:39 +0900</pubDate>
		</item>
		<item>
			<title>[뇌를자극하는 PHP프로그래밍] 146페이지</title>
			<link>http://brown.ezphp.net/98</link>
			<description>146페이지는 &amp;lt;TEXTAREA&amp;gt;&amp;lt;/TEXTAREA&amp;gt; 태그를 다루고 있습니다.&lt;br /&gt;
그런데 닫는 태그인 &amp;lt;/TEXTAREA&amp;gt;를 &amp;lt;TEXTAREA&amp;gt;로 표기한 부분이 있습니다.&lt;br /&gt;
&lt;br /&gt;
&lt;DIV style=&quot;BORDER-BOTTOM: #fe8943 1px dashed; BORDER-LEFT: #fe8943 1px dashed; PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #fedec7; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; BORDER-TOP: #fe8943 1px dashed; BORDER-RIGHT: #fe8943 1px dashed; PADDING-TOP: 10px&quot; class=txc-textbox&gt;&amp;lt;TEXTAREA NAME=&quot;content&quot; ROWS=&quot;5&quot; COLS=&quot;40&quot;&amp;gt;&amp;lt;TEXTAREA&amp;gt;&lt;br /&gt;
&lt;/DIV&gt;&lt;br /&gt;

&lt;DIV style=&quot;BORDER-BOTTOM: #9fd331 1px dashed; BORDER-LEFT: #9fd331 1px dashed; PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #e7fdb5; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; BORDER-TOP: #9fd331 1px dashed; BORDER-RIGHT: #9fd331 1px dashed; PADDING-TOP: 10px&quot; class=txc-textbox&gt;&amp;lt;TEXTAREA NAME=&quot;content&quot; ROWS=&quot;5&quot; COLS=&quot;40&quot;&amp;gt;&lt;STRONG&gt;&amp;lt;/TEXTAREA&amp;gt;&lt;br /&gt;
&lt;/STRONG&gt;&lt;/DIV&gt;&lt;br /&gt;
또한 그 아랫부분에도 동일한 문제가 있습니다.&amp;nbsp;&lt;br /&gt;

&lt;DIV style=&quot;BORDER-BOTTOM: #fe8943 1px dashed; BORDER-LEFT: #fe8943 1px dashed; PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #fedec7; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; BORDER-TOP: #fe8943 1px dashed; BORDER-RIGHT: #fe8943 1px dashed; PADDING-TOP: 10px&quot; class=txc-textbox&gt;&amp;lt;TEXTAREA NAME=&quot;content&quot; ROWS=&quot;5&quot; COLS=&quot;40&quot;&amp;gt;글의 내용을 입력하세요.&amp;lt;TEXTAREA&amp;gt;&lt;br /&gt;
&lt;/DIV&gt;&lt;br /&gt;

&lt;DIV style=&quot;BORDER-BOTTOM: #9fd331 1px dashed; BORDER-LEFT: #9fd331 1px dashed; PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #e7fdb5; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; BORDER-TOP: #9fd331 1px dashed; BORDER-RIGHT: #9fd331 1px dashed; PADDING-TOP: 10px&quot; class=txc-textbox&gt;&amp;lt;TEXTAREA NAME=&quot;content&quot; ROWS=&quot;5&quot; COLS=&quot;40&quot;&amp;gt;글의 내용을 입력하세요.&lt;STRONG&gt;&amp;lt;/TEXTAREA&amp;gt;&lt;/STRONG&gt;&lt;br /&gt;
&lt;/DIV&gt;&lt;STRONG&gt;&lt;br /&gt;
&lt;/STRONG&gt;위와 같이&amp;nbsp;변경하여야 합니다.&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-98-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-98-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-98-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 class=&quot;another_category another_category_color_gray&quot;&gt;
&lt;h4&gt;'&lt;a href=&quot;/category/책&quot;&gt;책&lt;/a&gt;&amp;nbsp;&gt;&amp;nbsp;&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;/100&quot; &gt;[뇌를자극하는 PHP프로그래밍] 306페이지&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2010/09/15&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/99&quot; &gt;[뇌를자극하는 PHP프로그래밍] 292페이지&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2010/09/15&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/98&quot; &gt;[뇌를자극하는 PHP프로그래밍] 146페이지&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(2)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2010/07/27&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/84&quot; &gt;[뇌를자극하는 PHP프로그래밍] 215페이지&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(3)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2009/11/13&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/81&quot; &gt;[뇌를자극하는 PHP프로그래밍] 516페이지&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(3)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2009/11/13&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/80&quot; &gt;[뇌를자극하는 PHP프로그래밍] 505페이지&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2009/11/13&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;</description>
			<category>바로잡습니다</category>
			<category>146</category>
			<category>뇌를 자극하는 PHP 프로그래밍</category>
			<category>오탈자</category>
			<author>행복한브라운</author>
			<guid>http://brown.ezphp.net/98</guid>
			<comments>http://brown.ezphp.net/98#entry98comment</comments>
			<pubDate>Tue, 27 Jul 2010 12:41:37 +0900</pubDate>
		</item>
		<item>
			<title>[ASPLOS 2009] DFTL</title>
			<link>http://brown.ezphp.net/97</link>
			<description>&lt;DIV style=&quot;BORDER-BOTTOM: #9fd331 1px dashed; BORDER-LEFT: #9fd331 1px dashed; PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #e7fdb5; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; BORDER-TOP: #9fd331 1px dashed; BORDER-RIGHT: #9fd331 1px dashed; PADDING-TOP: 10px&quot; class=txc-textbox&gt;Gupta, A., Kim, Y., and Urgaonkar, B. 2009. DFTL: a flash translation layer employing demand-based selective caching of page-level address mappings. In &lt;I&gt;Proceeding of the 14th international Conference on Architectural Support For Programming Languages and Operating Systems&lt;/I&gt; (Washington, DC, USA, March 07 - 11, 2009). ASPLOS '09. ACM, New York, NY, 229-240.&lt;br /&gt;
&lt;/DIV&gt;&lt;br /&gt;
하드디스크는&amp;nbsp;해당 데이터를 찾기 위해서&amp;nbsp;기계적으로 헤더를 움직이고 플래터를 고속으로 회전 시켜야 하기 때문에 delay가 길고 또한 파워를 많이 소비한다. 반면 Flash 타입의 대용량 메모리는 하드디스크에 비해 파워와 Delay 측면에서&amp;nbsp;많은 이점이 있다. 그러나 Flash는 데이터를&amp;nbsp;write 하기&amp;nbsp;위해서는 반드시 해당 블록을 erase 해줘야 한다. 이러한 특성으로 인해서 workload의 특성에 따라서 Flash 메모리의 성능이 크게 차이가 나게 된다. 예를들어 빈곳에만 데이터를 계속해서 쓰게 된다면 erase 작업이 필요없으므로 성능이 좋을 수 있으나 데이터가 쓰여진 블록을 계속해서 write 하게 되면 당연히 성능이 저하될 수 밖에 없다. erase-before-write 현상을 줄이기 위해서 Flash Translation Layer(FTL)을 사용하게 되며 이는 virtual 주소와 physical 주소를 변환해주는 역할을 한다. 이 논문은 새로운 Demand-based FTL을 제안하고 있으며&amp;nbsp;flash 기반 device에서 random write의 성능을 높이는 것이 목표이다.&lt;br /&gt;
&lt;br /&gt;먼저 간략하게 FTL에 대해서 알아보면,&lt;br /&gt;
virtual-to-physical address mapping을 위하여 작고 빠른 SRAM을 사용한다. &lt;br /&gt;
(Flash는 RAM에 비해 느리기 때문에 Flash 메모리를 mapping table로 사용하게 되면 너무 overhead가 크다.)&lt;br /&gt;
&lt;br /&gt;두가지 방법이 있는데 Page-level FTL과 Block-Level FTL이 있다. &lt;br /&gt;
Page-level로 매핑 테이블을 관리하게 되면 효율적으로 Flash를 사용할 수 있기때문에 좋지만 그대신 mapping table이 너무 커지게 된다. 16GB용량에 2KB 크기의 page를 사용할 경우 32MB의 SRAM이 필요하다. 크헉. 너무비싸!&lt;br /&gt;
Block-level로 매핑 테이블을 관리하면 적은 SRAM으로 가능하지만 garbage collection(GC)의 비용이 너무 많이 든다.&lt;br /&gt;
그래서 Page-level과 Block-level의 중간적 형태인 Hybrid FTL이 제안되고 있다. (이 논문의 DFTL도 Hybrid-FTL의 일종이다.)&lt;br /&gt;
하이브리드 FTL은 Data와 Log 블록으로 나누어지며 Data 블록은 block-level, Log 블록은 page-level mapping을 담당한다.&lt;br /&gt;
하이브리드 FTL에서 GC는 더 이상 유효한 log block이&amp;nbsp;없을 경우 수행되며 log block과 data block을 merge하는 것이다.&lt;br /&gt;
GC에는 기본적으로 3가지가 있으며 다음과 같다.&lt;br /&gt;
&lt;br /&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile1.uf.tistory.com/original/186F300C4C4E44BA082285&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile1.uf.tistory.com/image/186F300C4C4E44BA082285&quot; alt=&quot;&quot; filemime=&quot;image/png&quot; filename=&quot;gc.png&quot; height=&quot;369&quot; width=&quot;700&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
(a)&amp;nbsp;Switch Merge의 경우&amp;nbsp;LPN(Logical Page Number)가 동일하지만 Data Block A에서는 모두 I 상태(Invalid)이기 때문에 모두 V 상태(Valid)인 Log Block B로부터&amp;nbsp;Switch만 하면 된다.&lt;br /&gt;
&lt;br /&gt;(b) Partial Merge의 경우는 부분적으로만 유효한 경우 유효한&amp;nbsp;놈들끼리 모아서 하나의 Valid한 Block을 만들 수 있다. 그리고 Data Block을 날려버리면 공간이 확보된다.&lt;br /&gt;
&lt;br /&gt;(c) Full Merge는 여러&amp;nbsp;블록으로부터 가져와야 하는 경우인데 이미 지워진 또다른 블록에다가 부분적으로 유효한 페이지들을 모아서 넣는다. 나머지는 지워버려서 공간을 확보할 수 있다.&lt;br /&gt;
&lt;br /&gt;그런데 Full Merge를 수행하는 것은 비용이 매우 비싸겠지. 여러테이블에서 가져와야 하고 심지어 네개의 블록에서 하나의 블록을 만들게 될 수도 있으니까.&lt;br /&gt;
&lt;br /&gt;&amp;nbsp;이러한 문제점을 해결하기 위해서 이 논문은 다음과 같은 DFTL이란 새로운 scheme을 제안하고 있다. &lt;br /&gt;
&lt;br /&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile29.uf.tistory.com/original/206EEE0C4C4E44B91CE301&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile29.uf.tistory.com/image/206EEE0C4C4E44B91CE301&quot; alt=&quot;&quot; filemime=&quot;image/png&quot; filename=&quot;dftl.png&quot; height=&quot;401&quot; width=&quot;700&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
DFTL은 기본적으로 Page-level mapping을 사용한다. 아까 page-level mapping을 하게 되면 SRAM의 크기가 커져서 비용이 매우 많이 든다고 했는데 ..... ㅋㅋ. 그래서 DFTL은 page-level mapping 테이블을 FLASH에다 저장한다. 그럼 SRAM에 비해서 너무 느려지는데.... ㅋㅋ. 그래서 SRAM에서 이 mapping table을 caching 한다. ㅋㅋ&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile3.uf.tistory.com/original/1376810C4C4E44BA024436&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile3.uf.tistory.com/image/1376810C4C4E44BA024436&quot; alt=&quot;&quot; filemime=&quot;image/png&quot; filename=&quot;example.png&quot; height=&quot;340&quot; width=&quot;700&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
어떻게 동작하는지 볼까? (아놔 나 너무 친절한듯..ㅋㅋ)&lt;br /&gt;
&lt;br /&gt;LPN이 1280인 Data Page를 요구한 경우 &lt;br /&gt;
(1) Cached Mapping Table에서 해당 DLPN을 찾는다. 그러나 이경우에는 없네. 아놔 여기 있으면 바로 데이터로 접근이 가능한데. 우띠. 그럼 일단 CMT를 하나 버려야겠군. Victim entry로 DLPN 1이 선택되었다. &lt;br /&gt;
(2) DLPN=1, DPPN(Physical Page Number)=260인데 DLPN=1이니까 512로 나누어 내림하면 0이니&amp;nbsp;Global Translation Directory(GTD)에서 MVPM이 0번을 찾는다. MPPN은 21이네. &lt;br /&gt;
(3) MPPN이 21이니 Translation Block에서 MPPN=21인 걸 찾으니 가운데것이군.&amp;nbsp;근데&amp;nbsp;Valid인 블록에서 한&amp;nbsp;Page만 업데이트가 불가능하니(왜냐하면 Flash는 블록단위로 쓰기가 가능하니까) 다른 빈놈에다가 이걸 옮기고 값을 업데이트 해야하는군. &lt;br /&gt;
(4) 그래서 MPPN=23인 놈에 DLPN=1인 부분은 260으로 바꾸면서 MPPN21의 데이터를 전부 복사한다. 이제 MPPN=21은 더이상 쓸모 없으니 Invalid 상태로 만들고 MPPN=23은 &amp;nbsp;Free-&amp;gt;Valid로 변경. (크흑 아직 반도 안왔어.)&lt;br /&gt;
(5) MPPN=23으로 변경되었으니 GTD에도 반영을 해줘야해. &lt;br /&gt;
(6) GTD MVPN=0, MPPN=21을 MVPN=0, MPPN=23으로 변경 (이놈은 SRAM이니까 부분 업데이트가 바로 돼)&lt;br /&gt;
(7) 아놔 이제 다 공간을 맹글어놨으니까 아까 1280번 처리를 다시 시작해보자. DLPN=1280이니까 512로 나누면 2. MVPN=2가 되는군&lt;br /&gt;
(8) MVPN=2인 곳은 MPPN=15네. TB에서 MPPN=15를 찾아.&lt;br /&gt;
(9) DLPN=1280인 놈은 DPPN이 660이구만. &lt;br /&gt;
(10) 자 이제 DPPN도 찾았으니 이걸 CMT에다 업데이트를 해. DLPN=1280, DPPN=660&lt;br /&gt;
(11) DPPN=660에서 Data를 찾아서 되돌려주면 끝! (아놔 길다. 데이터 한 번 얻기 참 힘드네. 어휴)&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-97-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-97-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-97-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 class=&quot;another_category another_category_color_gray&quot;&gt;
&lt;h4&gt;'&lt;a href=&quot;/category/논문%20정리&quot;&gt;논문 정리&lt;/a&gt;' 카테고리의 다른 글&lt;/h4&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/97&quot; &gt;[ASPLOS 2009] DFTL&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2010/07/27&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/96&quot; &gt;[ASPLOS 2010] SherLog: error diagnosis by connecting clues from run-time logs&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2010/07/23&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/92&quot; &gt;PCM (Phase Change Memory, or PRAM)&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(3)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2010/03/09&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;</description>
			<category>논문 정리</category>
			<author>행복한브라운</author>
			<guid>http://brown.ezphp.net/97</guid>
			<comments>http://brown.ezphp.net/97#entry97comment</comments>
			<pubDate>Tue, 27 Jul 2010 11:44:26 +0900</pubDate>
		</item>
		<item>
			<title>[ASPLOS 2010] SherLog: error diagnosis by connecting clues from run-time logs</title>
			<link>http://brown.ezphp.net/96</link>
			<description>&lt;DIV style=&quot;BORDER-BOTTOM: #9fd331 1px dashed; BORDER-LEFT: #9fd331 1px dashed; PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #e7fdb5; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; BORDER-TOP: #9fd331 1px dashed; BORDER-RIGHT: #9fd331 1px dashed; PADDING-TOP: 10px&quot; class=txc-textbox&gt;Yuan, D., Mai, H., Xiong, W., Tan, L., Zhou, Y., and Pasupathy, S. 2010. SherLog: error diagnosis by connecting clues from run-time logs. &lt;I&gt;SIGPLAN Not.&lt;/I&gt; 45, 3 (Mar. 2010), 143-154.&amp;nbsp;&lt;/DIV&gt;&lt;br /&gt;
컴퓨터 시스템은 소프트웨어 버그나 관리자의 configuration&amp;nbsp;실수 등으로 인해서 종종 에러가 발생한다. 이러한 에러 현상을 분석하고 진단하기 위해서 동일한 에러를 재현하는 것이 필요한데&amp;nbsp;다음과 같은 이유 등으로 이런 작업들이 매우 어렵다.&lt;br /&gt;
&lt;br /&gt;1. privacy로 인한 사용자의 입력값과 파일의 내용의 접근이 어렵고&lt;br /&gt;
2. 동일한 실행 환경을 구축하기 힘들고&lt;br /&gt;
3. 멀티프로세서와 같은 환경에서 실행이 deterministic 하지 못하기 때문에 어렵다.&lt;br /&gt;
&lt;br /&gt;이러한 이유로 대부분의 업체들은 사용자로부터 에러 로그를 받아서 소스 코드와 비교해가면서 문제를 찾아내는데 사실 이러한 작업은 매우 번거로우며 시간이 많이 소요되는 일이다. 그래서 저자들은 Sherlog (아마도 셜록홈즈에서 음을 차용한듯)이라는 진단 툴을 개발하였다.&lt;br /&gt;
&lt;br /&gt;SherLog의 특징은 사용자가 보내준 에러 메세지 로그와 소스 코드만 가지고 에러의 원인을 분석, 진단할뿐 다른 논문들 처럼 에러를 재현하려고 하지 않는다. 로그의 분석을 위해서 Log Parser를 가지고 있으며 Log가 매우 다양한 포맷으로 생성되기 때문에 Log Parser를 생성해주는 Log Parser Generation 도구도 만들었다. Log Parser가 하는 일은 소스에서 로그 출력부분을 찾고&amp;nbsp;실제 에러 메세지 로그와 비교(RegEx을 이용)하여 로그와 소스를 매칭한다.&lt;br /&gt;
&lt;br /&gt;그런 다음 가능성있는 로그 출력부분의 조합을 만들어 Path를 만들게 되는데 단순 조합은 무수히 많이 생길 수 있어서 이 중에서 실제 실행가능한 Path를 찾기 위해 if-else나 변수의 값에 따라 결정되어지는 control flow를 분석하여 Must-Path, May-Path, Pruned-Path로 구분한다. Must-Path는 반드시 수행되는 Path, May-Path는 가능성 있는 예를들면 if에서 조건에 따라 A나 B Path로 수행되는 경우를 말하며 Pruned-Path는 로그가 이 Path로는 에러 메세지 로그 형태로 만들어 질 수 없는 경우를 말한다.&lt;br /&gt;
&lt;br /&gt;이렇게 3종류로 분석이 되면 분석 결과를 출력해주는데 Must-Path가 있다면 Must-Path들(하나 이상이 생길 수 있다)을 분석하면 에러의 발생 원인을 진단할 수 있다. 만약 May-Path만 있다면 가능한 경우가 여러가지여서 좀 더 분석에 시간이 걸리게&amp;nbsp;된다.&lt;br /&gt;
&lt;br /&gt;논문을 보면 rmdir 명령을 예로들어 설명하고 있는데 이 부분만 간단히 살펴봐도 어떻게 진단하는 것인지 쉽게 알 수 있다. 단, 모든 실제 어플리케이션이 가능한 것은 아니라고 하고 apache와 같은 서버 프로그램들도 테스트를 했는데 길게는 40분 정도 진단 시간이 소요된다고 한다.&lt;br /&gt;
&lt;br /&gt;rmdir 분석 결과를 첨부한다.&lt;br /&gt;
&lt;br /&gt;&lt;div class=&quot;imageblock&quot; style=&quot;display:inline;&quot;&gt;&lt;a href=&quot;http://cfile27.uf.tistory.com/original/151FF0244C4924DE5AAC3F&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile27.uf.tistory.com/image/151FF0244C4924DE5AAC3F&quot; alt=&quot;&quot; filemime=&quot;image/png&quot; filename=&quot;rmdir.png&quot; height=&quot;446&quot; width=&quot;488&quot;/&gt;&lt;/a&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-96-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-96-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-96-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 class=&quot;another_category another_category_color_gray&quot;&gt;
&lt;h4&gt;'&lt;a href=&quot;/category/논문%20정리&quot;&gt;논문 정리&lt;/a&gt;' 카테고리의 다른 글&lt;/h4&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/97&quot; &gt;[ASPLOS 2009] DFTL&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2010/07/27&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/96&quot; &gt;[ASPLOS 2010] SherLog: error diagnosis by connecting clues from run-time logs&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2010/07/23&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/92&quot; &gt;PCM (Phase Change Memory, or PRAM)&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(3)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2010/03/09&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;</description>
			<category>논문 정리</category>
			<category>ASPLOS</category>
			<category>SherLog</category>
			<author>행복한브라운</author>
			<guid>http://brown.ezphp.net/96</guid>
			<comments>http://brown.ezphp.net/96#entry96comment</comments>
			<pubDate>Fri, 23 Jul 2010 14:13:27 +0900</pubDate>
		</item>
		<item>
			<title>짱구 녹음기 v1.1 - MP3 녹음기</title>
			<link>http://brown.ezphp.net/95</link>
			<description>&lt;DIV style=&quot;BORDER-BOTTOM: rgb(159,211,49) 1px dashed; BORDER-LEFT: rgb(159,211,49) 1px dashed; PADDING-BOTTOM: 10px; BACKGROUND-COLOR: rgb(231,253,181); PADDING-LEFT: 10px; PADDING-RIGHT: 10px; BORDER-TOP: rgb(159,211,49) 1px dashed; BORDER-RIGHT: rgb(159,211,49) 1px dashed; PADDING-TOP: 10px&quot; class=txc-textbox&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://happybrown.tistory.com/attachment/cfile9.uf@12150D254BC695E792BCE0.exe&quot;&gt;&lt;img src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/blog/image/extension/exe.gif&quot; alt=&quot;&quot; style=&quot;vertical-align: middle;&quot; /&gt; JGRecorder.exe&lt;/a&gt;&lt;/div&gt;&lt;/DIV&gt;&lt;br /&gt;

&lt;DIV style=&quot;TEXT-ALIGN: left&quot;&gt;아류작 시리즈 제 2탄! 짱구 녹음기 v1.1 입니다.&lt;br /&gt;
&lt;br /&gt;뭐의 아류작일까요? 맞춰보세욧!! ㅋㅋ&lt;br /&gt;
&lt;br /&gt;이 프로그램은 컴퓨터에서 나는 소리를 녹음하는 프로그램입니다. 컴퓨터에서 나는 소리면 뭐든지 녹음이 됩니다. 녹음된 소리는 MP3 파일로 저장됩니다. 시중에 매우 안정적이고 좋은 녹음기 프로그램(그것의 아류작?)이 있는데 굳이 왜 만들었을까요? 더 잘 만드려고 그랬을까요? 절대 아닙니다. 저는 특별한 용도로 사용하기 위해서 만든 것인데 공개적으로는 말씀드릴 수가 없을 것 같네요. 한번 사용해보시고 용도를 잘 생각해보시면&amp;nbsp;어떤(?) 유용한 용도로 사용이 가능합니다. 심심하시면 무슨 용도일지도 맞춰보세요. ㅋㅋㅋ&lt;br /&gt;
&lt;br /&gt;짱구 녹음기 기능,&lt;br /&gt;
&lt;br /&gt;1. 컴퓨터에서 나는 소리를 녹음하여 MP3로 저장&lt;br /&gt;
2. 파일 분할 기능 (소리가 일정시간 나지 않을 경우 새로운 파일로 녹음 파일 생성)&lt;br /&gt;
3. 끝!&lt;br /&gt;
&lt;br /&gt;다음은 스크린 샷입니다. 디자인은 슬쩍(?)했습니다.&lt;br /&gt;
&lt;br /&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile27.uf.tistory.com/original/13275E254BC696A95CF74B&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile27.uf.tistory.com/image/13275E254BC696A95CF74B&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;j1.jpg&quot; height=&quot;95&quot; width=&quot;190&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
설정 부분 스크린 샷, 마우스 오른쪽 버튼 누르면 팝업 메뉴가 뜹니다.&lt;br /&gt;
&lt;/DIV&gt;
&lt;DIV style=&quot;TEXT-ALIGN: center&quot;&gt;&lt;div class=&quot;imageblock dual&quot; style=&quot;text-align: center;&quot;&gt;&lt;table cellspacing=&quot;5&quot; cellpadding=&quot;0&quot; border=&quot;0&quot; style=&quot;margin: 0 auto;&quot;&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;http://cfile25.uf.tistory.com/original/195833254BC696A9066C94&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile25.uf.tistory.com/image/195833254BC696A9066C94&quot; alt=&quot;&quot; height=&quot;242&quot; width=&quot;260&quot;/&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;http://cfile23.uf.tistory.com/original/1645E5244BC696E56F85A8&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile23.uf.tistory.com/image/1645E5244BC696E56F85A8&quot; alt=&quot;&quot; height=&quot;242&quot; width=&quot;260&quot;/&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;
&lt;/DIV&gt;&lt;br /&gt;
&amp;nbsp; 파일 이름은 앞에 이름을 넣으면 그다음에 3자리 숫자로 순서대로 증가하면서 자동 저장됩니다. 그리고 파일 분할을 사용하지 않을때 녹음-정지를 연속으로 누르면 매번 새로운 파일이 생성되는 것이 아니라 항상 동일한 파일로 덮어써지게 됩니다. 주의하세요. ㅋㅋ&lt;br /&gt;
&lt;br /&gt;녹음기를 실행하면 정상적으로 동작할 경우 볼륨바가 소리 크기에 따라 움직입니다. 그런데 분명 소리가 나는데도 볼륨바가 움직이지 않는 경우가 있지요. 그럴때는 다음과 같이 해보시기 바랍니다.&lt;br /&gt;
&lt;br /&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile8.uf.tistory.com/original/1653F6134BC6AE004BEA83&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile8.uf.tistory.com/image/1653F6134BC6AE004BEA83&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;j4.jpg&quot; height=&quot;279&quot; width=&quot;409&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
녹음 옵션에서 스테레오 믹스를 선택하시면 위와 같이 나오는데 &quot;음소거&quot;를 체크해제 하시면 됩니다. 그러면 볼륨에 따라 바가 움직이는 것을 확인할 수 있습니다. 이 소리 크기를 적당히 조절하여 볼륨바가 평균적으로 중간 전후해서 오게 하면 녹음이 잘 됩니다. 볼륨 크기가 너무 작아서 절반 이하로 나오는 경우 파일 분할 기능때문에 파일이 여러개로 쪼개질 가능성이 있습니다.&lt;br /&gt;
&lt;br /&gt;
&lt;DIV style=&quot;BORDER-BOTTOM: rgb(159,211,49) 1px dashed; BORDER-LEFT: rgb(159,211,49) 1px dashed; PADDING-BOTTOM: 10px; BACKGROUND-COLOR: rgb(231,253,181); PADDING-LEFT: 10px; PADDING-RIGHT: 10px; BORDER-TOP: rgb(159,211,49) 1px dashed; BORDER-RIGHT: rgb(159,211,49) 1px dashed; PADDING-TOP: 10px&quot; class=txc-textbox&gt;녹음을 잘 하기 위해서는 저기 볼륨바를 잘 보시면 평균적으로 절반 이상 갈때 가장 좋은 소리로 녹음할 수 있습니다. &lt;br /&gt;
어차피 개인 용도로 만든거라 제 컴퓨터에서는 매우 잘 동작하나 다른 분들께는 동작시 제대로 안될 가능성도 있습니다.&lt;/DIV&gt;&lt;br /&gt;
참고로 짱구 녹음기라는 요상한 이름이 된 것에는 저의 작명 센스 보다는&amp;nbsp;제 아들&amp;nbsp;강아지 &quot;짱구&quot;를 생각하며 만들었기 때문입니다.&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-95-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-95-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-95-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 class=&quot;another_category another_category_color_gray&quot;&gt;
&lt;h4&gt;'&lt;a href=&quot;/category/프로그래밍&quot;&gt;프로그래밍&lt;/a&gt;&amp;nbsp;&gt;&amp;nbsp;&lt;a href=&quot;/category/프로그래밍/MP3%20녹음기&quot;&gt;MP3 녹음기&lt;/a&gt;' 카테고리의 다른 글&lt;/h4&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/95&quot; &gt;짱구 녹음기 v1.1 - MP3 녹음기&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(27)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2010/04/15&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;</description>
			<category>MP3 녹음기</category>
			<category>mp3</category>
			<category>mp3 녹음</category>
			<category>녹음기</category>
			<category>짱구 녹음기</category>
			<category>파일 분할</category>
			<author>행복한브라운</author>
			<guid>http://brown.ezphp.net/95</guid>
			<comments>http://brown.ezphp.net/95#entry95comment</comments>
			<pubDate>Thu, 15 Apr 2010 15:06:04 +0900</pubDate>
		</item>
		<item>
			<title>뇌를 자극하는 PHP 프로그래밍 - 1장 발표자료 - pdf 파일</title>
			<link>http://brown.ezphp.net/93</link>
			<description>&lt;DIV style=&quot;BORDER-BOTTOM: #9fd331 1px dashed; BORDER-LEFT: #9fd331 1px dashed; PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #e7fdb5; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; BORDER-TOP: #9fd331 1px dashed; BORDER-RIGHT: #9fd331 1px dashed; PADDING-TOP: 10px&quot; class=txc-textbox&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://happybrown.tistory.com/attachment/cfile27.uf@1371561B4BAC35B930C593.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; 뇌자극-PHP-1장.pdf&lt;/a&gt;&lt;/div&gt;&lt;/DIV&gt;&lt;br /&gt;
&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile9.uf.tistory.com/original/14509C1C4BAC34C0714BE9&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile9.uf.tistory.com/image/14509C1C4BAC34C0714BE9&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;뇌자극-PHP-1장.jpg&quot; height=&quot;392&quot; width=&quot;593&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;뇌를 자극하는 PHP 프로그래밍의 1장 부분에 대한 발표자료 입니다. &lt;br /&gt;
학교내 학회 세미나를 위해서 제작된 것으로 그림 위주로 제작되어 있습니다. &lt;br /&gt;
약 1시간 분량으로 계획해서 작성한 자료이며 음성 강좌는 세미나 후에 업로드할 예정입니다.&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-93-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-93-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-93-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 class=&quot;another_category another_category_color_gray&quot;&gt;
&lt;h4&gt;'&lt;a href=&quot;/category/책&quot;&gt;책&lt;/a&gt;&amp;nbsp;&gt;&amp;nbsp;&lt;a href=&quot;/category/책/동영상%20강좌&quot;&gt;동영상 강좌&lt;/a&gt;' 카테고리의 다른 글&lt;/h4&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/93&quot; &gt;뇌를 자극하는 PHP 프로그래밍 - 1장 발표자료 - pdf 파일&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2010/03/26&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;</description>
			<category>동영상 강좌</category>
			<category>1장</category>
			<category>php</category>
			<category>PHP 강좌</category>
			<category>PHP프로그래밍</category>
			<category>PPT</category>
			<category>뇌를 자극하는 PHP 프로그래밍</category>
			<category>발표자료</category>
			<author>행복한브라운</author>
			<guid>http://brown.ezphp.net/93</guid>
			<comments>http://brown.ezphp.net/93#entry93comment</comments>
			<pubDate>Fri, 26 Mar 2010 13:15:49 +0900</pubDate>
		</item>
		<item>
			<title>PCM (Phase Change Memory, or PRAM)</title>
			<link>http://brown.ezphp.net/92</link>
			<description>&lt;DIV style=&quot;BORDER-BOTTOM: #9fd331 1px dashed; BORDER-LEFT: #9fd331 1px dashed; PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #e7fdb5; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; BORDER-TOP: #9fd331 1px dashed; BORDER-RIGHT: #9fd331 1px dashed; PADDING-TOP: 10px&quot; class=txc-textbox&gt;&lt;STRONG&gt;Reference&lt;/STRONG&gt; : MICRO 2009, Sangyeon Cho, Hyunjin Lee&lt;br /&gt;
Flip-N-Write : A Simple Deterministic Technique to Improve PRAM Write Performance, Energy and Endurance&lt;br /&gt;
&lt;/DIV&gt;&lt;br /&gt;
현재 우리가 사용하고 있는 대표적인 메모리는&amp;nbsp;메인 메모리로 사용하는 DRAM(특히 SDRAM)과 캐쉬로 사용하는 SRAM 마지막으로 최근 이동식디스크로 사용하는 Flash이다. DRAM과 SRAM은 휘발성 메모리로 파워가 공급되는 동안에는 값을 유지하지만 파워가 끊기면 기억하고 있던 값은 모두 날라가 버린다. 그래서 이름이 휘발성 메모리(Volatile Memory)이다. DRAM은 매우 간단한 구조로 싼값에 메모리를 집적할 수 있기 때문에 대용량의 메모리를 만드는데 적합하나 값을 유지하기 위해서 주기적으로 갱신(Refresh) 작업을 실행해 주어야 한다. 그 이유는 leakage current로 인해서 시간이 지나면 값을 잃어버리기 때문이다. 반면 SRAM은 갱신작업이 필요없고 매우 빠르나 매우 비싸기 때문에 대용량 메모리로 사용하기 어려워 캐쉬에서만 사용하고 있다. 이 둘과 달리 Flash는 비휘발성 메모리(Non-Volatile Memory)이기 때문에 파워 공급이 없어도 값을 잃어버리지 않으며 DRAM에 비해서 느리기는 하나 집적이 쉬워서 대용량 메모리로 사용되고 있다. 그러면 DRAM 혹은 SRAM과 Flash 메모리의 장점을 섞어 놓은 빠르면서도 집적이 쉽고 leakage current가 흐르지 않아 Refresh를 해줄 필요가 없는 비휘발성&amp;nbsp;메모리는 만들 수 없을까?&lt;br /&gt;
&lt;br /&gt;최근 PCM (Phase Change Memory)이 많이 연구되고 있다. PCM은 앞으로 우리가 사용하는 PC의 메인 메모리를 대체할 수 있는 대표적인 차세대 메모리이다. PCM 메모리는 최근에 주로 연구가 되고 있지만 이미 1960년대에 그 가능성이 제기되었으며 비휘발성 메모리로 집적도 또한 우수하다. 이런 성격때문에 차세대 메모리로 각광받고 있으며 최근 상용화의 막바지 단계에 근접해가고 있다. 그러나 PCM의 고질적인 문제가 있으니 바로 데이터를 쓰는 횟수의 제한이다. 이 물질의 특성으로 발생하는 쓰기 제한은 메모리의 life time에 영향을 미치기 때문에 심각한 문제를 초래할 수 있다. 만약 메모리를 구매했는데 1년밖에 쓰지 못한다면 누가 그 메모리를 사용하려고 하겠는가? 그래서 ISCA나 MICRO와 같은 최고의 학회에서 매년 이와 관련된 PCM&amp;nbsp;논문들이 쏟아지고 있다.&lt;br /&gt;
&lt;br /&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile10.uf.tistory.com/original/193935234B95B4B80E7A27&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile10.uf.tistory.com/image/193935234B95B4B80E7A27&quot; alt=&quot;&quot; filemime=&quot;&quot; filename=&quot;cfile10.uf@193935234B95B4B80E7A27.png&quot; height=&quot;259&quot; width=&quot;700&quot;/&gt;&lt;/a&gt;&lt;p class=&quot;cap1&quot;&gt;Pictures from Hegedüs and Elliott, Nature Materials, March 2008&lt;/p&gt;&lt;/div&gt;&lt;br /&gt;
PCM을 구성하는 한 Cell은 위와 같이 두가지 상태를 가지게 된다. 왼쪽 그림 상태인 Amorphous 상태와 오른쪽 상태인 Crystalline 상태이다. Amorphous 상태는 저항이 크기 때문에 Logical 0(zero)를 의미하고 Crystalline 상태는 저항이 매우 낮기 때문에 Logical 1을 의미한다. 0을 1로 바꾸는 것을 SET operation이라 하고 1을 0으로 바꾸는 것을 RESET operation이라고 한다. SET이나 RESET이나 모두 메모리에 데이터를 쓰기 위한 동작으로 GST(Cell의 구성물질)의 상태를 변화시키기 때문에 다음과 같이 많은 전류가 필요하며 Latency 또한 길어진다. 반면에 READ operation의 경우 GST의 현재 상태만을 Sensing 하기 때문에 적은 전류와 적은 Latency로 값을 읽어오는 것이 가능하다.&lt;br /&gt;
&lt;br /&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile25.uf.tistory.com/original/136F80224B95B69B164FBC&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile25.uf.tistory.com/image/136F80224B95B69B164FBC&quot; alt=&quot;&quot; filemime=&quot;image/png&quot; filename=&quot;characteristic.png&quot; height=&quot;243&quot; width=&quot;356&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
그런데 쓰기 동작으로 인해서 쓰기 횟수의 제한이 발생하는데 대체적으로 최대 10만번까지 쓰기가 가능하다. 즉, 한 Cell에 10만번 데이터를 쓰면 더 이상 그 Cell을 사용할 수 없게 된다는 의미이다. 문제는 이 하나의 Cell이 사용할 수 없는 상태가 되면 메모리 전체를 사용할 수 없게 되기 때문에 이를 해결하는 방법이 필요하게 된다. 그래서 최근 연구는 메모리의 수명을 늘리기 위해서 대체적으로 두가지 접근법을 사용하고 있다.&lt;br /&gt;
&lt;br /&gt;1. Write 횟수를 줄이는 방법&lt;br /&gt;
2. 특정 Cell 혹은 Word line이 집중적으로 Write 되는 것을 방지하는 방법&lt;br /&gt;
&lt;br /&gt;첫 번째 방법 : Write 횟수를 줄이는 방법&lt;br /&gt;
A. Partial Writes (ISCA 2009)&lt;br /&gt;
캐쉬에서 메인 메모리로 Write Back을 할 때, Dirty bit이 1인 경우 해당 캐쉬 라인 전체를 메모리에 업데이트하게 된다. 이렇게 되면 실제 캐쉬 라인의 극히 일부분이 변경되었다 하더라도 전체의 값이 업데이트 되기 때문에 불필요한 Write가 발생하게 된다. 즉, Partial Writes 기법은 캐쉬 라인 전체를 업데이트 하지 말고 최대한 수정된 부분만 업데이트 하자는&amp;nbsp;생각이다. (물론 이 부분은 뒤에 나오는 다른 방법도 같은 발상에서 출발한다.&amp;nbsp;) 그래서 Dirty bit의 수를 늘려서 캐쉬라인을 잘게 쪼개어 수정된 부분만 업데이트를 하자는 것이 이 방법이다.&lt;br /&gt;
&lt;br /&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile25.uf.tistory.com/original/1627A71D4B95BA9337D4AB&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile25.uf.tistory.com/image/1627A71D4B95BA9337D4AB&quot; alt=&quot;&quot; filemime=&quot;image/png&quot; filename=&quot;partialwrites.png&quot; height=&quot;172&quot; width=&quot;590&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
이 그림에서 보이듯이 위의 경우가 기존의 방식이며 아래 부분이 여러개의 Dirty bit을 사용하는 방법이다. 아래에는 현재 두개의 dirty bit이 존재하고 짙은 파란색이 수정된 부분이다. 그래서 기존에는 절반 이상이 수정되지 않았음에도 불구하고 전체의 캐쉬라인을 업데이트 하게 되지만 아래의 경우에는 두 부분으로 쪼개지고 윈쪽 부분은 변경사항이 없으므로 dirty bit은 0으로 업데이트 되지 않고 오른쪽 부분은 dirty bit이 1로 메모리에 업데이트 되게 된다. 하지만 여전히 변경되지 않은 부분이 쓰여지고 있기 때문에 이를 위해서 더 잘게 쪼개는 것을 생각할 수 있다. 그러나 잘게 쪼갤때마다 dirty bit이 계속해서 추가되고 있으므로 너무 잘게 쪼개는 경우 overhead가 너무 커질 수 있다. 따라서 이 둘의 Trade Off를 잘 고려하는 것이 이 논문의 성능을 최대화 할 수 있는 방법이다.&lt;br /&gt;
&lt;br /&gt;B. Differential Write ( Data Comparison Write)&lt;br /&gt;
이 논문은 bit 단위로 변경이 발생한 부분만 Write 하도록 하자는 것이 핵심 아이디어이다. 기존의 메모리 값을 읽어와서 쓰고자 하는 새로운 값과 비교하여 변경된 bit만 업데이트 하도록 하는 것이다. 그래서 기존의 방식에 비해서 메모리로 부터 읽어오는 overhead가 발생하게 된다. 하지만 이로 인해서 많은 Write 횟수를 줄일 수 있기 때문에 메모리의 수명은 크게 늘어나게 된다.&lt;br /&gt;
&lt;br /&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile2.uf.tistory.com/original/2028741D4B95BCA7204580&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile2.uf.tistory.com/image/2028741D4B95BCA7204580&quot; alt=&quot;&quot; filemime=&quot;image/png&quot; filename=&quot;dw.png&quot; height=&quot;209&quot; width=&quot;494&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
이 경우를 잘&amp;nbsp;살펴보면&amp;nbsp;윗 부분이 새로운 데이터이며 아래 부분이 기존의 메모리 값이다. 기존 방식으로는 총 16개의&amp;nbsp;bit을 메모리에 Write 해줘야 하지만 이 방법을 사용하면 5개의 bit 만을 수정하면 되기 때문에 총 11번의 Write가 줄어들었다. 단, 이 방법은 모든 bit이 다를 경우 전체가&amp;nbsp;Write되어 이득을 전혀 볼 수 없다는 단점이 존재한다. 이 문제를 해결하기 위해서 다음과 같은 새로운 논문이 제안되었으며 Reference 논문이 바로 그것이다.&lt;br /&gt;
&lt;br /&gt;C. Flip-N-Write (Micro 2009)&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile10.uf.tistory.com/original/1827771A4B95BD9708AC93&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile10.uf.tistory.com/image/1827771A4B95BD9708AC93&quot; alt=&quot;&quot; filemime=&quot;image/png&quot; filename=&quot;flip.png&quot; height=&quot;294&quot; width=&quot;598&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;Flip-N-Write 기법은 Differential Write의 단점을 보완한 방법으로 마찬가지로 기존의 메모리 값과 새로 쓰려는 데이터 값을 비교한 후 수정된 부분만을 업데이트 하는 방법이다. 그런데 여기서는 만약 절반 이상의 bit이 서로 다르다면 Flip을 하여 저장을 하자는 것이 핵심 아이디어이다. 그림에서 제일 위의 값이 새로 쓰려는 데이터이고 가장 아래의 값이 기존 메모리 값을 의미한다. 이 두 값을 비교한 결과 총 16개의 bit 중에서 11개의 bit이 차이가 나게 되고 절반 이상이 다르기 때문에 1-&amp;gt;0, 0-&amp;gt;1로 반전 시킨다. Flip한 결과가 바로 위에서 두 번째 값이며 이 Flip 값과 기존 메모리 값을 비교해보면 5개의 bit 만이 차이가 남을 알 수 있다. 즉, 반 이상 다르면 뒤집어쓰겠다는 매우 간단한 아이디어이다. 그대신 Flip이 되었다는 것을 표시하기 위해서 마지막에 추가로 Flip bit을 추가해주는 overhead가 발생한다. 따라서 이 경우 기존의 Differential Write 방법으로는 11개의 bit을 Write 해야 하지만 Flip-N-Write 기법을 통해서 5개의 bit을 수정하고 Flip bit 1개를 수정하여 총 6개의 bit을 업데이트하게 된다. 그래서 이 방법으로는 최대 N/2 개의 bit만 수정하면 되므로 매우 간단한 아이디어지만 매우 우수한 성능을 나타낸다.&lt;br /&gt;
&lt;br /&gt;이렇게 Write의 횟수를 줄이게 되면 Latency가 긴 Write 동작을 줄이므로 전체적인 메모리 성능이 증가하게 되고 또한 파워가 줄어들게 되고 당연히 Lifetime도 증가하게 된다.&lt;br /&gt;
&lt;br /&gt;두&amp;nbsp;번째 방법 : 특정 Cell 혹은 Word line이 집중적으로 Write 되는 것을 방지하는 방법&lt;br /&gt;
이 부분과 관련된 논문은 직접 읽은 것이 아니라 구체적 논문을 언급하기는 힘들고 학회(ISCA)와 논문 세미나를 통해서 들은 바로는 대체적으로 특정 Cell 혹은 Word가 집중적으로 쓰여져서 전체 메모리를 사용할 수 없게 되는 것을 방지하기 위해 Word Line을 Shift하고 Shift한 수를 Counting 하여 저장하는 방법과 Start-Gap(Micro 2009)이라는 논문에서는 추가로 Redundant한 Word Line을 이용하여 매 100번의 Write 동작마다 Circular Buffer와 마찬가지 방법으로 한 칸씩 이동하면서 특정 Cell이 집중적으로 쓰여지는 것을 막는 방법 등이 있다.&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-92-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-92-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-92-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 class=&quot;another_category another_category_color_gray&quot;&gt;
&lt;h4&gt;'&lt;a href=&quot;/category/논문%20정리&quot;&gt;논문 정리&lt;/a&gt;' 카테고리의 다른 글&lt;/h4&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/97&quot; &gt;[ASPLOS 2009] DFTL&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2010/07/27&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/96&quot; &gt;[ASPLOS 2010] SherLog: error diagnosis by connecting clues from run-time logs&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2010/07/23&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/92&quot; &gt;PCM (Phase Change Memory, or PRAM)&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(3)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2010/03/09&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;</description>
			<category>논문 정리</category>
			<category>pcm</category>
			<category>pram</category>
			<category>메모리</category>
			<author>행복한브라운</author>
			<guid>http://brown.ezphp.net/92</guid>
			<comments>http://brown.ezphp.net/92#entry92comment</comments>
			<pubDate>Tue, 09 Mar 2010 12:34:11 +0900</pubDate>
		</item>
	</channel>
</rss>
