<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>A Think Piece</title>
    <link>https://thinkpiece.tistory.com/</link>
    <description>Sharing my personal thoughts on anything</description>
    <language>ko</language>
    <pubDate>Fri, 17 Jul 2026 07:35:04 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>thinkpieces</managingEditor>
    <image>
      <title>A Think Piece</title>
      <url>https://tistory1.daumcdn.net/tistory/818876/attach/f40a5bc986914c16bddc1b51a7bc718a</url>
      <link>https://thinkpiece.tistory.com</link>
    </image>
    <item>
      <title>2381일만의 글</title>
      <link>https://thinkpiece.tistory.com/344</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;0415.jpg&quot; data-origin-width=&quot;800&quot; data-origin-height=&quot;533&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bte53L/btrzuy4fvvf/FlkV2L9WsH4cQwkzcePVK1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bte53L/btrzuy4fvvf/FlkV2L9WsH4cQwkzcePVK1/img.jpg&quot; data-alt=&quot;2022년 4월의 짧았던 벚꽃 시즌&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bte53L/btrzuy4fvvf/FlkV2L9WsH4cQwkzcePVK1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbte53L%2Fbtrzuy4fvvf%2FFlkV2L9WsH4cQwkzcePVK1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;800&quot; height=&quot;533&quot; data-filename=&quot;0415.jpg&quot; data-origin-width=&quot;800&quot; data-origin-height=&quot;533&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;2022년 4월의 짧았던 벚꽃 시즌&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;블로그는 비휘발성 저장 공간이라는 점이 마음에 들어 옛날부터 운영하고 싶어했었고, 실제로 이 블로그도 몇 년 동안 운영을 했었다. 하지만 블로그를 운영하기 위해서는 너무 성실해야 했다. 게다가 별다른 컨셉없이 지극히 개인적인 기록을 남겼기 때문에 유지하기에 애매하기도 했고.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그럼에도 불구하고, 대학원 과정에 있으면서 적었던 몇 개의 글 덕분에 꾸준히 유입이 되었던 것 같다. 몇 년이 지나서는 연구했던 내용들을 편하게 알려주는 기술 블로그를 할까 생각하여,&amp;nbsp;텀블러로 가입해보고, 정적페이지생성기를 이용해서 깃허브 페이지나 호스팅을 운영하기도 했지만 결국 오래가지 못했다. 아무래도 쌓여있는 게시글이 없으니 정붙이기가 힘들었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;당시에는 다음이 이것저것 서비스를 정리하고 있던 와중이라, 티스토리도 머지않아 없어지겠구나 생각했었다. 티스토리와 비슷하지만 더 전문적인 (미디움과 비슷한 형태의) 블로그 서비스도 런칭했었고, 당시에 유행하던 마크다운이니 미니멀 디자인이니 하는 것들도 제대로 지원되지 않고 업데이트 없이 촌스러웠던 티스토리는 금방 없어질 것처럼 보였다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://thinkpiece.tistory.com/341&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;2015.06.04 - [Essay] - 다음과 티스토리의 운명&lt;/a&gt;&amp;nbsp;(당시에 썼던 글)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그런데 아이러니하게도 티스토리가 가장 오래 살아남았다. 텀블러는 성인물 범람을 막지못하더니 사그라들었고, 정적 페이지 생성기도 여러번 대세 플랫폼이 바뀌었다. 간만에 방문한 티스토리에 글을 쓰려고 보니, 기본 테마도 매우 깔끔하게 제공이 되고 있고 에디터도 완전히 세련되어졌다. (언제 이렇게 바뀐걸까?)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결국 몇가지 남겨놓아야겠다고 생각했던 글을 다시 이 곳에 써야겠다고 생각하며 2381만의 침묵을 깨고 포스팅을 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다시 안녕, 티스토리!&lt;/p&gt;</description>
      <category>Essay</category>
      <author>thinkpieces</author>
      <guid isPermaLink="true">https://thinkpiece.tistory.com/344</guid>
      <comments>https://thinkpiece.tistory.com/344#entry344comment</comments>
      <pubDate>Fri, 15 Apr 2022 18:13:57 +0900</pubDate>
    </item>
    <item>
      <title>다음과 티스토리의 운명</title>
      <link>https://thinkpiece.tistory.com/341</link>
      <description>&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 740px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99AFD93359F292D33C&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99AFD93359F292D33C&quot; width=&quot;740&quot; height=&quot;479&quot; filename=&quot;daum_cloud_Exit.jpg&quot; filemime=&quot;image/jpeg&quot; style=&quot;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;최근 다음 클라우드가 서비스 종료한다는 소식을 보니, 앞으로 티스토리의 운명도 궁금해진다.&lt;/p&gt;&lt;p&gt;HTML/CSS를 (비교적) 자유롭게 꾸밀 수 있고, 첨부 파일도 제한없이 올릴 수 있다는 점에서 티스토리는 타의 추종을 불허하는 장점을 가지고 있었지만, &lt;strong&gt;다음&lt;/strong&gt;으로 넘어가고 나서 부터는 더이상의 발전도 지원도 없는 것처럼 보인다. 이대로 서비스를 종료하는 것 아니냐는 말도 있었는데, 아니나다를까 &lt;strong&gt;백업-&amp;gt;복원&lt;/strong&gt; 기능도 막히더니 이젠 Medium와 유사한 (결과적으론 Instagram같은) Plain이란 블로그 플랫폼까지 새로 등장시키면서 더욱 더 티스토리가 위태로워진 것 처럼 보인다. &lt;/p&gt;&lt;p&gt;언젠가, 아니 머지않아 이렇게 말할 것 같다. 잘가 티스토리!&lt;/p&gt;</description>
      <category>Essay</category>
      <category>티스토리</category>
      <author>thinkpieces</author>
      <guid isPermaLink="true">https://thinkpiece.tistory.com/341</guid>
      <comments>https://thinkpiece.tistory.com/341#entry341comment</comments>
      <pubDate>Thu, 4 Jun 2015 10:16:13 +0900</pubDate>
    </item>
    <item>
      <title>Python으로 Alfred Workflow 만들기</title>
      <link>https://thinkpiece.tistory.com/340</link>
      <description>&lt;p&gt;Alfred의 Powerpack을 구매해서 써오고 있다. 최근 &lt;strong&gt;OS X 요세미티에서 Spotlight 기능이 강조될 것&lt;/strong&gt;이라고 발표되면서, 같은 기능을 하고 있는 Alfred의 영향력이 줄어들지는 않을까하는 우려를 보았다. OS X Mavericks 때도 &lt;strong&gt;1Password&lt;/strong&gt;를 보면서 같은 우려를 한 적이 있었는데, 결과적으로 1Password는 아직까지 잘 써오고 있다. Website password 등을 제외하더라도 Software serial, privacy information 등을 보관하기에 좋다.&lt;/p&gt;

