<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6928659990612633512</id><updated>2011-11-28T09:04:36.368+09:00</updated><category term='c/c++'/><category term='debugging'/><category term='restaurant'/><category term='web'/><category term='레스토랑'/><category term='시'/><category term='development'/><category term='전'/><category term='methodology'/><category term='중국집'/><category term='terminology'/><category term='wine'/><category term='음악'/><category term='service'/><category term='sync'/><category term='daemon'/><category term='firefox'/><category term='tips'/><category term='한식'/><category term='김치찌개'/><category term='embedded linux'/><category term='여행지'/><category term='windows'/><category term='vim'/><category term='카페'/><category term='신촌'/><category term='linux'/><category term='tab'/><category term='macintosh'/><category term='gdb'/><category term='java'/><category term='security'/><category term='vmware'/><category term='programming'/><category term='sorting'/><category term='malbec'/><category term='music'/><category term='bakery'/><category term='etc'/><category term='algorithm'/><category term='맥주'/><category term='book'/><category term='australia'/><category term='case'/><category term='argentina'/><category term='막걸리'/><category term='socket'/><category term='일식'/><category term='맛집'/><category term='iTunes'/><category term='drm'/><category term='software'/><category term='flickr'/><category term='address book'/><category term='서대문'/><category term='quality'/><category term='network'/><category term='shiraz'/><category term='홍대'/><category term='love'/><category term='google'/><title type='text'>Happy New Ideas</title><subtitle type='html'>Are you happy?</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://hnideas.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://hnideas.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Daniel Kim</name><uri>http://www.blogger.com/profile/11945857066706966377</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>50</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6928659990612633512.post-3378453252173914737</id><published>2009-09-25T13:44:00.003+09:00</published><updated>2009-09-25T13:48:07.809+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='australia'/><category scheme='http://www.blogger.com/atom/ns#' term='wine'/><category scheme='http://www.blogger.com/atom/ns#' term='shiraz'/><title type='text'>Mollydooker</title><content type='html'>괜찮은 Shiraz와인을 찾다가 Mollydooker 라는 와이너리를 찾게 되었다.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;사당히 독특한 이름과 레이블로도 잘 알려져 있다고 하는데, 그 맛도 참 괜찮다고 한다.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;여러 등급이 있는데, 가장 낮은 등급인 boxer도 괜찮다고 하니 조만간 한번 경험을 해봐야 할 것 같다. 참고로 블로그에 써 놓은 시음 평은 “속정 깊은 아빠”같다는 평이었는데, 그 느낌이 사뭇 궁금해 진다~&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6928659990612633512-3378453252173914737?l=hnideas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnideas.blogspot.com/feeds/3378453252173914737/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hnideas.blogspot.com/2009/09/mollydooker.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/3378453252173914737'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/3378453252173914737'/><link rel='alternate' type='text/html' href='http://hnideas.blogspot.com/2009/09/mollydooker.html' title='Mollydooker'/><author><name>Daniel Kim</name><uri>http://www.blogger.com/profile/11945857066706966377</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6928659990612633512.post-610037213733759716</id><published>2009-09-25T10:49:00.001+09:00</published><updated>2009-09-25T10:49:45.215+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='argentina'/><category scheme='http://www.blogger.com/atom/ns#' term='wine'/><category scheme='http://www.blogger.com/atom/ns#' term='malbec'/><title type='text'>Terrazas Reserva Malbec</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Lucida Grande', Verdana, Arial, sans-serif; font-size: 12px; color: rgb(51, 51, 51); line-height: 16px; "&gt;&lt;p&gt;Terrazas de los Andes Reserva Malbec&lt;/p&gt;&lt;p&gt;근래에 Malbec이 맛있다는 생각이 들어서 추천 받은 Malbec 100%의 아르헨티나 와인이다. Malbec의 주 산지인 만큼 상당히 괜찮은 맛을 내준 와인이었다. 솔직히 약간 뒷심이 부족하다는 느낌이 조금 있었지만, 가격(할인 받아서 2만원 대에 구입. 정가는 4만원정도로 기억.)을 생각하면 Malbec의 느낌을 느끼면서 가볍게 마실 수 있는 좋은 와인인 것 같다.&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6928659990612633512-610037213733759716?l=hnideas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnideas.blogspot.com/feeds/610037213733759716/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hnideas.blogspot.com/2009/09/terrazas-reserva-malbec.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/610037213733759716'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/610037213733759716'/><link rel='alternate' type='text/html' href='http://hnideas.blogspot.com/2009/09/terrazas-reserva-malbec.html' title='Terrazas Reserva Malbec'/><author><name>Daniel Kim</name><uri>http://www.blogger.com/profile/11945857066706966377</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6928659990612633512.post-8012155585562278430</id><published>2009-09-25T10:40:00.002+09:00</published><updated>2009-09-25T10:49:00.678+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='신촌'/><category scheme='http://www.blogger.com/atom/ns#' term='맛집'/><category scheme='http://www.blogger.com/atom/ns#' term='김치찌개'/><title type='text'>낭풍 김치찌개</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Lucida Grande', Verdana, Arial, sans-serif; font-size: 12px; color: rgb(51, 51, 51); line-height: 16px; "&gt;&lt;p&gt;트위터를 통해서 알게된 김치찌개 집이다. 사진에서 본 것 만으로도 너무 군침이 돈다.&lt;/p&gt;&lt;p&gt;상당히 젊은 사장님이 운영하시는 이 가계는 대학가 주변의 식당 답게, 저렴한 가격과 푸짐한 양을 자랑한다. 물론 맛도 괜찮은 편인 듯 하다. 다른 블로그를 통해서 봤듯이 상당한 양의 두툼한 돼지고기가 들어간다. 신촌에서 친구들과 간단하게 식사겸 반주 할 곳을 찾는다면 이 곳이 좋은 선택 중 하나가 될 것 같다.&lt;/p&gt;&lt;p&gt;위치는 신촌 창서 초등학교 길로 쭉 올라가다가 창서 초등학교 끝나는 왼쪽 골목 다음 골목이다 (설명이 써 놓고도 모르겠다ㅡㅡ;).&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6928659990612633512-8012155585562278430?l=hnideas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnideas.blogspot.com/feeds/8012155585562278430/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hnideas.blogspot.com/2009/09/blog-post_8895.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/8012155585562278430'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/8012155585562278430'/><link rel='alternate' type='text/html' href='http://hnideas.blogspot.com/2009/09/blog-post_8895.html' title='낭풍 김치찌개'/><author><name>Daniel Kim</name><uri>http://www.blogger.com/profile/11945857066706966377</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6928659990612633512.post-7262681439240675217</id><published>2009-09-25T10:39:00.003+09:00</published><updated>2009-09-25T10:39:57.642+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='카페'/><category scheme='http://www.blogger.com/atom/ns#' term='홍대'/><title type='text'>Cafe Haru</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Lucida Grande', Verdana, Arial, sans-serif; font-size: 12px; color: rgb(51, 51, 51); line-height: 16px; "&gt;&lt;p&gt;홍대에는 정말 많은 까페가 있다. 크고 좋은 카페들도 많지만 우연하게 들어가게돈 Cafe Haru라는 곳이 난 참 마음에 든다. 공간은 그리 넓지 않지만 참 아기자기하게 잘 꾸며 놓았다. 그리고 가장 중요한 커피. 여기서는 주문이 들어오면 그때 커피를 갈아서 Handy Drop커피를 만들어준다. 이 커피가 내 입맛에는 참 맛있다. 홍대에 가게되면 사람들을 데리고 자주가는 곳이 되어버렸다.&lt;/p&gt;&lt;p&gt;위치는 네이버 검색~ (설명이 좀 애매해서…ㅡㅡ;)&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6928659990612633512-7262681439240675217?l=hnideas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnideas.blogspot.com/feeds/7262681439240675217/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hnideas.blogspot.com/2009/09/cafe-haru.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/7262681439240675217'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/7262681439240675217'/><link rel='alternate' type='text/html' href='http://hnideas.blogspot.com/2009/09/cafe-haru.html' title='Cafe Haru'/><author><name>Daniel Kim</name><uri>http://www.blogger.com/profile/11945857066706966377</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6928659990612633512.post-151016020704025778</id><published>2009-09-25T10:39:00.001+09:00</published><updated>2009-09-25T10:39:29.130+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='맥주'/><category scheme='http://www.blogger.com/atom/ns#' term='홍대'/><category scheme='http://www.blogger.com/atom/ns#' term='음악'/><title type='text'>울림</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Lucida Grande', Verdana, Arial, sans-serif; font-size: 12px; color: rgb(51, 51, 51); line-height: 16px; "&gt;&lt;p&gt;우울함을 즐기고 싶을 때가 있다. 그러면 난 홍대에 있는 울림이라는 곳을 찾느다. 여기는 좋은 노래와 맛있는 맥주가 있다. 그 공간 전체가 이름 그대로 울림 통으로 쌓여 있어서 그런지, 아니면 주인장 님의 좋은 선곡 때문인지 가만히 앉아만 있어도 기분이 편안해지고, 조금 더 지나면 우울함을 즐길 수 있는 분위기에 젖어든다.&lt;/p&gt;&lt;p&gt;위치는 홍대에서 커피프린스를 촬영한 카페가 있는 골목으로 올라가다 보면 그 골목 중간쯤에 있는 건물 2층에 있다.&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6928659990612633512-151016020704025778?l=hnideas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnideas.blogspot.com/feeds/151016020704025778/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hnideas.blogspot.com/2009/09/blog-post_6360.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/151016020704025778'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/151016020704025778'/><link rel='alternate' type='text/html' href='http://hnideas.blogspot.com/2009/09/blog-post_6360.html' title='울림'/><author><name>Daniel Kim</name><uri>http://www.blogger.com/profile/11945857066706966377</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6928659990612633512.post-2612817971639383533</id><published>2009-09-25T10:35:00.001+09:00</published><updated>2009-09-25T10:36:32.802+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='레스토랑'/><category scheme='http://www.blogger.com/atom/ns#' term='맛집'/><category scheme='http://www.blogger.com/atom/ns#' term='홍대'/><title type='text'>J.Tasteable</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Lucida Grande', Verdana, Arial, sans-serif; font-size: 12px; color: rgb(51, 51, 51); line-height: 16px; "&gt;&lt;p&gt;아직 가본 곳은 아니지만, 우연히 인테넷을 통해서 접하게 된 레스토랑이다. 난 오너쉐프 레스토랑을 좋아하는데 이 레스토랑 역시 주방장께서 직접 오픈한 곳이라고 한다.  조만간 다녀온 후 좀 더 자세한 포스팅을…&lt;/p&gt;&lt;p&gt;위치는 합정역 3번 출구로 나와서 자이 건물을 지나서 있는 골목으로 쭉 들어가면 있다고 한다.&lt;/p&gt;&lt;p&gt;마포구 서교동 397-5 1층&lt;br /&gt;02-322-5948&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6928659990612633512-2612817971639383533?l=hnideas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnideas.blogspot.com/feeds/2612817971639383533/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hnideas.blogspot.com/2009/09/jtasteable.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/2612817971639383533'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/2612817971639383533'/><link rel='alternate' type='text/html' href='http://hnideas.blogspot.com/2009/09/jtasteable.html' title='J.Tasteable'/><author><name>Daniel Kim</name><uri>http://www.blogger.com/profile/11945857066706966377</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6928659990612633512.post-3833355304626403063</id><published>2009-09-25T10:34:00.001+09:00</published><updated>2009-09-25T10:34:47.420+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='맛집'/><category scheme='http://www.blogger.com/atom/ns#' term='중국집'/><category scheme='http://www.blogger.com/atom/ns#' term='서대문'/><title type='text'>목란</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Lucida Grande', Verdana, Arial, sans-serif; font-size: 12px; color: rgb(51, 51, 51); line-height: 16px; "&gt;&lt;p&gt;우리나라에 중국 음식점은 상당히 많다. 동네만 해도 몇군데 씩 있는게 일반적이다. 하지만, 정말 맛있다라는 말이 나오는 중국 음식점은 그리 많지 않은것 같다. 목란은 이런 수많은 음식점 들 중에서도 “맛있다”라는 말이 어울리는 중국 음식점이다.&lt;/p&gt;&lt;p&gt;위치는 서대문 지하철 역에서 내려서 강남 삼성 병원 방면으로 올라가다가 병원이 끝나는 부분에서 올라가는 골목으로 올라가다 보면 왼편으로 목란이라고 쓰여져 있는 표지판을 볼 수 있다.&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6928659990612633512-3833355304626403063?l=hnideas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnideas.blogspot.com/feeds/3833355304626403063/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hnideas.blogspot.com/2009/09/blog-post_6953.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/3833355304626403063'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/3833355304626403063'/><link rel='alternate' type='text/html' href='http://hnideas.blogspot.com/2009/09/blog-post_6953.html' title='목란'/><author><name>Daniel Kim</name><uri>http://www.blogger.com/profile/11945857066706966377</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6928659990612633512.post-1854603835800063358</id><published>2009-09-25T10:33:00.000+09:00</published><updated>2009-09-25T10:34:17.367+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='신촌'/><category scheme='http://www.blogger.com/atom/ns#' term='막걸리'/><category scheme='http://www.blogger.com/atom/ns#' term='맛집'/><category scheme='http://www.blogger.com/atom/ns#' term='전'/><title type='text'>전주 전집</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Lucida Grande', Verdana, Arial, sans-serif; font-size: 12px; color: rgb(51, 51, 51); line-height: 16px; "&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&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6928659990612633512-1854603835800063358?l=hnideas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnideas.blogspot.com/feeds/1854603835800063358/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hnideas.blogspot.com/2009/09/blog-post_25.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/1854603835800063358'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/1854603835800063358'/><link rel='alternate' type='text/html' href='http://hnideas.blogspot.com/2009/09/blog-post_25.html' title='전주 전집'/><author><name>Daniel Kim</name><uri>http://www.blogger.com/profile/11945857066706966377</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6928659990612633512.post-9105363763701136734</id><published>2008-12-17T14:57:00.002+09:00</published><updated>2008-12-17T15:00:43.391+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='restaurant'/><category scheme='http://www.blogger.com/atom/ns#' term='bakery'/><title type='text'>Fripan (프리판)</title><content type='html'>유럽 전통 크로와상을 맛볼 수 있는 곳&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6928659990612633512-9105363763701136734?l=hnideas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnideas.blogspot.com/feeds/9105363763701136734/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hnideas.blogspot.com/2008/12/fripan.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/9105363763701136734'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/9105363763701136734'/><link rel='alternate' type='text/html' href='http://hnideas.blogspot.com/2008/12/fripan.html' title='Fripan (프리판)'/><author><name>Daniel Kim</name><uri>http://www.blogger.com/profile/11945857066706966377</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6928659990612633512.post-455512789914023142</id><published>2008-12-12T14:37:00.000+09:00</published><updated>2008-12-12T14:38:18.741+09:00</updated><title type='text'>How to Achieve Anything?</title><content type='html'>&lt;div&gt;&lt;a href="http://thinksimplenow.com/motivation/how-to-achieve-anything/"&gt;http://thinksimplenow.com/motivation/how-to-achieve-anything/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;Did you know that we will do more to avoid pain than we will to gain pleasure?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6928659990612633512-455512789914023142?l=hnideas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnideas.blogspot.com/feeds/455512789914023142/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hnideas.blogspot.com/2008/12/how-to-achieve-anything.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/455512789914023142'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/455512789914023142'/><link rel='alternate' type='text/html' href='http://hnideas.blogspot.com/2008/12/how-to-achieve-anything.html' title='How to Achieve Anything?'/><author><name>Daniel Kim</name><uri>http://www.blogger.com/profile/11945857066706966377</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6928659990612633512.post-6095746486464786626</id><published>2008-12-02T16:30:00.000+09:00</published><updated>2008-12-02T16:40:34.372+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sync'/><category scheme='http://www.blogger.com/atom/ns#' term='macintosh'/><category scheme='http://www.blogger.com/atom/ns#' term='address book'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><title type='text'>How to sync Google address book with Mac address book</title><content type='html'>Mac OS X 10.5.3에서부터 google address book과 sync하는 기능이 추가되었습니다.&lt;br /&gt;하지만, 안타깝게도 itunes로 iphone이나 ipod touch를 이용하는 사용자에 한해서만 해당 기능이 활성화 된다고 합니다.&lt;br /&gt;그래도! 언제, 뜻이 있는 곳에는 길이 있다는 말처럼 해당 ipod 기기가 없는 사용자도, 약간의 plist파일 수정을 통하여서 google address book과의 sync 기능을 사용할 수 있습니다.&lt;br /&gt;&lt;br /&gt;수정하여야 할 plist file은 ~/Library/Preferences/com.apple.iPod.plist입니다.&lt;br /&gt;&lt;br /&gt;plist editor로 해당 file을 open한 후에, 아래와 같이 Family ID를 찾은 후,&lt;br /&gt;&lt;br /&gt;Root&lt;br /&gt; |- Devices&lt;br /&gt;       |- {some numbers}&lt;br /&gt;                |- Family ID&lt;br /&gt;&lt;br /&gt;Family ID 값을 10001로 수정하고 plist file을 저장합니다.&lt;br /&gt;&lt;br /&gt;이제 Address Book을 실행한 후, Preferences의 Generic에 보시면 Google과 sync하는 기능이 활성화 된 것을 보실 수 있으실 겁니다.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6928659990612633512-6095746486464786626?l=hnideas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnideas.blogspot.com/feeds/6095746486464786626/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hnideas.blogspot.com/2008/12/how-to-sync-google-address-book-with.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/6095746486464786626'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/6095746486464786626'/><link rel='alternate' type='text/html' href='http://hnideas.blogspot.com/2008/12/how-to-sync-google-address-book-with.html' title='How to sync Google address book with Mac address book'/><author><name>Daniel Kim</name><uri>http://www.blogger.com/profile/11945857066706966377</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6928659990612633512.post-4193255324395122007</id><published>2008-10-24T23:33:00.001+09:00</published><updated>2008-10-24T23:34:47.355+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><title type='text'>vim commands</title><content type='html'>=G    현재행 밑으로 indentation 정리&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6928659990612633512-4193255324395122007?l=hnideas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnideas.blogspot.com/feeds/4193255324395122007/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hnideas.blogspot.com/2008/10/vim-commands.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/4193255324395122007'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/4193255324395122007'/><link rel='alternate' type='text/html' href='http://hnideas.blogspot.com/2008/10/vim-commands.html' title='vim commands'/><author><name>Daniel Kim</name><uri>http://www.blogger.com/profile/11945857066706966377</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6928659990612633512.post-3434806607885248410</id><published>2008-10-23T02:53:00.002+09:00</published><updated>2008-10-23T02:56:46.222+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='algorithm'/><category scheme='http://www.blogger.com/atom/ns#' term='sorting'/><title type='text'>Natural Ordering</title><content type='html'>사람들이 일상적으로 정렬하는 형식과 가능한 비슷하게 만들어 놓은 sorting이다.&lt;br /&gt;단순 sorting보다는 조금 복잡하지만, 파일을 보여줄때 prefix로 0을 넣어야 하는 것들을 피할 수 있다. 공개된 소스도 많으니, 한번쯤 어떻게 동작하는지 확인해 볼 필요가 있을듯.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6928659990612633512-3434806607885248410?l=hnideas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnideas.blogspot.com/feeds/3434806607885248410/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hnideas.blogspot.com/2008/10/natural-ordering.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/3434806607885248410'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/3434806607885248410'/><link rel='alternate' type='text/html' href='http://hnideas.blogspot.com/2008/10/natural-ordering.html' title='Natural Ordering'/><author><name>Daniel Kim</name><uri>http://www.blogger.com/profile/11945857066706966377</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6928659990612633512.post-5879146173909962590</id><published>2008-10-23T00:53:00.002+09:00</published><updated>2008-10-23T00:57:42.580+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='quality'/><category scheme='http://www.blogger.com/atom/ns#' term='case'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='methodology'/><category scheme='http://www.blogger.com/atom/ns#' term='software'/><title type='text'>검증 위주의 개발론</title><content type='html'>정확한 이름은 잘 모르겠지만, 오늘 생각해 볼 만한 개발론에 대한 얘기를 들었다.&lt;br /&gt;&lt;br /&gt;개인적으로 검증을 통해 개발을 완성한다는 것이 그리 달갑지는 않다. 하지만, software가 복잡해 질 수록 모든 경우의 수를 사람의 머리로 100% 다 확신할 수 없기 때문에, 검증이 상당히 중요하다고 생각한다. 자신이 개발하고 있는 software에서 발생할 수 있는 case를 정확하게 한정지을 수 있다면, 개발의 신뢰도가 상당히 향상될 것이라고 생각한다. 이렇게 case를 정확하게 한정지을 수 있는 방법론이 존재한다고 한다. 관심있게 한번 공부해 볼 필요가 있을 것 같다.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6928659990612633512-5879146173909962590?l=hnideas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnideas.blogspot.com/feeds/5879146173909962590/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hnideas.blogspot.com/2008/10/blog-post.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/5879146173909962590'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/5879146173909962590'/><link rel='alternate' type='text/html' href='http://hnideas.blogspot.com/2008/10/blog-post.html' title='검증 위주의 개발론'/><author><name>Daniel Kim</name><uri>http://www.blogger.com/profile/11945857066706966377</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6928659990612633512.post-4167735996880223346</id><published>2008-10-04T16:58:00.003+09:00</published><updated>2008-10-04T17:04:48.011+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='book'/><title type='text'>Software 관련 책들</title><content type='html'>&lt;div&gt;분류가 조금 애매한 책들은 일단 책에서 주로 사용한 언어로 분류한다.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;C programming&lt;div&gt;- C Programming: A Modern Approach&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;C++ programming&lt;/div&gt;&lt;div&gt;- Design Pattern&lt;/div&gt;&lt;div&gt;- Modern C++ Design&lt;/div&gt;&lt;div&gt;- More Effective C++&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Java programming&lt;/div&gt;&lt;div&gt;- Refactoring&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Others&lt;/div&gt;&lt;div&gt;- Write Great Code, Volume 1: Understanding the Machine&lt;/div&gt;&lt;div&gt;- Write Great Code, Volume 2: Thinking Low-Level, Writing High-Level&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6928659990612633512-4167735996880223346?l=hnideas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnideas.blogspot.com/feeds/4167735996880223346/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hnideas.blogspot.com/2008/10/software.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/4167735996880223346'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/4167735996880223346'/><link rel='alternate' type='text/html' href='http://hnideas.blogspot.com/2008/10/software.html' title='Software 관련 책들'/><author><name>Daniel Kim</name><uri>http://www.blogger.com/profile/11945857066706966377</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6928659990612633512.post-8009686233794164472</id><published>2008-09-27T00:03:00.003+09:00</published><updated>2008-09-27T01:20:52.917+09:00</updated><title type='text'>C Pre-Processors</title><content type='html'>일단, 잘 알려진 아래의 Pre-Processors를 나열해 보면 아래와 같다.&lt;br /&gt;&lt;br /&gt;#include, #define, #undef&lt;br /&gt;&lt;br /&gt;#ifdef, #ifndef, #if, #else, #elif, #endif&lt;br /&gt;&lt;br /&gt;아래의 두 Pre-Processors는 설명이 좀 필요하다.&lt;br /&gt;&lt;br /&gt;1. #&lt;br /&gt;Stringization으로 불린다. 먼, 사용하는 예를 보면 아래와 같다.&lt;br /&gt;&lt;br /&gt;source&lt;br /&gt;&lt;blockquote&gt;#define PRINT_DEFINITION(a, b) printf(#a " is " #b ".\n");&lt;br /&gt;&lt;br /&gt;PRINT_DEFINITION(Love, Everything);&lt;/blockquote&gt;result&lt;br /&gt;&lt;blockquote&gt;Love is Everything.&lt;br /&gt;&lt;/blockquote&gt;이처럼, #은 Pre-Processor에 인자로 들어온 값을 constant string으로 만들어주는 역할을 한다.&lt;br /&gt;&lt;br /&gt;2. ##&lt;br /&gt;이 Pre-Processor는 {Token Pasting | Token Concatenation | Token Merge | Merge} Operator등 다양하게 불리우는 것 같다. 어떤 이름이 정식 이름인지는 잘 모르겠다. 일단 사용 예부터 보자.&lt;br /&gt;&lt;br /&gt;source&lt;br /&gt;&lt;blockquote&gt;#define FUNC_SIZE(a) sizeof(func##a)&lt;br /&gt;&lt;br /&gt;struct func1 {&lt;br /&gt;   int a;&lt;br /&gt;   int b;&lt;br /&gt;   char *c;&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;struct func2 {&lt;br /&gt;   char *a;&lt;br /&gt;   int b;&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;printf("func1 size: %d, func2 size: %d\n", FUNC_SIZE(1), FUNC_SIZE(2));&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;result&lt;br /&gt;&lt;blockquote&gt;func1 size: 12, func2 size: 8&lt;/blockquote&gt;&lt;br /&gt;짧고 좋은 예가 생각이 안나서 예제가 조금 유치하다. 예에서 볼 수 있듯이, token merge operator는 Pre-Processor에서 두 글자를 하나의 인자로 이어주는 역할을 한다.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6928659990612633512-8009686233794164472?l=hnideas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnideas.blogspot.com/feeds/8009686233794164472/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hnideas.blogspot.com/2008/09/c-pre-processors.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/8009686233794164472'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/8009686233794164472'/><link rel='alternate' type='text/html' href='http://hnideas.blogspot.com/2008/09/c-pre-processors.html' title='C Pre-Processors'/><author><name>Daniel Kim</name><uri>http://www.blogger.com/profile/11945857066706966377</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6928659990612633512.post-6685172897459289715</id><published>2008-09-26T14:16:00.003+09:00</published><updated>2008-09-26T14:20:34.922+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='network'/><category scheme='http://www.blogger.com/atom/ns#' term='socket'/><category scheme='http://www.blogger.com/atom/ns#' term='c/c++'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>Java와 C간의 socket 통신시 주의할 사항</title><content type='html'>Java는 platform과 상관없이 무조건 big-endian으로 데이터를 처리하는 반면에 C는 platform에 따라서 big-endian과 little-endian이 달라진다.따라서 java에서 ByteBuffer의 order()함수를 이용하여 endian을 맞추든, C에서 맞추든 endian을 통일시켜야, socket 통신을 원하는 결과를 얻을 수 있다.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6928659990612633512-6685172897459289715?l=hnideas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnideas.blogspot.com/feeds/6685172897459289715/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hnideas.blogspot.com/2008/09/java-c-socket.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/6685172897459289715'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/6685172897459289715'/><link rel='alternate' type='text/html' href='http://hnideas.blogspot.com/2008/09/java-c-socket.html' title='Java와 C간의 socket 통신시 주의할 사항'/><author><name>Daniel Kim</name><uri>http://www.blogger.com/profile/11945857066706966377</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6928659990612633512.post-818328271666323770</id><published>2008-09-12T17:08:00.007+09:00</published><updated>2008-09-17T15:17:42.692+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='firefox'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><title type='text'>Firefox Shortcut Keys</title><content type='html'>&lt;table border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th&gt;CTRL+N&lt;/th&gt;&lt;td&gt;새로운 창 열기&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th&gt;CTRL+R&lt;/th&gt;&lt;td&gt;현재 page 다시 불러오기&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th&gt;ALT+←&lt;/th&gt;&lt;td&gt;이전 page로 돌아가기&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th&gt;ALT+→&lt;/th&gt;&lt;td&gt;다음 page로 돌아가기&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th&gt;ALT+HOME&lt;/th&gt;&lt;td&gt;Home page로 돌아가기&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th&gt;&lt;/th&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th&gt;CTRL+k&lt;/th&gt;&lt;td&gt;검색어 입력창으로 이동&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th&gt;ALT+d&lt;/th&gt;&lt;td&gt;URL 입력창으로 이동&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;th&gt;CTRL+ENTER&lt;/th&gt;&lt;td&gt;입력한 URL 앞에 "http://www.", 뒤에 ".com"을 붙여준다.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th&gt;&lt;/th&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th&gt;CTRL+T&lt;/th&gt;&lt;td&gt;새로운 Tab 열기&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th&gt;CTRL+W&lt;/th&gt;&lt;td&gt;현재 Tab 닫기&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th&gt;CTRL+SHIFT+T&lt;/th&gt;&lt;td&gt;닫은 Tab 되돌리기&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th&gt;CTRL+TAB&lt;/th&gt;&lt;td&gt;다음 Tab으로 이동&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th&gt;CTRL+SHIFT+TAB&lt;/th&gt;&lt;td&gt;이전 Tab으로 이동&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th&gt;CTRL+[0-9]&lt;/th&gt;&lt;td&gt;1번째 Tab부터 10번째 Tab까지 바로 이동&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th&gt;&lt;/th&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th&gt;/&lt;/th&gt;&lt;td&gt;입력하는 글자에 해당하는 글자로 이동&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th&gt;'&lt;/th&gt;&lt;td&gt;입력하는 글자에 해당하는 link로 이동&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th&gt;CTRL+G&lt;/th&gt;&lt;td&gt;다음 글자 or link로 이동&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th&gt;CTRL+SHIFT+G&lt;/th&gt;&lt;td&gt;이전 글자 or link로 이동&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6928659990612633512-818328271666323770?l=hnideas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnideas.blogspot.com/feeds/818328271666323770/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hnideas.blogspot.com/2008/09/firefox-shortcut-keys.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/818328271666323770'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/818328271666323770'/><link rel='alternate' type='text/html' href='http://hnideas.blogspot.com/2008/09/firefox-shortcut-keys.html' title='Firefox Shortcut Keys'/><author><name>Daniel Kim</name><uri>http://www.blogger.com/profile/11945857066706966377</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6928659990612633512.post-5621905182904080276</id><published>2008-08-29T14:30:00.006+09:00</published><updated>2008-10-04T16:36:19.047+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='drm'/><category scheme='http://www.blogger.com/atom/ns#' term='music'/><title type='text'>DRM Free 음악 서비스 비교 (계속 작성 중.)</title><content type='html'>DRM Free 음악 서비스를 상당히 기다려왔다. 원하는 음악을 정당한 대가를 지불하고, "내가 원하는 방식"으로 즐길 수 있기 때문에 나로써는 정말 고대하던 서비스가 아닐 수 없다. Bugs를 시작으로 해서 일단 한 달 씩 각 서비스를 이용해 보고 있다. 뭐, 처음부터 그럴 생각은 없었지만 이용하다보니 장기적으로 이용할 서비스 업체를 찾아보는게 좋겠다는 생각이 들어서 본의 아니게 비교기 까지 작성하게 됐다.&lt;br /&gt;&lt;br /&gt;1. Bugs (2008. 07)&lt;div&gt;- Player: Active-X를 이용한 web 기반 player. 안정적.&lt;/div&gt;&lt;div&gt;- 음원: 가요는 대부분 DRM Free로 이용 가능. 나머지는 잘 모르겠음.&lt;/div&gt;&lt;div&gt;- 다운로드: 대부분의 모든 곡에 대해서 128kbps부터 320kbps까지 원하는데로 다운 가능.&lt;/div&gt;&lt;div&gt;- Tag: Tag정리가 제대로 되어 있지 않아서, 노래 별로 재각각임. Album Cover는 대부분 없음.&lt;br /&gt;&lt;br /&gt;2. Dosirak (2008. 08)&lt;br /&gt;- Player: Dosirak Player 프로그램. 상당히 불안함 (특히 휴대폰 연결시).&lt;/div&gt;&lt;div&gt;- 음원: 몇몇 원하는 음악을 찾지 못했음. 몇몇 원하던 노래가 DRM이 걸려 있음.&lt;/div&gt;&lt;div&gt;- 다운로드: 128kbps부터 320kbps까지 선택은 가능하나, 상당히 많은 곡들이 192kbps까지 밖에 지원하지 않음.&lt;/div&gt;&lt;div&gt;- Tag: Tag정리는 상당히 잘 되어 있지만, 이름을 "성 이름" 처럼 조금 이상한 기준으로 되어 있어서 나의 기준에 맞도록 약간의 정리가 필요함. Album Cover도 대부분 다 있음.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;3. 멜론 (2008. 09 ~)&lt;br /&gt;- Player: Melon Player 프로그램. 상당히 안정적이며, 사용이 편리함. 방화벽이 있는 곳에서 사용시 streaming이 제대로 안되는 경우 발생.&lt;/div&gt;&lt;div&gt;- 음원: 멜론의 가장 큰 장점으로 음원이 지금까지 알고 있기로는 가장 풍부하다. 몇몇 노래들이 DRM이 걸려 있기는 하다.&lt;/div&gt;&lt;div&gt;- 다운로드: Melon Player를 통해서 편하게 다운로드 받을 수 있다. 128kbps부터 320kbps까지 선택하여 다운 받을 수 있지만, 192kbps까지 밖에 지원하지 않는 곡들도 상당히 많음.&lt;/div&gt;&lt;div&gt;- Tag: Tag정리는 일반적인 기준에 따라서 상당히 잘 되어 있어서 따로 정리할 필요가 거의 없다. Album Cover는 거의 다 있음. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;4. 쥬크온 (미정)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6928659990612633512-5621905182904080276?l=hnideas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnideas.blogspot.com/feeds/5621905182904080276/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hnideas.blogspot.com/2008/08/drm-free.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/5621905182904080276'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/5621905182904080276'/><link rel='alternate' type='text/html' href='http://hnideas.blogspot.com/2008/08/drm-free.html' title='DRM Free 음악 서비스 비교 (계속 작성 중.)'/><author><name>Daniel Kim</name><uri>http://www.blogger.com/profile/11945857066706966377</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6928659990612633512.post-3700334648716923109</id><published>2008-08-05T20:14:00.002+09:00</published><updated>2008-09-19T12:27:39.404+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><title type='text'>vim in HEX mode</title><content type='html'>:%!xxd&lt;br /&gt;:%!xxd -r&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6928659990612633512-3700334648716923109?l=hnideas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnideas.blogspot.com/feeds/3700334648716923109/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hnideas.blogspot.com/2008/08/vim-in-hex-mode.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/3700334648716923109'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/3700334648716923109'/><link rel='alternate' type='text/html' href='http://hnideas.blogspot.com/2008/08/vim-in-hex-mode.html' title='vim in HEX mode'/><author><name>Daniel Kim</name><uri>http://www.blogger.com/profile/11945857066706966377</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6928659990612633512.post-4690403439599446025</id><published>2008-07-28T18:09:00.003+09:00</published><updated>2008-09-04T15:37:53.150+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vim'/><category scheme='http://www.blogger.com/atom/ns#' term='tab'/><title type='text'>vim에서의 tab설정</title><content type='html'>&lt;code&gt;set tabstop=4&lt;br /&gt;set shiftwidth=4&lt;br /&gt;set expandtab &lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;:retab&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6928659990612633512-4690403439599446025?l=hnideas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnideas.blogspot.com/feeds/4690403439599446025/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hnideas.blogspot.com/2008/07/vim-tab.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/4690403439599446025'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/4690403439599446025'/><link rel='alternate' type='text/html' href='http://hnideas.blogspot.com/2008/07/vim-tab.html' title='vim에서의 tab설정'/><author><name>Daniel Kim</name><uri>http://www.blogger.com/profile/11945857066706966377</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6928659990612633512.post-4328423099106051844</id><published>2008-07-17T14:08:00.004+09:00</published><updated>2008-07-17T15:21:04.577+09:00</updated><title type='text'>double pointer</title><content type='html'>void **&lt;br /&gt;&lt;br /&gt;이렇게 사용되는 pointer variabel을 double polinter라고 부른다. 사용하는 이유는 보통 single pointer variable에 메모리를 할당하기 위함이 일반 적이다. 예를 들어보자.&lt;br /&gt;&lt;br /&gt;boolean func(char **ptr, int nSize)&lt;br /&gt;{&lt;br /&gt;   if(*ptr != NULL) {&lt;br /&gt;       free(*ptr);&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;      *ptr = (char *)malloc(sizeof(char) * nSize);&lt;br /&gt;&lt;br /&gt;      return (*ptr == NULL) ? FALSE : TRUE;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;위와 같은 형식이 아마도 가장 일반적인 double pointer의 예일 것이다. 종종 위와 같은 기능을 single pointer를 이용하여도 상관없지 않냐는 궁금증을 갖게 되는 경우가 있다. 예를 들어보자.&lt;br /&gt;&lt;br /&gt;boolean func(char *ptr, int nSize)&lt;br /&gt;{&lt;br /&gt;      if(ptr != NULL) {&lt;br /&gt;              free(ptr);&lt;br /&gt;      }&lt;br /&gt;&lt;br /&gt;      ptr = (char *)malloc(sizeof(char) * nSize);&lt;br /&gt;&lt;br /&gt;      return (ptr == NULL) ? FALSE : TRUE;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;결과는 전혀 다르다. Pointer variable은 주소를 담는 공간이다. 인자로 전달 받은 char *ptr은 callee가 전달한 주소를 담는 공간이며, local variable 임을 명심하자. 즉, ptr에 malloc을 통해 새로운 pointer를 할당하는 것은 local variable에 malloc을 통해서 새로운 주소를 할당하는 것과 동일한 것이다.&lt;br /&gt;&lt;br /&gt;조금 다른 얘기지만, 종종 아래와 같은 오류가 있는 code를 볼 수 있다.&lt;br /&gt;&lt;br /&gt;char doubleArray[2][3];&lt;br /&gt;char **ppArray = doubleArray;&lt;br /&gt;&lt;br /&gt;기본적인 문법 오류이지만, 실수하기 쉬운 부분이다. 첫번째의 multi-dimensional array의 경우 6개의 char variable이 연속으로 붙어 있는 형태를 가지며, 아래의 double pointer로 표현하고자 하는 multi-dimensional array의 경우, 2개의 char * variable이 연속으로 붙어 있고, 각 variable은 3개의 char variable이 연속으로 붙어 있는 영역을 가리키고 있다. 즉, 두 변 수 모두 multi-dimensional array를 표현하기 위한 의도를 가지고 정의 했지만, 실제로는 아래와 같이 다른 의미를 가지게 된다.&lt;br /&gt;&lt;br /&gt;char doubleArray[2][3];&lt;br /&gt;char **ppArray;&lt;br /&gt;ppArray = (char **)malloc(sizeof(char *) * 2);&lt;br /&gt;for(int i = 0; i &lt; 2; i++) {&lt;br /&gt;      ppArray[i] = (char *)malloc(sizeof(char) * 3);&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6928659990612633512-4328423099106051844?l=hnideas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnideas.blogspot.com/feeds/4328423099106051844/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hnideas.blogspot.com/2008/07/double-pointer.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/4328423099106051844'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/4328423099106051844'/><link rel='alternate' type='text/html' href='http://hnideas.blogspot.com/2008/07/double-pointer.html' title='double pointer'/><author><name>Daniel Kim</name><uri>http://www.blogger.com/profile/11945857066706966377</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6928659990612633512.post-5531086754188929703</id><published>2008-07-09T20:30:00.002+09:00</published><updated>2008-07-09T20:35:30.878+09:00</updated><title type='text'>Google의 작명 센스</title><content type='html'>잘 알려진 메모리 문제인 copy constructor와 assign constructor를 Google의 open source에서는 다음과 같은 이름으로 해결하고 있다. 작명 센스가 너무 마음에 든다^^&lt;br /&gt;&lt;br /&gt;#define GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(TypeName)    \&lt;br /&gt;  TypeName(const TypeName&amp;);                           \&lt;br /&gt;  void operator=(const TypeName&amp;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6928659990612633512-5531086754188929703?l=hnideas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnideas.blogspot.com/feeds/5531086754188929703/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hnideas.blogspot.com/2008/07/google.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/5531086754188929703'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/5531086754188929703'/><link rel='alternate' type='text/html' href='http://hnideas.blogspot.com/2008/07/google.html' title='Google의 작명 센스'/><author><name>Daniel Kim</name><uri>http://www.blogger.com/profile/11945857066706966377</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6928659990612633512.post-4468525854485561786</id><published>2008-07-09T16:13:00.003+09:00</published><updated>2008-07-09T17:12:47.655+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='c/c++'/><title type='text'>Header file and static variable in C</title><content type='html'>보통 header file에 #ifdef를 이용해서, header file이 여러번 include되는 것을 막는다. 여기서 조금 햇깔릴 수 있는 것이. 유의할 점은 이러한 과정이 전체 project 별이 아니라, 각 source file 별로 일어난 다는 것이다. 그렇기 때문에, header file에 static global variable을 정의 하게 되면 각 source file 별로 static variable이 생기게 되기 때문에 의도했던 global variable로의 역활을 할 수 없게 된다. C에서 전체 project에서 공유하기 위한 목적으로 global variable을 만들고자 할 때는, source file에서 global variable을 정의하고, 사용하는 곳에서 extern으로 해당 variable을 참조하도록 하는 것이 올바른 방법이다.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6928659990612633512-4468525854485561786?l=hnideas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnideas.blogspot.com/feeds/4468525854485561786/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hnideas.blogspot.com/2008/07/header-file-and-static-variable-in-c.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/4468525854485561786'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/4468525854485561786'/><link rel='alternate' type='text/html' href='http://hnideas.blogspot.com/2008/07/header-file-and-static-variable-in-c.html' title='Header file and static variable in C'/><author><name>Daniel Kim</name><uri>http://www.blogger.com/profile/11945857066706966377</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6928659990612633512.post-2045550354255855502</id><published>2008-07-02T14:13:00.001+09:00</published><updated>2008-07-02T14:16:07.905+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='love'/><title type='text'>오늘 본 가슴에 와닿는 말</title><content type='html'>&lt;blockquote&gt;누군가를 좋아한다는건 그런거에요.&lt;br /&gt;잘못한게 없더라도 미안한마음.&lt;br /&gt;좀 더 잘해주지 못해 아쉬워하는 마음.&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6928659990612633512-2045550354255855502?l=hnideas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnideas.blogspot.com/feeds/2045550354255855502/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hnideas.blogspot.com/2008/07/blog-post.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/2045550354255855502'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/2045550354255855502'/><link rel='alternate' type='text/html' href='http://hnideas.blogspot.com/2008/07/blog-post.html' title='오늘 본 가슴에 와닿는 말'/><author><name>Daniel Kim</name><uri>http://www.blogger.com/profile/11945857066706966377</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6928659990612633512.post-2786812270202969109</id><published>2008-06-20T13:41:00.008+09:00</published><updated>2008-11-30T02:59:57.588+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='restaurant'/><title type='text'>가 볼만한 레스토랑 들</title><content type='html'>Paris Grill&lt;br /&gt;- Hyatt Hotel&lt;br /&gt;&lt;br /&gt;The Restaurant&lt;br /&gt;&lt;br /&gt;Tasty BLVD&lt;br /&gt;- 압구정&lt;br /&gt;&lt;br /&gt;Ola! (1/2/3)&lt;br /&gt;&lt;br /&gt;The Bar: dopo&lt;br /&gt;&lt;br /&gt;The Ninth Gate&lt;br /&gt;- The Westin Chosun Hotel&lt;br /&gt;&lt;br /&gt;Table34&lt;br /&gt;&lt;br /&gt;Paris de Gaumont&lt;br /&gt;&lt;br /&gt;L'Espoir (레스뿌아)&lt;br /&gt;&lt;br /&gt;Villa Sortino (빌라소르티노)&lt;br /&gt;- Italian&lt;br /&gt;&lt;br /&gt;Buon Viaggio (본 비아지오)&lt;br /&gt;&lt;br /&gt;Serein (써레인)&lt;br /&gt;- Halloween party&lt;br /&gt;&lt;br /&gt;L'Italia Mia (리탈리아 미아)&lt;br /&gt;- Italian&lt;br /&gt;- ICIF 이탈리아 요리 학교&lt;br /&gt;&lt;br /&gt;O Kitchen&lt;br /&gt;&lt;br /&gt;LE PETIT CRU (르쁘띠크뤼)&lt;br /&gt;&lt;br /&gt;Blooming Garden&lt;br /&gt;&lt;br /&gt;Pierre Gagnaire a Seoul (삐에르 가니에르 서울)&lt;br /&gt;- French&lt;br /&gt;&lt;br /&gt;Grand Ciel (그랑씨엘)&lt;br /&gt;&lt;br /&gt;a Table (아따블르)&lt;br /&gt;&lt;br /&gt;Le Pied (르삐에)&lt;br /&gt;- French&lt;br /&gt;&lt;br /&gt;Arte&lt;br /&gt;- Italian&lt;br /&gt;- 서래마을&lt;br /&gt;&lt;br /&gt;Boutique Blooming (부티크 블루밍)&lt;br /&gt;&lt;br /&gt;Gramercy Kitchen (그래머시 키친)&lt;br /&gt;- 압구정&lt;br /&gt;&lt;br /&gt;The story in the real London&lt;br /&gt;- 논현동&lt;br /&gt;&lt;br /&gt;mi piace (미피아체)&lt;br /&gt;- 청담동&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6928659990612633512-2786812270202969109?l=hnideas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnideas.blogspot.com/feeds/2786812270202969109/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hnideas.blogspot.com/2008/06/blog-post.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/2786812270202969109'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/2786812270202969109'/><link rel='alternate' type='text/html' href='http://hnideas.blogspot.com/2008/06/blog-post.html' title='가 볼만한 레스토랑 들'/><author><name>Daniel Kim</name><uri>http://www.blogger.com/profile/11945857066706966377</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6928659990612633512.post-4989775321486886822</id><published>2008-06-16T14:56:00.002+09:00</published><updated>2008-09-04T15:37:35.512+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><title type='text'>원하는 위치에서 Command 창 띄우기</title><content type='html'>1. windows explorer을 연다.&lt;br /&gt;2. "도구"의 "폴더 옵션"을 실행한다.&lt;br /&gt;3. "파일 형식" 탭을 선택한다.&lt;br /&gt;4. "폴더" 파일 형식을 선택한 후, "고급" 버튼을 누른다.&lt;br /&gt;5. "새로 만들기"를 누른 후, "명령"에는 context menu에 나타날 이름을 입력하고, "명령을 실행할 응용프로그램"에는 "c:\windows\system32\cmd.exe"을 입력한다.&lt;br /&gt;&lt;br /&gt;위와 같은 과정을 거친 후, windows explorer에서 폴더의 context menu를 펼친 후 추가한 메뉴를 선택하면, 선택한 폴더의 "부모" 폴더를 시작점으로 한 command 창이 열리게 된다.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6928659990612633512-4989775321486886822?l=hnideas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnideas.blogspot.com/feeds/4989775321486886822/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hnideas.blogspot.com/2008/06/command.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/4989775321486886822'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/4989775321486886822'/><link rel='alternate' type='text/html' href='http://hnideas.blogspot.com/2008/06/command.html' title='원하는 위치에서 Command 창 띄우기'/><author><name>Daniel Kim</name><uri>http://www.blogger.com/profile/11945857066706966377</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6928659990612633512.post-2332924227189218260</id><published>2008-04-08T14:33:00.002+09:00</published><updated>2008-04-08T14:37:54.591+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='embedded linux'/><title type='text'>running scratchbox under Ubuntu 8.04</title><content type='html'>Scratchbox를 Ubuntu 8.04에 설치해 보았다. 설치는 잘 진행이 되었지만, 실행시 다음과 같은 error가 발생하였다.&lt;br /&gt;&lt;br /&gt;Inconsistency detected by ld.so: rtld.c: 1192: dl_main: Assertion ‘(void *) ph-&gt;p_vaddr == _rtld_local._dl_sysinfo_dso’&lt;br /&gt;&lt;br /&gt;이를 해결하기 위해서는 vdso를 disable 시켜줘야 하는데, 가장 확실한 방법은 kernel recompile이다. 하지만, 귀차니즘 때문에 좀 더 간단한 방법을 찾아보았다.&lt;br /&gt;&lt;br /&gt;echo 0 | sudo tee /proc/sys/vm/vdso_enabled&lt;br /&gt;&lt;br /&gt;임시로, vdso를 disable시켜주는 방법이다. 부팅할 때마다 다시 해줘야 하지만, 간단하게 해결할 수 있는 방법이다.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6928659990612633512-2332924227189218260?l=hnideas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnideas.blogspot.com/feeds/2332924227189218260/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hnideas.blogspot.com/2008/04/running-scratchbox-under-ubuntu-804.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/2332924227189218260'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/2332924227189218260'/><link rel='alternate' type='text/html' href='http://hnideas.blogspot.com/2008/04/running-scratchbox-under-ubuntu-804.html' title='running scratchbox under Ubuntu 8.04'/><author><name>Daniel Kim</name><uri>http://www.blogger.com/profile/11945857066706966377</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6928659990612633512.post-6524744891413825161</id><published>2008-04-07T16:35:00.003+09:00</published><updated>2008-04-11T13:40:26.366+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='vmware'/><title type='text'>compile vmware-tools on Ubuntu 8.04</title><content type='html'>Ubuntu 8.04가 아직 정식 release되지는 않았지만, beta버젼을 사용할 수 있어서, vmware에 설치해 보았다. 하지만, vmware-tools가 compile되지 않는 문제가 발생하여서, 몇가지 시도를 통해서 compile하는 방법을 찾아보았다.&lt;br /&gt;&lt;br /&gt;일단 open vmware tools에서 소스를 받아서, 컴파일이 되도록 dependencies가 걸린 라이브러리를 모두 설치한다. 여기서 주의할 점은 dnet이라는 라이브러리를 찾는데, 실제로 ubuntu에서는 dumbnet이라는 이름으로 쓰이므로, dumbnet-dev 패키지를 설치하여야 한다. 또한, configuration을 통과 하더라도, dnet.h 파일을 찾을 수 없다는 error 메시지가 나오며, compile이 안되는데, 컴파일이 안되는 해당 파일을 열어서 dnet.h를 include하는 것을 dumbnet.h를 include하도록 변경해 주면, compile이 잘 진행될 것이다 (make 뿐만 아니라, make modules도 실행하여서, module의 compile에도 문제가 없는지 확인하여야 한다).&lt;br /&gt;&lt;br /&gt;이렇게, open vmware tools의 compile의 compoile이 모두 잘 되면 open vmware tools를 대신 사용할 수 있지 않겠냐는 생각이 들겠지만, 이상하게도 open vmware tools에서는 installation script를 제공하지 않는다. mailing list를 확인해본 결과, vmware의 product에 포함되어 있는 vmware tools에 open vmware tools를 compile해서 나온 module를 붙여서 설치를 하여야 한다 (이런 삽질을 왜 시키는지 모르겠다... 이 것 때문에 전혀 이해 안되는  이후의 과정을 진행하여야 한다ㅡㅡ;)&lt;br /&gt;&lt;br /&gt;vmware 메뉴에서 install vmware tools를 선택하여, vmware tools 파일을 복사한 후, .../vmware-tools/distrib/lib/modules/source 디렉토리를 확인한다. 해당 디렉토리 내에, module들이 tar로 묶여 있는 것을 볼 수 있을 것이다. 해당 tar파일을 풀어보면, {module}-only라는 디렉토리가 생기는데, 실제로 풀어볼 필요는 없다. open vmware tools의 .../open-vm-tools-.../modules/linux/ 디렉토리를 열어보면, 각 module의 이름으로 된 디렉토리를 확인 할 수 있을 것이다. 이 각 {module} 디렉토리를 {module}-only로 바꾸어서 tar로 묶어준다. 그리고, 이렇게 묶은 파일을 vmware tools의 module source 디렉토리에 복사하여 기존의 파일에 덮어씌워준다.&lt;br /&gt;&lt;br /&gt;이제, 원래 하던데로, vmware tools의 설치를 진행하고, module의 compile을 진행하면 정상적으로 vmware tools의 설치가 종료될 것이다.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6928659990612633512-6524744891413825161?l=hnideas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnideas.blogspot.com/feeds/6524744891413825161/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hnideas.blogspot.com/2008/04/compile-vmware-tools-on-ubuntu-804.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/6524744891413825161'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/6524744891413825161'/><link rel='alternate' type='text/html' href='http://hnideas.blogspot.com/2008/04/compile-vmware-tools-on-ubuntu-804.html' title='compile vmware-tools on Ubuntu 8.04'/><author><name>Daniel Kim</name><uri>http://www.blogger.com/profile/11945857066706966377</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6928659990612633512.post-217756753708330739</id><published>2008-03-24T00:11:00.003+09:00</published><updated>2008-04-11T13:40:58.668+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='etc'/><title type='text'>Human Energy</title><content type='html'>SBS에서 재미있는 다큐맨터리 하나를 방영했다. 사람의 운동 에너지를 전기 에너지로 바꿀 수 있다면, 단순히 전기료를 아끼는 것 뿐만 아니라, 사람들의 건강이 나아지고, 환경이 좋아질것이라는 내용이다. 나 역시 이런 생각을 해본적이 있지만, 이러한 생각을 본격적으로 실천에 옮기고 있는 사람들이 그렇게 많으며, 이러한 실천이 상당한 결과를 내고 있다는 것이 정말로 놀라웠다. 아버지께서 말씀하신 것 처럼 "상활과학"이 앞으로 상당히 재미있는 분야가 될 듯하다^^&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6928659990612633512-217756753708330739?l=hnideas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnideas.blogspot.com/feeds/217756753708330739/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hnideas.blogspot.com/2008/03/human-energy.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/217756753708330739'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/217756753708330739'/><link rel='alternate' type='text/html' href='http://hnideas.blogspot.com/2008/03/human-energy.html' title='Human Energy'/><author><name>Daniel Kim</name><uri>http://www.blogger.com/profile/11945857066706966377</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6928659990612633512.post-2208331136317400139</id><published>2008-02-18T17:48:00.004+09:00</published><updated>2008-04-11T13:42:52.853+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='c/c++'/><title type='text'>C++ method to C function</title><content type='html'>Bjarne Stroustrup이 처음 C++를 개발하고, 만든 컴파일러는 C++ 코드를 C로 변환한 후, 이를 다시 C컴파일를 이용하여 기계어로 번역하는 방식이었다. 그리고 이러한 방식은 현재의 컴파일러에서도 변하지 않고 사용되고 있다.&lt;br /&gt;C++의 method는 C의 function으로 다음과 같이 변환된다.&lt;br /&gt;&lt;br /&gt;CClass::Method(TYPE parma1, TYPE parma2); // C++ method&lt;br /&gt;Method(CClass *thisptr, TYPE param1, TYPE param2); // converted C function&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6928659990612633512-2208331136317400139?l=hnideas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnideas.blogspot.com/feeds/2208331136317400139/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hnideas.blogspot.com/2008/02/c-method-to-c-function.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/2208331136317400139'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/2208331136317400139'/><link rel='alternate' type='text/html' href='http://hnideas.blogspot.com/2008/02/c-method-to-c-function.html' title='C++ method to C function'/><author><name>Daniel Kim</name><uri>http://www.blogger.com/profile/11945857066706966377</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6928659990612633512.post-1135273859690917767</id><published>2008-02-18T17:39:00.002+09:00</published><updated>2008-02-18T17:47:58.144+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='c/c++'/><title type='text'>Bjarne Stroustrup</title><content type='html'>Bjarne Stroustrup은 덴마크 사람으로 C++를 만든 사람이다.&lt;br /&gt;발음은 찾아본 바로는 대략 "뷔야(른)ㅡㄴ 스트루스트럽 (r 발음은 빠른 발음 때문에 거의 묵음화)" 정도 인듯 하다 (&lt;a href="http://www.research.att.com/~bs/pronounciation.wav"&gt;발음 듣기&lt;/a&gt;).&lt;br /&gt;가장 많이 사용하는 C++를 누가 만들었는지 정도는 알아두자.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6928659990612633512-1135273859690917767?l=hnideas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnideas.blogspot.com/feeds/1135273859690917767/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hnideas.blogspot.com/2008/02/bjarne-stroustrup.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/1135273859690917767'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/1135273859690917767'/><link rel='alternate' type='text/html' href='http://hnideas.blogspot.com/2008/02/bjarne-stroustrup.html' title='Bjarne Stroustrup'/><author><name>Daniel Kim</name><uri>http://www.blogger.com/profile/11945857066706966377</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6928659990612633512.post-6024798671230336860</id><published>2008-02-18T16:08:00.005+09:00</published><updated>2008-02-18T17:06:56.601+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='c/c++'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>Name Mangling</title><content type='html'>function, structure, class, variable의 이름이 같은 경우 생길 수 있는 문제점을 방지하기 위해서 이름과 추가적인 정보를 encoding하여 내부적으로 사용되는 이름을 생성하는 방법이다. Name Decoration이라고도 불리며, C에서는 이를 사용하지 않지만, C++에서는 이를 사용한다. 예를 들어, C++에서 polymorphism이 적용된 함수의 경우, 이름은 같지만 파라미터가 다르낟. C에서는 이러한 함수의 식별이 불가능하지만, C++에서는 Name Mangling을 이용하여, 서로다른 함수로 십결이 가능하다.&lt;br /&gt;&lt;br /&gt;Name Mangling에는 표준이 없고, 컴파일러 나름대의 방법을 사용한다. 그러므로, 컴파일러가 동일하다면, Name Mangling을 통해서 encoding된 이름이 동일하지만, 그렇지 않을경우 이름이 동일하다는 보장을 할 수 없다 (DLL에서 extern "C"를 사용하는 이유).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6928659990612633512-6024798671230336860?l=hnideas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnideas.blogspot.com/feeds/6024798671230336860/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hnideas.blogspot.com/2008/02/name-mangling.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/6024798671230336860'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/6024798671230336860'/><link rel='alternate' type='text/html' href='http://hnideas.blogspot.com/2008/02/name-mangling.html' title='Name Mangling'/><author><name>Daniel Kim</name><uri>http://www.blogger.com/profile/11945857066706966377</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6928659990612633512.post-2912542224060068568</id><published>2008-01-22T20:48:00.002+09:00</published><updated>2008-01-29T17:32:46.770+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='service'/><category scheme='http://www.blogger.com/atom/ns#' term='flickr'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><title type='text'>Flickr Pro Account</title><content type='html'>사진을 많이 찍으면 찍을 수록 걱정되는 것이 바로, 사진의 보관이다. 하드 디스크에 보관하고, 외장 하드디스크에 백업도 하지만, 불안한건 사실이다. 그래서, 웹상에 보관하는 방법을 찾던 차에 Flick Pro를 발견하였다. 물론, 100%안전한 방법은 아니지만, Yahoo!에서 하는 서비스인 만큼 상당히 믿을만 하다는게 나의 생각. 거기다가 $24.95에 무제한 이용이 가능하다 (한달 upload는 2G로 제한). 이 정도면 앞으로 꾸준히 이용할 만한 서비스 일 것으로 생각된다.&lt;br /&gt;&lt;br /&gt;결국 사고 말았다...^^;;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6928659990612633512-2912542224060068568?l=hnideas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnideas.blogspot.com/feeds/2912542224060068568/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hnideas.blogspot.com/2008/01/flickr-pro-account.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/2912542224060068568'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/2912542224060068568'/><link rel='alternate' type='text/html' href='http://hnideas.blogspot.com/2008/01/flickr-pro-account.html' title='Flickr Pro Account'/><author><name>Daniel Kim</name><uri>http://www.blogger.com/profile/11945857066706966377</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6928659990612633512.post-4271098931726345335</id><published>2008-01-22T20:48:00.001+09:00</published><updated>2008-01-22T20:48:37.537+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='한식'/><category scheme='http://www.blogger.com/atom/ns#' term='맛집'/><title type='text'>지보면</title><content type='html'>경상북도 예천군 지보면.&lt;br /&gt;&lt;br /&gt;질 좋은 한우를 저렴하게 판다고 한다. 조금 멀기는 하지만, 언젠가 가봐야 할곳!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6928659990612633512-4271098931726345335?l=hnideas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnideas.blogspot.com/feeds/4271098931726345335/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hnideas.blogspot.com/2008/01/blog-post_9421.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/4271098931726345335'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/4271098931726345335'/><link rel='alternate' type='text/html' href='http://hnideas.blogspot.com/2008/01/blog-post_9421.html' title='지보면'/><author><name>Daniel Kim</name><uri>http://www.blogger.com/profile/11945857066706966377</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6928659990612633512.post-7941102146702940039</id><published>2008-01-22T20:47:00.001+09:00</published><updated>2008-01-22T20:47:51.925+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='시'/><title type='text'>다시 - 박노해</title><content type='html'>희망찬 사람은&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;br /&gt;사람 속에 들어있다&lt;br /&gt;사람에서 시작된다&lt;br /&gt;&lt;br /&gt;다시&lt;br /&gt;사람만이 희망이다&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6928659990612633512-7941102146702940039?l=hnideas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnideas.blogspot.com/feeds/7941102146702940039/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hnideas.blogspot.com/2008/01/blog-post_1920.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/7941102146702940039'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/7941102146702940039'/><link rel='alternate' type='text/html' href='http://hnideas.blogspot.com/2008/01/blog-post_1920.html' title='다시 - 박노해'/><author><name>Daniel Kim</name><uri>http://www.blogger.com/profile/11945857066706966377</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6928659990612633512.post-5675695908943510800</id><published>2008-01-22T20:42:00.000+09:00</published><updated>2008-01-22T20:45:11.111+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='c/c++'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>__stdcall &amp; __cdecl</title><content type='html'>WINDEF.H&lt;br /&gt;&lt;blockquote&gt;    CALLBACK = WINAPI = PASCAL = __stdcall&lt;br /&gt;   WINAPIV = __cdecl&lt;br /&gt;&lt;/blockquote&gt;위에서 알 수 있듯이, MS Windows의 calling convetion은 __stdcall과 __cdecl로 나뉜다.&lt;br /&gt;&lt;br /&gt;이렇게 calling convetion을 둘로 나눈 이유는 함수 호출 후, stack pointer (sp)를 누가 원래데로 돌려놓을지 (정리할지)를 분간하기 위함이다. 결론 부터 애기하자면, __stdcall을 이요하면, callee측에서 sp를 정리하고, __cdecl을 이용하면, caller측에서 sp를 정리한다.&lt;br /&gt;&lt;br /&gt;예를 들어보자.&lt;br /&gt;&lt;blockquote&gt;SimpleFunction(TYPE arg1, TYPE arg2, TYPE arg3) { … }&lt;br /&gt;&lt;br /&gt;   SimpleFunction(…);&lt;/blockquote&gt;__cdecl의 경우, assembly code는 대략 다음과 같이 구성된다.&lt;br /&gt;&lt;blockquote&gt;push arg3&lt;br /&gt;   push arg2&lt;br /&gt;   push arg1&lt;br /&gt;   call SimpleFunction&lt;br /&gt;   Add sp, 12&lt;/blockquote&gt;&lt;br /&gt;반면 __stdcall의 경우는 대락 다음과 같이 구성된다.&lt;br /&gt;&lt;blockquote&gt;push arg3&lt;br /&gt;   push arg2&lt;br /&gt;   push arg1&lt;br /&gt;   call SimpleFunction&lt;/blockquote&gt;&lt;br /&gt;Assembly code를 보면 알 수 있듯이, __cdecl은 함수가 return된 이후에, caller가 직접 sp를 정리하고, __stdcall은 callee측에서 정리를 해주기 때문에, caller 쪽에서는 함수가 return된 이후에 sp 정리 작업을 하지 않는다.&lt;br /&gt;&lt;br /&gt;sp의 정리를 어느 쪽에서 하든, 차이가 없어보이지만 두가지 정도 차이가 생길 수 있다.&lt;br /&gt;먼저, 속도와 관련된 문제이다. 8086 계열의 assembly 명령어 중, &lt;ret, n=""&gt;이라는 명령어가 있다. 이 명령어는 함수가 종료된 후, sp를 얼마만큼 add할지를 하나의 명령어로 만든것이다. __stdcall에서는 바로 이 명령어를 이용하여, &lt;add&gt;의 operation time만큼을 절약할 수 있으며, 그만큼 프로그램 사이즈도 줄일 수 있다 (물론, 한 단위로 보면 그 효과가 미비하지만, 그 수가 많아질 경우 어느정도 차이가 생길 수 있다).&lt;br /&gt;다음으로, 가변 arguments의 지원 여부이다. __cdecl을 이용하면, caller측에서 sp를 정리하기 때문에, 가변 arguments를 지원할 수 있다.&lt;br /&gt;&lt;br /&gt;사실, 몇가지 차이점이 더 있는 듯 하지만, 지금까지 파악된 부분은 이 두가지이다.&lt;br /&gt;&lt;/add&gt;&lt;/ret,&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6928659990612633512-5675695908943510800?l=hnideas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnideas.blogspot.com/feeds/5675695908943510800/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hnideas.blogspot.com/2008/01/stdcall-cdecl.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/5675695908943510800'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/5675695908943510800'/><link rel='alternate' type='text/html' href='http://hnideas.blogspot.com/2008/01/stdcall-cdecl.html' title='__stdcall &amp; __cdecl'/><author><name>Daniel Kim</name><uri>http://www.blogger.com/profile/11945857066706966377</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6928659990612633512.post-7901441693780460044</id><published>2008-01-22T20:41:00.001+09:00</published><updated>2008-01-22T20:42:06.595+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='c/c++'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>void *</title><content type='html'>c language의 powerful함을 잘 보여준다. void *는 모든 개체를 가리킬 수 있기 때문에 상속 관계에서 이 후에 어떤 데이터를 다룰지 예상할 수 없는 경우 유용하다. 상속받은 class에서는 void *에 할당된 개체가 무었인지를 알기 때문에 그에 맞게 적절히 casting하여 사용하면 된다.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6928659990612633512-7901441693780460044?l=hnideas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnideas.blogspot.com/feeds/7901441693780460044/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hnideas.blogspot.com/2008/01/void.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/7901441693780460044'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/7901441693780460044'/><link rel='alternate' type='text/html' href='http://hnideas.blogspot.com/2008/01/void.html' title='void *'/><author><name>Daniel Kim</name><uri>http://www.blogger.com/profile/11945857066706966377</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6928659990612633512.post-3710824192001904281</id><published>2008-01-22T20:40:00.001+09:00</published><updated>2008-01-22T20:40:47.804+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='여행지'/><title type='text'>소매물도</title><content type='html'>소매물도는 우리나라에서 가장 아름다운 섬 중의 하나라고 한다.&lt;br /&gt;기회가 되면 꼭 가보고 싶다.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6928659990612633512-3710824192001904281?l=hnideas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnideas.blogspot.com/feeds/3710824192001904281/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hnideas.blogspot.com/2008/01/blog-post_976.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/3710824192001904281'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/3710824192001904281'/><link rel='alternate' type='text/html' href='http://hnideas.blogspot.com/2008/01/blog-post_976.html' title='소매물도'/><author><name>Daniel Kim</name><uri>http://www.blogger.com/profile/11945857066706966377</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6928659990612633512.post-5755637631716901069</id><published>2008-01-22T20:38:00.000+09:00</published><updated>2008-01-22T20:39:45.674+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='terminology'/><title type='text'>Glyph</title><content type='html'>Text Editor와 관련된 코딩 중에 Glyph라는 term을 보았다. 대충 무슨 뜻인지 유추가 가능하였지만, 좀 더 자세한 뜻을 알기 위해서 검색을 해 보았다.&lt;br /&gt;&lt;br /&gt;다음은 네이버 백과사전에 나온 Glyph (글리프)의 정의이다.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;    정보 기술에서 문자의 모양이나 형태를 나타내는 그래픽 기호. 부호화한 문자를 그림으로 나타낸 영문자나 숫자의 폰트 또는 기타 기호를 말한다. 문자는 뜻이나 소리가 있으나 글리프는 본래의 뜻이 없고 형태로 식별한다. 글리프를 사용하여 문자를 표시할 수 있다.&lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6928659990612633512-5755637631716901069?l=hnideas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnideas.blogspot.com/feeds/5755637631716901069/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hnideas.blogspot.com/2008/01/glyph.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/5755637631716901069'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/5755637631716901069'/><link rel='alternate' type='text/html' href='http://hnideas.blogspot.com/2008/01/glyph.html' title='Glyph'/><author><name>Daniel Kim</name><uri>http://www.blogger.com/profile/11945857066706966377</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6928659990612633512.post-265714700369565134</id><published>2008-01-22T20:36:00.001+09:00</published><updated>2008-01-22T20:42:21.940+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='c/c++'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>Constructor &amp; Destructor</title><content type='html'>c++에서 하나의 class를 상속 받은 class의 constructor는 묵시적으로 상위 class의 constructor를 호출하지 않는다. 그러므로, 상위 class의 constructor에서 구현된 부분을 사용하고 싶을 경우에는, 명시적으로 상위 class의 constructor를 호출하여야 한다.&lt;br /&gt;반면, destructor는 묵시적으로 호출이 된다. 상속 받은 destructor를 정의 하지 않았다고 하더라도, 상위 class의 destructor를 차례로 호출하기 때문에, 명시적으로 상위 class의 destructor를 호출할 필요가 없다.&lt;br /&gt;이유는...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6928659990612633512-265714700369565134?l=hnideas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnideas.blogspot.com/feeds/265714700369565134/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hnideas.blogspot.com/2008/01/constructor-destructor.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/265714700369565134'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/265714700369565134'/><link rel='alternate' type='text/html' href='http://hnideas.blogspot.com/2008/01/constructor-destructor.html' title='Constructor &amp; Destructor'/><author><name>Daniel Kim</name><uri>http://www.blogger.com/profile/11945857066706966377</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6928659990612633512.post-8417734308227720132</id><published>2008-01-22T20:34:00.001+09:00</published><updated>2008-01-22T20:35:44.328+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>Lazy Evaluation</title><content type='html'>&lt;p&gt;&lt;span style="font-family:AppleGothic;"&gt;프로그램의 초기 구동속도를 높이기 위한 기법으로 lazy evaluation이 언급되어서, 한번 찾아보았다.&lt;/span&gt;&lt;/p&gt; &lt;blockquote&gt;&lt;p&gt;lazy evaluation&lt;span style="font-family:AppleGothic;"&gt; (&lt;/span&gt;delayed evaluation)&lt;span style="font-family:AppleGothic;"&gt;은&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;기능의 수행을 해당 기능이 정말로 필요할 때 까지 미뤄두는 프로그래밍 기법이다. &lt;/span&gt;lazy evaluation&lt;span style="font-family:AppleGothic;"&gt;을 통해 얻을 수 있는 이점은 다음과 같다:&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:AppleGothic;"&gt;1. 지금 당장 필요 없는 기능의 수행을 하지않음으로 얻어지는 성능 향상&lt;br /&gt;2. 복잡한 expressions의 평가를 피할 수 있음&lt;br /&gt;3. the ability to construct infinite data structures&lt;br /&gt;4. the ability to define control structures as regular functions rather than built-in primitives&lt;/span&gt;&lt;/p&gt; &lt;p&gt;lazy evaluation을 사용하는 언어는 evaluation strategy에 따라 call-by-name과 call-by-need로 나뉘어진다. Haskell과 같이 가장 현실적인 lazy languages는 성능 상의 이유로 call-by-need 를 사용하지만, 간편함을 위해 lazy evalution의 이론적인 표현이 call-by-name을 이용하기도 한다.&lt;/p&gt; &lt;p&gt;lazy evaluation의 반대 기법은 eager evaluation (strict evaluation)이다.&lt;/p&gt; &lt;p&gt;Reference: &lt;a href="http://en.wikipedia.org/wiki/Lazy_evaluation"&gt;http://en.wikipedia.org/wiki/Lazy_evaluation&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;&lt;span style="font-family:AppleGothic;"&gt;몇가지&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;관련된&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;자료를&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;찾아본&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;바로는&lt;/span&gt;, eager evaluation&lt;span style="font-family:AppleGothic;"&gt;이&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;우리가&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;일반적으로&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;사용하는&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;방식이라고&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;보면&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;될&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;듯&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;하다&lt;/span&gt;. &lt;span style="font-family:AppleGothic;"&gt;예를&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;들어보자&lt;/span&gt;.&lt;/p&gt; &lt;blockquote&gt;&lt;p&gt;int nResult = 10 + 9 - 12 * (3 / 4 + 5)&lt;br /&gt;print nResult&lt;br /&gt;print nReault * 9&lt;/p&gt;&lt;/blockquote&gt; &lt;span style="font-family:AppleGothic;"&gt;위의&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;예에서&lt;/span&gt; nResult&lt;span style="font-family:AppleGothic;"&gt;에&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;들어가&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;값이&lt;/span&gt; eager evaluation&lt;span style="font-family:AppleGothic;"&gt;에서는&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;직접&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;변수에&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;저장되지만&lt;/span&gt;, lazy evaluation&lt;span style="font-family:AppleGothic;"&gt;에서는&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;수식이&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;저장되는&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;듯&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;하다&lt;/span&gt;. &lt;span style="font-family:AppleGothic;"&gt;그래서&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;실제로&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;해당&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;값을&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;출력할&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;때와&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;같이&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;해당&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;수식이&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;계 산 되어야 할 때, 계산이 수행되는 식인 것 같다. 그리고, lazy evaluation은 대부분 functional programming language와 같은 언어에서 주로 사용되는 것 같다. 아직 직접 사용해 보지 않아서 잘은 모르지만, 몇몇 경우 (초기 구동속도를 빠르게 해야 하는 경우)에는 유용하게 사용될 듯 하다.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6928659990612633512-8417734308227720132?l=hnideas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnideas.blogspot.com/feeds/8417734308227720132/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hnideas.blogspot.com/2008/01/lazy-evaluation.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/8417734308227720132'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/8417734308227720132'/><link rel='alternate' type='text/html' href='http://hnideas.blogspot.com/2008/01/lazy-evaluation.html' title='Lazy Evaluation'/><author><name>Daniel Kim</name><uri>http://www.blogger.com/profile/11945857066706966377</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6928659990612633512.post-8189888610424239670</id><published>2008-01-22T20:33:00.001+09:00</published><updated>2008-01-22T20:33:57.465+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='일식'/><category scheme='http://www.blogger.com/atom/ns#' term='맛집'/><title type='text'>하카다 분코</title><content type='html'>&lt;p&gt;&lt;span style="font-family: AppleGothic;"&gt;오늘 우연히 알게된 일본식 라면 집이다. 아직 가보지는 않았지만, 잠시 검색해본 결과 좀 독특하고 맛이 있을 것 같다. 솔직히 약간 매니악 스러워 보이기도 했다. 좀 더 자세한 것은 후에 직접 방문해 보고 적겠다.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;하카다 분코 - 홍대에 &lt;span style="font-family: AppleGothic;"&gt;위치한&lt;/span&gt; &lt;span style="font-family: AppleGothic;"&gt;돈코츠&lt;/span&gt; &lt;span style="font-family: AppleGothic;"&gt;라면집&lt;/span&gt;&lt;/p&gt; &lt;p&gt;위치: 상수역 2번 출구(극동방송 방면)으로 나와서 홍대 정문 쪽으로 5분 정도 내려온다. 감나무집이라는 분식집과 맞은 편에 꿀벌 상회라는 집이 보이고 정면에 극동방송국이라는 간판이 보이면, 붉음 벽돌담을 끼고 우측으로 돌아서 일방 통행길로 약 50~60미터 정도 들어가면 된다.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6928659990612633512-8189888610424239670?l=hnideas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnideas.blogspot.com/feeds/8189888610424239670/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hnideas.blogspot.com/2008/01/blog-post_1086.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/8189888610424239670'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/8189888610424239670'/><link rel='alternate' type='text/html' href='http://hnideas.blogspot.com/2008/01/blog-post_1086.html' title='하카다 분코'/><author><name>Daniel Kim</name><uri>http://www.blogger.com/profile/11945857066706966377</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6928659990612633512.post-3805157816815664264</id><published>2008-01-22T20:32:00.001+09:00</published><updated>2008-01-22T20:34:21.960+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='한식'/><category scheme='http://www.blogger.com/atom/ns#' term='맛집'/><title type='text'>평안도집 (장충동 족발)</title><content type='html'>장충동 족발이 유명하다는 얘기는 많이 들어왔다. 사실, 집에서도 그리 먼 것도 아니고, 지나다니면서 본 적도 있다. 하지만, 얼마 전에서야 처음 가보게 되었다. 검색을 해본 결과, 평안도집이라는 곳이 상당히 유명한 듯 하여서, 그 곳으로 향했다. 지하철 3호선 동대입구역 3번 출구로 나와서, 약 50미터 직진 후, 오른쪽 골목에 있는 가게 이다. 약간 구석진 곳에 있어서 유심히 봐야 한다.&lt;br /&gt;일단 중요한 족발 맛 부터 얘기하자면, 맛있다. 동네에서 시켜먹던 족발보다 훨씬 껍질이 쫄깃 쫄깃 하다. 한방 족발처럼 여러가지 재료가 들어간 맛이라기 보다는 족발 본연의 맛이 잘 살아있는 것 같다. 반찬으로 나온 부추 무침, 부침개, 무, 등도 맛이 좋았다 (특히, 부추무침이 맛있었다). 장소는 여느 오래되고 맛있는 집이 그렇듯이 깔끔보다는 정결이라는 말이 더 잘 어울리는 곳이었다.&lt;br /&gt;무엇보다 인상 깊었던 것은 주인 아주머님이었다. 자세한 얘기를 하기는 그렇지만, 정말로 친절하셨다. 족발을 하나 싸갔는데, 맛있게 먹어줘서 고맙다며 좋아하는 부위를 더 싸주시기도 했다. 아마, 앞으로도 종종 찾아가게 될것 같다.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6928659990612633512-3805157816815664264?l=hnideas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnideas.blogspot.com/feeds/3805157816815664264/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hnideas.blogspot.com/2008/01/blog-post_22.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/3805157816815664264'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/3805157816815664264'/><link rel='alternate' type='text/html' href='http://hnideas.blogspot.com/2008/01/blog-post_22.html' title='평안도집 (장충동 족발)'/><author><name>Daniel Kim</name><uri>http://www.blogger.com/profile/11945857066706966377</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6928659990612633512.post-2559472470356729469</id><published>2008-01-22T20:29:00.000+09:00</published><updated>2008-01-22T20:31:10.311+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>Programming Tips</title><content type='html'>&lt;ul&gt;&lt;li&gt;state&lt;span style="font-family:AppleGothic;"&gt;를&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;항상&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;유지하자.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;unsigned int&lt;span style="font-family:AppleGothic;"&gt;는 절대로 0이하의 값이 대응되지 않는다는 확신이 있을 때 만 사용하자.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;single thread&lt;span style="font-family:AppleGothic;"&gt;를&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;이용하는&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;경우&lt;/span&gt;, watch dog timer&lt;span style="font-family:AppleGothic;"&gt;를&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;이용하는&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;경우가&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;많다&lt;/span&gt;. &lt;span style="font-family:AppleGothic;"&gt;이&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;상황에서는&lt;/span&gt; operation time&lt;span style="font-family:AppleGothic;"&gt;이&lt;/span&gt; watch dog timer&lt;span style="font-family:AppleGothic;"&gt;의&lt;/span&gt; scheduled time&lt;span style="font-family:AppleGothic;"&gt;을&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;넘지&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;않도록&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;유의해야&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;한다&lt;/span&gt;. &lt;span style="font-family:AppleGothic;"&gt;그렇지&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;않을&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;경우&lt;/span&gt;, &lt;span style="font-family:AppleGothic;"&gt;시스템이&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;알&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;수&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;없는&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;이유로&lt;/span&gt; freeze&lt;span style="font-family:AppleGothic;"&gt;되는&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;경우가&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;생기게&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;된다&lt;/span&gt;.&lt;/li&gt;&lt;li&gt;continuing…&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6928659990612633512-2559472470356729469?l=hnideas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnideas.blogspot.com/feeds/2559472470356729469/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hnideas.blogspot.com/2008/01/programming-tips.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/2559472470356729469'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/2559472470356729469'/><link rel='alternate' type='text/html' href='http://hnideas.blogspot.com/2008/01/programming-tips.html' title='Programming Tips'/><author><name>Daniel Kim</name><uri>http://www.blogger.com/profile/11945857066706966377</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6928659990612633512.post-2195244514733360131</id><published>2008-01-22T20:27:00.000+09:00</published><updated>2008-01-22T20:31:31.899+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='daemon'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><title type='text'>SELinux에서 ftpd사용</title><content type='html'>&lt;p&gt;&lt;span style="font-family:AppleGothic;"&gt;오랜만에&lt;/span&gt; RedHat &lt;span style="font-family:AppleGothic;"&gt;계열의&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;리눅스를&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;설치해볼&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;기회가&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;생겼다&lt;/span&gt;. ftp &lt;span style="font-family:AppleGothic;"&gt;서버가&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;원하는 데로 동작하지 않아서 찾아본 결과, SELinux때문이었다.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;SELinux&lt;span style="font-family:AppleGothic;"&gt;를&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;사용하는&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;경우&lt;/span&gt;, ftp daemon&lt;span style="font-family:AppleGothic;"&gt;에서&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;아래와&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;같은&lt;/span&gt; error&lt;span style="font-family:AppleGothic;"&gt;를&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;출력하는&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;경우가&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;있다&lt;/span&gt;.&lt;/p&gt; &lt;blockquote&gt;&lt;p&gt;500 OOOPS: cannot change directory …&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;&lt;span style="font-family:AppleGothic;"&gt;이&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;경우&lt;/span&gt;, &lt;span style="font-family:AppleGothic;"&gt;아래와&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;같이&lt;/span&gt; SELinux policy&lt;span style="font-family:AppleGothic;"&gt;를&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;변경하면&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;해결이&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;된다&lt;/span&gt;.&lt;/p&gt; &lt;blockquote&gt;&lt;p&gt;&gt; su -&lt;br /&gt;&gt; getsebool -a | grep ftp&lt;br /&gt;&gt; setsebool -P ftp_home_dir on&lt;br /&gt;&gt; getsebool -a | grep ftp&lt;/p&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6928659990612633512-2195244514733360131?l=hnideas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnideas.blogspot.com/feeds/2195244514733360131/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hnideas.blogspot.com/2008/01/selinux-ftpd.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/2195244514733360131'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/2195244514733360131'/><link rel='alternate' type='text/html' href='http://hnideas.blogspot.com/2008/01/selinux-ftpd.html' title='SELinux에서 ftpd사용'/><author><name>Daniel Kim</name><uri>http://www.blogger.com/profile/11945857066706966377</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6928659990612633512.post-1709842956323762136</id><published>2008-01-22T20:13:00.001+09:00</published><updated>2008-01-22T20:15:09.994+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>소스 파일에서 원하는 부분 검색</title><content type='html'>&lt;strong&gt;grep -i &lt;/strong&gt;&lt;em&gt;{string to find}&lt;/em&gt; &lt;strong&gt;--include &lt;/strong&gt;&lt;em&gt;{files to include}&lt;/em&gt;&lt;strong&gt; -R &lt;/strong&gt;&lt;em&gt;{target directories}&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;e.g. grep -i “my comment” --include “*.[chCH]” -R “./”&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6928659990612633512-1709842956323762136?l=hnideas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnideas.blogspot.com/feeds/1709842956323762136/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hnideas.blogspot.com/2008/01/blog-post.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/1709842956323762136'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/1709842956323762136'/><link rel='alternate' type='text/html' href='http://hnideas.blogspot.com/2008/01/blog-post.html' title='소스 파일에서 원하는 부분 검색'/><author><name>Daniel Kim</name><uri>http://www.blogger.com/profile/11945857066706966377</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6928659990612633512.post-6852351226270156908</id><published>2008-01-22T20:10:00.000+09:00</published><updated>2008-01-22T20:12:28.737+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iTunes'/><title type='text'>iTunes Library 복구</title><content type='html'>&lt;p&gt;&lt;span style="font-family:AppleGothic;"&gt;만약&lt;/span&gt; iTunes Library&lt;span style="font-family:AppleGothic;"&gt;를&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;그대로&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;둔&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;체로&lt;/span&gt; iTunes&lt;span style="font-family:AppleGothic;"&gt;를&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;삭제&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;했다면&lt;/span&gt;, &lt;span style="font-family:AppleGothic;"&gt;조금은&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;특별한&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;방법으로&lt;/span&gt; iTunes Library&lt;span style="font-family:AppleGothic;"&gt;를&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;복구&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;하여야&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;한다&lt;/span&gt;.&lt;span style="font-family:AppleGothic;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;- 기존의 iTunes 라이브러리 폴더의 이름을 바꾸거나 다른 장소에 옮겨 놓는다.&lt;/p&gt;&lt;p&gt; - 새로운 iTunes를 설치한다.&lt;/p&gt;&lt;p&gt; - iTunes Library.itl파일의 내용을 모두 지워서 0Bytes로 만든다.&lt;/p&gt;&lt;p&gt; - 기존의 iTunes 라이브러리 폴더 내의 iTunes Music Library.xml파일을 수정한다.&lt;/p&gt;&lt;p&gt; - - &lt;key&gt;Location&lt;/key&gt;&lt;string&gt;…&lt;/string&gt;부분에서 …에 해당하는 파일구조를 자신이 원하는 폴더로 수정한다.&lt;/p&gt;&lt;p&gt; - iTunes를 실행한다.&lt;/p&gt;&lt;p&gt; - 수정한 iTunes Music Library.xml 파일을 import한다.&lt;/p&gt;&lt;p&gt; - iTunes Library가 잘못 되어서 수정했다는 메시지가 보인다.&lt;/p&gt;&lt;p&gt; - 기존의 모든 음악과 rating등이 모두 복구 된 것이 보일 것이다.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6928659990612633512-6852351226270156908?l=hnideas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnideas.blogspot.com/feeds/6852351226270156908/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hnideas.blogspot.com/2008/01/itunes-library.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/6852351226270156908'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/6852351226270156908'/><link rel='alternate' type='text/html' href='http://hnideas.blogspot.com/2008/01/itunes-library.html' title='iTunes Library 복구'/><author><name>Daniel Kim</name><uri>http://www.blogger.com/profile/11945857066706966377</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6928659990612633512.post-866277795180346433</id><published>2008-01-22T20:08:00.000+09:00</published><updated>2008-01-22T20:10:10.616+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='gdb'/><category scheme='http://www.blogger.com/atom/ns#' term='debugging'/><title type='text'>간단한 gdb 명령어</title><content type='html'>run {arguments} &lt;span style="color: rgb(255, 0, 0);font-family:AppleGothic;" &gt;실행&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:AppleGothic;"&gt;&lt;br /&gt;&lt;/span&gt;break {&lt;span style="font-family:AppleGothic;"&gt;소스&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;파일&lt;/span&gt;:n}&lt;span style="color: rgb(255, 0, 0);font-family:AppleGothic;" &gt; 소스&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);font-family:AppleGothic;" &gt;파일의&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; n&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);font-family:AppleGothic;" &gt;번째&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);font-family:AppleGothic;" &gt;라인에&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; breakpoint&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);font-family:AppleGothic;" &gt;를&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);font-family:AppleGothic;" &gt;설정한다&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:AppleGothic;"&gt;&lt;br /&gt;&lt;/span&gt;info break&lt;span style="color: rgb(255, 0, 0);"&gt; breakpoint&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);font-family:AppleGothic;" &gt;에&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);font-family:AppleGothic;" &gt;대한&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);font-family:AppleGothic;" &gt;정보&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);font-family:AppleGothic;" &gt;열람&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:AppleGothic;"&gt;&lt;br /&gt;&lt;/span&gt;delete {N}&lt;span style="color: rgb(255, 0, 0);"&gt; N&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);font-family:AppleGothic;" &gt;번째&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; breakpoint&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);font-family:AppleGothic;" &gt;를&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);font-family:AppleGothic;" &gt;제거&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:AppleGothic;"&gt;&lt;br /&gt;&lt;/span&gt;help {command}&lt;span style="color: rgb(255, 0, 0);"&gt; command&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);font-family:AppleGothic;" &gt;에&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);font-family:AppleGothic;" &gt;대한&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);font-family:AppleGothic;" &gt;도움말을&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);font-family:AppleGothic;" &gt;열람&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:AppleGothic;"&gt;&lt;br /&gt;&lt;/span&gt;step&lt;span style="color: rgb(255, 0, 0);font-family:AppleGothic;" &gt; 현재&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);font-family:AppleGothic;" &gt;라인을&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);font-family:AppleGothic;" &gt;실행하고&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;, &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);font-family:AppleGothic;" &gt;다음&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);font-family:AppleGothic;" &gt;실행&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);font-family:AppleGothic;" &gt;가능한&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);font-family:AppleGothic;" &gt;라인으로&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);font-family:AppleGothic;" &gt;이동&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:AppleGothic;"&gt;&lt;br /&gt;&lt;/span&gt;next&lt;span style="color: rgb(255, 0, 0);font-family:AppleGothic;" &gt; 현재&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);font-family:AppleGothic;" &gt;라인을&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);font-family:AppleGothic;" &gt;실행&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; (&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);font-family:AppleGothic;" &gt;현재&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);font-family:AppleGothic;" &gt;라인에&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);font-family:AppleGothic;" &gt;함수가&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);font-family:AppleGothic;" &gt;포함되어&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);font-family:AppleGothic;" &gt;있을&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);font-family:AppleGothic;" &gt;경우&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);font-family:AppleGothic;" &gt;해당&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);font-family:AppleGothic;" &gt;함수를&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);font-family:AppleGothic;" &gt;실행하고&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);font-family:AppleGothic;" &gt;다음&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);font-family:AppleGothic;" &gt;라인으로&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);font-family:AppleGothic;" &gt;이동&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;)&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;finish&lt;span style="color: rgb(255, 0, 0);font-family:AppleGothic;" &gt; 현재의&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);font-family:AppleGothic;" &gt;함수가&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);font-family:AppleGothic;" &gt;끝날때&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);font-family:AppleGothic;" &gt;까지&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; next&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);font-family:AppleGothic;" &gt;를&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);font-family:AppleGothic;" &gt;계속&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);font-family:AppleGothic;" &gt;함&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:AppleGothic;"&gt;&lt;br /&gt;&lt;/span&gt;continue&lt;span style="color: rgb(255, 0, 0);font-family:AppleGothic;" &gt; 다음&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; breakpoint&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);font-family:AppleGothic;" &gt;까지&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);font-family:AppleGothic;" &gt;실행&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:AppleGothic;"&gt;&lt;br /&gt;&lt;/span&gt;file {&lt;span style="font-family:AppleGothic;"&gt;파일&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;이름&lt;/span&gt;}&lt;span style="color: rgb(255, 0, 0);font-family:AppleGothic;" &gt; 파일을&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; reload&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;where&lt;span style="color: rgb(255, 0, 0);"&gt; backtrace&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);font-family:AppleGothic;" &gt;를&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);font-family:AppleGothic;" &gt;열람&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:AppleGothic;"&gt;&lt;br /&gt;&lt;/span&gt;print {&lt;span style="font-family:AppleGothic;"&gt;변수&lt;/span&gt;}&lt;span style="color: rgb(255, 0, 0);font-family:AppleGothic;" &gt; 변수의&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);font-family:AppleGothic;" &gt;값을&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);font-family:AppleGothic;" &gt;출력&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:AppleGothic;"&gt;&lt;br /&gt;&lt;/span&gt;quit&lt;span style="color: rgb(255, 0, 0);font-family:AppleGothic;" &gt; 종료&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6928659990612633512-866277795180346433?l=hnideas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnideas.blogspot.com/feeds/866277795180346433/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hnideas.blogspot.com/2008/01/gdb.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/866277795180346433'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/866277795180346433'/><link rel='alternate' type='text/html' href='http://hnideas.blogspot.com/2008/01/gdb.html' title='간단한 gdb 명령어'/><author><name>Daniel Kim</name><uri>http://www.blogger.com/profile/11945857066706966377</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6928659990612633512.post-6619675653574842512</id><published>2008-01-22T20:05:00.000+09:00</published><updated>2008-01-22T20:07:34.476+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='macintosh'/><category scheme='http://www.blogger.com/atom/ns#' term='software'/><title type='text'>MindManger</title><content type='html'>&lt;p&gt;&lt;span style="font-family:AppleGothic;"&gt;마인드&lt;/span&gt; &lt;span style="font-family:AppleGothic;"&gt;맵 은 여러 곳을 통해서 추천을 받았다. 대부분이 그렇듯, 정말로 사용하기 전에는 마인드 맵의 이점에 대해서 잘 인식하지 못하고 있었다. 맥을 사용하면서 OmniOutliner를 통해 outliner의 이점을 체감하면서, 마인드 맵에 관심을 갖고 있던 차에 좋은 맥용 마인드 맵 소프트웨어를 발견했다.&lt;br /&gt;가격은 $129로 저렴하지 않아서, 일단 평가 판을 사용중이다. 결론부터 얘기하자면, 아마도 조만간 구매할 것 같다. 정말로 깔끔한 디자인과, 좋은 사용자 편의성 등 잠깐씩 사용하다 말게 되었던 여러 마인드 맵 소프트웨어들에 비해서 정말로 outstanding!!이라고 외칠만 하다.&lt;br /&gt;여타 맥용 소프트웨어가 그렇듯, 직관적으로 만들어진 UI 덕분에 사용법이라는 걸 별로 설명할 필요가 없다. 기본적인 마인드 맵이 무엇인지를 안다면, 너무나도 편안하게 생각을 정리할 수 있다.&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6928659990612633512-6619675653574842512?l=hnideas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hnideas.blogspot.com/feeds/6619675653574842512/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hnideas.blogspot.com/2008/01/mindmanger.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/6619675653574842512'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6928659990612633512/posts/default/6619675653574842512'/><link rel='alternate' type='text/html' href='http://hnideas.blogspot.com/2008/01/mindmanger.html' title='MindManger'/><author><name>Daniel Kim</name><uri>http://www.blogger.com/profile/11945857066706966377</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
