2008/06/18

重新安裝IE瀏覽器

1.將Windows XP安裝光碟放入光碟機中,然後按下【開始】→【執行】,在「開啟」方框中輸入「rundll32.exe setupapi,InstallHinfSection DefaultInstall 132 %windir%\Inf\ie.inf」,再按下〔確定〕。

2.接著畫面上會出現「必須的檔案」對話盒,這時必須從安裝光碟指定需要的檔案,先在〔瀏覽〕上按一下滑鼠左鍵。

3.切換到安裝光碟機中的「I386」資料夾,然後點選「IEXPLORER.EXE」檔案,再按下〔開啟〕,如此就可以順利重新安裝IE瀏覽器了。

2008/06/16

研究生的學習與訓練

一,前言:
又到了碩士班、博士班入學,尋找指導教授的時間,我很喜歡和同學分享經驗,但似乎最有效率的作法,是把他寫下來,讓有興趣的同學參考。這篇文章是希望整理自己在研究道路上的一些體驗,絕不是什麼定律,也絕不適用於每一個人,只是分享一些經驗,給同學一些參考或是借鏡。

二,瞭解自己的需要和目的:
說到研究生的學習與訓練,應該打從有了繼續深造的念頭說起,為何要花兩年時間唸個碩士,花個3-5年唸個博士呢?是因為大家都唸,不唸很奇怪?還是想要有多點收入,以後升遷容易?還是真的想從研究生的訓練裡來提昇自己的能力。我覺得首先必須清楚自己要的是什麼,唸個學位帶給自己的又是什麼?如果期待碩士帶給你的是加薪,升遷,我想念碩士應該不是一個最有效率的投資。對我來說,研究生是一個訓練,訓練自己更有效率地使用知識與資料,更有效率,更有系統,更科學的發現與解決問題。這個訓練的結果或許會反應到未來工作的選擇,工作內容上,但我相信這只是這個訓練的結果而不應該是碩士班訓練的目的。這個訓練是辛苦的,絕不是把24個學分的課修完,論文一交就結束了。如果你踏入研究所抱持跟我一樣的態度,是來訓練自己使用知識,瞭解與解決問題的能力,我想做為研究生的第一步,應該是讓自己隨時隨刻知道自己在研究生的訓練過程中該努力什麼,時時地警惕有無做到這樣的訓練。

三,找尋適合自己的研究環境:
決定了繼續深造這條路,接下來就是找一個適合自己的研究環境,現在爭取學校入學資格的方式與途徑很多,很多人都可以擁有數個選擇的機會。我想許多人面對的問題就是學校和指導教授的選擇,有人考慮延續大學的專題,繼續留在系上,有些人則選擇出去闖一闖,開拓自己的視野。我的看法是,環境影響一個人,如果說大學的環境會影響大學生的風格與氣質,那實驗室將影響研究生的研究能力與態度。研究生與指導教授,實驗室伙伴的關係遠遠超過學校對研究生的影響,所以大部分的人都會同意我說,碩士班或博士班的訓練應該以指導教授和實驗室為選擇的主要考慮,所以找一個適合自己的指導教授和實驗室是很重要的。在這裡我說”適合或不適合”,應該是從自己學習的個性,指導教授訓練的方式與專業能力,實驗室專長與研究重點,實驗室其他成員的程度與軟硬體設施幾個方面來考慮,在說明尋找一個適合自己的環境之前,請容許我就個人的經驗來談談到底什麼才是選擇環境的主要考慮。我覺得指導教授是重要的,因為他影響實驗室的風格和你之後兩年的訓練,實驗室同儕是重要的,因為人多半近朱者赤,環境帶給人的影響通常遠比自己帶給自己的影響來的大很多。指導教授的重要,並不全然取決與指導教授的專業能力,而是在學生與老師互動的關係上,適合自己的老師遠比能力強的老師來的有影響,所以並不見得到其他的學校,找其他的老師會比留在系上跟自己熟悉的老師來的有幫助。但是值得注意的是,在選擇任何環境之前,必須思考這個環境帶給自己的優缺點是什麼,什麼是這個環境所缺乏而你又希望在碩士班的訓練中得到的。舉個自己的例子來說,我當年選擇繼續留在系上讀碩士班,博士班,是因為我對系上的環境和老師十分熟悉,幾乎不用花任何時間在適應環境上,可以把所有的時間投入做研究或訓練自己的其他能力,但我知道我缺乏國際觀的訓練,所以我時時刻刻注意自己的英文能力,爭取參加國際會議的機會,我知道我缺乏大環境的衝擊與刺激,所以我利用研究之餘的時間到中研院,工研院工作,學習不同的工作方式,工作態度與專業技術。尋找一個好的環境是極為重要的,在已經選定的環境中,因應客觀環境訂定適合自己的學習方法和方式更是重要。所以我必須要說,找一位和自己學習方式,態度能配合的老師是重要的,如果你很清楚自己獨立慣了,希望能走出一條自己的路,不妨找一個可以讓你大顯身手的老師,如果你需要嚴格的訓練,那不妨找一個要求嚴格,已有一條明確道路的老師。所以很清楚的要找一個跟你能配合的老師,我想很多人都會建議,不妨在選擇老師之前,和老師談談,和實驗室的同學,學長談談,我想更重要的事情是搞清楚自己的研究態度和學習方式,才能找到一個適合自己的老師。

