<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>雨季來了 &#187; 軟體</title>
	<atom:link href="http://blog.pptpb.org/tag/software/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.pptpb.org</link>
	<description>那就可以開始期待下一個天晴了。</description>
	<lastBuildDate>Sun, 04 Sep 2011 11:52:33 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>大學沒教的 10 + 1 件關於程式設計的事</title>
		<link>http://blog.pptpb.org/2010/05/28/217/%e5%a4%a7%e5%ad%b8%e6%b2%92%e6%95%99%e7%9a%84-10-1-%e4%bb%b6%e9%97%9c%e6%96%bc%e7%a8%8b%e5%bc%8f%e8%a8%ad%e8%a8%88%e7%9a%84%e4%ba%8b</link>
		<comments>http://blog.pptpb.org/2010/05/28/217/%e5%a4%a7%e5%ad%b8%e6%b2%92%e6%95%99%e7%9a%84-10-1-%e4%bb%b6%e9%97%9c%e6%96%bc%e7%a8%8b%e5%bc%8f%e8%a8%ad%e8%a8%88%e7%9a%84%e4%ba%8b#comments</comments>
		<pubDate>Fri, 28 May 2010 15:36:14 +0000</pubDate>
		<dc:creator>pptpb</dc:creator>
				<category><![CDATA[Working & Study]]></category>
		<category><![CDATA[程式設計]]></category>
		<category><![CDATA[翻譯]]></category>
		<category><![CDATA[軟體]]></category>

		<guid isPermaLink="false">http://blog.pptpb.org/?p=217</guid>
		<description><![CDATA[<style type="text/css">
#leftcontainerBox {
float:left;
position: fixed;
top: 60%;
left: 70px;
}

#leftcontainerBox .buttons {
float:left;
clear:both;
margin:4px 4px 4px 4px;

padding-bottom:2px;
}


#bottomcontainerBox {
height: 30px;
width:50%;
padding-top:1px;
}

#bottomcontainerBox .buttons {
float:left;
height: 30px;
margin:4px 4px 4px 4px;
}

</style>
本文翻譯自10+1 things they never teach in college about programming。 早上看到這篇文章還滿有趣的，就順手翻譯了一下。很久沒碰英文了 XD，有翻譯謬誤之處請指正。 ＊　　　　＊　　　　＊ 我還記得當我完成學業時是多麼天真而傻。那時我深信自己已經準備好進入任何一家軟體公司，並且成為一個閃耀頂尖的開發人員。但理所當然地，工作開始後沒多久我就意識到，還有多少事是我不瞭解的。 在不斷吸取經驗的同時，我一直艱困地學習那些我從來沒被教導過的、但卻是對於成為一個好的開發人員來說最基本的理解觀念。以下是我希望我能在學校就學到的10件事情。 1. 我們永遠是錯的。 (We’re always wrong.) 開發人員有著非常大的自我意識，包含了一些其他的非技術性缺陷，這也是為什麼我們很難去發現我們做錯了什麼。我已經看過太多永無止盡的設計討論，開發人員們總是不斷發表自己的想法…。好了，猜猜看怎樣？我們全都錯了，我們的區別只在於我們犯錯的離譜程度。 理解並接受這一事實是非常重要的，一旦我們開放心胸去聽聽看別人的意見、採用他們的想法，就能建構出一個更好的解決策略。而這也是唯一可行辦法。 2. 事情若有可能出錯，那就一定會出錯。 (If something can break, it will break.) 也有人說，「希望能促進開發」，若你對於某些事並不確定，或是你發現你自己使用了「應該」這個詞彙，那麼你麻煩就大了。 而這只有一個解決方案，進己所能去確保它不會垮掉，這可能意味著你需要撰寫測資、抓蟲(debug)、並驗證需求… 3. 所有程式碼都是鬼扯蛋。 (All code is crap.) 在抱怨那些我碰到的程式碼10年之久後，我得到了一個精闢的結論：所有（包含我自己寫的）程式碼，都是鬼扯蛋。當然，就算鬼扯還是有等級之分，但即使是我看過寫得最好的程式碼，也是難以閱讀。 這並不表示把你的程式碼寫得更好是沒有意義的，相反地，最好和最壞的程式碼還是有巨大的天壤之別。 &#8230; <a href="http://blog.pptpb.org/2010/05/28/217/%e5%a4%a7%e5%ad%b8%e6%b2%92%e6%95%99%e7%9a%84-10-1-%e4%bb%b6%e9%97%9c%e6%96%bc%e7%a8%8b%e5%bc%8f%e8%a8%ad%e8%a8%88%e7%9a%84%e4%ba%8b">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<style type="text/css">
#leftcontainerBox {
float:left;
position: fixed;
top: 60%;
left: 70px;
}

