程式設計之道
原作是冼鏡光,曾載於PC微電腦傳真雜誌上,以前我看到後就非常喜歡這篇。
總覺得每次看就有一些不同的領悟 XD
看到這篇編排的很好,就借過來一用了。
原址在東邪島 - 程式設計之道。
----------------------------------------------------------
大師如是說:“學會從程式抓蟲子之後,就可以畢業了。”
若道至大,則作業系統至大;若作業系統至大,編譯程式亦然;若編譯程式至大,則應用程式亦復如是,是故使用人大悅,世有和諧存焉。
道生機器語言,機器語言生組譯程式。組譯程式生編譯程式,於是萬餘語言存焉。
各語言有其目的,均表達軟體之陰陽;其在道中亦各得其所。
但若能避免,就不要用COBOL 寫程式。
程式員不悟道則時空永不敷使用,悟道者恒有充份時空完成目標。
若無笑聲則無道矣。至高之聲難以聽聞。
前進就是後退之路;大智總是晚成;每一個完美的程式仍有BUG。
道在所有知識之外。
像狐狸涉水般地小心;像戰場老兵般地警覺;像未經琢磨的木頭般地璞拙;像洞中深潭地不透明。誰能指出他們心靈中的秘密?答案全在道中。
“不知是我Turing作夢變成機器,還是一部機器作夢變成我Turing。”
一家大電腦公司的程式員參加軟體會議後,向他的經理報告說:“你知道其他電腦公司有什麼程式員嗎? 他們不修邊幅,頭髮長而邋遢,衣服既舊且皺,他們破壞了氣氛,而且我簡報時老是製造噪音。”
經理說:“我根本就不應該派你參加會議,這些程式員超然物外,他們把生命看成無稽,意外的結合。他們往來而無藩籬,為他們的程式而活,為什們他們一定要受社會積習的約束?他們生活在道中。”
大師曰:“這個程式員已充份悟道,他超越了設計的需要;系統垮了不會生氣,而無條件接受這個世界。他超越了文獻的需要,他不再計較是否有人看他的程式。他也超越了測試的需要,他的每一個程式都圓滿無缺,清澈,優雅,目的自明。是的,他已悟道,登堂入室。”
這段話刺激到警衛,因為展覽場有好幾百萬元價值的儀器,所以老是盯這他,不過卻只看到這個人一個攤位接著一個攤位看,哼著小曲而已。
這個人出門的時侯,警衛把他帶到一旁搜身,但卻找不到什麼。
第二天這個人又來了,而且教訓警衛說:“昨天我收獲不錯,不過今天會更佳。”所以警衛就更加注意他了,但是仍然沒有結果。
最後一天警衛終於忍不住好奇心,問那個人:“賊大師,我給您弄得寢食難安,您是否以教我,究竟偷了些什麼?”
這個人笑笑,說:“我偷的是概念。”
大師說:“對大師適用的不一定適合生手,在能超越結構化之前,必須先悟道。”
程式員說:“作業系統。”
長官發出不相信的驚呼:“很顯然的,會計系統不如作業系統複雜”,他說。” 不!”程式員回答,“在設計會計系統時,程式員是各種不同主意的人之間的橋樑,這些主意不外乎: 系統要如何作業? 報表型式如何? 要如何迎合稅法?...等等。反過來,作業系統卻不受外界表象的限制;在設計作業系統時,程式員尋求人與機器間最純的和諧,這就是為什麼作業系統容易設 計。”
長官點頭微笑稱是:“但是那一個容易偵錯?”
程式員沒有回答。
大師很快回答:“一年。”
“但是我們需要馬上用這個系統! 如果我給你十個程式員,那要多久?”經理說。
大師皺眉說:“這要兩年。”
如果我給你一百個程式員呢?”
大師聳聳肩:“這個系統根本作不出來了。”
程式應該追隨“最低驚訝定律”,這是什麼?
簡單得很,使用人對程式的反應是驚訝的機會要愈低愈好。
程式不管再複雜,應該以一個整體來作用;他應該用內部邏輯,而不是外在的表象來指導作業。
如果程式不滿足這些要求,就會雜亂而易生混淆,唯一的補救就是重新寫過。
大師答曰:“因為不悟道才會如此,只有笨蛋才會期望他的同儕有合理的行為,而你卻對人類生產的機器有所期望?!計算機只模擬了決定論,只有道才十全十美。程式設計的準則還是暫時性的,只有道才會進入永恒。所以,你在開竅前要先思索道。”
“但我要如何才能知道已經開竅了呢?”生手問。
大師回答:“從此以後,你的程式都能正確執行。”
“桌上型計算機有道嗎?”弟子問。
“有!”大師答。
“電動玩具程式中有道嗎?”弟子續問。
“也有!”大師說。
“那個人電腦的DOS 中有道嗎?”
大師咳一下,輕輕挪動了位置,“下課”,他說。
“了不起!”,太子嘆曰:“你的技巧無懈可擊。”
“技巧?”程式員從終端機上轉過頭說,“我所信從的是道,道超越任何技巧!我開始學寫程式時,在我眼前所見是混成一片的程式;三年後,不再見到這一大 片程式了,我學會使用副程式;現在,眼前一片空靈,什麼都沒有了,所有東西都進入無型式的一片靜寂;所有感覺都不必作用。我的精神可以依直覺而不必依任何 計劃行事,換言之,我的程式自己寫作自己。當然,有時會有困難的問題;我看著他們到來,我降低自已的速度,靜靜的看,改一列程式之後困難就會煙消雲散;我 再重新靜靜坐著欣賞工作的歡樂。我閉上雙眼一會兒,然後關機。”
皇太子說:“我的所有程式員都那麼聰明睿智嗎?”
急流不會淤塞。
聲音與思想不能在真空中傳遞。
不用的軟體會生鏽。
這就是至大的奧秘。
經理說:“我想你不太踏實;真的要多久?”
程式員想了一會兒:“我希望在程式中加上一些東西,這至少要兩週。”程式員終於說 。
“時間還是短了一些",經理堅持說:“如果你能簡單的告訴我什麼時後能寫完我才會滿意。”
程式員同意這一點。
幾年後經理退休了,在歡送餐會上發現那個程式員伏在終端機上睡著了,因為他寫程式寫了整夜。
這個生手狂熱地工做了幾天,但是當大師看他的成品時,卻發現這個程式中包含一個螢光幕編修程式,一組一般性的繪圖程式,一個人工智慧界面,但卻沒有什麼與財務方面有關。
大師就問他,這個生手卻變得很激動:“不要那麼沒耐心,”他說,“我最終會把財務部份加上去。”
好老師會忽略他最差的學生嗎?
好父親會容許他的孩子挨餓嗎?
好程式員會拒絕維護自己的程式嗎?
當然,這不是程式設計之道。
當經理許下承諾,程式員就不理會電玩;當主計部門有長程規劃,就會回復和諧與秩序;當高級科學家處理手上的問題,問題很快就會解決。
這才是程式設計之道。
為什麼程式員難以駕御? 因為管理階層干預太多。
為什麼程式員一個接一個辭職? 因為他們精力耗光了。
在不良管理下工作,程式員不會覺得他的工作有價值。
經理打算給這位程式員一點獎勵,但他拒絕接受,並且說:“因為我覺得這是個有趣的概念,才會寫這個程式,所以我不希望有獎勵。”
經理聽了之後說:“這個程式員雖然職位不高,但卻充份了解做為一個職員的責任,讓我們把他升成崇高的管理顧問吧!”
在告訴程式員時,他再度拒絕,說:“我之存在是因為可以寫程式,如果升了我,那除了浪費每一個人的時間外而成不了事。我可以走了嗎? 我還得寫程式。”
於是經理說:“好吧! 這樣好了,只要能夠如期完工,工作時間由你們自定。”程式員現在滿意了,每天中午開始工作,直到第二天早上。
大師回答說:“你已經體認到這個龐大的結構,而被它不合理的目的困擾。不過你能不從它無休止的迴旋而得到樂趣嗎? 能夠不欣賞深藏在枝葉底端毫無困難的程式設計嗎? 為什麼要被他的無用而困擾呢。”
生手程式員瞪眼望著大鵬,因為他們不認得;中智程式員憂大鵬的來臨,因為他們害怕它帶來的訊息;只有大師才能繼續坐在終端機前工作,因為他不知大鵬的來去。
“這是一套整合性,分散式,一般用途的工作站",魔術師如是說,“還有一套專屬的作業系統,第六代語言,多項最先進的使用人界面,再加上人體工學的設計;這花了我的助手們好幾百人年才造出來的,不是很了不起嗎?”
大師抬了下眼珠子,“的確了不起。”大師說。
魔術師繼續說:“公司總部已經下令每個人都要用這台工作站做發展新軟體的基石,您同意嗎?”
“當然。”大師答道:“我馬上會把它放到資訊中心去。”於是魔術師高高興興的回到象牙塔去。
幾天後,一個生手在大師的辦公室裡團團轉,說:“我找不到新程式的報表,您知道會在那兒嗎?”
“當然",大師答道,“報表就堆在資訊中心裡頭的基石上!”
大師回答:“你為什麼問這個笨問題? 這家公司就是因為它大才會這麼大。如果它只知道硬體,沒有人會買它;如果只生產軟體,沒有人會用它;如果只維護系統,人家會把它看成修理員;但是因為他把 所有的合在一起,人們就把它當神一樣看待了。它根本無需競爭,因為贏來不費吹灰之力。”
生手停下來,並且把這台機器交給大師。大師說:“我看到這台機器玩起來有三個層次:初級,中級,高級;不過這種機器通常都有另一個層次的說法,使機器贏不了人類,而人類也勝不了機器。”
“啊! 大師",生手說:“這個奇妙的開關在那裡?”
大師把機器摔到地上,用腳把它踏爛。
突然地,生手開竅了。
於是大型電腦的程式員就對他的朋友解釋:“大型電腦就像古之聖哲般的穩穩座落在資訊中心中央,磁碟一個接一個蔚為奇觀,軟體像鑽石般地有多種面目,像古森林般的濃密茂盛。各個程式像一片急流般地湧入系統,而這就是我在那兒工作的樂趣 。”
聽了這段話之後,微電腦程式員靜默無聲;但是這兩個人卻結為好友,至死不渝。
走了一段路之後,碰到Firmware,穿得破破爛爛,拿著根柺杖,並且對他們說:“道在陰陽之外,寂靜不動如古井之不生波瀾;道不求名,故無人知曉其存在;道不逐利,因它圓滿無缺。道超乎時空之外。”
Hardware 和 Software 聽了之後倍感慚愧而打道回家。
總覺得每次看就有一些不同的領悟 XD
看到這篇編排的很好,就借過來一用了。
原址在東邪島 - 程式設計之道。
----------------------------------------------------------
第一部 寂靜虛無篇
大師如是說:“學會從程式抓蟲子之後,就可以畢業了。”
1.1 節
寂靜虛無中有奧秘,不動不靜,乃程式之源,吾無以名之,故稱之為程式設計之道。若道至大,則作業系統至大;若作業系統至大,編譯程式亦然;若編譯程式至大,則應用程式亦復如是,是故使用人大悅,世有和諧存焉。
1.2 節
程式設計之道無遠弗屆,雖晨曦微風而返。道生機器語言,機器語言生組譯程式。組譯程式生編譯程式,於是萬餘語言存焉。
各語言有其目的,均表達軟體之陰陽;其在道中亦各得其所。
但若能避免,就不要用COBOL 寫程式。
1.3 節
太初有道,道生時空,故時空乃程式設計之陰陽。程式員不悟道則時空永不敷使用,悟道者恒有充份時空完成目標。
1.4 節
上智程式員聞道而行之,中智程式員聞道而求之,下智程式員聞道而笑之。若無笑聲則無道矣。至高之聲難以聽聞。
前進就是後退之路;大智總是晚成;每一個完美的程式仍有BUG。
道在所有知識之外。
第二部 古之大師篇
大師如是說:“三日不寫程式則生命無趣。”2.1 節
古程式員神秘而深奧,無以度量其思維,僅能描述其表象。像狐狸涉水般地小心;像戰場老兵般地警覺;像未經琢磨的木頭般地璞拙;像洞中深潭地不透明。誰能指出他們心靈中的秘密?答案全在道中。
2.2 節
大師Turing曾經夢到他是一部電腦,醒後道:“不知是我Turing作夢變成機器,還是一部機器作夢變成我Turing。”
一家大電腦公司的程式員參加軟體會議後,向他的經理報告說:“你知道其他電腦公司有什麼程式員嗎? 他們不修邊幅,頭髮長而邋遢,衣服既舊且皺,他們破壞了氣氛,而且我簡報時老是製造噪音。”
經理說:“我根本就不應該派你參加會議,這些程式員超然物外,他們把生命看成無稽,意外的結合。他們往來而無藩籬,為他們的程式而活,為什們他們一定要受社會積習的約束?他們生活在道中。”
2.3 節
生手問大師:“有一個程式員從不設計,測試程式,寫作文獻,但了解他的人都認為他是世間最好的程式員。為什麼?”大師曰:“這個程式員已充份悟道,他超越了設計的需要;系統垮了不會生氣,而無條件接受這個世界。他超越了文獻的需要,他不再計較是否有人看他的程式。他也超越了測試的需要,他的每一個程式都圓滿無缺,清澈,優雅,目的自明。是的,他已悟道,登堂入室。”
第三部 設計篇
大師說:“到測試程式時再回頭修改設計就太遲了。”3.1 節
曾經有人在參觀電腦展每天進門時都向警衛說:“我是的妙賊,偷東西的技巧已臻化境,先告訴你,我絕不會放過這次展覽。”這段話刺激到警衛,因為展覽場有好幾百萬元價值的儀器,所以老是盯這他,不過卻只看到這個人一個攤位接著一個攤位看,哼著小曲而已。
這個人出門的時侯,警衛把他帶到一旁搜身,但卻找不到什麼。
第二天這個人又來了,而且教訓警衛說:“昨天我收獲不錯,不過今天會更佳。”所以警衛就更加注意他了,但是仍然沒有結果。
最後一天警衛終於忍不住好奇心,問那個人:“賊大師,我給您弄得寢食難安,您是否以教我,究竟偷了些什麼?”
這個人笑笑,說:“我偷的是概念。”
3.2 節
從前有一位大師專寫沒有結構化的程式,一個生手模仿他,也開始寫沒有結構化的程式。當這位生手要求大師評量進展時,大師卻批評他寫作沒有結構化的程式。大師說:“對大師適用的不一定適合生手,在能超越結構化之前,必須先悟道。”
3.3 節
某長官問程式員:“設計會計系統與作業系統,那一個比較簡單?”程式員說:“作業系統。”
長官發出不相信的驚呼:“很顯然的,會計系統不如作業系統複雜”,他說。” 不!”程式員回答,“在設計會計系統時,程式員是各種不同主意的人之間的橋樑,這些主意不外乎: 系統要如何作業? 報表型式如何? 要如何迎合稅法?...等等。反過來,作業系統卻不受外界表象的限制;在設計作業系統時,程式員尋求人與機器間最純的和諧,這就是為什麼作業系統容易設 計。”
長官點頭微笑稱是:“但是那一個容易偵錯?”
程式員沒有回答。
3.4 節
經理去見大師,並且告訴他一套新應用程式文件的需求規格,問道:“如果我給你五個程式員,要多久才能設計好這個系統?”大師很快回答:“一年。”
“但是我們需要馬上用這個系統! 如果我給你十個程式員,那要多久?”經理說。
大師皺眉說:“這要兩年。”
如果我給你一百個程式員呢?”
大師聳聳肩:“這個系統根本作不出來了。”
第四部 寫作篇
大師如是說:“寫作良好的程式本身自成天堂,寫得差的程式本身就是地獄。”4.1 節
程式要輕靈,副程式像一串珍珠。程式的精神與意圖應始終如一,不多不少;沒有多餘的迴圈,也沒有額外的變數,既不缺少結構,也不過份笨重。程式應該追隨“最低驚訝定律”,這是什麼?
簡單得很,使用人對程式的反應是驚訝的機會要愈低愈好。
程式不管再複雜,應該以一個整體來作用;他應該用內部邏輯,而不是外在的表象來指導作業。
如果程式不滿足這些要求,就會雜亂而易生混淆,唯一的補救就是重新寫過。
4.2 節
生手問大師:“我有一個程式,有時侯作得很好,有時侯卻不行;我一直遵行程式設計的規律,但是卻把我弄得很困擾,其理安在?”大師答曰:“因為不悟道才會如此,只有笨蛋才會期望他的同儕有合理的行為,而你卻對人類生產的機器有所期望?!計算機只模擬了決定論,只有道才十全十美。程式設計的準則還是暫時性的,只有道才會進入永恒。所以,你在開竅前要先思索道。”
“但我要如何才能知道已經開竅了呢?”生手問。
大師回答:“從此以後,你的程式都能正確執行。”
4.3 節
大師對弟子說:“不論軟體之為大為小,道在所有軟體中。”“桌上型計算機有道嗎?”弟子問。
“有!”大師答。
“電動玩具程式中有道嗎?”弟子續問。
“也有!”大師說。
“那個人電腦的DOS 中有道嗎?”
大師咳一下,輕輕挪動了位置,“下課”,他說。
4.4 節
皇太子的程式員正在寫作軟體,指尖在鍵盤上飛舞,程式順暢無誤的編譯完成,執行起來像陣微風輕拂而完美的結束。“了不起!”,太子嘆曰:“你的技巧無懈可擊。”
“技巧?”程式員從終端機上轉過頭說,“我所信從的是道,道超越任何技巧!我開始學寫程式時,在我眼前所見是混成一片的程式;三年後,不再見到這一大 片程式了,我學會使用副程式;現在,眼前一片空靈,什麼都沒有了,所有東西都進入無型式的一片靜寂;所有感覺都不必作用。我的精神可以依直覺而不必依任何 計劃行事,換言之,我的程式自己寫作自己。當然,有時會有困難的問題;我看著他們到來,我降低自已的速度,靜靜的看,改一列程式之後困難就會煙消雲散;我 再重新靜靜坐著欣賞工作的歡樂。我閉上雙眼一會兒,然後關機。”
皇太子說:“我的所有程式員都那麼聰明睿智嗎?”
第五部 維護篇
大師如是說:“雖然程式只有三列,但總有一天需要維護。”5.1 節
常用的門不必上油。急流不會淤塞。
聲音與思想不能在真空中傳遞。
不用的軟體會生鏽。
這就是至大的奧秘。
5.2 節
經理問程式員究竟要多久才能把手上的程式寫完。“明天",程式員很快的回答。經理說:“我想你不太踏實;真的要多久?”
程式員想了一會兒:“我希望在程式中加上一些東西,這至少要兩週。”程式員終於說 。
“時間還是短了一些",經理堅持說:“如果你能簡單的告訴我什麼時後能寫完我才會滿意。”
程式員同意這一點。
幾年後經理退休了,在歡送餐會上發現那個程式員伏在終端機上睡著了,因為他寫程式寫了整夜。
5.3 節
一個生手被分派去寫一個單純的財務軟體。這個生手狂熱地工做了幾天,但是當大師看他的成品時,卻發現這個程式中包含一個螢光幕編修程式,一組一般性的繪圖程式,一個人工智慧界面,但卻沒有什麼與財務方面有關。
大師就問他,這個生手卻變得很激動:“不要那麼沒耐心,”他說,“我最終會把財務部份加上去。”
5.4 節
好農夫會忽視他種的穀子嗎?好老師會忽略他最差的學生嗎?
好父親會容許他的孩子挨餓嗎?
好程式員會拒絕維護自己的程式嗎?
第六部 管理篇
大師如是說:“程式員要多,經理要少,生產力就會增加。”6.1 節
經理有開不完的會的話,程式員就會寫電玩;主計部門想到利潤,發展經費就會被刪減;高級科學家談到藍藍青天,那麼青天一定會有浮雲飛過。當然,這不是程式設計之道。
當經理許下承諾,程式員就不理會電玩;當主計部門有長程規劃,就會回復和諧與秩序;當高級科學家處理手上的問題,問題很快就會解決。
這才是程式設計之道。
6.2 節
為什麼程式員沒有生產力? 因為他們的時間都花在開會上頭。為什麼程式員難以駕御? 因為管理階層干預太多。
為什麼程式員一個接一個辭職? 因為他們精力耗光了。
在不良管理下工作,程式員不會覺得他的工作有價值。
6.3 節
某個經理快被炒魷魚了,但是他底下的一個程式員寫了一個叫好又叫座的程式;當然,這位經理因而保住了飯碗。經理打算給這位程式員一點獎勵,但他拒絕接受,並且說:“因為我覺得這是個有趣的概念,才會寫這個程式,所以我不希望有獎勵。”
經理聽了之後說:“這個程式員雖然職位不高,但卻充份了解做為一個職員的責任,讓我們把他升成崇高的管理顧問吧!”
在告訴程式員時,他再度拒絕,說:“我之存在是因為可以寫程式,如果升了我,那除了浪費每一個人的時間外而成不了事。我可以走了嗎? 我還得寫程式。”
6.4 節
經理告訴程式員們說:“下面是你們的工作時間: 早上九點來上班,下午五點鐘下班。”所有程式員都很生氣,有幾個馬上辭職。於是經理說:“好吧! 這樣好了,只要能夠如期完工,工作時間由你們自定。”程式員現在滿意了,每天中午開始工作,直到第二天早上。
第七部 公司智慧篇
大師如是說:“你可以對主管示範一個程式,但無法讓他通曉電腦。”7.1 節
生手問大師:“遙遠東方有一個叫"公司總部" 的偉大樹狀結構,上面滿滿地標上了些副總裁,會計長等的圖案。它發出大量的備忘錄,每張上面都寫了"收文!" "發文!"沒有人知道是什麼意義。每年都會把新的名字加到新的分枝上,但似乎全都徒勞無功。為什麼這樣一個不自然的組織還能繼續存在?”大師回答說:“你已經體認到這個龐大的結構,而被它不合理的目的困擾。不過你能不從它無休止的迴旋而得到樂趣嗎? 能夠不欣賞深藏在枝葉底端毫無困難的程式設計嗎? 為什麼要被他的無用而困擾呢。”
7.2 節
東方海上有大魚曰鯤,鯤能變成雙翼遮天的大鵬。當大鵬飛越陸地時帶來一道公司總部的訊息,這道訊息正好掉在一群程式員中央,然後大鵬折起雙翼乘風而歸。生手程式員瞪眼望著大鵬,因為他們不認得;中智程式員憂大鵬的來臨,因為他們害怕它帶來的訊息;只有大師才能繼續坐在終端機前工作,因為他不知大鵬的來去。
7.3 節
象牙塔的魔術師帶著他的最新發明去見大師,他推了一個大黑盒子走進大師的辦公室,大師正在靜靜的等著。“這是一套整合性,分散式,一般用途的工作站",魔術師如是說,“還有一套專屬的作業系統,第六代語言,多項最先進的使用人界面,再加上人體工學的設計;這花了我的助手們好幾百人年才造出來的,不是很了不起嗎?”
大師抬了下眼珠子,“的確了不起。”大師說。
魔術師繼續說:“公司總部已經下令每個人都要用這台工作站做發展新軟體的基石,您同意嗎?”
“當然。”大師答道:“我馬上會把它放到資訊中心去。”於是魔術師高高興興的回到象牙塔去。
幾天後,一個生手在大師的辦公室裡團團轉,說:“我找不到新程式的報表,您知道會在那兒嗎?”
“當然",大師答道,“報表就堆在資訊中心裡頭的基石上!”
7.4 節
大師可以毫無憂慮的從這個程式轉入另一個程式,管理上的改變傷不到他;縱使計劃中止了,也不會被炒魷魚。為什麼? 因為他充滿了道。第八部 硬體與軟體篇
大師如是說:“沒有風,草不會動,沒有軟體,硬體就是廢物。”8.1 節
生手問大師:“我知道一家電腦公司比其他的大得多,高高在上就像巨人之比侏儒;它的任一部都可以單獨成為一個企業。為什麼會這樣?”大師回答:“你為什麼問這個笨問題? 這家公司就是因為它大才會這麼大。如果它只知道硬體,沒有人會買它;如果只生產軟體,沒有人會用它;如果只維護系統,人家會把它看成修理員;但是因為他把 所有的合在一起,人們就把它當神一樣看待了。它根本無需競爭,因為贏來不費吹灰之力。”
8.2 節
大師有一天經過一個生手旁邊,發現生手迷上一台手掌型的電玩,“對不起",大師說,“我可以看看它嗎?”生手停下來,並且把這台機器交給大師。大師說:“我看到這台機器玩起來有三個層次:初級,中級,高級;不過這種機器通常都有另一個層次的說法,使機器贏不了人類,而人類也勝不了機器。”
“啊! 大師",生手說:“這個奇妙的開關在那裡?”
大師把機器摔到地上,用腳把它踏爛。
突然地,生手開竅了。
8.3 節
從前有一位微電腦的程式員對一位來拜訪他的大型電腦程式員說:“你看,在我這兒多好! 我有我自己的作業系統與案儲存設備,我不必與任何人共用任何電腦資源;軟體本身自給自足,而且容易使用。為什麼你不辭掉目前的工作來加入我們?”於是大型電腦的程式員就對他的朋友解釋:“大型電腦就像古之聖哲般的穩穩座落在資訊中心中央,磁碟一個接一個蔚為奇觀,軟體像鑽石般地有多種面目,像古森林般的濃密茂盛。各個程式像一片急流般地湧入系統,而這就是我在那兒工作的樂趣 。”
聽了這段話之後,微電腦程式員靜默無聲;但是這兩個人卻結為好友,至死不渝。
8.4 節
Hardware 與 Software 走在路上,Software 說:“你是陰我是陽,如果我們能一條心,一定會成大名賺大錢。”所以,他們就聯合在一起而想征服世界。走了一段路之後,碰到Firmware,穿得破破爛爛,拿著根柺杖,並且對他們說:“道在陰陽之外,寂靜不動如古井之不生波瀾;道不求名,故無人知曉其存在;道不逐利,因它圓滿無缺。道超乎時空之外。”
Hardware 和 Software 聽了之後倍感慚愧而打道回家。
第九部 尾聲
大師如是說:“這是下課的時候了!”煉鋼廠第二期工程報告
在繼上次更換了版面後,我繼續參考別人家的網誌來進行微調。
目的仍然是讓看的人覺得快,又很順。
而且文章要好找!
功能調整:
使用的 Blogger Hack 與外掛插件:
原本使用的懶人包,後來覺得會在一進來的時候,顯示所有文章內容後再隱藏起來。
看起來覺得不是很舒服... 所以就試試 abin 的。
修改成 abin 的版本 首頁長篇文章的收合 ,也就是可以用兩種 tag 。
雖然 abin 這個 hack 也會造成 blogger 在背景把它讀完。
但是可以讓讀者在連進來時,不會有一頓一頓的感覺而比較順暢。
標籤或搜尋頁面只列出標題 - abin ,可以和1配合,讓除了首頁之外,都只列出標題,瀏覽起來比較快。
但是,因為之前我有使用日曆的修改,所以造成排列有問題,只好自己再修一下程式碼了。
3. 摺疊 sidebar 的元素
大量使用 讓側邊列 (Sidebar) 的元件能夠展開和摺疊 (Element Toggling),把不用直接顯示的先蓋起來。雖然還是會讀,可是讀者看起來比較順。
和3的目的相同,讓某些元件只在首頁顯示。
當讀者進到文章內頁時,就可以比較清爽。比如像 MyBlogLog 這樣的大元件,在主頁之外不顯示。
側邊欄元件只能在首頁顯示/不顯示 - abin
為了方便讀者快速找文,一開始我增加文章日曆:
Blogger 專用的 Ajax 文章日曆 (Blogger AJAX Archive Calendar) - LVCHEN。
如此一來,再加上網頁存檔、標籤,可以快速找到所要的文章。
主要還是放在右上的最新回應、人氣排行,這是讓讀者可以有個參考。
但後來又看到一篇 我心中最理想的Blogger Archive日曆外掛 ,
是由 "網誌存檔" 元件修改而來,比 LVCHEN 的更適合我用!
所以我就換下來囉!而且 "網誌存檔" 和 "最新文章插件" 也就省掉了!
無意在 kate 介紹的 - 敗家誌中看到的,參考下列連結:
超炫的3D標籤雲(WP Cumulus)一步一步教你中文化移植到Blogger上
WP-Cumulus 3D標籤雲中文版
有點麻煩,但我覺得很炫。而且展示的意義大於實質用途 XD
成功的放上去後真的有種成就感呀 ^+++^
在第一次載入時,會一起顯示,之後就會變成分頁。
我現在的想法是用在連結的分類!
也就是把各種不同類別的連結 (親子部落格、好友部落格...等),用這個 Tab 集中起來。
使用者要切換分頁,速度也相當快呦!
調用jQuery特效實作(Tab控件篇)
版面調整:
伊斯法罕模板的欄寬比較讓我不滿意的地方,應該就是切成兩邊的sidebar。
寬度比較窄,很多外掛插件 (軌道啊,噗浪等) 要放上去,都會覺得很擠。
所以就找了一些資料,邊試邊改調到可以接受為止囉!
範本架構圖片 (可以看到哪些部分叫什麼名字)
擴展 blogger 版面寬度
修改blogger範本(2) - 改頁面寬度
blogger頁面寬度修改--心得
煉鋼業寬度修改
CSS中,
#blog-wrapper : 從 940px 加為 1024px (我的header image 是 940x250,所以要再加大) 不過標準上並沒有這個區,應該是此模板自己定義的吧?
#content-wrapper:928px 加到 1012px,就是中下方裏面這一整塊的寬度。
#main-wrapper: main是左邊這一塊本文區,620px 不變。
重點的側欄來啦!
#side-wrapper:右方側欄外框。324px 加大到500px。
#sidebar1:非標準的,此模板自定。是指正常側欄。268px,加大到340px。
#sidebar2 和 3:這就是切成左右兩個側欄的地方,各120px,加大到140px和180px。較大的一邊可以用來放軌道等插件。
下方的橫欄:
#lowerads-wrapper:920px,不知是不是倒數第二條那個較短的?可以視情況配合整體加長。
將一些不需要出現在主頁的插件,如噗浪、CBox 及 Google 留言板,都移過去變成連結。
這樣就不必在進入時花費許多時間載入了。
有需要的人自己就會去點,而連到另一個頁面 。
3. Header 重製
之前的是直接拿了可愛的照片就放上去,完全沒考慮配合版型,還有載入速度 orz
這次我就根據模板原有的圖片,等比例調整後。
再請鐵媽把選出來的成長照片,一個個整理上來。
這樣不僅可以看到小鐵的成長,而且也不會很突兀。載入速度也快!
按照載入順序由上至下,由左至右的原理。
這次選的模板就是讓 sidebar 放在右側和下面,也就是本文 main 會在 header 後第一個載入。
因為讀者要的就是內容,而不是那些有的沒有的元件。
再來是將讀者最需要的資訊 (如人氣排行、文章日曆,可以幫助尋找文章),放置在上方。
相當重要的社交工具 "部落軌道",當然也要放在明顯的位置。
其餘的儘量放置在下面。
廣告就不放了。在流量還不夠高之前,廣告根本沒有意義!
效能
使用 pingdom 進行測量。
在剛開始更換模板之後,全載入約24秒...
調校後,為 5~6 秒之間,幾乎快了四到五倍之多!
看來還蠻成功的啦,本文載入速度更是在2秒之內,也相當快 ^^
先醬
目前仍然不斷在微調一些東西,有進一步的成果再和各位報告了。
謝謝 Kate 給予的支援 ^^
目的仍然是讓看的人覺得快,又很順。
而且文章要好找!
功能調整:
使用的 Blogger Hack 與外掛插件:
1. 又是 "繼續閱讀"...
原本使用的懶人包,後來覺得會在一進來的時候,顯示所有文章內容後再隱藏起來。
看起來覺得不是很舒服... 所以就試試 abin 的。
修改成 abin 的版本 首頁長篇文章的收合 ,也就是可以用兩種 tag 。
讓圖少的文章直接讀進來再隱藏一部分,圖多的則改成連結。
雖然 abin 這個 hack 也會造成 blogger 在背景把它讀完。
但是可以讓讀者在連進來時,不會有一頓一頓的感覺而比較順暢。
2. 非首頁只列出標題
標籤或搜尋頁面只列出標題 - abin ,可以和1配合,讓除了首頁之外,都只列出標題,瀏覽起來比較快。
但是,因為之前我有使用日曆的修改,所以造成排列有問題,只好自己再修一下程式碼了。
大量使用 讓側邊列 (Sidebar) 的元件能夠展開和摺疊 (Element Toggling),把不用直接顯示的先蓋起來。雖然還是會讀,可是讀者看起來比較順。
4. Sidebar 元素的顯示控制
和3的目的相同,讓某些元件只在首頁顯示。
當讀者進到文章內頁時,就可以比較清爽。比如像 MyBlogLog 這樣的大元件,在主頁之外不顯示。
側邊欄元件只能在首頁顯示/不顯示 - abin
5. Ajax 文章日曆
為了方便讀者快速找文,一開始我增加文章日曆:
Blogger 專用的 Ajax 文章日曆 (Blogger AJAX Archive Calendar) - LVCHEN。
如此一來,再加上網頁存檔、標籤,可以快速找到所要的文章。
主要還是放在右上的最新回應、人氣排行,這是讓讀者可以有個參考。
但後來又看到一篇 我心中最理想的Blogger Archive日曆外掛 ,
是由 "網誌存檔" 元件修改而來,比 LVCHEN 的更適合我用!
所以我就換下來囉!而且 "網誌存檔" 和 "最新文章插件" 也就省掉了!
6. 3D 標籤雲 WP Cumulus
無意在 kate 介紹的 - 敗家誌中看到的,參考下列連結:
超炫的3D標籤雲(WP Cumulus)一步一步教你中文化移植到Blogger上
WP-Cumulus 3D標籤雲中文版
有點麻煩,但我覺得很炫。而且展示的意義大於實質用途 XD
成功的放上去後真的有種成就感呀 ^+++^
7. jQuery的Tab分頁
在第一次載入時,會一起顯示,之後就會變成分頁。
我現在的想法是用在連結的分類!
也就是把各種不同類別的連結 (親子部落格、好友部落格...等),用這個 Tab 集中起來。
使用者要切換分頁,速度也相當快呦!
調用jQuery特效實作(Tab控件篇)
版面調整:
1. 欄寬調整
伊斯法罕模板的欄寬比較讓我不滿意的地方,應該就是切成兩邊的sidebar。
寬度比較窄,很多外掛插件 (軌道啊,噗浪等) 要放上去,都會覺得很擠。
所以就找了一些資料,邊試邊改調到可以接受為止囉!
範本架構圖片 (可以看到哪些部分叫什麼名字)
擴展 blogger 版面寬度
修改blogger範本(2) - 改頁面寬度
blogger頁面寬度修改--心得
煉鋼業寬度修改
CSS中,
#blog-wrapper : 從 940px 加為 1024px (我的header image 是 940x250,所以要再加大) 不過標準上並沒有這個區,應該是此模板自己定義的吧?
#content-wrapper:928px 加到 1012px,就是中下方裏面這一整塊的寬度。
#main-wrapper: main是左邊這一塊本文區,620px 不變。
重點的側欄來啦!
#side-wrapper:右方側欄外框。324px 加大到500px。
#sidebar1:非標準的,此模板自定。是指正常側欄。268px,加大到340px。
#sidebar2 和 3:這就是切成左右兩個側欄的地方,各120px,加大到140px和180px。較大的一邊可以用來放軌道等插件。
下方的橫欄:
#lowerads-wrapper:920px,不知是不是倒數第二條那個較短的?可以視情況配合整體加長。
2. 上方的 LinkBar
將一些不需要出現在主頁的插件,如噗浪、CBox 及 Google 留言板,都移過去變成連結。
這樣就不必在進入時花費許多時間載入了。
有需要的人自己就會去點,而連到另一個頁面 。
3. Header 重製
之前的是直接拿了可愛的照片就放上去,完全沒考慮配合版型,還有載入速度 orz
這次我就根據模板原有的圖片,等比例調整後。
再請鐵媽把選出來的成長照片,一個個整理上來。
這樣不僅可以看到小鐵的成長,而且也不會很突兀。載入速度也快!
4. 元件配置
按照載入順序由上至下,由左至右的原理。
這次選的模板就是讓 sidebar 放在右側和下面,也就是本文 main 會在 header 後第一個載入。
因為讀者要的就是內容,而不是那些有的沒有的元件。
再來是將讀者最需要的資訊 (如人氣排行、文章日曆,可以幫助尋找文章),放置在上方。
相當重要的社交工具 "部落軌道",當然也要放在明顯的位置。
其餘的儘量放置在下面。
廣告就不放了。在流量還不夠高之前,廣告根本沒有意義!
效能
使用 pingdom 進行測量。
在剛開始更換模板之後,全載入約24秒...
調校後,為 5~6 秒之間,幾乎快了四到五倍之多!
看來還蠻成功的啦,本文載入速度更是在2秒之內,也相當快 ^^
先醬
目前仍然不斷在微調一些東西,有進一步的成果再和各位報告了。
謝謝 Kate 給予的支援 ^^
一個真正的強者
本文引用自huiya100 - 一個真正的強者
沒想到居然看到這個好文,好廣告!
我是邊看邊感動啊 ~~~~
一直想要收集這樣正面憾動人心的強者群像,終於開始第一篇了 ^^
英雄的繪卷 !
一個從小聾啞的女孩,懷揣著音樂的夢想長大,卻經常遭受姐姐的不屑與打擊。
正當她對自身的價值產生疑問的時候,一個流浪藝人告訴她:音樂,只要你閉上眼睛就能看見。”
兩人同時入圍音樂節,由於嫉妒和害怕,姐姐在比賽前雇人摔壞了妹妹的小提琴,打傷了一直在教導妹妹的流浪藝人。
自以為陰謀得逞,但是妹妹仍然出現在比賽現場,飛揚的卡農從殘破的小提琴中破繭而出,震動了所有人的心。
這是一部相當完整的濃縮版電影,伏筆,發展,轉折,高潮,典型的人物性格,激烈的矛盾衝突,可以說一切符合戲劇的元素都在本片中一一呈現。
開場的悲劇化色彩濃烈,聾啞的小女孩和落魄的流浪藝人同樣都是悲劇的代表人物。
而最後的高潮運用了很多意象化的景物,曠野,蝶化,朝陽,都預示了一個新的方向。
極具衝擊力的運動鏡頭,充滿情緒化的蒙太奇剪輯手法,和引導人物命運的卡農樂曲,都給這部影片賦以激昂的史詩感。
片子雖然是潘婷的公益廣告,但與宣傳的商業主體已無多大關係了,全片揭示的是一個勵志主題:
在困境中仍然能保持積極樂觀的人,才是一個真正的強者。
這個廣告正是在影射人生
最喜歡裏面聾女和那個賣藝老人間的對話:
“為什麼我和別人不一樣?”
“為什麼你必須和別人一樣?”
Who am I ? 我是怎樣的我? 是活在別人期待下承受巨大壓力的我? 還是活在別人陰影底下不敢抬頭的我?
沒想到居然看到這個好文,好廣告!
我是邊看邊感動啊 ~~~~
這根本是一部電影了呀 !!
一直想要收集這樣正面憾動人心的強者群像,終於開始第一篇了 ^^
英雄的繪卷 !
~大鐵
一個從小聾啞的女孩,懷揣著音樂的夢想長大,卻經常遭受姐姐的不屑與打擊。
正當她對自身的價值產生疑問的時候,一個流浪藝人告訴她:音樂,只要你閉上眼睛就能看見。”
兩人同時入圍音樂節,由於嫉妒和害怕,姐姐在比賽前雇人摔壞了妹妹的小提琴,打傷了一直在教導妹妹的流浪藝人。
自以為陰謀得逞,但是妹妹仍然出現在比賽現場,飛揚的卡農從殘破的小提琴中破繭而出,震動了所有人的心。
這是一部相當完整的濃縮版電影,伏筆,發展,轉折,高潮,典型的人物性格,激烈的矛盾衝突,可以說一切符合戲劇的元素都在本片中一一呈現。
開場的悲劇化色彩濃烈,聾啞的小女孩和落魄的流浪藝人同樣都是悲劇的代表人物。
而最後的高潮運用了很多意象化的景物,曠野,蝶化,朝陽,都預示了一個新的方向。
極具衝擊力的運動鏡頭,充滿情緒化的蒙太奇剪輯手法,和引導人物命運的卡農樂曲,都給這部影片賦以激昂的史詩感。
片子雖然是潘婷的公益廣告,但與宣傳的商業主體已無多大關係了,全片揭示的是一個勵志主題:
在困境中仍然能保持積極樂觀的人,才是一個真正的強者。
這個廣告正是在影射人生
最喜歡裏面聾女和那個賣藝老人間的對話:
“為什麼我和別人不一樣?”
“為什麼你必須和別人一樣?”
Who am I ? 我是怎樣的我? 是活在別人期待下承受巨大壓力的我? 還是活在別人陰影底下不敢抬頭的我?
有時上帝將我們打碎、為的是祂可以重新塑造我們。
願神賜福您
願神賜福您
訂閱:
文章
(
Atom
)