&lt;p&gt;그래서 이참에 Alfred도 단순히 Spotlight 대체로 활용하는 것 보다 더 잘 써보자는 마음이 들어서 workflow를 활용해보려고 했다.  &lt;strong&gt;상용구 치환&lt;/strong&gt; 등은 이미 Snippets 등의 built-in 기능으로 제공되고 있고, 다른 APP이나 WEB에서 정보를 긁어다오는 정도로는 유용하게 이용할 수 있을 것 같았다. Workflow는 script language를 이용할 수 있는 장점이 있는데, &lt;strong&gt;bash, ruby, php, perl, python&lt;/strong&gt; 등이 기본으로 지원된다.&lt;/p&gt;

&lt;p&gt;Alfred Workflow를 python으로 작성하려고 보니 정말 친절하게 documentation이 되어있다! &lt;a href=&quot;http://bit.ly/1wk5oAw&quot;&gt;링크: Alfred-Workflow (for Python)&lt;/a&gt; 간단히 Web API를 이용해서 최근 포스트를 읽어오는 예제에서부터 Multi-step으로 설정사항을 저장하는 꽤 고급 예제까지 포함하고 있다.&lt;/p&gt;

&lt;p&gt;선택된 텍스트가 URL 일 때 bitly 에서 단축URL주소를 클립보드로 복사하는 workflow를 시험삼아 만들어보았다. Opt+S를 누르면 현재 선택된 텍스트가 bitly에서 짧은 URL주소로 바뀌는 Python스크립트가 실행되고, 그 결과를 Clipboard에 복사한다.&lt;/p&gt;

