<?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:blogger='http://schemas.google.com/blogger/2008' 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-7546822</id><updated>2024-08-30T21:11:54.021+09:00</updated><title type='text'>Looks like something new</title><subtitle type='html'>Maybe It looks like something new, but sometimes not.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://ruknabid.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7546822/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://ruknabid.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/7546822/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/05986576978893134824</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>31</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7546822.post-1959279606587612040</id><published>2013-09-23T11:24:00.001+09:00</published><updated>2013-09-24T10:44:46.807+09:00</updated><title type='text'>최근 관심을 끌고 있는 Bluetooth 4.0 SMART (또는 Bluetooth Low Energy)에 관해서</title><content type='html'>&lt;br /&gt;
&amp;nbsp;iPhone 5s 출시와 iOS 7 OS 업데이트와 관련해서 iBeacon이라는 기술에 대해서 사람들이 새삼스레 주목하고 있음.&lt;br /&gt;
&lt;h4 style=&quot;color: #222222; font-family: 굴림, Gulim, AppleSDGothicNeo, AppleGothic; font-size: 14px; line-height: normal; margin: 0px; padding: 0px; text-align: left;&quot;&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 굴림, Gulim, AppleSDGothicNeo, AppleGothic; line-height: normal;&quot;&gt;&lt;a href=&quot;http://www.clien.net/cs2/bbs/board.php?bo_table=cm_iphonien&amp;amp;wr_id=1331100&quot;&gt;[기사] iOS7의 숨겨진 킬러 컨텐츠가 될 근거리무선통신 &quot;iBeacons&quot;란??&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/h4&gt;
&lt;br /&gt;
&amp;nbsp;위 링크에 따르면, iBeacon은 &lt;a href=&quot;http://en.wikipedia.org/wiki/Bluetooth_low_energy&quot;&gt;Bluetooth 4.0 LE (Low Energy)&lt;/a&gt;기반이며,&amp;nbsp;estimote 등의 회사에서 개발한 beacon을 활용하여 실내 측위나 결제에 활용 가능한 것으로 알려져 있음.&lt;br /&gt;
&amp;nbsp;참고로 Bluetooth Low Energy는 과거 Wibree라는 기술이 Bluetooth 표준에 들어가서, 2010년도에 4.0 버전에 포함되었음. 이와 유사한 기술이었던 &lt;a href=&quot;http://en.wikipedia.org/wiki/ZigBee&quot;&gt;Zigbee (IEEE 802.15.4)&lt;/a&gt;등은 여전히 비싼 칩 가격과 별도 칩으로 내장되어야 되는 불편함때문에 사실상 시장에서 사장되는 추세임.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;좀 더 정확하게 살펴보면, Bluetooth 4.0은&lt;br /&gt;
&amp;nbsp;iPhone 4s와 뉴아이패드 이후 기기에 탑재되어 있고, iOS 6부터 OS 레벨에서 지원가능한 것으로 알려져 있으며,&lt;br /&gt;
&amp;nbsp;안드로이드에선 Galaxy S3, Galaxy Nexus 이후에 나온 기기들은 대부분 지원하는 것으로 알려져 있음. &amp;nbsp;하지만 안드로이드의 경우 최근에 발표된 Android 4.3 Jelly Bean 이상의 버전에서 OS 적으로 제대로 지원하는 것으로 알려져 있음.&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;h1 style=&quot;background-color: white; font-family: Palatino, Georgia, Times, &#39;Times New Roman&#39;, serif; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-size: small; font-weight: normal;&quot;&gt;&lt;a href=&quot;http://johanneskueber.com/blog/2013/08/activate-bluetooth-4-0-for-galaxy-nexus-nexus-10-and-nexus-7-with-android-4-3/&quot;&gt;&lt;cufon alt=&quot;Activate &quot;&gt;Activate&amp;nbsp;&lt;/cufon&gt;&lt;cufon alt=&quot;Bluetooth &quot;&gt;Bluetooth&amp;nbsp;&lt;/cufon&gt;&lt;cufon alt=&quot;4.0 &quot;&gt;4.0&amp;nbsp;&lt;/cufon&gt;&lt;cufon alt=&quot;for &quot;&gt;for&amp;nbsp;&lt;/cufon&gt;&lt;cufon alt=&quot;Galaxy &quot;&gt;Galaxy&amp;nbsp;&lt;/cufon&gt;&lt;cufon alt=&quot;Nexus, &quot;&gt;Nexus,&amp;nbsp;&lt;/cufon&gt;&lt;cufon alt=&quot;Nexus &quot;&gt;Nexus&amp;nbsp;&lt;/cufon&gt;&lt;cufon alt=&quot;10, &quot;&gt;10,&amp;nbsp;&lt;/cufon&gt;&lt;cufon alt=&quot;and &quot;&gt;and&lt;/cufon&gt;&lt;cufon alt=&quot;Nexus &quot;&gt;Nexus&amp;nbsp;&lt;/cufon&gt;&lt;cufon alt=&quot;7 &quot;&gt;7&amp;nbsp;&lt;/cufon&gt;&lt;cufon alt=&quot;with &quot;&gt;with&amp;nbsp;&lt;/cufon&gt;&lt;cufon alt=&quot;Android &quot;&gt;Android&amp;nbsp;&lt;/cufon&gt;&lt;cufon alt=&quot;4.3&quot;&gt;4.3&lt;/cufon&gt;&lt;/a&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;현재 주된 응용처는 아래와 같음&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;결제 (예,&amp;nbsp;&lt;a href=&quot;http://blog.naver.com/ssan664?Redirect=Log&amp;amp;logNo=10176106436&quot;&gt;Paypal Beacon&lt;/a&gt; 등)&lt;/li&gt;
&lt;li&gt;Indoor LBS (예., &lt;a href=&quot;http://youtu.be/sUIqfjpInxY&quot;&gt;iBeacon&lt;/a&gt; 등)&lt;/li&gt;
&lt;/ul&gt;
</content><link rel='replies' type='application/atom+xml' href='http://ruknabid.blogspot.com/feeds/1959279606587612040/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7546822/1959279606587612040' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7546822/posts/default/1959279606587612040'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7546822/posts/default/1959279606587612040'/><link rel='alternate' type='text/html' href='http://ruknabid.blogspot.com/2013/09/bluetooth-40-smart-bluetooth-low-energy.html' title='최근 관심을 끌고 있는 Bluetooth 4.0 SMART (또는 Bluetooth Low Energy)에 관해서'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/05986576978893134824</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7546822.post-8725271953717233736</id><published>2013-08-13T10:53:00.005+09:00</published><updated>2013-08-13T10:53:35.336+09:00</updated><title type='text'>Setup Play Framework in Ubuntu</title><content type='html'>&lt;b&gt;Get Scala and JVM&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;background-color: white; color: #333333; font-size: 14px; line-height: 19px; text-align: justify;&quot;&gt;Scala is a JVM language and Java is not usually installed by default. We will of course have to set up Scala as well. So let&#39;s have them installed.&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span class=&quot;nv&quot; style=&quot;color: teal;&quot;&gt;$ &lt;/span&gt;sudo apt-get install default-jre&lt;br /&gt;&lt;span class=&quot;nv&quot; style=&quot;color: teal;&quot;&gt;$ &lt;/span&gt;sudo apt-get install scala&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;b&gt;Get Play Framework&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;http://www.playframework.com/download&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: white; color: #333333; font-size: 14px; line-height: 19px; text-align: justify;&quot;&gt;Extract the contents of the zip file. The default installation of Ubuntu does not include zip/unzip utilities, so you might want to install the&amp;nbsp;&lt;/span&gt;&lt;i style=&quot;background-color: white; color: #333333; font-size: 14px; text-align: justify;&quot;&gt;unzip&lt;/i&gt;&lt;span style=&quot;background-color: white; color: #333333; font-size: 14px; line-height: 19px; text-align: justify;&quot;&gt;&amp;nbsp;utility first. Also bear in mind that de-compressing the zip file will automatically create a lot of files in the directory where you have downloaded Play. Consider moving the zip file to its own directory before you extract its contents.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span class=&quot;nv&quot; style=&quot;color: teal;&quot;&gt;$ &lt;/span&gt;sudo apt-get install unzip&lt;br /&gt;&lt;span class=&quot;nv&quot; style=&quot;color: teal;&quot;&gt;$ &lt;/span&gt;wget http://download.playframework.org/releases/play-2.0.4.zip&lt;br /&gt;&lt;span class=&quot;nv&quot; style=&quot;color: teal;&quot;&gt;$ &lt;/span&gt;unzip play-2.0.4.zip&lt;/blockquote&gt;
&lt;br /&gt;
&lt;b&gt;Setup Play Framework&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;&lt;span style=&quot;background-color: white; color: #333333; font-size: 14px; font-weight: normal; line-height: 19px; text-align: justify;&quot;&gt;If you wish to&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;http://www.linuxfoundation.org/collaborate/workgroups/lsb/fhs&quot; style=&quot;-webkit-transition: color 0.3s; background-color: white; color: #009eb8; display: inline; font-family: &#39;Helvetica Neue Light&#39;, HelveticaNeue-Light, &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 14px; font-weight: normal; outline: none; text-align: justify; text-decoration: none;&quot;&gt;follow Linux&#39;s File Hierarchy Standard&lt;/a&gt;&lt;span style=&quot;background-color: white; color: #333333; font-size: 14px; font-weight: normal; line-height: 19px; text-align: justify;&quot;&gt;, then extract Play to&amp;nbsp;&lt;/span&gt;&lt;i style=&quot;background-color: white; color: #333333; font-size: 14px; font-weight: normal; text-align: justify;&quot;&gt;/opt&lt;/i&gt;&lt;span style=&quot;background-color: white; color: #333333; font-size: 14px; font-weight: normal; line-height: 19px; text-align: justify;&quot;&gt;. Create a shortcut for the&lt;/span&gt;&lt;i style=&quot;background-color: white; color: #333333; font-size: 14px; font-weight: normal; text-align: justify;&quot;&gt;play&lt;/i&gt;&lt;span style=&quot;background-color: white; color: #333333; font-size: 14px; font-weight: normal; line-height: 19px; text-align: justify;&quot;&gt;&amp;nbsp;command from /usr/local/bin/play so that it is in user&#39;s PATH. Using a regular user account, type the&lt;/span&gt;&lt;i style=&quot;background-color: white; color: #333333; font-size: 14px; font-weight: normal; text-align: justify;&quot;&gt;play&lt;/i&gt;&lt;span style=&quot;background-color: white; color: #333333; font-size: 14px; font-weight: normal; line-height: 19px; text-align: justify;&quot;&gt;&amp;nbsp;command.&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;span style=&quot;background-color: white; color: #333333; font-size: 14px; font-weight: normal; line-height: 19px; text-align: justify;&quot;&gt;&lt;pre class=&quot;line-pre&quot; style=&quot;background-color: ghostwhite; border: none !important; color: black; font-family: Consolas, &#39;Liberation Mono&#39;, Courier, monospace; font: inherit; line-height: inherit; padding: 0px !important;&quot;&gt;&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span class=&quot;nv&quot; style=&quot;color: teal;&quot;&gt;$ &lt;/span&gt;sudo mv play-2.0.4 /opt
&amp;nbsp;
&lt;span class=&quot;nv&quot; style=&quot;color: teal;&quot;&gt;$ &lt;/span&gt;sudo ln -s /opt/play-2.0.4 /opt/play
&amp;nbsp;
&lt;span class=&quot;nv&quot; style=&quot;color: teal;&quot;&gt;$ &lt;/span&gt;sudo ln -s /opt/play/play /usr/local/bin/play
&amp;nbsp;
&lt;span class=&quot;nv&quot; style=&quot;color: teal;&quot;&gt;$ &lt;/span&gt;play&lt;/blockquote&gt;
&lt;/pre&gt;
&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;br /&gt;
</content><link rel='replies' type='application/atom+xml' href='http://ruknabid.blogspot.com/feeds/8725271953717233736/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7546822/8725271953717233736' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7546822/posts/default/8725271953717233736'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7546822/posts/default/8725271953717233736'/><link rel='alternate' type='text/html' href='http://ruknabid.blogspot.com/2013/08/setup-play-framework-in-ubuntu.html' title='Setup Play Framework in Ubuntu'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/05986576978893134824</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7546822.post-4163151229965404731</id><published>2013-08-13T10:47:00.003+09:00</published><updated>2013-08-13T11:10:48.453+09:00</updated><title type='text'>Setup and connect AWS - Part I : Tips</title><content type='html'>Tip 1: If you use Bitnami images, root account is bitmani not ec2-user or ubuntu.
&lt;br /&gt;
&lt;br /&gt;
Tip 2:&amp;nbsp;http://wiki.bitnami.com/Applications/BitNami_Drupal#How_to_start.2fstop_the_servers.3f</content><link rel='replies' type='application/atom+xml' href='http://ruknabid.blogspot.com/feeds/4163151229965404731/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7546822/4163151229965404731' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7546822/posts/default/4163151229965404731'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7546822/posts/default/4163151229965404731'/><link rel='alternate' type='text/html' href='http://ruknabid.blogspot.com/2013/08/setup-and-connect-aws-part-i-tips.html' title='Setup and connect AWS - Part I : Tips'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/05986576978893134824</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7546822.post-2487452924602926009</id><published>2013-05-19T23:48:00.003+09:00</published><updated>2013-05-19T23:48:33.013+09:00</updated><title type='text'>Install Apache, PHP, APC, &amp; MySQL on Amazon EC2 with Amazon Linux AMI (Draft)</title><content type='html'>&lt;br /&gt;
Ref.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.codingsteps.com/install-apache-php-apc-mysql-on-amazon-ec2-with-amazon-linux-ami/&quot;&gt;Install Apache, PHP, APC, &amp;amp; MySQL on Amazon EC2 with Amazon Linux AMI&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://ruknabid.blogspot.com/feeds/2487452924602926009/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7546822/2487452924602926009' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7546822/posts/default/2487452924602926009'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7546822/posts/default/2487452924602926009'/><link rel='alternate' type='text/html' href='http://ruknabid.blogspot.com/2013/05/install-apache-php-apc-mysql-on-amazon.html' title='Install Apache, PHP, APC, &amp; MySQL on Amazon EC2 with Amazon Linux AMI (Draft)'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/05986576978893134824</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7546822.post-1051487653563011336</id><published>2013-05-19T23:37:00.000+09:00</published><updated>2013-05-19T23:37:05.631+09:00</updated><title type='text'>How to connect AWS vis SSH in Mac</title><content type='html'>&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Create a linux instance by AWS console&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;https://console.aws.amazon.com/ec2/v2/home?region=us-west-2&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;Check the instance and press the Actions button, then try to connect&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;It provides two options,&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;background-color: white; color: #597eaa; font-size: 13px; font-weight: bold; line-height: 18px; text-align: left;&quot;&gt;Connect with a standalone SSH Client&lt;/span&gt;&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;That&#39;s what I want to..&lt;/li&gt;
&lt;li&gt;First, move yourname.pem file to /Users/yourUserName/.ssh&lt;/li&gt;
&lt;li&gt;Second, change mod not to allow public access&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;such as, chmod 600 yourname.pem&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;Last, try to access via SSH&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;such as,&amp;nbsp;&lt;span style=&quot;background-color: #eeeeee; font-size: 13px; line-height: 18px; text-align: left; white-space: nowrap;&quot;&gt;ssh -i&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: #eeeeee; font-size: 13px; text-align: left; white-space: nowrap;&quot;&gt;yourname&lt;/span&gt;&lt;span style=&quot;background-color: #eeeeee; font-size: 13px; line-height: 18px; text-align: left; white-space: nowrap;&quot;&gt;.pem&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: #eeeeee; font-size: 13px; text-align: left; white-space: nowrap;&quot;&gt;ec2-user&lt;/span&gt;&lt;span style=&quot;background-color: #eeeeee; font-size: 13px; line-height: 18px; text-align: left; white-space: nowrap;&quot;&gt;@&lt;/span&gt;&lt;span style=&quot;background-color: #eeeeee; font-size: 13px; text-align: left; white-space: nowrap;&quot;&gt;yourawspublicaddress.com&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;&lt;span style=&quot;line-height: 22px;&quot;&gt;Remember that you should keep the first .pem file&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;&lt;span style=&quot;background-color: white; color: #597eaa; font-size: 13px; font-weight: bold; line-height: 18px; text-align: left; text-decoration: underline;&quot;&gt;Connect from your browser using the Java SSH Client (Java Required)&lt;/span&gt;&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;Java required. If you don&#39;t, download it and restart your browser&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;/ul&gt;
</content><link rel='replies' type='application/atom+xml' href='http://ruknabid.blogspot.com/feeds/1051487653563011336/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7546822/1051487653563011336' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7546822/posts/default/1051487653563011336'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7546822/posts/default/1051487653563011336'/><link rel='alternate' type='text/html' href='http://ruknabid.blogspot.com/2013/05/how-to-connect-aws-vis-ssh-in-mac.html' title='How to connect AWS vis SSH in Mac'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/05986576978893134824</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7546822.post-624489097497524828</id><published>2012-07-23T15:54:00.001+09:00</published><updated>2012-07-23T15:54:28.429+09:00</updated><title type='text'>Bitmap.compress() function has bugs about PNG file</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt; Normally in Android, a developer uses Bitmap.compress() function for saving an image file as JPEG and PNG. &lt;/p&gt; &lt;p&gt; However, if some pixels of ARGB_8888 typed bitmap are not 0 or 255, for example 137 or 230, etc., unwanted value is saved when compress by Bitmap.compress() function. &lt;/p&gt; &lt;p&gt;Currently I don’t know how to solve the problem. Moreover I have found another problem (or maybe bug?).&lt;/p&gt; &lt;p&gt; It’s that when a bitmap image constructed by OpenCV, especially bitmapToMat(), Android didn’t assume that bitmap created by PNG format. &lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://ruknabid.blogspot.com/feeds/624489097497524828/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7546822/624489097497524828' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7546822/posts/default/624489097497524828'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7546822/posts/default/624489097497524828'/><link rel='alternate' type='text/html' href='http://ruknabid.blogspot.com/2012/07/bitmapcompress-function-has-bugs-about.html' title='Bitmap.compress() function has bugs about PNG file'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/05986576978893134824</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7546822.post-2386599583265907310</id><published>2012-02-29T19:05:00.001+09:00</published><updated>2012-02-29T19:05:03.533+09:00</updated><title type='text'>OpenCV in Android</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;일단 OpenCV의 헤더파일을 JNI에서 불러오기 위해선,&amp;nbsp; Android.mk에 아래와 같이 include 경로를 지정해줘야 함. &lt;/p&gt;&lt;pre class=&quot;csharpcode&quot;&gt;LOCAL_C_INCLUDES := &amp;lt;OpenCV Install Directory&amp;gt;/include&lt;/pre&gt;&lt;br /&gt;&lt;style type=&quot;text/css&quot;&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: small;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, &quot;Courier New&quot;, courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;br /&gt;&lt;/style&gt;  </content><link rel='replies' type='application/atom+xml' href='http://ruknabid.blogspot.com/feeds/2386599583265907310/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7546822/2386599583265907310' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7546822/posts/default/2386599583265907310'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7546822/posts/default/2386599583265907310'/><link rel='alternate' type='text/html' href='http://ruknabid.blogspot.com/2012/02/opencv-in-android.html' title='OpenCV in Android'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/05986576978893134824</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7546822.post-5120576398544764705</id><published>2012-02-24T13:22:00.001+09:00</published><updated>2012-07-20T17:52:51.186+09:00</updated><title type='text'>Android Bitmap Class and OpenCV Mat Class</title><content type='html'>&lt;br /&gt;
&lt;strong&gt;&lt;span style=&quot;font-size: large;&quot;&gt;(1) Bitmap in Android&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;
안드로이드에서 Bitmap 클래스는 android.graphics.Bitmap에 있음.&lt;br /&gt;
Bitmap은 Bitmap.compressFormat에 JPEG, PNG, WEBP를 지원하며,&amp;nbsp; Bitmap.Config에서 ALPHA_8, ARGB_4444, ARGB_8888, 그리고 RGB_565 타입을 지원함.&lt;br /&gt;
ALPHA_8은 alpha 채널 하나에 데이터를 저장하고, &lt;br /&gt;
자주 쓰이는 ARGB_8888은 각각의 픽셀은 4byte=32bit에 저장됨.&amp;nbsp; 따라서 RGB 각각 8 bit, 그리고 Alpha값 8bit로 저장됨&lt;br /&gt;
그리고 RGB_565는 RGB값만을 2byte=16bit로 저장함. 이때, R은 5bit, G는 6bit, B는 5bit임. 그래서 565임&lt;br /&gt;
Bitmap에서 Raw Data는 getPixels함수를 통해 int[] 형태로 얻어낼 수 있음. 그리고 얻어낸 pixel에 대해, RGB 및 Alpha 값은 다음과 같은 간단한 코드로 가져올 수 있음.&amp;nbsp; 즉, ARGB_8888은 총 32비트 중 앞에서 순서대로 각 8비트 씩, Alpha (default는 ff), R, G, B로 저장되어 있음. &lt;br /&gt;
&lt;blockquote&gt;
&lt;pre class=&quot;csharpcode&quot;&gt; &lt;span class=&quot;rem&quot;&gt;// Get R, G, B from pixels&lt;/span&gt;
 &lt;span class=&quot;kwrd&quot;&gt;int&lt;/span&gt; R= (pixels[i] &amp;gt;&amp;gt; 16) &amp;amp; 0xff;
 &lt;span class=&quot;kwrd&quot;&gt;int&lt;/span&gt; G= (pixels[i] &amp;gt;&amp;gt; 8) &amp;amp; 0xff;
 &lt;span class=&quot;kwrd&quot;&gt;int&lt;/span&gt; B= pixels[i] &amp;amp; 0xff;

 &lt;span class=&quot;rem&quot;&gt;// Get pixel value from R, G, B (assumes Alpha is ff)&lt;/span&gt;
 &lt;span class=&quot;kwrd&quot;&gt;int&lt;/span&gt; newPixels[]=ff*0x1000000 + R*0x10000 + G*0xff + B;&lt;/pre&gt;
&lt;br /&gt;
&lt;style type=&quot;text/css&quot;&gt;
.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt; font-size: small;&lt;br /&gt; color: black;&lt;br /&gt; font-family: consolas, &quot;Courier New&quot;, courier, monospace;&lt;br /&gt; background-color: #ffffff;&lt;br /&gt; /*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt; background-color: #f4f4f4;&lt;br /&gt; width: 100%;&lt;br /&gt; margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;br /&gt;
&lt;/style&gt;&lt;/blockquote&gt;
&lt;br /&gt;
참고로 Android에서 int형 및 float형은 32비트이며, char은 16비트 unicode, byte는 8비트임&lt;br /&gt;
&lt;br /&gt;
그리고 위와 같이 복잡하게 할 것 없이, Android는 android.graphics.Color 클래스에서 color 값에서 R, G, B를 구하거나, R, G, B에서 color 값을 구하는 함수를 제공하고 있으며, HSV와 RGB간의 변환을 제공함&lt;br /&gt;
&lt;br /&gt;
RGBm YUV, HSV에 대해선 &lt;a href=&quot;http://cafe.naver.com/camuser.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=234&amp;amp;&quot;&gt;카페 링크&lt;/a&gt;와 &lt;a href=&quot;http://blog.ggaman.com/965&quot;&gt;블로그&lt;/a&gt; 참조&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;&lt;span style=&quot;font-size: large;&quot;&gt;(2) Mat in OpenCV for Android&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
Computer Vision에서 널리 쓰이는 OpenCV도 Android로 포팅되어 있기에, Computer Vision 관련 알고리즘이 필요할 때 유용하게 사용할 수 있음. &lt;br /&gt;
&lt;br /&gt;
OpenCV에선 IPL Image 클래스 뿐만 아니라 Mat 클래스도 이미지 정보를 담기 위해 많이 사용됨.&amp;nbsp; 참고로, IplImage는 OpenCV 초창기부터 사용되었던 구조체로, alloc, dealloc을 수동으로 해줘야 되는 불편함이 있기에, C++ 버젼부터 Mat 클래스를 제공함.&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;OpenCV for Android의 Mat 클래스는 Android의 ARGB_8888에 대응하여 CV_8UC4를 많이 사용함.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;이때 8bit로 4개의 channel을 표현하므로, 이를 Java Array로 담을때는 byte[] 형을 사용해야 함.&lt;br /&gt;
&amp;nbsp;그리고 각 채널은 순서대로 R, G, B, Alpha 정보를 담고 있음.&lt;br /&gt;
&amp;nbsp;즉, Alpha 정보가 저장된 순서가 맨앞 (Android Bitmap)이냐? 뒤 (OpenCV for Android의 Mat) 냐? 라는 차이가 있음.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://ruknabid.blogspot.com/feeds/5120576398544764705/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7546822/5120576398544764705' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7546822/posts/default/5120576398544764705'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7546822/posts/default/5120576398544764705'/><link rel='alternate' type='text/html' href='http://ruknabid.blogspot.com/2012/02/android-bitmap-class-and-opencv-mat.html' title='Android Bitmap Class and OpenCV Mat Class'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/05986576978893134824</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7546822.post-4487009811586639059</id><published>2012-02-10T17:06:00.001+09:00</published><updated>2012-02-10T17:06:09.341+09:00</updated><title type='text'>Learning Android Programming (1) – Dynamic Layout</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt; 안드로이드에서 프로그램을 통해 동적으로 Layout이 변경하기 위해서는, addView() 함수를 사용하게 됨.&lt;/p&gt; &lt;p&gt; 이러한 경우 setContentView (R.layout.main) 함수는 addView() 함수 전에 실행되어야 하며, 이후에 실행되면 Error가 발생함. &lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://ruknabid.blogspot.com/feeds/4487009811586639059/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7546822/4487009811586639059' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7546822/posts/default/4487009811586639059'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7546822/posts/default/4487009811586639059'/><link rel='alternate' type='text/html' href='http://ruknabid.blogspot.com/2012/02/learning-android-programming-1-dynamic.html' title='Learning Android Programming (1) – Dynamic Layout'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/05986576978893134824</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7546822.post-8502123914531323108</id><published>2012-01-02T16:18:00.001+09:00</published><updated>2012-01-02T16:18:57.107+09:00</updated><title type='text'>Learning Souce Code Control System - Git</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt; 일단, SVN 대비 Git는 장점이 많음. 특히 Branch의 Merge에 있어서, SVN은 Git에 상대도 되지 않음. (예, &lt;a href=&quot;http://kldp.org/node/120693&quot;&gt;KLDP에 올라온 경험담&lt;/a&gt;). 이건 SVN과 Git가 컨셉이 좀 다르기 때문인듯함. &lt;/p&gt; &lt;p&gt; 따라서, Git에 대해서 좀 더 자세히 공부하기로 함. &lt;/p&gt; &lt;p&gt; (To be continued..)&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://ruknabid.blogspot.com/feeds/8502123914531323108/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7546822/8502123914531323108' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7546822/posts/default/8502123914531323108'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7546822/posts/default/8502123914531323108'/><link rel='alternate' type='text/html' href='http://ruknabid.blogspot.com/2012/01/learning-souce-code-control-system-git.html' title='Learning Souce Code Control System - Git'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/05986576978893134824</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7546822.post-2183047382437983928</id><published>2012-01-02T13:43:00.001+09:00</published><updated>2012-01-02T13:43:38.166+09:00</updated><title type='text'>Learning Issue Tracking System - Overview</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;font size=&quot;3&quot;&gt;&amp;nbsp;&lt;u&gt;이슈란 무엇인가? &lt;/u&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp; &lt;strong&gt;이슈(Issue, 혹은 Problem)&lt;/strong&gt;은 프로젝트 진행에 차질을 가져올 수 있는 “발생된(Realized)” 위험으로 정의된다.&lt;br&gt;물론 미리 예상해 두지 못했던 문제점(Issue)도 있을 수 있다.&lt;br&gt;이슈는 하고 싶은 것이 될 수도 있고, 요청하는 것일 수도 있고, 삭제해야 할 것, 기본에 잘못된 부분에 대한 알림 등 다양한 주제가 될 수 있다. &lt;p&gt;&amp;nbsp;&lt;strong&gt;&lt;font size=&quot;3&quot;&gt;&lt;u&gt;이슈관리 시스템이란 무엇인가?&lt;/u&gt; &lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp; 이슈 관리 시스템은 버그, 요구사항, 작업내용 등이 있을 때 해당 시스템에 게시물 형태로 올리고 개발자, 테스터들이 작업 진행상황을 기록하는 시스템을 말합니다.  &lt;p&gt;&amp;nbsp; 일반적으로 인터넷상의 게시판과 비슷한 형태이며, 해당 이슈(버그,요구하상, 작업 내용 등)에 대한 제목에, 이슈형태, 담당자, 프로그램 버전, 우선순위 등의 속성을 지정하고 내용을 올립니다. &lt;br&gt;&amp;nbsp; 이슈에 대한 작업이 진행되면 작업 결과를 답글 형식으로 올립니다. 하나의 이슈에 대한 작업이 끝나면 이슈를 닫습니다(Close). 이미 해결한 이슈지만 문제가 생겼을 경우 다시 열수 있습니다( Reopen). 또는 보류(Pending)할 수도 있습니다. &lt;p&gt;&amp;nbsp;&lt;strong&gt;&lt;font size=&quot;3&quot;&gt;&lt;u&gt;대표적인 이슈 관리 시스템&lt;/u&gt; &lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;font size=&quot;3&quot;&gt;&amp;nbsp; &lt;/font&gt;&lt;/strong&gt;이슈관리시스템은 대부분 버그관리시스템(Bug Tracking System, BTS)에서 출발하였으나, 단순히 버그 뿐 아니라, 다양한 이슈를 관리할 수 있도록 의미가 확장되고 되었다.&amp;nbsp; 이슈관리시스템 혹은 버그관리시스템으로는, &lt;strong&gt;&lt;u&gt;Bugzilla, Trac, Mantis(이상, Open Source),&amp;nbsp; Jira (상용)등&lt;/u&gt;&lt;/strong&gt;이 있다.&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://ruknabid.blogspot.com/feeds/2183047382437983928/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7546822/2183047382437983928' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7546822/posts/default/2183047382437983928'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7546822/posts/default/2183047382437983928'/><link rel='alternate' type='text/html' href='http://ruknabid.blogspot.com/2012/01/learning-issue-tracking-system-overview.html' title='Learning Issue Tracking System - Overview'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/05986576978893134824</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7546822.post-7878461007090255025</id><published>2012-01-02T13:36:00.001+09:00</published><updated>2012-01-02T13:36:17.099+09:00</updated><title type='text'>Learning Souce Code Control System (1) - Overview</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;현재 나와 있는 소프트웨어 버전 관리 시스템의 종류 &lt;ul&gt; &lt;li&gt;CVS (Concurrent Version System) : 가장 널리 사용되며 역사가 깊은 버전 관리 시스템입니다. &lt;a href=&quot;http://www.cvshome.org/&quot;&gt;http://www.cvshome.org&lt;/a&gt; &lt;li&gt;Subversion : CVS의 단점을 개선하고 CVS를 대체할 목적으로 개발 되었습니다. 이 문서에서 설명할 버전 관리 시스템입니다. &lt;a href=&quot;http://subversion.tigris.org/&quot;&gt;http://subversion.tigris.org&lt;/a&gt; &lt;li&gt;Visual Sourcesafe : Microsoft에서 만든 버전 관리 시스템입니다. CVS와는 버전 관리 관점에서 조금의 차이점이 있습니다. 윈도우 기반 소프트웨어의 버전 관리를 할 때 자주 사용됩니다.&lt;a href=&quot;http://msdn.microsoft.com/ssafe/&quot;&gt;http://msdn.microsoft.com/ssafe/&lt;/a&gt; &lt;li&gt;Clear Case : Rational이라는 회사에서 만든 버전 관리 시스템입니다. 지금은 IBM에 합병되었습니다. 상용 소프트웨어입니다. &lt;a href=&quot;http://www-306.ibm.com/software/rational&quot;&gt;http://www-306.ibm.com/software/rational&lt;/a&gt; &lt;li&gt;BitKeeper : 리눅스 커널이 BitKeeper를 이용해서 개발 하고 있습니다. 상용 소프트웨어입니다. &lt;a href=&quot;http://www.bitkeeper.com/&quot;&gt;http://www.bitkeeper.com&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;blockquote&gt; &lt;p align=&quot;right&quot;&gt;&lt;em&gt;- From &lt;strong&gt;Subversion 사용 HOWTO(&lt;a href=&quot;http://www.pyrasis.com/main/Subversion-HOWTO&quot;&gt;http://www.pyrasis.com/main/Subversion-HOWTO&lt;/a&gt;)&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt; 여기에 덧붙여서, 요즘의 대세는 Git라는 분산기반 버전관리 시스템이 인기를 끌고 있음. &lt;/p&gt; &lt;ul&gt; &lt;li&gt;&amp;nbsp;&amp;nbsp; Git : 분산기반 버젼 관리 시스템으로, GitHub라는 저장소를 무료 제공.&amp;nbsp; Git 사이트:&amp;nbsp; &lt;a href=&quot;http://www.git-scm.com/documentation&quot;&gt;http://www.git-scm.com/documentation&lt;/a&gt;&amp;nbsp;&amp;nbsp; GitHub 사이트 &lt;a href=&quot;https://github.com/&quot;&gt;https://github.com/&lt;/a&gt;&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;  </content><link rel='replies' type='application/atom+xml' href='http://ruknabid.blogspot.com/feeds/7878461007090255025/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7546822/7878461007090255025' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7546822/posts/default/7878461007090255025'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7546822/posts/default/7878461007090255025'/><link rel='alternate' type='text/html' href='http://ruknabid.blogspot.com/2012/01/learning-souce-code-control-system-1.html' title='Learning Souce Code Control System (1) - Overview'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/05986576978893134824</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7546822.post-2825531350220920792</id><published>2012-01-02T13:29:00.001+09:00</published><updated>2012-01-02T13:29:40.176+09:00</updated><title type='text'>Web based collaborative project management tools (2) - Trello</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp; 예전에 LightHouse라는 Web 기반의 프로젝트 매니지먼트 사이트를 소개한 적이 있었는데 (&lt;a href=&quot;http://ruknabid.blogspot.com/2009/06/web-based-collaborative-project.html&quot;&gt;링크 참조&lt;/a&gt;),&amp;nbsp; 이번에는 다른 분의 소개로 Trello라는 비슷한 류의 프로그램을 소개하고자 합니다. &lt;/p&gt; &lt;p&gt;&amp;nbsp; &lt;a href=&quot;https://trello.com/&quot;&gt;Trello 사이트 바로 가기&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp; 장점은, 복잡한 일정관리 기반이&amp;nbsp; 아닌 사람과, Task 단위로 직관적으로 관리할 수 있다는 점, 그리고 요새 대세에 걸맞게 Mobile Web 버전을 지원하고, 댓글 등 협업 시스템으로 갖춰야 될 기능들을 쉽고, 직관적으로 지원해준다는 점임.&lt;/p&gt; &lt;p&gt;&amp;nbsp; 단점은, 심플한 대신 복잡하고 거대한 프로젝트 관리에는 좀 맞지 않는다는 점? 카테고리 분류 등이 안 된다는 점등이 단점임. &lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://ruknabid.blogspot.com/feeds/2825531350220920792/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7546822/2825531350220920792' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7546822/posts/default/2825531350220920792'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7546822/posts/default/2825531350220920792'/><link rel='alternate' type='text/html' href='http://ruknabid.blogspot.com/2012/01/web-based-collaborative-project.html' title='Web based collaborative project management tools (2) - Trello'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/05986576978893134824</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7546822.post-8649204958407534799</id><published>2011-10-04T15:12:00.001+09:00</published><updated>2011-10-05T18:11:55.094+09:00</updated><title type='text'>Buliding Media Streaming Service (1)</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;1. To use regacy DLLs for new web services, you have to use Microsoft WebSerivces. Belows are sample links for using DLL for webservices.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp; &lt;a href=&quot;http://ndolson.com/243&quot;&gt;http://ndolson.com/243&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp; &lt;a href=&quot;http://blog.naver.com/PostView.nhn?blogId=eve99eve&amp;amp;logNo=130076023441&quot;&gt;http://blog.naver.com/PostView.nhn?blogId=eve99eve&amp;amp;logNo=130076023441&lt;/a&gt;&lt;/p&gt; &lt;p&gt;2. To provide video streaming service via Web, normally a server is deployed by Windows Media Server because of simplicity of deployment and setting. A sample is as below. &lt;/p&gt; &lt;p&gt;&amp;nbsp; &lt;a href=&quot;http://blueamor.tistory.com/712&quot;&gt;http://blueamor.tistory.com/712&lt;/a&gt;&lt;/p&gt; &lt;p&gt;3. Building web interface and web player&lt;/p&gt; &lt;p&gt;&amp;nbsp; - if users use a HTML5 supported browser, it’s simple. Just use &amp;lt;video&amp;gt; tag with mpeg4 or webM. However, most of web browsers what user used are IE6 and IE7. So a flash video solution is only option to provide direct web streaming services. Most of them are commercial solutions, but Jaris FLV Player is a opensource and its licence is GPL. &lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;a href=&quot;http://sourceforge.net/projects/jaris/&quot;&gt;http://sourceforge.net/projects/jaris/&lt;/a&gt; or &lt;a href=&quot;http://jarisflvplayer.org/&quot;&gt;http://jarisflvplayer.org/&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp; - Simple way to implementation using PHP and Flex&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;a href=&quot;http://www.hanb.co.kr/network/view.html?bi_id=1401&quot;&gt;http://www.hanb.co.kr/network/view.html?bi_id=1401&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;a href=&quot;http://onlamp.com/pub/a/php/2007/05/24/creating-mytube-with-flex-and-php.html&quot;&gt;http://onlamp.com/pub/a/php/2007/05/24/creating-mytube-with-flex-and-php.html&lt;/a&gt; : It’s same, but original link (English)&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://ruknabid.blogspot.com/feeds/8649204958407534799/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7546822/8649204958407534799' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7546822/posts/default/8649204958407534799'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7546822/posts/default/8649204958407534799'/><link rel='alternate' type='text/html' href='http://ruknabid.blogspot.com/2011/10/buliding-media-streaming-server-1.html' title='Buliding Media Streaming Service (1)'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/05986576978893134824</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7546822.post-2555802462159989012</id><published>2011-10-04T14:59:00.001+09:00</published><updated>2011-10-05T16:51:17.000+09:00</updated><title type='text'>OpenCV Development &amp;amp; Testing (1)</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;&lt;strong&gt;1.&amp;nbsp; Installing the Open CV&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp;&amp;nbsp; - &lt;a href=&quot;http://opencv.willowgarage.com/wiki/&quot;&gt;http://opencv.willowgarage.com/wiki/&lt;/a&gt;&amp;nbsp; : Open CV Homepage contained the S/W and documents.&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : I downloaded the Open CV 2.3.1 Windows Installation Version&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;&lt;strong&gt;2. Setting configurations on Visual Studio 2010&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp;&amp;nbsp; - Put below include directories on Project –&amp;gt; &amp;lt;ProjectName&amp;gt;Properties-&amp;gt;VC++ Directories-&amp;gt;Include Directories&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : C:\Program Files\opencv\build\include\opencv, C:\Program Files\opencv\build\include\opencv2, C:\Program Files\opencv\build\include\&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp;&amp;nbsp; - Put library directories on Project –&amp;gt; &amp;lt;ProjectName&amp;gt;Properties-&amp;gt;VC++ Directories-&amp;gt;Library Directories&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : C:\Program Files\opencv\build\x86\vc10\lib&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp; - Add Open CV libraries on Project –&amp;gt; &amp;lt;ProjectName&amp;gt;Properties-&amp;gt;Linker-&amp;gt;Input&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : &lt;/font&gt;opencv_core231d.lib; opencv_contrib231d.lib;&amp;nbsp; opencv_calib3d231d.lib; opencv_features2d231d.lib; opencv_flann231d.lib; opencv_gpu231d.lib; opencv_haartraining_engined.lib; opencv_highgui231d.lib; opencv_imgproc231d.lib; opencv_legacy231d.lib; opencv_ml231d.lib; opencv_objdetect231d.lib; opencv_ts231d.lib; opencv_video231d.lib;&lt;font size=&quot;2&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp; - Add the directory of the included Open CV DLLs into %path% on Start-&amp;gt;My Computer-&amp;gt;Properties-&amp;gt;System Environments&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : C:\Program Files\opencv\build\x86\vc10\bin&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; --&amp;gt; it was important because if not, you have to copy &amp;amp; paste all DLLs into project directory&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;&lt;strong&gt;3. Download TBB dlls &lt;/strong&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;&lt;/font&gt;&amp;nbsp;&amp;nbsp; -&amp;nbsp;&amp;nbsp; A pre-compiled Open CV 2.3 only includes tbb.dll not tbb_debug.dll. Therefore, download it from the below link and put all of dlls and libs to the open cv bin folder. &lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : &lt;a href=&quot;http://threadingbuildingblocks.org/file.php?fid=77&quot;&gt;http://threadingbuildingblocks.org/file.php?fid=77&lt;/a&gt; : Intel TBB download site.&amp;nbsp;&amp;nbsp; &lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;&lt;strong&gt;PS. ‘CvvImage’ class isn’t defined over Open CV 2.2 versions&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp; - Because its member functions, Load() and CopyOf() have some bugs. &lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; : If you want to use it, &lt;/font&gt;&lt;font size=&quot;2&quot;&gt;you have to use under 2.1 versions. Moreover, you have to fix bugs used the below link.&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a title=&quot;http://goo.gl/YCM43&quot; href=&quot;http://goo.gl/YCM43&quot;&gt;http://goo.gl/YCM43&lt;/a&gt;&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://ruknabid.blogspot.com/feeds/2555802462159989012/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7546822/2555802462159989012' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7546822/posts/default/2555802462159989012'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7546822/posts/default/2555802462159989012'/><link rel='alternate' type='text/html' href='http://ruknabid.blogspot.com/2011/10/opencv-development-testing-1.html' title='OpenCV Development &amp;amp; Testing (1)'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/05986576978893134824</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7546822.post-1748254173612739867</id><published>2011-02-14T16:39:00.001+09:00</published><updated>2011-02-14T16:39:48.026+09:00</updated><title type='text'>&amp;quot;Always On” Connection on WCDMA (From R9 to HSPA+)</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt; Application단에서 Push Service를 구현해서 실행하게 되면, 단말의 PHY/MAC Layer단과 기지국과의 Comm.은 WCDMA Protocol을 통해 전송됨.&lt;/p&gt; &lt;p&gt; 기본적으로 WCDMA는 최초 Spec. 작업 때부터 Alway-on 모드를 지원하도록 기획되었으나, 이건 어디까지나 권고사항일뿐 강제사항이 아니라서, WCDMA 기지국 제조업체 별로 실제 동작은 매우 다름&lt;/p&gt; &lt;p&gt; WCDMA에서 TCP를 포함한 Data Packet 전송을 위해서, 다음의 3개의 채널을 이용하게 됨.&lt;/p&gt; &lt;p&gt; 1. PCH (Paging Ch.)&lt;/p&gt; &lt;p&gt; 2. FACH (Forward Access Ch.)&lt;/p&gt; &lt;p&gt; 3. DCH (Dedicated Ch.)&lt;/p&gt; &lt;p&gt; 1번을 사용할수록 데이터 전송율을 낮지만, 단말의 베터리 소모가 줄어드는 장점이 있음. 그러나 일반적인 패킷들은 주로 DCH를 통해 전송되게 되므로 베터리 소모가 많음. 또한 Polling이나 KeepAlive 패킷으로 인해 Uplink Traffic이 증가되면, Noise에 민감한 CDMA 특성상 Cell내의 전체 트래픽 용량도 줄어드는 문제점이 생김.&lt;/p&gt; &lt;p&gt; 이와 관련된 자세한 내용은 아래 논문을 참조.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;a href=&quot;http://www.pasieronen.com/publications/haverinen_siren_eronen_vtc2007.pdf&quot;&gt;&lt;em&gt;Energy Consumption of Always-On Applications in WCDMA Networks&lt;/em&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt; 이를 해결하기 위해, HSPA+에서는 CPC (Contineous Packet Connectivity) 모드가 추가됨.&lt;/p&gt; &lt;p&gt; 자세한 내용은 아래 PDF 문서를 참고함.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;a href=&quot;http://www.3g4g.co.uk/Hspa/HSPAE_Pres_0811_Andreas.pdf&quot;&gt;http://www.3g4g.co.uk/Hspa/HSPAE_Pres_0811_Andreas.pdf&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt; 하지만, HSPA+망 구축은 이제 시작하는 단계이므로, 여전히 HSDPA/HSUPA 망에서는 Always-on Connection에 의해 망의 부하가 여전함. &lt;/p&gt; &lt;p&gt; (참고로 Gallaxy S도 HSUPA까지 지원 (MSM 6290), 단 Gallaxy S2는 HSPA+ 지원한다는 루머가 있음)&lt;/p&gt; &lt;p&gt; 특히 Push Server에서 Fail이 발생할 경우, iOS의 APNS에서는 Noti를 주지 않으면 그뿐이지만, Android에서는 그런 게 없으므로, 단말에서 계속 Connection Try를 수행하므로 망에 심각한 부하를 줄 수 있음. &lt;/p&gt; &lt;p&gt; 이에 대한 해결책은 아직 뾰족한 방안이 없는 것으로 앎. &lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://ruknabid.blogspot.com/feeds/1748254173612739867/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7546822/1748254173612739867' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7546822/posts/default/1748254173612739867'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7546822/posts/default/1748254173612739867'/><link rel='alternate' type='text/html' href='http://ruknabid.blogspot.com/2011/02/on-connection-on-wcdma-from-r9-to-hspa.html' title='&amp;quot;Always On” Connection on WCDMA (From R9 to HSPA+)'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/05986576978893134824</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7546822.post-4475270130474547146</id><published>2011-02-11T16:05:00.001+09:00</published><updated>2011-02-14T16:42:55.100+09:00</updated><title type='text'>Push Notification on iOS &amp;amp; Android</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp; Apple은 Push Notification을 Apple 내부에 별도의 APNS (Apple Push Notification Service) 서버를 이용하는 방식으로 Push App. 개발을 지원함.&lt;/p&gt; &lt;p&gt;&amp;nbsp; 이를 이용한 개발방법은 아래 블로그를 참조&lt;/p&gt; &lt;h4&gt;&amp;nbsp; &lt;a href=&quot;http://artyst.egloos.com/2652130&quot; name=&quot;2652130&quot;&gt;애플 아이폰 푸시알림 서비스 (APNS, Apple Push Notification Service)&lt;/a&gt;&lt;/h4&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp; Android는 2.2 (Proyo) 버전부터는 APNS와 유사한 C2DM (Android Cloud to Device Messaging Framework) 서버를 제공함.&lt;/p&gt; &lt;p&gt;이에 대한 자세한 내용은 아래 링크를 참조&lt;/p&gt; &lt;h3&gt;&amp;nbsp; &lt;a href=&quot;http://code.google.com/android/c2dm/&quot;&gt;Google Projects for Android: C2DM&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;&amp;nbsp; 하지만, Android 2.1 이하 버전에는 Push Server가 존재하지 않는데, 아래 통계에서 보듯이 2.2 이하 버전의 점유율이 여전히 42%에 육박함.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href=&quot;http://developer.android.com/resources/dashboard/platform-versions.html&quot;&gt;[Current Distribution of Android Platform Versions]&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;img src=&quot;http://chart.apis.google.com/chart?&amp;amp;cht=p&amp;amp;chs=460x250&amp;amp;chd=t:3.9,6.3,31.4,57.6,0.8&amp;amp;chl=Android%201.5|Android%201.6|Android%202.1|Android%202.2|Android%202.3&amp;amp;chco=c4df9b,6fad0c&quot;&gt;&lt;/p&gt; &lt;p&gt;&lt;em&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Data collected during two weeks ending on February 2, 2011&lt;/em&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp; 따라서, 2.1이하의 하위 버전에서의 Push Service 구현에 대한 고려가 필요하며, 이를 위한 방안은 아래 링크를 참조함.&lt;/p&gt; &lt;p&gt;&amp;nbsp; &lt;a href=&quot;http://tokudu.com/2010/how-to-implement-push-notifications-for-android/&quot;&gt;&lt;strong&gt;How to Implement Push Notifications for Android&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp; 이를 간략히 요약하면, Polling, SMS Notification, Persistent TCP/IP 방식이 있으며,&lt;/p&gt; &lt;p&gt;&amp;nbsp; 1. Polling은 real-time도 아니고 resource가 많이 필요하다는 문제점이 있고, &lt;/p&gt; &lt;p&gt;&amp;nbsp; 2. SMS Notification은 SMS 발송 비용 문제가 크며, &lt;/p&gt; &lt;p&gt;&amp;nbsp; 3. Persistent TCP/IP는 그나마 나으나, 제대로 구현하기 어렵다는 문제가 있음&lt;/p&gt; &lt;p&gt;&amp;nbsp; 그래서, 위 블로그에서 추천하는 방법은 3번을 제대로 구현한 MQTT를 이용하는 방식임.&lt;/p&gt; &lt;p&gt;&amp;nbsp; MQTT에 관련된 내용은 아래 링크 참조&lt;/p&gt; &lt;h3&gt;&amp;nbsp; &lt;a href=&quot;http://www-01.ibm.com/support/docview.wss?rs=171&amp;amp;uid=swg24006006&quot;&gt;IA92: WBI Brokers - Java implementation of WebSphere MQ Telemetry transport&lt;/a&gt;&lt;/h3&gt;  </content><link rel='replies' type='application/atom+xml' href='http://ruknabid.blogspot.com/feeds/4475270130474547146/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7546822/4475270130474547146' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7546822/posts/default/4475270130474547146'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7546822/posts/default/4475270130474547146'/><link rel='alternate' type='text/html' href='http://ruknabid.blogspot.com/2011/02/push-notification-on-mobile.html' title='Push Notification on iOS &amp;amp; Android'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/05986576978893134824</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7546822.post-1291789033666027338</id><published>2011-01-17T16:46:00.003+09:00</published><updated>2011-01-17T16:46:58.518+09:00</updated><title type='text'>오래간만에 짜본 VBA 스크립트 (2) - 엑셀 셀 색깔 칠하기</title><content type='html'>&lt;div style=&quot;line-height: 1.5; font-size: 9pt; font-family: 굴림; background-color: transparent; margin-top: 1px; margin-right: 3px; margin-bottom: 0px; margin-left: 3px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(51, 51, 51); overflow-x: hidden; overflow-y: hidden; &quot;&gt;&lt;br /&gt;셀 내의 숫자의 크기에 따라서 상대적인 색깔 찰하기&lt;br /&gt;&lt;br /&gt;Sub cellPaint()&lt;br /&gt;    Dim max As Integer&lt;br /&gt;    Dim rows As Integer&lt;br /&gt;    Dim cols As Integer&lt;br /&gt;    Dim colors As Integer&lt;br /&gt;   &lt;br /&gt;    rows = 31&lt;br /&gt;    cols = 12&lt;br /&gt;    max = 0&lt;br /&gt;   &lt;br /&gt;    For i = 4 To rows&lt;br /&gt;        For j = 6 To cols&lt;br /&gt;            If max &lt; Cells(i, j) Then&lt;br /&gt;                max = Cells(i, j)&lt;br /&gt;            End If&lt;br /&gt;        Next j&lt;br /&gt;    Next i&lt;br /&gt;   &lt;br /&gt;    For i = 4 To rows&lt;br /&gt;        For j = 6 To cols&lt;br /&gt;            Select Case Int(Cells(i, j) / (max / 6))&lt;br /&gt;                Case 0&lt;br /&gt;                    If Cells(i, j) &gt; 0 Then&lt;br /&gt;                        colors = 19&lt;br /&gt;                    Else&lt;br /&gt;                        colors = 2&lt;br /&gt;                    End If&lt;br /&gt;                Case 1&lt;br /&gt;                    colors = 15&lt;br /&gt;                Case 2&lt;br /&gt;                    colors = 48&lt;br /&gt;                Case 3&lt;br /&gt;                    colors = 16&lt;br /&gt;                Case 4&lt;br /&gt;                    colors = 56&lt;br /&gt;                Case Is &gt; 4&lt;br /&gt;                    colors = 1&lt;br /&gt;            End Select&lt;br /&gt;           &lt;br /&gt;            Cells(i, j).Interior.ColorIndex = colors&lt;br /&gt;        Next j&lt;br /&gt;    Next i&lt;br /&gt;End Sub&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ruknabid.blogspot.com/feeds/1291789033666027338/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7546822/1291789033666027338' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7546822/posts/default/1291789033666027338'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7546822/posts/default/1291789033666027338'/><link rel='alternate' type='text/html' href='http://ruknabid.blogspot.com/2011/01/vba-2.html' title='오래간만에 짜본 VBA 스크립트 (2) - 엑셀 셀 색깔 칠하기'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/05986576978893134824</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7546822.post-1417173495854190036</id><published>2011-01-17T16:46:00.001+09:00</published><updated>2011-01-17T16:46:36.583+09:00</updated><title type='text'>오래간만에 짜본 엑셀 VBA 스크립트</title><content type='html'>&lt;div style=&quot;line-height: 1.5; font-size: 9pt; font-family: 굴림; background-color: transparent; margin-top: 1px; margin-right: 3px; margin-bottom: 0px; margin-left: 3px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(51, 51, 51); overflow-x: hidden; overflow-y: hidden; &quot;&gt;&lt;br /&gt;오래간만에 필요에 의해서 작성한 VBA 스크립트..&lt;br /&gt;간단하게..특정 문자열에서 특정 문자가 몇 개나 나오는지를 카운트하는 소스..&lt;br /&gt;&lt;br /&gt;Function countchar(src As String, ch As String) As Integer&lt;br /&gt;    Dim count As Integer&lt;br /&gt;    Dim findIndex As Integer&lt;br /&gt;   &lt;br /&gt;    findIndex = InStr(src, ch)&lt;br /&gt;    count = 0&lt;br /&gt;   &lt;br /&gt;    If Len (src) &gt; 0 Then&lt;br /&gt;&lt;div&gt;       count = 1   &lt;br /&gt;       If findIndex &gt; 0 Then&lt;br /&gt;            Do While findIndex &gt; 0&lt;br /&gt;                count = count + 1&lt;br /&gt;                findIndex = InStr(findIndex + 1, src, ch)&lt;br /&gt;            Loop&lt;br /&gt;       End If&lt;br /&gt;    End if&lt;br /&gt;   &lt;br /&gt;    countchar = count&lt;br /&gt;End Function&lt;br /&gt;&lt;br /&gt;오래간만이라 그런지 do while 문법도 제대로 기억나지 않았다는거..-_-;;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ruknabid.blogspot.com/feeds/1417173495854190036/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7546822/1417173495854190036' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7546822/posts/default/1417173495854190036'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7546822/posts/default/1417173495854190036'/><link rel='alternate' type='text/html' href='http://ruknabid.blogspot.com/2011/01/vba.html' title='오래간만에 짜본 엑셀 VBA 스크립트'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/05986576978893134824</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7546822.post-4841582575643118308</id><published>2011-01-17T16:43:00.001+09:00</published><updated>2011-01-17T16:43:47.374+09:00</updated><title type='text'>TED 2010 : Gary Flake: is Pivot a turning point for web exploration?</title><content type='html'>&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: 굴림; font-size: 12px; color: rgb(51, 51, 51); line-height: 18px; &quot;&gt;&lt;div style=&quot;text-align: center; &quot;&gt;&lt;br /&gt;&lt;object width=&quot;446&quot; height=&quot;326&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://video.ted.com/assets/player/swf/EmbedPlayer.swf&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot; /&gt;&lt;param name=&quot;wmode&quot; value=&quot;transparent&quot;&gt;&lt;/param&gt;&lt;param name=&quot;bgColor&quot; value=&quot;#ffffff&quot;&gt;&lt;/param&gt; &lt;param name=&quot;flashvars&quot; value=&quot;vu=http://video.ted.com/talks/dynamic/GaryFlake_2010-medium.flv&amp;amp;su=http://images.ted.com/images/ted/tedindex/embed-posters/GaryFlake-2010.embed_thumbnail.jpg&amp;amp;vw=432&amp;amp;vh=240&amp;amp;ap=0&amp;amp;ti=783&amp;amp;introDuration=16500&amp;amp;adDuration=4000&amp;amp;postAdDuration=2000&amp;amp;adKeys=talk=gary_flake_is_pivot_a_turning_point_for_web_exploration;year=2010;theme=new_on_ted_com;theme=what_s_next_in_tech;theme=a_taste_of_ted2010;event=TED2010;&amp;amp;preAdTag=tconf.ted/embed;tile=1;sz=512x288;&quot; /&gt;&lt;embed src=&quot;http://video.ted.com/assets/player/swf/EmbedPlayer.swf&quot; pluginspace=&quot;http://www.macromedia.com/go/getflashplayer&quot; type=&quot;application/x-shockwave-flash&quot; wmode=&quot;transparent&quot; bgColor=&quot;#ffffff&quot; width=&quot;446&quot; height=&quot;326&quot; allowFullScreen=&quot;true&quot; flashvars=&quot;vu=http://video.ted.com/talks/dynamic/GaryFlake_2010-medium.flv&amp;amp;su=http://images.ted.com/images/ted/tedindex/embed-posters/GaryFlake-2010.embed_thumbnail.jpg&amp;amp;vw=432&amp;amp;vh=240&amp;amp;ap=0&amp;amp;ti=783&amp;amp;introDuration=16500&amp;amp;adDuration=4000&amp;amp;postAdDuration=2000&amp;amp;adKeys=talk=gary_flake_is_pivot_a_turning_point_for_web_exploration;year=2010;theme=new_on_ted_com;theme=what_s_next_in_tech;theme=a_taste_of_ted2010;event=TED2010;&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: center; &quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: center; &quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left; &quot;&gt;TED.com 을 돌아다니다가 발견한 강의..&lt;/div&gt;&lt;div style=&quot;text-align: left; &quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left; &quot;&gt;Pivot이라는 프로그램을 만든 MS의 직원이 기능을 소개하는 동영상인데, 웹에서 정보를 보여주기 방안으로 생각해볼만한 여지가 있는 아이디어인것 같아서 링크함.&lt;/div&gt;&lt;div style=&quot;text-align: left; &quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left; &quot;&gt;사실 엄청난 양의 이미지 파일과 동영상과 로그와 데이터가 쌓이는데 반해, 이를 효율적으로 보여주기 위한 방안은 별로 없는 것 같다. 즉, 파일탐색기+미리보기 정도가 대부분이다보니, 애플의 멀티터치 UI에 많은 사람들이 새로움을 느꼈던 거고..&lt;/div&gt;&lt;div style=&quot;text-align: left; &quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left; &quot;&gt;어째거나 Pivot은 Zoom-in, Zoom-out을 활용한 UI 인데..이를 잘 활용하면..특히나 쓰레기처럼 쌓이는 로그 정보나 History 정보를 볼 때 유용할 것 같다. 강의자도 그렇게 생각하는 것 같고..&lt;/div&gt;&lt;div style=&quot;text-align: left; &quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left; &quot;&gt;그렇다면..이런 UI가 필요한 곳이 어디인가를 고민해봐야겠지??&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://ruknabid.blogspot.com/feeds/4841582575643118308/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7546822/4841582575643118308' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7546822/posts/default/4841582575643118308'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7546822/posts/default/4841582575643118308'/><link rel='alternate' type='text/html' href='http://ruknabid.blogspot.com/2011/01/ted-2010-gary-flake-is-pivot-turning.html' title='TED 2010 : Gary Flake: is Pivot a turning point for web exploration?'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/05986576978893134824</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7546822.post-5570407665152938098</id><published>2011-01-17T16:40:00.004+09:00</published><updated>2011-01-17T16:42:42.452+09:00</updated><title type='text'>Sony HBH-IS800 구입하다!!</title><content type='html'>&lt;div style=&quot;line-height: 1.5; font-size: 9pt; font-family: 굴림; background-color: transparent; margin-top: 1px; margin-right: 3px; margin-bottom: 0px; margin-left: 3px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(51, 51, 51); overflow-x: hidden; overflow-y: hidden; &quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 1.5; font-size: 9pt; font-family: 굴림; background-color: transparent; margin-top: 1px; margin-right: 3px; margin-bottom: 0px; margin-left: 3px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(51, 51, 51); overflow-x: hidden; overflow-y: hidden; &quot;&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;font-size: 10pt; &quot;&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;&lt;span style=&quot;font-size: 10pt; &quot;&gt;&lt;span style=&quot;font-size: 9pt; &quot;&gt; 이젠 왠만한 기기들에는 블루투스 탑재가 보편화되어 있다보니 자연스럽게 블루투스(Bluetooth) 장비들에 관심을 가지게 되는 봐...,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: 10pt; &quot;&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;&lt;span style=&quot;font-size: 10pt; &quot;&gt;&lt;span style=&quot;font-size: 9pt; &quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: 10pt; &quot;&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;&lt;span style=&quot;font-size: 10pt; &quot;&gt;&lt;span style=&quot;font-size: 9pt; &quot;&gt; 첫번째 관심(이라고 쓰고..지름이라고 읽는다..-_-;;) 기기는 역시나 블루투스 이어폰..&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: 10pt; &quot;&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;&lt;span style=&quot;font-size: 10pt; &quot;&gt;&lt;span style=&quot;font-size: 9pt; &quot;&gt; 그런데, 통화 목적은 아니다보니 한 쪽으로 듣는 이어셋은 아웃 오브 안중..&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: 10pt; &quot;&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;&lt;span style=&quot;font-size: 10pt; &quot;&gt;&lt;span style=&quot;font-size: 9pt; &quot;&gt; 차라리 MP3 플레이어 들고다니는게 훨 나을 듯한 치렁치렁한 장비들로 도배한 블루투스 이어폰들..&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: 10pt; &quot;&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;&lt;span style=&quot;font-size: 10pt; &quot;&gt;&lt;span style=&quot;font-size: 9pt; &quot;&gt; 나 음악 듣고 있소..라고 광고하는 큼지막한 헤드셋은 나의 취향이 아니다보니, &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: 10pt; &quot;&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;&lt;span style=&quot;font-size: 10pt; &quot;&gt;&lt;span style=&quot;font-size: 9pt; &quot;&gt; 계속 마땅한 것을 찾지 못했는데, 한참을 웹서핑 하다가 드디어 발견한 &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;font-size: 10pt; &quot;&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;&lt;span style=&quot;font-size: 10pt; &quot;&gt;&lt;span style=&quot;font-size: 9pt; &quot;&gt;Sony의 HBH-IS800&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: center; &quot;&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;&lt;span style=&quot;font-size: 10pt; &quot;&gt;&lt;span style=&quot;font-size: 9pt; &quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;&lt;span style=&quot;font-size: 10pt; &quot;&gt;&lt;span style=&quot;font-size: 9pt; &quot;&gt;&lt;img src=&quot;http://swipelife.com/wp-content/uploads/2008/11/sony_ericsson_is800_bluetooth_earphones_main-2.jpg&quot; style=&quot;clear: none; float: none; &quot; /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;&lt;span style=&quot;font-size: 10pt; &quot;&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;&lt;span style=&quot;font-size: 9pt; &quot;&gt; 일단 성능도 괜찮고, 충전도 조그만한 단자 부위에 꼽는 방식인지라 꽤나 깔끔한 모습을 보이는듯..&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;&lt;span style=&quot;font-size: 10pt; &quot;&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;&lt;span style=&quot;font-size: 9pt; &quot;&gt; 일단 간단한 리뷰 및 스펙은 아래 사이트 참조..&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;&lt;span style=&quot;font-size: 10pt; &quot;&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;&lt;span style=&quot;font-size: 9pt; &quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: rgb(102, 102, 102); font-family: arial, helvetica, sans-serif; line-height: 21px; font-size: 11px; &quot;&gt;&lt;h2 style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 5px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; list-style-type: none; font-family: arial, helvetica, sans-serif; font-size: 20px; font-weight: 700; color: rgb(51, 51, 51); &quot;&gt;&lt;a href=&quot;http://www.slashgear.com/sony-ericsson-hbh-s800-bluetooth-earphones-reviewed-premium-perfection-nearly-0721884/&quot; rel=&quot;bookmark&quot; title=&quot;Sony Ericsson HBH-S800 Bluetooth Earphones reviewed: Premium Perfection (nearly)&quot; style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 5px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; list-style-type: none; text-decoration: none; color: rgb(6, 137, 185); font-family: arial, helvetica, sans-serif; font-size: 20px; font-weight: 700; &quot;&gt;&lt;span style=&quot;font-size: 10pt; &quot;&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;&lt;span style=&quot;font-size: 10pt; &quot;&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;&lt;span style=&quot;font-size: 9pt; &quot;&gt;Sony Ericsson HBH-S800 Bluetooth Earphones reviewed: Premium Perfection (nearly)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;&lt;span style=&quot;font-size: 10pt; &quot;&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;&lt;span style=&quot;font-size: 9pt; &quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;&lt;a href=&quot;http://www.slashgear.com/sony-ericsson-hbh-s800-bluetooth-earphones-reviewed-premium-perfection-nearly-0721884/&quot;&gt;&lt;span style=&quot;font-size: 10pt; &quot;&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;&lt;span style=&quot;font-size: 9pt; &quot;&gt;http://www.slashgear.com/sony-ericsson-hbh-s800-bluetooth-earphones-reviewed-premium-perfection-nearly-0721884/&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: 10pt; &quot;&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;&lt;span style=&quot;font-size: 9pt; &quot;&gt; 물론 이런 사용기도 있으니..충동적인 지름은 금물..&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: 10pt; &quot;&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: 10pt; &quot;&gt;&lt;span style=&quot;font-family: Dotum; &quot;&gt;&lt;span style=&quot;font-size: 9pt; &quot;&gt; &lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: 굴림; line-height: 18px; font-size: 12px; &quot;&gt;&lt;a href=&quot;http://blog.naver.com/bkqb12?Redirect=Log&amp;amp;logNo=60094210328&quot;&gt;&lt;span style=&quot;font-size: 9pt; &quot;&gt;http://blog.naver.com/bkqb12?Redirect=Log&amp;amp;logNo=60094210328&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt; 계속 클리앙 장터를 매복하다, 케이스와 이어폰만 달랑 있긴 했지만, 중고로 신품의 절반 가격 정도에 샀다.&lt;/div&gt;&lt;div style=&quot;line-height: 1.5; font-size: 9pt; font-family: 굴림; background-color: transparent; margin-top: 1px; margin-right: 3px; margin-bottom: 0px; margin-left: 3px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(51, 51, 51); overflow-x: hidden; overflow-y: hidden; &quot;&gt; 일단, 만족하고 지내고 있긴 한데..&lt;br /&gt; 약 2주일간의 사용기를 간단히 적어보자면..&lt;br /&gt;&lt;br /&gt; &lt;장점&gt;&lt;br /&gt;&lt;br /&gt;1. 인이어 이어폰의 장점이 그대로 누릴 수 있음&lt;br /&gt;  ; 이어폰을 끼면 주변이 조용해지면서 음악에만 집중 가능&lt;br /&gt;&lt;br /&gt;2. 심플하고, 멋있음&lt;br /&gt;  ; 내가 끌린 가장 큰 이유...일단 얼핏봐서는 블루투스 이어폰인지도 모름. 그럼에도 불구하고 생각보단 수신감도가 나쁘진 않아서 무선의 자유를 왜 진작 느끼지 못했냐..라는 안타까움이 들 정도임..&lt;br /&gt;&lt;br /&gt;3. 밧데리 생각보다 나쁘지 않음&lt;br /&gt;  ; 자기 전에 충전시켜놓으면 하루의 왠만큼의 시간동안 음악 듣는데 전혀 지장없음. 인터넷에 조루라는 의견이 많아서 걱정했는데, 사실 충전 안 해놓고, 2~3일씩 쓰기에는 힘들기는 하지만...핸드폰 개념으로 생각하면 그닥 무리는 없음&lt;br /&gt;&lt;br /&gt;&lt;단점&gt;&lt;br /&gt;&lt;br /&gt;1. 멀티 페이링이 안 됨&lt;br /&gt;  ; 이게 불편할거라고는 생각도 안 했는데, 막상 안 되니깐 은근 짜증남. 블투기기들이 많다보니 핸드폰, PC, MP3등과 수시로 연결해서 들을려고 하는데, 페어링 바꿀때마다 짜증이 샘솟아서 그냥 핸폰 전용 이어셋으로 쓰게 되었음&lt;br /&gt;&lt;br /&gt;2. 잘 끊기고 잡음이 있음&lt;br /&gt;  ; 잡음은 물론 잘 끊기다보니 생기게 되는 현상인듯..어째거나 이게 잘 될때에는 다른 방에 있어도 잘 되다가 안 되면 바로 옆에 있어도 무지막지한 잡음이 남..&lt;br /&gt;    &lt;br /&gt;&lt;br /&gt; 그러나 이러한 단점에도 불구하고, 2주전으로 돌아가서 다시 선택의 순간이 온다면, 난 주저없이(?) 살 것 같다. 무선의 주는 편리함과 디자인이 주는 간지는 그만한 가치가 있는듯..&lt;br /&gt;&lt;br /&gt; &lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ruknabid.blogspot.com/feeds/5570407665152938098/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7546822/5570407665152938098' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7546822/posts/default/5570407665152938098'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7546822/posts/default/5570407665152938098'/><link rel='alternate' type='text/html' href='http://ruknabid.blogspot.com/2011/01/sony-hbh-is800.html' title='Sony HBH-IS800 구입하다!!'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/05986576978893134824</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7546822.post-5726581946462029927</id><published>2011-01-17T16:14:00.001+09:00</published><updated>2011-01-17T16:15:22.655+09:00</updated><title type='text'>Ajax is NOT a technology</title><content type='html'>&lt;div style=&quot;line-height: 1.5; font-size: 9pt; font-family: 굴림; background-color: transparent; margin-top: 1px; margin-right: 3px; margin-bottom: 0px; margin-left: 3px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(51, 51, 51); overflow-x: hidden; overflow-y: hidden; &quot;&gt;&lt;div class=&quot;xhtmlEditorBody&quot;&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Ajax isn’t a technology. It’s really several technologies, each flourishing in its own right, coming together in powerful new ways. Ajax incorporates: &lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.adaptivepath.com/publications/essays/archives/000266.php&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;standards-based presentation&lt;/span&gt;&lt;/a&gt; using XHTML and CSS;&lt;/li&gt;&lt;li&gt;dynamic display and interaction using the &lt;a href=&quot;http://www.scottandrew.com/weblog/articles/dom_1&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;Document Object Model&lt;/span&gt;&lt;/a&gt;;&lt;/li&gt;&lt;li&gt;data interchange and manipulation using &lt;a href=&quot;http://www-106.ibm.com/developerworks/xml/library/x-xslt/?article=xr&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;XML and XSLT&lt;/span&gt;&lt;/a&gt;;&lt;/li&gt;&lt;li&gt;asynchronous data retrieval using &lt;a href=&quot;http://www.xml.com/pub/a/2005/02/09/xml-http-request.html&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;XMLHttpRequest&lt;/span&gt;&lt;/a&gt;;&lt;/li&gt;&lt;li&gt;and &lt;a href=&quot;http://www.crockford.com/javascript/javascript.html&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 255); &quot;&gt;JavaScript&lt;/span&gt;&lt;/a&gt; binding everything together.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;em&gt;from Ajax: A New Approach to Web Applications&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://www.adaptivepath.com/ideas/essays/archives/000385.php&quot;&gt;&lt;span style=&quot;color: rgb(0, 102, 204); &quot;&gt;http://www.adaptivepath.com/ideas/essays/archives/000385.php&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ruknabid.blogspot.com/feeds/5726581946462029927/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7546822/5726581946462029927' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7546822/posts/default/5726581946462029927'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7546822/posts/default/5726581946462029927'/><link rel='alternate' type='text/html' href='http://ruknabid.blogspot.com/2011/01/ajax-isnt-technology.html' title='Ajax is NOT a technology'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/05986576978893134824</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7546822.post-3313824948423651416</id><published>2011-01-17T16:11:00.002+09:00</published><updated>2011-01-17T16:14:22.382+09:00</updated><title type='text'>Google Apps Engine의 Google Login Account</title><content type='html'>&lt;div&gt;&lt;br /&gt;&lt;/div&gt; Google Apps Engine은 기본적으로 Google Account를 이용한 Login을 허용합니다.&lt;br /&gt;&lt;br /&gt; Google Apps Engine이 제공하는 API (com.google.apiengine.api.users) 에서는 로그인 및 회원의 Nick Name, Email Address 정도만을 가져올 수 있습니다.&lt;br /&gt;&lt;br /&gt; Google이 제공하는 OpenID를 사용하면 좀 더 많은 정보를 가져 올 수 있을까요?&lt;br /&gt;&lt;br /&gt; Google OpenID에서 제공하는 information 입니다  (http://code.google.com/intl/ko/apis/accounts/docs/OpenID.html)&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot;  &gt;  user&#39;s login identifier, as openid.claimed_id&lt;br /&gt;  requested user attributes, as openid.ax.value.email (if requested)&lt;br /&gt;  authorized OAuth request token, as openid.ext2.request_token (if requested)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;아래와 같이 Country, Email, Name, Languange 정도는 가져 올 수 있는 듯 합니다.&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot;  &gt; openid.ax.required&lt;br /&gt; (required) Specifies the attribute being requested. Valid values include:&lt;br /&gt;&lt;br /&gt; &quot;country&quot;&lt;br /&gt; &quot;email&quot;&lt;br /&gt; &quot;firstname&quot;&lt;br /&gt; &#39;language&quot;&lt;br /&gt; &quot;lastname&quot;&lt;br /&gt;&lt;br /&gt; To request multiple attributes, set this parameter to a comma-delimited list of attributes.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt; Google Apps Engine의 UserAPI에 비해선 Name, Country, Language 정도가 더 늘어났네요. 실제로 NickName이 Name과 동일하다고 보면 Country와 Language 정보가 더 알 수 있는 듯 한데..큰 의미가 있을 수 있을까요?&lt;br /&gt;&lt;br /&gt; 서비스마다 다르겠죠?&lt;br /&gt;&lt;br /&gt; 다만 Google Open ID를 사용하기 위한 귀찮은 Third-party 등록절차는 안 거쳐도 되니깐, OpenID보다는 Google Apps Engine의 UserAPI를 사용하는게 낫겠네요..&lt;br /&gt;&lt;br /&gt; 간단한 회원서비스라면 이 정도면 충분하겠지만, 좀 더 강력한 회원관리 정책을 쓰고 싶다면 별도의 회원가입 및 인증 Process를 만들어야 될 듯 합니다. 아니면 Open ID로 넘어온 Email 정보를 Primary Key로 하여 추가적인 Information을 Google이나 다른 방식으로 긁어와야 겠죠.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ruknabid.blogspot.com/feeds/3313824948423651416/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7546822/3313824948423651416' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7546822/posts/default/3313824948423651416'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7546822/posts/default/3313824948423651416'/><link rel='alternate' type='text/html' href='http://ruknabid.blogspot.com/2011/01/google-apps-engine-google-login-account.html' title='Google Apps Engine의 Google Login Account'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/05986576978893134824</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7546822.post-2597711465971117608</id><published>2011-01-17T16:00:00.001+09:00</published><updated>2011-01-17T17:01:00.070+09:00</updated><title type='text'>Samsung 3D LED TV Full Commercial</title><content type='html'>&lt;object width=&quot;640&quot; height=&quot;385&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/kGkPDXB4na0&amp;amp;color1=0xb1b1b1&amp;amp;color2=0xcfcfcf&amp;amp;hl=ko_KR&amp;amp;feature=player_embedded&amp;amp;fs=1&quot;&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;param name=&quot;allowScriptAccess&quot; value=&quot;always&quot;&gt;&lt;embed src=&quot;http://www.youtube.com/v/kGkPDXB4na0&amp;amp;color1=0xb1b1b1&amp;amp;color2=0xcfcfcf&amp;amp;hl=ko_KR&amp;amp;feature=player_embedded&amp;amp;fs=1&quot; type=&quot;application/x-shockwave-flash&quot; allowfullscreen=&quot;true&quot; allowscriptaccess=&quot;always&quot; width=&quot;640&quot; height=&quot;385&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&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; &lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: 굴림; font-size: 12px; color: rgb(51, 51, 51); line-height: 18px; &quot;&gt;기존의 Display는 평면공간 상에서 이미지를 투사하는 방식이기 때문에, 어찌보면 완전한 현실의 재현이라고 부르기에는 어폐가 있었는데..&lt;/span&gt;&lt;/div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: 굴림; font-size: 12px; color: rgb(51, 51, 51); line-height: 18px; &quot;&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt; 위의 광과를 보니 이제 입체 영상 디스플레이를 통해 현실공간을 그대로 투사할 수 있는 시대가 올 수도 있지 않을까란 생각이 든다. &lt;/div&gt;&lt;div&gt; 삼성 PAVV 3D LED TV 광고를 위해 The Mill이라는 유명한 광고 에이전시 회사가 만든 영상인데..3D를 떠나서라도 꽤나 멋지다. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt; 아직은 안경방식이라 조금 애매하긴 하지만, 나중에 무안경 3D Display가 상용화 수준에 온다면 현실의 공간 또는 이미지와 입체 디스플레이를 통한 공간 및 이미지의 구분이 어려워지는 또 다른 형태의 매트릭스의 세계가 구현될 수 있지 않을까? &lt;/div&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://ruknabid.blogspot.com/feeds/2597711465971117608/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7546822/2597711465971117608' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7546822/posts/default/2597711465971117608'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7546822/posts/default/2597711465971117608'/><link rel='alternate' type='text/html' href='http://ruknabid.blogspot.com/2011/01/display.html' title='Samsung 3D LED TV Full Commercial'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/05986576978893134824</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7546822.post-137530078287834619</id><published>2009-06-18T16:55:00.007+09:00</published><updated>2009-06-18T17:00:27.500+09:00</updated><title type='text'>How to promote your website</title><content type='html'>&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Most important thing is to make a website worthwhile to every visitors. And then, trying to promote or marketize a website.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I know, everybody know, it&#39;s always a difficult job.&lt;br /&gt;&lt;br /&gt;Anyway, I found some advises for promoting a website as below&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;10 Ways Not to Promote Your Web Site&lt;/strong&gt;&lt;br /&gt;&lt;a href=&quot;http://webdevelopersjournal.com/articles/10_ways_not_to_promote_your_web_site.html&quot;&gt;&lt;span style=&quot;font-family:arial;color:#810081;&quot;&gt;http://webdevelopersjournal.com/articles/10_ways_not_to_promote_your_web_site.html&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;5 Free Ways To Promote Your Website&lt;/strong&gt;&lt;br /&gt;&lt;a href=&quot;http://www.makeuseof.com/tag/5-free-ways-to-promote-your-website/&quot;&gt;&lt;span style=&quot;font-family:arial;color:#810081;&quot;&gt;http://www.makeuseof.com/tag/5-free-ways-to-promote-your-website/&lt;/span&gt;&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://ruknabid.blogspot.com/feeds/137530078287834619/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7546822/137530078287834619' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7546822/posts/default/137530078287834619'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7546822/posts/default/137530078287834619'/><link rel='alternate' type='text/html' href='http://ruknabid.blogspot.com/2009/06/how-to-promote-your-website.html' title='How to promote your website'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/05986576978893134824</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>