#leftcontainerBox .buttons {
float:left;
clear:both;
margin:4px 4px 4px 4px;

padding-bottom:2px;
}


#bottomcontainerBox {
height: 30px;
width:50%;
padding-top:1px;
}

#bottomcontainerBox .buttons {
float:left;
height: 30px;
margin:4px 4px 4px 4px;
}

</style>
<p>本文翻譯自<a title="10+1 things they never teach in college about programming" href="http://www.makinggoodsoftware.com/2010/05/27/10-things-they-never-teach-in-college-about-programming/" class="external">10+1 things they never teach in college about programming</a>。</p>
<p>早上看到這篇文章還滿有趣的，就順手翻譯了一下。很久沒碰英文了 XD，有翻譯謬誤之處請指正。</p>
<p>＊　　　　＊　　　　＊</p>
<p>我還記得當我完成學業時是多麼天真而傻。那時我深信自己已經準備好進入任何一家軟體公司，並且成為一個閃耀頂尖的開發人員。但理所當然地，工作開始後沒多久我就意識到，還有多少事是我不瞭解的。</p>
<p>在不斷吸取經驗的同時，我一直艱困地學習那些我從來沒被教導過的、但卻是對於成為一個好的開發人員來說最基本的理解觀念。以下是我希望我能在學校就學到的10件事情。<span id="more-217"></span></p>
<h4>1. 我們永遠是錯的。<br />
(We’re always wrong.)</h4>
<p>開發人員有著<a title="big egos" href="http://www.makinggoodsoftware.com/2009/07/07/5-top-non-technical-mistakes-made-by-programmers/" class="external">非常大的自我意識</a>，包含了一些其他的非技術性缺陷，這也是為什麼我們很難去發現我們做錯了什麼。我已經看過太多永無止盡的設計討論，開發人員們總是不斷發表自己的想法…。好了，猜猜看怎樣？我們全都錯了，我們的區別只在於我們犯錯的離譜程度。</p>
<p>理解並接受這一事實是非常重要的，一旦我們開放心胸去聽聽看別人的意見、採用他們的想法，就能建構出一個更好的解決策略。而這也是唯一可行辦法。</p>
<h4>2. 事情若有可能出錯，那就一定會出錯。<br />
(If something can break, it will break.)</h4>
<p>也有人說，「<a title="hope driven development" href="http://www.makinggoodsoftware.com/2009/05/12/hdd/" class="external">希望能促進開發</a>」，若你對於某些事並不確定，或是你發現你自己使用了「應該」這個詞彙，那麼你麻煩就大了。</p>
<p>而這只有一個解決方案，進己所能去確保它不會垮掉，這可能意味著你需要撰寫測資、抓蟲(debug)、並驗證需求…</p>
<h4>3. 所有程式碼都是鬼扯蛋。<br />
(All code is crap.)</h4>
<p>在抱怨那些我碰到的程式碼10年之久後，我得到了一個精闢的結論：<a title="all code (including mine), is crap" href="http://www.makinggoodsoftware.com/2009/11/09/the-four-golden-rules-to-be-a-better-software-developer/" class="external">所有（包含我自己寫的）程式碼，都是鬼扯蛋。</a>當然，就算鬼扯還是有等級之分，但即使是我看過寫得最好的程式碼，也是難以閱讀。</p>
<p>這並不表示把你的程式碼寫得更好是沒有意義的，相反地，最好和最壞的程式碼還是有巨大的天壤之別。</p>
<h4>4. 蟲蟲永遠都在。<br />
(There is always a bug.)</h4>
<p><strong><a title="ALWAYS" href="http://www.makinggoodsoftware.com/2009/12/16/testing-facts-and-principles/" class="external">永遠</a>！</strong>問題只在於要發現它的困難與否。</p>
<h4>5. 客戶最大。<br />
(The most important thing is the client.)</h4>
<p>許多客戶並不關心的事是：你使用了哪些技術、應用程式需不需要做更多的事…或通俗的講法是，你是否用了好的實踐方案。</p>
<p>也因我可以想像，假使我只說了前面那一段，我會得到多少黑特留言(hate comments)，讓我說得更清楚些…我們永遠不應該忘記客戶的立場，有時開發人員只為了能遵行最佳作法而使用了特殊技術或堅持用過度工程進行。但要記得，若對於客戶來說這並無法增加價值，那就放棄吧。</p>
<h4>6. 紙上練兵是行不通的。<br />
(Design on paper doesn’t work.)</h4>
<p>我曾相信，在前期我可以將我的整個設計置於紙上，然後只要將缺漏處填上就好，但這根本無法作用。</p>
<p>軟體開發是複雜的，若不親手去碰碰看，很難看到所有實際層面與它們之間的關係。因此，在前期保持規劃與設計很有用的，但不要過度堅持，也不要把設計圖表當作合約固守。</p>
<h4>7. 少即是多。<br />
(Less is more.)</h4>
<p>或者，你可能知道更好的說法是：「保持簡單、愚蠢！」(<a title="Keep it simple, stupid!” (KISS)" href="http://www.makinggoodsoftware.com/2009/08/11/for-gods-sake-make-it-easy/" class="external">Keep it simple, stupid! (KISS)</a>)。沒有必要的就捨棄吧，因為記住：「事情若有可能出錯，那就一定會出錯」（上述第二點）。</p>
<h4>8. 寫程式只是我們做的20%的工作而已。<br />
(Coding is only 20% of what we do.)</h4>
<p>請準備好，花上你80%的時間用於思考、抓蟲、測試、開會討論、溝通…而所有其它的活動都非常重要，所以若要成為一個優秀的軟體開發人員，你必須培養廣泛而全面的技巧，而不僅僅是技術。</p>
<h4>9. 客戶不知道他/她想要的是什麼，從來不知道！<br />
(The customer doesn’t know what he/she wants NEVER!.)</h4>
<p>客戶有需求，或是想法，但是他們不知道詳細細節…所有軟體開發要做的工作就是，找到細節、除去不確定性、並且將這些需求改造成客戶要的應用程式。</p>
<h4>10. 不用麻煩了！有人已經做過啦。<br />
(Someone has done it before.)</h4>
<p>所以，不要再重新發明輪子，用Google找找看、或更好的方法是，問你的同事。很多時候他們可能都已經做了相同、或非常類似的事情。</p>
<h4>Bonus：嘿！我們的工作超酷！<br />
(Bonus: Hey! Our job is cool!)</h4>
<p>往光明面看，<a title="programming is still cool!" href="http://www.makinggoodsoftware.com/2009/12/03/programming-is-it-still-fun-for-you/" class="external">程式設計還是超酷的啊！</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.pptpb.org/2010/05/28/217/%e5%a4%a7%e5%ad%b8%e6%b2%92%e6%95%99%e7%9a%84-10-1-%e4%bb%b6%e9%97%9c%e6%96%bc%e7%a8%8b%e5%bc%8f%e8%a8%ad%e8%a8%88%e7%9a%84%e4%ba%8b/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>使用 XML-RPC Interface 發表文章至 WordPress</title>
		<link>http://blog.pptpb.org/2006/05/22/68/%e4%bd%bf%e7%94%a8-xml-rpc-interface-%e7%99%bc%e8%a1%a8%e6%96%87%e7%ab%a0%e8%87%b3-wordpress</link>
		<comments>http://blog.pptpb.org/2006/05/22/68/%e4%bd%bf%e7%94%a8-xml-rpc-interface-%e7%99%bc%e8%a1%a8%e6%96%87%e7%ab%a0%e8%87%b3-wordpress#comments</comments>
		<pubDate>Sun, 21 May 2006 21:04:00 +0000</pubDate>
		<dc:creator>pptpb</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[網路]]></category>
		<category><![CDATA[軟體]]></category>

		<guid isPermaLink="false">http://pptpb.folk.tw/?p=68</guid>
		<description><![CDATA[<style type="text/css">
#leftcontainerBox {
float:left;
position: fixed;
top: 60%;
left: 70px;
}

#leftcontainerBox .buttons {
float:left;
clear:both;
margin:4px 4px 4px 4px;

padding-bottom:2px;
}