&lt;p&gt;&lt;img class=&quot;img-center&quot; src=&quot;https://t1.daumcdn.net/cfile/tistory/2536013D53F852ED1C&quot;&gt;&lt;/p&gt;

&lt;p&gt;아래는 그 결과. 좋은 Documentation으로 인해 아주 쉽게 만들었다. 본래는 Alfred Workflow의 Python API에 대해 써볼까했는데, &lt;a href=&quot;http://bit.ly/1wk5oAw&quot;&gt;링크: Alfred-Workflow (for Python)&lt;/a&gt;의 튜토리얼이 너무나 잘 되어 있어서 안써도 될 것 같다.&lt;/p&gt;

&lt;p&gt;&lt;img class=&quot;img-center&quot; src=&quot;https://t1.daumcdn.net/cfile/tistory/273FA54053F8536D13&quot;&gt;&lt;/p&gt;</description>
      <category>Tech/Development</category>
      <category>Alfred</category>
      <category>Python</category>
      <author>thinkpieces</author>
      <guid isPermaLink="true">https://thinkpiece.tistory.com/340</guid>
      <comments>https://thinkpiece.tistory.com/340#entry340comment</comments>
      <pubDate>Sat, 23 Aug 2014 17:38:12 +0900</pubDate>
    </item>
    <item>
      <title>점유이탈물횡령죄</title>
      <link>https://thinkpiece.tistory.com/339</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;최자가 잃어버린 지갑이 발견되었다. 그리고 그 지갑 안에 있던 설리와의 다정한 사진이 화제가 되고 있다. 첫 스캔들 때 &lt;b&gt;친한 선후배일 뿐&lt;/b&gt;이라는 뻔한 해명에도 불구하고 팬들은 많이들 믿었을 텐데 (사람은 보고싶은 것만 보니까) 이번은 해명하기가 상당히 까다로울 것 같다. 친한 선배가 지갑을 저렇게 갖고 다니면 너무 무서울 것이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아무튼 지갑을 사진 찍어 올린 사람이 누구일까 다들 궁금해하고 있다. 지갑을 가져가서 사진을 찍어올리다니 겁없다, 범죄자가 될 것이다, 는 등 우려가 많다. 궁금해서 찾아봤다. 이러한 유실물을 타인이 임의로 가져가게 되면 점유이탈물횡령죄에 해당한다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;습득자가 유실물을 &lt;b&gt;횡령&lt;/b&gt;하면 형법상의 &lt;b&gt;점유이탈물횡령죄&lt;/b&gt;가 성립한다 (형법 360조). &lt;b&gt;횡령&lt;/b&gt;은 습득한 유실물의 불법한 처분행위를 말한다. 고의로 상당한 기간 내에 유실물을 경찰관서에 제출하지 아니한 경우에, 그 부작위는 횡령행위가 될 수 있다. 다만 일반 횡령죄보다는 의무위반성이 가벼우므로 그 처벌도 가볍다.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;처벌이 횡령죄보다는 가볍다고 하는데, 어떻게 되나?&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;점유이탈물횡령죄&lt;/b&gt;(360조): 1년 이하의 징역이나 300만원 이하의 벌금 또는 과료에 처한다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;단순횡령죄&lt;/b&gt;(355조 1항): 5년 이하의 징역 또는 1500만원 이하의 벌금에 처한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;SM과 아메바컬쳐가 괘씸하다고 생각해 수사를 의뢰하게 되면 스샷을 찍어올린 주인공은 1년 이하의 징역 혹은 300만원 이하의 벌금을 내게 될 듯&amp;hellip;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;450&quot; data-origin-height=&quot;667&quot;&gt;&lt;span data-url=&quot;https://t1.daumcdn.net/cfile/tistory/99F9153359F2933506?original&quot; data-phocus=&quot;https://t1.daumcdn.net/cfile/tistory/99F9153359F2933506?original&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99F9153359F2933506&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99F9153359F2933506&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;450&quot; height=&quot;667&quot; data-origin-width=&quot;450&quot; data-origin-height=&quot;667&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Essay</category>
      <category>점유이탈물횡령죄</category>
      <category>형법</category>
      <author>thinkpieces</author>
      <guid isPermaLink="true">https://thinkpiece.tistory.com/339</guid>
      <comments>https://thinkpiece.tistory.com/339#entry339comment</comments>
      <pubDate>Wed, 25 Jun 2014 01:05:47 +0900</pubDate>
    </item>
    <item>
      <title>Transactional Memory #2</title>
      <link>https://thinkpiece.tistory.com/338</link>
      <description>&lt;p&gt;무려 2013년 11월에 Transactional Memory에 대한 &lt;a href=&quot;http://thinkpiece.tistory.com/30&quot;&gt;포스팅&lt;/a&gt;을 한 적이 있다. 이 때는, Parallel Computing에서 일반적으로 사용되는 Lock 방식의 메모리 관리기법의 단점에 대해 알아보았다. 대표적으로 3가지를 들 수 있다.&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;&lt;em&gt;Dead Lock&lt;/em&gt;: 같은 자원에 접근하는 Thread가 서로 멈추는 문제&lt;/li&gt;
	&lt;li&gt;&lt;em&gt;Priority Inversion&lt;/em&gt;: Thread의 Priority가 지켜지지 않는 문제&lt;/li&gt;
	&lt;li&gt;&lt;em&gt;Convoying&lt;/em&gt;: Lock 중인 Thread가 System call을 받으면 기다리는 모든 Thread가 멈추는 문제&lt;/li&gt;
	&lt;li&gt;위 3가지의 구조적 문제점 이 외에도, Shared resource에 대한 Lock을 위해 Kernel Instruction이 수시로 호출되면서 속도가 저하되는 문제&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;정작 Transactional Memory에 대해서는 다음에 알아보자고 어물쩍 넘어갔는데, 이번 포스팅에서 Transactional Memory가 어떻게 동작하는지 알아보자.&lt;/p&gt;

