Google Prettify

2009-06-24

SpaceSniffer

前兩天要抓個電影,卻發現硬碟空間不夠;真不知道我的硬碟放了些什麼東西。剛好有看到阿榮有在介紹一款軟體:SpaceSniffer,有試用了一下,覺得還不錯用。如果有要知道自己硬碟裡裝了什麼(大便??)的人,可以裝這個來用。阿榮也提供了免安裝的版本。

2009-06-17

解決實際問題是創造知識的重要途徑

解決實際問題是創造知識的重要途徑
2009-06-17 工商時報

在知識經濟時代,大家都知道應不斷吸收新知,才可能對社會與組織產生貢獻,並藉以獲得本身的生存立基。從小學教育開始,我們根深柢固的信念認為,讀書是吸收知識的最重要途徑。從「讀書」所衍生的聽演講、參訪、向專家請教等類似活動,也都因此被視為吸收新知的核心管道。

 然而略為深入想一下,就會感到好奇:既然「書」或「好書」是知識來源,那麼這些書是從哪來的?誰在寫書?作者依據什麼寫書?如果每本新書的寫作過程只是不斷地重組既有書籍中的觀點與道理,則「知識創新」的心智過程是什麼?如果所有的書或文章只不過是抄來抄去,那麼人類社會的第一本書是如何創造出來的?

 這些問題的答案其實非常簡單:人類是在不斷解決問題的過程中,建立及累積經驗;從許多經驗中歸納出原則,這些解決問題的原則就是「知識」。進一步將知識整理成文字,就成為文章或書籍。書中文字記載了前人的經驗與所歸納出的原則,後人讀了這些書,在決策與行動時就可以想得更深入周詳,減少犯錯的機率。

 從上述說明,可以獲得2項推論。第一,文章、書籍,乃至於「學理」,不過是前人經驗的歸納結果,深入吸收,必然有益,甚至不可或缺,然而它們並非絕對的「真理」,必須活學活用、選擇吸收,並且持續地修正補充。第二,必須經常投入精神於實際問題的解決上,才能創造知識。事實上,這2件事是相輔相成。

 例如,「作業研究」是為了解決二次世界大戰的軍備運籌問題而發展的學問;總體經濟是為了解決景氣波動而興起的知識;在企業管理領域中,從行銷、策略到財務、人事,沒有一項不是植基於真實組織中的問題。

 所有的「學理」,一方面試著提出解決問題的有效方法,一方面也在觀念層次上,探討這些問題與解決方法之間可能的因果關係及背後的道理或通則。解決實際問題的過程中,不能不參考前人的經驗,因此一定要以人類現存知識為基礎,也就是應該「讀書」。然而既有的知識或學問,未必能解決眼前的問題,因此在努力解決問題、克服問題的過程中,又會想出新的、不同於過往的經驗,這就是知識創造的開始。

 將這些經驗或知識以文字記錄或口述流傳,就是知識的累積與傳播。所謂學術研究,簡言之,就是以系統化方法去觀察、記錄、整理、累積這些經驗,並對過去大家解決問題的成敗經驗,做一個小結。

 近年許多教師或學者並未重視以上描述的知識創造過程,因而在知識創意上產生瓶頸,也由於不習於嘗試解決實際問題,以致經由讀書所吸收到的學理,不易內化為自己的思想。長年「轉述」前人的論述,結果之一是:學者在思考力與創新力上,可能尚不及某些終日在實際問題中歷練的企業經理人。尤其當後者有思考與反省的習慣,並有高度的學習動機時,更是如此。

 在商管教育中,日益受到重視的個案教學,一方面提供學生解決問題的機會,一方面也為教師提供機會觀察別人分析問題的思維歷程,而且在個案討論過程中,每一回合的師生對話,對負責引導討論方向的教師而言,其實也是一個解決問題的實驗場。

 在個案研討中,有些教師偏好要求學生針對問題,「套用」某一既有理論來解釋現象或提出解決方案,長期而言,這種方式無助於解決問題能力的提升。類似在企業界,僅要求基層員工熟記SOP,並嚴格落實來做事。久而久之,員工變成只會記誦,不會思考,也不會因應新的問題形勢從事創新。基層員工也就罷了,若學校教育只教學生熟習現有的「理論」,並侷限於從中選擇方案來解決問題,將來我們勢難自行在知識上有所創新,永遠要從外國人的書本或文章中吸收新的想法,而成為先進國家「知識產業」的下游或客戶。

 從企業界到學術界,大家應該勇於走出自己習慣的場域,減少對現有解決辦法(或理論)的依賴,面對新問題,試著解決新問題,才有可能擁有自行創造知識的能力。(作者為政大企研所教授兼財團法人商業發展研究院董事長)

