<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8973883475031993328</id><updated>2024-09-08T09:13:27.144+08:00</updated><category term="尋孔顏樂處--Learning"/><category term="GRE"/><category term="雜七雜八--Others"/><category term="Mac開發技術"/><category term="Web相關技術--Web Technique"/><category term="程式設計心得"/><category term="邏輯--Logic"/><category term="文章千古事--writing"/><category term="測試文--Test Case"/><category term="Xcode 5"/><category term="Cobertura"/><category term="Gcov"/><category term="Jenkins"/><category term="gcovr"/><category term="類DVD技術與評論--DVD-Like Technique"/><title type='text'>Entertainment and Engineering</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://thedoublee.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8973883475031993328/posts/default/-/%E7%A8%8B%E5%BC%8F%E8%A8%AD%E8%A8%88%E5%BF%83%E5%BE%97'/><link rel='alternate' type='text/html' href='http://thedoublee.blogspot.com/search/label/%E7%A8%8B%E5%BC%8F%E8%A8%AD%E8%A8%88%E5%BF%83%E5%BE%97'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09182967002988005708</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>9</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8973883475031993328.post-2931949424245546543</id><published>2014-02-24T17:44:00.000+08:00</published><updated>2014-02-24T17:44:07.670+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Cobertura"/><category scheme="http://www.blogger.com/atom/ns#" term="gcovr"/><category scheme="http://www.blogger.com/atom/ns#" term="Jenkins"/><category scheme="http://www.blogger.com/atom/ns#" term="Mac開發技術"/><category scheme="http://www.blogger.com/atom/ns#" term="Xcode 5"/><category scheme="http://www.blogger.com/atom/ns#" term="程式設計心得"/><title type='text'>將程式覆蓋率整合至Jenkins</title><content type='html'>接續&lt;a href=&quot;http://thedoublee.blogspot.tw/2014/02/xcode-5gcov.html&quot;&gt;在Xcode 5中使用Gcov測量測試覆蓋率&lt;/a&gt;一文，將&lt;a href=&quot;https://drive.google.com/file/d/0B5txekq5yR0sRldkNk1PdmNCNmM/edit?usp=sharing&quot;&gt;程式覆蓋率整合至Jenkins &lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://thedoublee.blogspot.com/feeds/2931949424245546543/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8973883475031993328/2931949424245546543' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8973883475031993328/posts/default/2931949424245546543'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8973883475031993328/posts/default/2931949424245546543'/><link rel='alternate' type='text/html' href='http://thedoublee.blogspot.com/2014/02/jenkins.html' title='將程式覆蓋率整合至Jenkins'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09182967002988005708</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8973883475031993328.post-2559929938579866637</id><published>2014-02-16T18:56:00.000+08:00</published><updated>2014-02-16T18:56:17.532+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Gcov"/><category scheme="http://www.blogger.com/atom/ns#" term="Mac開發技術"/><category scheme="http://www.blogger.com/atom/ns#" term="Xcode 5"/><category scheme="http://www.blogger.com/atom/ns#" term="程式設計心得"/><title type='text'>在Xcode 5中使用Gcov測量測試覆蓋率</title><content type='html'>&lt;a href=&quot;https://drive.google.com/file/d/0B5txekq5yR0sWHR3QlFJUkVpVEk/edit?usp=sharing&quot;&gt;在Xcode 5中使用Gcov測量測試覆蓋率&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://github.com/chenhaiteng/CoverageFoo&quot;&gt;範例程式連結&lt;/a&gt; </content><link rel='replies' type='application/atom+xml' href='http://thedoublee.blogspot.com/feeds/2559929938579866637/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8973883475031993328/2559929938579866637' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8973883475031993328/posts/default/2559929938579866637'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8973883475031993328/posts/default/2559929938579866637'/><link rel='alternate' type='text/html' href='http://thedoublee.blogspot.com/2014/02/xcode-5gcov.html' title='在Xcode 5中使用Gcov測量測試覆蓋率'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09182967002988005708</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8973883475031993328.post-6196543600696754984</id><published>2014-01-23T18:38:00.000+08:00</published><updated>2014-02-16T18:56:37.381+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Mac開發技術"/><category scheme="http://www.blogger.com/atom/ns#" term="程式設計心得"/><title type='text'>在Xcode 5.x使用Google C++ Testing Framework</title><content type='html'>&lt;a href=&quot;https://drive.google.com/file/d/0B5txekq5yR0sejN2MlQ1TUxkOUE/edit?usp=sharing&quot;&gt;Google C++ Testing Framework -- Xcode 5 下的安裝與設定(pdf)&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://drive.google.com/file/d/0B5txekq5yR0sLVR5cFJMWnM4eTA/edit?usp=sharing&quot;&gt;Google C++ Testing Framework -- Xcode 5 下的安裝與設定(epub)&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://thedoublee.blogspot.com/feeds/6196543600696754984/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8973883475031993328/6196543600696754984' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8973883475031993328/posts/default/6196543600696754984'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8973883475031993328/posts/default/6196543600696754984'/><link rel='alternate' type='text/html' href='http://thedoublee.blogspot.com/2014/01/xcode-5xgoogle-c-testing-framework.html' title='在Xcode 5.x使用Google C++ Testing Framework'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09182967002988005708</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8973883475031993328.post-5688948114172732517</id><published>2014-01-17T21:37:00.002+08:00</published><updated>2014-01-17T22:30:13.260+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="程式設計心得"/><title type='text'>軟體建構之道 Code Complete 2 筆記</title><content type='html'>Chapter 26.2 迴圈&lt;br&gt;
&lt;b&gt;決策外置&lt;/b&gt;一節的範例還有進一步改善的空間:&lt;br&gt;
書中範例：&lt;br&gt;
&lt;blockquote&gt;
C++ Example of a Switched Loop&lt;br&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimwO47bgpgR6JlKhWVTABdrR_SwJI_vM3PFhiNN-DDjT9z6HvJlfcsaoeda1vEYyPAX2ebvVYHkKlnKtKXUyqJzMy1Gh_ZPOaOa-Ad1MYDfA0Kp6qocEdEHkbUnF9AJilIrVC4JyldW6Ik/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt;1:  for (i = 0 ; i &amp;lt; count ; i++) {  
2:    if(sumType == SUMTYPE_NET) {  
3:      netSum = netSum + amount[i];  
4:    } else {  
5:      grossSum = grossSum + amount[i];  
6:    }  
7:  }  
&lt;/code&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;br&gt;
&lt;a href=&quot;http://thedoublee.blogspot.com/2014/01/code-complete-2.html#more&quot;&gt;閱讀更多 »&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://thedoublee.blogspot.com/feeds/5688948114172732517/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8973883475031993328/5688948114172732517' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8973883475031993328/posts/default/5688948114172732517'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8973883475031993328/posts/default/5688948114172732517'/><link rel='alternate' type='text/html' href='http://thedoublee.blogspot.com/2014/01/code-complete-2.html' title='軟體建構之道 Code Complete 2 筆記'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09182967002988005708</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8973883475031993328.post-2244971666065176363</id><published>2008-07-02T11:48:00.003+08:00</published><updated>2008-07-02T12:08:34.461+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Mac開發技術"/><category scheme="http://www.blogger.com/atom/ns#" term="程式設計心得"/><category scheme="http://www.blogger.com/atom/ns#" term="雜七雜八--Others"/><title type='text'>回溯相容真是個地獄...T.T</title><content type='html'>這是一篇抱怨文。&lt;br /&gt;Obj-C 2.0的語法相當的方便，當開發目標放在10.5以後的系統時，property，fast enumration等新增語法，&lt;br /&gt;確實可以加快開發的速度。再加上Cocoa binding等技術，在10.5上開發真的是相當輕鬆－如果只打算在10.5上跑的話。&lt;br /&gt;&lt;span id=&quot;fullpost&quot;&gt;&lt;br /&gt;然而很不巧的，目前大部分的需求，還是離不開10.4的環境，當要把在10.5開發的程式，轉到10.4的時候...&lt;br /&gt;對於開發者來說，這可真是一個問候賈布斯全家大小的好時機...&lt;br /&gt;首先是所有coredata中，使用property的部分，全部要換成key-value coding的方式去呼叫，光這點就足以讓你問候一下賈布斯高堂近況...&lt;br /&gt;其次，data modal中如果有用到self inverse relationship時，你可能會想順便問一下賈布斯的祖母過得好不好...&lt;br /&gt;再來，如果在NSTable中透過NSTableDatasource實作Drag and Drop，但卻是用binding取得table的資料的話...嗯...我想應該會有人想去研究一下賈布斯的祖譜吧...&lt;br /&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://thedoublee.blogspot.com/feeds/2244971666065176363/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8973883475031993328/2244971666065176363' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8973883475031993328/posts/default/2244971666065176363'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8973883475031993328/posts/default/2244971666065176363'/><link rel='alternate' type='text/html' href='http://thedoublee.blogspot.com/2008/07/tt.html' title='回溯相容真是個地獄...T.T'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09182967002988005708</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8973883475031993328.post-3094961366525871202</id><published>2008-06-19T03:57:00.006+08:00</published><updated>2011-10-03T09:49:49.764+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Mac開發技術"/><category scheme="http://www.blogger.com/atom/ns#" term="程式設計心得"/><title type='text'>應用NSTabView切換視窗內容</title><content type='html'>在設計軟體時，有時候會需要在兩個不同的View之間做切換。&lt;br /&gt;舉例來說，當我們在iTunes中，點擊左方資料庫的「音樂」,「影片」或「電視節目」，在右方的Detail View中，預設會以列表的方式呈現。&lt;br /&gt;但當我們點擊到「Apple Store」時，則右方的Detail View會以類似網頁的方式，呈現目前Apple Store的內容。&lt;br /&gt;在過去，剛開始學習Cocoa的時候，因為不清楚可用的元件，對於這類的需求，在實作上，往往會以一個Custom View做為Wrapper，用置換其Content View的方式，來達成切換內容的需求。&lt;br /&gt;&lt;span id=&quot;fullpost&quot;&gt;不過事實上，Cocoa已經提供了好用的元件--NSTabView，能夠更快速的完成類似的UI。&lt;br /&gt;一般我們在使用NSTabView的時候，都是在需要明確的Tab元件 ，也就是需要有一個地方能夠秀出&lt;br /&gt;1. 目前的View的目的，或是名稱。&lt;br/&gt;2. 其他可選用的View。&lt;br/&gt;不過上面我所舉的例子，則比較類似UI狀態的切換，通常不會秀出這些資訊--在這種情形下，一般我們不太會去考慮用到NSTabView。&lt;br /&gt;但是，Cocoa的NSTabView，提供了另一種型態的使用法--Tabless TabView。利用NSTabView的Tabless type，就可以不用秀出Tab，看起來就如同用Custom View去實作View的切換一樣。&lt;br /&gt;而使用Tabless type的View，還有一個好處，就是可以自行去更換Tab的樣式，而不需撰寫NSTabView的子類別。&lt;br /&gt;Xcode的UI中，Project/Debug View的切換，就是一個實際應用的例子。&lt;br /&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://thedoublee.blogspot.com/feeds/3094961366525871202/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8973883475031993328/3094961366525871202' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8973883475031993328/posts/default/3094961366525871202'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8973883475031993328/posts/default/3094961366525871202'/><link rel='alternate' type='text/html' href='http://thedoublee.blogspot.com/2008/06/nstabview.html' title='應用NSTabView切換視窗內容'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09182967002988005708</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8973883475031993328.post-2487400361361412907</id><published>2008-05-21T18:07:00.007+08:00</published><updated>2014-01-17T22:33:13.329+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Mac開發技術"/><category scheme="http://www.blogger.com/atom/ns#" term="程式設計心得"/><title type='text'>使用CoreData的小技巧</title><content type='html'>上個月在參加過&lt;a href=&quot;http://cocoaheads.tw/&quot;&gt;CocoaHeades&lt;/a&gt;後，自己也試著使用CoreData。&lt;br&gt;
雖然在現場藍兄講得清楚明白又容易，自個兒嘗試使用卻不是那麼回事。&lt;br&gt;
果然是看人挑擔不吃力，自個兒挑擔壓斷肩...&lt;br&gt;
&lt;span id=&quot;fullpost&quot;&gt;&lt;br&gt;在使用CoreData時，個人覺得比較麻煩的是，CoreData的說明文件似乎已預設開發者都對資料庫的設計有一定的基礎，所以並沒有提到一些基本的資料庫程式的原則－像是怎麼規劃，如何做正規化，Data Model的圖怎麼對應到實際的資料庫與呈現的介面之上? 除此之外，其他的地方照著文件一步步進行，也還算是輕鬆如意。&lt;/span&gt;&lt;br&gt;
&lt;a href=&quot;http://thedoublee.blogspot.com/2008/05/coredata.html#more&quot;&gt;閱讀更多 »&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://thedoublee.blogspot.com/feeds/2487400361361412907/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8973883475031993328/2487400361361412907' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8973883475031993328/posts/default/2487400361361412907'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8973883475031993328/posts/default/2487400361361412907'/><link rel='alternate' type='text/html' href='http://thedoublee.blogspot.com/2008/05/coredata.html' title='使用CoreData的小技巧'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09182967002988005708</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8973883475031993328.post-6135170878674768266</id><published>2008-04-21T20:02:00.004+08:00</published><updated>2008-04-22T21:49:45.538+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Mac開發技術"/><category scheme="http://www.blogger.com/atom/ns#" term="程式設計心得"/><title type='text'>iPhone程式開發入門</title><content type='html'>初稿...&lt;br /&gt;&lt;a href=&quot;http://docs.google.com/Doc?docid=dfv9v7r6_105dzndj3hf&amp;hl=en&quot;&gt;iPhone程式開發入門&lt;/a&gt;&lt;br /&gt;重新檢視一下，其實寫得蠻瑣碎的....&lt;br /&gt;===================================&lt;br /&gt;經人提醒，可能違反NDA，先暫時鎖上。&lt;br /&gt;另將Objective-C基本語法部分抽出如下:&lt;br /&gt;&lt;a href=&quot;http://docs.google.com/Doc?id=dfv9v7r6_143hc927xc7&quot;&gt;Objective-C基本語法&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://thedoublee.blogspot.com/feeds/6135170878674768266/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8973883475031993328/6135170878674768266' title='10 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8973883475031993328/posts/default/6135170878674768266'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8973883475031993328/posts/default/6135170878674768266'/><link rel='alternate' type='text/html' href='http://thedoublee.blogspot.com/2008/04/iphone.html' title='iPhone程式開發入門'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09182967002988005708</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8973883475031993328.post-3269830325859562876</id><published>2008-03-11T17:32:00.006+08:00</published><updated>2010-02-17T19:51:21.989+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Mac開發技術"/><category scheme="http://www.blogger.com/atom/ns#" term="程式設計心得"/><title type='text'>寫給初學者的簡易程式設計概念</title><content type='html'>這篇文章，是為了讓初學者能大略了解傳統的（循序的）程式設計而寫的。&lt;br /&gt;原本是要做為CocoaHeads的講稿的前言，但實在難以在有限的時間之內講述明白，因此寫成文章，在此先行釋出。&lt;br /&gt;&lt;a href=&quot;http://docs.google.com/View?id=dfv9v7r6_70fs4xjrdc&quot;&gt;寫給初學者的簡易程式設計概念&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://thedoublee.blogspot.com/feeds/3269830325859562876/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8973883475031993328/3269830325859562876' title='1 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8973883475031993328/posts/default/3269830325859562876'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8973883475031993328/posts/default/3269830325859562876'/><link rel='alternate' type='text/html' href='http://thedoublee.blogspot.com/2008/03/blog-post.html' title='寫給初學者的簡易程式設計概念'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09182967002988005708</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry></feed>