&lt;h2&gt;Implementation Instructions&lt;/h2&gt;

&lt;p&gt;Transactional Memory가 어떻게 일을 하는지는 앞선 &lt;a href=&quot;http://thinkpiece.tistory.com/30&quot;&gt;포스팅&lt;/a&gt;에서 간략히 소개한 적이 있다. 다른 사람이 공유자원을 쓰는지 안쓰는지 확인하기 복잡하니, 일단 내가 쓰고싶은 만큼 불러와서 데이터를 사용하고 기록한다. 이러한 과정을 메모리에 그때 그때 업데이트하는게 아니라, 따로 기록해둔다. 그리고 내가 사용해서 변경된 내역들은 나중에 한꺼번에 반영(&lt;strong&gt;commit&lt;/strong&gt;)한다. 이러한 Commit과정에서 내가 사용한 메모리를 다른 곳에서 사용했는지 검사(&lt;strong&gt;validate&lt;/strong&gt;)를 해본다. 만약 다른 곳에서 접근해서 사용했다면 내가 가지고 있는 메모리 데이터가 올바르지 않을 수 있으니 현재 까지의 변경 사항은 그냥 버린다(&lt;strong&gt;abort&lt;/strong&gt;). 그리고 Transaction의 처음부터 다시 하는 것이다. 이렇게 Transactional Memory의 동작은 크게 3가지(&lt;strong&gt;commit&lt;/strong&gt;, &lt;strong&gt;abort&lt;/strong&gt;, &lt;strong&gt;validate&lt;/strong&gt;)로 나눌 수 있으며, 이를 구현하기 위해서 필요한 Instruction은 아래와 같다.&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;&lt;strong&gt;Load-transactional (LT)&lt;/strong&gt;: 공유 메모리에서 값을 읽어올 때 사용하는 명령어. 이 때 읽어오는 값은 바뀌지 않는다.&lt;/li&gt;
	&lt;li&gt;&lt;strong&gt;Load-transactional-exclusive (LTX)&lt;/strong&gt;: 공유 메모리에서 값을 읽어오는데, 이 값이 변경될 때 사용하는 명령어.&lt;/li&gt;
	&lt;li&gt;&lt;strong&gt;Store-transactional (ST)&lt;/strong&gt;: 메모리에 값을 쓰는 명령어. 이 때, 쓰는 값은 즉시 메모리에 업데이트 되는게 아니다. 최종적으로 Transactional Thread가 성공적으로 완료되었을 때 (commit) 업데이트된다.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Transactional Memory의 동작을 다시 정리하면 아래와 같다.&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;&lt;strong&gt;Commit&lt;/strong&gt;: 현재 Transaction을 종료하고, 변경 사항을 모두 메모리에 반영할지 버릴지 결정한다. 공유 메모리에 다른 Transaction이 접근한 적이 없다면 변경 사항이 모두 메모리에 반영되어, 다음부터 다른 Transaction 이 해당 메모리에 접근할 때 변경된 값을 사용할 수 있을 것이다.&lt;/li&gt;
	&lt;li&gt;&lt;strong&gt;Abort&lt;/strong&gt;: 현재 Transaction에서 있었던 변경 사항을 모두 버린다. 메모리에 반영하지 않음.&lt;/li&gt;
	&lt;li&gt;&lt;strong&gt;Validate&lt;/strong&gt;: Transaction 중 현재 메모리 상황을 파악한다. 현재 내가 가지고 있는 자료의 본 메모리에 다른 Transaction이 접근했다면, 자료가 변경되었을 수 있다. 이럴 경우에는 Validate False다.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Transactional Memory의 동작은 간단하게 아래와 같을 것이다.&lt;/p&gt;

