<?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-8961917721976264152</id><updated>2025-06-30T13:54:49.735-07:00</updated><category term="java"/><category term="open source"/><category term="CST"/><category term="EST"/><category term="GMT"/><category term="GeoIP"/><category term="HTML"/><category term="HTML5"/><category term="IP"/><category term="IP Address"/><category term="MST"/><category term="MaxMind"/><category term="PSF"/><category term="R"/><category term="R project"/><category term="SAS"/><category term="SPSS"/><category term="UTC"/><category term="XML"/><category term="apache"/><category term="architeture"/><category term="audio"/><category term="big data"/><category term="bigdata"/><category term="bigdecimal"/><category term="c"/><category term="comment"/><category term="datatype"/><category term="double"/><category term="eclipse"/><category term="esper"/><category term="feature matching"/><category term="float"/><category term="global"/><category term="homepage"/><category term="image"/><category term="int"/><category term="kafka"/><category term="key"/><category term="local time"/><category term="long"/><category term="mobile web"/><category term="opencv"/><category term="real-time"/><category term="redis"/><category term="regular"/><category term="regular expression"/><category term="shortcut"/><category term="similarity"/><category term="statistics"/><category term="swipe"/><category term="tag"/><category term="time"/><category term="time zone"/><category term="variable"/><title type='text'>Mini&#39;s Programming</title><subtitle type='html'>About IT trend &amp;amp; programming.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://xmlmanager.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8961917721976264152/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://xmlmanager.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Unknown</name><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>12</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8961917721976264152.post-7119184776237087977</id><published>2015-09-22T10:06:00.003-07:00</published><updated>2015-09-22T10:06:37.993-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="feature matching"/><category scheme="http://www.blogger.com/atom/ns#" term="image"/><category scheme="http://www.blogger.com/atom/ns#" term="java"/><category scheme="http://www.blogger.com/atom/ns#" term="opencv"/><category scheme="http://www.blogger.com/atom/ns#" term="similarity"/><title type='text'>[OpenCV] Comparing Image Similarity Using Feature Matching In Java</title><content type='html'>&lt;div align=&quot;center&quot;&gt;
&lt;script async=&quot;&quot; src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot;&gt;&lt;/script&gt;
&lt;!-- kidlove --&gt;
&lt;br /&gt;
&lt;ins class=&quot;adsbygoogle&quot; data-ad-client=&quot;ca-pub-6108463942613145&quot; data-ad-slot=&quot;7461166375&quot; style=&quot;display: inline-block; height: 250px; width: 300px;&quot;&gt;&lt;/ins&gt;&lt;script&gt;
(adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/div&gt;
&lt;br /&gt;
It&#39;s comparing image similarity using feature matching.&lt;br /&gt;
I&#39;ve used OpenCV and converted c language to java. 
&lt;br /&gt;
&lt;br /&gt;
The source is as follows:&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;package kr.co.acronym;

import org.opencv.core.Core;
import org.opencv.core.CvType;
import org.opencv.core.DMatch;
import org.opencv.core.Mat;
import org.opencv.core.MatOfDMatch;
import org.opencv.core.MatOfKeyPoint;
import org.opencv.features2d.DescriptorExtractor;
import org.opencv.features2d.DescriptorMatcher;
import org.opencv.features2d.FeatureDetector;
import org.opencv.imgcodecs.Imgcodecs;

public class Mini {

 public static void main(String[] args) {
  // Set image path
  String filename1 = &quot;C:\\images\\iphone1.jpeg&quot;;
  String filename2 = &quot;C:\\images\\iphone2.jpeg&quot;;

  int ret;
  ret = compareFeature(filename1, filename2);
  
  if (ret &amp;gt; 0) {
   System.out.println(&quot;Two images are same.&quot;);
  } else {
   System.out.println(&quot;Two images are different.&quot;);
  }
 }

 /**
  * Compare that two images is similar using feature mapping  
  * @author minikim
  * @param filename1 - the first image
  * @param filename2 - the second image
  * @return integer - count that has the similarity within images 
  */
 public static int compareFeature(String filename1, String filename2) {
  int retVal = 0;
  long startTime = System.currentTimeMillis();
  
  System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
  
  // Load images to compare
  Mat img1 = Imgcodecs.imread(filename1, Imgcodecs.CV_LOAD_IMAGE_COLOR);
  Mat img2 = Imgcodecs.imread(filename2, Imgcodecs.CV_LOAD_IMAGE_COLOR);

  // Declare key point of images
  MatOfKeyPoint keypoints1 = new MatOfKeyPoint();
  MatOfKeyPoint keypoints2 = new MatOfKeyPoint();
  Mat descriptors1 = new Mat();
  Mat descriptors2 = new Mat();

  // Definition of ORB key point detector and descriptor extractors
  FeatureDetector detector = FeatureDetector.create(FeatureDetector.ORB); 
  DescriptorExtractor extractor = DescriptorExtractor.create(DescriptorExtractor.ORB);

  // Detect key points
  detector.detect(img1, keypoints1);
  detector.detect(img2, keypoints2);
  
  // Extract descriptors
  extractor.compute(img1, keypoints1, descriptors1);
  extractor.compute(img2, keypoints2, descriptors2);

  // Definition of descriptor matcher
  DescriptorMatcher matcher = DescriptorMatcher.create(DescriptorMatcher.BRUTEFORCE_HAMMING);

  // Match points of two images
  MatOfDMatch matches = new MatOfDMatch();
//  System.out.println(&quot;Type of Image1= &quot; + descriptors1.type() + &quot;, Type of Image2= &quot; + descriptors2.type());
//  System.out.println(&quot;Cols of Image1= &quot; + descriptors1.cols() + &quot;, Cols of Image2= &quot; + descriptors2.cols());
  
  // Avoid to assertion failed
  // Assertion failed (type == src2.type() &amp;amp;&amp;amp; src1.cols == src2.cols &amp;amp;&amp;amp; (type == CV_32F || type == CV_8U)
  if (descriptors2.cols() == descriptors1.cols()) {
   matcher.match(descriptors1, descriptors2 ,matches);
 
   // Check matches of key points
   DMatch[] match = matches.toArray();
   double max_dist = 0; double min_dist = 100;
   
   for (int i = 0; i &amp;lt; descriptors1.rows(); i++) { 
    double dist = match[i].distance;
       if( dist &amp;lt; min_dist ) min_dist = dist;
       if( dist &amp;gt; max_dist ) max_dist = dist;
   }
   System.out.println(&quot;max_dist=&quot; + max_dist + &quot;, min_dist=&quot; + min_dist);
   
      // Extract good images (distances are under 10)
   for (int i = 0; i &amp;lt; descriptors1.rows(); i++) {
    if (match[i].distance &amp;lt;= 10) {
     retVal++;
    }
   }
   System.out.println(&quot;matching count=&quot; + retVal);
  }
  
  long estimatedTime = System.currentTimeMillis() - startTime;
  System.out.println(&quot;estimatedTime=&quot; + estimatedTime + &quot;ms&quot;);
  
  return retVal;
 }
}
&lt;/pre&gt;
&lt;br /&gt;
I created a new function, compareFeature that is compared two images.&lt;br /&gt;
It calculates the distance of the feature in those images.&lt;br /&gt;
&lt;br /&gt;
If you check the last of the source, I decide the similarity by the minimum distance of two images.&lt;br /&gt;
The distance value that I choose is 10.&lt;br /&gt;
But if you try more and more, the value is more precise.&lt;br /&gt;
&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;script async=&quot;&quot; src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot;&gt;&lt;/script&gt;
&lt;!-- kidlove --&gt;
&lt;br /&gt;
&lt;ins class=&quot;adsbygoogle&quot; data-ad-client=&quot;ca-pub-6108463942613145&quot; data-ad-slot=&quot;7461166375&quot; style=&quot;display: inline-block; height: 250px; width: 300px;&quot;&gt;&lt;/ins&gt;&lt;script&gt;
(adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/div&gt;
The return value is the count of the distance under 10.&lt;br /&gt;
If it is one more, I think that the two images are similar.&lt;br /&gt;
&lt;br /&gt;
I tested next 3 images.&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2jgqiABISv5kNa_cCcjTRChKjICOy8EVzNVcbZwEy9XM4CvjS46hkWC7cRR8dFOPdY96me_axAu0hJiHYocNg5IkGuBVQRXaLegxAn8Baa-QKsGiJbHXUDBM7T757YQu3u8cup7EHsBwF/s1600/iphone1.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2jgqiABISv5kNa_cCcjTRChKjICOy8EVzNVcbZwEy9XM4CvjS46hkWC7cRR8dFOPdY96me_axAu0hJiHYocNg5IkGuBVQRXaLegxAn8Baa-QKsGiJbHXUDBM7T757YQu3u8cup7EHsBwF/s1600/iphone1.jpg&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiw_HN0-sedxFClpxhufY0i9MJXmi8SSSd6XLrlbJ6ivKW52HeV6GTynj0xE9XJm-kiRL5pYDLcY1yj8a2Ofiix-_iW2D9EuFgGZpcxLSJrztyusCngA7aoO3L83HSyKTuCKkC6XEAi4Y2C/s1600/iphone2.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiw_HN0-sedxFClpxhufY0i9MJXmi8SSSd6XLrlbJ6ivKW52HeV6GTynj0xE9XJm-kiRL5pYDLcY1yj8a2Ofiix-_iW2D9EuFgGZpcxLSJrztyusCngA7aoO3L83HSyKTuCKkC6XEAi4Y2C/s1600/iphone2.jpg&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiO_1gAzbTZRI6hdnBt5Su3BAsB-KpYBn0UM2joRe_XIAs0ltlsRYQHc00W8QcaQtRyDzFPlDf7lVB4UXRbz7BIn5G-53HgrWWYrEqSreZ6fLb6ujDBhno1uftjslZDgcBtXiAXKviJs1hQ/s1600/iphone3.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiO_1gAzbTZRI6hdnBt5Su3BAsB-KpYBn0UM2joRe_XIAs0ltlsRYQHc00W8QcaQtRyDzFPlDf7lVB4UXRbz7BIn5G-53HgrWWYrEqSreZ6fLb6ujDBhno1uftjslZDgcBtXiAXKviJs1hQ/s1600/iphone3.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
When I checked image1.jpeg and image1.jpeg, the result is identical.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWWPF9UtglaAxErQkd4eHKfuUg1-VuM8S-GSsHmEeknAuhMo2muDdPpLI11HV2iGfrmZ9PCSjO_SCwwmFYBQf2ZqAba6GO2Y41RpSaUFW7B8wMgM7Q8SmpktGsUhZeTUdq1zZmZvNCMKFY/s1600/result1.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWWPF9UtglaAxErQkd4eHKfuUg1-VuM8S-GSsHmEeknAuhMo2muDdPpLI11HV2iGfrmZ9PCSjO_SCwwmFYBQf2ZqAba6GO2Y41RpSaUFW7B8wMgM7Q8SmpktGsUhZeTUdq1zZmZvNCMKFY/s1600/result1.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If I checked image1.jpeg and image2.jpeg, the result is similar.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjl2sB92BTc3Z3_ddMnFO16pbipZccuUBo1Cfh2i7nS6aiy2Gh7j6xjc6hvdTU2UPcNZYwki0kNTE0Q8RnXWo3ejlSl4PxnGXrbHqMEFzEPIpt8X8cSJbwCe0_6Ar5y1DC8ntriZLDbb7UW/s1600/result2.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjl2sB92BTc3Z3_ddMnFO16pbipZccuUBo1Cfh2i7nS6aiy2Gh7j6xjc6hvdTU2UPcNZYwki0kNTE0Q8RnXWo3ejlSl4PxnGXrbHqMEFzEPIpt8X8cSJbwCe0_6Ar5y1DC8ntriZLDbb7UW/s1600/result2.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If I checked image1.jpeg and image3.jpeg, the result is not similar.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbdseTOWQR0SzHmRNXOHrLu1LjIYaIGy1Oo-8ZnU1oqtL5xacgUlYF-RFyrmb5O6mRj_EjrGLcQYT4wKs6WWKMsqdj3bX0tuZFFnv8lbqtl2vE2ubFJ40pI66YTXPcYtQ44R9RseGLRwx8/s1600/result3.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbdseTOWQR0SzHmRNXOHrLu1LjIYaIGy1Oo-8ZnU1oqtL5xacgUlYF-RFyrmb5O6mRj_EjrGLcQYT4wKs6WWKMsqdj3bX0tuZFFnv8lbqtl2vE2ubFJ40pI66YTXPcYtQ44R9RseGLRwx8/s1600/result3.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlmanager.blogspot.com/feeds/7119184776237087977/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://xmlmanager.blogspot.com/2015/09/opencv-comparing-image-similarity-using.html#comment-form' title='14 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8961917721976264152/posts/default/7119184776237087977'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8961917721976264152/posts/default/7119184776237087977'/><link rel='alternate' type='text/html' href='http://xmlmanager.blogspot.com/2015/09/opencv-comparing-image-similarity-using.html' title='[OpenCV] Comparing Image Similarity Using Feature Matching In Java'/><author><name>Unknown</name><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><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2jgqiABISv5kNa_cCcjTRChKjICOy8EVzNVcbZwEy9XM4CvjS46hkWC7cRR8dFOPdY96me_axAu0hJiHYocNg5IkGuBVQRXaLegxAn8Baa-QKsGiJbHXUDBM7T757YQu3u8cup7EHsBwF/s72-c/iphone1.jpg" height="72" width="72"/><thr:total>14</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8961917721976264152.post-7250731331655908563</id><published>2013-11-06T04:50:00.000-08:00</published><updated>2013-11-07T04:45:28.998-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="open source"/><category scheme="http://www.blogger.com/atom/ns#" term="R"/><category scheme="http://www.blogger.com/atom/ns#" term="R project"/><category scheme="http://www.blogger.com/atom/ns#" term="SAS"/><category scheme="http://www.blogger.com/atom/ns#" term="SPSS"/><category scheme="http://www.blogger.com/atom/ns#" term="statistics"/><title type='text'>R installation and usage for data analysis</title><content type='html'>&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
google_ad_client = &quot;ca-pub-6108463942613145&quot;;
/* 728x90 */
google_ad_slot = &quot;0436959149&quot;;
google_ad_width = 728;
google_ad_height = 90;
//--&gt;
&lt;/script&gt;
&lt;script src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot; type=&quot;text/javascript&quot;&gt;
&lt;/script&gt;
&lt;br /&gt;
&lt;h1&gt;
Introduction R&lt;/h1&gt;
&lt;br /&gt;
Today I provide a brief introduction about recent popular R language.

&lt;br /&gt;
R is very an effective tool for statistics and graphics.&lt;br /&gt;
There are existing statistical programs such as SAS, SPSS.&lt;br /&gt;
However R is open source and it has a lot of packages.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1eYoxqmTPE2k2R8K4w112qQhWYq2kT-voWW5um5DZXhMKZo6LhEJTN-tc6sBGq2KtGzEWmfY3OvUkNOKHg7cWJ3wTMyIfp-RvhUd-dR_ivL9UfBbvOlOTLwF6bXy4Tz0b6GNWscLsZKxt/s1600/Rlogo.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;151&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1eYoxqmTPE2k2R8K4w112qQhWYq2kT-voWW5um5DZXhMKZo6LhEJTN-tc6sBGq2KtGzEWmfY3OvUkNOKHg7cWJ3wTMyIfp-RvhUd-dR_ivL9UfBbvOlOTLwF6bXy4Tz0b6GNWscLsZKxt/s200/Rlogo.jpg&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
The site of R is &lt;a href=&quot;http://r-project.org/&quot;&gt;http://r-project.org&lt;/a&gt;.&lt;br /&gt;
You can download R program, documents, add-on packages, etc.&lt;br /&gt;
&lt;br /&gt;
If you need to search for R, visit &lt;a href=&quot;http://rseek.org/&quot;&gt;http://rseek.org&lt;/a&gt;. &lt;br /&gt;
&lt;br /&gt;
&lt;h1&gt;
Using R for Big-Data&lt;/h1&gt;
You should consider something when R is used by Hadoop for big data processing.&lt;br /&gt;
R works based on a single core and in memory.&lt;br /&gt;
In other words, it is not composed of the distributed environment.&lt;br /&gt;
&lt;br /&gt;
Thus some vendors are using R-Hadoop, R-Hive.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiK5KDmIGPpZclrBDUtQyKrSS3VFddx5f5tiJhK11XBiNmzdqpa6Jby-WQK3z4c2qidDy22ZvL_JoHDI3bvqOJ1QIbmHkqQMHou798pvjhCyHEPpPbI4g32HLaRXR3RvHbx4F-b-waGZO0m/s1600/rhadoop-header.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;248&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiK5KDmIGPpZclrBDUtQyKrSS3VFddx5f5tiJhK11XBiNmzdqpa6Jby-WQK3z4c2qidDy22ZvL_JoHDI3bvqOJ1QIbmHkqQMHou798pvjhCyHEPpPbI4g32HLaRXR3RvHbx4F-b-waGZO0m/s400/rhadoop-header.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
google_ad_client = &quot;ca-pub-6108463942613145&quot;;
/* 728x90 */
google_ad_slot = &quot;0436959149&quot;;
google_ad_width = 728;
google_ad_height = 90;
//--&gt;
&lt;/script&gt;
&lt;script src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot; type=&quot;text/javascript&quot;&gt;
&lt;/script&gt;
&lt;br /&gt;
&lt;h1&gt;
R Installation&lt;/h1&gt;
Installation of R is very simple.&lt;br /&gt;
When you get install file from the R project site, you can install any OS like Mac, Windows, and Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj66VSy4gon6tvwH3TL2wL9k8W0JUBO6Lq785sljGut5pg3tmINoNmy6C6mj0whwhnazt369kwugUq4QRYw_TJgxjlD0SLCxXvq3zRQm1xQtbtw99IXBMQR_ROC6gwnjflNIJRUDwygFM4s/s1600/Screen+Shot+2013-11-06+at+%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE+9.45.12.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;289&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj66VSy4gon6tvwH3TL2wL9k8W0JUBO6Lq785sljGut5pg3tmINoNmy6C6mj0whwhnazt369kwugUq4QRYw_TJgxjlD0SLCxXvq3zRQm1xQtbtw99IXBMQR_ROC6gwnjflNIJRUDwygFM4s/s640/Screen+Shot+2013-11-06+at+%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE+9.45.12.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Now you can test R programming.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwcKddzbSjoKtL3dj5L6ElfTrL2zEybf1BL31-5HJBwRQ0gxQDbcC-ZX2QWt7Q-JzK6DDebe3tGGY-H2qjKOhq3t-E8mTgQ7OfIKCPRonWRk10JiGre38ftRUaX05ggkvaJSnoqN881ejF/s1600/run.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;460&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwcKddzbSjoKtL3dj5L6ElfTrL2zEybf1BL31-5HJBwRQ0gxQDbcC-ZX2QWt7Q-JzK6DDebe3tGGY-H2qjKOhq3t-E8mTgQ7OfIKCPRonWRk10JiGre38ftRUaX05ggkvaJSnoqN881ejF/s640/run.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
google_ad_client = &quot;ca-pub-6108463942613145&quot;;
/* 728x90 */
google_ad_slot = &quot;0436959149&quot;;
google_ad_width = 728;
google_ad_height = 90;
//--&gt;
&lt;/script&gt;
&lt;script src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot; type=&quot;text/javascript&quot;&gt;
&lt;/script&gt;
</content><link rel='replies' type='application/atom+xml' href='http://xmlmanager.blogspot.com/feeds/7250731331655908563/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://xmlmanager.blogspot.com/2013/11/r-installation-and-usage-for-data.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8961917721976264152/posts/default/7250731331655908563'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8961917721976264152/posts/default/7250731331655908563'/><link rel='alternate' type='text/html' href='http://xmlmanager.blogspot.com/2013/11/r-installation-and-usage-for-data.html' title='R installation and usage for data analysis'/><author><name>Unknown</name><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><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1eYoxqmTPE2k2R8K4w112qQhWYq2kT-voWW5um5DZXhMKZo6LhEJTN-tc6sBGq2KtGzEWmfY3OvUkNOKHg7cWJ3wTMyIfp-RvhUd-dR_ivL9UfBbvOlOTLwF6bXy4Tz0b6GNWscLsZKxt/s72-c/Rlogo.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8961917721976264152.post-5436357302112740033</id><published>2013-11-02T07:55:00.000-07:00</published><updated>2013-11-07T04:57:50.043-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="apache"/><category scheme="http://www.blogger.com/atom/ns#" term="architeture"/><category scheme="http://www.blogger.com/atom/ns#" term="big data"/><category scheme="http://www.blogger.com/atom/ns#" term="bigdata"/><category scheme="http://www.blogger.com/atom/ns#" term="esper"/><category scheme="http://www.blogger.com/atom/ns#" term="kafka"/><category scheme="http://www.blogger.com/atom/ns#" term="open source"/><category scheme="http://www.blogger.com/atom/ns#" term="real-time"/><category scheme="http://www.blogger.com/atom/ns#" term="redis"/><title type='text'>Real-Time Technology for Big Data</title><content type='html'>&lt;div&gt;
&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
google_ad_client = &quot;ca-pub-6108463942613145&quot;;
/* 728x90 */
google_ad_slot = &quot;0436959149&quot;;
google_ad_width = 728;
google_ad_height = 90;
//--&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;script src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot; type=&quot;text/javascript&quot;&gt;
&lt;/script&gt;
&lt;/div&gt;
&lt;br /&gt;
Hadoop is used to process big-data.&lt;br /&gt;
However according to the needs for real-time, &amp;nbsp;there is growing interest in the in-memory technology. &lt;br /&gt;
&lt;br /&gt;
OLTP Database for real-time processing was used in times past.&lt;br /&gt;
We need a new approach in order to handle quickly data stream in Big data era.&lt;br /&gt;
&lt;br /&gt;
Google is often processed numerous data in a short period through Dremel.&lt;br /&gt;
Let&#39;s look at technologies for real-time.&lt;br /&gt;
&lt;br /&gt;
&lt;h1&gt;
Redis&lt;/h1&gt;
&lt;a href=&quot;http://redis.io/&quot;&gt;Redis&lt;/a&gt; is BSD-based open source and is an acronym for &quot;Remote Dictionary System&quot;.&lt;br /&gt;
It classifies as No-SQL database because it has a key-value store.&lt;br /&gt;
It is also used for Message Queue and Shared Memory.&lt;br /&gt;
So it&#39;s sometimes used as a real-time processing.&lt;br /&gt;
&lt;br /&gt;
This is architecture using node.js and redis. (Source:&amp;nbsp;&lt;a href=&quot;http://simonhampshire.wordpress.com/&quot;&gt;http://simonhampshire.wordpress.com/&lt;/a&gt;)&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7CzBFuYFtL_rPX-A4NoeJ2dG2Pi9BHUnhcDhHml8PYiAQ99DZR7y23v_TG3tOzzKhODwmnIxGa0TGisdqzS4dZ6SJUh_qUZBXSs22RW74hjS8GR3YzIc8m7EvPRd2ioz6lmtYTpjVHl4P/s1600/redis.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;514&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7CzBFuYFtL_rPX-A4NoeJ2dG2Pi9BHUnhcDhHml8PYiAQ99DZR7y23v_TG3tOzzKhODwmnIxGa0TGisdqzS4dZ6SJUh_qUZBXSs22RW74hjS8GR3YzIc8m7EvPRd2ioz6lmtYTpjVHl4P/s640/redis.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
It is similar to memcached in the part of in-memory technology but it has saved the data onto disk unlike memcached.&lt;br /&gt;
&lt;br /&gt;
&lt;h1&gt;
Apache Kafka&lt;/h1&gt;
&lt;br /&gt;
Kafka was made by Linkedin for improving their log and tracking system.&lt;br /&gt;
Now it works on Apache Project.&lt;br /&gt;
&lt;br /&gt;
It is Publish/Subscribe messaging system and it is used in conjunction with Hadoop.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiE_-wJteZIUMvxTBk6zUgE7F8-vmb5vga2R2ogra0d5MduyoTL5SIvsd7GKl8Enz0g1KUUeCKBTKvO9sw2D5j4Y5qES1QadYDT10jphk62_PU5MpzcIf2zOAnJr2K6_mF_t5-RYA_MOlhR/s1600/producer_consumer.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;223&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiE_-wJteZIUMvxTBk6zUgE7F8-vmb5vga2R2ogra0d5MduyoTL5SIvsd7GKl8Enz0g1KUUeCKBTKvO9sw2D5j4Y5qES1QadYDT10jphk62_PU5MpzcIf2zOAnJr2K6_mF_t5-RYA_MOlhR/s320/producer_consumer.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
I discovered that Netflix processes data log using Kafaka.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFPNpKCa4IUItWfaboslwdwV3kmnvH16fThvwkbWKRjkiDbRwdGyFI3NO2CK6vvIpmVrFr-CMAp4cKJY2ik15y6Zv81qGw6o9FWoMingPHD0akf1bd8apk3Vj_BHa5gCsMwhPIVFz72Wed/s1600/consumer-groups.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;212&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFPNpKCa4IUItWfaboslwdwV3kmnvH16fThvwkbWKRjkiDbRwdGyFI3NO2CK6vvIpmVrFr-CMAp4cKJY2ik15y6Zv81qGw6o9FWoMingPHD0akf1bd8apk3Vj_BHa5gCsMwhPIVFz72Wed/s400/consumer-groups.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
google_ad_client = &quot;ca-pub-6108463942613145&quot;;
/* 728x90 */
google_ad_slot = &quot;0436959149&quot;;
google_ad_width = 728;
google_ad_height = 90;
//--&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;script src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot; type=&quot;text/javascript&quot;&gt;
&lt;/script&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;h1&gt;
Esper&lt;/h1&gt;
I beleive that the best technology about in-memory and real-time is the CEP(Complex Event Processing).&lt;br /&gt;
Oracle and SAP are now focused on CEP technology.&lt;br /&gt;
&lt;br /&gt;
As an open source, Esper has a configuration of EPL such as SQL like script language.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMSbC-aD9tv3BPZO2bJWkHK9h-xKfuC-k7Fn7aALhKZYopBYucWdOzUKWjhA6ucP32hS4XBRYkMx1eomUXfrU8lRrqkajAvbSEnWAgEezUh4AZMtRzVV6l2xKqcEtd0qnU-XM80hLsl1us/s1600/products_esp_cep.jpeg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;180&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMSbC-aD9tv3BPZO2bJWkHK9h-xKfuC-k7Fn7aALhKZYopBYucWdOzUKWjhA6ucP32hS4XBRYkMx1eomUXfrU8lRrqkajAvbSEnWAgEezUh4AZMtRzVV6l2xKqcEtd0qnU-XM80hLsl1us/s400/products_esp_cep.jpeg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
CEP is the technology to filter specific event from numerous event.&lt;br /&gt;
It&#39;s a real-time processing using event-driven architecture.&lt;br /&gt;
&lt;br /&gt;
Esper has architecture like this.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcmnBdInzXetCksYQHmd7a_vvRWWNyYeF_qKe5d-lddQJhXNGCG2VGOuZtKi_H8O02u6MQvP4WqY6YRnpZb4p9NSttgvVb8EZPZjf2XNwn9kBxCfbJpCQ_82uSEQJpQoYpEA7WPJ83aVNk/s1600/products_esper.jpeg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;158&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcmnBdInzXetCksYQHmd7a_vvRWWNyYeF_qKe5d-lddQJhXNGCG2VGOuZtKi_H8O02u6MQvP4WqY6YRnpZb4p9NSttgvVb8EZPZjf2XNwn9kBxCfbJpCQ_82uSEQJpQoYpEA7WPJ83aVNk/s400/products_esper.jpeg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Sometimes to get the data into Espter used &quot;storm&quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
google_ad_client = &quot;ca-pub-6108463942613145&quot;;
/* 728x90 */
google_ad_slot = &quot;0436959149&quot;;
google_ad_width = 728;
google_ad_height = 90;
//--&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;script src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot; type=&quot;text/javascript&quot;&gt;
&lt;/script&gt;
&lt;/div&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlmanager.blogspot.com/feeds/5436357302112740033/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://xmlmanager.blogspot.com/2013/11/real-time-technology-for-big-data.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8961917721976264152/posts/default/5436357302112740033'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8961917721976264152/posts/default/5436357302112740033'/><link rel='alternate' type='text/html' href='http://xmlmanager.blogspot.com/2013/11/real-time-technology-for-big-data.html' title='Real-Time Technology for Big Data'/><author><name>Unknown</name><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><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7CzBFuYFtL_rPX-A4NoeJ2dG2Pi9BHUnhcDhHml8PYiAQ99DZR7y23v_TG3tOzzKhODwmnIxGa0TGisdqzS4dZ6SJUh_qUZBXSs22RW74hjS8GR3YzIc8m7EvPRd2ioz6lmtYTpjVHl4P/s72-c/redis.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8961917721976264152.post-2385079611696900857</id><published>2013-10-14T09:18:00.000-07:00</published><updated>2013-10-14T09:18:05.603-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="eclipse"/><category scheme="http://www.blogger.com/atom/ns#" term="key"/><category scheme="http://www.blogger.com/atom/ns#" term="shortcut"/><title type='text'>Using eclipse shorcut! </title><content type='html'>&lt;div&gt;
&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
google_ad_client = &quot;ca-pub-6108463942613145&quot;;
/* 728x90 */
google_ad_slot = &quot;0436959149&quot;;
google_ad_width = 728;
google_ad_height = 90;
//--&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;script src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot; type=&quot;text/javascript&quot;&gt;
&lt;/script&gt;&lt;/div&gt;
&lt;br /&gt;
Why do we often use shortcut key during programming?&lt;br /&gt;
It maybe reduce the time of coding and reduce mistake.&lt;br /&gt;
&lt;br /&gt;
It is not necessary to make use of shortcut, but we have to know essential shortcut.&lt;br /&gt;
&lt;br /&gt;
Blue are often used. &amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoTableGrid&quot; style=&quot;border-bottom: medium none; border-collapse: collapse; border-left: medium none; border-right: medium none; border-top: medium none;&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; border-right: windowtext 1pt solid; border-top: windowtext 1pt solid; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 4cm;&quot; valign=&quot;top&quot; width=&quot;151&quot;&gt;&lt;div align=&quot;center&quot; style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;font-family: 굴림; font-size: 11pt;&quot;&gt;단축키&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;border-bottom: windowtext 1pt solid; border-left: medium none; border-right: windowtext 1pt solid; border-top: windowtext 1pt solid; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 321.7pt;&quot; valign=&quot;top&quot; width=&quot;429&quot;&gt;&lt;div align=&quot;center&quot; style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;font-family: 굴림; font-size: 11pt;&quot;&gt;설명&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; border-right: windowtext 1pt solid; border-top: medium none; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 4cm;&quot; width=&quot;151&quot;&gt;&lt;span style=&quot;font-family: 굴림; font-size: 11pt;&quot;&gt;F3&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;border-bottom: windowtext 1pt solid; border-left: medium none; border-right: windowtext 1pt solid; border-top: medium none; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 321.7pt;&quot; width=&quot;429&quot;&gt;&lt;span style=&quot;font-family: 굴림;&quot;&gt;Open Declaration: Jump to Declaration of selected class, method, or parameter&lt;/span&gt;&lt;br /&gt;
&lt;strong&gt;&lt;span style=&quot;color: #193da9;&quot;&gt;&lt;span style=&quot;font-family: 굴림;&quot;&gt;[Ctrl + Mouse Click is the same&lt;/span&gt;&lt;span style=&quot;font-family: 굴림;&quot;&gt;]&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; border-right: windowtext 1pt solid; border-top: medium none; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 4cm;&quot; width=&quot;151&quot;&gt;&lt;span style=&quot;font-family: 굴림; font-size: 11pt;&quot;&gt;F4&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;border-bottom: windowtext 1pt solid; border-left: medium none; border-right: windowtext 1pt solid; border-top: medium none; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 321.7pt;&quot; width=&quot;429&quot;&gt;&lt;span style=&quot;font-family: 굴림;&quot;&gt;Open Type Hierarchy window for selected item&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; border-right: windowtext 1pt solid; border-top: medium none; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 4cm;&quot; width=&quot;151&quot;&gt;&lt;span style=&quot;font-family: 굴림; font-size: 11pt;&quot;&gt;&lt;strong&gt;&lt;span style=&quot;color: #193da9;&quot;&gt;F5&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;border-bottom: windowtext 1pt solid; border-left: medium none; border-right: windowtext 1pt solid; border-top: medium none; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 321.7pt;&quot; width=&quot;429&quot;&gt;&lt;span style=&quot;color: #193da9; font-family: 굴림;&quot;&gt;&lt;b&gt;Step Into function in debug&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; border-right: windowtext 1pt solid; border-top: medium none; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 4cm;&quot; width=&quot;151&quot;&gt;&lt;span style=&quot;font-family: 굴림; font-size: 11pt;&quot;&gt;&lt;strong&gt;&lt;span style=&quot;color: #193da9;&quot;&gt;F6&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;border-bottom: windowtext 1pt solid; border-left: medium none; border-right: windowtext 1pt solid; border-top: medium none; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 321.7pt;&quot; width=&quot;429&quot;&gt;&lt;span style=&quot;color: #193da9; font-family: 굴림;&quot;&gt;&lt;b&gt;Next step (line by line) in debug&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; border-right: windowtext 1pt solid; border-top: medium none; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 4cm;&quot; width=&quot;151&quot;&gt;&lt;span style=&quot;font-family: 굴림; font-size: 11pt;&quot;&gt;F7&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;border-bottom: windowtext 1pt solid; border-left: medium none; border-right: windowtext 1pt solid; border-top: medium none; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 321.7pt;&quot; width=&quot;429&quot;&gt;&lt;span style=&quot;font-family: 굴림;&quot;&gt;Step out in debug&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; border-right: windowtext 1pt solid; border-top: medium none; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 4cm;&quot; width=&quot;151&quot;&gt;&lt;span style=&quot;font-family: 굴림; font-size: 11pt;&quot;&gt;F8&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;border-bottom: windowtext 1pt solid; border-left: medium none; border-right: windowtext 1pt solid; border-top: medium none; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 321.7pt;&quot; width=&quot;429&quot;&gt;&lt;span style=&quot;font-family: 굴림;&quot;&gt;Skip to next Breakpoint in debug&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; border-right: windowtext 1pt solid; border-top: medium none; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 4cm;&quot; width=&quot;151&quot;&gt;&lt;span style=&quot;font-family: 굴림; font-size: 11pt;&quot;&gt;&lt;strong&gt;&lt;span style=&quot;color: #193da9;&quot;&gt;F11&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;border-bottom: windowtext 1pt solid; border-left: medium none; border-right: windowtext 1pt solid; border-top: medium none; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 321.7pt;&quot; width=&quot;429&quot;&gt;&lt;span style=&quot;font-family: 굴림;&quot;&gt;&lt;strong&gt;&lt;span style=&quot;color: #193da9;&quot;&gt;Debug&amp;nbsp;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; border-right: windowtext 1pt solid; border-top: medium none; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 4cm;&quot; width=&quot;151&quot;&gt;&lt;span style=&quot;font-family: 굴림; font-size: 11pt;&quot;&gt;F12&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;border-bottom: windowtext 1pt solid; border-left: medium none; border-right: windowtext 1pt solid; border-top: medium none; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 321.7pt;&quot; width=&quot;429&quot;&gt;&lt;span style=&quot;font-family: 굴림;&quot;&gt;Jump to Editor Window&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; border-right: windowtext 1pt solid; border-top: medium none; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 4cm;&quot; width=&quot;151&quot;&gt;&lt;span style=&quot;font-family: 굴림; font-size: 11pt;&quot;&gt;&lt;strong&gt;&lt;span style=&quot;color: #193da9;&quot;&gt;Ctrl + 1&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;border-bottom: windowtext 1pt solid; border-left: medium none; border-right: windowtext 1pt solid; border-top: medium none; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 321.7pt;&quot; width=&quot;429&quot;&gt;&lt;span style=&quot;color: #193da9; font-family: 굴림;&quot;&gt;&lt;b&gt;Open Quick Fix and Quick Assist&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; border-right: windowtext 1pt solid; border-top: medium none; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 4cm;&quot; width=&quot;151&quot;&gt;&lt;span style=&quot;font-family: 굴림; font-size: 11pt;&quot;&gt;&lt;strong&gt;&lt;span style=&quot;color: #193da9;&quot;&gt;Ctrl + 7&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;border-bottom: windowtext 1pt solid; border-left: medium none; border-right: windowtext 1pt solid; border-top: medium none; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 321.7pt;&quot; width=&quot;429&quot;&gt;&lt;span style=&quot;color: #193da9; font-family: 굴림;&quot;&gt;&lt;b&gt;Comment / uncomment line or selection ( adds &#39;//&#39; )&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; border-right: windowtext 1pt solid; border-top: medium none; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 4cm;&quot; width=&quot;151&quot;&gt;&lt;span style=&quot;font-family: 굴림; font-size: 11pt;&quot;&gt;Ctrl + . (next)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: 굴림; font-size: 11pt;&quot;&gt;Ctrl + , (previous)&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;border-bottom: windowtext 1pt solid; border-left: medium none; border-right: windowtext 1pt solid; border-top: medium none; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 321.7pt;&quot; width=&quot;429&quot;&gt;&lt;span style=&quot;font-family: 굴림;&quot;&gt;Jump to next / jump to previous compiler syntax warning or error&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; border-right: windowtext 1pt solid; border-top: medium none; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 4cm;&quot; width=&quot;151&quot;&gt;&lt;span style=&quot;font-family: 굴림; font-size: 11pt;&quot;&gt;Ctrl + Space&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;border-bottom: windowtext 1pt solid; border-left: medium none; border-right: windowtext 1pt solid; border-top: medium none; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 321.7pt;&quot; width=&quot;429&quot;&gt;&lt;span style=&quot;font-family: 굴림;&quot;&gt;Opens Content Assist (e.g. show available methods or field names)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; border-right: windowtext 1pt solid; border-top: medium none; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 4cm;&quot; width=&quot;151&quot;&gt;&lt;span style=&quot;font-family: 굴림; font-size: 11pt;&quot;&gt;Ctrl + T&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;border-bottom: windowtext 1pt solid; border-left: medium none; border-right: windowtext 1pt solid; border-top: medium none; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 321.7pt;&quot; width=&quot;429&quot;&gt;&lt;span style=&quot;font-family: 굴림;&quot;&gt;Show / open Quick Type Hierarchy for selected item&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; border-right: windowtext 1pt solid; border-top: medium none; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 4cm;&quot; width=&quot;151&quot;&gt;&lt;span style=&quot;font-family: 굴림; font-size: 11pt;&quot;&gt;&lt;strong&gt;&lt;span style=&quot;color: #193da9;&quot;&gt;Ctrl + O&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;border-bottom: windowtext 1pt solid; border-left: medium none; border-right: windowtext 1pt solid; border-top: medium none; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 321.7pt;&quot; width=&quot;429&quot;&gt;&lt;span style=&quot;color: #193da9; font-family: 굴림;&quot;&gt;&lt;b&gt;Show code outline / structure&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; border-right: windowtext 1pt solid; border-top: medium none; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 4cm;&quot; width=&quot;151&quot;&gt;&lt;span style=&quot;font-family: 굴림; font-size: 11pt;&quot;&gt;Ctrl + L&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;border-bottom: windowtext 1pt solid; border-left: medium none; border-right: windowtext 1pt solid; border-top: medium none; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 321.7pt;&quot; width=&quot;429&quot;&gt;&lt;span style=&quot;font-family: 굴림;&quot;&gt;Jump to Line Number. To hide/show line numbers, press ctrl+F10 and select &#39;Show Line Numbers&#39;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; border-right: windowtext 1pt solid; border-top: medium none; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 4cm;&quot; width=&quot;151&quot;&gt;&lt;span style=&quot;font-family: 굴림; font-size: 11pt;&quot;&gt;Ctrl + F&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;border-bottom: windowtext 1pt solid; border-left: medium none; border-right: windowtext 1pt solid; border-top: medium none; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 321.7pt;&quot; width=&quot;429&quot;&gt;&lt;span style=&quot;font-family: 굴림;&quot;&gt;Open find and replace dialog&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; border-right: windowtext 1pt solid; border-top: medium none; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 4cm;&quot; width=&quot;151&quot;&gt;&lt;span style=&quot;font-family: 굴림; font-size: 11pt;&quot;&gt;Ctrl + J&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: 굴림; font-size: 11pt;&quot;&gt;Ctrl + Shift + J&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;border-bottom: windowtext 1pt solid; border-left: medium none; border-right: windowtext 1pt solid; border-top: medium none; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 321.7pt;&quot; width=&quot;429&quot;&gt;&lt;span style=&quot;font-family: 굴림;&quot;&gt;Incremental search forward / backward. Type search term after pressing ctrl+j, there is now search window&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; border-right: windowtext 1pt solid; border-top: medium none; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 4cm;&quot; width=&quot;151&quot;&gt;&lt;span style=&quot;font-family: 굴림; font-size: 11pt;&quot;&gt;Ctrl + K&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: 굴림; font-size: 11pt;&quot;&gt;Ctrl + Shift + K&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;border-bottom: windowtext 1pt solid; border-left: medium none; border-right: windowtext 1pt solid; border-top: medium none; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 321.7pt;&quot; width=&quot;429&quot;&gt;&lt;span style=&quot;font-family: 굴림;&quot;&gt;Find previous / find next occurrence of search term (close find window first)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; border-right: windowtext 1pt solid; border-top: medium none; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 4cm;&quot; width=&quot;151&quot;&gt;&lt;span style=&quot;font-family: 굴림; font-size: 11pt;&quot;&gt;Ctrl + H&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;border-bottom: windowtext 1pt solid; border-left: medium none; border-right: windowtext 1pt solid; border-top: medium none; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 321.7pt;&quot; width=&quot;429&quot;&gt;&lt;span style=&quot;font-family: 굴림;&quot;&gt;Search Workspace (Java Search, Task Search, and File Search)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; border-right: windowtext 1pt solid; border-top: medium none; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 4cm;&quot; width=&quot;151&quot;&gt;&lt;span style=&quot;font-family: 굴림; font-size: 11pt;&quot;&gt;Ctrl + F6&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;border-bottom: windowtext 1pt solid; border-left: medium none; border-right: windowtext 1pt solid; border-top: medium none; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 321.7pt;&quot; width=&quot;429&quot;&gt;&lt;span style=&quot;font-family: 굴림;&quot;&gt;Show list of open Editors. Similar to ctrl+e but switches immediately upon release of ctrl&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; border-right: windowtext 1pt solid; border-top: medium none; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 4cm;&quot; width=&quot;151&quot;&gt;&lt;span style=&quot;font-family: 굴림; font-size: 11pt;&quot;&gt;Ctrl + F7&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: 굴림; font-size: 11pt;&quot;&gt;Ctrl + Shift + F7&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;border-bottom: windowtext 1pt solid; border-left: medium none; border-right: windowtext 1pt solid; border-top: medium none; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 321.7pt;&quot; width=&quot;429&quot;&gt;&lt;span style=&quot;font-family: 굴림;&quot;&gt;Switch forward / backward between views (panels). Useful for switching back and forth between Package Explorer and Editor.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; border-right: windowtext 1pt solid; border-top: medium none; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 4cm;&quot; width=&quot;151&quot;&gt;&lt;span style=&quot;font-family: 굴림; font-size: 11pt;&quot;&gt;Ctrl + F8&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: 굴림; font-size: 11pt;&quot;&gt;Ctrl + Shift + F8&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;border-bottom: windowtext 1pt solid; border-left: medium none; border-right: windowtext 1pt solid; border-top: medium none; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 321.7pt;&quot; width=&quot;429&quot;&gt;&lt;span style=&quot;font-family: 굴림;&quot;&gt;Switch forward / backward between perspectives&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; border-right: windowtext 1pt solid; border-top: medium none; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 4cm;&quot; width=&quot;151&quot;&gt;&lt;span style=&quot;font-family: 굴림; font-size: 11pt;&quot;&gt;&lt;strong&gt;&lt;span style=&quot;color: #193da9;&quot;&gt;Ctrl + F11&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;border-bottom: windowtext 1pt solid; border-left: medium none; border-right: windowtext 1pt solid; border-top: medium none; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 321.7pt;&quot; width=&quot;429&quot;&gt;&lt;span style=&quot;color: #193da9; font-family: 굴림;&quot;&gt;&lt;b&gt;Save and launch application (run)&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; border-right: windowtext 1pt solid; border-top: medium none; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 4cm;&quot; width=&quot;151&quot;&gt;&lt;span style=&quot;font-family: 굴림; font-size: 11pt;&quot;&gt;&lt;span style=&quot;color: #193da9;&quot;&gt;&lt;strong&gt;Ctrl + Shft + F&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;border-bottom: windowtext 1pt solid; border-left: medium none; border-right: windowtext 1pt solid; border-top: medium none; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 321.7pt;&quot; width=&quot;429&quot;&gt;&lt;span style=&quot;color: #193da9; font-family: 굴림;&quot;&gt;&lt;b&gt;Autoformat all code in Editor using code formatter&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td style=&quot;border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; border-right: windowtext 1pt solid; border-top: medium none; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 4cm;&quot; width=&quot;151&quot;&gt;&lt;span style=&quot;font-family: 굴림; font-size: 11pt;&quot;&gt;&lt;span style=&quot;color: #193da9;&quot;&gt;&lt;strong&gt;Ctrl + Shift + O&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;border-bottom: windowtext 1pt solid; border-left: medium none; border-right: windowtext 1pt solid; border-top: medium none; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 321.7pt;&quot; width=&quot;429&quot;&gt;&lt;span style=&quot;font-family: 굴림;&quot;&gt;&lt;span style=&quot;color: #193da9;&quot;&gt;&lt;strong&gt;Remove unnecessary import declare&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; border-right: windowtext 1pt solid; border-top: medium none; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 4cm;&quot; width=&quot;151&quot;&gt;&lt;span style=&quot;font-family: 굴림; font-size: 11pt;&quot;&gt;Ctrl + Alt + H&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;border-bottom: windowtext 1pt solid; border-left: medium none; border-right: windowtext 1pt solid; border-top: medium none; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 321.7pt;&quot; width=&quot;429&quot;&gt;&lt;span style=&quot;font-family: 굴림;&quot;&gt;Open Call Hierarchy&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; border-right: windowtext 1pt solid; border-top: medium none; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 4cm;&quot; width=&quot;151&quot;&gt;&lt;span style=&quot;font-family: 굴림; font-size: 11pt;&quot;&gt;Alt + Enter&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;border-bottom: windowtext 1pt solid; border-left: medium none; border-right: windowtext 1pt solid; border-top: medium none; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 321.7pt;&quot; width=&quot;429&quot;&gt;&lt;span style=&quot;font-family: 굴림;&quot;&gt;Show and access file properties&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; border-right: windowtext 1pt solid; border-top: medium none; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 4cm;&quot; width=&quot;151&quot;&gt;&lt;span style=&quot;font-family: 굴림; font-size: 11pt;&quot;&gt;Alt + Arrow Left&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: 굴림; font-size: 11pt;&quot;&gt;Alt + Arrow Right&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;border-bottom: windowtext 1pt solid; border-left: medium none; border-right: windowtext 1pt solid; border-top: medium none; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 321.7pt;&quot; width=&quot;429&quot;&gt;&lt;span style=&quot;font-family: 굴림;&quot;&gt;Go to previous / go to next Editor Window&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; border-right: windowtext 1pt solid; border-top: medium none; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 4cm;&quot; width=&quot;151&quot;&gt;&lt;span style=&quot;font-family: 굴림; font-size: 11pt;&quot;&gt;Alt + Shift + R&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;border-bottom: windowtext 1pt solid; border-left: medium none; border-right: windowtext 1pt solid; border-top: medium none; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 321.7pt;&quot; width=&quot;429&quot;&gt;&lt;span style=&quot;font-family: 굴림;&quot;&gt;Rename selected element and all references&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; border-right: windowtext 1pt solid; border-top: medium none; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 4cm;&quot; width=&quot;151&quot;&gt;&lt;span style=&quot;font-family: 굴림; font-size: 11pt;&quot;&gt;Alt + Shift + M&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;border-bottom: windowtext 1pt solid; border-left: medium none; border-right: windowtext 1pt solid; border-top: medium none; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 321.7pt;&quot; width=&quot;429&quot;&gt;&lt;span style=&quot;font-family: 굴림;&quot;&gt;Extract selection to method&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
</content><link rel='replies' type='application/atom+xml' href='http://xmlmanager.blogspot.com/feeds/2385079611696900857/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://xmlmanager.blogspot.com/2013/10/using-eclipse-shorcut.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8961917721976264152/posts/default/2385079611696900857'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8961917721976264152/posts/default/2385079611696900857'/><link rel='alternate' type='text/html' href='http://xmlmanager.blogspot.com/2013/10/using-eclipse-shorcut.html' title='Using eclipse shorcut! '/><author><name>Unknown</name><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-8961917721976264152.post-3717790331174351808</id><published>2013-10-06T07:17:00.003-07:00</published><updated>2013-10-06T07:18:13.397-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="HTML"/><category scheme="http://www.blogger.com/atom/ns#" term="regular"/><category scheme="http://www.blogger.com/atom/ns#" term="regular expression"/><category scheme="http://www.blogger.com/atom/ns#" term="tag"/><title type='text'>The Code that remove HTML tag using regular expression</title><content type='html'>&lt;div&gt;
&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
google_ad_client = &quot;ca-pub-6108463942613145&quot;;
/* 728x90 */
google_ad_slot = &quot;0436959149&quot;;
google_ad_width = 728;
google_ad_height = 90;
//--&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;script src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot; type=&quot;text/javascript&quot;&gt;
&lt;/script&gt;&lt;/div&gt;
&lt;br /&gt;
I need some source code that extract text from HTML.&lt;br /&gt;
Using regular expression it is very simple.&lt;br /&gt;
&lt;br /&gt;
It removes scripts, style, tags, entities, and whitespace.&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhr1ufynbqV5uAtXYPMTFRiBgWXNZzWTtCxf2GeqsbBCvxil5K-GnPu9707oRIfqv9FP8wtCW9gE8vm6iwyZV9-V3_d3ROz6JlF1D0bjkRlSF6LKkG7wMmEomFMxM2ks8d7wHh3e13ZExkO/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; private String getText(String content) {  
      Pattern SCRIPTS = Pattern.compile(&quot;&amp;amp;lt;(no)?script[^&amp;amp;gt;]*&amp;amp;gt;.*?&amp;amp;lt;/(no)?script&amp;amp;gt;&quot;,Pattern.DOTALL);  
      Pattern STYLE = Pattern.compile(&quot;&amp;amp;lt;style[^&amp;amp;gt;]*&amp;amp;gt;.*&amp;amp;lt;/style&amp;amp;gt;&quot;,Pattern.DOTALL);  
      Pattern TAGS = Pattern.compile(&quot;&amp;amp;lt;(\&quot;[^\&quot;]*\&quot;|\&#39;[^\&#39;]*\&#39;|[^\&#39;\&quot;&amp;amp;gt;])*&amp;amp;gt;&quot;);  
      Pattern nTAGS = Pattern.compile(&quot;&amp;amp;lt;\\w+\\s+[^&amp;amp;lt;]*\\s*&amp;amp;gt;&quot;);  
      Pattern ENTITY_REFS = Pattern.compile(&quot;&amp;amp;amp;[^;]+;&quot;);  
      Pattern WHITESPACE = Pattern.compile(&quot;\\s\\s+&quot;);  
        
      Matcher m;  
        
      m = SCRIPTS.matcher(content);  
      content = m.replaceAll(&quot;&quot;);  
      m = STYLE.matcher(content);  
      content = m.replaceAll(&quot;&quot;);  
      m = TAGS.matcher(content);  
      content = m.replaceAll(&quot;&quot;);  
      m = ENTITY_REFS.matcher(content);  
      content = m.replaceAll(&quot;&quot;);  
      m = WHITESPACE.matcher(content);  
      content = m.replaceAll(&quot; &quot;);             
        
      return content;  
 }  
&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
If you are interested, please try to test it.&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlmanager.blogspot.com/feeds/3717790331174351808/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://xmlmanager.blogspot.com/2013/10/the-code-that-remove-html-tag-using.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8961917721976264152/posts/default/3717790331174351808'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8961917721976264152/posts/default/3717790331174351808'/><link rel='alternate' type='text/html' href='http://xmlmanager.blogspot.com/2013/10/the-code-that-remove-html-tag-using.html' title='The Code that remove HTML tag using regular expression'/><author><name>Unknown</name><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-8961917721976264152.post-6568708452300410379</id><published>2013-09-30T08:02:00.000-07:00</published><updated>2013-09-30T08:07:03.254-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="CST"/><category scheme="http://www.blogger.com/atom/ns#" term="EST"/><category scheme="http://www.blogger.com/atom/ns#" term="GMT"/><category scheme="http://www.blogger.com/atom/ns#" term="java"/><category scheme="http://www.blogger.com/atom/ns#" term="local time"/><category scheme="http://www.blogger.com/atom/ns#" term="MST"/><category scheme="http://www.blogger.com/atom/ns#" term="PSF"/><category scheme="http://www.blogger.com/atom/ns#" term="time"/><category scheme="http://www.blogger.com/atom/ns#" term="time zone"/><category scheme="http://www.blogger.com/atom/ns#" term="UTC"/><title type='text'>The Function That Changes Global Time to Local Time in Java</title><content type='html'>The time zone is the issue when you make global service.&lt;br /&gt;
&lt;br /&gt;
There are four time zone in U.S.&lt;br /&gt;
PSF: &amp;nbsp;Pacific Standard Time&lt;br /&gt;
MST: Mountain Standard Time&lt;br /&gt;
CST: Central Standard Time&lt;br /&gt;
EST: Eastern Standard Time&lt;br /&gt;
&lt;br /&gt;
&lt;h1&gt;
The function of transformation from UTC/GMT to local time&lt;/h1&gt;
Sometimes you need to transform from standard time to local time.&lt;br /&gt;
You can use the function bellow.&lt;br /&gt;
&lt;br /&gt;
&lt;pre  style=&quot;font-family:arial;font-size:12px;border:1px dashed #CCCCCC;width:99%;height:auto;overflow:auto;background:#f0f0f0;;background-image:URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhr1ufynbqV5uAtXYPMTFRiBgWXNZzWTtCxf2GeqsbBCvxil5K-GnPu9707oRIfqv9FP8wtCW9gE8vm6iwyZV9-V3_d3ROz6JlF1D0bjkRlSF6LKkG7wMmEomFMxM2ks8d7wHh3e13ZExkO/s320/codebg.gif);padding:0px;color:#000000;text-align:left;line-height:20px;&quot;&gt;&lt;code style=&quot;color:#000000;word-wrap:normal;&quot;&gt; // Local Time -&amp;gt; UTC/GMT Time  
 public static long convertLocalTimeToUTC(long pv_localDateTime)  
 {  
   long lv_UTCTime = pv_localDateTime;  
     
   TimeZone z = TimeZone.getDefault();  
   //int offset = z.getRawOffset(); // The offset not includes daylight savings time  
   int offset = z.getOffset(pv_localDateTime); // The offset includes daylight savings time  
   lv_UTCTime = pv_localDateTime - offset;  
   return lv_UTCTime;  
 }  
   
 // UTC/GMT Time -&amp;gt; Local Time  
 public static long convertUTCToLocalTime(long pv_UTCDateTime)  
 {  
   long lv_localDateTime = pv_UTCDateTime;  
     
   TimeZone z = TimeZone.getDefault();  
   //int offset = z.getRawOffset(); // The offset not includes daylight savings time  
   int offset = z.getOffset(pv_UTCDateTime); // The offset includes daylight savings time  
     
   lv_localDateTime = pv_UTCDateTime + offset;  
     
   return lv_localDateTime;  
 }  
   
&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
It is very easy to understand.&lt;br /&gt;
You carefully check that the parameter with long type is return value from getDate() method in Date format.&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
google_ad_client = &quot;ca-pub-6108463942613145&quot;;
/* 728x90 */
google_ad_slot = &quot;0436959149&quot;;
google_ad_width = 728;
google_ad_height = 90;
//--&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;script src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot; type=&quot;text/javascript&quot;&gt;
&lt;/script&gt;&lt;/div&gt;
&lt;h1&gt;
Transform from UTC/GMT to local time using Date Format&lt;/h1&gt;
Actually there is a need to change the form of the type such as &quot;20120713064755&quot;.&lt;br /&gt;
This is the solution using SimpleDateFormat.&lt;br /&gt;
&lt;br /&gt;
&lt;pre  style=&quot;font-family:arial;font-size:12px;border:1px dashed #CCCCCC;width:99%;height:auto;overflow:auto;background:#f0f0f0;;background-image:URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhr1ufynbqV5uAtXYPMTFRiBgWXNZzWTtCxf2GeqsbBCvxil5K-GnPu9707oRIfqv9FP8wtCW9gE8vm6iwyZV9-V3_d3ROz6JlF1D0bjkRlSF6LKkG7wMmEomFMxM2ks8d7wHh3e13ZExkO/s320/codebg.gif);padding:0px;color:#000000;text-align:left;line-height:20px;&quot;&gt;&lt;code style=&quot;color:#000000;word-wrap:normal;&quot;&gt; import java.text.ParseException;  
 import java.text.SimpleDateFormat;  
 import java.util.Date;  
 import java.util.TimeZone;  
   
 public class ConverTimeZone {  
   
      public static void main(String[] args) {  
           // changes from UTC to local time  
           //String utcTime = &quot;20120713184755&quot;;  
           String utcTime = &quot;20120713064755&quot;;  
             
           String localTime = convertUtcToLocal(utcTime);  
             
           System.out.println(&quot;GMT/UTC: &quot; + utcTime + &quot;, local time: &quot; + localTime);  
      }  
   
      /**  
       * the function that changes from UTC to local time   
       * @author xmlmanager  
       * @param utcTime GMT/UTC (format: 20120713064755)  
       * @return String local time   
       */  
      private static String convertUtcToLocal(String utcTime) {  
           String localTime = &quot;&quot;;  
             
           // declare date format   
           SimpleDateFormat dateFormat = new SimpleDateFormat(&quot;yyyyMMddHHmmss&quot;);  
             
           try {  
                // changes from UTC to Date format  
                Date dateUtcTime = dateFormat.parse(utcTime);  
                  
                // changes from UTC Date format to the time of long type  
                long longUtcTime = dateUtcTime.getTime();  
                  
                // calculate the difference through TimeZone (if it is summer time, use getOffset than getRawOffset)  
                TimeZone zone = TimeZone.getDefault();  
                int offset = zone.getOffset(longUtcTime);  
                long longLocalTime = longUtcTime + offset;  
                  
                // changes from local time of long type to Date format  
                Date dateLocalTime = new Date();  
                dateLocalTime.setTime(longLocalTime);  
                  
                // return the string of local time  
                localTime = dateFormat.format(dateLocalTime);  
                  
           } catch (ParseException e) {  
                e.printStackTrace();  
           }             
             
           return localTime;  
      }  
 }  
   
&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
That&#39;s all!!&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlmanager.blogspot.com/feeds/6568708452300410379/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://xmlmanager.blogspot.com/2013/09/the-function-that-changes-global-time.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8961917721976264152/posts/default/6568708452300410379'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8961917721976264152/posts/default/6568708452300410379'/><link rel='alternate' type='text/html' href='http://xmlmanager.blogspot.com/2013/09/the-function-that-changes-global-time.html' title='The Function That Changes Global Time to Local Time in Java'/><author><name>Unknown</name><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-8961917721976264152.post-1681612592114856666</id><published>2013-09-29T08:39:00.000-07:00</published><updated>2013-09-29T08:39:06.411-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="c"/><category scheme="http://www.blogger.com/atom/ns#" term="comment"/><category scheme="http://www.blogger.com/atom/ns#" term="java"/><title type='text'>The Tip of Programming Comment</title><content type='html'>There are two type of comments in java and C.&lt;br /&gt;
&quot;//&quot; is the inline comment and &quot;/* .. */&quot; is the block comment.&lt;br /&gt;
&lt;br /&gt;
Sometimes mixing the two type of comments is very useful.&lt;br /&gt;
&lt;br /&gt;
If you use like this, the first line is comment and second line runs.&lt;br /&gt;
/*&lt;br /&gt;
This is comment.&lt;br /&gt;
/*/&lt;br /&gt;
This runs.&lt;br /&gt;
//*/&lt;br /&gt;
&lt;br /&gt;
When you add &quot;/&quot; in front of the &quot;/*&quot; at the beginning, it changes.&lt;br /&gt;
&lt;br /&gt;
//*&lt;br /&gt;
This runs.&lt;br /&gt;
/*/&lt;br /&gt;
This is comment.&lt;br /&gt;
//*/&lt;br /&gt;
&lt;br /&gt;
I used usually it when I need the test account.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhU4m8zKAGVf14Ys_NOPRdljQMGVVngYKZWfoQ_v40MZF9Bdkkhg6AW_gwap_27vKK4YsD4ayCciK07d400snLJbE5cdCBMO7aAVrtoChECbryBGyUbEWkXLyUmzqYXT9vOMPQCEuSCpyA-/s1600/comments.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhU4m8zKAGVf14Ys_NOPRdljQMGVVngYKZWfoQ_v40MZF9Bdkkhg6AW_gwap_27vKK4YsD4ayCciK07d400snLJbE5cdCBMO7aAVrtoChECbryBGyUbEWkXLyUmzqYXT9vOMPQCEuSCpyA-/s1600/comments.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlmanager.blogspot.com/feeds/1681612592114856666/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://xmlmanager.blogspot.com/2013/09/the-tip-of-programming-comment.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8961917721976264152/posts/default/1681612592114856666'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8961917721976264152/posts/default/1681612592114856666'/><link rel='alternate' type='text/html' href='http://xmlmanager.blogspot.com/2013/09/the-tip-of-programming-comment.html' title='The Tip of Programming Comment'/><author><name>Unknown</name><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><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhU4m8zKAGVf14Ys_NOPRdljQMGVVngYKZWfoQ_v40MZF9Bdkkhg6AW_gwap_27vKK4YsD4ayCciK07d400snLJbE5cdCBMO7aAVrtoChECbryBGyUbEWkXLyUmzqYXT9vOMPQCEuSCpyA-/s72-c/comments.png" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8961917721976264152.post-5601314858583598102</id><published>2012-03-31T07:58:00.000-07:00</published><updated>2012-03-31T07:58:10.126-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="bigdecimal"/><category scheme="http://www.blogger.com/atom/ns#" term="datatype"/><category scheme="http://www.blogger.com/atom/ns#" term="double"/><category scheme="http://www.blogger.com/atom/ns#" term="float"/><category scheme="http://www.blogger.com/atom/ns#" term="int"/><category scheme="http://www.blogger.com/atom/ns#" term="java"/><category scheme="http://www.blogger.com/atom/ns#" term="long"/><category scheme="http://www.blogger.com/atom/ns#" term="variable"/><title type='text'>Some problems of float and double variables in java</title><content type='html'>You must not use the &lt;b&gt;float or double&lt;/b&gt; datatype for accurate calculations.&lt;br /&gt;
At java programming, it doesn&#39;t get exact number to use the float or double datatype.&lt;br /&gt;
&lt;br /&gt;
For example, if you had 1.03 dollars and used 42 cents, you remained 61 cents. &lt;br /&gt;
Using java programming answers as follows.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
System.out.println(1.03 - .42);&lt;br /&gt;
&lt;br /&gt;
---------- Execute ----------&lt;br /&gt;
0.6100000000000001&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Not exactly what you want.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
Because the float and double was designed for science and engineering, it calculates so fast as an approximate value.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
So the float and double variables are imprecise.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
What you use for accurate calculations?&lt;/div&gt;
&lt;div&gt;
The answer is &lt;b&gt;int, long, and bigdecimal&lt;/b&gt;.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
I refer to the book of effective java programming language guide.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlmanager.blogspot.com/feeds/5601314858583598102/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://xmlmanager.blogspot.com/2012/03/some-problems-of-float-and-double.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8961917721976264152/posts/default/5601314858583598102'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8961917721976264152/posts/default/5601314858583598102'/><link rel='alternate' type='text/html' href='http://xmlmanager.blogspot.com/2012/03/some-problems-of-float-and-double.html' title='Some problems of float and double variables in java'/><author><name>Unknown</name><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-8961917721976264152.post-7224952674073325818</id><published>2012-03-13T06:36:00.001-07:00</published><updated>2012-03-18T17:53:54.086-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="GeoIP"/><category scheme="http://www.blogger.com/atom/ns#" term="global"/><category scheme="http://www.blogger.com/atom/ns#" term="homepage"/><category scheme="http://www.blogger.com/atom/ns#" term="IP"/><category scheme="http://www.blogger.com/atom/ns#" term="IP Address"/><category scheme="http://www.blogger.com/atom/ns#" term="MaxMind"/><title type='text'>How to verify country through Internet Protocol (IP)</title><content type='html'>Many global homepages support various languages such as English, French, Spanish, etc.&lt;br /&gt;
I wondered that it verified the languages according to visitor.&lt;br /&gt;
&lt;br /&gt;
By using cookies can be selected when the user had already visited.&lt;br /&gt;
If the user have visited at the homepage for the first time, &lt;br /&gt;
it will verify the country by user&#39;s IP address.&lt;br /&gt;
&lt;br /&gt;
The MaxMind(&lt;a href=&quot;http://www.maxmind.com/&quot;&gt;http://www.maxmind.com/&lt;/a&gt;) is provided APIs that  verified the country by IP address.  &lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDQ_lAx-w7DeEdsbC1Krpm7csT2L2eo07HNR7gqM0s9r9JSyd6CuAaYRTRiEKAdhma5bUloetVuvCDXpcRJBGcHZkGYhtvDM1HJYzBsnIRX-dgZ4jZJZpYetDCYLVjNzX1Yb7W2ZTQ2A2P/s1600/%25EC%258A%25A4%25ED%2581%25AC%25EB%25A6%25B0%25EC%2583%25B7_2012-03-06_%25EC%2598%25A4%25ED%259B%2584_5.41.59.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left:1em; margin-right:1em&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;400&quot; width=&quot;391&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDQ_lAx-w7DeEdsbC1Krpm7csT2L2eo07HNR7gqM0s9r9JSyd6CuAaYRTRiEKAdhma5bUloetVuvCDXpcRJBGcHZkGYhtvDM1HJYzBsnIRX-dgZ4jZJZpYetDCYLVjNzX1Yb7W2ZTQ2A2P/s400/%25EC%258A%25A4%25ED%2581%25AC%25EB%25A6%25B0%25EC%2583%25B7_2012-03-06_%25EC%2598%25A4%25ED%259B%2584_5.41.59.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
There are two APIs for geolocation solutions.&quot;GeoIP City&quot; and &quot;GeoLite City&quot;.  &lt;br /&gt;
GeoLite City is for free and less accurate than GeoIP City. &lt;br /&gt;
I think GeoLite City is too good to achieve our goals.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGn6m5Ho91JYuz76eNdWwSoIwuF_-h22Go0ss3JbqVkhS9YZppI39K5sN7-j_fjt1gOW6tizkXNhq2fMK8z6Z714iTDHXvYJR-Hkgm6yB0oQnsyMpa9HQOawqWGWautKDK5AWrr315wnnd/s1600/%25EC%258A%25A4%25ED%2581%25AC%25EB%25A6%25B0%25EC%2583%25B7_2012-03-06_%25EC%2598%25A4%25ED%259B%2584_5.50.39.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left:1em; margin-right:1em&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;219&quot; width=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGn6m5Ho91JYuz76eNdWwSoIwuF_-h22Go0ss3JbqVkhS9YZppI39K5sN7-j_fjt1gOW6tizkXNhq2fMK8z6Z714iTDHXvYJR-Hkgm6yB0oQnsyMpa9HQOawqWGWautKDK5AWrr315wnnd/s400/%25EC%258A%25A4%25ED%2581%25AC%25EB%25A6%25B0%25EC%2583%25B7_2012-03-06_%25EC%2598%25A4%25ED%259B%2584_5.50.39.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div&gt;&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
google_ad_client = &quot;ca-pub-6108463942613145&quot;;
/* 728x90 */
google_ad_slot = &quot;0436959149&quot;;
google_ad_width = 728;
google_ad_height = 90;
//--&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;
&lt;/script&gt;&lt;/div&gt;&lt;br /&gt;
Now I use the GeoLite City API to get the country into an IP address. &lt;br /&gt;
The API has supported for multiple program languages. &lt;br /&gt;
I use PHP programming language for this sample. &lt;br /&gt;
You go to &lt;a href=&quot;http://www.maxmind.com/app/php&quot;&gt;http://www.maxmind.com/app/php&lt;/a&gt; and download &lt;a href=&quot;http://geolite.maxmind.com/download/geoip/api/php/&quot;&gt;Pure PHP Module&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhD1mRe7J-5VR70GCorM45CLLJxN2RG3HWUDw0g8FFJ757zqayqQZ0mYoyihbANItvLPkQRLui0pgDM3Hk7RV1uo0DvionYMfsVGZU92605COVyqDpREKoQ0ystWX2mItKy1bkUSKxiGwFB/s1600/%25EC%258A%25A4%25ED%2581%25AC%25EB%25A6%25B0%25EC%2583%25B7_2012-03-07_%25EC%2598%25A4%25ED%259B%2584_2.24.31.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left:1em; margin-right:1em&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;247&quot; width=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhD1mRe7J-5VR70GCorM45CLLJxN2RG3HWUDw0g8FFJ757zqayqQZ0mYoyihbANItvLPkQRLui0pgDM3Hk7RV1uo0DvionYMfsVGZU92605COVyqDpREKoQ0ystWX2mItKy1bkUSKxiGwFB/s400/%25EC%258A%25A4%25ED%2581%25AC%25EB%25A6%25B0%25EC%2583%25B7_2012-03-07_%25EC%2598%25A4%25ED%259B%2584_2.24.31.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
I download &quot;sample.php&quot; of many sources. &lt;br /&gt;
The content of sample.php is as follows. &lt;br /&gt;
&lt;br /&gt;
#!/usr/bin/php -q  &lt;br /&gt;
&amp;lt;?php  &lt;br /&gt;
&lt;br /&gt;
// This code demonstrates how to lookup the country by IP Address  &lt;br /&gt;
&lt;br /&gt;
include(&quot;geoip.inc&quot;);  &lt;br /&gt;
&lt;br /&gt;
// Uncomment if querying against GeoIP/Lite City.  &lt;br /&gt;
// include(&quot;geoipcity.inc&quot;);  &lt;br /&gt;
&lt;br /&gt;
$gi = geoip_open(&quot;/usr/local/share/GeoIP/GeoIP.dat&quot;,GEOIP_STANDARD);  &lt;br /&gt;
&lt;br /&gt;
echo geoip_country_code_by_addr($gi, &quot;24.24.24.24&quot;) . &quot;\t&quot; .  &lt;br /&gt;
geoip_country_name_by_addr($gi, &quot;24.24.24.24&quot;) . &quot;\n&quot;;  &lt;br /&gt;
echo geoip_country_code_by_addr($gi, &quot;80.24.24.24&quot;) . &quot;\t&quot; .  &lt;br /&gt;
geoip_country_name_by_addr($gi, &quot;80.24.24.24&quot;) . &quot;\n&quot;;  &lt;br /&gt;
&lt;br /&gt;
geoip_close($gi);  &lt;br /&gt;
&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Look at the source. It includes &quot;geoip.inc&quot; file. &lt;br /&gt;
I download &quot;geoip.inc&quot; from Pure PHP Module.   &lt;br /&gt;
&lt;br /&gt;
Also we need to download &quot;GeoIP.dat&quot; files. It is binary format database.&lt;br /&gt;
You can download it next link.&lt;br /&gt;
&lt;a href=&quot;http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz&quot;&gt;http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Unzip that file and copy it in server. &lt;br /&gt;
&lt;br /&gt;
This example shows the country code and name. &lt;br /&gt;
For global homepage, I just need to know the country code. &lt;br /&gt;
&lt;br /&gt;
I make PHP source to verify country through IP address and redirect to each language page. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;?   &lt;br /&gt;
include(&quot;geoip.inc&quot;);  &lt;br /&gt;
&lt;br /&gt;
$gi = geoip_open(&quot;/usr/local/geoip/GeoIP.dat&quot;,GEOIP_STANDARD);  &lt;br /&gt;
$addr = $_SERVER[&quot;REMOTE_ADDR&quot;];  &lt;br /&gt;
&lt;br /&gt;
if (geoip_country_code_by_addr($gi, $addr) == &quot;FR&quot;) {  &lt;br /&gt;
header(&quot;Location: http://xmlmanager.blogspot.com/fr/&quot;);   &lt;br /&gt;
exit;  &lt;br /&gt;
}  &lt;br /&gt;
else {   &lt;br /&gt;
header(&quot;Location: http://xmlmanager.blogspot.com/en/&quot;);   &lt;br /&gt;
exit;  &lt;br /&gt;
}  &lt;br /&gt;
?&amp;gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlmanager.blogspot.com/feeds/7224952674073325818/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://xmlmanager.blogspot.com/2012/03/how-to-verify-country-through-internet.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8961917721976264152/posts/default/7224952674073325818'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8961917721976264152/posts/default/7224952674073325818'/><link rel='alternate' type='text/html' href='http://xmlmanager.blogspot.com/2012/03/how-to-verify-country-through-internet.html' title='How to verify country through Internet Protocol (IP)'/><author><name>Unknown</name><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><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDQ_lAx-w7DeEdsbC1Krpm7csT2L2eo07HNR7gqM0s9r9JSyd6CuAaYRTRiEKAdhma5bUloetVuvCDXpcRJBGcHZkGYhtvDM1HJYzBsnIRX-dgZ4jZJZpYetDCYLVjNzX1Yb7W2ZTQ2A2P/s72-c/%25EC%258A%25A4%25ED%2581%25AC%25EB%25A6%25B0%25EC%2583%25B7_2012-03-06_%25EC%2598%25A4%25ED%259B%2584_5.41.59.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8961917721976264152.post-3972514673867632942</id><published>2012-02-22T19:57:00.040-08:00</published><updated>2012-02-27T02:01:09.686-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="mobile web"/><category scheme="http://www.blogger.com/atom/ns#" term="swipe"/><title type='text'>Using SwipeView for a swipe gesture in mobile web</title><content type='html'>In mobile web, the swipe is the most commonly used features.&lt;br /&gt;
However, It is difficult to implement it. &lt;br /&gt;
It need to write many javascript code.&lt;br /&gt;
&lt;br /&gt;
I introduce the SwipeView service. &lt;br /&gt;
It provide some script that handle swipe features.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://cubiq.org/swipeview&quot;&gt;http://cubiq.org/swipeview&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4HB6KS1kciBi66BoWgUqEkO5ENoA8v7oCGozJUCCqNzafzrnP3-a3xr9EX3o9qEjceytfEX-YyJS9l5kdr5_zKgvEw_57e7BdHfnnYtAoheE32jHBK6sUlPlswGWk6MMarvASmmC5CAF7/s1600/image1.png&quot; imageanchor=&quot;1&quot; style=&quot;clear:left; float:left;margin-right:1em; margin-bottom:1em&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;213&quot; width=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4HB6KS1kciBi66BoWgUqEkO5ENoA8v7oCGozJUCCqNzafzrnP3-a3xr9EX3o9qEjceytfEX-YyJS9l5kdr5_zKgvEw_57e7BdHfnnYtAoheE32jHBK6sUlPlswGWk6MMarvASmmC5CAF7/s400/image1.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div&gt;&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
google_ad_client = &quot;ca-pub-6108463942613145&quot;;
/* 728x90 */
google_ad_slot = &quot;0436959149&quot;;
google_ad_width = 728;
google_ad_height = 90;
//--&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;
&lt;/script&gt;&lt;/div&gt;&lt;br /&gt;
The video is as follows.&lt;br /&gt;
&lt;br /&gt;
&lt;iframe src=&quot;http://player.vimeo.com/video/30263039?title=0&amp;amp;byline=0&amp;amp;portrait=0&quot; width=&quot;400&quot; height=&quot;400&quot; frameborder=&quot;0&quot; webkitallowfullscreen=&quot;&quot; mozallowfullscreen=&quot;&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;br /&gt;
It contains various contents such as image, text, and so on.&lt;br /&gt;
&lt;br /&gt;
The image demo is as follows.&lt;br /&gt;
&lt;a href=&quot;http://cubiq.org/dropbox/SwipeView/demo/gallery/&quot;&gt;http://cubiq.org/dropbox/SwipeView/demo/gallery/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
The text demo is as follows.&lt;br /&gt;
&lt;a href=&quot;http://cubiq.org/dropbox/SwipeView/demo/ereader/&quot;&gt;http://cubiq.org/dropbox/SwipeView/demo/ereader/&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://xmlmanager.blogspot.com/feeds/3972514673867632942/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://xmlmanager.blogspot.com/2012/02/using-swipeview-for-swipe-gesture-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8961917721976264152/posts/default/3972514673867632942'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8961917721976264152/posts/default/3972514673867632942'/><link rel='alternate' type='text/html' href='http://xmlmanager.blogspot.com/2012/02/using-swipeview-for-swipe-gesture-in.html' title='Using SwipeView for a swipe gesture in mobile web'/><author><name>Unknown</name><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><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4HB6KS1kciBi66BoWgUqEkO5ENoA8v7oCGozJUCCqNzafzrnP3-a3xr9EX3o9qEjceytfEX-YyJS9l5kdr5_zKgvEw_57e7BdHfnnYtAoheE32jHBK6sUlPlswGWk6MMarvASmmC5CAF7/s72-c/image1.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8961917721976264152.post-1500928462632401741</id><published>2012-02-08T02:14:00.000-08:00</published><updated>2012-02-14T01:15:51.862-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="audio"/><category scheme="http://www.blogger.com/atom/ns#" term="HTML5"/><title type='text'>A test of blog&#39;s BGM using HTML5</title><content type='html'>&lt;audio autoplay=&quot;autoplay&quot;&gt;&lt;br /&gt;
&lt;source src=&quot;http://blog.acronym.co.kr/attachement/cfile25.uf@11435F3C4ED763F003E602.mp3&quot; type=&quot;audio/mpeg&quot;&gt;&lt;/source&gt;&lt;br /&gt;
&lt;source src=&quot;http://blog.acronym.co.kr/attachment/cfile24.uf@1621603C4ED763E61A3BFD.ogg&quot; type=&quot;audio/ogg&quot;&gt;&lt;/source&gt;&lt;br /&gt;
It can not be used this HTML5 test at current web browser (Use chrome, Safari, and firefox)&lt;br /&gt;
&lt;/audio&gt;&lt;br /&gt;
W3Schools.com have had many information about standard of W3C.&lt;br /&gt;
Especially It announced HTML5 tutorials.&amp;nbsp;It&#39;s very useful for me.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.w3schools.com/html5/default.asp&quot;&gt;http://www.w3schools.com/html5/default.asp&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Some blogs have a background music such as BGM.&lt;br /&gt;
Most of all are used windows media player in Internet Explorer.&lt;br /&gt;
&lt;br /&gt;
This sample used &amp;lt;audio&amp;gt; tag of HTML5.&lt;br /&gt;
I set auto play and hided controls. Maybe you can listen to music in this post. &lt;br /&gt;
&lt;br /&gt;
Of course, It can be played in a browser that support &amp;lt;audio&amp;gt; tag of HTML5.&lt;br /&gt;
Under Internet Explorer 8, you saw just some text.&lt;br /&gt;
&lt;br /&gt;
The source is as follows. &lt;br /&gt;
In the below source it is set control and repeat.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;&amp;lt;audio autoplay=&quot;autoplay&quot; loop=&quot;loop&quot; controls=&quot;controls&quot;&amp;gt; &lt;br /&gt;
&amp;nbsp; &amp;lt;source src=&quot;rain.mp3&quot; type=&quot;audio/mpeg&quot; /&amp;gt; &lt;br /&gt;
&amp;nbsp; &amp;lt;source src=&quot;rain.ogg&quot; type=&quot;audio/ogg&quot; /&amp;gt; &lt;br /&gt;
&amp;lt;/audio&amp;gt;&lt;/blockquote&gt;&lt;br /&gt;
I tested at mobile environment.&lt;br /&gt;
Android is a fully working &amp;nbsp;auto play.&lt;br /&gt;
Though iPhone support HTML5, it is not working auto play.&lt;br /&gt;
Only when the user clicks, the music is playing.</content><link rel='replies' type='application/atom+xml' href='http://xmlmanager.blogspot.com/feeds/1500928462632401741/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://xmlmanager.blogspot.com/2012/02/test-of-blogs-bgm-using-html5.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8961917721976264152/posts/default/1500928462632401741'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8961917721976264152/posts/default/1500928462632401741'/><link rel='alternate' type='text/html' href='http://xmlmanager.blogspot.com/2012/02/test-of-blogs-bgm-using-html5.html' title='A test of blog&#39;s BGM using HTML5'/><author><name>Unknown</name><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>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8961917721976264152.post-5519378296915425760</id><published>2012-02-06T03:48:00.000-08:00</published><updated>2012-02-17T09:14:29.970-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="XML"/><title type='text'>XML Quiz...</title><content type='html'>Please answer next items as &amp;nbsp;O or X&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) XML stands for “Example Markup Language”.&lt;br /&gt;
&lt;br /&gt;
2) XML uses a DTD to describe the data.&lt;br /&gt;
&lt;br /&gt;
3) XML’s goal is to replace HTML.&lt;br /&gt;
&lt;br /&gt;
4) DTD stands for “Dynamic Type Definition”.&lt;br /&gt;
&lt;br /&gt;
5) All XML documents must have a DTD.&lt;br /&gt;
&lt;br /&gt;
6) All XML elements must be properly closed.&lt;br /&gt;
&lt;br /&gt;
7) XML documents must have a root tag.&lt;br /&gt;
&lt;br /&gt;
8) XML elements cannot be empty.&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
.&lt;br /&gt;
.&lt;br /&gt;
.&lt;br /&gt;
.&lt;br /&gt;
.&lt;br /&gt;
.&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
The answer is as follows.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) XML stands for “Example Markup Language”. (X)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; XML stands for &quot;eXtensible Markup Language&quot;.&lt;br /&gt;
&lt;br /&gt;
2) XML uses a DTD to describe the data. (O)&lt;br /&gt;
&lt;br /&gt;
3) XML’s goal is to replace HTML. (X)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; XML&#39;s goal is to replace SGML.&lt;br /&gt;
&lt;br /&gt;
4) DTD stands for “Dynamic Type Definition”. (X)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; DTD stands for &quot;Document Type Definition&quot;. &lt;br /&gt;
&lt;br /&gt;
5) All XML documents must have a DTD. (X)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; Well-formed XML documents have not a DTD.&lt;br /&gt;
&lt;br /&gt;
6) All XML elements must be properly closed. (O)&lt;br /&gt;
&lt;br /&gt;
7) XML documents must have a root tag. (O)&lt;br /&gt;
&lt;br /&gt;
8) XML elements cannot be empty. (X)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; XML elements can be empty.</content><link rel='replies' type='application/atom+xml' href='http://xmlmanager.blogspot.com/feeds/5519378296915425760/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://xmlmanager.blogspot.com/2012/02/xml-quiz.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8961917721976264152/posts/default/5519378296915425760'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8961917721976264152/posts/default/5519378296915425760'/><link rel='alternate' type='text/html' href='http://xmlmanager.blogspot.com/2012/02/xml-quiz.html' title='XML Quiz...'/><author><name>Unknown</name><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>