四,改變吸收知識的方法:
決定了繼續深造也找好了學校老師,接下來就是進行一連串的訓練,研究生的訓練因指導教授而異,因人而異,也因研究領域而有不同,在這裡只是試著列舉些個人經驗和大家分享。在大學時代,我幾乎是跟著老師跟著課本,一步一腳印地學習所謂的基本知識,到了碩士班,我吸收知識的方式有了很大的改變,我幾乎沒有看完任何一本書或是論文(其實在大學時代我也沒有好好看完一本書),吸收知識的方式幾乎都是問題導向,遇到一個問題,思考一個問題,尋找跟這個問題有關的資料,閱讀和這個問題有關的章節,舉個例子來說,我不瞭解PC的開機程序,我想知道從我打開電腦電源直到Windows 2000提示我輸入帳號密碼之間發生了什麼事情,我找了有關於PC,Windows的所有資料開始閱讀,做些實驗,我慢慢瞭解開機之後大概會先做執行 BIOS,POST檢查等等,完成之後會檢查硬碟分割表,在執行Windows開機,我發現我對BIOS那段還不是很確定,於是我繼續尋找PC BIOS的程序與資料,繼續展開問題,繼續研究。所以我不斷的展開問題與學習,我看了很多書的很少部分,可是讓我對一件事情,一個問題有完整的認識與瞭解。這樣以問題為導向的吸收知識的方法是我在研究生的訓練過程中常常使用的,比較有效率,但是必須建立在對專業知識有基本的認識之上。

五,蒐集與整理資料
研究生蒐集與整理資料是基本能力,現在蒐集與整理資料比起我那個年代(雖然沒有差幾年)是方便多了,我以前幾乎一個星期要跑圖書館數十次,西文期刊室,微片光碟閱覽室是我流連的地方,現在網際網路發達,上Google,IEEE Explorer隨便一個Key Word都可以找到一堆的論文,報告,資料的蒐集方便,來源非常多,相對起來資料的整理便顯的更加的重要,看完資料不加以吸收整理,時間一久,其實跟沒看沒什麼兩樣,花十分鐘的時間看資料,也花十分鐘的時間整理資料是有必要的。把資料讀完,用自己的文字記錄自己所得到,是一件一定要做的工作,以前我學長教我每讀完一篇資料,在筆記本上紀錄這篇資料的重點,和對於這篇資料的一些有系統或是隨意的想法,定期的閱讀這些想法和資料將有助於研究,事實證明這樣的方式幫我整理出了許多研究的問題與解決方法,更進一步,我現在我在電腦上做資料的整理,慢慢建立一套屬於自己的資訊庫系統,一個研究課題,一個技術,可以透過一個自己熟悉而且有效率,有系統的方式找到,一些隨意的想法,和一些片段的研究過程可以透過這種方式保存與重新咀嚼。此外國內外相同領域的實驗室,會議,論壇,研究人員的整理也是必要的,透過與國內外專家的討論,使遠比埋頭苦讀來的有效率的。在這裡有個重點希望和大家分享,身處與資訊爆炸的時代,資料的整理遠比資料的取得來的重要,不經整理的資料,永遠都只是資料,不是知識,透過同儕或是相同領域專家的激盪與討論,遠優於埋首苦讀。