&lt;ol&gt;
	&lt;li&gt;&lt;strong&gt;LT, LTX&lt;/strong&gt;: 메모리에서 값을 Register로 가져온다.&lt;/li&gt;
	&lt;li&gt;&lt;strong&gt;Validate&lt;/strong&gt;: 가져온 값이 유효한가? 최신 정보인지 확인한다.&lt;/li&gt;
	&lt;li&gt;&lt;strong&gt;ST&lt;/strong&gt;: 계산한 결과들을 저장한다.&lt;/li&gt;
	&lt;li&gt;&lt;strong&gt;Commit&lt;/strong&gt;: 일련의 과정이 모두 끝나고, 내가 변경한 데이터들을 다른 Transaction 들도 사용할 수 있게, 메모리에 반영한다. 이 때, Validate False라면 1번으로 돌아가 다시 반복한다.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;다음 포스팅에서는 (언제가 될지 장담할 수 없지만) Snoopy Cache와 Directory Cache에서 각각 어떤 방식으로 적용했는지 알아보자.&lt;/p&gt;</description>
      <category>Tech/Computer</category>
      <category>Transactional Memory</category>
      <author>thinkpieces</author>
      <guid isPermaLink="true">https://thinkpiece.tistory.com/338</guid>
      <comments>https://thinkpiece.tistory.com/338#entry338comment</comments>
      <pubDate>Fri, 13 Jun 2014 22:11:24 +0900</pubDate>
    </item>
    <item>
      <title>2046 팬스테이크</title>
      <link>https://thinkpiece.tistory.com/337</link>
      <description>&lt;p&gt;삼청동을 오르는 길에 후각을 자극하는 향기를 맡았다. 결국 잊지 못하고 내려오는 길에 들렀다. &lt;strong&gt;2046 팬 스테이크&lt;/strong&gt;가 바로 그 집이다. 지글지글 뜨거운 팬에 붉은 부채살이 시금치, 버섯, 마늘과 함께 볶아진다. 테이블에서 조리된다는 점은 VIPS의 얌스톤 스테이크와 유사하다고 보면 된다. 가격은 14,000원.&lt;/p&gt;

