<?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.ez2learn.com/tag/%e5%bf%83%e5%be%97%e6%96%87/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.ez2learn.com</link>
	<description>Victor&#039;s個人部落格，關於程式設計與小提琴</description>
	<lastBuildDate>Tue, 07 Feb 2012 03:26:25 +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>如何寫出有用的程式?</title>
		<link>http://blog.ez2learn.com/2009/06/27/how-to-write-useful-program/</link>
		<comments>http://blog.ez2learn.com/2009/06/27/how-to-write-useful-program/#comments</comments>
		<pubDate>Sat, 27 Jun 2009 12:03:38 +0000</pubDate>
		<dc:creator>victor</dc:creator>
				<category><![CDATA[中文文章]]></category>
		<category><![CDATA[分享]]></category>
		<category><![CDATA[心得文]]></category>
		<category><![CDATA[嘴砲]]></category>
		<category><![CDATA[資工]]></category>
		<category><![CDATA[沒有八卦]]></category>

		<guid isPermaLink="false">http://blog.ez2learn.com/?p=598</guid>
		<description><![CDATA[有網友在這篇 別讓危險成為預設的行為，讓危險的行為比安全的行為更麻煩 回應裡提到 WiyD-Luck 請問大大寫程式寫多久了小弟今年大三要升大四了在無意間近來大大的blog收穫良多(請受小的一拜會寫程式.跟會寫一個能用的程式.差別好大…想問大大那些程式會造成的漏洞.是經過自己研讀還是有人指點才有如今的實力阿PS.小弟就讀的大學老只有教我怎麼寫程式.並沒有教我寫出一個可以用的程式.. 我覺得這是很多人心裡共同的疑問，所以就特地寫了一篇來說說我的看法&#8230; 個人的經驗 以我個人的經驗而言，開始有程式的概念大概是在小學六年級，那時喜歡自己做出些亂七八糟的網頁，就是那種整頁都是GIF閃個不停沒什麼內容的網頁，傳到一些免費空間裡，不知怎麼的突然有點懷念那種亂七八糟的風格，總覺得有種復古的感覺，想說如果現在網頁刻復做成那樣應該蠻有趣的，接著開始用Flash做一些小遊戲，在當時Flash不像現在有先進的ActionScript，我記得似乎是填某些表單，自動產生類似script之類的，在當時開始有變數、流程控制等等很淺的概念 接著時間來到國一，在偶然的機會下接觸到了VB6.0，起初完全不懂怎麼寫程式，靠著剪貼、修改，最後終於知道怎麼寫一個簡單的VB6的程式，我還留有第一個程式，只能做比大小，兩個文字欄輸入，按下按鍵它會告訴你誰大、誰小、或是相等，如此簡單的程式在當時做出來就有很大的成就感，在現在看來只不過是幾行的程式，連縮排都沒有，但是卻是一個很重要的開始，在什麼都沒有的金門，靠的只是一條網路線,和一些電腦書，對於從小就喜歡拆東西、科學、機械之類事物的我，這是一片可以自由創作的天地，透過寫程式，只要想得到的功能，就能透過程式寫出來，程式語言就像魔咒一般，只要唸出正確的咒語，事物就會依照你的語意、你的意唸動起來，就像魔法一般，從此就開始了寫程式的興趣，每天放學回家就是寫程式，寫到一兩點第二天去學校睡覺，日復一日 在這個過程中，我寫過無數的程式，爛程式，這對於寫有用的程式來說，寫爛程式是一個很重要的經驗，正因為我寫過爛程式，所以才知道好的程式和爛的程式到底差別在哪裡，我重寫過最多次的程式，是一款叫Dream On Line的線上遊戲，當時我很喜歡天堂這款線上遊戲，他好玩之處就是能當小白，還記得小六暑假就推出了，一開始在太陽神伺服器線上人數才700~800人，一開始都沒有人會玩，大家看見村裡的雞鴨豬狗牛就猛追著砍，砍了一陣子發現自己名字似乎有點紅，這不是錯覺，的確變紅了，過一陣子，開始學著當小白，故意剩一滴血負重跑去打別人讓別人還手一擊就把自己打死等等腦殘的白目行為，可以說是小白的始祖，這遊戲好玩的地方就是夠白目，我也想做出一個這樣的遊戲自己來玩玩，於是就開始研究如何寫遊戲，研究Direct Draw等等，寫出了非常陽春的版本 雖然說這樣的遊戲看起來似乎有這麼回事，但其實其中的bug不少，像伺服器就極度的不穩定，動不動就會當機，隨著時間不停的前進，很多時候不是有那麼多時間寫程式，而且在當時寫的程式都是硬寫出來的，常常沒有設計可言，隨著程式的膨賬，程式雜亂不堪常常覺得有心無力，每次回頭想寫時，就發現，為什麼自己會寫出這樣的爛程式，連自己都看不下去，所以每次回頭過來的改寫，最後都是受不了自己的爛程式變成重寫，這個程式重寫了5~6次之多，我自己都快記不清了 各個重寫的版本 即使每次都覺得自己以前寫的程式是垃圾，但從好的角度看來，這或許就是代表了進步，當然這遊戲只是我寫過的程式中的一部份，其它還有很多五四三的程式，像是鍵盤記錄器之類的，而這個遊戲我還沒放棄它，我一直想找個時間想玩成它，比起當年，我永遠都覺得比當時更有把握寫出來，只是時間上的問題，但是是不是這樣我就不知道了 來到了大學 來到了大學，在這之前我靠的都是自己、書、還有網路，當然也得感謝很多指導過我的人，起初我一直認為，我靠自己都能學成這樣，如果有人教一定可以學得更快，有點像是中華小廚師裡雷恩想跑去暗黑暗料理界的那種感覺，希望能有更多、更快的進步，但是我卻發現，事實上倒頭來還是得靠自己讀，不過不可否認地，在大學這三年裡我學到了很多我之前都一直不懂的理論，在之前我可能不懂多緒、多工背後context-switch怎麼運作，寫迴圈為什麼存取相鄰的記憶體會比較快，原來是cache的原因，一直聽到什麼分支預測錯誤，不瞭解是什麼東西，修了計算機結構學，才瞭解原來CPU裡還有pipeline這種機制在加速，才會有分支預測的問題，很多理論都是在這時建立起來，在這之前我會寫程式，但很多概念上可能不正確，在這之後我能從基本的原理出發，寫出更好的程式來 所以，為什麼大學沒辦法教會你寫有用的程式? 在經過這些歷程，我想我很清楚為什麼大學資工四年沒辦法培養出一個可以寫出有用的程式的工程師，出在下列原因 程式作業生命週期太短 在資工系的大學生寫的程式，通常都是寫完交完就算了的程式，在這種情況下寫出來的程式，都是寫完丟就算了，程式的生命週期在交上作業的那一瞬間就結束了，相較於我自己寫的遊戲，我不停地重新檢視自己的程式，差別就在於，一個程式如果一直改，它設計不良的地方就可以被看得出來，好的程式設計應該是要經得起修改，但是大學因為作業交完就算了，可能再也沒有人會再看它第二眼，所以寫出來的程式常常都是硬寫出來的，規劃、維護什麼的都不需要，但是在現實世界中，程式其實是寫完那一刻它的生命週期才正要開始，寫完了程式，交到客戶手裡，客戶發現bug、或是有新的需求，這時再改程式，初而復始，直到程式不再被使用，程式的生命週期才正式結束，學校和現實的落差就在這裡，程式作業的超短生命週期讓它寫作的風格、設計都不受到重視，反正能交能跑就好，所以學生往往在遇到真實的程式會用寫作業的方法寫，下場當然是很慘 程式的規模太小 除了生命周期短，規模小也是另一個原因，通常作業都是幾百行甚至幾十行可以打發的程式，然而在真實世界中，程式往往是用萬行在算的，像我寫的遊戲就有上萬行的程式、甚至上十萬，而且還是好幾個程式，Server、Client、地圖編輯器等等，程式小，不經規劃和設計，硬寫也一樣可以寫出來，但是當程式一大，不經過適當的規劃、分析、與設計，下場就會很慘，那重寫無數次的遊戲只是例子之一，我曾經接過一個Case，錯估了程式的複雜程度，打算隨便寫就可以寫出來，後來發現複雜程度預估錯誤，所以加上了之前沒想到的部份，結果就非常慘，程式改這裡，那裡會跑出bug，而且你無法確定，這個bug到底是誰的，是什麼東西引起的，因為設計不良，疊床架屋，一堆模組之間有亂七八糟纏在一起的關係，造成一點點修改就牽一髮動全身，整個程式陷入無限的debug迴圈中，我發現這樣子下去不行，程式肯定寫不出來，所以就整個砍掉重寫，讓他們之間的關係，也就是藕合度降到最低，這才順利將程式寫出來，因為每個模組和其它程式的關聯都很少，所以可以很輕易地確定這個模組是正確的，而且關係少了，出了bug誰和這模組有關，也很容易找出來，這些經驗都是要程式大到一定規模才能會遇到的，在大學的作業通常規模都太小，學生自然不懂得設計，小程式硬寫也寫出來，何來的設計，而就算是畢業專題，通常也是寫完就算了，就算稍大一點硬寫也一樣寫出來，所以沒有實務經驗是理所當然的 但是我有遇過有門課教授出程式作業的方式我相當認同，而且可以改善以上兩點問題，他的作業一開始是簡單的功能，然後後面出的作業都是要求原本的功能加上另外的功能，如此一來，越到後來的作業規模會越大，程式也經過一再的檢驗，學生在這過程中可以學到程式如何重復利用，如果學生用硬寫的方式，很快就會吃到我上面所說的苦頭，越到後來程式越來越大，硬寫的程式以前的程式難以擴充，除錯也困難，生命週期長了，學生也能從中學到寫出較容易維護的方式，就算不知道，在以後看見了設計相關的概念，就會突然發現原來設計就是這麼一回事，在此我個人建議資工大學的課程，可以考慮用這樣的方式，設計每次增加一個小要求的大程式，如此一來可以解決上面提到的問題 寫的程式太少 不止是生命週期和規模的問題，以資工四年的程式作業來看，如果學生寫的程式就只有作業真的是太少了，個人其實也不是很喜歡寫作業，因為不是很有趣，並不是因為太簡單，難度不是問題，而是因為你覺得有沒有興趣，如果你對會計有興趣，或許可以自己寫一個財務報表的計算程式，如果你對物理有興趣，或許可以寫個簡單的物理模擬程式，如果你對數學有興趣，或許你可以寫一個尋找超大質數或計算圓周率的程式，如果你對遊戲有興趣，就寫遊戲，其實有太多程式都不難，而且都很有趣，像是鍵盤記錄器，聽起來很神奇，其實就只是一個掛在windows下的hook攔劫keyboard event而已，而木馬其實也只是利用socket等連線，一個指令一個動作，你傳什麼給我，我就做什麼的程式而已，有太多有趣的程式都比作業好玩，而實際上又會用到，如果學生只單純的寫作業，可能什麼是Win32API永遠都不會用，而Open source的library又要怎麼樣用，學校通常也不會教你，debugger怎麼用? 也很少有人會教你，資料怎麼找? 也沒人會教你，文件怎麼看? 沒人教你，所以除了程式的作業以外，學會如何寫有用程式的不二法門就是多寫，沒有人規定你要寫什麼好，對什麼有興趣就寫什麼，在這個過程中你找資料、問問題、解決的每個問題，都是你學到的經驗，而且課堂上通常都不會教你 不會找資料 我們從小到大的教育似乎範圍都只在教課書上，但事實上在實際的應用上很常需要自己找資料，現在有了網路、有了Google，即使找資料已經是這麼簡單的事情，但是很學生還是不會找，舉個例子，當你手上有一個函數的名字，fopen，它是拿來做什麼? 你要如何使用它? 很多學生可能想都沒想過要找資料，甚至有些人用Yahoo!奇摩 搜尋引擎來找資料，不好意思，找資料請用Google，最簡單的方式就是fopen直接貼到google裡搜尋，通常你要的答案就會在那裡，但是有時候不是這麼簡單可以找到資料，例如可能跑出來的是PHP的fopen而不是C語言的fopen，那你可能得這樣下關鍵字"C語言 fopen"，而這還算是好找的例子，有時候你想找你以前某個看過的東西，但是想不起來是什麼名字，關鍵字也不知道要下什麼，這時你可能要透過聯想的方式，想一下應該找什麼會出現包含那個名字的網頁，再透過那個頁面再找你要的資料，有時甚至要這樣轉兩三次，很多人或許以為寫程式的能力就只有寫，但其實在背後有很多其它的能力支撐，而資工系的學生可能很多都只會翻教課書，遇到問題或是想知道的東西不懂得找資料的技巧，當然所知範圍只限於課本的話，不用談寫出有用的程式 不會閱讀 其實寫程式聽起來好像就只有寫而已，其實在背後需要大量的閱讀，當你拿到一份library的文件，要如何閱讀，當然這部份還扯到英文的能力，中文的資料是有，但是通常都已經慢最新的東西許多，如果最新的東西都要等人翻譯你才能使用，早就已經落後好久，更新的東西又出來了，因此英文我認為是讀資工系必備的能力之一，當然我一開始看英文資料也很痛苦，不懂的單字一堆，可能一開始大部份時間都在查單字，但是同樣一個單字，查一次、查兩次、查三次，查久了就自然記起來了，而且很多同學可能有錯誤的讀法，喜歡一字一句讀，事實上很多資料只有某部份的東西是你要的，一字一句讀很快地會讓你失去耐心，大部份時間都花在查字點上，進度可能只有一頁，這樣的方式理所當然會看不懂，正確的讀法，應該是要快速的描過一次，大概知道哪裡有什麼，像是工具書，或是說明文件等用來查的東西更是需要這樣，不懂的單字其實可以不用急著查，先猜猜看，猜不到就算了，大概看懂就好，有時你發現你不懂的單字一次兩次多次地出現，這時表示這個字很重要或是很常用的術語，此時再查這個字也不遲 &#8230; <a href="http://blog.ez2learn.com/2009/06/27/how-to-write-useful-program/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>有網友在這篇<a href="http://blog.ez2learn.com/2008/12/13/dangerous-behavior-should-not-be-default-behavior/"> 別讓危險成為預設的行為，讓危險的行為比安全的行為更麻煩</a> 回應裡提到</p>
<p>WiyD-Luck</p>
<blockquote><p>請問大大寫程式寫多久了<br style="padding: 0px; margin: 0px;" />小弟今年大三要升大四了<br style="padding: 0px; margin: 0px;" />在無意間近來大大的blog<br style="padding: 0px; margin: 0px;" />收穫良多(請受小的一拜<br style="padding: 0px; margin: 0px;" />會寫程式.跟會寫一個能用的程式.差別好大…<br style="padding: 0px; margin: 0px;" />想問大大那些程式會造成的漏洞.是經過自己研讀還是有人指點才有如今的實力阿<br style="padding: 0px; margin: 0px;" />PS.小弟就讀的大學老只有教我怎麼寫程式.並沒有教我寫出一個可以用的程式..</p></blockquote>
<p>我覺得這是很多人心裡共同的疑問，所以就特地寫了一篇來說說我的看法&#8230;</p>
<p><span id="more-598"></span></p>
<h2>個人的經驗</h2>
<p>以我個人的經驗而言，開始有程式的概念大概是在小學六年級，那時喜歡自己做出些亂七八糟的網頁，就是那種整頁都是GIF閃個不停沒什麼內容的網頁，傳到一些免費空間裡，不知怎麼的突然有點懷念那種亂七八糟的風格，總覺得有種復古的感覺，想說如果現在網頁刻復做成那樣應該蠻有趣的，接著開始用Flash做一些小遊戲，在當時Flash不像現在有先進的ActionScript，我記得似乎是填某些表單，自動產生類似script之類的，在當時開始有變數、流程控制等等很淺的概念</p>
<p>接著時間來到國一，在偶然的機會下接觸到了VB6.0，起初完全不懂怎麼寫程式，靠著剪貼、修改，最後終於知道怎麼寫一個簡單的VB6的程式，我還留有第一個程式，只能做比大小，兩個文字欄輸入，按下按鍵它會告訴你誰大、誰小、或是相等，如此簡單的程式在當時做出來就有很大的成就感，在現在看來只不過是幾行的程式，連縮排都沒有，但是卻是一個很重要的開始，在什麼都沒有的金門，靠的只是一條網路線,和一些電腦書，對於從小就喜歡拆東西、科學、機械之類事物的我，這是一片可以自由創作的天地，透過寫程式，只要想得到的功能，就能透過程式寫出來，程式語言就像魔咒一般，只要唸出正確的咒語，事物就會依照你的語意、你的意唸動起來，就像魔法一般，從此就開始了寫程式的興趣，每天放學回家就是寫程式，寫到一兩點第二天去學校睡覺，日復一日</p>
<p>在這個過程中，我寫過無數的程式，爛程式，這對於寫有用的程式來說，寫爛程式是一個很重要的經驗，正因為我寫過爛程式，所以才知道好的程式和爛的程式到底差別在哪裡，我重寫過最多次的程式，是一款叫Dream On Line的線上遊戲，當時我很喜歡天堂這款線上遊戲，他好玩之處就是能當小白，還記得小六暑假就推出了，一開始在太陽神伺服器線上人數才700~800人，一開始都沒有人會玩，大家看見村裡的雞鴨豬狗牛就猛追著砍，砍了一陣子發現自己名字似乎有點紅，這不是錯覺，的確變紅了，過一陣子，開始學著當小白，故意剩一滴血負重跑去打別人讓別人還手一擊就把自己打死等等腦殘的白目行為，可以說是小白的始祖，這遊戲好玩的地方就是夠白目，我也想做出一個這樣的遊戲自己來玩玩，於是就開始研究如何寫遊戲，研究Direct Draw等等，寫出了非常陽春的版本</p>
<div id="attachment_158" class="wp-caption alignnone" style="width: 310px"><a href="http://blog.ez2learn.com/wp-content/uploads/2008/10/2008-10-11_115307.png"><img class="size-medium wp-image-158" title="夢想線上登入畫面" src="http://blog.ez2learn.com/wp-content/uploads/2008/10/2008-10-11_115307-300x225.png" alt="夢想線上登入畫面" width="300" height="225" /></a><p class="wp-caption-text">夢想線上登入畫面</p></div>
<div id="attachment_159" class="wp-caption alignnone" style="width: 310px"><a href="http://blog.ez2learn.com/wp-content/uploads/2008/10/2008-10-11_115338.png"><img class="size-medium wp-image-159" title="夢想線上遊戲畫面" src="http://blog.ez2learn.com/wp-content/uploads/2008/10/2008-10-11_115338-300x225.png" alt="夢想線上遊戲畫面" width="300" height="225" /></a><p class="wp-caption-text">夢想線上遊戲畫面</p></div>
<p>雖然說這樣的遊戲看起來似乎有這麼回事，但其實其中的bug不少，像伺服器就極度的不穩定，動不動就會當機，隨著時間不停的前進，很多時候不是有那麼多時間寫程式，而且在當時寫的程式都是硬寫出來的，常常沒有設計可言，隨著程式的膨賬，程式雜亂不堪常常覺得有心無力，每次回頭想寫時，就發現，為什麼自己會寫出這樣的爛程式，連自己都看不下去，所以每次回頭過來的改寫，最後都是受不了自己的爛程式變成重寫，這個程式重寫了5~6次之多，我自己都快記不清了</p>
<p>各個重寫的版本</p>
<div id="attachment_160" class="wp-caption alignnone" style="width: 310px"><a href="http://blog.ez2learn.com/wp-content/uploads/2008/10/map_editor_test.jpg"><img class="size-medium wp-image-160" title="某個重寫版本的地圖編輯器" src="http://blog.ez2learn.com/wp-content/uploads/2008/10/map_editor_test-300x225.jpg" alt="某個重寫版本的地圖編輯器" width="300" height="225" /></a><p class="wp-caption-text">某個重寫版本的地圖編輯器</p></div>
<div id="attachment_161" class="wp-caption alignnone" style="width: 310px"><a href="http://blog.ez2learn.com/wp-content/uploads/2008/10/client_test_01.jpg"><img class="size-medium wp-image-161" title="某個重寫版本的Client" src="http://blog.ez2learn.com/wp-content/uploads/2008/10/client_test_01-300x225.jpg" alt="某個重寫版本的Client" width="300" height="225" /></a><p class="wp-caption-text">某個重寫版本的Client</p></div>
<div id="attachment_162" class="wp-caption alignnone" style="width: 310px"><a href="http://blog.ez2learn.com/wp-content/uploads/2008/10/client2.jpg"><img class="size-medium wp-image-162" title="更晚的重寫版本的Client" src="http://blog.ez2learn.com/wp-content/uploads/2008/10/client2-300x225.jpg" alt="更晚的重寫版本的Client" width="300" height="225" /></a><p class="wp-caption-text">更晚的重寫版本的Client</p></div>
<div id="attachment_163" class="wp-caption alignnone" style="width: 310px"><a href="http://blog.ez2learn.com/wp-content/uploads/2008/10/mapeditor3.jpg"><img class="size-medium wp-image-163" title="更晚的重寫版本的地圖編輯器" src="http://blog.ez2learn.com/wp-content/uploads/2008/10/mapeditor3-300x225.jpg" alt="更晚的重寫版本的地圖編輯器" width="300" height="225" /></a><p class="wp-caption-text">更晚的重寫版本的地圖編輯器</p></div>
<div id="attachment_164" class="wp-caption alignnone" style="width: 310px"><a href="http://blog.ez2learn.com/wp-content/uploads/2008/10/client3.jpg"><img class="size-medium wp-image-164" title="更晚的重寫版本的Client 2" src="http://blog.ez2learn.com/wp-content/uploads/2008/10/client3-300x223.jpg" alt="更晚的重寫版本的Client 2" width="300" height="223" /></a><p class="wp-caption-text">更晚的重寫版本的Client 2</p></div>
<div id="attachment_165" class="wp-caption alignnone" style="width: 310px"><a href="http://blog.ez2learn.com/wp-content/uploads/2008/10/last_map_editor.jpg"><img class="size-medium wp-image-165" title="最後的重寫版本的地圖編輯器" src="http://blog.ez2learn.com/wp-content/uploads/2008/10/last_map_editor-300x240.jpg" alt="最後的重寫版本的地圖編輯器" width="300" height="240" /></a><p class="wp-caption-text">最後的重寫版本的地圖編輯器</p></div>
<div id="attachment_166" class="wp-caption alignnone" style="width: 310px"><a href="http://blog.ez2learn.com/wp-content/uploads/2008/10/last_map_editor2.jpg"><img class="size-medium wp-image-166" title="最後的重寫版本的地圖編輯器" src="http://blog.ez2learn.com/wp-content/uploads/2008/10/last_map_editor2-300x240.jpg" alt="最後的重寫版本的地圖編輯器" width="300" height="240" /></a><p class="wp-caption-text">最後的重寫版本的地圖編輯器</p></div>
<p>即使每次都覺得自己以前寫的程式是垃圾，但從好的角度看來，這或許就是代表了進步，當然這遊戲只是我寫過的程式中的一部份，其它還有很多五四三的程式，像是鍵盤記錄器之類的，而這個遊戲我還沒放棄它，我一直想找個時間想玩成它，比起當年，我永遠都覺得比當時更有把握寫出來，只是時間上的問題，但是是不是這樣我就不知道了</p>
<h2>來到了大學</h2>
<p>來到了大學，在這之前我靠的都是自己、書、還有網路，當然也得感謝很多指導過我的人，起初我一直認為，我靠自己都能學成這樣，如果有人教一定可以學得更快，有點像是中華小廚師裡雷恩想跑去暗黑暗料理界的那種感覺，希望能有更多、更快的進步，但是我卻發現，事實上倒頭來還是得靠自己讀，不過不可否認地，在大學這三年裡我學到了很多我之前都一直不懂的理論，在之前我可能不懂多緒、多工背後context-switch怎麼運作，寫迴圈為什麼存取相鄰的記憶體會比較快，原來是cache的原因，一直聽到什麼分支預測錯誤，不瞭解是什麼東西，修了計算機結構學，才瞭解原來CPU裡還有pipeline這種機制在加速，才會有分支預測的問題，很多理論都是在這時建立起來，在這之前我會寫程式，但很多概念上可能不正確，在這之後我能從基本的原理出發，寫出更好的程式來</p>
<p>所以，為什麼大學沒辦法教會你寫有用的程式?</p>
<p>在經過這些歷程，我想我很清楚為什麼大學資工四年沒辦法培養出一個可以寫出有用的程式的工程師，出在下列原因</p>
<h2>程式作業生命週期太短</h2>
<p>在資工系的大學生寫的程式，通常都是寫完交完就算了的程式，在這種情況下寫出來的程式，都是寫完丟就算了，程式的生命週期在交上作業的那一瞬間就結束了，相較於我自己寫的遊戲，我不停地重新檢視自己的程式，差別就在於，一個程式如果一直改，它設計不良的地方就可以被看得出來，好的程式設計應該是要經得起修改，但是大學因為作業交完就算了，可能再也沒有人會再看它第二眼，所以寫出來的程式常常都是硬寫出來的，規劃、維護什麼的都不需要，但是在現實世界中，程式其實是寫完那一刻它的生命週期才正要開始，寫完了程式，交到客戶手裡，客戶發現bug、或是有新的需求，這時再改程式，初而復始，直到程式不再被使用，程式的生命週期才正式結束，學校和現實的落差就在這裡，程式作業的超短生命週期讓它寫作的風格、設計都不受到重視，反正能交能跑就好，所以學生往往在遇到真實的程式會用寫作業的方法寫，下場當然是很慘</p>
<h2>程式的規模太小</h2>
<p>除了生命周期短，規模小也是另一個原因，通常作業都是幾百行甚至幾十行可以打發的程式，然而在真實世界中，程式往往是用萬行在算的，像我寫的遊戲就有上萬行的程式、甚至上十萬，而且還是好幾個程式，Server、Client、地圖編輯器等等，程式小，不經規劃和設計，硬寫也一樣可以寫出來，但是當程式一大，不經過適當的規劃、分析、與設計，下場就會很慘，那重寫無數次的遊戲只是例子之一，我曾經接過一個Case，錯估了程式的複雜程度，打算隨便寫就可以寫出來，後來發現複雜程度預估錯誤，所以加上了之前沒想到的部份，結果就非常慘，程式改這裡，那裡會跑出bug，而且你無法確定，這個bug到底是誰的，是什麼東西引起的，因為設計不良，疊床架屋，一堆模組之間有亂七八糟纏在一起的關係，造成一點點修改就牽一髮動全身，整個程式陷入無限的debug迴圈中，我發現這樣子下去不行，程式肯定寫不出來，所以就整個砍掉重寫，讓他們之間的關係，也就是藕合度降到最低，這才順利將程式寫出來，因為每個模組和其它程式的關聯都很少，所以可以很輕易地確定這個模組是正確的，而且關係少了，出了bug誰和這模組有關，也很容易找出來，這些經驗都是要程式大到一定規模才能會遇到的，在大學的作業通常規模都太小，學生自然不懂得設計，小程式硬寫也寫出來，何來的設計，而就算是畢業專題，通常也是寫完就算了，就算稍大一點硬寫也一樣寫出來，所以沒有實務經驗是理所當然的</p>
<p>但是我有遇過有門課教授出程式作業的方式我相當認同，而且可以改善以上兩點問題，他的作業一開始是簡單的功能，然後後面出的作業都是要求原本的功能加上另外的功能，如此一來，越到後來的作業規模會越大，程式也經過一再的檢驗，學生在這過程中可以學到程式如何重復利用，如果學生用硬寫的方式，很快就會吃到我上面所說的苦頭，越到後來程式越來越大，硬寫的程式以前的程式難以擴充，除錯也困難，生命週期長了，學生也能從中學到寫出較容易維護的方式，就算不知道，在以後看見了設計相關的概念，就會突然發現原來設計就是這麼一回事，在此我個人建議資工大學的課程，可以考慮用這樣的方式，設計每次增加一個小要求的大程式，如此一來可以解決上面提到的問題</p>
<h2>寫的程式太少</h2>
<p>不止是生命週期和規模的問題，以資工四年的程式作業來看，如果學生寫的程式就只有作業真的是太少了，個人其實也不是很喜歡寫作業，因為不是很有趣，並不是因為太簡單，難度不是問題，而是因為你覺得有沒有興趣，如果你對會計有興趣，或許可以自己寫一個財務報表的計算程式，如果你對物理有興趣，或許可以寫個簡單的物理模擬程式，如果你對數學有興趣，或許你可以寫一個尋找超大質數或計算圓周率的程式，如果你對遊戲有興趣，就寫遊戲，其實有太多程式都不難，而且都很有趣，像是鍵盤記錄器，聽起來很神奇，其實就只是一個掛在windows下的hook攔劫keyboard event而已，而木馬其實也只是利用socket等連線，一個指令一個動作，你傳什麼給我，我就做什麼的程式而已，有太多有趣的程式都比作業好玩，而實際上又會用到，如果學生只單純的寫作業，可能什麼是Win32API永遠都不會用，而Open source的library又要怎麼樣用，學校通常也不會教你，debugger怎麼用? 也很少有人會教你，資料怎麼找? 也沒人會教你，文件怎麼看? 沒人教你，所以除了程式的作業以外，學會如何寫有用程式的不二法門就是多寫，沒有人規定你要寫什麼好，對什麼有興趣就寫什麼，在這個過程中你找資料、問問題、解決的每個問題，都是你學到的經驗，而且課堂上通常都不會教你</p>
<h2>不會找資料</h2>
<p>我們從小到大的教育似乎範圍都只在教課書上，但事實上在實際的應用上很常需要自己找資料，現在有了網路、有了Google，即使找資料已經是這麼簡單的事情，但是很學生還是不會找，舉個例子，當你手上有一個函數的名字，fopen，它是拿來做什麼? 你要如何使用它? 很多學生可能想都沒想過要找資料，甚至有些人用Yahoo!奇摩 搜尋引擎來找資料，不好意思，找資料請用Google，最簡單的方式就是fopen直接貼到google裡搜尋，通常你要的答案就會在那裡，但是有時候不是這麼簡單可以找到資料，例如可能跑出來的是PHP的fopen而不是C語言的fopen，那你可能得這樣下關鍵字"C語言 fopen"，而這還算是好找的例子，有時候你想找你以前某個看過的東西，但是想不起來是什麼名字，關鍵字也不知道要下什麼，這時你可能要透過聯想的方式，想一下應該找什麼會出現包含那個名字的網頁，再透過那個頁面再找你要的資料，有時甚至要這樣轉兩三次，很多人或許以為寫程式的能力就只有寫，但其實在背後有很多其它的能力支撐，而資工系的學生可能很多都只會翻教課書，遇到問題或是想知道的東西不懂得找資料的技巧，當然所知範圍只限於課本的話，不用談寫出有用的程式</p>
<h2>不會閱讀</h2>
<p>其實寫程式聽起來好像就只有寫而已，其實在背後需要大量的閱讀，當你拿到一份library的文件，要如何閱讀，當然這部份還扯到英文的能力，中文的資料是有，但是通常都已經慢最新的東西許多，如果最新的東西都要等人翻譯你才能使用，早就已經落後好久，更新的東西又出來了，因此英文我認為是讀資工系必備的能力之一，當然我一開始看英文資料也很痛苦，不懂的單字一堆，可能一開始大部份時間都在查單字，但是同樣一個單字，查一次、查兩次、查三次，查久了就自然記起來了，而且很多同學可能有錯誤的讀法，喜歡一字一句讀，事實上很多資料只有某部份的東西是你要的，一字一句讀很快地會讓你失去耐心，大部份時間都花在查字點上，進度可能只有一頁，這樣的方式理所當然會看不懂，正確的讀法，應該是要快速的描過一次，大概知道哪裡有什麼，像是工具書，或是說明文件等用來查的東西更是需要這樣，不懂的單字其實可以不用急著查，先猜猜看，猜不到就算了，大概看懂就好，有時你發現你不懂的單字一次兩次多次地出現，這時表示這個字很重要或是很常用的術語，此時再查這個字也不遲</p>
<h2>不會問問題</h2>
<p>比起查資料，問問題最好當作最後一個手段，因為你會問的問題通常別人都已經問過了，先問問Google吧，當你找了該找的地方發現沒有你要的問題，這時才考慮問問題，雖然說問問題聽起來好像沒什麼，但是不會問問題一樣是很多同學的通病之一，有時同學問我問題，我聽了半天都聽不懂他到底想問什麼，原因出在於可能自己都沒有把問題先整理過，這是很重要的步驟，多例如像程式出現bug，想要貼上網問，有些人就全部的程式一口氣貼上去，事實上程式可能只有一小部份有問題，這樣做讓回答問題的人很煩腦，必須看完整個無關的程式，降低回答的意願，最好的方法是先把想問的問題整理出來，以程式片段來看，就是把無關的部份刪去，然後只剩下可以重現出那問題的程式片段，如此一來回答問題的人可以很快找到問題所在，而且這樣做有個好處，就是常常在整理問題的過程中，就發現問題在哪裡，其實其中就包含了推導的過程，很多同學常常不懂怎麼問問題，當然也不知道怎麼解決問題</p>
<p>用英文問問題一樣是一個很重要的技能之一，這一樣扯到了英文的能力，當學會問問題之後還不夠，很多東西出了問題，你必須用英文到那東西的出處去問問題，例如像是open source的library，英文絕對是電腦領域的官方語言，其實用英文問問題不難，就算文法有些錯誤，其實也不要緊，只要大家能懂你的意思，基本的禮貌做到，該找的資料先找了，通常他們都很樂意回答你的問題，懂的單字都很簡單也沒關係，我個人就傾向以最簡單的單字來表達我想說的，我知道可能有些單字在字義上能更精確地表達那意思，但是那樣的單字我通常都不知道或記不住，我們不是在寫什麼作文比賽，什麼華麗的詞藻就丟進馬桶裡沖掉吧</p>
<h2>沒有興趣不要來念資工</h2>
<p>能做到上面說的這些，通常是有一定的興趣才辦得到，沒有興趣，難以支撐這背後所需要花的心力，最好不要來讀資工，很多幼稚的父母總喜歡要自己的小孩去擠所謂的熱門科系，也從不過問到底他們的興趣是什麼，一心只想說熱門等於有錢賺，其實這是很大的錯誤，以資工來說，如果讀了四年什麼都不會，這樣的人根本不會有什麼人想雇用，即使有的話，也頂多是少得可憐的薪水，並不會因為有資工系畢業的文憑而有任何保障或前途，與其花四年在所謂的熱門科系上不如在自己有興趣的事物上，如果畢業時才發現，父母逼你讀的熱門科系已經成為了夕陽產業，父母又要如何替你負責? 所以沒有興趣的話，不要來讀資工，往你最有興趣的方向發展，遠比在資工系裡一無所獲來得好，所以如果以有人逼你讀你不想讀的資工時，請告訴他們「我的人生是我自己要過的，你沒辦法替錯誤的選擇負責，而我可以」</p>
<h2>最後</h2>
<p>如果我說的這些你都做到了，恭喜你，不敢保證，但是至少隨著時間會越來越強，懂得越來越多，到今天我也跟原po一樣，大三要升大四了，背後花了9年的時間，大學畢業剛好十年，有人說，培養一項專業要十年，但其實我覺得學越多越會覺得懂越少，十年過後，其實才正要開始，只要有興趣、有心做，當然，有人教是更好更快，程式設計不難，每個人都能設計出有用的程式</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ez2learn.com/2009/06/27/how-to-write-useful-program/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>六先生開課事件 : 我的看法</title>
		<link>http://blog.ez2learn.com/2009/01/26/mr-6-my-opinion/</link>
		<comments>http://blog.ez2learn.com/2009/01/26/mr-6-my-opinion/#comments</comments>
		<pubDate>Sun, 25 Jan 2009 17:50:21 +0000</pubDate>
		<dc:creator>victor</dc:creator>
				<category><![CDATA[中文文章]]></category>
		<category><![CDATA[分享]]></category>
		<category><![CDATA[心得]]></category>
		<category><![CDATA[心得文]]></category>
		<category><![CDATA[嘴砲]]></category>
		<category><![CDATA[沒有八卦]]></category>

		<guid isPermaLink="false">http://blog.ez2learn.com/?p=489</guid>
		<description><![CDATA[關於Mr. 6六先生開課被罵得很慘的事件 : 我的看法 <a href="http://blog.ez2learn.com/2009/01/26/mr-6-my-opinion/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>話說，有玩過魔獸爭霸三國無雙之類的地圖的人都知道，看到數字人，也就是ID全由數字組成的玩家，有很大的機會中離，不過這一點都扯不上邊 XD</p>
<p>最近很熱鬧的事情是，知名部落客Mr.6先生開的程式設計課程被踢暴課程的內容很差勁</p>
<p><a href="http://mr6offline.com/">http://mr6offline.com</a></p>
<p>大約看了一下是教一些PHP MySQL之類老掉牙的東西，但驚人的是三堂課要$4500大洋，而且跟據上面的部落格暴料還教得不怎麼樣，但是廣告詞卻寫得非常動人，想創業沒法靠別人，所以只能靠自己寫程式，學完就能靠自己寫程式創業之類的巴拉巴拉&#8230;</p>
<p>那我們未來要靠寫程式吃飯的資工系學生們是不是全都要去喝西北風啦? 為什麼這次事件會被罵得那麼慘，原因很簡單</p>
<p>頂著史丹佛等的和一堆亮麗經歷的光環，收費4500，但教的卻都是一些老掉牙了無新意的東西，PHP不難，但是真的值得不懂程式想學寫程式的人學習用來創業，用來寫網頁嗎? 先不論教得好不好，我個人認為:</p>
<h2><strong>不值得&#8230;..</strong></h2>
<p>PHP是一個設計很差勁的程式語言(請參考<a href="http://blog.ez2learn.com/2008/12/13/dangerous-behavior-should-not-be-default-behavior/">別讓危險成為預設的行為，讓危險的行為比安全的行為更麻煩</a>)，但不可否認的它是目前用來寫網頁最流行的程式語言，它也有它許多的優點，中文資源隨手可得，對於初學者來說，要用PHP寫網頁卻實是不難，但是，要寫出合格的網頁程式，卻需要很多瑣碎的know-how，不是初學者三兩天就可以達成的事情，初學者可以用PHP寫出各種常見的網頁程式，但是裡面充滿無數的問題、臭蟲、漏洞，光是一個許功蓋問題初學者可能就覺得莫明奇妙，但遲早會遇到，聲稱要三堂課教會學生寫PHP到可以用來自行創業，我只能說胡扯</p>
<h2>老掉牙的PHP MySQL&#8230;</h2>
<p>一樣技術有多老掉牙，或許我們可以定一個指標，叫做天瓏書局中文書指標，用技術的名詞在天瓏書局搜尋中文書，看數量有多少</p>
<p>PHP的結果 118筆<a href="http://tlsj.tenlong.com.tw/WebModule/BookSearch/bookSearchAdvancedAction.do"><br />
</a></p>
<p>有118筆符合的書，PHP到底有多老掉牙，這表示PHP的中文資源已經是唾手可得的地步，隨便找個有工程師的頭銜的人問他，你會不會PHP? 我想有八成的機會他都會回答Yes，即使是社交工程師(誤)，但在這裡我要強調的是，<strong>不是老掉牙、被用到爛掉就表示它不好，我一直都認為每種程式語言都各有優缺點，將他們用在正確的地方才是明確的選擇</strong>，而六先生聲稱想創業寫網頁教的居然是PHP土法煉鋼在寫網頁，這真的令人覺得不解，到底要寫到民國幾年，更何況既然PHP MySQL等已經那麼普遍，到底有什麼價值可以花4500元去學?</p>
<h2>那該教什麼好?</h2>
<p>真正想要快速寫能用的網頁，最好是學習網頁框架，隨便一款網頁框架都比用PHP土法鍊鋼做起來得好，收費昂貴教的卻是那麼落伍且不明智的方式，真令人覺得無法認同，但是姜太公釣魚，願者上勾，如果覺得真的有那個價值，去學也沒人能阻止，但在我看來，這就好像去用高價買一瓶平凡無奇的水，明明是隨手可得的東西，但是上面貼著"史丹佛雙碩士"，一樣的道理</p>
<p>以我的看法，如果教的是現代一點的東西還令人能接受，像TurboGears、Django、Ruby On Rails等等，我們來看看天瓏書局中文書指標</p>
<p>TurboGears 1 (簡體中文)</p>
<p>Django 0筆</p>
<p>Ruby On Rails 12筆</p>
<p>同樣是中文資源，差那麼多，我如果今天是初學者，也沒辦法靠自己學習最新的技術，中文書少得可憐，或著根本沒有，就算英文能力夠，礙於技術的背景知識的需要而學不了那些東西，如果是這樣的話，開課教這些網頁框架，快速開發、省略細節、更安全、更有生產力、更敏捷，也比較適合創業的目的，再者很少人會，才有那樣的價值，這樣看來花4500去學明明已經被用到爛掉，那麼多人會的東西其實蠻冤大頭的，真的要學PHP找家教一對一教學都來得便宜和實在，或是買本書來自學也便宜又實惠</p>
<p><strong>但是，再次的，我必須要強調，也不是越新的技術就越好，它們有比現有的東西更好的地方，但缺點就是因為很新資源比較少</strong>，可能有不夠穩定等問題，物以稀為貴，正因為很少人懂，才顯得有價值，我記得我以前我有個家教學生在討論價錢時這麼跟我說</p>
<blockquote><p>我去家樂福打工一個小時才多少</p></blockquote>
<p>我想了一想，就這麼回答他</p>
<blockquote><p>你去路邊隨便拉一個人都能去家樂福打工，但是你沒辦法路邊拉一個人來教你C語言</p></blockquote>
<p>這是同樣的道理，隨手可得的東西沒什麼價值，而學習最新技術的基本門檻是英文能力，英文能力不好，只能看中文書的話，等到有人翻譯通常又有更新更好的東西出來了，只會中文的話就永遠只能落在人後，六先生自稱</p>
<blockquote><p>美國史丹佛電機、管理雙碩士，14歲移民加拿大，而後移居美國矽谷</p></blockquote>
<p>即然有能力，為何不教一些較現代的技術，卻教PHP MySQL等土法鍊鋼的方式，想要創業，自己寫程式，這明明PHP+MySQL是個很不切實際的選擇，六先生如果真的有心想開課教人寫網頁創業，個人建議還是學一些現代一點的東西來教比較實在</p>
<h2>那自己學寫程式創業到底可不可能?</h2>
<p>我認為，可能，但機會很小，即然我們知道速成的程式設計能力是胡扯，那麼表示真的要能夠寫真正能用的程式需要時間，網路是瞬息萬變的，等你真的學會，寫出程式來，網路可能又是另一回事了，不過到了那個時候至少有技術，有能力可以實現自己的想法，視當時的情況實現也不是不可能，至於<strong>要花多久呢? 我想&#8230; 十年吧</strong>，我曾看過一篇文章這麼說，學習一樣專業，需要十年的時間，這文章我一時找不到，我個人覺得蠻認同這樣的說法，我個人從國一開始學寫程式，到今年差不多九年了，畢業的話就剛好十年了，但是我覺得我還是有很多東西要學，或許你覺得不認同，你說我照著六先生教的可能三天就能寫個留言版還什麼的，但是事實是，程式有分大小，小程式就算隨便亂寫、躺著寫、坐著寫、趴著寫、跳著寫，也硬是可以寫出來，但大程式就不一樣了，當你程式寫著寫著，規模越來越大，你會發現程式越來越混亂，越來越難以除錯，到最後你的程式變成一沱難以想像的東西，你這邊改了發現那邊居然跑出漏洞，那邊改了又跑出新的漏洞，為什麼我瞭解，原因很簡單，我寫過數不清的爛程式，從土法鍊鋼開始慢慢地摸索，因此我很清楚爛程式寫大的時候到底是什麼情況，但寫出來就算了，事情才剛開始，程式不是寫出來就結束了，你還得維護它，如果有新的功能要加進去怎麼辦? 使用者太多原本的系統沒辦法負擔又該怎麼辦? 又得想辦法改寫程式，現實是殘酷的，不是每個人都是你網站、程式的愛護者，會有一群無聊的、為了利益的人，想盡各種方法來玩你的系統，為了好玩、為了撈你的資料賣給詐騙集團，老練的設計師都有可能出錯導至系統被攻擊，更何況是半生不熟的設計師，所以為了要能創業而學寫程式，真的能成功的機會可能比中樂透還低，不過我相信真的有人能做到，但肯定是有過人毅力的奇才</p>
<h2>那程式設計的重點到底在哪裡?</h2>
<p>土法練鋼寫程式的人我個人稱為"黑手"，不可否認我當過很久的黑手，用各種笨方法硬寫程式，所以才會遇到各種問題，那到底缺少什麼? 程式設計師和程式黑手的差別到底在哪裡? 程式設計的重點在於設計，到底什麼是設計? <a href="http://mr6.cc/?p=2553">六先生提過</a>設計</p>
<blockquote><p>姚老師告訴對方，「啊，他在學程式設計！」</p>
<p>17歲的我，非常驕傲的抬起頭來。不是因為「程式」這個炫麗的字眼，而是「設計」。</p>
<p>加拿大沒有什麼好科系和壞科系的，沒有「選系不選校」的問題，我一點都不為「程式」而驕傲，我為「設計」而驕傲。</p>
<p>17歲，只有考試，只有作業，只有報告…什麼，「設計」？所以，以後我真的可以這個叫「程式」的東西來「設計」囉？</p>
<p>從那隻會動的蟲子以後，我果然就發現，原來，用程式要實現自己的任何點子，是這麼容易的一件事！</p></blockquote>
<p>六先生說對了重點，程式設計真正重要的的確是設計而不是程式，但是我很懷疑他到底懂不懂得設計，我承認我對於設計還差很遠，有人曾這樣說過</p>
<blockquote><p>有才華洋溢的年輕編程人員，但沒有年輕的程式設計師</p></blockquote>
<p>原文是英文，我記得似乎是在某本書上看到的，一時也想不起來，我寫的語意用詞可能也沒有那麼正確，但是他想表達的大概是這樣，寫程式這件事情要寫得好其實不難，很多程式設計師很年輕就表現出很強的編程能力，但是很少有程式設計師在年輕時就能表現出設計能力，這表示設計不是很短的時間內可以學會的，需要的是長時間的累積，不是說設計兩個字就真的會設計</p>
<h2>還有什麼? 團隊合作?</h2>
<p>除此之外六先生還有提到</p>
<blockquote><p>所謂速成，就是一個月內就開始寫點子。</p>
<p>我們希望找到一群志同道合的人或許一起創業。</p>
<p>我們希望一邊寫，一邊還討論現在網路最新的狀況與可用的API。</p>
<p>我們還一邊交換自己使用的機房與SEO的建議。</p>
<p>甚至，我們互相幫對方寫對方的程式，整個課程就像一個超大的創業團隊，各有各的目標，但各自之間是互相幫忙的。</p></blockquote>
<p>這問題就更大了，團隊寫程式和一個人寫程式是兩回事，著名的軟體專案開發經驗談的書 "人月神話" 裡有提到，軟體的開發不像是收割小麥，人越多就越有效率，而是人越多，所需要付出的溝通成本就越多，反而會更沒有效率，一個人寫程式，你自己怎麼寫，你自己知道，所有的東西都在你的掌控中，歐~ 不，連你自己都可能忘記自己以前寫的程式，更何況是和別人合作，你得讀別人的程式，他寫出來的如果是天書，你也要能讀懂天書才能夠和他合作，而且程式的開發，如果需求是自己想，自己來實現會最有效率，如果是別人的需求，經過溝通，很容易發生寫出來的程式不是需求者要的東西，從六先生所謂的互相幫對方寫對方的程式，真的是莫名奇妙， 一整個團隊成員們都有不一樣的目標，但是卻又能共同開發來達成這些目標，真的能辦到，我只能說六先生太神了&#8230;.</p>
<h2>最後</h2>
<p>我沒有史丹佛學歷，也沒待過知名企業，只有自學程式九年，寫程式不怎樣，打嘴砲還有點自信的小小阿宅，以上純屬嘴砲&#8230;.僅供參考，看看就好 XD</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ez2learn.com/2009/01/26/mr-6-my-opinion/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>