#bottomcontainerBox {
height: 30px;
width:50%;
padding-top:1px;
}

#bottomcontainerBox .buttons {
float:left;
height: 30px;
margin:4px 4px 4px 4px;
}

</style>
WordPress 提供了 XML-RPC 的介面，可以更容易地發佈文章至 blog 上，不用透過網路瀏覽器。 剛剛試用了一下，Zoundry 出的 Blog Writer 還真是不錯，又是免費軟體。唯一挑的出來的毛病就是啟動需要一點時間，而不是即時的。雖然是英文介面，不過用字都相當簡單易懂，就當順便練練反應能力吧，我也懶得做中文語系檔的翻譯了。 編輯器的 WYSIWYG 介面做得相當齊全，常用的 tag 都包括了，唯一我會用的然後缺少的大概是&#60;acronym&#62; 這個 spec.。也沒關係啦，反正 WordPress 的網頁上列了那麼多，我也懶得一個一個試了。這個對我來說已經夠好用了 就這樣吧，天已經又亮了。 Update：然後忘了說，Blog Writer 能夠將 blog 上的 entry 下載下來，讓你可以做管理的工作，像是修改文章 / 刪除 等等。]]></description>
			<content:encoded><![CDATA[<style type="text/css">
#leftcontainerBox {
float:left;
position: fixed;
top: 60%;
left: 70px;
}

#leftcontainerBox .buttons {
float:left;
clear:both;
margin:4px 4px 4px 4px;

padding-bottom:2px;
}