&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/217B0148538E056412&quot; alt=&quot;&quot; /&gt;</description>
      <category>Review/Taste</category>
      <category>2046 팬스테이크</category>
      <category>맛집</category>
      <category>삼청동</category>
      <author>thinkpieces</author>
      <guid isPermaLink="true">https://thinkpiece.tistory.com/337</guid>
      <comments>https://thinkpiece.tistory.com/337#entry337comment</comments>
      <pubDate>Wed, 4 Jun 2014 02:27:12 +0900</pubDate>
    </item>
    <item>
      <title>오설록 덖음차</title>
      <link>https://thinkpiece.tistory.com/336</link>
      <description>&lt;p&gt;인사동에는 오설록 티하우스가 있다. 여길 구경하다가 &lt;strong&gt;덖음차&lt;/strong&gt;를 시음한다기에 마셔보았는데 &lt;strong&gt;녹차의 신세계를 경험했다&lt;/strong&gt;. 그냥 &amp;#8220;몸에 좋으니까 마시는 차&amp;#8221; 정도로 생각했던 나의 녹차 이미지가 완전히 바뀌었다. 깊고 구수한 맛이지만 끝이 깔끔하다. 오설록 티하우스를 지나다가 덖음차 시음을 하고 있다면 꼭 마셔보길 바래요.&lt;/p&gt;

&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/24782642538E026A05&quot; alt=&quot;시음회&quot; /&gt;</description>
      <category>Review/Taste</category>
      <category>덖음차</category>
      <category>오설록</category>
      <author>thinkpieces</author>
      <guid isPermaLink="true">https://thinkpiece.tistory.com/336</guid>
      <comments>https://thinkpiece.tistory.com/336#entry336comment</comments>
      <pubDate>Wed, 4 Jun 2014 02:14:22 +0900</pubDate>
    </item>
    <item>
      <title>Python에서 SIFT Keypoint 확인하기</title>
      <link>https://thinkpiece.tistory.com/335</link>
      <description>&lt;p&gt;Python에서 OpenCV 지원이 점점 훌륭해지고 있다. 예전에 C/C++에서 OpenCV로&amp;nbsp;SIFT 키포인트를 확인하려면 여러가지 세팅의 난관에 부딪혔지만 이제 Python에서는 몇 줄만으로도&amp;nbsp;확인가능하다.&amp;nbsp;갓파이썬!&lt;/p&gt;

&lt;pre&gt;&lt;code class=&quot;python&quot;&gt;import cv2
import numpy as np

img = cv2.imread('lena.jpg')
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)

sift = cv2.SIFT()
kp = sift.detect(gray,None)

img = cv2.drawKeypoints(gray,kp)

cv2.imwrite('lena_siftpoints.jpg',img)&lt;/code&gt;&lt;/pre&gt;

