Sorry

This feed does not validate.

In addition, interoperability with the widest range of feed readers could be improved by implementing the following recommendations.

Source: http://deepblue28.tistory.com/rss

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <rss version="2.0">
  3.  <channel>
  4.    <title>딥블루</title>
  5.    <link>http://deepblue28.tistory.com/</link>
  6.    <description>www.deepblue.pe.kr</description>
  7.    <language>ko</language>
  8.    <pubDate>Tue, 21 May 2024 03:08:56 +0900</pubDate>
  9.    <generator>TISTORY</generator>
  10.    <ttl>100</ttl>
  11.    <managingEditor>deepblue.kblee</managingEditor>
  12.    <image>
  13.      <title>딥블루</title>
  14.      <url>https://t1.daumcdn.net/cfile/tistory/174A15344E4785FF2C</url>
  15.      <link>http://deepblue28.tistory.com</link>
  16.    </image>
  17.    <item>
  18.      <title>축적의 시간II - 이정동 교수</title>
  19.      <link>http://deepblue28.tistory.com/entry/%EC%B6%95%EC%A0%81%EC%9D%98-%EC%8B%9C%EA%B0%84II-%EC%9D%B4%EC%A0%95%EB%8F%99-%EA%B5%90%EC%88%98</link>
  20.      <description>&lt;p class=&quot;p1&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Helvetica Neue&amp;quot;;&quot;&gt;KBS 스페셜 -&amp;nbsp;&lt;/span&gt;축적의&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;시간&lt;span class=&quot;s1&quot;&gt;II - 이정동 교수&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p2&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot;&gt;아이디어는&lt;span class=&quot;s1&quot;&gt;&amp;nbsp;발에 차일 정도로&amp;nbsp;&lt;/span&gt;널렸다&lt;/p&gt;&lt;p class=&quot;p1&quot;&gt;스케일업이&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;필요하다&lt;/p&gt;&lt;p class=&quot;p1&quot;&gt;끈기있게&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;하나씩&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;실험하고&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;연습하고&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;반복해서&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;노하우를&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;쌓아야&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;한다. 이것이 '스케일업' 이다.&lt;/p&gt;&lt;p class=&quot;p1&quot;&gt;오랜시간이&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;필요.&lt;/p&gt;&lt;p class=&quot;p1&quot;&gt;구글과 애플이 내놓는 혁신은 오랜시간 스케일업의 결과이다. 절대 반짝이는 아이디어 때문이 아니다.&lt;/p&gt;&lt;p class=&quot;p2&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;
  21.  
  22.  
  23.  
  24.  
  25. &lt;style type=&quot;text/css&quot;&gt;
  26. p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px '.Apple SD Gothic NeoI'; color: #454545}
  27. p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px 'Helvetica Neue'; color: #454545; min-height: 14.0px}
  28. span.s1 {font: 12.0px 'Helvetica Neue'}
  29. &lt;/style&gt;
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41. &lt;/p&gt;&lt;p class=&quot;p1&quot;&gt;지금 어려우니 조금 더 좋아지면 스케일업 하자&lt;span class=&quot;s1&quot;&gt;. 이것은 틀렸다.&amp;nbsp;&lt;/span&gt;살기&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;위해서&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;지금&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;해야&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;한다!&lt;/p&gt;&lt;p class=&quot;p1&quot;&gt;구글 애플도 여유 없기는 매한가지다.&lt;/p&gt;&lt;p class=&quot;p1&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot;&gt;역량이 뛰어난 한국의 10년 경력 엔지니어는 100년동안 스케일업 해온 회사의 같은 경력을 가진&amp;nbsp;엔지니어를 '절대' 이길 수 없다. 이 엔지니어는 110년 경력의 엔지니어이기 때문이다.&lt;/p&gt;&lt;p class=&quot;p1&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot;&gt;소비자는&lt;span class=&quot;s1&quot;&gt;&amp;nbsp;&lt;/span&gt;정체성이&lt;span class=&quot;s1&quot;&gt;&amp;nbsp;&lt;/span&gt;있는&lt;span class=&quot;s1&quot;&gt;&amp;nbsp;&lt;/span&gt;제품을&lt;span class=&quot;s1&quot;&gt;&amp;nbsp;&lt;/span&gt;원한다. 자기만의 색깔이 있어야!&lt;/p&gt;&lt;p class=&quot;p1&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot;&gt;항상 새로운 아이디어를 요구하거나 선택과 집중을 이야기하는 리더는 '옛날' 리더이다.&lt;/p&gt;&lt;p class=&quot;p1&quot;&gt;&lt;br /&gt;&lt;/p&gt;</description>
  42.      <category>좋은글</category>
  43.      <author>deepblue.kblee</author>
  44.      <guid isPermaLink="true">http://deepblue28.tistory.com/111</guid>
  45.      <comments>http://deepblue28.tistory.com/entry/%EC%B6%95%EC%A0%81%EC%9D%98-%EC%8B%9C%EA%B0%84II-%EC%9D%B4%EC%A0%95%EB%8F%99-%EA%B5%90%EC%88%98#entry111comment</comments>
  46.      <pubDate>Fri, 21 Jul 2017 00:13:15 +0900</pubDate>
  47.    </item>
  48.    <item>
  49.      <title>어쩌다 어른</title>
  50.      <link>http://deepblue28.tistory.com/entry/%EC%96%B4%EC%A9%8C%EB%8B%A4-%EC%96%B4%EB%A5%B8</link>
  51.      <description>&lt;p class=&quot;p1&quot;&gt;어쩌다어른&lt;span class=&quot;s1&quot;&gt; - &lt;/span&gt;허태균&lt;span class=&quot;s1&quot;&gt;&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot;&gt;한국사람의&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;심리를&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;파헤치다&lt;span class=&quot;s1&quot;&gt;&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p2&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot;&gt;아이패드&lt;span class=&quot;s1&quot;&gt;-&lt;/span&gt;신문을듣다&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;전화를보다&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;별을만지다&lt;span class=&quot;s1&quot;&gt;&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot;&gt;한국&lt;span class=&quot;s1&quot;&gt;-&lt;/span&gt;더크게&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;더&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;빠르게&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;더세게&lt;span class=&quot;s1&quot;&gt;-&lt;/span&gt;패스트팔로어&lt;span class=&quot;s1&quot;&gt;-&lt;/span&gt;왜&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;만드는지&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;모르는것이다&lt;span class=&quot;s1&quot;&gt;&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p2&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot;&gt;실용성을&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;이기는&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;상징성&lt;span class=&quot;s1&quot;&gt;-&lt;/span&gt;웨딩드레스&lt;/p&gt;&lt;p class=&quot;p2&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot;&gt;가상현실&lt;span class=&quot;s1&quot;&gt; - &lt;/span&gt;아빠가&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;태워주는&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;자전거&lt;span class=&quot;s1&quot;&gt;&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p2&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot;&gt;나만의&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;이유&lt;span class=&quot;s1&quot;&gt;, &lt;/span&gt;나만의&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;가치를&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;찾아라&lt;span class=&quot;s1&quot;&gt;, &lt;/span&gt;찾아줘라&lt;span class=&quot;s1&quot;&gt;&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p2&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class=&quot;p3&quot;&gt;———————————————&lt;/p&gt;&lt;p class=&quot;p2&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot;&gt;감각을&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;파헤치다&lt;span class=&quot;s1&quot;&gt; - &lt;/span&gt;김경일&lt;/p&gt;&lt;p class=&quot;p2&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot;&gt;다양한&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;경험을&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;해야&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;오래&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;산다&lt;/p&gt;&lt;p class=&quot;p2&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot;&gt;개발자들은&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;뭐든&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;만들수&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;있다고&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;말한다&lt;span class=&quot;s1&quot;&gt;. &lt;/span&gt;하지만&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;뭘&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;만들지를&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;모른다&lt;span class=&quot;s1&quot;&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot;&gt;이건&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;경험이&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;부족해서이다&lt;span class=&quot;s1&quot;&gt; - &lt;/span&gt;스티브잡스&lt;/p&gt;&lt;p class=&quot;p1&quot;&gt;비슷한&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;경험을&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;계속하면&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;시간이&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;빨리&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;간다&lt;span class=&quot;s1&quot;&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot;&gt;다양한&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;경험을&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;해야&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;오래&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;산것&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;같은&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;느낌이&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;든다&lt;span class=&quot;s1&quot;&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot;&gt;&lt;span class=&quot;s1&quot;&gt;—&amp;gt; &lt;/span&gt;귀차니즘을&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;타파해야&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;한다&lt;span class=&quot;s1&quot;&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p2&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot;&gt;큰&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;성공&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;거둔&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;사람은&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;미래가&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;절대&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;안변한다고&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;생각한다&lt;span class=&quot;s1&quot;&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;
  52.  
  53.  
  54.  
  55.  
  56. &lt;style type=&quot;text/css&quot;&gt;
  57. p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px '.Apple SD Gothic NeoI'; color: #454545}
  58. p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px 'Helvetica Neue'; color: #454545; min-height: 14.0px}
  59. p.p3 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px 'Helvetica Neue'; color: #454545}
  60. span.s1 {font: 12.0px 'Helvetica Neue'}
  61. &lt;/style&gt;
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74.  
  75.  
  76.  
  77.  
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89. &lt;/p&gt;&lt;p class=&quot;p1&quot;&gt;미래를&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;작게&lt;span class=&quot;s1&quot;&gt; &lt;/span&gt;예측하더라&lt;span class=&quot;s1&quot;&gt;. —&amp;gt; &lt;/span&gt;빌게이츠&lt;span class=&quot;s1&quot;&gt; 640kb&lt;/span&gt;&lt;/p&gt;</description>
  90.      <category>좋은글</category>
  91.      <author>deepblue.kblee</author>
  92.      <guid isPermaLink="true">http://deepblue28.tistory.com/110</guid>
  93.      <comments>http://deepblue28.tistory.com/entry/%EC%96%B4%EC%A9%8C%EB%8B%A4-%EC%96%B4%EB%A5%B8#entry110comment</comments>
  94.      <pubDate>Fri, 21 Jul 2017 00:03:55 +0900</pubDate>
  95.    </item>
  96.    <item>
  97.      <title>How to install subversion 1.6.x on Mac</title>
  98.      <link>http://deepblue28.tistory.com/entry/How-to-install-subversion-16x-on-Mac</link>
  99.      <description>&lt;p&gt;check subversion versions (on OS X 10.9.3)&lt;/p&gt;
  100. &lt;pre class=&quot;brush:shell; gutter:false&quot;&gt;$ brew versions subversion
  101.  
  102. 1.8.9    git checkout 9b75c92 /usr/local/Library/Formula/subversion.rb
  103. 1.8.8    git checkout c6cf8ac /usr/local/Library/Formula/subversion.rb
  104. 1.8.5    git checkout fa4311c /usr/local/Library/Formula/subversion.rb
  105. 1.8.4    git checkout ce669eb /usr/local/Library/Formula/subversion.rb
  106. 1.8.3    git checkout 9b438ce /usr/local/Library/Formula/subversion.rb
  107. 1.8.0    git checkout f56b641 /usr/local/Library/Formula/subversion.rb
  108. 1.8.1    git checkout 55577bb /usr/local/Library/Formula/subversion.rb
  109. 1.7.10   git checkout 0060dc3 /usr/local/Library/Formula/subversion.rb
  110. 1.7.9    git checkout b0e6223 /usr/local/Library/Formula/subversion.rb
  111. 1.7.8    git checkout f7a42d2 /usr/local/Library/Formula/subversion.rb
  112. 1.7.7    git checkout a6dcc41 /usr/local/Library/Formula/subversion.rb
  113. 1.7.6    git checkout 6b8d25f /usr/local/Library/Formula/subversion.rb
  114. 1.7.5    git checkout 5d5cd70 /usr/local/Library/Formula/subversion.rb
  115. 1.7.4    git checkout dc4245c /usr/local/Library/Formula/subversion.rb
  116. 1.7.3    git checkout eb97154 /usr/local/Library/Formula/subversion.rb
  117. 1.7.2    git checkout d89bf83 /usr/local/Library/Formula/subversion.rb
  118. 1.6.17   git checkout 6e2d550 /usr/local/Library/Formula/subversion.rb
  119. 1.6.16   git checkout 83ed494 /usr/local/Library/Formula/subversion.rb
  120. &lt;/pre&gt;
  121. &lt;p&gt;&lt;br /&gt;&lt;/p&gt;
  122. &lt;p&gt;get 1.6.16 version formula&lt;/p&gt;
  123. &lt;pre class=&quot;brush:shell; gutter:false&quot;&gt;$ git checkout 83ed494 /usr/local/Library/Formula/subversion.rb
  124. &lt;/pre&gt;
  125. &lt;p&gt;&lt;br /&gt;&lt;/p&gt;
  126. &lt;p&gt;install subversion&lt;/p&gt;
  127. &lt;pre class=&quot;brush:shell; gutter:false&quot;&gt;$ brew install subversion
  128. &lt;/pre&gt;
  129. &lt;p&gt;&lt;br /&gt;&lt;/p&gt;
  130. &lt;p&gt;If an error occurs like this... 만약 빌드 도중 이런 에러를 만나면..&lt;/p&gt;
  131. &lt;pre class=&quot;brush:shell; gutter:false&quot;&gt;checking whether Apache version is compatible with APR version... no
  132. configure: error: Apache version incompatible with APR version
  133. &lt;/pre&gt;
  134. &lt;p&gt;add --without-apx&amp;nbsp;configure argument. configure 옵션에&amp;nbsp;--without-apxs 를 추가해준다.&lt;/p&gt;
  135. &lt;pre class=&quot;brush:shell; gutter:false&quot;&gt;/usr/local/Library/Formula/subversion.rb 파일을 열어 configure args에 --without-apxs 옵션을 추가.
  136. &lt;/pre&gt;
  137. &lt;p&gt;https://github.com/Homebrew/homebrew-versions/issues/373&lt;br /&gt;https://github.com/Homebrew/homebrew-versions/commit/1d203e29e6219967164337a00672fc071e355cec 참조&lt;/p&gt;
  138. &lt;p&gt;&lt;br /&gt;&lt;/p&gt;
  139. &lt;p&gt;check subversion version&lt;/p&gt;
  140. &lt;pre class=&quot;brush:shell; gutter:false&quot;&gt;$ svn --version
  141. &lt;/pre&gt;
  142. &lt;p&gt;&lt;br /&gt;&lt;/p&gt;
  143. &lt;p&gt;If version is different, switch version&lt;/p&gt;
  144. &lt;pre class=&quot;brush:shell; gutter:false&quot;&gt;$ brew switch subversion 1.6.16
  145. &lt;/pre&gt;
  146. &lt;p&gt;&lt;br /&gt;&lt;/p&gt;
  147. &lt;p&gt;and re-check svn version on new terminal&lt;/p&gt;
  148. &lt;pre class=&quot;brush:shell; gutter:false&quot;&gt;$ svn --version
  149. svn, version 1.6.16 (r1073529)
  150.   compiled Jul 13 2014, 00:18:37
  151.  
  152. Copyright (C) 2000-2009 CollabNet.
  153. Subversion is open source software, see http://subversion.apache.org/
  154. This product includes software developed by CollabNet (http://www.Collab.Net/).
  155. &lt;/pre&gt;
  156. &lt;p&gt;&lt;br /&gt;&lt;/p&gt;
  157. &lt;p&gt;Completed.&lt;/p&gt;
  158. &lt;p&gt;&lt;br /&gt;&lt;/p&gt;
  159. &lt;p&gt;&lt;br /&gt;&lt;/p&gt;
  160. &lt;p&gt;&lt;br /&gt;&lt;/p&gt;
  161. &lt;p&gt;&lt;br /&gt;&lt;/p&gt;
  162. &lt;p&gt;&lt;/p&gt;
  163. &lt;p&gt;&lt;/p&gt;</description>
  164.      <category>OS/Mac</category>
  165.      <category>1.6</category>
  166.      <category>Apr</category>
  167.      <category>mac</category>
  168.      <category>Subversion</category>
  169.      <category>svn</category>
  170.      <author>deepblue.kblee</author>
  171.      <guid isPermaLink="true">http://deepblue28.tistory.com/109</guid>
  172.      <comments>http://deepblue28.tistory.com/entry/How-to-install-subversion-16x-on-Mac#entry109comment</comments>
  173.      <pubDate>Sun, 13 Jul 2014 01:14:18 +0900</pubDate>
  174.    </item>
  175.    <item>
  176.      <title>[HBase] Client 개발 참고 사항</title>
  177.      <link>http://deepblue28.tistory.com/entry/HBase-Client-%EA%B0%9C%EB%B0%9C-%EC%B0%B8%EA%B3%A0-%EC%82%AC%ED%95%AD</link>
  178.      <description>&lt;div&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: 나눔고딕; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: 10pt;&quot;&gt;&lt;b&gt;HTable&lt;/b&gt;&lt;/span&gt;&lt;div style=&quot;color: rgb(0, 0, 0); font-family: 나눔고딕; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size:12pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;- 인스턴스는 한번만 생성하고,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; text-align: -webkit-auto; background-color: transparent;&quot;&gt;프로그램이 끝날때까지 재사용하라.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;color: rgb(0, 0, 0); font-family: 나눔고딕; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size:12pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;- Thread 별로 만들어라.(HTablePool 사용 하라.)&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;orphans: 2; text-align: -webkit-auto; widows: 2;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: 나눔고딕; font-size: 10pt; line-height: normal;&quot;&gt;- HTablePool 사용 예(&lt;/span&gt;&lt;span style=&quot;background-color: transparent; line-height: normal;&quot;&gt;&lt;font color=&quot;#000000&quot; face=&quot;나눔고딕&quot; size=&quot;2&quot;&gt;HTableInterfaceFactory 인터페이스로 한번 감싸서 사용하면 편하다)&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;color: rgb(0, 0, 0); font-family: 나눔고딕; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size:12pt;&quot;&gt;
  179. &lt;span style=&quot;font-size: 10pt;&quot;&gt;
  180. &lt;pre class=&quot;brush:java&quot;&gt;public class BaseHTableInterfaceFactory implements HTableInterfaceFactory {
  181. private HTablePool hTablePool;
  182. public BaseHTableInterfaceFactory(Configuration config, int maxSize) {
  183. hTablePool = new HTablePool(config, maxSize);
  184. }
  185. @Override
  186. public HTableInterface createHTableInterface(Configuration config, byte[] tableName) {
  187. return hTablePool.getTable(tableName);
  188. }
  189.  
  190. @Override
  191. public void releaseHTableInterface(HTableInterface table) throws IOException {
  192. table.close();
  193. }
  194. }
  195. &lt;/pre&gt;&lt;/span&gt;
  196. &lt;/div&gt;&lt;div style=&quot;color: rgb(0, 0, 0); font-family: 나눔고딕; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size:12pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;- 내부적으로 병렬처리 thread를 가진다.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;color: rgb(0, 0, 0); font-family: 나눔고딕; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size:12pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;pre class=&quot;brush:java&quot;&gt;
  197.  public HTable(Configuration conf, final byte [] tableName)
  198.  throws IOException {
  199.    ...
  200.    int maxThreads = conf.getInt(&quot;hbase.htable.threads.max&quot;, Integer.MAX_VALUE);
  201.    if (maxThreads == 0) {
  202.      maxThreads = 1; // is there a better default?
  203.    }
  204.    long keepAliveTime = conf.getLong(&quot;hbase.htable.threads.keepalivetime&quot;, 60);
  205.  
  206.    // Using the &quot;direct handoff&quot; approach, new threads will only be created
  207.    // if it is necessary and will grow unbounded. This could be bad but in HCM
  208.    // we only create as many Runnables as there are region servers. It means
  209.    // it also scales when new region servers are added.
  210.    this.pool = new ThreadPoolExecutor(1, maxThreads,
  211.        keepAliveTime, TimeUnit.SECONDS,
  212.        new SynchronousQueue&lt;Runnable&gt;(),
  213.        Threads.newDaemonThreadFactory(&quot;hbase-table&quot;));
  214.    ((ThreadPoolExecutor)this.pool).allowCoreThreadTimeOut(true);
  215.  
  216.    /* 설명:
  217.     기본 생성자의 설정이다.
  218.     coreThread=1, maxThreads=Integer.MAX_VALUE 이고, SynchronousQueue를 사용한다.
  219.     따라서 region 서버 수만큼 Thread를 생성하고 keepAliveTime 동안 유지했다가 Thread를 죽인다.
  220.     뜨문 뜨문 호출되는 경우 Thread가 만들어졌다 없어졌다를 반복할 것이므로, 환경에 맞게 조정해서 사용하라.
  221.    */
  222.  ...
  223.  }
  224. &lt;/pre&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;color: rgb(0, 0, 0); font-family: 나눔고딕; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size:12pt;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;color: rgb(0, 0, 0); font-family: 나눔고딕; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size:12pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;- HTable은 HConnection을 사용해서 원격서버와 통신하고, HConnectionManager가 이 커넥션을 관리한다.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;color: rgb(0, 0, 0); font-family: 나눔고딕; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size:12pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;- HBase 내부에서는 연결들이 맵 안에 저장되는데 현재 사용중인 Configuration 인스턴스가 키가된다. 동일한 Configuration을 참조하는 HTable 인스턴스를 여러개 만들었다면, 이들 모두는 HConnection 객체를 공유한다.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;color: rgb(0, 0, 0); font-family: 나눔고딕; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size:12pt;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;color: rgb(0, 0, 0); font-family: 나눔고딕; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size:12pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;b&gt;Put&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;color: rgb(0, 0, 0); font-family: 나눔고딕; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size:12pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;- 쓰기 버퍼 크기를 늘리면, 클라이언트 뿐 아니라, 서버에서도 많은 메모리를 소비한다. 서버에서도 전송받은 데이터를 인스턴스화 하기 때문이다.(P.148)&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: 나눔고딕; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: 10pt;&quot;&gt;- 크기가 큰 셀만을 저장한다면 로컬 버퍼는 덜 유용하다. 실제 데이터 전송 시간이 대부분일 것이고, 이럴 경우는 버퍼 크기를 늘리지 않는 쪽이 권장된다. (p.148)&lt;/span&gt;&lt;div style=&quot;color: rgb(0, 0, 0); font-family: 나눔고딕; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size:12pt;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;color: rgb(0, 0, 0); font-family: 나눔고딕; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size:12pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;b&gt;batch()&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;
  225. - 일괄처리 연산은 Put처럼 쓰기버퍼를 사용하지 않는다. 동기적이며 바로 바로 처리한다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;
  226. - 각 작업에 대한 결과를 따로 보고 받을 수 있다. (Object results[])&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;
  227. - 일괄처리 명령은 NotServingRegionException(리전 이동을 알리는 예외)와 같은 일시적인 에러에는 여러 번 시도해본다. hbase.client.retries.number 속성이며 기본값은 10이다.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;b&gt;
  228. RowLock/Scanner&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;
  229. - hbase.regionserver.lease.period = 60000 (1분) 락 만료 시간 또는 스캐너 임대 만료 시간에 모두 사용됨.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;color: rgb(0, 0, 0); font-family: 나눔고딕; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size:12pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&amp;nbsp; - 이 설정은 클라이언트측 Configure에 해봤자 무용지물이다. 리전서버 hbase-site.xml에 설정되어야 한다. (p200)&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;color: rgb(0, 0, 0); font-family: 나눔고딕; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size:12pt;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;color: rgb(0, 0, 0); font-family: 나눔고딕; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size:12pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;b&gt;Scan&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;color: rgb(0, 0, 0); font-family: 나눔고딕; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size:12pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;- Scan.next() 호출 시 RPC가 일어난다.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;color: rgb(0, 0, 0); font-family: 나눔고딕; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size:12pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;- setCaching() / hbase.client.scanner.caching (default=1) 를 조정하여 한번의 RPC에서 여러개의 row를 가져오도록 할 수 있다.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;color: rgb(0, 0, 0); font-family: 나눔고딕; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size:12pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&amp;nbsp; - 데이터 큰 경우 클라이언트에 전송되는 데이터량이 많아져 수행시간이 길어지고, 메모리 문제로 이어질 수 있다. (p.200)&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;color: rgb(0, 0, 0); font-family: 나눔고딕; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size:12pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;- setBatch()를 조절하여 한번에 읽어올 컬럼개수를 정할 수 있다. setBatch(5)일 때 컬럼이 17개면 Result인스턴스를 총 4번 받게되고, 세번은 5개, 한번은 2개를 반환할 것이다.(p201) --&amp;gt; RPC 횟수를 조절할 수 있다(p.202)&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;color: rgb(0, 0, 0); font-family: 나눔고딕; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size:12pt;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;color: rgb(0, 0, 0); font-family: 나눔고딕; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size:12pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;b&gt;Filter&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;color: rgb(0, 0, 0); font-family: 나눔고딕; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size:12pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;- 필터는 클라이언트측에서 생성된 후 RPC를 통해 서버로 전송돼 실행된다. (p.210)&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;color: rgb(0, 0, 0); font-family: 나눔고딕; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size:12pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;- 사용자 정의 Filter는 jar로 묶어 리전서버 classpath에 넣어줘야 한다(hbase-env.sh). 재시작 필요 (p.244)&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;color: rgb(0, 0, 0); font-family: 나눔고딕; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size:12pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;- 필터 요약(p.246)&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;color: rgb(0, 0, 0); font-family: 나눔고딕; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size:12pt;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;color: rgb(0, 0, 0); font-family: 나눔고딕; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size:12pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;b&gt;보조처리기(Coprocessor)&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;color: rgb(0, 0, 0); font-family: 나눔고딕; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size:12pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;- preCreateTable(), postCreateTable(), preGet(), postGet() ... 등&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;color: rgb(0, 0, 0); font-family: 나눔고딕; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size:12pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;- 정적, 동적 로드 가능하나 0.92 버전 현재 동적 로드 API는 아직 없음. (p.262)&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;color: rgb(0, 0, 0); font-family: 나눔고딕; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size:12pt;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;color: rgb(0, 0, 0); font-family: 나눔고딕; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size:12pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;b&gt;HTablePool&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;color: rgb(0, 0, 0); font-family: 나눔고딕; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size:12pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;- maxSize는 HTableInterface 인스턴스 개수의 상한선의 의미하지 않는다. 5로 지정하고 getTable()을 10번 실행하면 HTable이 10개 생성된다. 이들을 반환하면 5개까지만 남고 나머지는 버려진다. 즉, Pool에 남겨둘 인스턴스의 상한선이다. (p.289)&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;color: rgb(0, 0, 0); font-family: 나눔고딕; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size:12pt;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;color: rgb(0, 0, 0); font-family: 나눔고딕; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size:12pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;b&gt;HConnectionManager (p.292)&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;color: rgb(0, 0, 0); font-family: 나눔고딕; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size:12pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;- 동일한 설정의 HTable은 모두 같은 HConnection객체를 공유한다.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;color: rgb(0, 0, 0); font-family: 나눔고딕; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size:12pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&amp;nbsp; - 이 공유는 같은 Configure객체를 사용할 때 적용된다. (p.293)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;
  230. - hbase.client.pause = 1000&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;
  231. - hbase.client.retries.number = 10&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;
  232. - hbase.client.rpc.maxattempts = 1&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;
  233. - hbase.rpc.timeout = 60000&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;
  234. - hbase.client.prefetch.limit = 10&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
  235. &lt;p&gt;참고: 소스분석 &amp;amp;&amp;nbsp;O'Reilly - HBase 완벽 가이드&lt;/p&gt;</description>
  236.      <category>Server</category>
  237.      <category>client</category>
  238.      <category>Hbase</category>
  239.      <category>개발</category>
  240.      <category>참고</category>
  241.      <author>deepblue.kblee</author>
  242.      <guid isPermaLink="true">http://deepblue28.tistory.com/108</guid>
  243.      <comments>http://deepblue28.tistory.com/entry/HBase-Client-%EA%B0%9C%EB%B0%9C-%EC%B0%B8%EA%B3%A0-%EC%82%AC%ED%95%AD#entry108comment</comments>
  244.      <pubDate>Wed, 12 Mar 2014 14:50:04 +0900</pubDate>
  245.    </item>
  246.    <item>
  247.      <title>[MySQL] 멀티 컬럼 select</title>
  248.      <link>http://deepblue28.tistory.com/entry/MySQL-%EB%A9%80%ED%8B%B0-%EC%BB%AC%EB%9F%BC-select</link>
  249.      <description>&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border: 1px dashed rgb(193, 193, 193); background-color: rgb(238, 238, 238); padding: 10px;&quot;&gt;&lt;span style=&quot;font-family: 'Courier New';&quot;&gt;CREATE&amp;nbsp;TABLE&amp;nbsp;`mytable`&amp;nbsp;(&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Courier New';&quot;&gt;&amp;nbsp;&amp;nbsp;`userid`&amp;nbsp;bigint(20)&amp;nbsp;NOT&amp;nbsp;NULL,&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Courier New';&quot;&gt;&amp;nbsp;&amp;nbsp;`groupid`&amp;nbsp;bigint(20)&amp;nbsp;NOT&amp;nbsp;NULL,&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Courier New';&quot;&gt;&amp;nbsp;&amp;nbsp;`state`&amp;nbsp;tinyint(1)&amp;nbsp;NOT&amp;nbsp;NULL,&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Courier New';&quot;&gt;&amp;nbsp;&amp;nbsp;`col1`&amp;nbsp;bigint(20)&amp;nbsp;DEFAULT&amp;nbsp;NULL,&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Courier New';&quot;&gt;&amp;nbsp;&amp;nbsp;`cal2`&amp;nbsp;varchar(200) NOT&amp;nbsp;NULL,&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Courier New';&quot;&gt;&amp;nbsp;&amp;nbsp;`cal3`&amp;nbsp;varchar(100)&amp;nbsp;NOT&amp;nbsp;NULL,&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Courier New';&quot;&gt;&amp;nbsp;&amp;nbsp;`create_time`&amp;nbsp;datetime&amp;nbsp;NOT&amp;nbsp;NULL,&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Courier New';&quot;&gt;&amp;nbsp;&amp;nbsp;`update_time`&amp;nbsp;datetime&amp;nbsp;NOT&amp;nbsp;NULL,&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Courier New';&quot;&gt;&amp;nbsp;&amp;nbsp;PRIMARY&amp;nbsp;KEY&amp;nbsp;(`userid`,`groupid`),&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Courier New';&quot;&gt;&amp;nbsp;&amp;nbsp;KEY&amp;nbsp;`idx_userid_createtime`&amp;nbsp;(`userid`,`create_time`)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Courier New';&quot;&gt;)&amp;nbsp;ENGINE=InnoDB&amp;nbsp;DEFAULT&amp;nbsp;CHARSET=utf8&lt;/span&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;(1) 컬럼 조합 IN 쿼리&lt;/p&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border: 1px dashed rgb(203, 203, 203); background-color: rgb(255, 255, 255); padding: 10px;&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-family: 'Courier New';&quot;&gt;EXPLAIN&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 9pt; line-height: 1.5;&quot;&gt;&lt;span style=&quot;font-family: 'Courier New';&quot;&gt;SELECT *&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 9pt; line-height: 1.5;&quot;&gt;&lt;span style=&quot;font-family: 'Courier New';&quot;&gt;FROM mytable&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 9pt; line-height: 1.5; font-family: 'Courier New';&quot;&gt;WHERE (userId, groupid) IN ((1526291770280964803,2679212559264916326),(1526292017760867305, 2679249801360511502),(1526421185616035771,2679342905646882845));&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;span style=&quot;font-family: 'Courier New';&quot;&gt;id|select_type|table &amp;nbsp;|type|possible_keys|key |key_len|ref |rows|Extra&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: transparent; font-size: 9pt; line-height: 1.5; font-family: 'Courier New';&quot;&gt;1 |SIMPLE &amp;nbsp; &amp;nbsp; |mytable|ALL |NULL &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |NULL|NULL &amp;nbsp; |NULL|172 |Using where&lt;/span&gt;&lt;/p&gt;&lt;p&gt;index를 타지 않는다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;(2) FROM절 subquery&lt;/p&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border: 1px dashed rgb(203, 203, 203); background-color: rgb(255, 255, 255); padding: 10px;&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-family: 'Courier New';&quot;&gt;EXPLAIN&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 9pt; line-height: 1.5;&quot;&gt;&lt;span style=&quot;font-family: 'Courier New';&quot;&gt;SELECT a.* FROM (SELECT * FROM mytable WHERE userid IN (1526291770280964803,1526292017760867305,1526421185616035771)) a&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 9pt; line-height: 1.5; font-family: 'Courier New';&quot;&gt;WHERE a.groupid IN (2679212559264916326, 2679249801360511502, 2679342905646882845);&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;span style=&quot;font-family: 'Courier New';&quot;&gt;id|select_type|table &amp;nbsp; &amp;nbsp; |type |possible_keys|key|key_len|ref|rows|Extra&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: transparent; font-size: 9pt; line-height: 1.5;&quot;&gt;&lt;span style=&quot;font-family: 'Courier New';&quot;&gt;1 |PRIMARY &amp;nbsp; &amp;nbsp;|&amp;lt;derived2&amp;gt;|ALL &amp;nbsp;|NULL|NULL|NULL|NULL|15|Using where&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: transparent; font-size: 9pt; line-height: 1.5; font-family: 'Courier New';&quot;&gt;2 |DERIVED &amp;nbsp; &amp;nbsp;|mytable &amp;nbsp; |range|PRIMARY,idx_userid_createtime|PRIMARY|8|NULL|15|Using where&lt;/span&gt;&lt;/p&gt;&lt;p&gt;userid가 index를 탄다. groupid도 인덱스를 걸어줘야 할 듯.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;(3) 각 컬럼에 대해서 IN query&lt;/p&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border: 1px dashed rgb(203, 203, 203); background-color: rgb(255, 255, 255); padding: 10px;&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt; line-height: 1.5;&quot;&gt;&lt;span style=&quot;font-family: 'Courier New';&quot;&gt;EXPLAIN&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 9pt; line-height: 1.5;&quot;&gt;&lt;span style=&quot;font-family: 'Courier New';&quot;&gt;SELECT *&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 9pt; line-height: 1.5; font-family: 'Courier New';&quot;&gt;FROM mytable WHERE userid IN (1526291770280964803,1526292017760867305,1526421185616035771) AND groupid IN (2679212559264916326, 2679249801360511502, 2679342905646882845);&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;span style=&quot;font-family: 'Courier New';&quot;&gt;id|select_type|table &amp;nbsp;|type |possible_keys|key|key_len|ref|rows|Extra&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: transparent; font-size: 9pt; line-height: 1.5; font-family: 'Courier New';&quot;&gt;1 |SIMPLE &amp;nbsp; &amp;nbsp; |mytable|range|PRIMARY,idx_userid_createtime|PRIMARY|16|NULL|9|Using where&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;결론)&lt;/b&gt; 3번이 가장 나아보임.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
  250.      <category>Server</category>
  251.      <category>Column</category>
  252.      <category>Multi</category>
  253.      <category>MYSQL</category>
  254.      <category>select</category>
  255.      <category>멀티 컬럼</category>
  256.      <category>여러 컬럼</category>
  257.      <author>deepblue.kblee</author>
  258.      <guid isPermaLink="true">http://deepblue28.tistory.com/107</guid>
  259.      <comments>http://deepblue28.tistory.com/entry/MySQL-%EB%A9%80%ED%8B%B0-%EC%BB%AC%EB%9F%BC-select#entry107comment</comments>
  260.      <pubDate>Wed, 12 Mar 2014 11:03:54 +0900</pubDate>
  261.    </item>
  262.    <item>
  263.      <title>[MySQL] 실행계획(EXPLAIN)</title>
  264.      <link>http://deepblue28.tistory.com/entry/MySQL-%EC%8B%A4%ED%96%89%EA%B3%84%ED%9A%8DEXPLAIN</link>
  265.      <description>&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div&gt;&lt;b style=&quot;color: rgb(0, 0, 0); font-family: Tahoma; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size:12pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;type (나쁜것부터&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: Tahoma; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: 10pt;&quot;&gt;좋은것 순&lt;/span&gt;&lt;b style=&quot;color: rgb(0, 0, 0); font-family: Tahoma; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size:12pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;)&lt;/span&gt;&lt;/b&gt;&lt;br style=&quot;color: rgb(0, 0, 0); font-family: Tahoma; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size:12pt;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: Tahoma; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: 10pt;&quot;&gt;- &lt;b&gt;ALL&lt;/b&gt;: full scan (extra에 &quot;Using ditict&quot;/&quot;not exists&quot; 가 있거나 LIMIT있는 쿼리는 예외)&lt;/span&gt;&lt;br style=&quot;color: rgb(0, 0, 0); font-family: Tahoma; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size:12pt;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: Tahoma; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: 10pt;&quot;&gt;- &lt;b&gt;index&lt;/b&gt;: full scan but index order. 장점:정렬할 필요 없다. 단점: 전체 테이블을 인덱스 순서로 읽어야해서 random access가 일어남(비용 큼). (extra에 &quot;Using index&quot;가 나오면 커버링 인덱스를 사용하는 것임.(인덱스의 데이터만을 스캔한다는 것임))&lt;/span&gt;&lt;br style=&quot;color: rgb(0, 0, 0); font-family: Tahoma; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size:12pt;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: Tahoma; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: 10pt;&quot;&gt;- &lt;b&gt;range&lt;/b&gt;: 제한된 형태의 index 스캔. index보다는 나은 성능을 보인다. 범위에 따라 성능차가 있다.&lt;/span&gt;&lt;br style=&quot;color: rgb(0, 0, 0); font-family: Tahoma; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size:12pt;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: Tahoma; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: 10pt;&quot;&gt;- &lt;b&gt;ref&lt;/b&gt;: 어떤 조건 하나에 매치되는 행들을 반환해주는 인덱스 접근 방식. 여러개의 행을 찾게 될 수도 있으므로 탐색과 스캔이 함계 사용된다. unique하지 않은 인덱스 검색이 걸릴때 사용된다.&lt;/span&gt;&lt;br style=&quot;color: rgb(0, 0, 0); font-family: Tahoma; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size:12pt;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: Tahoma; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: 10pt;&quot;&gt;- &lt;b&gt;eq_ref&lt;/b&gt;: MySQL이 기껏해야 값 하나만을 반환한다는 것을 알때 사용됨. 기본 키 혹은 unique 인덱스에 걸릴때 사용.&lt;/span&gt;&lt;br style=&quot;color: rgb(0, 0, 0); font-family: Tahoma; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size:12pt;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: Tahoma; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: 10pt;&quot;&gt;- &lt;b&gt;const&lt;/b&gt;, system: 쿼리의 일부를 상수로 대체해서 최적화 할 수 있는 경우.&lt;/span&gt;&lt;br style=&quot;color: rgb(0, 0, 0); font-family: Tahoma; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size:12pt;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: Tahoma; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: 10pt;&quot;&gt;- &lt;b&gt;NULL&lt;/b&gt;: 인덱스나 테이블에 접근조차 하지 않는 경우.&lt;/span&gt;&lt;br style=&quot;color: rgb(0, 0, 0); font-family: Tahoma; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size:12pt;&quot;&gt;&lt;br style=&quot;color: rgb(0, 0, 0); font-family: Tahoma; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size:12pt;&quot;&gt;&lt;b style=&quot;color: rgb(0, 0, 0); font-family: Tahoma; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size:12pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;key&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: Tahoma; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: 10pt;&quot;&gt;: MySQL이 최적화를 위해 어떤 키를 사용하기로 했는지를 나타냄.&lt;/span&gt;&lt;br style=&quot;color: rgb(0, 0, 0); font-family: Tahoma; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size:12pt;&quot;&gt;&lt;br style=&quot;color: rgb(0, 0, 0); font-family: Tahoma; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size:12pt;&quot;&gt;&lt;b style=&quot;color: rgb(0, 0, 0); font-family: Tahoma; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size:12pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;key_len&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: Tahoma; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: 10pt;&quot;&gt;: MySQL이 인덱스에 얼마나 많은 바이트를 사용하는지를 보여줌.&lt;/span&gt;&lt;br style=&quot;color: rgb(0, 0, 0); font-family: Tahoma; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size:12pt;&quot;&gt;&lt;br style=&quot;color: rgb(0, 0, 0); font-family: Tahoma; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size:12pt;&quot;&gt;&lt;b style=&quot;color: rgb(0, 0, 0); font-family: Tahoma; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size:12pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;ref&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: Tahoma; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: 10pt;&quot;&gt;: key 에 나와 있는 인덱스에서 값을 찾기 위해 선행 테이블의 어떤 컬럼(또는 상수(const))이 사용되었는지를 나타냄.&lt;/span&gt;&lt;br style=&quot;color: rgb(0, 0, 0); font-family: Tahoma; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size:12pt;&quot;&gt;&lt;br style=&quot;color: rgb(0, 0, 0); font-family: Tahoma; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size:12pt;&quot;&gt;&lt;b style=&quot;color: rgb(0, 0, 0); font-family: Tahoma; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size:12pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;rows&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: Tahoma; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: 10pt;&quot;&gt;: 원하는 행을 찾기위해 얼마나 많은 행을 읽어야 할지에 대한 예측값. 예측값은 인덱스의 선택도와 테이블 통계 정보에 의존적이므로 정확도가 상당히 떨어질 수도 있다.&lt;/span&gt;&lt;br style=&quot;color: rgb(0, 0, 0); font-family: Tahoma; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size:12pt;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: Tahoma; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MySQL이 조사해야 할 것이라고 생각하는 행 수를 의미할 뿐 결과에 있는 행 수를 의미하지 않는다. 여기서 보여지는 행 수가 그리 중요하지 않을 수도 있다. 예측한 모든 행을 읽지는 않을 것이며, 대체로도 그렇다.&lt;/span&gt;&lt;br style=&quot;color: rgb(0, 0, 0); font-family: Tahoma; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size:12pt;&quot;&gt;&lt;br style=&quot;color: rgb(0, 0, 0); font-family: Tahoma; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size:12pt;&quot;&gt;&lt;b style=&quot;color: rgb(0, 0, 0); font-family: Tahoma; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size:12pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;extra&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: Tahoma; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: 10pt;&quot;&gt;: 앞 선 컬럼에 적합하지 않은 나머지 정보를 표시. (중요하고 빈번한 몇가지만 나열)&lt;/span&gt;&lt;br style=&quot;color: rgb(0, 0, 0); font-family: Tahoma; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size:12pt;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: Tahoma; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: 10pt;&quot;&gt;- &lt;b&gt;Using index&lt;/b&gt;: 커버링 인덱스를 사용한다는 것을 알려줌.&lt;/span&gt;&lt;br style=&quot;color: rgb(0, 0, 0); font-family: Tahoma; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size:12pt;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: Tahoma; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: 10pt;&quot;&gt;- &lt;b&gt;Using where&lt;/b&gt;: MySQL서버가 스토리지 엔진에서 값을 가져온 뒤 행을 필터링한다는 것을 의미.&lt;/span&gt;&lt;br style=&quot;color: rgb(0, 0, 0); font-family: Tahoma; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size:12pt;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: Tahoma; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: 10pt;&quot;&gt;- &lt;b&gt;Using temporary&lt;/b&gt;: MySQL이 쿼리 결과를 정렬하기 위해 임시 테이블을 사용한다는 것을 의미.&lt;/span&gt;&lt;br style=&quot;color: rgb(0, 0, 0); font-family: Tahoma; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size:12pt;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: Tahoma; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: 10pt;&quot;&gt;- &lt;b&gt;Using filesort&lt;/b&gt;: 이는 MySQL이 결과의 순서를 맞추기 위해 인덱스 순서로 테이블을 읽는 것이 아니라 외부 정렬을 사용해야 한다는 것을 의미. 메모리나 디스크에서 수행될 수 있으며, EXPLAIN으로는 어떤 방식을 사용하지는, 디스크에서 하는지 메모리에서 하는지 등은 알 수 없다.&lt;/span&gt;&lt;br style=&quot;color: rgb(0, 0, 0); font-family: Tahoma; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size:12pt;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: Tahoma; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: 10pt;&quot;&gt;- &lt;b&gt;Range checked for each record(index map:N)&lt;/b&gt;: 적합한 인덱스가 없으므로 각 레코드의 조인에서 각 인덱스들을 재평가한다는 것을 의미한다. N은 possible_keys에 나타나 있는 인덱스들의 비트맵 값이다.&lt;/span&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
  266.      <category>Server</category>
  267.      <category>DESC</category>
  268.      <category>explain</category>
  269.      <category>MYSQL</category>
  270.      <category>실행계획</category>
  271.      <author>deepblue.kblee</author>
  272.      <guid isPermaLink="true">http://deepblue28.tistory.com/106</guid>
  273.      <comments>http://deepblue28.tistory.com/entry/MySQL-%EC%8B%A4%ED%96%89%EA%B3%84%ED%9A%8DEXPLAIN#entry106comment</comments>
  274.      <pubDate>Wed, 12 Mar 2014 10:39:44 +0900</pubDate>
  275.    </item>
  276.    <item>
  277.      <title>status vs state</title>
  278.      <link>http://deepblue28.tistory.com/entry/status-vs-state</link>
  279.      <description>&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;status == how are you? [good/bad]&lt;/p&gt;&lt;p&gt;state == what are you doing? [resting/working]&lt;/p&gt;</description>
  280.      <category>Etc</category>
  281.      <category>State</category>
  282.      <category>status</category>
  283.      <author>deepblue.kblee</author>
  284.      <guid isPermaLink="true">http://deepblue28.tistory.com/105</guid>
  285.      <comments>http://deepblue28.tistory.com/entry/status-vs-state#entry105comment</comments>
  286.      <pubDate>Fri, 3 Jan 2014 16:30:58 +0900</pubDate>
  287.    </item>
  288.    <item>
  289.      <title>추억의 수학함수들</title>
  290.      <link>http://deepblue28.tistory.com/entry/%EC%B6%94%EC%96%B5%EC%9D%98-%EC%88%98%ED%95%99%ED%95%A8%EC%88%98%EB%93%A4</link>
  291.      <description>&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;u&gt;로그함수(log func)&lt;/u&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;log2 8 = 3 (8이 되는 2의 지수를 구하는 함수. 항상 (1,0)을 지난다.)&lt;/p&gt;&lt;p&gt;곱하기 및 나누기의 계산을 간편하게 해내기 위해 존 네이피어가 발명한 것으로 알려져 있다.(위키피디아)&lt;/p&gt;&lt;p&gt;매우 큰 수를 다루기 위한 방법을 모색하던 중에 나온 함수. 곱셈을 덧셈으로 변환시킴으로써 천문학적 수를 계산하는 부담을 엄청나게 줄여 주었다.&lt;/p&gt;&lt;p&gt;은행에 예금한 돈이 언제 두 배가 되느냐 하는 문제를 풀어 본 기억이 있을 것이다.&lt;br /&gt;&lt;span style=&quot;background-color: transparent; font-size: 9pt; line-height: 1.5;&quot;&gt;꽤 복잡한 수식 이었다고 생각이 된다. 그러나 그 답은 아주 쉽게 얻을 수 있다.&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: transparent; font-size: 9pt; line-height: 1.5;&quot;&gt;즉 0.7이란 수를 이율로 나눠 주기만 하면 된다.&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: transparent; font-size: 9pt; line-height: 1.5;&quot;&gt;만일 연 이율이 14%라면 5년(0.7/0.14=5)이 걸리고 요즈음처럼 이자율이 내려가서 7%인 경우는 10년이 걸리는 셈이다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;background-color: transparent; font-size: 9pt; line-height: 1.5;&quot;&gt;그러면 0.7이란 수는 과연 무엇일까.&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: transparent; font-size: 9pt; line-height: 1.5;&quot;&gt;이는 2의 자연 로그인 것이다. 어떤 수의 자연로그는 그 수와 같아지는 e의 지수를 나타내므로, 2의 자연로그는 e0.7 =2에서 0.7이 된다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;상용로그의 밑은 10이다: 보통 밑(base)을 생략하고 log x 로 사용한다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;u&gt;지수함수(exponential&amp;nbsp;func)&lt;/u&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;y = a^x (a의 지수값을 구하는 함수. 항상 (0,1) (1,a)를 지나는 성질이 있고, x값은 0에 수렴한다. 0이 되지는 않는다. a&amp;gt;1 이어야 한다.)&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;u&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;미분(differential)&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;미세하게 쪼갠다는 의미이다. 곡선에서 가장 가까운 직선인 접선을 구하는 것이 미분이다. &lt;br /&gt;이 접선의 기울기가 미분계수이며&amp;nbsp;곡선의 순간 변화율을 의미한다. '접선의 기울기의 함수'라고 보면 된다.&amp;nbsp;&lt;/p&gt;&lt;p&gt;기울기를 구해야 하므로, 두 접의 델타(차이)값으로 구한다.&amp;nbsp;&lt;/p&gt;&lt;p&gt;물리에선 시간에 대해서 &quot;위치미분=속력&quot;, &quot;속력미분=가속도&quot;가 된다. 광학에서 곡선이나 곡면으로 빛을 쏘았을 때 반사되어 나가는 빛의 방향을 찾을 때 접선의 기울기를 구하면, '빛의 입사각과 반사각이 같다'는 단순한 원리로 알아낼 수 있다.(네이버캐스트 미분의 응용)&lt;/p&gt;&lt;p&gt;미분은 쪼개기, 적분은 합치기.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;u&gt;&lt;b&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;도함수(derivative)&lt;/span&gt;&lt;/b&gt;&lt;/u&gt;&lt;/p&gt;&lt;p&gt;함수 y=f(x)를 미분하여 얻은 f'(x)를 말하며, f(x)의 미분계수라고도 한다. 미분계수는 접선의 기울기이며 평균변화율의 극한값이다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;u&gt;&lt;b&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;미분방정식&lt;/span&gt;&lt;/b&gt;&lt;/u&gt;&lt;/p&gt;&lt;p&gt;미분하여 f'(x)가 되는 x의 원래 함수 f(x)를 구하는 것을 미분방정식을 푼다라고 한다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;u&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;적분(integral)&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;'적'은 누적의 뜻. 적분은 미분의 역함수.&amp;nbsp;&lt;/p&gt;&lt;p&gt;일반함수를 적분하면 면적함수가 되고, 면적함수를 미분하면 일반함수가 된다.&amp;nbsp;&lt;/p&gt;&lt;p&gt;sum의 s를 길게 늘어뜨린게 적분기호&amp;nbsp;&lt;span style=&quot;background-color: transparent; font-size: 9pt; line-height: 1.5;&quot;&gt;∫&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: transparent; font-size: 9pt; line-height: 1.5;&quot;&gt;인테그랄(integral)이다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&quot;x를 a부터 b까지 변환시키면서 f(x)에 dx를 곱한 것을 전부 합쳐라&quot;라는 의미. f(x)는 y값이고, dx는 x축의 임의의 델타값인데, 높이(y=f(x))와 밑변(dx)의 곱은 넓이(면적)이 나오게된다. 이 때 가로(밑변)길이를 1/2하여 무한히 반복하여 나누면(극한으로 보내면) 0은 아니지만 0에 가까운 값이 되는데 이것이 dx이며, 높이(y=f(x)) 곱하기 밑변(dx)을 하면 하나의 기다란 선처럼 될 것이다. 이 선들을 모두 sum하는 것이 적분이다. 즉 넓이(면적)을 구할 수 있게 된다.&amp;nbsp;&lt;/p&gt;&lt;p&gt;이것을 응용하여 이 함수 그래프를 x축을 중심으로 회전시키면 입체도형의 부피를 구할 수 있다. &amp;nbsp;높이(y=(fx)) 곱하기 밑변(dx)가 가느다란 선이므로, 이 선을 회전시킨다고 하면 이 선의 길이(=높이)는 반지름이 되게 된다. 이 반지름의 원 면적을 구해 sum하면 부피가 나오게 된다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;u&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;초월수&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;대수적 수(유리수를 계수로 가지는 다항방정식의 해가 될 수 있는 수)의 반대 개념.&lt;/p&gt;&lt;p&gt;계수가 유리수인 어떤 다항식의 해도 될 수 없는 수.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;u&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;초월수 파이(π)&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;3.141592...&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;u&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;초월수 자연로그의 밑 e&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;자연로그는 상용로그과 구분하기 위해 ln x로 사용한다.&amp;nbsp;&lt;/p&gt;&lt;p&gt;e=1+1/1!+1/2!+1/3!+…=lim(1+1/x)^x = 2.71828…&amp;nbsp;&lt;/p&gt;&lt;p&gt;e는 자연로그의 값이 1이 되는 수이다??&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
  292.      <category>Etc</category>
  293.      <author>deepblue.kblee</author>
  294.      <guid isPermaLink="true">http://deepblue28.tistory.com/104</guid>
  295.      <comments>http://deepblue28.tistory.com/entry/%EC%B6%94%EC%96%B5%EC%9D%98-%EC%88%98%ED%95%99%ED%95%A8%EC%88%98%EB%93%A4#entry104comment</comments>
  296.      <pubDate>Wed, 20 Nov 2013 00:09:17 +0900</pubDate>
  297.    </item>
  298.    <item>
  299.      <title>[NoSQL] CAP 이론</title>
  300.      <link>http://deepblue28.tistory.com/entry/NoSQL-CAP-%EC%9D%B4%EB%A1%A0</link>
  301.      <description>&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 650px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/27722A3B528434E908&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F27722A3B528434E908&quot; width=&quot;650&quot; height=&quot;488&quot; filename=&quot;nosql_cap.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 650px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/2126193B528434EA40&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F2126193B528434EA40&quot; width=&quot;650&quot; height=&quot;459&quot; filename=&quot;CAP.gif&quot; filemime=&quot;image/gif&quot; style=&quot;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
  302.      <category>Server</category>
  303.      <author>deepblue.kblee</author>
  304.      <guid isPermaLink="true">http://deepblue28.tistory.com/103</guid>
  305.      <comments>http://deepblue28.tistory.com/entry/NoSQL-CAP-%EC%9D%B4%EB%A1%A0#entry103comment</comments>
  306.      <pubDate>Thu, 14 Nov 2013 11:27:16 +0900</pubDate>
  307.    </item>
  308.    <item>
  309.      <title>흠.. 스팸댓글 때메 워드프레스로 옮길까 싶네..</title>
  310.      <link>http://deepblue28.tistory.com/entry/%ED%9D%A0-%EC%8A%A4%ED%8C%B8%EB%8C%93%EA%B8%80-%EB%95%8C%EB%A9%94-%EC%9B%8C%EB%93%9C%ED%94%84%EB%A0%88%EC%8A%A4%EB%A1%9C-%EC%98%AE%EA%B8%B8%EA%B9%8C-%EC%8B%B6%EB%84%A4</link>
  311.      <description>&lt;p&gt;이번 스킨은 깔끔하니 맘에 드는데,&lt;/p&gt;&lt;p&gt;티스토리 스팸댓글 때문에 지저분해진다..&lt;/p&gt;&lt;p&gt;로그인 사용자에게만 댓글 허용하면 괜찮을라나?&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;아래 큼지막한 광고도 작을걸로 줄이고, 공사가 한번은 필요한 듯.&lt;/p&gt;&lt;p&gt;근데 너무 귀찮다..ㅎ&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
  312.      <category>Etc</category>
  313.      <author>deepblue.kblee</author>
  314.      <guid isPermaLink="true">http://deepblue28.tistory.com/102</guid>
  315.      <comments>http://deepblue28.tistory.com/entry/%ED%9D%A0-%EC%8A%A4%ED%8C%B8%EB%8C%93%EA%B8%80-%EB%95%8C%EB%A9%94-%EC%9B%8C%EB%93%9C%ED%94%84%EB%A0%88%EC%8A%A4%EB%A1%9C-%EC%98%AE%EA%B8%B8%EA%B9%8C-%EC%8B%B6%EB%84%A4#entry102comment</comments>
  316.      <pubDate>Mon, 11 Nov 2013 01:10:24 +0900</pubDate>
  317.    </item>
  318.  </channel>
  319. </rss>
Copyright © 2002-9 Sam Ruby, Mark Pilgrim, Joseph Walton, and Phil Ringnalda