#bottomcontainerBox {
height: 30px;
width:50%;
padding-top:1px;
}

#bottomcontainerBox .buttons {
float:left;
height: 30px;
margin:4px 4px 4px 4px;
}

</style>
<p>WordPress 提供了 <a href="http://codex.wordpress.org/XML-RPC_Support">XML-RPC</a> 的介面，可以更容易地發佈文章至 blog 上，不用透過網路瀏覽器。</p>
<p>剛剛試用了一下，<a href="http://www.zoundry.com/">Zoundry</a> 出的 <a href="http://www.zoundry.com/download.html#BW">Blog Writer</a> 還真是不錯，又是免費軟體。唯一挑的出來的毛病就是啟動需要一點時間，而不是即時的。雖然是英文介面，不過用字都相當簡單易懂，就當順便練練反應能力吧，我也懶得做中文語系檔的翻譯了。</p>
<p>編輯器的 <a href="http://en.wikipedia.org/wiki/WYSIWYG">WYSIWYG</a> 介面做得相當齊全，常用的 tag 都包括了，唯一我會用的然後缺少的大概是&lt;acronym&gt; <a href="http://www.w3.org/TR/html4/struct/text.html#h-9.2.1">這個 spec</a>.。也沒關係啦，反正 WordPress 的<a href="http://codex.wordpress.org/Weblog_Client">網頁</a>上列了那麼多，我也懶得一個一個試了。這個對我來說已經夠好用了 <img src='http://blog.pptpb.org/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>就這樣吧，天已經又亮了。</p>
<p>Update：然後忘了說，<a href="http://www.zoundry.com/download.html#BW">Blog Writer</a> 能夠將 blog 上的 entry 下載下來，讓你可以做管理的工作，像是修改文章 / 刪除 等等。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.pptpb.org/2006/05/22/68/%e4%bd%bf%e7%94%a8-xml-rpc-interface-%e7%99%bc%e8%a1%a8%e6%96%87%e7%ab%a0%e8%87%b3-wordpress/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