六,學習思考:
剛剛提到閱讀資料和整理資料,一個很重要的關鍵在於閱讀資料和整理資料都需要思考,思考是需要學習的。我常常覺得國內教育最值得爭議的地方在於對思考的訓練不夠(最少在我那個年代是這樣),我在國中的時候幾乎可以看到題目的前幾個字就可以作答,很多時候我根本不知道問題,就已經有了答案。我常常以為知識的可貴在於知道問題,而不是知道答案。以答案為導向的訓練會讓人喪失發掘問題與思考的能力。希望大家沒有這樣的困擾,如果有,則需要開始學習思考。我前一陣子幫華碩R&D的工程師上課,課後他們希望我可以與他們分享一些學習上的經驗,我以一句話和他們共勉~”資料和知識最大的差別在於,資料是別人整理的,知識是自己整理的。打開書本閱讀和閡上書本思考是一樣的重要。”看完資料,閡上資料,先別管別人的方法是什麼,先問自己讀了什麼,問題是什麼,如果是你,如果解決,想不出方法了,再看看別人怎麼做。所以我看論文是三段式的,先試著瞭解問題,放下論文,思考問題,如果問題有意義,我需要,我開始思考如果是我,我怎麼做,經驗告訴我常常”我的解決方法”,和”別人的方法”相似,但是那是我的解法,是經由我大腦思考出來的解法,如果想不出方法,在去看論文的後半部,思考他的方式和技術,第三個階段則是瞭解完問題和答案後再回去思考問題本身,常常你會發現其實還有問題。我不是什麼聰明的人,如果我是這樣,我相信工科系的其他學生也會如此。我記得學弟曾經問我,在碩士博士期間,需要看多少論文,我看了多少論文,答案是我真正看完的論文少的可憐,絕大部分的論文只看 Introduction就停下來。但是重點是我花了遠超過讀論文的時間在思考論文想要討論的問題。

七,發掘問題:
以前聽過一個故事是這麼說的,一個東方的小孩回家,父母會問他的小孩,今天在學校回答了幾個問題,一個西方的小孩回家,父母會迫不及待的問他,今天在學校問了幾個問題。我們受的訓練的確是這樣的,是一個回答問題的訓練,當然這無所謂對錯,只是訓練的方式不同,回答問題和提出問題都需要思考,但是沒有經過思考的答案和問題都是沒有意義的。在研究生的訓練過程中,學習發掘問題是重要的一環。如果你問我,我如何找問題,如何知道什麼才是有意義值得研究的問題?我的答案是這也需要訓練,我常常從別人的研究裡找問題,這也是許多過來人給的意見,但我也從自己的研究和自己的工作經驗裡找問題,我常常覺得問題通常是遇到了才知道,所以有些人建議讀碩士前應該有工作的經驗,因為從工作之中,你才會遇到問題,才會逼迫著你去找尋答案,在學校,你通常在看到問題的同時也得到了答案,所以對於發掘問題的訓練,我覺得一方面從別人的研究與經驗獲得,也可以透過動手的經驗(比方說碩士課程中對於Project的研究)找到靈感。 Well define你的問題和問題的發掘一樣的重要,任何一個問題都必須瞭解前因後果才有意義,無病呻吟的題目雖然可以完成論文,但不會有意義。在國外技術人員在解決問題之前,一定作兩件事情,一是Problem Statement,清楚定義你的問題,二是Requirement Statement,說明你要Target的目標。任何問題都需要明確的描述,才能確定問題的Target和目的(Objective),不然往往你會花了很多時間作一個問題卻被一個很簡單的假設所擊倒。

八,建立模型,尋求解決方法並科學化地驗證:
清楚地瞭解問題,接下來就是替你的問題建立模型(Model)並找到解決方法,能否有效率,科學地找到一個方法或是給予問題適當的模型,或是開創自己的一套理論系統,常常需要仰賴基本知識的根基,把一個問題用科學化或數學化的方式描述和定義有助於思考問題,但建立模型需要基本知識的根基和訓練,並沒有一定的規則或方式可以遵循,在研究生的訓練過程中,科學化系統化的建立問題模型,並找到答案也是重要的訓練。有了模型,有了方法,接下來需要驗證,系統化的驗證在科學的過程中是非常重要的一環,如果一個方法比另一方法好,則必須需先訂出比較的方法,最好有科學的量測方式和參數(Index),有一般解或是 Close Form當然最好,或者是實驗或是模擬證明都是一個完整研究所不能或缺的。研究的過程一個Iteration,所以在任何一個點,都需要重回前一步驟或是最先的步驟來重新思考,檢查,或者是從新來過,透過研究過程數個步驟的反覆進行,才能使研究趨於完備。

