<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>awesome programming</title>
		<link>http://smilejp.tistory.com/</link>
		<description>이론 없는 경험은 맹목적이고, 경험 없는 이론은 무의미하다</description>
		<language>ko</language>
		<pubDate>Tue, 08 May 2012 16:34:12 +0900</pubDate>
		<generator>Tistory 1.1 (http://www.tistory.com/)</generator>
		<managingEditor>smilejp</managingEditor>
		<item>
			<title>아이폰 앱 디자인 정석(한빛미디어)</title>
			<link>http://smilejp.tistory.com/65</link>
			<description>	&lt;div class=&quot;ad250_outter&quot; style=&quot;float: right; margin: 0 0 20px 10px; position: relative; width: 250px;&quot;&gt;
		&lt;div class=&quot;ad250&quot; style=&quot;background: transparent url(http://i1.daumcdn.net/img-media/media3/common/ad250_bar_r2.gif) no-repeat scroll 0 0; width: 250px; height: 250px; padding: 18px 0 0; position: relative; width: 250px&quot;&gt;
			&lt;iframe width=&quot;250&quot; height=&quot;250&quot; border=&quot;0&quot; frameborder=&quot;0&quot; scrolling=&quot;no&quot; marginheight=&quot;0&quot; marginwidth=&quot;0&quot; src=&quot;http://amsv2.daum.net/ad/adview?secid=00659&amp;mkvid=1&amp;blogid=480845&quot;&gt;&lt;/iframe&gt;		&lt;/div&gt;
	&lt;/div&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none; &quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display:inline-block;width:300px;&quot;&gt;&lt;a href=&quot;http://cfile22.uf.tistory.com/original/1608D3414F9B4CCF130DC6&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile22.uf.tistory.com/image/1608D3414F9B4CCF130DC6&quot; alt=&quot;아이폰 앱 디자인 정석&quot; filemime=&quot;image/gif&quot; filename=&quot;iphone.gif&quot; height=&quot;375&quot; style=&quot;width: 300px; height: 375px; &quot; width=&quot;300&quot;/&gt;&lt;/a&gt;&lt;span class=&quot;cap1&quot; style=&quot;display:block;width:300px;&quot;&gt;아이폰 앱 디자인 정석&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;clear: none; float: none; text-align: left; &quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;clear: none; float: none; text-align: left; &quot;&gt;아이폰 앱 디자인 정석(한빛미디어)&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;한빛미디어 모바일 시리즈중 하나로 아이폰 앱 디자인에 대해서 설명해줍니다.&lt;/p&gt;&lt;p&gt;앱 디자인입니다. 코드는 한줄도 나오지 않으며, 어떻게 해야 UX를 살리는 UI를 만들지에 대해서 알려줍니다.&lt;/p&gt;&lt;p&gt;그래서 부제가 사용자경험(UX)를 극대화 시키는 사용자 인터페이스(UI)의 비밀입니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;책 제목에 정석이라는 단어가 붙어서..&amp;nbsp;&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;글로 설명한 내용을&amp;nbsp;그림에서 확인해볼수 있는 구조입니다.&lt;/p&gt;&lt;p&gt;책을&amp;nbsp;위한 임시 자료가 아니라 개발되어 쓰여지고있는&amp;nbsp;어플의 화면을 가지고 설명합니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;책에서 흥미로웠던 부분은 6개의 PINCH&amp;amp;ZOOM 부분입니다.&lt;/p&gt;&lt;p&gt;디자인은 이렇게 해야한다는&amp;nbsp;설명으로 끝이&amp;nbsp;아니라 이렇게 디자인된 어플이 이거다라고 알려줍니다.&lt;/p&gt;&lt;p&gt;그것도 대부분 이름만 대면 알만한 어플들입니다.&amp;nbsp;&lt;/p&gt;&lt;p&gt;어플 개발자가 UI의&amp;nbsp;어떤 부분들을 어떻게 만들었는지를 설명해줍니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;또, 아이폰 표준UI에 대해서 하나씩 설명을 합니다.&lt;/p&gt;&lt;p&gt;표준UI 컨트롤이 어떤게 있으며, 어떤 UI속성들이 있고 언제 쓰면 좋은지를 자세하게 설명합니다.&lt;/p&gt;&lt;p&gt;관심만 가지고 있던 저에게는 아주 좋은 정보를 알려줘서 좋았습니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;책 제목에서 아이폰 앱 디자인으로 아이폰에 집중했지만, 아이폰 특화된&amp;nbsp;UI&amp;nbsp;설명을 제외한다면&lt;/p&gt;&lt;p&gt;전체적으로 UX를 살리는 UI를 디자인하는 방법에 대한 설명입니다.&lt;/p&gt;&lt;p&gt;그래서 다른 기기에서 개발할때도 참고할만한 내용들이 있습니다.&lt;/p&gt;&lt;p&gt;단적인 예로 경고창이 끼어들 타이밍이 언제인가.. 에 대해서도 알려줍니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;책을 다 읽고 드는 생각은.. 나중에 UI관련 작업을 하게되면 다시한번 훑어봐야겠다. 입니다.&lt;/p&gt;&lt;p&gt;그런데 그게 간단하게 되지는 않을것 같습니다.&lt;/p&gt;&lt;p&gt;챕터의 마지막에 체크해봐야할 것들 목록을 몇가지 적어주지만,&lt;/p&gt;&lt;p&gt;요약된 몇가지 부분들만 있어서 좀더 자세히 점검하려면 책을 정독해야겠지요.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;부록으로 체크 리스트가 하나 추가되었다면,&lt;/p&gt;&lt;p&gt;좀더 간편하게 UX를 살리는 UI를 체크해볼수 있을것 같다는 생각이 들었습니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;이 책은&amp;nbsp;터치 모바일 기기에서&amp;nbsp;UX를 살리는 UI를 만드는 많은 사람들에게 도움이 될거라 생각됩니다.&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-65-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;!--
	&lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
		&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-fr/2.0/kr/&quot; /&gt;
		&lt;/Work&gt;
		&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-fr/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/DerivativeWorks&quot;/&gt;
		&lt;/License&gt;
	&lt;/rdf:RDF&gt;
	--&gt;
&lt;/div&gt;
</description>
			<category></category>
			<author>smilejp</author>
			<guid>http://smilejp.tistory.com/65</guid>
			<comments>http://smilejp.tistory.com/65#entry65comment</comments>
			<pubDate>Sat, 28 Apr 2012 10:50:53 +0900</pubDate>
		</item>
		<item>
			<title>도서리뷰 - HTML5 Canvas(한빛미디어)</title>
			<link>http://smilejp.tistory.com/64</link>
			<description>	&lt;div class=&quot;ad250_outter&quot; style=&quot;float: right; margin: 0 0 20px 10px; position: relative; width: 250px;&quot;&gt;
		&lt;div class=&quot;ad250&quot; style=&quot;background: transparent url(http://i1.daumcdn.net/img-media/media3/common/ad250_bar_r2.gif) no-repeat scroll 0 0; width: 250px; height: 250px; padding: 18px 0 0; position: relative; width: 250px&quot;&gt;
			&lt;iframe width=&quot;250&quot; height=&quot;250&quot; border=&quot;0&quot; frameborder=&quot;0&quot; scrolling=&quot;no&quot; marginheight=&quot;0&quot; marginwidth=&quot;0&quot; src=&quot;http://amsv2.daum.net/ad/adview?secid=00659&amp;mkvid=1&amp;blogid=480845&quot;&gt;&lt;/iframe&gt;		&lt;/div&gt;
	&lt;/div&gt;
&lt;img src=&quot;http://sstatic.naver.net/search/images11/blank.gif&quot;&gt;&lt;p style=&quot;margin:0&quot;&gt;&lt;/p&gt;
&lt;p style=&quot;margin:0&quot;&gt;&lt;div class=&quot;imageblock&quot; style=&quot;display:inline;&quot;&gt;&lt;a href=&quot;http://cfile10.uf.tistory.com/original/190DD7354F61A15432599C&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile10.uf.tistory.com/image/190DD7354F61A15432599C&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;html5_canvas.png&quot; height=&quot;308&quot; width=&quot;240&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/p&gt;
&lt;br /&gt;
&lt;a href=&quot;http://hanb.co.kr/book/look.html?isbn=978-89-7914-898-5&quot; target=&quot;_blank&quot; title=&quot;[http://hanb.co.kr/book/look.html?isbn=978-89-7914-898-5]로 이동합니다.&quot;&gt;HTML5 Canvas&lt;/a&gt;(한빛미디어)&lt;br /&gt;
&lt;br /&gt;
HTML5에서 Canvas만 집중적으로 다루고 있는 책입니다.&lt;br /&gt;
그렇기 때문에 Canvas에 대해서 자세하게 설명되어 있습니다.&amp;nbsp;&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
Canvas를 이용해서 폰트, 이미지, 동영상, 간단한 애니메이션, 오디오, 사운드 처리를&lt;br /&gt;
단계별로 예제만들면서 설명하고. &amp;nbsp;배우것을 기반으로 Cavnas게임도 만들고, 모바일에 대한 이야기도 합니다.&lt;br /&gt;
&lt;br /&gt;
예제가 많아서 따라하다보면 Canvas를 익힐 수 있는게 이책의 큰 장점입니다.&lt;br /&gt;
각 장마다 단계별로 코드를 조금씩 보여주고 설명 한 후, 마지막에는&amp;nbsp;&lt;br /&gt;
그장에서 사용한 최종코드 전체를 볼수있게 구성되어있습니다.&lt;br /&gt;
&lt;br /&gt;
그래서 뒷부분의 전체코드를 보면서 앞장에 설명한&amp;nbsp;내용을 다시 생각해볼 수 있었고,&lt;br /&gt;
특히 코드에 사용된 폰트가 마음에 듭니다 :-) (0(숫자0), O(영문자O)를 구분하기 쉬워서..)&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;하지만!!&lt;br /&gt;
&lt;/b&gt;javascript는 잘 모르고, HTML은 간단한 태그만 알고있는 상태에서 처음 책을 접했을때&lt;br /&gt;
javascript에 대해서 대략 감은 잡고 있어야 이해하기 수월하겠구나는 생각이 들었습니다.&lt;br /&gt;
&lt;br /&gt;
만약 프로그래밍을 모르고 HTML5 Canvas를 공부할 목적으로 책을 구매하는 사람들에게 쉬운 책이 아닙니다.&lt;br /&gt;
javascript를 모른다면&amp;nbsp;책 뒷표지에 있는 로드맵에 표시된 책을 훑어본 이후&amp;nbsp;이책을 읽으시길 권합니다.&lt;br /&gt;
&lt;br /&gt;
Canvas를 이용해서 게임을 만드는 부분은 상당히 흥미로운 부분이었습니다.&lt;br /&gt;
Canvas의 사용에만 집중한 것이 아니라 약간의 팁도 덤으로 알려줍니다.&lt;br /&gt;
하지만, 수학/물리를 설명하고 사용하는 부분에서는 기본지식이 없으면 이해하기 힘듭니다.&lt;br /&gt;
로직은 이해하지 못하고 게임만들면서 사용된 Canvas만 바라봐야 합니다.&lt;br /&gt;
뭐.. 수학/물리는 간단한 내용들이라 책 내용을 이해하면서 파악하셔도 됩니다.&lt;br /&gt;
&lt;br /&gt;
개인적으로 책에서 가장 마음에 안들었던 부분은 Canvas API에 대한 설명/정리 부분입니다.&lt;br /&gt;
처음보는 API에 대해서 매개변수에 대한 설명은 없고 예제에서 사용합니다.&lt;br /&gt;
예제를 보며 API에 대해 정리를 했더니 뒷 부분에서 API에 대해&amp;nbsp;별도로 설명을 합니다. &lt;br /&gt;
그런데 그게 어떤건 잘 설명해서 보여주고, 또 다른것은 그렇게 설명하는게 없기도 합니다.&lt;br /&gt;
&lt;br /&gt;
책에서 사용한 API에 대해서만이라도 부록에서 찾아볼 수 있도록 준비되어 있다면 어땠을까 하는 생각을 했습니다.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;font color=&quot;#3058d2&quot;&gt;HTML5의 Canvas에 대해서 배우고 싶은 사람들에게는 이책을 추천합니다.&lt;br /&gt;
Canvas를 통해서 게임을 만들어보고 싶은 사람들에게는 아주 강력하게 추천합니다!!&lt;/font&gt;&lt;/b&gt;&lt;br /&gt;
&lt;div id=&quot;__KO_DIC_LAYER__&quot; style=&quot;padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; position: fixed; z-index: 999999999; overflow-x: hidden; overflow-y: hidden; border-top-width: 2px; border-right-width: 2px; border-bottom-width: 2px; border-left-width: 2px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(51, 51, 119); border-right-color: rgb(51, 51, 119); border-bottom-color: rgb(51, 51, 119); border-left-color: rgb(51, 51, 119); border-image: initial; display: none; &quot;&gt;
&lt;iframe frameborder=&quot;0&quot; scrolling=&quot;yes&quot; style=&quot;width: 100%; height: 100%; background-color: rgb(255, 255, 255); &quot;&gt;&lt;/iframe&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-64-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;!--
	&lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
		&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-fr/2.0/kr/&quot; /&gt;
		&lt;/Work&gt;
		&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-fr/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/DerivativeWorks&quot;/&gt;
		&lt;/License&gt;
	&lt;/rdf:RDF&gt;
	--&gt;
&lt;/div&gt;
&lt;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;/64&quot; &gt;도서리뷰 - HTML5 Canvas(한빛미디어)&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/03/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;
2011/11/09&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/51&quot; &gt;[독서] 뽀모도로 테크닉&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/04/29&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/47&quot; &gt;[독서] 도시에서 살며 사랑하며 배우며&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/04/01&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/42&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;/13&quot; &gt;1만 시간 법칙&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2009/12/24&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;</description>
			<category>읽은거</category>
			<category>HTML5 Canvas</category>
			<author>smilejp</author>
			<guid>http://smilejp.tistory.com/64</guid>
			<comments>http://smilejp.tistory.com/64#entry64comment</comments>
			<pubDate>Thu, 15 Mar 2012 21:41:21 +0900</pubDate>
		</item>
		<item>
			<title>Pointer Container, boost::ptr_vector&lt;&gt;</title>
			<link>http://smilejp.tistory.com/63</link>
			<description>	&lt;div class=&quot;ad250_outter&quot; style=&quot;float: right; margin: 0 0 20px 10px; position: relative; width: 250px;&quot;&gt;
		&lt;div class=&quot;ad250&quot; style=&quot;background: transparent url(http://i1.daumcdn.net/img-media/media3/common/ad250_bar_r2.gif) no-repeat scroll 0 0; width: 250px; height: 250px; padding: 18px 0 0; position: relative; width: 250px&quot;&gt;
			&lt;iframe width=&quot;250&quot; height=&quot;250&quot; border=&quot;0&quot; frameborder=&quot;0&quot; scrolling=&quot;no&quot; marginheight=&quot;0&quot; marginwidth=&quot;0&quot; src=&quot;http://amsv2.daum.net/ad/adview?secid=00659&amp;mkvid=1&amp;blogid=480845&quot;&gt;&lt;/iframe&gt;		&lt;/div&gt;
	&lt;/div&gt;
hared_ptr를 사용해서 vector에 값을 넣을때 다음과 같이 사용했었습니다.&lt;pre class=&quot;brush:cpp&quot;&gt;v.push_back(boost::shared_ptr&lt;int&gt;(new int(1)));
&lt;/int&gt;&lt;/pre&gt;
&amp;nbsp;대충 알고 써먹은 boost를 천천히 훑어보기로 맘먹고 보는데 Pointer Container라는 것이 있어서&lt;br /&gt;
간단하게 테스트하고 잊어버리기 전에 기록해둡니다.&lt;br /&gt;
&lt;pre class=&quot;brush:cpp&quot;&gt;class PtrTest
{
public:
	PtrTest() {value_ = 0;};
	~PtrTest() {};
	PtrTest(const PtrTest&amp;amp; other)
	{
		std::cout &amp;lt;&amp;lt; &quot;Copy Const&quot; &amp;lt;&amp;lt; std::endl;
		value_ = other.value_;
	}
	PtrTest&amp;amp; operator=(const PtrTest&amp;amp; rhs)
	{
		if(this == &amp;amp;rhs)
		{
			return *this;
		}
		std::cout &amp;lt;&amp;lt; &quot;= Operator&quot; &amp;lt;&amp;lt; std::endl;
		this-&amp;gt;value_ = rhs.value_;		
		return *this;
	}	
	void SetValue(int value) {value_ = value;}
	int GetValue() {return value_;}
	
private:
	int value_;
};

TEST(PtrVectorTest, ptr_vector_test)
{
	boost::ptr_vector&lt;ptrtest&gt; ptr_vector; 

	PtrTest* test_a = new PtrTest;
	test_a-&amp;gt;SetValue(1);

	PtrTest* test_b = new PtrTest;
	test_b-&amp;gt;SetValue(2);
	
	ptr_vector.push_back(test_a); 
	ptr_vector.push_back(test_b); 
	ptr_vector.push_back(new PtrTest); 

	PtrTest* test_ptr = &amp;amp;ptr_vector[0];	
	EXPECT_EQ(1, test_ptr-&amp;gt;GetValue());

	PtrTest test_ptr_2 = ptr_vector[1];	
	EXPECT_EQ(2, test_ptr_2.GetValue());
	EXPECT_EQ(3, ptr_vector.size());

	ptr_vector.erase(ptr_vector.begin());
	EXPECT_EQ(2, ptr_vector.size());
}
&lt;/ptrtest&gt;&lt;/pre&gt;
&lt;p style=&quot;margin:0&quot;&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p style=&quot;margin:0&quot;&gt;&lt;div class=&quot;imageblock&quot; style=&quot;display:inline;&quot;&gt;&lt;a href=&quot;http://cfile8.uf.tistory.com/original/1873293B4F445F9809B1A8&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile8.uf.tistory.com/image/1873293B4F445F9809B1A8&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;ptr_test.png&quot; height=&quot;57&quot; width=&quot;346&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/p&gt;
new한 데이터를 boost::ptr_vector에 넣고 나서 delete를 하지 않아도 메모리릭이 발생하지 않습니다.&lt;br /&gt;
boost::ptr_vector 내부적으로 메모리 관리를 하고 있는듯합니다. &lt;br /&gt;
이부분은 내부 동작을 좀더 자세히 살펴봐야 알 수 있을 듯합니다.&lt;br /&gt;
&lt;br /&gt;
boost::ptr_vector를 사용하기 위해서는 boost/ptr_container/ptr_vector.hpp 를 include 해야 합니다.&lt;br /&gt;
&lt;br /&gt;
boost::ptr_vector 말고도 boost::ptr_deque, boost::ptr_list, boost::ptr_set, &lt;br /&gt;
boost::ptr_map, boost::ptr_unordered_set, boost::ptr_unordered_map이 더 있다고 합니다.&lt;br /&gt;
&lt;br /&gt;
출처 -&amp;nbsp;
&lt;a href=&quot;http://en.highscore.de/cpp/boost/smartpointers.html&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://en.highscore.de/cpp/boost/smartpointers.html&quot; target=&quot;_blank&quot; title=&quot;[http://en.highscore.de/cpp/boost/smartpointers.html]로 이동합니다.&quot;&gt;http://en.highscore.de/cpp/boost/smartpointers.html&lt;/a&gt;&lt;a href=&quot;http://en.highscore.de/cpp/boost/smartpointers.html&quot; target=&quot;_blank&quot; title=&quot;[http://en.highscore.de/cpp/boost/smartpointers.html]로 이동합니다.&quot;&gt;&amp;nbsp;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;br /&gt;
&lt;div id=&quot; __ko_dic_layer__&quot; =&quot;&quot;=&quot;&quot; style=&quot;padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; position: fixed; z-index: 999999999; overflow-x: hidden; overflow-y: hidden; border-top-width: 2px; border-right-width: 2px; border-bottom-width: 2px; border-left-width: 2px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(51, 51, 119); border-right-color: rgb(51, 51, 119); border-bottom-color: rgb(51, 51, 119); border-left-color: rgb(51, 51, 119); border-image: initial; display: none; &quot; &amp;gt;&lt;iframe=&quot;&quot; frameborder=&quot;0&quot; scrolling=&quot;yes&quot;&gt;
&lt;/div&gt;
&lt;div id=&quot;__KO_DIC_LAYER__&quot; style=&quot;padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; position: fixed; z-index: 999999999; overflow-x: hidden; overflow-y: hidden; border-top-width: 2px; border-right-width: 2px; border-bottom-width: 2px; border-left-width: 2px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(51, 51, 119); border-right-color: rgb(51, 51, 119); border-bottom-color: rgb(51, 51, 119); border-left-color: rgb(51, 51, 119); border-image: initial; display: none; &quot;&gt;
&lt;iframe frameborder=&quot;0&quot; scrolling=&quot;yes&quot; style=&quot;width: 100%; height: 100%; background-color: rgb(255, 255, 255); &quot;&gt;&lt;/iframe&gt;&lt;/div&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-63-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;!--
	&lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
		&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-fr/2.0/kr/&quot; /&gt;
		&lt;/Work&gt;
		&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-fr/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/DerivativeWorks&quot;/&gt;
		&lt;/License&gt;
	&lt;/rdf:RDF&gt;
	--&gt;
&lt;/div&gt;
&lt;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/공부하자/Boost&quot;&gt;Boost&lt;/a&gt;' 카테고리의 다른 글&lt;/h4&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/63&quot; &gt;Pointer Container, boost::ptr_vector&amp;lt;&amp;gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/02/21&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;</description>
			<category>Boost</category>
			<category>boost</category>
			<author>smilejp</author>
			<guid>http://smilejp.tistory.com/63</guid>
			<comments>http://smilejp.tistory.com/63#entry63comment</comments>
			<pubDate>Tue, 21 Feb 2012 23:22:43 +0900</pubDate>
		</item>
		<item>
			<title>Office Add-in 만들기.</title>
			<link>http://smilejp.tistory.com/62</link>
			<description>	&lt;div class=&quot;ad250_outter&quot; style=&quot;float: right; margin: 0 0 20px 10px; position: relative; width: 250px;&quot;&gt;
		&lt;div class=&quot;ad250&quot; style=&quot;background: transparent url(http://i1.daumcdn.net/img-media/media3/common/ad250_bar_r2.gif) no-repeat scroll 0 0; width: 250px; height: 250px; padding: 18px 0 0; position: relative; width: 250px&quot;&gt;
			&lt;iframe width=&quot;250&quot; height=&quot;250&quot; border=&quot;0&quot; frameborder=&quot;0&quot; scrolling=&quot;no&quot; marginheight=&quot;0&quot; marginwidth=&quot;0&quot; src=&quot;http://amsv2.daum.net/ad/adview?secid=00659&amp;mkvid=1&amp;blogid=480845&quot;&gt;&lt;/iframe&gt;		&lt;/div&gt;
	&lt;/div&gt;
VSTO(Visual Studio Tools for Office)를 사용하면 Office용 Addin을 만들수가 있습니다.&lt;br /&gt;
&lt;br /&gt;
excel을 사용하다 worksheet가 많아지면서 검색과 정렬에 불편한 점이 있었습니다.&lt;br /&gt;
구글링하면 하이퍼링크를 사용해서 관리하는 방법과 vba를 이용해서 excel에서 만들어 쓰는 방법을&amp;nbsp;이야기합니다. 둘다 마음에 안들어서 삽질로 외부프로그램으로 엑셀파일을 로드해서&amp;nbsp;워크시트를 조절하게 했는데 병맛같은 기분이 들더군요.&lt;br /&gt;
&lt;br /&gt;
그래서 다시 검색. 검색...해보니 Office 2003부터 Add-in 형식으로 기능을 추가할 수 있었습니다.&lt;br /&gt;
구글링을 해보니 아주 괜찮은 문서를 발견해서 링크를 남겨놓습니다.&lt;br /&gt;
&lt;br /&gt;
C#, VB를 사용해서 addin을 만들 수 있으며,&amp;nbsp;Visual Studio Express 버전에서는 addin 프로젝트를 지원하지 않습니다.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.clear-lines.com/blog/category/VSTO.aspx&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://www.clear-lines.com/blog/category/VSTO.aspx&quot; target=&quot;_self&quot; title=&quot;[http://www.clear-lines.com/blog/category/VSTO.aspx]로 이동합니다.&quot;&gt;&lt;a href=&quot;http://www.clear-lines.com/blog/category/VSTO.aspx&quot; target=&quot;_blank&quot; title=&quot;[http://www.clear-lines.com/blog/category/VSTO.aspx]로 이동합니다.&quot;&gt;http://www.clear-lines.com/blog/category/VSTO.aspx&lt;/a&gt;&lt;/a&gt;&amp;nbsp; &amp;nbsp;&lt;br /&gt;
다양한 부분의 글들이 있으며 VSTO에 관한 글도 많습니다.&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://clear-lines.com/blog/post/excel-2007-vsto-add-in-tutorial.aspx&quot;&gt;&lt;a href=&quot;http://clear-lines.com/blog/post/excel-2007-vsto-add-in-tutorial.aspx&quot; target=&quot;_blank&quot; title=&quot;[http://clear-lines.com/blog/post/excel-2007-vsto-add-in-tutorial.aspx]로 이동합니다.&quot;&gt;http://clear-lines.com/blog/post/excel-2007-vsto-add-in-tutorial.aspx&lt;/a&gt;&lt;/a&gt;&amp;nbsp;&lt;br /&gt;
Tutorial 형식으로 VSTO를 처음부터 배포까지 잘 설명해주고 있습니다.&lt;br /&gt;
튜토리얼만 따라하다보면 어떻게 해야하는지 감을 익힐 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
영어로 되어있지만 메뉴와 코드부분의 설명만 잘 봐도 충분히 따라가며 만들 수 있어서 좋습니다.&lt;div id=&quot;__KO_DIC_LAYER__&quot; style=&quot;padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; position: fixed; z-index: 999999999; overflow-x: hidden; overflow-y: hidden; border-top-width: 2px; border-right-width: 2px; border-bottom-width: 2px; border-left-width: 2px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(51, 51, 119); border-right-color: rgb(51, 51, 119); border-bottom-color: rgb(51, 51, 119); border-left-color: rgb(51, 51, 119); border-image: initial; display: none; &quot;&gt;
&lt;iframe frameborder=&quot;0&quot; scrolling=&quot;yes&quot; style=&quot;width: 100%; height: 100%; background-color: rgb(255, 255, 255); &quot;&gt;&lt;/iframe&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-62-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;!--
	&lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
		&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-fr/2.0/kr/&quot; /&gt;
		&lt;/Work&gt;
		&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-fr/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/DerivativeWorks&quot;/&gt;
		&lt;/License&gt;
	&lt;/rdf:RDF&gt;
	--&gt;
&lt;/div&gt;
&lt;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;/62&quot; &gt;Office Add-in 만들기.&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/02/08&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/50&quot; &gt;[ERROR] Could not find Git Path&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/04/18&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/48&quot; &gt;TortoiseGit에서 ignore 파일 설정하기&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/04/10&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/46&quot; &gt;intrusive_ptr 사용에 관한 정리&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/03/30&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/41&quot; &gt;SVN에서 Branch, Tag 생성하기&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2010/12/31&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/37&quot; &gt;Xcode에서 OpenGL 프로그래밍 하기&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2010/12/17&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;</description>
			<category>공부하자</category>
			<category>Office Addin</category>
			<author>smilejp</author>
			<guid>http://smilejp.tistory.com/62</guid>
			<comments>http://smilejp.tistory.com/62#entry62comment</comments>
			<pubDate>Wed, 08 Feb 2012 01:37:00 +0900</pubDate>
		</item>
		<item>
			<title>Lua 테이블 내용 출력하기</title>
			<link>http://smilejp.tistory.com/61</link>
			<description>	&lt;div class=&quot;ad250_outter&quot; style=&quot;float: right; margin: 0 0 20px 10px; position: relative; width: 250px;&quot;&gt;
		&lt;div class=&quot;ad250&quot; style=&quot;background: transparent url(http://i1.daumcdn.net/img-media/media3/common/ad250_bar_r2.gif) no-repeat scroll 0 0; width: 250px; height: 250px; padding: 18px 0 0; position: relative; width: 250px&quot;&gt;
			&lt;iframe width=&quot;250&quot; height=&quot;250&quot; border=&quot;0&quot; frameborder=&quot;0&quot; scrolling=&quot;no&quot; marginheight=&quot;0&quot; marginwidth=&quot;0&quot; src=&quot;http://amsv2.daum.net/ad/adview?secid=00659&amp;mkvid=1&amp;blogid=480845&quot;&gt;&lt;/iframe&gt;		&lt;/div&gt;
	&lt;/div&gt;
Lua 테이블을 다루면서 내가 다루고 있는 Lua 테이블의 내용이 궁금해서 테이블 값 출력하는 함수를 만들었다.&lt;br /&gt;
별다른건 없고 그냥 테이블 순회하면서 테이블의 key와 value를 출력한다.&lt;br /&gt;
value를 출력할때는 boolean형과 string 연산을 할 수 없기 때문에 tostring()을 사용하여 value를 무조건 string으로 만들어서 출력하였다.&lt;br /&gt;
&lt;pre class=&quot;brush:lua&quot;&gt;test_tbl = {
	t1 = {
		t1_a = 1,
		t1_sub = {
			t1_sub_b = 2,
		},
	},
	t2 = {
		t2_a = 3,
		t2_sub = {
			t2_sub_b = 4,
			t2_sub_sub = {
				t2_sub_sub_c = 5,
			},
		}
	},
}

function PrintTable(tbl, tbl_name, depth)
	if depth == nil then
		depth = 0
	end

	local tab
	for i=0, depth do
		if tab == nil then	tab = &quot;&quot; else tab = tab .. &quot;\t&quot; end
	end

	local sub_tbl = {}
	for k,v in pairs(tbl) do
		print(tab .. &quot;TABLE:&quot; .. tbl_name .. &quot; KEY:&quot; .. k .. &quot;\tVALUE:&quot; .. tostring(v))

		if type(v) == &quot;table&quot; then
			PrintTable(v, k, depth+1)
		else

		end
	end
end
&lt;/pre&gt;
&lt;p style=&quot;margin:0&quot;&gt;&lt;div class=&quot;imageblock&quot; style=&quot;display:inline;&quot;&gt;&lt;a href=&quot;http://cfile24.uf.tistory.com/original/111448484F230D7C24E2D5&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile24.uf.tistory.com/image/111448484F230D7C24E2D5&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;lua_table.png&quot; height=&quot;132&quot; width=&quot;577&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/p&gt;
&lt;br /&gt;
결과를 보면 테이블의 값들이 표시되고 중첩테이블은 탭이 적용되어서 출력되고 있다.&lt;br /&gt;
한눈에 보일정도는 아니지만 테이블의 값 구성을 간단히 출력해서 확인하기에는 적절한듯하다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div id=&quot;__KO_DIC_LAYER__&quot; style=&quot;padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; position: fixed; z-index: 999999999; overflow-x: hidden; overflow-y: hidden; border-top-width: 2px; border-right-width: 2px; border-bottom-width: 2px; border-left-width: 2px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(51, 51, 119); border-right-color: rgb(51, 51, 119); border-bottom-color: rgb(51, 51, 119); border-left-color: rgb(51, 51, 119); border-image: initial; display: none; &quot;&gt;
&lt;iframe frameborder=&quot;0&quot; scrolling=&quot;yes&quot; style=&quot;width: 100%; height: 100%; background-color: rgb(255, 255, 255); &quot;&gt;&lt;/iframe&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-61-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;!--
	&lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
		&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-fr/2.0/kr/&quot; /&gt;
		&lt;/Work&gt;
		&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-fr/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/DerivativeWorks&quot;/&gt;
		&lt;/License&gt;
	&lt;/rdf:RDF&gt;
	--&gt;
&lt;/div&gt;
&lt;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/공부하자/Lua&quot;&gt;Lua&lt;/a&gt;' 카테고리의 다른 글&lt;/h4&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/61&quot; &gt;Lua 테이블 내용 출력하기&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/01/28&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/60&quot; &gt;Lua Table 복사에 대한 처리&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/01/16&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/58&quot; &gt;Lua의 주석처리&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/11/27&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/33&quot; &gt;LuaTinker로 싱글턴(Singleton) 넘기기&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2010/06/02&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/32&quot; &gt;Lua Binding&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2010/05/30&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;</description>
			<category>Lua</category>
			<category>LUA</category>
			<category>Table Print</category>
			<category>루아</category>
			<category>테이블출력</category>
			<author>smilejp</author>
			<guid>http://smilejp.tistory.com/61</guid>
			<comments>http://smilejp.tistory.com/61#entry61comment</comments>
			<pubDate>Sat, 28 Jan 2012 05:50:55 +0900</pubDate>
		</item>
		<item>
			<title>Lua Table 복사에 대한 처리</title>
			<link>http://smilejp.tistory.com/60</link>
			<description>	&lt;div class=&quot;ad250_outter&quot; style=&quot;float: right; margin: 0 0 20px 10px; position: relative; width: 250px;&quot;&gt;
		&lt;div class=&quot;ad250&quot; style=&quot;background: transparent url(http://i1.daumcdn.net/img-media/media3/common/ad250_bar_r2.gif) no-repeat scroll 0 0; width: 250px; height: 250px; padding: 18px 0 0; position: relative; width: 250px&quot;&gt;
			&lt;iframe width=&quot;250&quot; height=&quot;250&quot; border=&quot;0&quot; frameborder=&quot;0&quot; scrolling=&quot;no&quot; marginheight=&quot;0&quot; marginwidth=&quot;0&quot; src=&quot;http://amsv2.daum.net/ad/adview?secid=00659&amp;mkvid=1&amp;blogid=480845&quot;&gt;&lt;/iframe&gt;		&lt;/div&gt;
	&lt;/div&gt;
Lua에서 테이블을 다른 변수에 대입(=)하게 되면 기본적으로는 참조 값 변경이 발생합니다.&lt;br /&gt;
즉, 참조 값이 생성되는 것이기 때문에 한 테이블에서의 변경이 다른 테이블의 값에 영향을 끼치게 됩니다.&lt;br /&gt;
&lt;pre class=&quot;brush:lua&quot;&gt;TestTable = {
	t1 = {
		a = 10,
		b = 20,
	}
}
&lt;/pre&gt;
TestTable 을 변수에 할당하는 경우 변수의 참조값이 테이블로 지정되기 때문에 값이 변경되면&lt;br /&gt;
테이블 자체의 값이 변경되기 때문에 같은 참조값을 가지는 모든 객체들이 영향을 받습니다.&lt;br /&gt;
&lt;pre class=&quot;brush:lua&quot;&gt;test1 = TestTable
test2 = TestTable

print(&quot;Source A:&quot; .. TestTable.t1.a)

test1.t1.a = 20

print(&quot;Test1 A:&quot; .. test1.t1.a)
print(&quot;Test2 A:&quot; .. test2.t1.a)&lt;br /&gt;
&lt;/pre&gt;&lt;div&gt;
Source A:10&lt;/div&gt;
&lt;div&gt;
Test1 A:20&lt;/div&gt;
&lt;div&gt;
Test2 A:20&lt;br /&gt;
&lt;br /&gt;
참조 테이블의 값이 변경되었기 때문에 해당 테이블을 참조하고 있는 test2의 값도 변경되었습니다.&lt;br /&gt;
&lt;br /&gt;
원하는 것은 테이블의 값복사.&lt;br /&gt;
Lua에서 기본적으로 제공되는 다른 방법이 있는지는 모르겠지만..&lt;br /&gt;
일단 쉽게 검색하고 적용시킨것은 정말로 테이블을 복사하는 방법.&lt;br /&gt;
직접 찾은건 아니고, &lt;a href=&quot;http://stackoverflow.com/questions/640642/how-do-you-copy-a-lua-table-by-value&quot; target=&quot;_blank&quot; title=&quot;[http://stackoverflow.com/questions/640642/how-do-you-copy-a-lua-table-by-value]로 이동합니다.&quot;&gt;stackoverflow&lt;/a&gt; 검색에서 나온 방법을 조금 변경한것입니다&lt;br /&gt;
&lt;pre class=&quot;brush:lua&quot;&gt;function TableCopy(t)
  local t2 = {}
  for k,v in pairs(t) do
	if type(v) == &quot;table&quot; then
		t2[k] = TableCopy(v)
	else
		t2[k] = v
	end
  end
  return t2
end
&lt;/pre&gt;함수 이름은 어찌되었든.. 내부적으로 테이블을 생성해서 값을 복사하여 새로 생성한 테이블을 반환합니다&lt;br /&gt;
값이 table인 경우에 대한 처리도 있으니 테이블이 깊이가 있는 경우도 처리하고 있습니다.&lt;br /&gt;
&lt;pre class=&quot;brush:lua&quot;&gt;test1 = TableCopy(TestTable)
test2 = TableCopy(TestTable)

print(&quot;Source A:&quot; .. TestTable.t1.a)

test1.t1.a = 20

print(&quot;Test1 A:&quot; .. test1.t1.a)
print(&quot;Test2 A:&quot; .. test2.t1.a)
&lt;/pre&gt;같은 로직을 TableCopy를 이용해서 작성하면 test2에 영향없이 test1의 값에만 변경이 있음을 확인할 수 있습니다.&lt;br /&gt;
Source A:10&lt;/div&gt;
&lt;div&gt;
Test1 A:20&lt;/div&gt;
&lt;div&gt;
Test2 A:10&lt;br /&gt;
&lt;br /&gt;
stackoverflow의 문서에는 여러가지 방법이 나와있고, 그중 하나의 방법을 적용해서&lt;br /&gt;
간단한게 원하는 결과가 나오는지를 테스트한 거라 의도치 않게 문제가 있는 로직일 수있습니다.&lt;br /&gt;
혹시 문제가 있는 부분에 대해서는 언제든 의견을 남겨주세요.&amp;nbsp;&lt;/div&gt;
&lt;div id=&quot;__KO_DIC_LAYER__&quot; style=&quot;padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; position: fixed; z-index: 999999999; overflow-x: hidden; overflow-y: hidden; border-top-width: 2px; border-right-width: 2px; border-bottom-width: 2px; border-left-width: 2px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(51, 51, 119); border-right-color: rgb(51, 51, 119); border-bottom-color: rgb(51, 51, 119); border-left-color: rgb(51, 51, 119); display: none; &quot;&gt;
&lt;iframe frameborder=&quot;0&quot; scrolling=&quot;yes&quot; style=&quot;width: 100%; height: 100%; background-color: rgb(255, 255, 255); &quot;&gt;&lt;/iframe&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-60-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;!--
	&lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
		&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-fr/2.0/kr/&quot; /&gt;
		&lt;/Work&gt;
		&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-fr/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/DerivativeWorks&quot;/&gt;
		&lt;/License&gt;
	&lt;/rdf:RDF&gt;
	--&gt;
&lt;/div&gt;
&lt;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/공부하자/Lua&quot;&gt;Lua&lt;/a&gt;' 카테고리의 다른 글&lt;/h4&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/61&quot; &gt;Lua 테이블 내용 출력하기&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/01/28&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/60&quot; &gt;Lua Table 복사에 대한 처리&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/01/16&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/58&quot; &gt;Lua의 주석처리&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/11/27&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/33&quot; &gt;LuaTinker로 싱글턴(Singleton) 넘기기&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2010/06/02&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/32&quot; &gt;Lua Binding&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2010/05/30&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;</description>
			<category>Lua</category>
			<category>LUA</category>
			<category>table복사</category>
			<author>smilejp</author>
			<guid>http://smilejp.tistory.com/60</guid>
			<comments>http://smilejp.tistory.com/60#entry60comment</comments>
			<pubDate>Mon, 16 Jan 2012 01:32:00 +0900</pubDate>
		</item>
		<item>
			<title>Cafe24 가상 호스팅 - 1(선택)</title>
			<link>http://smilejp.tistory.com/59</link>
			<description>	&lt;div class=&quot;ad250_outter&quot; style=&quot;float: right; margin: 0 0 20px 10px; position: relative; width: 250px;&quot;&gt;
		&lt;div class=&quot;ad250&quot; style=&quot;background: transparent url(http://i1.daumcdn.net/img-media/media3/common/ad250_bar_r2.gif) no-repeat scroll 0 0; width: 250px; height: 250px; padding: 18px 0 0; position: relative; width: 250px&quot;&gt;
			&lt;iframe width=&quot;250&quot; height=&quot;250&quot; border=&quot;0&quot; frameborder=&quot;0&quot; scrolling=&quot;no&quot; marginheight=&quot;0&quot; marginwidth=&quot;0&quot; src=&quot;http://amsv2.daum.net/ad/adview?secid=00659&amp;mkvid=1&amp;blogid=480845&quot;&gt;&lt;/iframe&gt;		&lt;/div&gt;
	&lt;/div&gt;
호스팅을 이용할일이 있어서 여기저거 정보를 알아보던중,&lt;br /&gt;
가상서버호스팅이란 것에 대해서 알게되었고 좀더 찾아보니 나름 솔깃한 것들이 많았다.&lt;br /&gt;
&lt;br /&gt;리눅스의 root 권한을 가지고 알아서 잘 쓰라니.. 오홍.. 좋군.&lt;br /&gt;
이제 관심사는 가상서버호스팅으로 변경되어 여기저기 살펴보았다.&lt;br /&gt;
&lt;br /&gt;가상서버호스팅을 해주는 여러 회사들을 비교하며 &lt;a href=&quot;http://www.google.co.kr/#sclient=psy-ab&amp;amp;hl=ko&amp;amp;newwindow=1&amp;amp;source=hp&amp;amp;q=%EA%B0%80%EC%83%81%EC%84%9C%EB%B2%84%ED%98%B8%EC%8A%A4%ED%8C%85+%EB%B9%84%EA%B5%90&amp;amp;pbx=1&amp;amp;oq=%EA%B0%80%EC%83%81%EC%84%9C%EB%B2%84%ED%98%B8%EC%8A%A4%ED%8C%85+%EB%B9%84%EA%B5%90&amp;amp;aq=f&amp;amp;aqi=g1&amp;amp;aql=&amp;amp;gs_sm=e&amp;amp;gs_upl=850444l853606l1l853620l26l12l1l2l2l6l289l2006l2.6.4l14l0&amp;amp;bav=on.2,or.r_gc.r_pw.r_cp.,cf.osb&amp;amp;fp=bec57f5e523f8435&amp;amp;biw=1280&amp;amp;bih=593&quot; target=&quot;_blank&quot; title=&quot;[http://www.google.co.kr/#sclient=psy-ab&amp;amp;hl=ko&amp;amp;newwindow=1&amp;amp;source=hp&amp;amp;q=%EA%B0%80%EC%83%81%EC%84%9C%EB%B2%84%ED%98%B8%EC%8A%A4%ED%8C%85+%EB%B9%84%EA%B5%90&amp;amp;pbx=1&amp;amp;oq=%EA%B0%80%EC%83%81%EC%84%9C%EB%B2%84%ED%98%B8%EC%8A%A4%ED%8C%85+%EB%B9%84%EA%B5%90&amp;amp;aq=f&amp;amp;aqi=g1&amp;amp;aql=&amp;amp;gs_sm=e&amp;amp;gs_upl=850444l853606l1l853620l26l12l1l2l2l6l289l2006l2.6.4l14l0&amp;amp;bav=on.2,or.r_gc.r_pw.r_cp.,cf.osb&amp;amp;fp=bec57f5e523f8435&amp;amp;biw=1280&amp;amp;bih=593]로 이동합니다.&quot;&gt;좋고 나쁨을 비교해주는 사이트&lt;/a&gt;들도 많이 있었지만&lt;br /&gt;
가격대비 무난하다고 생각되는 &lt;a href=&quot;http://www.cafe24.com/?controller=product_server_virtual&amp;amp;method=linux&quot; target=&quot;_blank&quot; title=&quot;[http://www.cafe24.com/?controller=product_server_virtual&amp;amp;method=linux]로 이동합니다.&quot;&gt;cafe24의 가상서버 호스팅&lt;/a&gt;을 선택하게 되었다.&lt;br /&gt;
&lt;br /&gt;램 512, 하드 20GB, 트래픽 100G/월에 가격은 5500원/달.&lt;br /&gt;
&lt;br /&gt;어차피 간단한 홈페이지와 위키정도 그리고 약간의 웹프로그래밍 테스트 정도여서 적당하다고 생각한다.&lt;br /&gt;
100G정도면 뭐.. 추가 트래픽이 발생할리도 없을테고.. 5,500원이라는 가격때문에 선택한것일지도.&lt;br /&gt;
&lt;br /&gt;신청하면서 OS에 대한 선택도 해야 한다&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: rgb(102, 102, 102); font-family: tahoma, dotum; line-height: 16px; &quot;&gt;64bit CentOS 5.x / Fedora 11/ Ubuntu 10.04'&amp;nbsp;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
대학졸업한 이후로는 리눅스쪽을 다뤄보지 못해서 뭐가 괜찮은지 알지 못한 상태에서 그냥 CentOS를 선택.&lt;br /&gt;
CentOS는 APM을 포함해서 설치할건지, OS만 설치할건지를 구분할 수 있어서 귀찮은거 포기하고 APM 포함해서 설치.&lt;br /&gt;
&lt;br /&gt;putty를 사용해서 SSH로 root 계정으로 접속한 첫 느낌은.&lt;br /&gt;
도대체 뭘해야할지 모르겠다.&lt;br /&gt;
&lt;br /&gt;리눅스도 기억이 가물가물한데 계정은 root여서 잘못만지면 골치아플것 같았다. 읔..&lt;br /&gt;
&lt;div id=&quot;__KO_DIC_LAYER__&quot; style=&quot;padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; position: fixed; z-index: 999999999; overflow-x: hidden; overflow-y: hidden; border-top-width: 2px; border-right-width: 2px; border-bottom-width: 2px; border-left-width: 2px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(51, 51, 119); border-right-color: rgb(51, 51, 119); border-bottom-color: rgb(51, 51, 119); border-left-color: rgb(51, 51, 119); display: none; &quot;&gt;&lt;iframe frameborder=&quot;0&quot; scrolling=&quot;yes&quot; style=&quot;width: 100%; height: 100%; background-color: rgb(255, 255, 255); &quot;&gt;&lt;/iframe&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-59-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;!--
	&lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
		&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-fr/2.0/kr/&quot; /&gt;
		&lt;/Work&gt;
		&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-fr/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/DerivativeWorks&quot;/&gt;
		&lt;/License&gt;
	&lt;/rdf:RDF&gt;
	--&gt;
&lt;/div&gt;
&lt;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/공부하자/Web관련&quot;&gt;Web관련&lt;/a&gt;' 카테고리의 다른 글&lt;/h4&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/59&quot; &gt;Cafe24 가상 호스팅 - 1(선택)&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/12/02&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;</description>
			<category>Web관련</category>
			<category>가상서버호스팅</category>
			<author>smilejp</author>
			<guid>http://smilejp.tistory.com/59</guid>
			<comments>http://smilejp.tistory.com/59#entry59comment</comments>
			<pubDate>Fri, 02 Dec 2011 00:21:14 +0900</pubDate>
		</item>
		<item>
			<title>Lua의 주석처리</title>
			<link>http://smilejp.tistory.com/58</link>
			<description>	&lt;div class=&quot;ad250_outter&quot; style=&quot;float: right; margin: 0 0 20px 10px; position: relative; width: 250px;&quot;&gt;
		&lt;div class=&quot;ad250&quot; style=&quot;background: transparent url(http://i1.daumcdn.net/img-media/media3/common/ad250_bar_r2.gif) no-repeat scroll 0 0; width: 250px; height: 250px; padding: 18px 0 0; position: relative; width: 250px&quot;&gt;
			&lt;iframe width=&quot;250&quot; height=&quot;250&quot; border=&quot;0&quot; frameborder=&quot;0&quot; scrolling=&quot;no&quot; marginheight=&quot;0&quot; marginwidth=&quot;0&quot; src=&quot;http://amsv2.daum.net/ad/adview?secid=00659&amp;mkvid=1&amp;blogid=480845&quot;&gt;&lt;/iframe&gt;		&lt;/div&gt;
	&lt;/div&gt;
Lua에서 주석을 처리하는 방법은 크게 3가지 방법이 존재한다&lt;br /&gt;
&lt;br /&gt;
1. 한줄 주석&lt;br /&gt;
루아에서는 한줄 주석으로 -- 를 사용할 수 있다&lt;br /&gt;
&lt;pre class=&quot;brush:lua&quot;&gt;
-- local a = 10
local b = 10
&lt;/pre&gt;
2. 블록 주석&lt;br /&gt;
루아에서는 블록 주석으로 --[[ ]]를 사용할 수 있다&lt;br /&gt;
&lt;pre class=&quot;brush:lua&quot;&gt;--[[
local a = 10
]]
--[[
local b = 10
--]]
&lt;/pre&gt;
]]와 --]]는 같은 의미로 사용할 수 있다.&lt;br /&gt;
&lt;br /&gt;
3. 확장된 블록 주석&lt;br /&gt;
블록 주석을 확장하여 사용할 수 있는 방법이 있다.&lt;br /&gt;
--[=[와 같이 [[사이에 =를 넣어 사용하는 방법이다.&lt;br /&gt;
&lt;pre class=&quot;brush:lua&quot;&gt;--[=[
local a = 10
]=]
&lt;/pre&gt;
주의할 점은 =의 개수가 동일해야지만 루아에서 주석으로 인식한다는 점.&lt;br /&gt;
&lt;pre class=&quot;brush:lua&quot;&gt;--[==[
local a = 10
]=]
&lt;/pre&gt;
이것은 =의 개수가 서로 맞지 않기 때문에 ]=]를 주석해제로 인식하지 않는 문제가 발생한다.&lt;br /&gt;
SyntaxHighlighter의 문제로 페이지에서 주석처리는 안되지만, 실제 루아에서 테스트해보면&lt;br /&gt;
확장된 블록 주석을 쓸수있습니다~
&lt;div style=&quot;margin-left: 4em; &quot;&gt;
&lt;/div&gt;
&lt;div id=&quot;__KO_DIC_LAYER__&quot; style=&quot;padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; position: fixed; z-index: 999999999; overflow-x: hidden; overflow-y: hidden; border-top-width: 2px; border-right-width: 2px; border-bottom-width: 2px; border-left-width: 2px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(51, 51, 119); border-right-color: rgb(51, 51, 119); border-bottom-color: rgb(51, 51, 119); border-left-color: rgb(51, 51, 119); display: none; &quot;&gt;
&lt;iframe frameborder=&quot;0&quot; scrolling=&quot;yes&quot; style=&quot;width: 100%; height: 100%; background-color: rgb(255, 255, 255); &quot;&gt;&lt;/iframe&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-58-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;!--
	&lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
		&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-fr/2.0/kr/&quot; /&gt;
		&lt;/Work&gt;
		&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-fr/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/DerivativeWorks&quot;/&gt;
		&lt;/License&gt;
	&lt;/rdf:RDF&gt;
	--&gt;
&lt;/div&gt;
&lt;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/공부하자/Lua&quot;&gt;Lua&lt;/a&gt;' 카테고리의 다른 글&lt;/h4&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/61&quot; &gt;Lua 테이블 내용 출력하기&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/01/28&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/60&quot; &gt;Lua Table 복사에 대한 처리&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/01/16&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/58&quot; &gt;Lua의 주석처리&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/11/27&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/33&quot; &gt;LuaTinker로 싱글턴(Singleton) 넘기기&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2010/06/02&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/32&quot; &gt;Lua Binding&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2010/05/30&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;</description>
			<category>Lua</category>
			<category>Lua 주석</category>
			<author>smilejp</author>
			<guid>http://smilejp.tistory.com/58</guid>
			<comments>http://smilejp.tistory.com/58#entry58comment</comments>
			<pubDate>Sun, 27 Nov 2011 06:44:27 +0900</pubDate>
		</item>
		<item>
			<title>실용주의 프로그래머</title>
			<link>http://smilejp.tistory.com/57</link>
			<description>	&lt;div class=&quot;ad250_outter&quot; style=&quot;float: right; margin: 0 0 20px 10px; position: relative; width: 250px;&quot;&gt;
		&lt;div class=&quot;ad250&quot; style=&quot;background: transparent url(http://i1.daumcdn.net/img-media/media3/common/ad250_bar_r2.gif) no-repeat scroll 0 0; width: 250px; height: 250px; padding: 18px 0 0; position: relative; width: 250px&quot;&gt;
			&lt;iframe width=&quot;250&quot; height=&quot;250&quot; border=&quot;0&quot; frameborder=&quot;0&quot; scrolling=&quot;no&quot; marginheight=&quot;0&quot; marginwidth=&quot;0&quot; src=&quot;http://amsv2.daum.net/ad/adview?secid=00659&amp;mkvid=1&amp;blogid=480845&quot;&gt;&lt;/iframe&gt;		&lt;/div&gt;
	&lt;/div&gt;
&lt;div class=&quot;xhtmlEditorBody&quot;&gt;&lt;h4&gt;우연에 맡기는 프로그래밍&lt;/h4&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em class=&quot;underline&quot;&gt;&lt;strong&gt;&lt;span style=&quot;color: rgb(214, 26, 0);&quot;&gt;우리는 우연에 맡기는 프로그래밍, 곧 행운과 어쩌다 오는 성공에 의존하는 프로그래밍을 하지 말아야한다.&lt;/span&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em class=&quot;underline&quot;&gt;&lt;strong&gt;&lt;span style=&quot;color: rgb(214, 26, 0);&quot;&gt;대신 의도적으로 프로그래밍(Programming deliverately)해야한다.&lt;/span&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;코드를 조금 작성해서 테스트해보고 잘되기 때문에 다시 코드를 작성하고 테스트 하다가 에러가 발생하고 작동하지 않게되면&lt;/p&gt;
&lt;p&gt;코드를 살펴보고 수많은 시간을 쏟아도 고칠 가능성은 희박하다.&amp;nbsp; 어떤 시도를 해봐도, 코드는 제대로 돌아가지 않는다.&lt;/p&gt;
&lt;p&gt;이유는 코드가 처음부터 왜 잘 돌아가는지도 몰랐기 때문이다. &lt;em class=&quot;underline&quot;&gt;한정된 테스트를 했을때 코드가 잘 돌아가는 것처럼 보였지만,&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em class=&quot;underline&quot;&gt;그것은 단지 그때 운이 좋았을 뿐이다. 근거가 없는 확신을 가지고 계속 진행했기때문에 실패를 맛본것이다.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;정말로 제대로 돌아가는 것이 아닐지도 모른다. 우리에게만 그런 것처럼 보일 수도 있다.&lt;/li&gt;
&lt;li&gt;여러분이 의존하는 조건이 단지 우연인 경우도 있다. 다른 상황에서는 이상하게 작동할지도 모른다.&lt;/li&gt;
&lt;li&gt;문서화되지 않는 동작은 라이브러리의 다음 릴리스에서 변경될 가능성이 있다.&lt;/li&gt;
&lt;li&gt;불필요한 추가 호출은 코드를 더 느리게 만든다.&lt;/li&gt;
&lt;li&gt;추가로 호출한 루틴 때문에 새로운 버그들이 코드에 들어올 가능성이 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style=&quot;color: rgb(254, 0, 0);&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: rgb(254, 0, 0);&quot;&gt;&lt;strong&gt;자신을 위해 만들어진 코드를 정말로 이해하지 못하는 한, 자기 자신을 속이는 것이다. 우연에 맡기는 프로그래밍을 하고 있다.&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;마법사는 평범한 개발자의 애플리케이션에 통합되어 뗄레야 뗄 수 없는 부분이 되는 코드를 생성한다.&lt;/p&gt;
&lt;p&gt;마법사 코드는 깔끔한 인터페이스 뒤로 옮겨놓을 수 없다. 마법사가 생성한 코드는 평범한 개발자가&lt;/p&gt;
&lt;p&gt;작성하는 기능과 줄 단위로 섞인다. 결과적으로 그 코드는 마법사의 코드이기를 관두고 평범한 개발자 자신의 코드가 되기 시작한다.&lt;/p&gt;
&lt;p&gt;그리고 누구도 자신이 완전히 이해하지 못하는 코드를 내놓아서는 안 된다.&lt;span style=&quot;color: rgb(254, 0, 0);&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;불가능한 퍼즐 풀기&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;풀리지 않는 문제와 마주쳤다면, 생각해 볼 수 있는 모든 가능한 해결 경로를 눈앞에 나열해보라.&lt;br /&gt;
아무리 쓸모없고 바보같이 보이는 경로라도 절대 버리지 말라. 이제 목록을 하나씩 점검하면서 왜 그 경로를 따라갈 수 없는지 설명해 보라.&lt;br /&gt;
정말 확신하는가? 증멸할 수 있는가?&lt;br /&gt;
제약들을 범주별로 나누고 우선순위를 매겨라. 목공은 어떤 일을 시작할 때 그일에서 필요한 가장 긴 조각을 먼저 자르고, 남은 나무에서&lt;br /&gt;
작은 조각들을 잘라낸다. 비슷한 방식으로, 우리도 제일 구속이 심한 제약들로부터 파악해 내고 나머지 제약들을 그 안에서 맞춰보아야 한다.&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;불가능한 문제 대문에 일정이 늦어질 수 있다.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;더 쉬운 방법이 존재하는가?&lt;/li&gt;
&lt;li&gt;왜 이것이 문제인가?&lt;/li&gt;
&lt;li&gt;진짜 문제를 풀려고 노력하고 있나. 그렇지 않다면 중요하지 않은 기술적 문제에 정신이 팔려 있는것인가?&lt;/li&gt;
&lt;li&gt;문제를 이렇게 풀기 어렵게 만드는 것이 무엇인가?&lt;/li&gt;
&lt;li&gt;반드시 이 방법으로 해야 하는가?&lt;/li&gt;
&lt;li&gt;반드시 해야 하는 일이긴 한가?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4&gt;실용주의 팀&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;팀이 하나로서 의사소통하게 도와주는 간단한 마케팅 비결이 있다.&amp;nbsp; 프로젝트를 시작할 때 이름을 지어주는 것이다. 유별난 이름이라면 더 좋겠다.&lt;br /&gt;
30분정도 투자해서 멍텅구리 로고를 만들어 메모나 보고서 등에 사용하라.&amp;nbsp;&lt;br /&gt;
사람들과 대화를 할때에 자신의 팀 이름을 거리낌 없이 사용하라.&lt;br /&gt;
바보같이 들리지만, 팀은 정체성 확립의 기반을 얻을 것이고, 세상은 여러분의 작업과 관련되어서 기억할 만한 뭔가를 얻게 될 것이다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4&gt;결국은 모두 글쓰기(실용주의 프로그래머,p385)&lt;/h4&gt;
&lt;p&gt;소스코드 주석에 나오지 말아야 할 것들의 목록&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;파일 내의 코드가 익스포트(export)하는 함수들의 목록&lt;br /&gt;
소스를 분석해서 함수 목록이 최신버전임을 보장받을 수 있는 프로그램이 있다.&lt;/li&gt;
&lt;li&gt;리비전 기록&lt;br /&gt;
소스코드 관리 시스템이 해주는 일이다. 하지만 최종 수정 날짜와 최종 수정자에 대한 정보를 포함하는것은 유용할 수 있다.&lt;/li&gt;
&lt;li&gt;이 파일이 사용하는 파일 목록&lt;br /&gt;
자동화 도구를 사용하면 훨씬 더 정확한 목록을 얻을 수 있다.&lt;/li&gt;
&lt;li&gt;파일 이름&lt;br /&gt;
만약 이것이 파일 속에 드러나야 한다면 수작업으로 관리하면 안된다. RCS나 유사 시스템이 이 정보를 최신의 것으로 자동 관리한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;소스파일에 나타나야만 하는 가장 중요한 정보&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;저자의 이름, 소유자의 이름&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;서명하라.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;여러분의 서명이 품질의 보증 수표로 인식되게 해야한다. 사람들이 코드에 붙여진 여러분의 이름을 보고&lt;br /&gt;
그것이 튼튼하고 잘 작성되고 제대로 테스트되었으며 또 훌륭히 문서화되었을 것이라고 기대하도록 만들자.&lt;br /&gt;
&lt;strong&gt;진정한 프로페셔널한 일. 진정한 프로페셔널이 작성한.&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;text-align:right&quot;&gt;이 글은 &lt;a href=&quot;http://smilewjp.springnote.com/pages/1776704&quot;&gt;스프링노트&lt;/a&gt;에서 작성되었습니다.&lt;/p&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;/64&quot; &gt;도서리뷰 - HTML5 Canvas(한빛미디어)&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2012/03/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;
2011/11/09&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/51&quot; &gt;[독서] 뽀모도로 테크닉&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/04/29&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/47&quot; &gt;[독서] 도시에서 살며 사랑하며 배우며&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/04/01&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href=&quot;/42&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;/13&quot; &gt;1만 시간 법칙&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2009/12/24&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;</description>
			<category>읽은거</category>
			<author>smilejp</author>
			<guid>http://smilejp.tistory.com/57</guid>
			<comments>http://smilejp.tistory.com/57#entry57comment</comments>
			<pubDate>Wed, 09 Nov 2011 20:37:16 +0900</pubDate>
		</item>
		<item>
			<title>본것들을 기록하자.</title>
			<link>http://smilejp.tistory.com/55</link>
			<description>	&lt;div class=&quot;ad250_outter&quot; style=&quot;float: right; margin: 0 0 20px 10px; position: relative; width: 250px;&quot;&gt;
		&lt;div class=&quot;ad250&quot; style=&quot;background: transparent url(http://i1.daumcdn.net/img-media/media3/common/ad250_bar_r2.gif) no-repeat scroll 0 0; width: 250px; height: 250px; padding: 18px 0 0; position: relative; width: 250px&quot;&gt;
			&lt;iframe width=&quot;250&quot; height=&quot;250&quot; border=&quot;0&quot; frameborder=&quot;0&quot; scrolling=&quot;no&quot; marginheight=&quot;0&quot; marginwidth=&quot;0&quot; src=&quot;http://amsv2.daum.net/ad/adview?secid=00659&amp;mkvid=1&amp;blogid=480845&quot;&gt;&lt;/iframe&gt;		&lt;/div&gt;
	&lt;/div&gt;
본것들을 기록하자.&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;흔적을 남기지 않으니 시간을 어떻게 보내고있는지 감을 잡을수가 없구나ㅠ&lt;div id=&quot;__KO_DIC_LAYER__&quot; style=&quot;padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; position: fixed; z-index: 999999999; overflow-x: hidden; overflow-y: hidden; border-top-width: 2px; border-right-width: 2px; border-bottom-width: 2px; border-left-width: 2px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(51, 51, 119); border-right-color: rgb(51, 51, 119); border-bottom-color: rgb(51, 51, 119); border-left-color: rgb(51, 51, 119); display: none; &quot;&gt;
&lt;iframe frameborder=&quot;0&quot; scrolling=&quot;yes&quot; style=&quot;width: 100%; height: 100%; background-color: rgb(255, 255, 255); &quot;&gt;&lt;/iframe&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-55-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;!--
	&lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
		&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-fr/2.0/kr/&quot; /&gt;
		&lt;/Work&gt;
		&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-fr/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/DerivativeWorks&quot;/&gt;
		&lt;/License&gt;
	&lt;/rdf:RDF&gt;
	--&gt;
&lt;/div&gt;
&lt;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;/55&quot; &gt;본것들을 기록하자.&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span&gt;(0)&lt;/span&gt;
&lt;/th&gt;
&lt;td&gt;
2011/11/09&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;</description>
			<category>본거</category>
			<author>smilejp</author>
			<guid>http://smilejp.tistory.com/55</guid>
			<comments>http://smilejp.tistory.com/55#entry55comment</comments>
			<pubDate>Wed, 09 Nov 2011 20:36:09 +0900</pubDate>
		</item>
	</channel>
</rss>
