<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:georss="http://www.georss.org/georss" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-7964811257176293796</atom:id><lastBuildDate>Sat, 14 Nov 2009 08:50:18 +0000</lastBuildDate><title>井民全觀點 (Jing's Perspective)</title><description /><link>http://mqjing.blogspot.com/</link><managingEditor>noreply@blogger.com (Jing(井民全))</managingEditor><generator>Blogger</generator><openSearch:totalResults>386</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/blogspot/pMJp" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7964811257176293796.post-5251476446206459060</guid><pubDate>Sat, 07 Nov 2009 10:35:00 +0000</pubDate><atom:updated>2009-11-07T02:35:14.257-08:00</atom:updated><title>[NativeClient] UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xbf</title><description>&lt;p&gt;&lt;font color="#0000ff" size="6"&gt;這個&lt;/font&gt;問題一直困擾著我, 讓我一度以為沒辦法在 Windows 平台上編譯完整的 NativeClient SDK! 每次下指令 .\scons,&amp;#160; Python 系統就會出現一堆如下的錯誤訊息.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_OpTu0L4lWpY/SvVNDAGfWuI/AAAAAAAABF8/XDMuzI0KtYg/s1600-h/snap003%5B4%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="snap003" border="0" alt="snap003" src="http://lh5.ggpht.com/_OpTu0L4lWpY/SvVNG--snkI/AAAAAAAABGA/_d1Ryn_v7u4/snap003_thumb%5B2%5D.jpg?imgmax=800" width="513" height="339" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;我猜應該是 Regional and Language Options 裡面的設定問題. 可是我不想花時間搞這個了. 留給高手來回答這個問題!&lt;/p&gt;  &lt;p&gt;這年頭玩 game 還要趕時間, Xbox360 買一堆 Game 還沒全破, 所以 …&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;解藥:&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;&amp;#160;&amp;#160;&amp;#160; #### 如果一定要在 Windows 完成工作 ####&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; Step 1: 安裝 VirtualBox&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; Step 2: 重裝 Windows, 用最乾淨的環境試試看.&amp;#160; &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (當然, 如果你用 Ubuntu Linux 編譯, 則是一路順暢)&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; Step 3: 不算解決的解決!&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;a href="http://lh4.ggpht.com/_OpTu0L4lWpY/SvVNPBvGREI/AAAAAAAABGE/EaTZ4MwI5_0/s1600-h/snap003%5B8%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="snap003" border="0" alt="snap003" src="http://lh3.ggpht.com/_OpTu0L4lWpY/SvVNYMiZOhI/AAAAAAAABGI/DGzCysW32uI/snap003_thumb%5B4%5D.jpg?imgmax=800" width="555" height="329" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;by Jing.&lt;/p&gt;  &lt;p&gt;Enjoy.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7964811257176293796-5251476446206459060?l=mqjing.blogspot.com'/&gt;&lt;/div&gt;</description><link>http://mqjing.blogspot.com/2009/11/nativeclient-unicodedecodeerror-ascii.html</link><author>noreply@blogger.com (Jing(井民全))</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7964811257176293796.post-3437312227383964217</guid><pubDate>Sat, 07 Nov 2009 10:13:00 +0000</pubDate><atom:updated>2009-11-07T02:14:54.513-08:00</atom:updated><title>[NativeClient] This version of Native Client has expired</title><description>&lt;p&gt;&lt;a href="http://lh4.ggpht.com/_OpTu0L4lWpY/SvVDhuHsGuI/AAAAAAAABF0/xQ7UP3Km4oQ/s1600-h/snap003%5B4%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="snap003" border="0" alt="snap003" src="http://lh6.ggpht.com/_OpTu0L4lWpY/SvVDj9nB0BI/AAAAAAAABF4/8RIeLEXc3lc/snap003_thumb%5B2%5D.jpg?imgmax=800" width="486" height="141" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;症狀描述:&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;原本好好的, 過幾天後突然不能動了.&lt;/p&gt;  &lt;p&gt;然後出現 “This version of Native Client has expired” 訊息.&lt;/p&gt;  &lt;p&gt;我發誓, 我什麼都沒動 !!!&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;解藥:&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;NativeClient 一直在更新, 你的版本已經舊了, 請直接到 &lt;a title="http://code.google.com/p/nativeclient/" href="http://code.google.com/p/nativeclient/"&gt;http://code.google.com/p/nativeclient/&lt;/a&gt;&amp;#160;&amp;#160; 下載最新的程式碼&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Step 1:&lt;/strong&gt; 直接下指令倒進你原來的 sdk code 裡面, 完成!&lt;/p&gt;  &lt;p&gt;ex:&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; gzip –dc nacl_linux_782_2009_09_25a.tgz | tar xvf -&amp;#160;&amp;#160; &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;font color="#0000ff"&gt;&amp;#160;&amp;#160;&amp;#160; (注意: 最後有那一槓)&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Step 2:&lt;/strong&gt; 再執行 $python run.py&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Step 3: Enjoy.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;by Jing&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7964811257176293796-3437312227383964217?l=mqjing.blogspot.com'/&gt;&lt;/div&gt;</description><link>http://mqjing.blogspot.com/2009/11/nativeclient-this-version-of-native_07.html</link><author>noreply@blogger.com (Jing(井民全))</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7964811257176293796.post-4962387572966897597</guid><pubDate>Sat, 07 Nov 2009 09:10:00 +0000</pubDate><atom:updated>2009-11-07T01:16:13.155-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">讀書</category><title>[讀書] 啟動正向吸引力的鑰匙 --- The Key</title><description>&lt;p align="center"&gt;&lt;a href="http://www.books.com.tw/exep/prod/booksfile.php?item=0010420638"&gt;&lt;img src="http://www.books.com.tw/exep/lib/image.php?image=http://addons.books.com.tw/G/001/8/0010420638.jpg&amp;amp;width=85&amp;amp;height=120" width="140" height="192" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p align="left"&gt;&lt;font color="#0080ff" size="6"&gt;本週&lt;/font&gt;我的同事 Wing 借我這本書閱讀, 我覺得收穫良多. 下面是我認為對我有影響的字句.&lt;/p&gt;  &lt;p align="left"&gt;&amp;#160;&lt;/p&gt;  &lt;p align="left"&gt;與大家分享.&lt;/p&gt;  &lt;p align="left"&gt;&amp;#160;&lt;/p&gt;  &lt;p align="left"&gt;1. 接受 CNN 賴瑞金現場專訪時, 我承認很緊張... 我擔心我說錯話.&lt;/p&gt;  &lt;p&gt;&lt;font color="#ff0000"&gt;我該怎麼辦?&lt;/font&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;從德州飛往洛杉磯的路上 …   &lt;br /&gt;&lt;font color="#0000ff"&gt;我拿起一個本子和我的筆, 開始寫下我希望在電視節目中呈現的樣子.&lt;/font&gt;    &lt;br /&gt;&lt;font color="#0000ff"&gt;看到自己和賴瑞金在一起, 描述著我的感受和經驗, &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;&lt;font color="#404040"&gt;假設那已經發生過一般&lt;/font&gt;.&lt;/font&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;我把這個寫下來的影像&lt;font color="#ff0000"&gt;盡可能描述的詳細完整, 融入能量和情緒&lt;/font&gt;並且感覺事情真的就會那樣發生.    &lt;br /&gt;..    &lt;br /&gt;當我寫完後, 我一讀再讀. &lt;/p&gt;  &lt;p&gt;... &lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;那天晚上, 當我坐在賴瑞金前面, 攝影機對著我們兩人,     &lt;br /&gt;我覺得既平靜又自信.&lt;/font&gt; &lt;/p&gt;  &lt;p&gt;我回答他的問題, 微笑, 大笑....&amp;#160;&amp;#160;&amp;#160;&amp;#160; page 114. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;2. &lt;font color="#0000ff"&gt;相信就可以做到!&lt;/font&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;3. [&lt;font color="#0000ff"&gt;你真正相信的事情總是會發生; 你對一件事的信心會促使它發生&lt;/font&gt;] &amp;lt;Frank Lloyd Wright&amp;gt; page 54 &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;4. Aude aliquid dignum: 意思是[&lt;font color="#ff0000"&gt;大膽去做值得的事&lt;/font&gt;]. page 55 &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;5.&amp;#160; 如果我們都假設 [ 公認的事實就是事實],    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 進步的希望就很渺茫 &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; --- Orville Wright. page 79&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;by Jing.&lt;/p&gt;  &lt;p&gt;Enjoy!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7964811257176293796-4962387572966897597?l=mqjing.blogspot.com'/&gt;&lt;/div&gt;</description><link>http://mqjing.blogspot.com/2009/11/key.html</link><author>noreply@blogger.com (Jing(井民全))</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7964811257176293796.post-7647982846138541651</guid><pubDate>Wed, 28 Oct 2009 08:09:00 +0000</pubDate><atom:updated>2009-10-28T01:16:06.071-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">技術</category><title>[技術] 使用 OpenCV 進行 KNN 分類最簡單範例</title><description>&lt;p&gt;&lt;a href="http://lh4.ggpht.com/_OpTu0L4lWpY/Suf8UP4oVyI/AAAAAAAABFs/C2UyUS7S41Y/s1600-h/snap003%5B2%5D.jpg"&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="snap003" border="0" alt="snap003" src="http://lh6.ggpht.com/_OpTu0L4lWpY/Suf8VGPynqI/AAAAAAAABFw/cKLjlm8yqhA/snap003_thumb.jpg?imgmax=800" width="232" height="244" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff" size="6"&gt;&lt;strong&gt;工作&lt;/strong&gt;&lt;/font&gt;是這樣的, 我們希望學習到下面的事情:     &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; A. 產生最簡單的兩個 normal distribution 分佈 training sets&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; B. 丟給 KNN 學習     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; C. 放 sample data 給 KNN, 進行預測&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;這裡有幾個關鍵:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;如何產生 training data&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#008000"&gt;// Step 0: 建立 100 組 (x,y) 資料的陣列 與 存放標準答案的陣列      &lt;br /&gt;&lt;/font&gt;int train_sample_count=100;     &lt;br /&gt;CvMat* trainData = cvCreateMat(train_sample_count,2,CV_32FC1);&amp;#160; &lt;br /&gt;CvMat* trainClasses = cvCreateMat( train_sample_count, 1,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; CV_32FC1 );&amp;#160; &lt;br /&gt;CvRNG rng_state = cvRNG(-1); // 亂數產生器: 產生 normalization 使用&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;font color="#008000"&gt;// Step 1: 第一筆資料      &lt;br /&gt;//&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 陣列 index 0 - 99 的地方, 放training set 數值       &lt;br /&gt;//&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 分佈型態&amp;#160; normal distribution,       &lt;br /&gt;//&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; mean value=(&lt;strong&gt;&lt;font color="#0000ff"&gt;200,200&lt;/font&gt;&lt;/strong&gt;), Variance=(&lt;strong&gt;&lt;font color="#ff0000"&gt;50,50&lt;/font&gt;&lt;/strong&gt;)       &lt;br /&gt;&lt;/font&gt;&amp;#160;&amp;#160;&amp;#160; CvMat trainData1;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; cvGetRows( trainData, &amp;amp;trainData1, 0, train_sample_count/2 );&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; cvRandArr( &amp;amp;rng_state, &amp;amp;trainData1, CV_RAND_NORMAL,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; cvScalar(&lt;font color="#0000ff"&gt;&lt;strong&gt;200,200&lt;/strong&gt;&lt;/font&gt;), cvScalar(&lt;strong&gt;&lt;font color="#ff0000"&gt;50,50&lt;/font&gt;&lt;/strong&gt;)); &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;font color="#008000"&gt;// Step 2: 指定第一筆資料全部屬於類別 1      &lt;br /&gt;&lt;/font&gt;&amp;#160;&amp;#160;&amp;#160; CvMat trainClasses1;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; cvGetRows(trainClasses, &amp;amp;trainClasses1, 0, train_sample_count/2 );&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; cvSet( &amp;amp;trainClasses1, cvScalar(1));&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;如何把 training set 丟給 KNN 物件學習?&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#008000"&gt;// Step 1: 建立 KNN 物件&lt;/font&gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; int K=10;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; CvKNearest knn( trainData, trainClasses, 0, false, K ); &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;如何對一個 testing sample 進行分類?&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#008000"&gt;// Step 1: 進行 KNN 的預測&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;font color="#008000"&gt;// a. 設定 testing sample 的值&lt;/font&gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; sample.data.fl[0] = (float)j;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; sample.data.fl[1] = (float)i; &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;font color="#0000ff"&gt;// [關鍵片段]      &lt;br /&gt;&lt;/font&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;font color="#008000"&gt;// b. 利用 KNN 演算法取得最近的 K 個 samples. ex:[0,1,0,...,1]      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; //&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; return the nearest class&lt;/font&gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;font color="#ff0000"&gt;float response = knn.find_nearest(&amp;amp;sample,K,0,0,nearests,0);&lt;/font&gt;     &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;font color="#008000"&gt;// c. KNN 預測的結果與標準答案的比較      &lt;br /&gt;&lt;/font&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; for(k = 0, accuracy = 0; k &amp;lt; K; k++ ){     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if( nearests-&amp;gt;data.fl[k] == response)     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; accuracy++; // 計算 K 個最接近的 label, 符合標準答案的數量     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; } &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;font color="#008000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; // d. 若預測結果正確的數值超過一半, 則使用紅色/綠色表示      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; //&amp;#160;&amp;#160;&amp;#160; 否則使用橘色表示       &lt;br /&gt;&lt;/font&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; cvSet2D( img, i, j, response == 1 ?     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (accuracy &amp;gt; 5 ? CV_RGB(180,0,0) : CV_RGB(180,120,0)) :     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (accuracy &amp;gt; 5 ? CV_RGB(0,180,0) : CV_RGB(120,120,0)) );     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;現在你可以看完整的範例了. [&lt;/font&gt;&lt;a href="http://debut.cis.nctu.edu.tw/~ching/Course/01_OpenCV/05_knn_algorithm/src/demo.cpp"&gt;View&lt;/a&gt;]&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Enjoy.&lt;/p&gt;  &lt;p&gt;by Jing.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7964811257176293796-7647982846138541651?l=mqjing.blogspot.com'/&gt;&lt;/div&gt;</description><link>http://mqjing.blogspot.com/2009/10/opencv-knn.html</link><author>noreply@blogger.com (Jing(井民全))</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7964811257176293796.post-3588251860652618313</guid><pubDate>Tue, 27 Oct 2009 12:26:00 +0000</pubDate><atom:updated>2009-10-27T05:27:35.144-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">JavaScript</category><title>[JavaScript] 如何動態地改變 Object 可顯示區域的大小?</title><description>&lt;p&gt;&amp;#160;&amp;#160;&amp;#160; 答案很簡單:&lt;/p&gt;  &lt;p&gt;&lt;font color="#008000"&gt;&amp;#160;&amp;#160;&amp;#160; document.all.物件ID.height=h;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; document.all.物件ID.width=w;&lt;/font&gt; &lt;/p&gt;  &lt;p&gt;ex:   &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; document.all.obj123.height=h;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; document.all.obj123.width=w;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;那麼, 如何取得顯示區域大小?&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#008000"&gt;pageheight=document.body.clientHeight ;     &lt;br /&gt;pagewidth=document.body.clientWidth;&lt;/font&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7964811257176293796-3588251860652618313?l=mqjing.blogspot.com'/&gt;&lt;/div&gt;</description><link>http://mqjing.blogspot.com/2009/10/javascript-object.html</link><author>noreply@blogger.com (Jing(井民全))</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7964811257176293796.post-4931336134504983616</guid><pubDate>Mon, 26 Oct 2009 13:38:00 +0000</pubDate><atom:updated>2009-10-26T06:38:03.111-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">ActiveX</category><title>[ActiveX] 在 ActiveX 中如何傳回 BSTR 字串?</title><description>&lt;p&gt;下面是一個範例&lt;/p&gt;  &lt;p&gt;&lt;font color="#008000"&gt;// 從 ActiveX 傳回 BSTR 字串     &lt;br /&gt;// by Jing &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#008000"&gt;// Usage 使用方法     &lt;br /&gt;BSTR getMyData(void){      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; AFX_MANAGE_STATE(AfxGetStaticModuleState());      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; BSTR&amp;#160; MyBstr=SysAllocString(L&amp;quot;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;quot;);      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; myObj.getStrDATA(&amp;amp;MyBstr); &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#008000"&gt;&amp;#160;&amp;#160;&amp;#160; return MyBstr;     &lt;br /&gt;} &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#008000"&gt;// end of Usage&lt;/font&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;// ActiveX part   &lt;br /&gt;HRESULT STDMETHODCALLTYPE getString(BSTR* strDATA){    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; // 要轉的字串    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; char* CurrentData=&amp;quot;1,0,0,50,50,20|0,0,0,0,0,-1|0,0,0,0,0,-1&amp;quot;;&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;&amp;#160;&amp;#160; &lt;font color="#0000ff"&gt; // C string 轉成 BSTR     &lt;br /&gt;&lt;/font&gt;&amp;#160;&amp;#160;&amp;#160; int codePage = CP_UTF8;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; *strDATA=BSTRFromCStr(codePage,CurrentData);&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; return NOERROR;    &lt;br /&gt;} &lt;/p&gt;  &lt;p&gt;&lt;font color="#ff0000"&gt;// Utility (核心轉換程式)     &lt;br /&gt;&lt;/font&gt;BSTR BSTRFromCStr(UINT codePage, LPCSTR s){    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; int wideLen = MultiByteToWideChar(codePage, 0, s, -1, NULL, 0);    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; if( wideLen &amp;gt; 0 )&amp;#160;&amp;#160;&amp;#160; {    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; WCHAR* wideStr = (WCHAR*)CoTaskMemAlloc(wideLen*sizeof(WCHAR));    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if( NULL != wideStr )&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; BSTR bstr; &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ZeroMemory(wideStr, wideLen*sizeof(WCHAR));   &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; MultiByteToWideChar(codePage, 0, s, -1, wideStr, wideLen);    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; bstr = SysAllocStringLen(wideStr, wideLen-1);    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; CoTaskMemFree(wideStr); &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; return bstr;   &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; return NULL;    &lt;br /&gt;};&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7964811257176293796-4931336134504983616?l=mqjing.blogspot.com'/&gt;&lt;/div&gt;</description><link>http://mqjing.blogspot.com/2009/10/activex-activex-bstr.html</link><author>noreply@blogger.com (Jing(井民全))</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7964811257176293796.post-9157051517554420584</guid><pubDate>Mon, 26 Oct 2009 13:32:00 +0000</pubDate><atom:updated>2009-10-26T06:32:18.662-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">ActiveX</category><title>[ActiveX] IE 中的管理附加元件中 發行者選項 出現  (尚未確認) 的訊息 ?</title><description>&lt;p&gt;&lt;font color="#408080" size="6"&gt;&lt;strong&gt;這是&lt;/strong&gt;&lt;/font&gt;因為 ocx 沒有 sign 的關係!&lt;/p&gt;  &lt;p&gt;如果不 sign ocx, 則在 IE 中的管理附加元件中 發行者選項 會出現&amp;#160; (尚未確認) 的訊息,&amp;#160; 就算你已經 sign cab 檔了.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7964811257176293796-9157051517554420584?l=mqjing.blogspot.com'/&gt;&lt;/div&gt;</description><link>http://mqjing.blogspot.com/2009/10/activex-ie.html</link><author>noreply@blogger.com (Jing(井民全))</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7964811257176293796.post-1684102651038492168</guid><pubDate>Mon, 26 Oct 2009 03:43:00 +0000</pubDate><atom:updated>2009-10-25T20:49:32.978-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">生活</category><title>[生活] 生活記事</title><description>&lt;p&gt;&lt;font color="#008080" size="6"&gt;&lt;strong&gt;在火車上&lt;/strong&gt;&lt;/font&gt;作自己的心靈整理, 心得抄寫在發票上, 現在正式記錄起來, 提醒自己&lt;/p&gt;  &lt;p&gt;1. 好事多磨, 所以要提早準備提早作.&amp;#160; 讓問題出盡&lt;/p&gt;  &lt;p&gt;2. 讀好書, 保護自己的心靈&lt;/p&gt;  &lt;p&gt;3. 遇到不確定的事: &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; * 從另一個人的角度來看自己, 判斷自己辦得到嗎?&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ex: &lt;font color="#0000ff"&gt;你覺得井民全這個人可以辦的到嗎?&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;4. 以一個禮拜, 一個月 或 1 年的時間長度來評斷東西的價值&lt;/p&gt;  &lt;p&gt;5. 遇到不想作又必須作的事情, 先從最簡單的部分著手.&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ex: 先清理程式碼, 先整理筆記&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;我想面對上司的自處方式, 應該就是: [&lt;font color="#0000ff"&gt;讓他放心&lt;/font&gt;]&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Enjoy. &lt;/p&gt;  &lt;p&gt;by Jing.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7964811257176293796-1684102651038492168?l=mqjing.blogspot.com'/&gt;&lt;/div&gt;</description><link>http://mqjing.blogspot.com/2009/10/blog-post.html</link><author>noreply@blogger.com (Jing(井民全))</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7964811257176293796.post-6613157430105845444</guid><pubDate>Sat, 24 Oct 2009 13:41:00 +0000</pubDate><atom:updated>2009-10-25T19:50:53.879-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">軟體</category><title>[軟體] 安裝 VirtualBox Guest Additions</title><description>&lt;p&gt;&lt;font size="6"&gt;&lt;font color="#008000"&gt;玩&lt;/font&gt; &lt;/font&gt;VirtualBox 一定要裝這個東西, 要不然真的很不方便. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;最讓我覺得好用的兩個功能是&lt;/p&gt;  &lt;p&gt;1. 畫面自動放大為視窗畫面&lt;/p&gt;  &lt;p&gt;2. 滑鼠無縫地與原來的視窗結合&lt;/p&gt;  &lt;p&gt;另外,&amp;#160; 你在 Windows 裡面的 copy 可以直接到 xterm 裡面 Ctrl + Shift +V 貼上.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;本文主要分兩個部分:&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160; 1. 安裝 VirtualBox Guest Additions 的圖文說明&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160; 2. 編譯大型專案, ubuntu 系統需要安裝的程式庫套件指令&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160; 3. 如何在 VirtualBox 中, 如何讓 Guest OS(Ubuntu linux) 存取&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Windows 的目錄?&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;安裝 VirtualBox Guest Additions 的圖文說明&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;高手們早就知道這件事情了, 因為上次我忘記怎麼處理這件事, 現在搞定時.作一個記錄, 以免下次又選錯檔案執行了.&amp;#160; ^_^&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Step 1: 選擇 Install Guest Additions …&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_OpTu0L4lWpY/SuMDtrLWzqI/AAAAAAAABE8/WPyVW2xXJLs/s1600-h/snap003%5B3%5D.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="snap003" border="0" alt="snap003" src="http://lh5.ggpht.com/_OpTu0L4lWpY/SuMDx4qCJWI/AAAAAAAABFA/q5onRzhbmmQ/snap003_thumb%5B1%5D.jpg?imgmax=800" width="497" height="340" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Step 2: 你會發現 桌面會有 VBOXADDITIONS 光碟字樣, 開啟它&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_OpTu0L4lWpY/SuMD0EfPB2I/AAAAAAAABFE/7K5ONrqtkVY/s1600-h/snap003%5B6%5D.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="snap003" border="0" alt="snap003" src="http://lh5.ggpht.com/_OpTu0L4lWpY/SuMD26x-JgI/AAAAAAAABFI/-GRPBbEGLWs/snap003_thumb%5B2%5D.jpg?imgmax=800" width="240" height="184" /&gt;&lt;/a&gt;&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Step 3: 選擇 autorun.sh, 完成!&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_OpTu0L4lWpY/SuMD5UWaWAI/AAAAAAAABFM/z6oRCy4uHqM/s1600-h/snap003%5B10%5D.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="snap003" border="0" alt="snap003" src="http://lh6.ggpht.com/_OpTu0L4lWpY/SuMD9LJGKfI/AAAAAAAABFQ/yGzPkehw4a4/snap003_thumb%5B4%5D.jpg?imgmax=800" width="459" height="257" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;安裝編譯大型專案必要程式庫&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;在 ubuntu linux 作業系統, 如果想要寫程式或編譯大型專案, 那麼你可能要安裝額外的程式庫. 否則, 你在 make 時一定會遇到一堆煩人訊息.&lt;/p&gt;  &lt;p&gt;下面是詳細的指令:&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; sudo apt-get install &lt;font color="#ff0000"&gt;build-essential&lt;/font&gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; sudo apt-get install &lt;font color="#ff0000"&gt;libace-ssl-dev      &lt;br /&gt;&lt;/font&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; sudo apt-get install &lt;font color="#ff0000"&gt;libxt-dev&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;如何在 VirtualBox 中, 如何讓 Guest OS(Ubuntu linux) 存取 Windows 的目錄?&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&amp;lt;sol&amp;gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;Step 1:&lt;/font&gt; 到 VirtualBox 的右下角, 選擇 Share Folder 按鈕&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://lh5.ggpht.com/_OpTu0L4lWpY/SuUOecXmQsI/AAAAAAAABFU/kpdzDdrUMFg/s1600-h/snap003%5B7%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="snap003" border="0" alt="snap003" src="http://lh6.ggpht.com/_OpTu0L4lWpY/SuUOfunqGCI/AAAAAAAABFY/xYD40HrIbtY/snap003_thumb%5B2%5D.jpg?imgmax=800" width="199" height="104" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;Step 2:&lt;/font&gt;&amp;#160; 按右邊的 “ 加號”按鈕, 設定你要分享的目錄&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_OpTu0L4lWpY/SuUOgUcRYzI/AAAAAAAABFc/M47fl2kGLn0/s1600-h/snap003%5B4%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="snap003" border="0" alt="snap003" src="http://lh6.ggpht.com/_OpTu0L4lWpY/SuUOhnTOUMI/AAAAAAAABFg/8UkHlP0PS6A/snap003_thumb%5B1%5D.jpg?imgmax=800" width="458" height="336" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;Step3:&lt;/font&gt; 到 Guest OS (ubuntu) 中下 mount 指令&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 1. $sudo mkdir /windows-share&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 2. $sudo mount -t vboxsf windows-share /windows-share&lt;/p&gt;  &lt;p&gt; ex:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_OpTu0L4lWpY/SuUOiUnJzWI/AAAAAAAABFk/DPj0DQ2bKrk/s1600-h/snap003%5B11%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="snap003" border="0" alt="snap003" src="http://lh4.ggpht.com/_OpTu0L4lWpY/SuUOjLRafrI/AAAAAAAABFo/KW10nCvPRUg/snap003_thumb%5B4%5D.jpg?imgmax=800" width="569" height="137" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Enjoy.&lt;/p&gt;  &lt;p&gt;by Jing. &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7964811257176293796-6613157430105845444?l=mqjing.blogspot.com'/&gt;&lt;/div&gt;</description><link>http://mqjing.blogspot.com/2009/10/virtualbox-guest-additions.html</link><author>noreply@blogger.com (Jing(井民全))</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7964811257176293796.post-5392756268309017876</guid><pubDate>Thu, 22 Oct 2009 05:39:00 +0000</pubDate><atom:updated>2009-10-21T22:42:48.069-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">程式設計</category><category domain="http://www.blogger.com/atom/ns#">Java</category><title>[程式設計] 在 MSYS 中, 如何存取 C 槽的資料?</title><description>&lt;p align="center"&gt;&lt;a href="http://lh4.ggpht.com/_OpTu0L4lWpY/St_wGjaeysI/AAAAAAAABE0/76vUHtTlWVc/s1600-h/snap003%5B3%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="snap003" border="0" alt="snap003" src="http://lh4.ggpht.com/_OpTu0L4lWpY/St_wHjnqZRI/AAAAAAAABE4/-nV1IaFjGbo/snap003_thumb%5B1%5D.jpg?imgmax=800" width="370" height="162" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;這個問題在我寫 Makefile 時, 設定 JDKRoot 時遭遇到了. &lt;/p&gt;  &lt;p&gt;其實答案很簡單, 直接設定:&lt;/p&gt;  &lt;p align="center"&gt;&lt;font color="#0000ff"&gt;/c/Program\ Files/Java/jdk1.5.0_15/&lt;/font&gt;&lt;/p&gt;  &lt;p align="left"&gt;&lt;font color="#0000ff"&gt;&lt;font color="#000000"&gt;&lt;strong&gt;注意&lt;/strong&gt;: 空白前面要&lt;font color="#ff0000"&gt;&lt;strong&gt;加反斜線(\),&lt;/strong&gt;&lt;/font&gt; 特別標明.&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="left"&gt;&lt;font color="#000000"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="left"&gt;&lt;font color="#000000"&gt;於是我的 Makefile 就可以寫成下面這樣, 然後在 MSYS 裡面處理我想作的事情了. ^_^&lt;/font&gt;&lt;/p&gt;  &lt;p align="left"&gt;&lt;font color="#000000"&gt;-------------- Makefile ----------------&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;JAVASRC = $(shell ls *.java)&lt;/font&gt; &lt;/p&gt;  &lt;p&gt;&lt;font color="#ff0000"&gt;all&lt;/font&gt;: compile jni    &lt;br /&gt;&lt;font color="#ff0000"&gt;jni:&lt;/font&gt; FrameSync_japi.java    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; javah -jni FrameSync_japi    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; cl&amp;#160; -I${JDKROOT}/include     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; -I${JDKROOT}/include/win32 -I${VCROOT}include \    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; -I${VCROOT}PlatformSDK/Include \    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; -D&amp;quot;_UNICODE&amp;quot; -D&amp;quot;UNICODE&amp;quot; \    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; -LD FrameSync_api.cpp User32.lib\    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; -FeFrameSync_api.dll &lt;/p&gt;  &lt;p&gt;compile:$(JAVASRC)   &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; javac $(JAVASRC)    &lt;br /&gt;&lt;font color="#ff0000"&gt;clean:     &lt;br /&gt;&lt;/font&gt;&amp;#160;&amp;#160;&amp;#160; rm -fr *.class *.obj *.dll *.lib *.exp *.pdb    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; cd FrameSync_api;$(MAKE) clean&lt;/p&gt;  &lt;p&gt;&lt;font color="#000000"&gt;-------------- end of Makefile ----------------&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#000000"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#000000"&gt;Enjoy. &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#000000"&gt;by Jing.&lt;/font&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7964811257176293796-5392756268309017876?l=mqjing.blogspot.com'/&gt;&lt;/div&gt;</description><link>http://mqjing.blogspot.com/2009/10/msys-c.html</link><author>noreply@blogger.com (Jing(井民全))</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7964811257176293796.post-5490257577828600248</guid><pubDate>Fri, 16 Oct 2009 09:21:00 +0000</pubDate><atom:updated>2009-10-16T02:48:23.692-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">MultiMedia</category><category domain="http://www.blogger.com/atom/ns#">軟體</category><category domain="http://www.blogger.com/atom/ns#">C++</category><title>[C++] 如何用 CMake  來編譯最簡單的 OpenCV 範例 – open image</title><description>&lt;p align="center"&gt;&lt;a href="http://lh4.ggpht.com/_OpTu0L4lWpY/Stg7Ag3djzI/AAAAAAAABEU/p4AhTprcUP8/s1600-h/snap003%5B14%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="snap003" border="0" alt="snap003" src="http://lh6.ggpht.com/_OpTu0L4lWpY/Stg7BlfrzII/AAAAAAAABEc/NRaZ67kVnnE/snap003_thumb%5B6%5D.jpg?imgmax=800" width="220" height="189" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;font color="#408080" size="6"&gt;既然&lt;/font&gt; OpenCV 已經是跨平台了, 我們程式的編譯環境當然也要是跨平台. 在這裡我使用 CMake. CMake 可以產生 Unix-like 系統下的 Makefile, 也可以產生 Visual Studio .Net 的專案檔. &lt;/p&gt;  &lt;p&gt;因此, 用 CMake 來當作 build system , 應該是一個比較好的選擇. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;那麼… &lt;/p&gt;  &lt;p&gt;如何寫一個 CMakeLists.txt, 來編譯自己寫的 OpenCV 範例?&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt; 詳細作法如下:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;原始程式:&lt;/strong&gt; 請參考 “昨日” blog [&lt;a href="http://yester-place.blogspot.com/2008/06/gui.html"&gt;code&lt;/a&gt;], 存檔成 openimage.cpp&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;程式功能&lt;/strong&gt;: 用 OpenCV 開啟一張&amp;#160; jpeg 圖檔, 進行灰階化&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;下面是一個最簡單的 CMakeLists.txt:&lt;/p&gt;  &lt;p&gt;------------------------------------------------------------&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font color="#0000ff"&gt;cmake_minimum_required&lt;/font&gt;&lt;/strong&gt;(VERSION 2.5) &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;strong&gt;&lt;font color="#0000ff"&gt;project&lt;/font&gt;&lt;/strong&gt;(OpenImage)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;strong&gt;&lt;font color="#ff0000"&gt;MACRO&lt;/font&gt;&lt;/strong&gt;(MY_DEFINE_EXAMPLE name srcs)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;font color="#0000ff"&gt;&lt;strong&gt;add_executable&lt;/strong&gt;&lt;/font&gt;(${name} ${srcs})    &lt;br /&gt;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;em&gt;&lt;font color="#008000"&gt;# 設定 include path&lt;/font&gt;&lt;/em&gt;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;font color="#0000ff"&gt;&lt;strong&gt;include_directories&lt;/strong&gt;&lt;/font&gt;(&amp;quot;.&amp;quot;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;quot;C:\\OpenCV2.0\\.&amp;quot;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;quot;C:\\OpenCV2.0\\include&amp;quot;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;quot;C:\\OpenCV2.0\\include\\opencv&amp;quot;)    &lt;br /&gt;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;em&gt;&lt;font color="#008000"&gt;# 設定 library path (自己編譯出來的 OpenCV library 位置)       &lt;br /&gt;&lt;/font&gt;&lt;/em&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;strong&gt;&lt;font color="#0000ff"&gt;set&lt;/font&gt;&lt;/strong&gt;(MYLIBPATH &amp;quot;C:\\Documents and    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Settings\\Jing\\Desktop\\opencv_bin\\    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; lib\\release\\&amp;quot;)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;strong&gt;&lt;font color="#0000ff"&gt;target_link_libraries&lt;/font&gt;&lt;/strong&gt;(${name} ${MYLIBPATH}cv200.lib     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ${MYLIBPATH}cxcore200.lib     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ${MYLIBPATH}highgui200.lib     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ${MYLIBPATH}ml200.lib     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ${MYLIBPATH}cvaux200.lib)&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;em&gt;&lt;font color="#008000"&gt;# 使用 Unicode&lt;/font&gt;&lt;/em&gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;strong&gt;&lt;font color="#0000ff"&gt;add_definitions&lt;/font&gt;&lt;/strong&gt;(-DUNICODE -D_UNICODE)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;strong&gt;&lt;font color="#ff0000"&gt;ENDMACRO&lt;/font&gt;&lt;/strong&gt;(MY_DEFINE_EXAMPLE)&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; MY_DEFINE_EXAMPLE(openimage&amp;#160;&amp;#160;&amp;#160;&amp;#160; openimage.cpp)&lt;/p&gt;  &lt;p&gt;------------------------------------------------------------&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;開始產生 Visual Studio .Net 專案檔&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font color="#0000ff"&gt;Step 1&lt;/font&gt;&lt;/strong&gt;: 把 上面的 CMakeLists.txt 寫好, 並請寫好 openimage.cpp,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 存到一個目錄中&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_OpTu0L4lWpY/Stg7CvnXk-I/AAAAAAAABCs/1Uhr8ciqLAM/s1600-h/snap003%5B2%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="snap003" border="0" alt="snap003" src="http://lh6.ggpht.com/_OpTu0L4lWpY/Stg7DfDgcII/AAAAAAAABCw/MCEYCcIlePE/snap003_thumb.jpg?imgmax=800" width="198" height="152" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font color="#0000ff"&gt;Step 2&lt;/font&gt;&lt;/strong&gt;:&amp;#160; 開啟 CMake-gui, 產生 Visual Studio .Net 的專案&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; a. 點選 Configure   &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; b. 點選 Generate&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://lh3.ggpht.com/_OpTu0L4lWpY/Stg7EnZwX3I/AAAAAAAABC0/j_6PKK0N9-o/s1600-h/snap003%5B6%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="snap003" border="0" alt="snap003" src="http://lh5.ggpht.com/_OpTu0L4lWpY/Stg7FnjSOzI/AAAAAAAABC4/JzCczwOXx88/snap003_thumb%5B2%5D.jpg?imgmax=800" width="441" height="309" /&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font color="#0000ff"&gt;Step3&lt;/font&gt;&lt;/strong&gt;: 到 src_bin 目錄中, 開啟 Visual Studio 進行編譯&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://lh5.ggpht.com/_OpTu0L4lWpY/Stg7GXinN8I/AAAAAAAABC8/ABkP0osiIkI/s1600-h/snap003%5B10%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="snap003" border="0" alt="snap003" src="http://lh5.ggpht.com/_OpTu0L4lWpY/Stg7HZJHc0I/AAAAAAAABDA/3rS8kfdTncU/snap003_thumb%5B4%5D.jpg?imgmax=800" width="340" height="339" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font color="#0000ff"&gt;Step4&lt;/font&gt;&lt;/strong&gt;: Enjoy.&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://lh4.ggpht.com/_OpTu0L4lWpY/Stg7Ag3djzI/AAAAAAAABEk/OVaZW_CyQYs/s1600-h/snap003%5B13%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="snap003" border="0" alt="snap003" src="http://lh6.ggpht.com/_OpTu0L4lWpY/Stg7BlfrzII/AAAAAAAABEs/6HRfpNqazwg/snap003_thumb%5B5%5D.jpg?imgmax=800" width="244" height="208" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;注意: 執行時, 要先把OpenCV 需要的 dll 位置設定好.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;by Jing.&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;相關文章&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;[1] 井民全, “&lt;a href="http://mqjing.blogspot.com/2009/09/cmake-how-to-use-cmake.html"&gt;最簡單的 CMake 使用說明 – how to use cmake&lt;/a&gt; “ &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7964811257176293796-5490257577828600248?l=mqjing.blogspot.com'/&gt;&lt;/div&gt;</description><link>http://mqjing.blogspot.com/2009/10/c-cmake-opencv-open-image.html</link><author>noreply@blogger.com (Jing(井民全))</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7964811257176293796.post-642244106431257891</guid><pubDate>Fri, 16 Oct 2009 03:58:00 +0000</pubDate><atom:updated>2009-10-15T21:05:14.631-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">軟體</category><title>[軟體] Apache 虛擬目錄設定 --- Alias</title><description>&lt;p align="center"&gt;&lt;a href="http://httpd.apache.org/docs/2.0/mod/mod_alias.html"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="snap003" border="0" alt="snap003" src="http://lh5.ggpht.com/_OpTu0L4lWpY/StfvOj5b8XI/AAAAAAAABCI/TN7gZDaMF70/snap003%5B3%5D.jpg?imgmax=800" width="244" height="67" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;font color="#408080" size="6"&gt;最近&lt;/font&gt;想要把 Dokuwiki 的資料與我的一堆 “svn”ed 文件, 進行整合管理, 希望維持 svn 管理我的文件與檔案, 另外又加上 wiki 的優勢與方便來管理我的知識.&lt;/p&gt;  &lt;p&gt;所以我使用 Alias 來解決這兩個系統之間的溝通問題.&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 1. 檔案: 一律按照我的方式進行存檔與版本控制&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_OpTu0L4lWpY/StfvPUIVU-I/AAAAAAAABCM/Om0z5UuUvgM/s1600-h/snap003%5B9%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="snap003" border="0" alt="snap003" src="http://lh4.ggpht.com/_OpTu0L4lWpY/StfvQLtwd5I/AAAAAAAABCQ/yKo66cKmPnU/snap003_thumb%5B4%5D.jpg?imgmax=800" width="245" height="323" /&gt;&lt;/a&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 圖一: 利用 svn 管理的部分知識文檔&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 2. wiki 知識: 利用 Alias 連結到各個檔案&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://www.dokuwiki.org/dokuwiki"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="snap003" border="0" alt="snap003" src="http://lh6.ggpht.com/_OpTu0L4lWpY/StfvR3BLzAI/AAAAAAAABCc/kpezaLM40pk/snap003%5B14%5D.jpg?imgmax=800" width="244" height="147" /&gt;&lt;/a&gt;&amp;#160;&amp;#160; 圖二: 我的知識由 &lt;a href="http://www.dokuwiki.org/dokuwiki"&gt;DokuWiki&lt;/a&gt; + &lt;a href="http://www.dokuwiki.org/template:doogie"&gt;doogiestpl&lt;/a&gt; 套件管理呈現的方式    &lt;br /&gt;&lt;em&gt;&lt;font color="#ff00ff"&gt;(直接把 doogiestpl 放到 Apache2.2\htdocs\wiki\lib\tpl 即可安裝套件)&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;可是 Alias 我一直搞不定. 我知道這個很簡單, 大家都知道. 下面處理的方式作法.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;範例 1: 存取磁碟上的 Softwares 目錄的東西&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;網頁存取方式: &lt;a href="http://127.0.0.1/Softwares/"&gt;http://127.0.0.1/Softwares/&lt;/a&gt;&amp;#160;&amp;#160;&amp;#160; &lt;font color="#ff0000"&gt;[注意: 最後有 / ] &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;a href="http://127.0.0.1/Softwares"&gt;http://127.0.0.1/Softwares&lt;/a&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; [這樣不行]&lt;/p&gt;  &lt;p&gt;原因: &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160; 我們下面的指令是: Alias /Softwares&lt;strong&gt;&lt;font color="#ff0000"&gt;/&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/strong&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;所以網址要打 &lt;a href="http://localhost/Software/"&gt;http://localhost/Software/&lt;/a&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;#虛擬目錄設定   &lt;br /&gt;&lt;font color="#008000"&gt;Alias /Softwares/ &amp;quot;e:/Softwares/&amp;quot;     &lt;br /&gt;&amp;lt;Directory &amp;quot;e:/Softwares/&amp;quot;&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; Options &lt;font color="#ff0000"&gt;Indexes&lt;/font&gt; FollowSymLinks MultiViews      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; AllowOverride None      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; Allow from all      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; Order allow,deny      &lt;br /&gt;&amp;lt;/Directory&amp;gt;&lt;/font&gt; &lt;/p&gt;  &lt;p&gt;(注意: 測試完要把 Indexes 拿掉, 以免目錄清單被別人看到)&lt;/p&gt;  &lt;p&gt;-----------------------------------------------------------------------------&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;範例 2: 存取磁碟上的 work 目錄的東西&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;網頁存取方式: &lt;a href="http://127.0.0.1/work/"&gt;http://127.0.0.1/work/&lt;/a&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; [注意: 最後有 / ] &lt;/p&gt;  &lt;p&gt;#虛擬目錄設定   &lt;br /&gt;&lt;font color="#008000"&gt;Alias /work/ &amp;quot;e:/work/&amp;quot;     &lt;br /&gt;&amp;lt;Directory &amp;quot;e:/work/&amp;quot;&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; Options &lt;font color="#ff0000"&gt;Indexes&lt;/font&gt; FollowSymLinks MultiViews      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; AllowOverride None      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; Allow from all      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; Order allow,deny      &lt;br /&gt;&amp;lt;/Directory&amp;gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;(注意: 測試完要把 Indexes 拿掉, 以免目錄清單被別人看到)&lt;/p&gt;  &lt;p&gt;&lt;font color="#008000"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#404040"&gt;Enjoy.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#404040"&gt;by Jing&lt;/font&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7964811257176293796-642244106431257891?l=mqjing.blogspot.com'/&gt;&lt;/div&gt;</description><link>http://mqjing.blogspot.com/2009/10/apache-alias.html</link><author>noreply@blogger.com (Jing(井民全))</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7964811257176293796.post-2369141056918564762</guid><pubDate>Thu, 15 Oct 2009 01:37:00 +0000</pubDate><atom:updated>2009-10-14T18:43:06.929-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">程式設計</category><category domain="http://www.blogger.com/atom/ns#">軟體</category><category domain="http://www.blogger.com/atom/ns#">技術</category><title>[C++]error LNK1104: cannot open file "python25_d.lib"</title><description>&lt;p align="center"&gt;&lt;a href="http://opencv.willowgarage.com/wiki/"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="snap003" border="0" alt="snap003" src="http://lh6.ggpht.com/_OpTu0L4lWpY/StZ87IsfeDI/AAAAAAAABCE/edRXGaGybEI/snap003%5B4%5D.jpg?imgmax=800" width="100" height="86" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p align="center"&gt;(&lt;a href="http://opencv.willowgarage.com/wiki/"&gt;Open Computer Vision Library&lt;/a&gt;)&lt;/p&gt;  &lt;p&gt;&lt;font color="#408080"&gt;&lt;font size="6"&gt;在編譯 &lt;/font&gt;&lt;/font&gt;OpenCV Debug 模式時, 你可能會像我一樣遇到這個問題. 就是在編譯到一半, 就出現下面的訊息&lt;/p&gt;  &lt;p align="center"&gt;&lt;font color="#0000ff"&gt;&lt;em&gt;error&lt;/em&gt; LNK1104: &lt;em&gt;cannot&lt;/em&gt; open file &amp;quot;&lt;em&gt;python25_d&lt;/em&gt;.&lt;em&gt;lib&lt;/em&gt;&amp;quot;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;發生原因, 似乎是我沒有編譯 python Debug 版本,&amp;#160; 可是我不想再去下載 Python 然後重新編譯. (主要是怕 Python 又出現什麼問題).&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;所以我的解法是: 先繞過這個問題.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;我的環境是&lt;/strong&gt;:&lt;/p&gt;  &lt;p&gt;1. &lt;a href="http://www.cmake.org/"&gt;CMake&lt;/a&gt; 2.6&lt;/p&gt;  &lt;p&gt;2. Visual Studio 2005&lt;/p&gt;  &lt;p&gt;3. &lt;a href="http://opencv.willowgarage.com/wiki/"&gt;OpenCV&lt;/a&gt; 2.0 souce code&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;繞過這個問題的方式&lt;/strong&gt;:&lt;/p&gt;  &lt;p&gt;1. 使用 Release Mode 編譯整個 OpenCV --- 完全沒問題&lt;/p&gt;  &lt;p&gt;2. 如果想要用 Debug 模式編譯整個 Project&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; a. 在 CMake 的 configure 裡面, 把所有關於 &lt;font color="#ff0000"&gt;python 的編譯選項取消&lt;/font&gt;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;font color="#0000ff"&gt;(代價: 在 OpenCV 中, 不能使用 python 介面)&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;font color="#404040"&gt;-- 因為我沒使用 python, 所以我的選項是 ‘a’&lt;/font&gt;&amp;#160;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; b. 重新把 &lt;a href="http://www.python.org/"&gt;Python source code&lt;/a&gt; 抓回來用 Debug 模式編譯. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Enjoy.&lt;/p&gt;  &lt;p&gt;by Jing&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7964811257176293796-2369141056918564762?l=mqjing.blogspot.com'/&gt;&lt;/div&gt;</description><link>http://mqjing.blogspot.com/2009/10/cerror-lnk1104-cannot-open-file.html</link><author>noreply@blogger.com (Jing(井民全))</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7964811257176293796.post-8339813257126308284</guid><pubDate>Wed, 07 Oct 2009 06:57:00 +0000</pubDate><atom:updated>2009-10-06T23:58:05.219-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">程式設計</category><category domain="http://www.blogger.com/atom/ns#">Driver</category><category domain="http://www.blogger.com/atom/ns#">軟體</category><title>[Driver] 最簡單的Windows 驅動程式 WDM 資料結構</title><description>&lt;p&gt;&lt;font color="#008000" size="6"&gt;很久&lt;/font&gt;以前就想瞭解這個 topic 了. &lt;/p&gt;  &lt;p&gt;今天剛好看了一下相關的書籍, 整理一下讀到的東西圖形化.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://debut.cis.nctu.edu.tw/~ching/Course/AdvancedC++Course/__Page/Slides/Adv12_Windows_Device_Driver/01_Basic_Structure_of_a_WDM_Driver.pdf"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="structure" border="0" alt="structure" src="http://lh5.ggpht.com/_OpTu0L4lWpY/Ssw7x9hhwoI/AAAAAAAABCA/-hkeSgjK_ik/structure%5B6%5D.jpg?imgmax=800" width="482" height="254" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p align="center"&gt;(&lt;a href="http://debut.cis.nctu.edu.tw/~ching/Course/AdvancedC++Course/__Page/Slides/Adv12_Windows_Device_Driver/01_Basic_Structure_of_a_WDM_Driver.pdf"&gt;點選放大 PDF&lt;/a&gt;)&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7964811257176293796-8339813257126308284?l=mqjing.blogspot.com'/&gt;&lt;/div&gt;</description><link>http://mqjing.blogspot.com/2009/10/driver-windows-wdm.html</link><author>noreply@blogger.com (Jing(井民全))</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7964811257176293796.post-5189390344841671724</guid><pubDate>Wed, 30 Sep 2009 10:31:00 +0000</pubDate><atom:updated>2009-09-30T06:31:00.143-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">生活</category><title>[生活] 並不是大家互相幫忙, 就叫做團隊!</title><description>&lt;p align="center"&gt;&lt;a href="http://search.books.com.tw/exep/prod_search.php?cat=all&amp;amp;key=%C2%E5%C0s"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_OpTu0L4lWpY/SsMziMYTRNI/AAAAAAAABBs/DKl9hWaYpAY/image%5B4%5D.png?imgmax=800" width="140" height="193" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;今天看了一本漫畫 [醫龍], 有一段對話談到團隊&lt;/p&gt;  &lt;p&gt;我覺得滿有意思的.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;font color="#008000"&gt;[正在作心臟繞道手術, 兩位高手 A, B, 正在討論一位實習醫生, 執行擷取替代血管的手術工作]&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;A: 如果他搞砸了, 你會出手幫他嗎?&lt;/p&gt;  &lt;p&gt;B: 不會, 今天我是來打雜的.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;font color="#008000"&gt;[B 接著說]&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;並不是大家互相幫忙, 就叫做團隊.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;而是抱著必死的覺悟, 每個人都全心貢獻自己的能力, 才叫做團隊.&lt;/font&gt;&lt;/p&gt;  &lt;p align="right"&gt;&lt;font color="#404040"&gt;醫龍 Part 4 on pages 4-5.&lt;/font&gt;&lt;/p&gt;  &lt;p align="left"&gt;&lt;font color="#404040"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="left"&gt;&lt;font color="#404040"&gt;既然進了我的團隊, 以後自己的責任, 全部都要自己擔.&lt;/font&gt;&lt;/p&gt;  &lt;p align="right"&gt;&lt;font color="#404040"&gt;醫龍 Part 4.&lt;/font&gt;&lt;/p&gt;  &lt;p align="right"&gt;&lt;font color="#404040"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="left"&gt;&lt;font color="#404040"&gt;Enjoy.&amp;#160; by Jing.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;&amp;#160;&lt;/font&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7964811257176293796-5189390344841671724?l=mqjing.blogspot.com'/&gt;&lt;/div&gt;</description><link>http://mqjing.blogspot.com/2009/09/blog-post_30.html</link><author>noreply@blogger.com (Jing(井民全))</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7964811257176293796.post-1491727082743360759</guid><pubDate>Wed, 23 Sep 2009 19:23:00 +0000</pubDate><atom:updated>2009-09-23T22:05:59.630-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">生活</category><title>[生活] 記得你是誰 Remember Who You Are</title><description>&lt;p align="center"&gt;&lt;a href="http://www.books.com.tw/exep/prod/booksfile.php?item=0010267853"&gt;&lt;img src="http://www.books.com.tw/exep/lib/image.php?image=http://addons.books.com.tw/G/3/0010267853.jpg&amp;amp;width=200&amp;amp;height=280&amp;amp;quality=80" width="100" height="139" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;這本書影響了我, 讓我有下面兩項的體會&lt;/p&gt;  &lt;p&gt;1. &lt;strong&gt;好事多磨, 因此要及早準備.&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;2. 我從來沒找過工作, 也不需要找工作. 我原本待在一家待遇不錯的公司, 可是我偏偏要冒險出來找工作.&amp;#160;&amp;#160; 找工作的過程讓我更認識自己, 更瞭解自己站在世界的位置. 我的決定是對的!&amp;#160; &lt;strong&gt;勇敢地追尋自己想要的東西.&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;我增加了我的冒險忍受程度.&lt;/font&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160; * &lt;font color="#008000"&gt;我出去找工作, 並接受失敗的挑戰.&lt;/font&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160; * &lt;font color="#008000"&gt;雖然我的英文很差, 但是我挑戰了人生中第一場英文面試.&lt;/font&gt; (我得到 offer 了)&lt;/p&gt;  &lt;p&gt;&amp;#160; * &lt;font color="#008000"&gt;我勇敢的向國際大廠投履歷, 並且接受英語聽力測驗.&lt;/font&gt; (我得到 offer 了)&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; -- 我知道許多測驗是參考, 但這是我給自己的測驗, 我努力要把所有的測驗以滿分過關.&lt;/p&gt;  &lt;p&gt;&amp;#160; * &lt;font color="#008000"&gt;面對一堆刁難與比我更優秀人的挑戰.&lt;/font&gt; (我成長了)&lt;/p&gt;  &lt;p&gt;&amp;#160; * &lt;font color="#008000"&gt;去北京展開了一場人生中, 第一次的英文演講&lt;/font&gt;.     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; -- 我終於知道我的英文聽力有多差. 另外, 我也知道在交大自動化資訊處理實驗室每週的報告, 對自己幫助是多麼大. 到國外一比才知道&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;下面是我讀這本書後, 對我有幫助的話語節錄, &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p align="center"&gt;&lt;font color="#0000ff"&gt;要求嚴格就是幫助別人 --- 無論在球場或職場都不例外. page 31.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font color="#0000ff"&gt;鳥類標本 --- 在不確定中保持自信&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;1. 追求任何重要目標, 都&lt;strong&gt;要接受手邊資訊有限&lt;/strong&gt;, 將來也會&lt;strong&gt;經常如此&lt;/strong&gt;的事實.&lt;/p&gt;  &lt;p&gt;2. 在人生的旅程中, 你會遇到不太確定最佳行進路線的狀況. 一旦發生這種情形, 就要發揮勇氣和信心 --- 對自己的才賦有信心, 對事業夥伴的才幹有信心&lt;/p&gt;  &lt;p&gt;3.&lt;strong&gt; 保持自信.&lt;/strong&gt; &lt;strong&gt;不要因為擔心作錯決定而浪費大好時機&lt;/strong&gt;, 也不要因為得過且過而錯失改造世界的機會. &lt;strong&gt;別去理會身邊的噪音&lt;/strong&gt;, 拒絕接受別人的煽動, 鼓起勇氣循序漸進,&lt;strong&gt; 忠於自己熱愛的事物, 然後作件轟轟烈烈的大事&lt;/strong&gt;.&lt;/p&gt;  &lt;p align="right"&gt;by Prof. Jeffey f. Rayport, on pages 65, 66.&lt;/p&gt;  &lt;p align="left"&gt;&amp;#160;&lt;/p&gt;  &lt;p align="left"&gt;&lt;strong&gt;&lt;font color="#0000ff"&gt;兩樣損失 --- 放下身段, 親近員工&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p align="left"&gt;&lt;font color="#008000"&gt;[我覺得很棒的開場]&lt;/font&gt;&lt;/p&gt;  &lt;p align="left"&gt;&lt;strong&gt;&lt;font size="4"&gt;去&lt;/font&gt;照照鏡子. 我說真的!&lt;/strong&gt; 站到鏡子前, 仔細瞧瞧你自己, 鏡子裡 …&lt;/p&gt;  &lt;p align="left"&gt;1. 避免染上[執行長毛病]: 家人會可以讓人迅速有效的回到現實.&lt;/p&gt;  &lt;p align="left"&gt;2. 跟你唱反調的同事, 是能夠勇敢面對你的人. 他們會發現你的弱點&lt;/p&gt;  &lt;p align="right"&gt;by Prof. Stephen P. Kaufman, on pages 99, 106.&lt;/p&gt;  &lt;p align="right"&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font color="#0000ff"&gt;校友聚會 --- 改變對冒險的想法&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#008000"&gt;[我覺得很厲害的開場, 這個我一定要學起來]&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font size="4"&gt;幾&lt;/font&gt;&lt;/strong&gt;年以後, 各位將收到哈佛大學邀請你們重返母校參加校友聚會的一封信. xx歷屆校友..光鮮照片, … 印有校徽的衣服, 臉上都掛滿興奮的笑容.&lt;/p&gt;  &lt;p align="center"&gt;千萬別去!&lt;/p&gt;  &lt;p align="left"&gt;如果我對你們只有一句忠告, 就是這句話了.&amp;#160; 各位還是乖乖待在家裡吧.&lt;/p&gt;  &lt;p align="left"&gt;&lt;font color="#008000"&gt;[你是不是和我一樣想看看, 作者接下來要告訴我們什麼?]&lt;/font&gt;&lt;/p&gt;  &lt;p align="left"&gt;&lt;font color="#404040"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="left"&gt;&lt;font color="#404040"&gt;1. &lt;strong&gt;選擇一條看似安全的出路, 你會不敢去作攸關自我生涯發展的冒險決定&lt;/strong&gt;, 或根本不敢作任何重大決定.&lt;/font&gt;&lt;/p&gt;  &lt;p align="left"&gt;&lt;font color="#404040"&gt;2. 改變對冒險的看法, 就能&lt;strong&gt;增加你對冒險的忍受程度&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="left"&gt;&lt;font color="#404040"&gt;3. 勇於承擔風險. &lt;/font&gt;&lt;font color="#008000"&gt;[眼光放遠, 就不會被小波動影響, 拉大格局才能承擔風險是我的心得]&lt;/font&gt;&lt;/p&gt;  &lt;p align="left"&gt;&lt;font color="#404040"&gt;4. 結交熱愛冒險的朋友, 使自己也受感染; … 練習多冒幾次小風險&lt;/font&gt;&lt;/p&gt;  &lt;p align="left"&gt;&lt;font color="#404040"&gt;5. 給自己定個時間限制, 不管是當發明家也好, 企業家也好, &lt;strong&gt;當馬戲團演員也好, 都不要浪費時間去兜售沒有銷路的產品, 替不會鴻圖大展的公司賣命, 或擺出沒人想看的表演動作&lt;/strong&gt; ---&amp;#160; 想想每次總統大選總會跑出來的候選人…他們在這過程中虛耗了多年的生命.&lt;/font&gt;&lt;/p&gt;  &lt;p align="left"&gt;&lt;font color="#008000"&gt;[非常棒的結尾, 請看原書 page 127]&lt;/font&gt;&lt;/p&gt;  &lt;p align="left"&gt;&lt;font color="#008000"&gt;先認定你一輩子總要經歷幾番風雨, 然後心甘情願花個數年功夫等待收成. 時間一到就別再等下去….&lt;/font&gt;&lt;/p&gt;  &lt;p align="left"&gt;&lt;font color="#008000"&gt;收到…, 這一次, 我認為你該赴約.&lt;/font&gt;&lt;/p&gt;  &lt;p align="right"&gt;by Prof. David E. Bell, on &lt;font color="#404040"&gt;pages 117, 119, 121,125,126, 127.&lt;/font&gt;&lt;/p&gt;  &lt;p align="left"&gt;&lt;font color="#404040"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="left"&gt;&lt;strong&gt;&lt;font color="#0000ff"&gt;世間沒有完人 --- 用新的眼光看自己&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p align="left"&gt;&lt;font color="#404040"&gt;1.&amp;#160; 仔細, 深入, 有系統地 思考並追問跟自身和世界有關的大問題. &lt;/font&gt;&lt;/p&gt;  &lt;p align="left"&gt;&lt;font color="#404040"&gt;2. &lt;strong&gt;我們喜歡居高臨下, 卻不知如何面對山谷&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="left"&gt;&lt;font color="#008000"&gt;[漢斯破產後的日記]&lt;/font&gt;&lt;/p&gt;  &lt;p align="left"&gt;&lt;font color="#008000"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#404040"&gt;[莎莉明明傷心的哭了, 卻佯稱不是因為我們遇到麻煩, 只是覺得身體不舒服, &lt;strong&gt;聽了真叫人難過&lt;/strong&gt;]&lt;/font&gt;&lt;/p&gt;  &lt;p align="right"&gt;by Prof. Nancy F. Koehn, on &lt;font color="#404040"&gt;pages 131, 138, 141.&lt;/font&gt;&lt;/p&gt;  &lt;p align="right"&gt;&lt;font color="#404040"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="left"&gt;&lt;strong&gt;&lt;font color="#0000ff"&gt;明星與我&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p align="left"&gt;&lt;font color="#404040"&gt;1.&amp;#160; 我看過不少執行長, 政治家, 以及各行各業領導人再三重複相同的作法:&lt;/font&gt;&lt;/p&gt;  &lt;p align="left"&gt;&lt;font color="#404040"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;strong&gt;一進入某個場合, 就用一兩個經過仔細斟酌的句子控制全場.&lt;/strong&gt; 這就是一種領導技巧&lt;/font&gt;&lt;/p&gt;  &lt;p align="left"&gt;&lt;font color="#404040"&gt;2. 讓別人瞭解自己言之有物&lt;/font&gt;&lt;/p&gt;  &lt;p align="left"&gt;&lt;font color="#404040"&gt;3.&amp;#160; &lt;strong&gt;演說第一個挑戰就是博取大家的注意, 而且往往必須在短短幾分鐘內辦到&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="left"&gt;&lt;font color="#404040"&gt;4. 找出適合自己,&amp;#160; 發自內心的說話方式. …, &lt;strong&gt;認真傾聽別人說些什麼也是重要領導技巧之一&lt;/strong&gt;. ---- 首要任務是贏得人心.&lt;/font&gt;&lt;/p&gt;  &lt;p align="left"&gt;&lt;font color="#404040"&gt;5. 不管是面對 10&amp;#160; 個熟人還是 10 萬個生人,&amp;#160; 都&lt;strong&gt;要提醒自己--- 你們得在很短的時間之內給人適當的印象&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="left"&gt;&lt;font color="#404040"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="right"&gt;by Prof. Rosabeth Moss Kanter, on &lt;font color="#404040"&gt;pages 153, 154, 157,158.&lt;/font&gt;&lt;/p&gt;  &lt;p align="right"&gt;&lt;font color="#404040"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="left"&gt;&lt;strong&gt;&lt;font color="#0000ff"&gt;人生好比賽車&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p align="left"&gt;1.&amp;#160;&amp;#160; 不屈不撓交出[漂亮的成績單], 成功者遇到了挫折和困難, 依然照常過日子&lt;/p&gt;  &lt;p align="left"&gt;2.&amp;#160; &lt;font color="#008000"&gt;[關懷他人, 超越私利]&lt;/font&gt;&lt;/p&gt;  &lt;p align="left"&gt;&lt;font color="#008000"&gt;3. &lt;font color="#008000"&gt;[如何讓一流人才為你工作? ---- 公平, 禮讓的態度對待他們]&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="left"&gt;&lt;font color="#404040"&gt;4.&amp;#160; 展現不流俗的人格風範, 在壓力下做出正確的決定&lt;/font&gt;&lt;/p&gt;  &lt;p align="left"&gt;&amp;#160;&lt;/p&gt;  &lt;p align="right"&gt;by Prof. Henry B. Reiling, on &lt;font color="#404040"&gt;pages 216, 221, 222, 224, 226.&lt;/font&gt;&lt;/p&gt;  &lt;p align="right"&gt;&lt;font color="#404040"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="left"&gt;&lt;strong&gt;&lt;font color="#0000ff"&gt;記得你是誰&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p align="left"&gt;&lt;font color="#008000"&gt;[優美的詞句]&lt;/font&gt;&lt;/p&gt;  &lt;p align="left"&gt;1.&amp;#160;&amp;#160; 人要高瞻遠矚, 應當走出生活裡的山谷與陰影, 進入一望無際的高原, 然後沈浸在那兒的陽光裡, 讓靈魂遨翔, 讓風吹拂頭髮, 讓內心充滿偉大的夢想, 讓生命, 生活和蛻變的熱情恣意奔放&lt;/p&gt;  &lt;p align="right"&gt;by Prof. Kim B. Clark, on &lt;font color="#404040"&gt;pages 248.&lt;/font&gt;&lt;/p&gt;  &lt;p align="right"&gt;&lt;font color="#404040"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="right"&gt;&lt;font color="#404040"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="left"&gt;&lt;font color="#404040"&gt;Enjoy. &lt;/font&gt;&lt;/p&gt;  &lt;p align="left"&gt;&lt;font color="#404040"&gt;by Jing.&lt;/font&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7964811257176293796-1491727082743360759?l=mqjing.blogspot.com'/&gt;&lt;/div&gt;</description><link>http://mqjing.blogspot.com/2009/09/remember-who-you-are_23.html</link><author>noreply@blogger.com (Jing(井民全))</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7964811257176293796.post-5835170597420582965</guid><pubDate>Tue, 15 Sep 2009 12:51:00 +0000</pubDate><atom:updated>2009-10-05T22:40:03.384-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">程式設計</category><category domain="http://www.blogger.com/atom/ns#">軟體</category><category domain="http://www.blogger.com/atom/ns#">C++</category><title>[程式設計] 最簡單的 CMake 使用說明 – how to use cmake</title><description>&lt;p align="center"&gt;&lt;font color="#404040"&gt;&lt;font color="#408080" size="6"&gt;&lt;a href="http://www.cmake.org/"&gt;&lt;img src="http://www.cmake.org/opensourcelogos/cmake75.png" /&gt;&lt;/a&gt; &lt;/font&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="center"&gt;&lt;font color="#404040"&gt;&lt;font color="#408080" size="6"&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="left"&gt;&lt;font color="#404040"&gt;&lt;font color="#408080" size="6"&gt;我們&lt;/font&gt;常常改別人已經寫好的 open source 專案, 讓我有一種感覺 … &lt;/font&gt;&lt;font color="#404040"&gt;似乎大的系統都會有一套 building system, 先解析平台上的 toolchain, 使得系統可以容易安裝到其他平台上. &lt;/font&gt;&lt;/p&gt;  &lt;p align="left"&gt;&lt;font color="#404040"&gt;在 Unix 世界裡面, 最常見的就是 GNU Building System. 也就是你常見的先下 .configure -參數 指令, 然後會產生一堆 Makefile. &lt;/font&gt;&lt;font color="#0000ff"&gt;使用 building system 有另外一個好處, 那就是我們的 source code 就不會被某個編譯環境鎖住了 (ex: Visual Studio .Net).&lt;/font&gt;&lt;/p&gt;  &lt;p align="center"&gt;&amp;#160;&lt;/p&gt;  &lt;p align="center"&gt;&lt;strong&gt;今天要介紹的是 CMake!&lt;/strong&gt;&lt;/p&gt;  &lt;p align="left"&gt;&lt;font color="#404040"&gt;CMake 指令, 可以讓我們的使用者更容易把程式建構於不同的平台. &lt;/font&gt;&lt;font color="#0000ff"&gt;重要的是, 它可以讓我選擇要產生 &lt;font color="#ff0000"&gt;Makefile&lt;/font&gt; 或 &lt;font color="#ff0000"&gt;Visual Studio .Net&lt;/font&gt; 的專案檔 (sln 專案檔).&lt;/font&gt;&lt;/p&gt;  &lt;p align="left"&gt;&lt;font color="#404040"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="left"&gt;&lt;font color="#404040"&gt;本文的主要結構為:&lt;/font&gt;&lt;/p&gt;  &lt;p align="left"&gt;&lt;font color="#404040"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 1. 最簡單的 CMakeLists.txt 範例&lt;/font&gt;&lt;/p&gt;  &lt;p align="left"&gt;&lt;font color="#404040"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 2. 如何在 Cygwin 下, 自動產生 &lt;/font&gt;&lt;font color="#0000ff"&gt;Makefile&lt;/font&gt;&lt;/p&gt;  &lt;p align="left"&gt;&lt;font color="#404040"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 3. 如何在 Windows 下, 自動產生 &lt;font color="#0000ff"&gt;Visual Studio .Net&lt;/font&gt; 專案檔 (sln)&lt;/font&gt;&lt;/p&gt;  &lt;p align="left"&gt;&lt;font color="#404040"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="left"&gt;&lt;font color="#404040"&gt;我想達成的目的, 如下所示:&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#404040"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://lh6.ggpht.com/_OpTu0L4lWpY/Sq-Mo7KPVSI/AAAAAAAABAI/Y04n4_za4FI/s1600-h/cmake_structure%5B12%5D.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="cmake_structure" border="0" alt="cmake_structure" src="http://lh3.ggpht.com/_OpTu0L4lWpY/Sq-Mqx18N-I/AAAAAAAABAM/DeGjyrE9exA/cmake_structure_thumb%5B8%5D.jpg?imgmax=800" width="368" height="294" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;font color="#404040"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;h3 align="left"&gt;&lt;font color="#0000ff"&gt;先把範例端上來&lt;/font&gt;&lt;/h3&gt;  &lt;p&gt;-------------------- fun.cpp --------------------&lt;/p&gt;  &lt;p&gt;int add(int a,int b){    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; return a+b;     &lt;br /&gt;}&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;// fun.h&lt;/p&gt;  &lt;p&gt;int add(int a,int b);&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;-------------------- main.cpp --------------------&lt;/p&gt;  &lt;p&gt;#include &amp;quot;fun.h&amp;quot;    &lt;br /&gt;#include &amp;lt;stdio.h&amp;gt; &lt;/p&gt;  &lt;p&gt;int main(){    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; int ans=add(1,2);     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; printf(&amp;quot;ans=%d&amp;quot;,ans);     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; return 0;     &lt;br /&gt;}&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;我想要做的事情是&lt;/p&gt;  &lt;p&gt;1. &lt;font color="#0000ff"&gt;建立一個 library&lt;/font&gt; 檔稱為 MyLibrary, 裡面包含 fun.cpp&lt;/p&gt;  &lt;p&gt;2. 自動建立 makefile, &lt;font color="#0000ff"&gt;把 main.cpp 與 MyLibrary 連接並且編譯&lt;/font&gt;.&lt;/p&gt;  &lt;p&gt;用 cmake 該怎麼作?&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Step 1: 寫一個 CMakeLists.txt, 描述該怎麼編譯你的 source&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;ex:&lt;/p&gt;  &lt;p&gt;-------------------- CMakeLists.txt -----------------&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;project&lt;/font&gt;(MyProject) &lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;add_library&lt;/font&gt;(MyLibrary fun.cpp)&amp;#160; &lt;em&gt;&lt;font color="#008000"&gt;# 建立程式庫 MyLibrary&lt;/font&gt;&lt;/em&gt;     &lt;br /&gt;&lt;font color="#0000ff"&gt;add_executable&lt;/font&gt;(MyProgram main.cpp) &lt;em&gt;&lt;font color="#008000"&gt;# 建立執行檔 MyProgram&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;font color="#008000"&gt;&lt;/font&gt;&lt;/em&gt;    &lt;br /&gt;&lt;em&gt;&lt;font color="#008000"&gt;# 產生執行檔 MyProgram 與 程式庫 MyLibrary 連結指令&lt;/font&gt;&lt;/em&gt;     &lt;br /&gt;&lt;font color="#0000ff"&gt;target_link_libraries&lt;/font&gt;(MyProgram MyLibrary)&lt;/p&gt;  &lt;p&gt;-------------------- end of CMakeLists.txt -----------------&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Step 2: 把它與你的 source files 放在一起&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;ex:&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://lh6.ggpht.com/_OpTu0L4lWpY/Sq-Msdu1UTI/AAAAAAAABAQ/jHt5SV1DfUk/s1600-h/cmake_CMakeLists%5B2%5D.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="cmake_CMakeLists" border="0" alt="cmake_CMakeLists" src="http://lh6.ggpht.com/_OpTu0L4lWpY/Sq-Mtps4I1I/AAAAAAAABAU/jIobHmQnGoo/cmake_CMakeLists_thumb.jpg?imgmax=800" width="244" height="106" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p align="left"&gt;&lt;strong&gt;Step 3: Enjoy&lt;/strong&gt;&lt;/p&gt;  &lt;p align="left"&gt;&amp;#160;&lt;/p&gt;  &lt;h3 align="left"&gt;&lt;font color="#0000ff"&gt;&lt;/font&gt;&lt;/h3&gt;  &lt;h3 align="left"&gt;&lt;font color="#0000ff"&gt;選擇你要產生的專案&lt;/font&gt;&lt;/h3&gt;  &lt;h3 align="center"&gt;&lt;font color="#0000ff"&gt;&lt;/font&gt;&lt;/h3&gt;  &lt;h3 align="center"&gt;&lt;font color="#0000ff"&gt;自動產生 Makefile 的作法&lt;/font&gt;&lt;/h3&gt;  &lt;p align="center"&gt;&amp;#160;&lt;/p&gt;  &lt;p align="left"&gt;&lt;strong&gt;Step 1: 在要放置 binary 的位置, 直接下指令 cmake [source code 目錄位置]&lt;/strong&gt;&lt;/p&gt;  &lt;p align="left"&gt;ex: 我在 ~/cmake_demo/bin 這個空目錄中, 下 cmake ../source 指令&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_OpTu0L4lWpY/Sq-MwBmfDjI/AAAAAAAABAY/AJkbLa9golg/s1600-h/cmake%5B5%5D.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="cmake" border="0" alt="cmake" src="http://lh5.ggpht.com/_OpTu0L4lWpY/Sq-MzGuJLxI/AAAAAAAABAc/2S167P08Xeo/cmake_thumb%5B9%5D.jpg?imgmax=800" width="501" height="258" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;strong&gt;Step 2: 來看看結果如何? (cmake 會把 Makefile 放在 bin/ 中)&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_OpTu0L4lWpY/Sq-M0EvrCGI/AAAAAAAABAg/q8QzYIhdr2E/s1600-h/01_Makefile%5B3%5D.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="01_Makefile" border="0" alt="01_Makefile" src="http://lh6.ggpht.com/_OpTu0L4lWpY/Sq-M1ae1pFI/AAAAAAAABAk/eDGPYu255Ic/01_Makefile_thumb%5B1%5D.jpg?imgmax=800" width="486" height="70" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;strong&gt;Step 3: 在 bin/ 下 make 指令, 看到底會不會動&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_OpTu0L4lWpY/Sq-M4a27_eI/AAAAAAAABAo/2Jtus9cB5Xo/s1600-h/02_in_process%5B4%5D.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="02_in_process" border="0" alt="02_in_process" src="http://lh5.ggpht.com/_OpTu0L4lWpY/Sq-M7TVQ0UI/AAAAAAAABAw/nBb3elmJqUo/02_in_process_thumb%5B6%5D.jpg?imgmax=800" width="486" height="229" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;嗯! 確實可以執行! ^_^&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_OpTu0L4lWpY/Sq-M8hSy0TI/AAAAAAAABA0/m2UavY7BRA0/s1600-h/02_result%5B3%5D.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="02_result" border="0" alt="02_result" src="http://lh5.ggpht.com/_OpTu0L4lWpY/Sq-M-BYl2pI/AAAAAAAABA4/DdlpRZgKmiM/02_result_thumb%5B1%5D.jpg?imgmax=800" width="424" height="136" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p align="left"&gt;&lt;strong&gt;&lt;/strong&gt;----------------------------------------------------------------------------------------&lt;/p&gt;  &lt;h3 align="center"&gt;&lt;font color="#0000ff"&gt;產生 Microsoft Visual Studio 專案的作法&lt;/font&gt;&lt;/h3&gt;  &lt;p align="center"&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Step 1: 選擇編譯結果目錄, 我們希望&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; a.&amp;#160; 指定 source code 的位置在: cmake_demo/source&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; b. 編譯後的結果放在: cmake_demo/bin&lt;/p&gt;  &lt;p align="left"&gt;&lt;font color="#ff0000"&gt;&amp;#160;&amp;#160;&amp;#160; 這樣作就不會把 source code 目錄弄髒了.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_OpTu0L4lWpY/Sq-NAWLktdI/AAAAAAAABA8/Fg6kqY4DDXk/s1600-h/04_Windows_Configure%5B5%5D.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="04_Windows_Configure" border="0" alt="04_Windows_Configure" src="http://lh5.ggpht.com/_OpTu0L4lWpY/Sq-NDf8cmBI/AAAAAAAABBA/kRmiXIj6znc/04_Windows_Configure_thumb%5B10%5D.jpg?imgmax=800" width="460" height="362" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Step 2: 選擇產生 Visual Studio 8 2005 專案檔&lt;/strong&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_OpTu0L4lWpY/Sq-NIoXxZQI/AAAAAAAABBE/2rgxwpUXL5k/s1600-h/05_win_Choose_Target_and_Specify_Native_compilers%5B3%5D.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="05_win_Choose_Target_and_Specify_Native_compilers" border="0" alt="05_win_Choose_Target_and_Specify_Native_compilers" src="http://lh6.ggpht.com/_OpTu0L4lWpY/Sq-NLIou4XI/AAAAAAAABBI/SIL9MP9AnQs/05_win_Choose_Target_and_Specify_Native_compilers_thumb%5B1%5D.jpg?imgmax=800" width="484" height="358" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Step 3: 設定編譯器所在位置&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; ex: C:\Program Files\Microsoft Visual Studio 8\VC\bin&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_OpTu0L4lWpY/Sq-NMz_lwjI/AAAAAAAABBM/ZKPqcZWmEns/s1600-h/06_win_Choose_VisualStudio_cl%5B3%5D.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="06_win_Choose_VisualStudio_cl" border="0" alt="06_win_Choose_VisualStudio_cl" src="http://lh4.ggpht.com/_OpTu0L4lWpY/Sq-NOhOyMxI/AAAAAAAABBQ/cr80waDZp_E/06_win_Choose_VisualStudio_cl_thumb%5B1%5D.jpg?imgmax=800" width="482" height="355" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Step 4: 選擇 [Generate] 開始產生 Visual Studio 專案&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_OpTu0L4lWpY/Sq-NSy3B7qI/AAAAAAAABBU/Xfu5AkKJxT8/s1600-h/07_win_reConfigure_and_runGenerate%5B4%5D.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="07_win_reConfigure_and_runGenerate" border="0" alt="07_win_reConfigure_and_runGenerate" src="http://lh6.ggpht.com/_OpTu0L4lWpY/Sq-NXrfsuaI/AAAAAAAABBY/70zdRm1hoho/07_win_reConfigure_and_runGenerate_thumb%5B6%5D.jpg?imgmax=800" width="547" height="421" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_OpTu0L4lWpY/Sq-NkZbxWII/AAAAAAAABBc/5Z03c5ae5UA/s1600-h/07_win_run_testing%5B5%5D.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="07_win_run_testing" border="0" alt="07_win_run_testing" src="http://lh4.ggpht.com/_OpTu0L4lWpY/Sq-Nt7UdLSI/AAAAAAAABBg/_lwjyn6Yfe4/07_win_run_testing_thumb%5B13%5D.jpg?imgmax=800" width="546" height="574" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_OpTu0L4lWpY/Sq-NwenAYLI/AAAAAAAABBk/Clykf-UOd8c/s1600-h/08_win_solution_result%5B3%5D.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="08_win_solution_result" border="0" alt="08_win_solution_result" src="http://lh5.ggpht.com/_OpTu0L4lWpY/Sq-Nznpn9gI/AAAAAAAABBo/rZt1zNGgI04/08_win_solution_result_thumb%5B1%5D.jpg?imgmax=800" width="457" height="207" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Unicode 設定的問題&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;如果你的字元處理是 Unicode, 那麼可以在 CMakeLists.txt 裡面加入&lt;/p&gt;  &lt;p&gt;&lt;font color="#008000"&gt;&lt;em&gt;# 設定 Unicode        &lt;br /&gt;add_definitions(-DUNICODE -D_UNICODE)&lt;/em&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;font color="#008000"&gt;&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#404040"&gt;如下圖所示&lt;/font&gt;&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://lh3.ggpht.com/_OpTu0L4lWpY/SsrYJriudaI/AAAAAAAABBw/2m_jAHsW7yE/s1600-h/unicode%5B3%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="unicode" border="0" alt="unicode" src="http://lh5.ggpht.com/_OpTu0L4lWpY/SsrYKz5TiuI/AAAAAAAABB0/vJd2PUlf7jk/unicode_thumb%5B1%5D.jpg?imgmax=800" width="411" height="306" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p align="center"&gt;&amp;#160;&lt;/p&gt;  &lt;p align="left"&gt;你會在產生出來的 project 設定中, 看見&lt;/p&gt;  &lt;p align="left"&gt;&lt;a href="http://lh3.ggpht.com/_OpTu0L4lWpY/SsrYL9h9EaI/AAAAAAAABB4/D2cMkrZ8EHk/s1600-h/unicode_prj%5B3%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="unicode_prj" border="0" alt="unicode_prj" src="http://lh5.ggpht.com/_OpTu0L4lWpY/SsrYMafhZtI/AAAAAAAABB8/hhRDTFpBpms/unicode_prj_thumb%5B1%5D.jpg?imgmax=800" width="401" height="53" /&gt;&lt;/a&gt;&amp;#160; &lt;/p&gt;  &lt;p&gt;Enjoy.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;by Jing&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;延伸閱讀&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;[1] &lt;a href="http://www.cmake.org/cmake/help/cmake2.6docs.html"&gt;CMake 2.6 文件&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7964811257176293796-5835170597420582965?l=mqjing.blogspot.com'/&gt;&lt;/div&gt;</description><link>http://mqjing.blogspot.com/2009/09/cmake-how-to-use-cmake.html</link><author>noreply@blogger.com (Jing(井民全))</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7964811257176293796.post-482050518048444285</guid><pubDate>Sat, 12 Sep 2009 01:32:00 +0000</pubDate><atom:updated>2009-09-11T18:52:55.250-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">生活</category><title>[生活] 面試進入第二階段-- 收網, 我的心得</title><description>&lt;p&gt;&lt;strong&gt;調整心情與保護自己的心靈&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Step 1: &lt;font color="#0000ff"&gt;初期&lt;/font&gt;的幾家面試的心靈策略&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 帶著一本書去面試閱讀, 等待的時間可以拿出來閱讀. 可以減緩緊張的心情.   &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 我帶的書是 “最後的演講” Randy Pausch.&amp;#160; &lt;font color="#ff0000"&gt;&lt;strong&gt;有效&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;a href="http://www.books.com.tw/exep/prod/booksfile.php?item=0010406898"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" height="139" src="http://www.books.com.tw/exep/lib/image.php?image=http://addons.books.com.tw/G/001/8/0010406898.jpg&amp;amp;width=200&amp;amp;height=280&amp;amp;quality=80" width="100" /&gt;&lt;/a&gt;&amp;#160;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&amp;#160; &lt;/strong&gt;Step 2: &lt;font color="#0000ff"&gt;中期與後期&lt;/font&gt;的幾家面試的心靈策略&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;a&amp;gt; 把筆記本拿出來, 寫下自己比起其他競爭對手的優勢在哪裡.&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 在自我介紹時, 條列說出來. 可以幫助主考官記住你.&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;b&amp;gt; 帶 Demo 作品去, 可以增加印象, 也比較能掌握面試過程的節奏.&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 不過要注意的是,&lt;font color="#0000ff"&gt; 隨時保持低調但有自信的一面&lt;/font&gt;. 這很重要.&lt;/p&gt;  &lt;p&gt;&amp;#160; &lt;/p&gt;  &lt;p&gt;&amp;#160; &lt;font color="#0000ff"&gt;Step 3: 平時就要注意的事項&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;a&amp;gt; 業界非常注重經驗, 實際專案的經驗, 規模, 複雜度. 都是考量.   &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; --- 多做困難的工作, 有用.    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;b&amp;gt;在自傳上, 人資關心的是你寫出來的那些技術名詞.     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; --- 多接觸不同技術, 有用.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;如果失敗, 亦要保持聯絡&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt; 1. 過幾天後, 再寫 email 告知如果將來有機會的話, 禮貌性告知幫我留意一下.&lt;/p&gt;  &lt;p&gt; 2. 要主動聯繫有用的朋友, 如果還不是朋友, 那應該變成朋友&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;font color="#ff0000"&gt;如果失敗的話, 只是沒有錄取, 沒什麼大不了的&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;製作朋友列表, 隨時保持聯繫&lt;/font&gt;&lt;/p&gt;  &lt;p&gt; 1. 平時記錄的心得, 要主動寄給有潛力的朋友們, 讓他們瞭解自己&lt;/p&gt;  &lt;p&gt; 2. 面試後, 你會收到一堆名片, 收集起來&amp;#160; --- 交朋友!&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;面試的行為很重要, 態度很重要&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160; 1. &lt;u&gt;&lt;font color="#ff0000"&gt;積極但不能給別人壓力&lt;/font&gt;&lt;/u&gt;, 要讓人家覺得你是個聽話的人&lt;/p&gt;  &lt;p&gt;&amp;#160; 2. 不要插斷別人的話. (&lt;u&gt;這情況和學校時期教的, 有問題立即發問不同!)&lt;/u&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160; 3. 我就是話太多了讓別人不舒服.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;font color="#000000"&gt;&lt;strong&gt;一些我常遇到的經典問題&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#000000"&gt;&amp;#160;&amp;#160; Q1. 你希望從公司得到什麼?&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#000000"&gt;&amp;#160;&amp;#160; Q2. 談談你認為的好主管是什麼?&lt;/font&gt;&amp;#160; &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;Response&amp;gt; 應該從員工與公司利益角度思考, 真正給你錢的是公司,&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; 不是你的同仁. 所以熱情很重要! 但是更應該用在增加公司競爭力上.    &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160; &lt;font color="#0000ff"&gt;Q3. 公司最近非常不賺錢, 又要加班. 薪資時薪可能比 7-11 工讀生低,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 這樣你還要來本公司嗎?&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;Response&amp;gt; 其實他在問你是否對來公司的意願強烈, 是否對公司有信心.   &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; &lt;font color="#0000ff"&gt;Q4. 一年前就玩過你的網路上的作品, bug 很多. 對我來說是一種扣分.      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 你對這件事的看法如何?&lt;/font&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; Q5. 你對程式碼品質控制的看法如何, 說說看作法.&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;a&amp;gt; 你對 code review 與 code writing 的比例, 看法如何?    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 你會希望什麼樣的比例對你最適合?&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;font color="#0000ff"&gt;Q6. 因為你管理的團隊極可能是相異屬性很高的人, 你如何管理他們?&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#000000"&gt;分享給各位, 同時大家也可以思考一下你會怎麼回答. &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#000000"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#000000"&gt;Enjoy &amp;amp; Good luck.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#000000"&gt;^_^&lt;/font&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7964811257176293796-482050518048444285?l=mqjing.blogspot.com'/&gt;&lt;/div&gt;</description><link>http://mqjing.blogspot.com/2009/09/blog-post_11.html</link><author>noreply@blogger.com (Jing(井民全))</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7964811257176293796.post-6580342158658630930</guid><pubDate>Wed, 02 Sep 2009 01:34:00 +0000</pubDate><atom:updated>2009-09-01T18:37:26.972-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">生活</category><title>[生活] 畢業了! 找工作</title><description>&lt;p align="center"&gt;&lt;a href="http://lh6.ggpht.com/_OpTu0L4lWpY/Sp3LU8759EI/AAAAAAAABAA/nx10gB1g0bo/s1600-h/image%5B2%5D.png"&gt;&lt;img title="image" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="186" alt="image" src="http://lh4.ggpht.com/_OpTu0L4lWpY/Sp3LmftdoJI/AAAAAAAABAE/QMyzSjQYHAc/image_thumb.png?imgmax=800" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p align="center"&gt;(&lt;a href=" http://www.flickr.com/photos/70106394@N00/321690006/"&gt;圖片來源&lt;/a&gt;)&lt;/p&gt;  &lt;p&gt;畢業了, 正在找工作!   &lt;br /&gt;感覺自己像是架上的水果, 讓人挑選. &lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;&lt;font color="#0000ff"&gt;人格特質/ 個性/ 缺點都被找出來, 認真地被討論與檢視.&lt;/font&gt; &lt;/p&gt;  &lt;p&gt;長達數小時的檢測, 把面具拿開, 真實的面對自己!&amp;#160; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;這是個難得的經驗, 也是真實地察覺, 別人是怎麼評價自己的絕佳機會. (絕不客套!)&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;最優秀的鋼琴家, 不怕沒有舞台演奏!&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;我應該思考的是自己是能成為最優秀的人, 而不是擔心自己有沒有地方讓我發揮.&lt;/p&gt;  &lt;p&gt;抓住機會, 努力展現並且誠實的面對自己, 是我的面試收穫.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7964811257176293796-6580342158658630930?l=mqjing.blogspot.com'/&gt;&lt;/div&gt;</description><link>http://mqjing.blogspot.com/2009/09/blog-post.html</link><author>noreply@blogger.com (Jing(井民全))</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7964811257176293796.post-3431809961745103053</guid><pubDate>Sat, 08 Aug 2009 17:55:00 +0000</pubDate><atom:updated>2009-08-08T10:55:27.655-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">生活</category><title>[生活] 戰爭機器 艾斯方戰役 收集片段</title><description>&lt;p align="center"&gt;&lt;strong&gt;&lt;img height="142" src="http://www.books.com.tw/exep/lib/image.php?image=http://addons.books.com.tw/G/001/1/0010440821.jpg&amp;amp;width=200&amp;amp;height=280&amp;amp;quality=80" width="103" /&gt; &lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;font color="#008080" size="6"&gt;最近&lt;/font&gt;看了一本遊戲為基礎的小說, 覺得幽默但故事結構鬆散.&amp;#160; 我想可能是怕影響日後的遊戲劇情吧. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;下面是我的收穫:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;多姆看到柯爾的豁達, 產生的想法:     &lt;br /&gt;&lt;/strong&gt;只有&lt;font color="#ff0000"&gt;[人]才是最重要的&lt;/font&gt;. 你無法換掉身邊的人, 而且他們也不會幫你生利息. &lt;font color="#0000ff"&gt;他們只會逐日凋零, 你得盡全力把握每一個珍貴無比的片刻&lt;/font&gt;. p.p. 16. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;霍夫曼上校心裡的話:     &lt;br /&gt;&lt;/strong&gt;這棟破舊建築也不是什麼了不起的總部, 但&lt;font color="#0000ff"&gt;假如他開始用什麼都無所謂的態度來看待事情的話 ---- 無論多麼小的事, 墮落便會開始產生&lt;/font&gt;. p.p. 20. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;多姆犯了錯, 他父親告訴他的話:     &lt;br /&gt;&lt;/strong&gt;當一切順利的時候要保持勇敢是很容易的, 但是&lt;font color="#0000ff"&gt;一個男人真正的試練, 是他怎樣在艱難的困境中對待他自己&lt;/font&gt;. p.p. 84. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;多姆鼓勵自己的話:     &lt;br /&gt;&lt;/strong&gt;假如你做錯了什麼事情, 你自然得多&lt;font color="#0000ff"&gt;辛苦一點&lt;/font&gt;才能將事情搞定, &lt;font color="#0000ff"&gt;不然你就什麼教訓也學不到了&lt;/font&gt;. p.p. 85. &lt;/p&gt;  &lt;p&gt;[他們怎麼有辦法才短短幾天就打包好那麼多的東西?] 工兵回應:[&lt;font color="#0000ff"&gt;辦法就是不睡覺!&lt;/font&gt;]. p.p. 132. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;多姆的心裡話:     &lt;br /&gt;&lt;/strong&gt;難得的空檔休息時間最不該做的試情就是向這樣的胡思亂想. 應該要被吃東西 睡覺 獲釋爭吵填滿才對, &lt;font color="#0000ff"&gt;因為胡思亂想只會讓已經死亡和失蹤的人再度出現, 讓你質疑自己為什麼還要這麼辛苦地撐下去&lt;/font&gt;. p.p. 196. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;多姆的哥哥, 卡洛斯:     &lt;br /&gt;&lt;/strong&gt;好好跟你爸相處, 馬可斯. 人生苦短, 稍縱即逝. 原諒他, 原諒自己. &lt;font color="#ff0000"&gt;哪一天他不在了, 你將願意用所有的一切來交換和他多相處一分鐘&lt;/font&gt;. p.p. 284.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;by Jing.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7964811257176293796-3431809961745103053?l=mqjing.blogspot.com'/&gt;&lt;/div&gt;</description><link>http://mqjing.blogspot.com/2009/08/blog-post.html</link><author>noreply@blogger.com (Jing(井民全))</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7964811257176293796.post-2553717637313912832</guid><pubDate>Sun, 05 Jul 2009 16:47:00 +0000</pubDate><atom:updated>2009-07-14T06:53:37.914-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">不分類</category><title>不用說我愛妳! 妳也能感受的到, 因為我們是親兄妹</title><description>&lt;p&gt;月有陰晴圓缺, 人有聚散離合.  人生就是這樣, 天下沒有不散的宴席, 我們總有一天會面對父母離開自己.&lt;/p&gt;  &lt;p&gt;我一直認為, 有兄弟姊妹的好處是到緊要時刻到的時候, 可以多一個人一起分擔傷痛. 這樣的道理推演至自己的生兒育女觀念上, 也會希望自己的孩子在人生的旅途上, 多一個伴侶.&lt;/p&gt;  &lt;p align="center"&gt; &lt;span style="color:#0000ff;"&gt;在人生中, 我能 給予孩子無可取代的人生禮物是: 兄弟姊妹.&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;可是我卻忘記了一件事: &lt;span style="color:#0000ff;"&gt;除了父母之外, 你有幾個兄弟姊妹, 當他們走的時候, 你就會傷心幾次&lt;/span&gt;.  &lt;/p&gt;  &lt;p&gt;我不是其他動物, 不知道動物有沒有七情六欲. 我是人 … 我深深地知道什麼是感覺. &lt;/p&gt;  &lt;p&gt;我們一起搶東西, 打架, 一起出去玩, 妹妹總是喜歡當跟屁蟲.   &lt;br /&gt;每次吃東西時,  她都吃雙份, 而我總是被打的那個.    &lt;br /&gt;  &lt;br /&gt;但是我真的感謝我的父母讓我擁有有兄弟姊妹, 我非常的幸運, 我擁有兄弟姊妹. &lt;/p&gt;  &lt;p&gt;大家走的時間都不一樣….. 我討厭人生是這樣. 我討厭這樣的人生.  &lt;/p&gt;  &lt;p&gt;我愛妳, 哥哥不用說我愛妳. 妳也能感受的到,  因為我們是親兄妹!&lt;/p&gt;  &lt;p&gt;哥哥祝妳健康快樂.&lt;/p&gt;  &lt;p&gt;                                                                              畢業口試前, 交大自動化資訊處理實驗室.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7964811257176293796-2553717637313912832?l=mqjing.blogspot.com'/&gt;&lt;/div&gt;</description><link>http://mqjing.blogspot.com/2009/07/blog-post.html</link><author>noreply@blogger.com (Jing(井民全))</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7964811257176293796.post-7213413542672895063</guid><pubDate>Sat, 04 Jul 2009 14:43:00 +0000</pubDate><atom:updated>2009-07-04T11:39:49.546-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">程式設計</category><category domain="http://www.blogger.com/atom/ns#">軟體</category><title>[程式設計] 把修正好的程式碼合併到目前工作副本 – svn merge</title><description>&lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 180%"&gt;&lt;span style="color: rgb(51,102,255)"&gt;老實說, 我不太敢作 svn merge!&lt;/span&gt;&lt;/span&gt;     &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;因為 source code 實在太重要了, 特別是要合併兩個不同的 source tree.&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;當時的直覺反應是:     &lt;br /&gt;&lt;span style="color: rgb(0,153,0)"&gt;[若沒有仔細瞭解 merge 的機制, 絕對不要動它.] &lt;span style="color: rgb(51,51,51)"&gt;我擔心會搞爛整個 source tree.&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;  &lt;p&gt;後來才知道, 原來只要不 commit, 怎麼亂搞都不會出事&amp;#160; ^_^&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p style="font-weight: bold"&gt;緣起&lt;/p&gt;  &lt;p&gt;當有一天你要同時管理 3 個以上的專案時, 同步管理專案的問題就會出現. 例如:&amp;#160; &lt;span style="color: rgb(255,0,0)"&gt;A 專案修正後的程式碼, 想要同時讓 B 與 C 分享.&lt;/span&gt; &lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;我們的問題可以分類成:     &lt;br /&gt;1. 少於 10 行而且集中在一起的程式碼: 直接&lt;span style="color: rgb(51,51,255)"&gt;手動把你要的部分, 複製到想要被更新的專案中, 這樣最快.&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;2. 當修正的程式碼, 散佈在多個檔案而且多個位置: &lt;span style="color: rgb(51,51,255)"&gt;這時候與其他專案的同步修正, 就會是一個問題.&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;我遇到了 case 2! 而且我的組員還不斷地新增程式碼.&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;&lt;/p&gt;  &lt;p style="font-weight: bold"&gt;心理障礙&lt;/p&gt;  &lt;p&gt;主要是 B 和 C 的程式碼已經有各自的功能了, 不能直接把 A 的 code 複製進去.    &lt;br /&gt;必須&lt;span style="color: rgb(51,51,255)"&gt;先把有修改的程式檔找出來, 找出需要修正的段落, 然後把適當的程式填進去&lt;/span&gt;.&lt;/p&gt;  &lt;p&gt;這樣須要&lt;span style="color: rgb(51,153,153)"&gt;&lt;span style="color: rgb(51,51,255)"&gt;花費巨大的比對與校正心力&lt;/span&gt;,&lt;/span&gt; 為了解決專案同步的問題, 我還使用一個 Excel 檔記錄專案之間, 有哪些 bug 的修正還沒同步.&lt;/p&gt;  &lt;p&gt;&lt;span style="color: rgb(51,51,51)"&gt;通常做完這些修正後, 我都會找 Larry 一起去買香雞排.&lt;/span&gt;     &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;&lt;/p&gt;  &lt;p style="font-weight: bold"&gt;面對問題&lt;/p&gt;  &lt;p&gt;其實我是標準程序的守護者, 我善於寫文件.&lt;/p&gt;  &lt;div style="text-align: center"&gt;&lt;span style="color: rgb(51,51,255)"&gt;我寫文件的重點是:[創造一個不需要我的工作環境]&lt;/span&gt;,     &lt;br /&gt;&lt;/div&gt;  &lt;p&gt;   &lt;br /&gt;&lt;span style="color: rgb(51,51,51)"&gt;我希望&lt;/span&gt;&lt;span&gt;&lt;span style="color: rgb(51,51,51)"&gt;任何人無論你是高手還是初學者&lt;/span&gt;, 只要拿到文件, 就能做的和我一樣. 而且有效率的完成工作.&lt;/span&gt;     &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;根據這樣的理念, 所以最好的文件是不用文件, 一切都用批次作業自動完成.    &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;我總是認為如果我花費太多時間在某件困難的事物上, 那就表示這件事有必要寫份文件或自動化, 讓我花的時間不用重複的浪費. &lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-weight: bold"&gt;手冊越簡單越好&lt;/span&gt;     &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;我希望連沒有 svn 觀念的人, 只要按照手冊描述的步驟就能完成.&lt;/p&gt;  &lt;p&gt;通常我認為步驟若超過 7 個以上, 那就表示這份文件太複雜了, 有必要修改文件內容.    &lt;br /&gt;&lt;span style="color: rgb(51,51,255)"&gt;基本上,      &lt;br /&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="text-align: center"&gt;&lt;span style="color: rgb(51,51,255)"&gt;我喜歡看到 4 個步驟就完成的工作項目. 第四個步驟的內容是 Enjoy!&lt;/span&gt;     &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-weight: bold"&gt;請放心&lt;/span&gt;     &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;merge 改的是你硬碟中的程式工作副本(working copy), 除非你 commit, 否則不會改到 repository.&lt;/p&gt;  &lt;p&gt;如果你發現你的工作副本已經一團亂了, 直接下 &lt;strong&gt;revert&lt;/strong&gt; 即可將整個 source code 恢復原狀     &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-weight: bold"&gt;把修正好的程式碼合併到主線最簡單的步驟&lt;/span&gt;     &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;其實只要閱讀一下 help, 我們就可以大概瞭解 merge 的功用了&lt;/p&gt;  &lt;p&gt;&lt;span style="font-weight: bold"&gt;Step 1&lt;/span&gt;: 進入 cmd.exe&lt;/p&gt;  &lt;p&gt;&lt;span style="font-weight: bold"&gt;Step 2&lt;/span&gt;: set LANG=en (if you don’t, 你可能會遇到一堆數字的亂碼)&lt;/p&gt;  &lt;p&gt;&lt;span style="font-weight: bold"&gt;Step 3&lt;/span&gt;: svn help merge     &lt;br /&gt;&lt;/p&gt;  &lt;p style="text-align: center"&gt;&lt;span style="color: rgb(255,0,0)"&gt;merge: Apply the differences between two sources to a working copy path.&lt;/span&gt;     &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;意思就是把兩個 source 的差異部分合併到目前的工作副本中    &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;所以若要將修改前與修改後的程式碼, 全部合併到目前的工作副本中, 那麼作法很簡單&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Step 1:&lt;/strong&gt; 點選要&lt;font color="#0000ff"&gt;接受合併的 working copy&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#404040"&gt;例如: 我們希望把 branch source tree 的解決 bug 片段, 也放到 trunk source tree 中. 作法只要在 trunk 目錄上點選滑鼠右鍵選Merge即可.&lt;/font&gt;&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://lh3.ggpht.com/_OpTu0L4lWpY/Sk-V1rjVG9I/AAAAAAAAA_A/UtB6Tlayy7M/s1600-h/01_choose_working_copy%5B4%5D.jpg"&gt;&lt;img title="01_choose_working_copy" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="390" alt="01_choose_working_copy" src="http://lh6.ggpht.com/_OpTu0L4lWpY/Sk-V4EHauOI/AAAAAAAAA_E/17N-N1l1xzE/01_choose_working_copy_thumb%5B6%5D.jpg?imgmax=800" width="349" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p align="center"&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;span style="font-weight: normal"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Step 2:&lt;/strong&gt;&amp;#160; Merge Type 選 “Merge a range of revision”, 在裡面指定修改前與修改後的 branch source 版本號碼.&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://lh5.ggpht.com/_OpTu0L4lWpY/Sk-V6uQ38UI/AAAAAAAAA_I/LHcQnxi0Igg/s1600-h/02_type1%5B3%5D.jpg"&gt;&lt;img title="02_type1" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="355" alt="02_type1" src="http://lh3.ggpht.com/_OpTu0L4lWpY/Sk-V9J0zqhI/AAAAAAAAA_M/h3zsZaT2LQs/02_type1_thumb%5B1%5D.jpg?imgmax=800" width="505" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p align="left"&gt;&amp;#160; a. 選擇已經除錯完成的 branch source tree &lt;/p&gt;  &lt;p align="left"&gt;&lt;a href="http://lh6.ggpht.com/_OpTu0L4lWpY/Sk-WAB8SBrI/AAAAAAAAA_Q/UDq9iowEsLM/s1600-h/03_Merge%5B6%5D.jpg"&gt;&lt;img title="03_Merge" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="314" alt="03_Merge" src="http://lh5.ggpht.com/_OpTu0L4lWpY/Sk-WCrQPuYI/AAAAAAAAA_U/RIg6sj7nT5E/03_Merge_thumb%5B4%5D.jpg?imgmax=800" width="488" border="0" /&gt;&lt;/a&gt;&amp;#160;&amp;#160; &lt;/p&gt;  &lt;p align="left"&gt;&amp;#160;&amp;#160;&amp;#160; b. 選擇在 branch source tree 中, 哪個 bug 片段要被取出來. &lt;/p&gt;  &lt;p align="left"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 例如: &lt;font color="#0000ff"&gt;我們只想取出 Bug2 修正後的片段, 進行合併&lt;/font&gt;&lt;/p&gt;  &lt;p align="left"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 作法如下: [Revision range to merge] -&amp;gt;[Show log] &lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://lh4.ggpht.com/_OpTu0L4lWpY/Sk-WFKQkYgI/AAAAAAAAA_Y/e2MJu5s7wzU/s1600-h/choose_bug_fixed%5B4%5D.jpg"&gt;&lt;img title="choose_bug_fixed" style="border-top-width: 0px; display: block; border-left-width: 0px; float: none; border-bottom-width: 0px; margin-left: auto; margin-right: auto; border-right-width: 0px" height="204" alt="choose_bug_fixed" src="http://lh5.ggpht.com/_OpTu0L4lWpY/Sk-WHdF0TaI/AAAAAAAAA_c/PB8qpFIVcD0/choose_bug_fixed_thumb%5B7%5D.jpg?imgmax=800" width="462" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Step 3:&lt;/strong&gt; 點選 [Next], 然後 [Merge], 就會將你在 branch 修改過的程式碼, 合併到指定的 working copy.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_OpTu0L4lWpY/Sk-WJ0iKXpI/AAAAAAAAA_g/_b_azKo4HQE/s1600-h/merge_final%5B3%5D.jpg"&gt;&lt;img title="merge_final" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="473" alt="merge_final" src="http://lh4.ggpht.com/_OpTu0L4lWpY/Sk-WMnECpFI/AAAAAAAAA_k/MSEJnm8UOHA/merge_final_thumb%5B1%5D.jpg?imgmax=800" width="478" border="0" /&gt;&lt;/a&gt;&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Step 4:&lt;/strong&gt; 完成, Enjoy.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;合併的結果&lt;/strong&gt;     &lt;br /&gt;&lt;font color="#ff00ff"&gt;狀況 1:&lt;/font&gt; 若你選擇的程式碼中, &lt;font color="#0000ff"&gt;修正的部分剛好你的 working copy 版本也改了&lt;/font&gt;. 這時候就會發生衝突. (這種情況很常發生, 所以你要會用小烏龜解衝突!)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_OpTu0L4lWpY/Sk-WOm3sqkI/AAAAAAAAA_o/kRIGGre3r2I/s1600-h/conflict01%5B3%5D.jpg"&gt;&lt;img title="conflict01" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="159" alt="conflict01" src="http://lh4.ggpht.com/_OpTu0L4lWpY/Sk-WQokiGsI/AAAAAAAAA_s/Num_vde4-u8/conflict01_thumb%5B1%5D.jpg?imgmax=800" width="451" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;我們在這時候出手, &lt;font color="#0000ff"&gt;選擇哪一部份程式碼是你要的修正, 那一部份是不要的.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;(小烏龜可以幫你快速找出要改的地方, 幾乎可以不用鍵盤的改衝突)&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;font color="#ff00ff"&gt;狀況 2:&lt;/font&gt; 在你選擇的程式碼中, 剛好修正的部分可以完全鑲入你的 working copy.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_OpTu0L4lWpY/Sk-WR-3qLVI/AAAAAAAAA_w/vzuxTLGixuk/s1600-h/merge_ok%5B4%5D.jpg"&gt;&lt;img title="merge_ok" style="border-top-width: 0px; display: block; border-left-width: 0px; float: none; border-bottom-width: 0px; margin-left: auto; margin-right: auto; border-right-width: 0px" height="130" alt="merge_ok" src="http://lh5.ggpht.com/_OpTu0L4lWpY/Sk-WT_PKXVI/AAAAAAAAA_0/b8YgMLTYPGU/merge_ok_thumb%5B6%5D.jpg?imgmax=800" width="432" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160; &lt;br /&gt;    &lt;br /&gt;&lt;strong&gt;合併完成後的檢查&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Step 1:&lt;/strong&gt; 合併後, 在你的 working copy 中有檔案變動時, 檔案會變成紅色驚嘆號.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Step 2:&lt;/strong&gt; 執行 diff (小烏龜滑鼠右鍵), 觀察程式碼片段中的每項更改是否為你想要的.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_OpTu0L4lWpY/Sk-WXeM2sgI/AAAAAAAAA_4/1ecUqKCokJc/s1600-h/abc%5B3%5D.jpg"&gt;&lt;img title="abc" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="204" alt="abc" src="http://lh6.ggpht.com/_OpTu0L4lWpY/Sk-WbRaRv_I/AAAAAAAAA_8/svDBKBn9Hr4/abc_thumb%5B1%5D.jpg?imgmax=800" width="545" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Working copy 狀態: 左邊是原來的, 右邊是目前更新的內容&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Step 3:&lt;/strong&gt; 處理完後, 在小烏龜 diff 視窗左上角, 點選 save 完成手動合併工作. 接者取下一個驚嘆號檔&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Step 4:&lt;/strong&gt; commit 修改後的 working copy.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;--------------------------------------------------------------------------------------&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;命令列的作法:&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;若&lt;/font&gt;&lt;font color="#0000ff"&gt;有一個主線, 為了修一個 bug 建立另一個分支.&amp;#160; 現在 bug 已經修正完畢, 如何將修正後的 code 合併到主線的 working copy 呢?&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;作法如下:&lt;/strong&gt;     &lt;br /&gt;&lt;strong&gt;Step 1:&lt;/strong&gt; 先執行 cmd.exe, 並且切換到主線的 working copy 中.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Step 2:&lt;/strong&gt; 查出發現 bug 之前的那段起始號碼&lt;/p&gt;  &lt;p align="center"&gt;svn -log [分支的 svn source tree] (查詢開始修改 bug 前的版本號碼)&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Step 3:&lt;/strong&gt; 只合併修改 Bug 的部分到目前所在的 working copy 中&lt;/p&gt;  &lt;p align="center"&gt;svn merge -r [修改 bug 前的號碼]:HEAD [分支的 svn source tree]&lt;/p&gt;  &lt;p&gt;Step 4: 主線即擁有你修改的 bug.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Enjoy!&lt;/p&gt;  &lt;p&gt;by Jing.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7964811257176293796-7213413542672895063?l=mqjing.blogspot.com'/&gt;&lt;/div&gt;</description><link>http://mqjing.blogspot.com/2009/07/svn-merge.html</link><author>noreply@blogger.com (Jing(井民全))</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7964811257176293796.post-3776790298847953159</guid><pubDate>Sun, 28 Jun 2009 13:15:00 +0000</pubDate><atom:updated>2009-06-28T08:47:14.503-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">生活</category><title>[生活] 我清醒的時間有多久? (五年前的文章)</title><description>&lt;p&gt;&lt;span style="color: #808040"&gt;這是一篇我在 Eastshare 論壇發表的回文(最初原稿節錄), 是我五年前的自己. &lt;span style="color: #0000ff"&gt;       &lt;br /&gt;現在讀起來像是在解析與回顧我的生命歷程.&lt;/span&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="color: #808040"&gt;感謝 Eastshare , 陪我度過一段了苦澀的人生旅程, 雖然站長們都不認識我, 卻是一個能讓我大放厥詞的好地方.&lt;/span&gt;&lt;/p&gt;  &lt;p align="right"&gt;請見諒文章的不通順&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;文章開始 (最初草稿並且節錄的版本)&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;選擇&lt;/strong&gt;&lt;/p&gt;  &lt;p align="right"&gt;時間: 2004 年 9 月 24 日 凌晨 2:25 分 &lt;/p&gt;  &lt;p align="right"&gt;地點: 靠近新竹中華大學附近的宿舍&lt;/p&gt;  &lt;p&gt;我遇到了選擇的問題.... 且頭痛不已. 選擇作自己呢? 還是要當別人的眼中的自己. &lt;/p&gt;  &lt;p&gt;感覺讀書讀到一定的程度,也花了大半輩子的時間唸書    &lt;br /&gt;,但是對自己想要追求的人生一點幫助也沒有. &lt;/p&gt;  &lt;p&gt;痛苦了好幾個月... 很難想開.... 後來還想到人生的意義.... 快不快樂的問題(問自己什麼叫做快樂?) 等問題.&lt;/p&gt;  &lt;p align="center"&gt;&lt;span style="color: #0000ff"&gt;[做一些現在不做, 將來 10 年 20 年之後會後悔的事情]&lt;/span&gt;&lt;/p&gt;  &lt;p align="left"&gt;這樣對嗎? 什麼事情有那麼重要? &lt;/p&gt;  &lt;p align="left"&gt;&lt;span style="color: #404040"&gt;我想只有當親人真正要離開自己後, 在回憶中體驗後悔的感覺,&lt;/span&gt;&lt;/p&gt;  &lt;p align="left"&gt;&lt;span style="color: #404040"&gt;這種滋味才真正不好受.&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;…&lt;/p&gt;  &lt;p&gt;選擇是很困難的事情, 尤其是要短時間做決定更是困難. &lt;/p&gt;  &lt;p&gt;不知道你有沒有注意到: &lt;/p&gt;  &lt;p align="center"&gt;&lt;span style="color: #0000ff"&gt;人生其實並不短暫, 有時候我反而覺得人生很長. &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;當我在看電影時,兩個小時很快就過去了,睡覺六個小時一下子就過去了. &lt;/p&gt;  &lt;p&gt;但是要我安安靜靜的兩個小時,時間就好像停止一般.&lt;/p&gt;  &lt;p align="center"&gt;&lt;span style="color: #0000ff"&gt;有時候沒有必要要逼自己短時間作決定&lt;/span&gt;.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;span style="color: #404040"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p align="left"&gt;&lt;strong&gt;問自己&lt;/strong&gt;&lt;/p&gt;  &lt;p align="left"&gt;我最近常常自己問自己, &lt;/p&gt;  &lt;p align="left"&gt;我今天到底活了多久, 我清醒的時間有多久?    &lt;br /&gt;這不是以一天 24 小時來計算, 而是我&lt;span style="color: #0000ff"&gt;&lt;strong&gt;真實的感受&amp;quot;自我&amp;quot;的時刻有多久?&lt;/strong&gt;&lt;/span&gt;     &lt;br /&gt;在自我控制下, 覺察到自我的時間有多久?&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;隨時察覺&amp;quot;自我&amp;quot;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;不否認, 不讓自己的心思被大量事情淹沒 對我來說很困難.    &lt;br /&gt;所以我常常會會鬼混一陣子,還不自覺. &lt;/p&gt;  &lt;p&gt;也因此我寫紙條放在桌上,讓我&lt;/p&gt;  &lt;p align="center"&gt;&lt;span style="color: #0000ff"&gt;時時提醒自己. 讓真實的感受&amp;quot;自我&amp;quot;的時刻越久, 就活的越久這個道理.&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;隨時察覺&amp;quot;自我&amp;quot; , 可以讓我更專心與更有效率的處理事情. 也讓我知道我在做什麼? &lt;/p&gt;  &lt;p&gt;雖然我不是什麼成功人士,但我知道我真實的活著,這個事實.    &lt;br /&gt;而且也認真的過每一小時. &lt;/p&gt;  &lt;p&gt;就好像寫這篇回文一樣.    &lt;br /&gt;把自己的想法累積起來. 收藏起來.     &lt;br /&gt;因為對我而言,這是一種累積的動作.&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;我盡量做到&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;我知道我在做什麼. 不會讓我在往後因為做了什麼而後悔. &lt;/p&gt;  &lt;p align="left"&gt;&lt;span style="color: #404040"&gt;每當有所察覺自我時, 就會發現&amp;quot;時間的感受&amp;quot;有很大的不同. 有時候,回頭想想&lt;/span&gt;&lt;/p&gt;  &lt;p align="left"&gt;&lt;span style="color: #0000ff"&gt;自己真的花了很多時間在做沒有累積性的事情上.&lt;/span&gt; &lt;/p&gt;  &lt;p&gt;當然, 我也常常渾渾噩噩的過了一天. &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;時間存在於心中&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="color: #0000ff"&gt;當我沒有抓住自己或根本忘了自己時, 根本就沒有時間這東西.&lt;/span&gt;     &lt;br /&gt;這也就是我們常常覺得&amp;quot;時間過得很快&amp;quot;,&amp;quot;一天就這樣過去&amp;quot; 的原因&lt;/p&gt;  &lt;p&gt;認真的過每個分鐘每小時, 就不會覺得時間很快. &lt;/p&gt;  &lt;p&gt;還會發覺時間很多. &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;有計畫地浪費生命&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;知道自己後,然後就可以有計畫的去浪費時間,在美好的事物上(廣告詞借用一下)    &lt;br /&gt;有計畫的使用時間, 讓自己更專心也知道目的前進.     &lt;br /&gt;有計畫的做一個 Feeling 的設計者, &lt;span style="color: #0000ff"&gt;製造讓別人體驗的美好經驗&lt;/span&gt;, 讓別人覺得世界美好.&lt;/p&gt;  &lt;p&gt;我思故我在, 是不是就是這個道理呢? &lt;/p&gt;  &lt;p&gt;我不知道, &lt;/p&gt;  &lt;p&gt;但我知道的是    &lt;br /&gt;沒有自覺自己的生活,     &lt;br /&gt;就會像行屍走肉般的生活. 很容易就會覺得一天過的很快. &lt;/p&gt;  &lt;p&gt;如果真實的感受自我,就會比較容易選擇自己的選擇並且忠於自己的選擇. &lt;/p&gt;  &lt;p&gt;以上是我對付日子過的很快的方法也是我看了&amp;quot;可可&amp;quot;的文章感想.&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;by Jing.&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="color: #808000"&gt;老實說: 五年前的我想的還真多, 看來五年後我還是一樣不長進.&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;&lt;/p&gt;  &lt;p style="font-weight: bold"&gt;&lt;span style="color: #808000"&gt;其他我寫的文章&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="color: #808000"&gt;&lt;span style="color: rgb(0,0,0)"&gt;[1]&lt;/span&gt; &lt;/span&gt;&lt;a href="http://mqjing.blogspot.com/2006/12/blog-post_9376.html"&gt;綠草如茵, 陽光如此的燦爛&lt;/a&gt;, 2006/12&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7964811257176293796-3776790298847953159?l=mqjing.blogspot.com'/&gt;&lt;/div&gt;</description><link>http://mqjing.blogspot.com/2009/06/blog-post.html</link><author>noreply@blogger.com (Jing(井民全))</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7964811257176293796.post-3885770211887464986</guid><pubDate>Tue, 16 Jun 2009 03:10:00 +0000</pubDate><atom:updated>2009-06-15T23:00:14.891-07:00</atom:updated><title>[程式設計] 自動產生說明文件 Doxygen: Visual Studio add-in</title><description>&lt;p align="center"&gt;&lt;a href="http://lh6.ggpht.com/_OpTu0L4lWpY/SjcM85l_FqI/AAAAAAAAA9o/n74gxC5ZdsE/s1600-h/image%5B3%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_OpTu0L4lWpY/SjcM9llHmnI/AAAAAAAAA9s/43lrs3dif10/image_thumb%5B1%5D.png?imgmax=800" width="265" height="55" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p align="left"&gt;&lt;font color="#408080" size="6"&gt;自動&lt;/font&gt;產生程式碼的文件, 我在之前的文章 [1] 中已經提到可以使用 Doxygen. 甚至連數學公式都可以用 Latex 描述, 真厲害.&lt;/p&gt;  &lt;p align="left"&gt;可是呢…我討厭背東西, &lt;/p&gt;  &lt;p align="left"&gt;尤其是還要我弄 Doxygen 的格式, 用滑鼠與鍵盤敲出那一堆 *, 真是暈倒. 一定有程式能幫我自動產生 Doxygen 的模版, 答案就是&lt;/p&gt;  &lt;p align="center"&gt;&lt;font color="#0000ff"&gt;DoxyComment add-in for Visual Studio&lt;/font&gt;&lt;/p&gt;  &lt;p align="right"&gt;(Visual Studio 2005 與 2008 都支援)&lt;/p&gt;  &lt;p align="left"&gt;&lt;strong&gt;先閱讀:&lt;/strong&gt;&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://mqjing.blogspot.com/2007/08/doxygen.html"&gt;[程式設計] 為你的程式自動產生說明文件 -- Doxygen&lt;/a&gt; &lt;/p&gt;  &lt;p align="left"&gt;&amp;#160;&lt;/p&gt;  &lt;p align="left"&gt;&lt;strong&gt;在哪裡?&lt;/strong&gt;&lt;/p&gt;  &lt;p align="center"&gt;&lt;a title="http://doxycomment.sourceforge.net/vs2005_addin.html" href="http://doxycomment.sourceforge.net/vs2005_addin.html"&gt;http://doxycomment.sourceforge.net/vs2005_addin.html&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;怎麼用?&amp;#160; (2 steps)&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Step 1&lt;/strong&gt;: 把滑鼠移到你要加註解 function &lt;font color="#ff0000"&gt;的前面&lt;/font&gt;&lt;/p&gt;  &lt;p align="right"&gt;&lt;a href="http://lh5.ggpht.com/_OpTu0L4lWpY/SjcM-RgQ_tI/AAAAAAAAA9w/hP5XjPtMxIw/s1600-h/doxy_code%5B3%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="doxy_code" border="0" alt="doxy_code" src="http://lh5.ggpht.com/_OpTu0L4lWpY/SjcM_NGlgHI/AAAAAAAAA90/pC7dXxVGE6s/doxy_code_thumb%5B1%5D.jpg?imgmax=800" width="476" height="159" /&gt;&lt;/a&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (上面的程式碼: &amp;lt;stdafx.h&amp;gt; 請改成 “stdafx.h”)&lt;/p&gt;  &lt;p align="right"&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Step 2&lt;/strong&gt;: 移動滑鼠到左上方的 Toolbar, 選擇 &lt;font color="#0000ff"&gt;Add Code Comment&lt;/font&gt;&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://lh4.ggpht.com/_OpTu0L4lWpY/SjcM_0ddtTI/AAAAAAAAA94/4QMX1bY2Ba8/s1600-h/doxy_add_code_comment%5B4%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="doxy_add_code_comment" border="0" alt="doxy_add_code_comment" src="http://lh4.ggpht.com/_OpTu0L4lWpY/SjcNAr122PI/AAAAAAAAA98/6ryxnRylwDY/doxy_add_code_comment_thumb%5B7%5D.jpg?imgmax=800" width="273" height="117" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Step 3&lt;/strong&gt;: 然後就會變成這樣&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://lh3.ggpht.com/_OpTu0L4lWpY/SjcNB8foGoI/AAAAAAAAA-A/CdYnAAhE4QE/s1600-h/doxy_code2%5B3%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="doxy_code2" border="0" alt="doxy_code2" src="http://lh4.ggpht.com/_OpTu0L4lWpY/SjcNDFA4XVI/AAAAAAAAA-E/9FihrRg4GM4/doxy_code2_thumb%5B1%5D.jpg?imgmax=800" width="473" height="604" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;選擇其他的 comment style &lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Step 1&lt;/strong&gt;: 到 Visual Studio 上面的 menu 選擇 [Tools] –&amp;gt; [Options…]&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://lh6.ggpht.com/_OpTu0L4lWpY/SjcND6YfcEI/AAAAAAAAA-I/YzeX3Dfp1to/s1600-h/doxy_option_menu%5B4%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="doxy_option_menu" border="0" alt="doxy_option_menu" src="http://lh6.ggpht.com/_OpTu0L4lWpY/SjcNE9lDctI/AAAAAAAAA-M/80y1Seuv3-4/doxy_option_menu_thumb%5B7%5D.jpg?imgmax=800" width="310" height="537" /&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p align="left"&gt;&lt;strong&gt;Step 2:&lt;/strong&gt; 選擇 [DoxyComment] &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_OpTu0L4lWpY/SjcNGJV6HAI/AAAAAAAAA-Q/Rpbc8BElG60/s1600-h/doxy_option%5B9%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="doxy_option" border="0" alt="doxy_option" src="http://lh5.ggpht.com/_OpTu0L4lWpY/SjcNHMyN9LI/AAAAAAAAA-U/XS0WwnHUTRU/doxy_option_thumb%5B18%5D.jpg?imgmax=800" width="583" height="357" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;你可以調整簡單的 comment style . &lt;/p&gt;  &lt;p&gt;例如: &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; FirtLineTag 改成 &lt;font color="#0000ff"&gt;JavaDoc Style.&lt;/font&gt; 如 /**&lt;/p&gt;  &lt;p&gt;更多的格式參考: &lt;a title="http://www.stack.nl/~dimitri/doxygen/docblocks.html" href="http://www.stack.nl/~dimitri/doxygen/docblocks.html"&gt;http://www.stack.nl/~dimitri/doxygen/docblocks.html&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Reference&lt;/p&gt;  &lt;p&gt;[1] “&lt;a href="http://mqjing.blogspot.com/2007/08/doxygen.html"&gt;[程式設計] 為你的程式自動產生說明文件 – Doxygen&lt;/a&gt;,”Aug, 2007.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7964811257176293796-3885770211887464986?l=mqjing.blogspot.com'/&gt;&lt;/div&gt;</description><link>http://mqjing.blogspot.com/2009/06/doxygen-visual-studio-add-in.html</link><author>noreply@blogger.com (Jing(井民全))</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7964811257176293796.post-6350246982550846989</guid><pubDate>Sun, 31 May 2009 05:30:00 +0000</pubDate><atom:updated>2009-05-30T22:51:29.824-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">生活</category><title>[生活] 在台灣用手機臨時打國際電話的方法</title><description>&lt;p align="center"&gt;&lt;font color="#408080" size="6"&gt;&lt;a href="http://www.cht.com.tw/PersonalCat.php?CatID=467"&gt;&lt;img title="snap003" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="36" alt="snap003" src="http://lh3.ggpht.com/_OpTu0L4lWpY/SiIaGSPbfUI/AAAAAAAAA9k/l3XWvYOfWys/snap003%5B3%5D.jpg?imgmax=800" width="139" border="0" /&gt;&lt;/a&gt; &lt;/font&gt;&lt;/p&gt;  &lt;p align="left"&gt;&lt;font color="#408080" size="6"&gt;幾天前&lt;/font&gt;, 突然要打國際電話解決一些事情, 可是宿舍與實驗室都沒辦法直接打電話出國,&amp;#160; 我不認為系辦會讓我打國際電話. &lt;/p&gt;  &lt;p align="left"&gt;嗯… 只好打電話給中華電信 (0800-080-100) 求救, &lt;font color="#0000ff"&gt;沒想到用手機打國際電話是這麼簡單的事情.&lt;/font&gt;&lt;/p&gt;  &lt;p align="left"&gt;&lt;font color="#404040"&gt;有的時候, 真的是自己想太多了.&lt;/font&gt;&lt;/p&gt;  &lt;p align="left"&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;最簡單解答&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;font color="#0000ff"&gt;任何一台公共電話 solution:&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;strong&gt;Step 1&lt;/strong&gt;: 很簡單, 直接到 7-11 買一張&lt;font color="#0000ff"&gt;國際經濟電話卡, &lt;/font&gt;&lt;font color="#404040"&gt;我買的面額是 300 元&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#404040"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;strong&gt;Step 2&lt;/strong&gt;: 卡片後面用硬幣刮開, 卡號與密碼&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#404040"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;strong&gt;Step 3&lt;/strong&gt;:&amp;#160; 到國內任何一台公共電話, 打國際電話&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#404040"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; a.&amp;#160; 輸入: &lt;/font&gt;&lt;font color="#ff0000"&gt;0800-080-180&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#404040"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; b.&amp;#160; 輸入 1 (中文導引) + &lt;/font&gt;&lt;font color="#404040"&gt;輸入卡號與密碼&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#404040"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; c.&amp;#160; 輸入對方號碼&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#404040"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#ff0000"&gt;009+國碼+區碼+對方的電話號碼+ #字號&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#404040"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 若對方留的是手機, 則作法如下:&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#404040"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;009+國碼+對方手機號碼+ #字號&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#404040"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ex: 台灣打大陸手機的例子:&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#404040"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 009+86(大陸國碼)+15022799xxx (大陸手機號碼 11 碼) +#字號&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;手機 solution (建議的方法):&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#404040"&gt;A. 儲值與設定 (2 steps)&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#404040"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;strong&gt;Step 1&lt;/strong&gt;: 買國際經濟電話卡, 並在後面取得卡號與密碼&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#404040"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;strong&gt;Step 2&lt;/strong&gt;: 將電話卡的錢儲值到你的手機&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#404040"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; a.&amp;#160; 輸入: 0800-080-&lt;/font&gt;&lt;font color="#ff0000"&gt;&lt;strong&gt;280&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#404040"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; b.&amp;#160; 輸入 1 (中文導引) + 輸入卡號與密碼&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#404040"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; c. 儲值完成&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#404040"&gt;B. 手機打國際電話&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#404040"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;strong&gt;Step 1&lt;/strong&gt;: 0800-080-&lt;/font&gt;&lt;font color="#ff0000"&gt;&lt;strong&gt;280&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#404040"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;strong&gt;Step 2&lt;/strong&gt;:&amp;#160; 輸入 1 (中文導引)&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#404040"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;strong&gt;Step 3&lt;/strong&gt;:&amp;#160; &lt;font color="#404040"&gt;輸入對方號碼: &lt;/font&gt;&lt;font color="#ff0000"&gt;009+國碼+區碼+對方的電話號碼+ #字號&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#404040"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 對方留的是手機, 則作法如下:&lt;/font&gt;&lt;/p&gt;  &lt;p align="center"&gt;&lt;font color="#0000ff"&gt;009+國碼+對方手機號碼+ #字號&lt;/font&gt;&lt;/p&gt;  &lt;p align="right"&gt;&lt;font color="#0000ff"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#404040"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ex: 台灣打大陸手機的例子:&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#404040"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 009+86(大陸國碼)+15022799xxx (大陸手機號碼 11 碼) +#字號&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#404040"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#404040"&gt;Enjoy! &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#404040"&gt;by Jing.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;font color="#404040"&gt;&lt;strong&gt;延伸資訊&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#404040"&gt;[1] 中華電信服務電話: 0800-080-100, &lt;a title="http://www.cht.com.tw/PersonalCat.php?CatID=467" href="http://www.cht.com.tw/PersonalCat.php?CatID=467"&gt;http://www.cht.com.tw/PersonalCat.php?CatID=467&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7964811257176293796-6350246982550846989?l=mqjing.blogspot.com'/&gt;&lt;/div&gt;</description><link>http://mqjing.blogspot.com/2009/05/blog-post.html</link><author>noreply@blogger.com (Jing(井民全))</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></item></channel></rss>