研究生的訓練當然不僅與如此,拉拉雜雜說的一大堆,希望對大家有些幫助,剩下的部分需要大家自己去思考,去發掘,我就在此打住,最後和大家分享一些自己的零碎經驗,希望對大家有幫助。

第一,人是習慣動物,要試著養成好習慣:讀書,作筆記,思考,生活作息等等,我記得曾經過了一年十分有規律的生活,早上6:00起床,跑步到8:00, 9:00上班,5:00下班,7:00坐上書桌聽一個小時英文,8:00-12:00寫論文,在那一年裡面,我寫了20多篇論文,完成了博士班絕大部分的工作,我並不特別,而是持續而規律的習慣是很驚人的,別忘了如果我第一天給你一塊錢,之後每天給你前一天1倍的錢,如果你在連續第29天都拿而在第30天放棄,那你第30天損失的將超過你前29天的總和,學習也是這樣子的。

第二,時時警惕自己:辛苦工作不見得會成功,但是成功的背後一定是一段辛苦的過程,如果你覺得生活過得很愜意,你也許需要警惕自己是否鬆懈,當然並不是研究生都必須過得很辛苦,而是陶醉在研究的同時,通常在別人看事件很辛苦的事。訓練的過程中,別給自己太多的藉口,也別輕易放棄。

第三,從失敗中學習經驗,在逆境中成長:人要從成功的例子裡學到什麼我覺得很難,通常都是從失敗的例子裡學到東西(因為那會痛,會有深刻的印象),研究的過程中就好像人生,不可能一直順遂,你必須對時常發生的艱苦狀況有心理準備,並學著從逆境中爬起,我常常跟學弟妹說,如果你在學習的過程中覺得很難過,很痛苦,很沮喪那是必然的,因為每個人都是這樣,沒有人例外。放棄問題,你會不再痛苦,但你也享受不了挑戰問題之後的喜樂。我記得我碩一的時候到工研院報告我的一項研究成果,幾乎被評審委員批評的體無完膚,在之後的三天裡我幾乎食不下厭,一言不語,三天之後,我想出了解決方案,我不應該放棄,我應該正視我研究上的缺失,改進問題,直到現在為止我再也沒有遇到這樣的困境,我在博二暑假的時候,獨自到美國Bell Lab.工作,我在美國沒有親友,也是第一次到國外工作居住,剛去的前幾週,我必須自己處理工作,生活(或者我應該用”生存”更貼切些)的所有問題,工作的壓力和自我的要求讓我常常躲在房間,面對窗外,一面想家,一面痛恨自己沒事幹嘛來這裡受苦受難,但幾週之後,我開始感謝我當時的”錯誤決定”,在美國的那段時間可以說是煎熬,但是也學到很多。人深處逆境,在受苦受難的時候應該高興才對,因為你在之後的某一時刻會發現,這一切都是最好的安排。

第四,勇於接受挑戰:我說YES的次數,遠超過NO的次數,雖然有時候不知道如何說NO會把自己弄得很辛苦。但是勇敢接受挑戰是很重要的,有了較多的經驗與歷練,就會有更多成功的機會。在許多時候,不需要計較事情做多做少,也無須計較是誰的工作或是誰的成就,經驗與歷練是沒有人可以從你身上拿走的。勇於把自己丟在一個惡劣的環境,一個嚴格的環境和監督之下,把自己的研究丟出來讓大家批評,勇於接受挑戰,我常常覺得如果我25歲跌倒,可能爬的起來,但是我 52歲跌到,可能就很辛苦了。勇於接受挑戰,勇於嘗試自己沒有的經驗和歷練,用樂觀積極的態度面對困難,這是我在研究生和在工作上抱持的態度,也希望和大家共勉。

2024年React state management趨勢

輕量化 在過去Redux 是 React 狀態管理的首選函式庫。 Redux 提供了強大的功能和靈活性,但也帶來了一定的學習成本和複雜度。 隨著 React 生態的不斷發展,越來越多的開發者開始追求輕量化的狀態管理函式庫。 Zustand 和 Recoil 等庫以其簡單易用、性...