&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 512px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/265BA0405382040D2A&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F265BA0405382040D2A&quot; width=&quot;512&quot; height=&quot;512&quot; filename=&quot;lena.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 512px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/247536405382040D0F&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F247536405382040D0F&quot; width=&quot;512&quot; height=&quot;512&quot; filename=&quot;sift_keypoints.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;</description>
      <category>Tech/Development</category>
      <category>Python</category>
      <category>SIFT</category>
      <author>thinkpieces</author>
      <guid isPermaLink="true">https://thinkpiece.tistory.com/335</guid>
      <comments>https://thinkpiece.tistory.com/335#entry335comment</comments>
      <pubDate>Sun, 25 May 2014 23:54:08 +0900</pubDate>
    </item>
    <item>
      <title>미드 한니발 Hannibal 시즌2 종료</title>
      <link>https://thinkpiece.tistory.com/334</link>
      <description>&lt;p&gt;작년이었던 2013년 7월에, 미드 한니발 &lt;em&gt;Hannibal&lt;/em&gt; 시즌 1을 보고나서 시즌 2를 예상한 적이 있었다. (&lt;a href=&quot;http://thinkpiece.tistory.com/230&quot;&gt;미드 한니발 Hannibal 시즌1 종료, 그리고 시즌2 예상&lt;/a&gt;) 그리고 2014년 5월 미드 한니발 &lt;em&gt;Hannibal&lt;/em&gt; 시즌 2가 끝났는데, 예상과는 다르게 끝이 났다.&lt;/p&gt;

&lt;p&gt;저조한 시청률에 상관없이 시즌 3도 확정되었다고 하니, 시청률에 상관없이 그 특이한 분위기를 유지하는 소수의 드라마로써 앞으로도 유지될 듯 하다.&lt;/p&gt;

&lt;p&gt;&lt;img class=&quot;img-center&quot; src=&quot;https://t1.daumcdn.net/cfile/tistory/2711BE405381EBF119&quot;&gt;&lt;/p&gt;</description>
      <category>Review/Media</category>
      <category>미드</category>
      <category>한니발</category>
      <author>thinkpieces</author>
      <guid isPermaLink="true">https://thinkpiece.tistory.com/334</guid>
      <comments>https://thinkpiece.tistory.com/334#entry334comment</comments>
      <pubDate>Sun, 25 May 2014 22:11:21 +0900</pubDate>
    </item>
    <item>
      <title>Pragmatic한 Test-Driven Development</title>
      <link>https://thinkpiece.tistory.com/333</link>
      <description>&lt;p&gt;그간 Programming 책이라곤 language syntax에 관련한 것 밖엔 읽어본 적이 없는데, 최근 들어서 &lt;strong&gt;SW 개발&lt;/strong&gt; 자체에 관련한 책을 2권 읽어볼 기회가 있었다. 하나는 Pragmatic Programmer이고, 다른 하나는 Test-Driven Developement이다. 짜투리 시간에 꺼내 읽다보니 생각이 잘 나지 않아서 요즘 Pragmatic Programmer를 틈날 때 한번씩 더 읽어보고 있다. &lt;/p&gt;

&lt;p&gt;두 책 모두 개발 목적을 향해 더 실용적인 행동을 권장하고 있다. 자칫 coding을 하다가 지엽적인 문제로 길을 잃는 나에게 매우 유익한 충고들이다. 특히나 Pragmatic Programmer의 Tracer Bullet 부분은 Test-Driven Development에서 추구하는 가치와 비슷한 듯?&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Users get to see something working early&lt;/strong&gt;. 결국 유저, 혹은 상관, 교수님은 더 빨리 무엇인가가 실제적으로 동작하는 걸 확인할 수가 있게 된다. (완전하진 않더라도)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Developers build a structure to work in&lt;/strong&gt;. 테스트-개발-리팩토링의 싸이클이 돌아갈 수 있는 구조가 갖춰지면 일하기도 쉽다. 이제부터는 세부적으로 채워넣기면 하면 되니까&amp;#8230;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;You have an integration platform&lt;/strong&gt;. 이미 유닛 단위로 테스트할 수 있는 플랫폼이 있으니, 한번 테스트를 하기위해 빅뱅 수준의 탄생을 준비하지 않아도 된다.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;You have something to demonstrate&lt;/strong&gt;. 진행 중간, 중간에 교수님, 혹은 상관에게 무엇이라도 보여줄 수 있지 않은가? 이게 정말 좋은 일이다. TDD 환경이 없으면 Coding 중입니다라는 대답도 처음 몇 번하고 나면 그 다음부터 힘들어진다.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;You have a better feel for progress&lt;/strong&gt;. 실질적으로 눈 앞에 진행 상황이 보이면, 의욕이 훨씬 샘솟는다.&lt;/li&gt;
&lt;/ol&gt;</description>
      <category>Tech/Development</category>
      <category>Pragmatic Programmer</category>
      <category>Test-Driven Development</category>
      <author>thinkpieces</author>
      <guid isPermaLink="true">https://thinkpiece.tistory.com/333</guid>
      <comments>https://thinkpiece.tistory.com/333#entry333comment</comments>
      <pubDate>Fri, 4 Apr 2014 20:52:38 +0900</pubDate>
    </item>
  </channel>
</rss>