jim yeh on 二月 27th, 2009

上週六和老婆帶女兒到醫院,做川崎症後續的追踪。回程坐公車下車後,老婆說要去主婦聯盟買點東西,然後在付帳時卻發現錢包不見了。 老婆回到可能遺失錢包的事發現場-新光醫院附近的店家與公車站去找,都沒有發現錢包的踪跡。還好最後就在我們打算放棄尋找之際,收到警察局通知錢包被人拾獲。老婆錢包失而復得,但過程卻令人虛驚一場。

Continue reading about 老婆錢包失而復得

     
jim yeh on 二月 19th, 2009

最近接受占星啟蒙恩師的邀請,在丁長青占星及網路五術學院開設身心靈健康的主題式占星,這篇文章即為討論此主題的身心靈占星討論區的開版文。 如果有人問到學習占星最值得懷念的事情,我會毫不猶豫地回答:與丁老師一起研究健康及心理與占星的過程。那一段歷程,是非常令人回味的,原因不只是成功結合醫學與占星的成果,更難能可貴的是過程的成長,讓人覺得充實而又有意義。 同人想到庖丁解牛的故事;我們要解決生活的問題,乍看繁複,實則有脈絡可尋,只在於我們是否掌握循著脈絡解決問題的要領。占星學,提供一以貫之的觀點

Continue reading about 身心靈健康占星學

     
jim yeh on 二月 6th, 2009

根據筆者軟體專案開發的經驗顯示,團隊成員能力不足或是其心態有問題的情況並不多見,多半是專案經理無法讓團隊發揮實力。所以當專案一再出現相同的錯誤時,專案經理應該先思考是不是自己的領導能力出了問題。

Continue reading about 當專案一再出現相同錯誤時

     
jim yeh on 二月 4th, 2009

聖嚴師父對 2009 年的新春祝詞是「心安平安」,他認為過去一年的驚濤駭浪,代表 2009 年將充滿希望。對未來懷抱著希望,並好好地安頓的身心,生活就會因此而改觀,也就是「只要心安,生活就會有平安」

Continue reading about 心安平安

     
jim yeh on 二月 3rd, 2009

在〈開發者的 common sense〉的留言中,同人看到一些網友的批評。我發現這些批評顯示了有些開發者不擅於抽象化思考,而習慣於用經驗法則來取代思考。然而,誠如 Brooks 所言:「軟體的本質是複雜的,而不是偶然發生的」對治複雜度本來就是開發者的天職,而軟體開發的抽象化思考則是其用以統理複雜度的利器。由此看來,那些網友的批評著實令人為他們捏一把冷汗呀。 從路邊的垃圾桶與路人的留言,我們可以發現他們弄錯 common sense 的意思。他們認為 common sense 不能一概而論,因為每個人的 common sense 都不同。但這樣的觀點令人感到疑惑,如果每個人的 common sense 都不一樣,所以無法一概而論,那這種 common sense 還能叫做 common sense 嗎? 到底他們觀點上邏輯的矛盾,問題是出在那裡呢?同人認為問題並不是開發者的 common sense 不存在,而是忽略了開發者應該將經驗化成一般性的通用概念。舉例來說,軟體工程領域本身就是從實務發展出來的理論,其中許多概念就是開發者必須知道的 common sense,對開發者來說是合理的知識,也是他們都知道、無須解釋或加以論證的常識。 由此可知,如果開發者缺乏一般性的通用概念,那他碰到問題就很難舉一反三,自然也就難以掌握重點,而只能依據表相來處理問題,往往使得問題變得更複雜。oofunp 的留言就很像欠缺概念思考的開發者常見的反應,一開始以自己熟悉的技術來看問題,最後才發現自己對問題的理解是錯誤的。尤其「以為抽象化是將資料庫定義抽象化」的想法,更是整個弄錯抽象化思考的意義,結果最後他還是誤解了業務規則的意思。 同人前一篇文章所提到的業務規則,並非來自技術領域上萬用的設計,而是對問題領域經過抽象化思考後,所萃取而得到可以解決業務需求的重要概念。顯然 oofunp 的誤解是以技術的角度來看待抽象化思考,才會產生嚴重的觀念混淆。事實上,抽象化思考重視的不是技術實作,而是如何從實際問題當中萃取出重要的抽象概念,以增進我們對問題領域的瞭解,才能採用最適當的技術來開發軟體系統。 此外,過份強調技術經驗而輕忽概念性思維的開發者,很容易表現出自己對問題的盲目。就像 X files 留言的批評一樣,責怪同人沒有交待清楚是 XML 格式的問題,直到別人提出質疑才說明與列出參考文獻,認為同人缺乏部落格文章寫作的 common sense。但我的文章已經很清楚地提到是有關「交易訊息」語法的問題,難道他不瞭解交易訊息是 XML 技術的一般化抽象概念表述嗎?XML 只是實現交易訊息概念的一種技術,用以解決跨系統整合的問題。如果他要看到 XML 字眼才知道是訊息格式的問題,那改天換了另一種交易訊息的實作方式,我想大概他腦筋又要轉不過來了吧。 以上網友的三種批評,表面上看起來好像是不同的問題,但其背後都存在同樣的本質,那就是從交易訊息的問題中可見一斑,他們無法以抽象性思考來看待軟體開發的問題。但為什麼開發者需要抽象化思考呢?

Continue reading about 訊息交易的抽象化思考