2009-06-11

Conversion Error setting value "{0}" for "{1}

在寫JSF時,有時候會遇到一些言不及意的錯誤訊息,在這種時候,就算知道在那一行出錯,你也很難看得出來這錯誤是什麼。

2009-03-16

Oracle Join 分類

在Oracle的文件中將join分為下列幾類:
  1. Equijoins:
  2. 就是指一般的select from T1, T2 where T1.C1=T2.C2...。
  3. Self Joins
  4. 自己join自己。
  5. Cartesian Products
  6. 傳說中的卡迪生乘積。就是from T1, T2而不加其他限定條件。這種join方式會有MxN筆數出來,實務上一般也不會用這種。為什麼ANSI sql會有這種用到現在還是個謎...。
  7. Inner Joins
  8. 效果與equijoin相同。
  9. Outer Joins
  10. Outer join分為LEFT [OUTER] JOIN, RIGHT [OUTER] JOIN 2種。 即使某一邊的值為null仍會帶出另一邊的記錄。
Outer Join是很常用的join方式,但是foreign key會對應不到primary key這原本就是不太合理的事...。這就好像說課程表對應不到授課老師一樣;通常是在開發時期,授課老師的基本資料尚未備齊。Oracle建議使用在where 條件中使用(+)運算子來代替outer join 語法。當使用left join時,(+)是加在等號右邊,例如
from T1 left join T2 on T1.C1=T2.C1 lfet join T3 on (T1.C2=T3.C2 and T1.C3=T3.C3)...
等價於
from T1,T2,T3 where T1.C1=T2.C1(+) and T1.C2=T3.C2(+) and T1.C3=T3.C3(+)...

2009-02-25

調整Weblogic中的記憶體?

關於這點, 看過網路上很多文章, 介紹修改變數MEM_ARGS
set MEM_ARGS=-Xmx1024m -Xms512m
或是說設定參數
-Xmx1024m
我先來談談第一種方式。(第二種方式不會談, 因為沒試過。)
原本以為在startWeblogic.cmd當中加一行
set MEM_ARGS=-Xmx1024m -Xms512m
就可以了。但是事實上似乎沒那麼簡單。就結論來說,正確的設法應該是在commEnv.cmd中修改MEM_ARGS設定。我使用的是sun的JVM,就修改sun那段。若使用jrockit當然就改bea那段。
:sun
 if "%PRODUCTION_MODE%" == "true" goto sun_prod_mode
  set JAVA_VM=-client
  set MEM_ARGS=-Xms32m -Xmx1024m -XX:MaxPermSize=128m
  set JAVA_OPTIONS=%JAVA_OPTIONS% -Xverify:none
  goto continue
:sun_prod_mode
 set JAVA_VM=-server
 set MEM_ARGS=-Xms32m -Xmx1024m -XX:MaxPermSize=128m
也有人說改setEnv檔也可以,不過我沒試過。很明顯的,針對一些變數值,即使在startWeblogic.cmd中設定過後,最終會被其他的設定蓋過去。
第二種設定(還是談到了)則是直接更改JVM option的參數(不過我沒試過)。
測試環境是Weblogic 8.1.4。
這篇文章中有針對JVM記憶體做了還不錯的說明

2009-02-02

新年四處走

    新年終於結束了。這幾個幾禮拜,時常到台灣各地去做2天1夜的旅行。雖然行程不是我安排的,可是我卻蠻喜歡這樣的行程: 慢慢的走、以看風景的為主的行程。這樣的行程第一個好處,除了不會太趕,第二個好處: 由於是以欣賞風景為主,因此花費並不高。

您或許對這些有興趣

最後

謝謝您的閱讀,希望您可以有豐富的收獲。