知識的積累

2021-03-31 12:49:46 字數 2539 閱讀 3314

最初認識darwin

的時候,我還是個沒畢業的新手。那時,我在公司做畢業設計,題目就是用c++對部門內已有的一套c的庫進行封裝。那套庫就是darwin開發的,這次封裝工作也是在他的領導之下進行的。當時,我對c++有著說不清的好感,心裡認定那是成為高手的必經之路,因此很樂於參加到這個工作之中。darwin當時的c語言已經達到了相當高的水準,而對於c++了解十分有限,大概比「c with class」高不太多,這一點從當時的討論上可以清楚的看出來。沒過多長時間,我驚奇的發現,他對於c++的理解一下子加深了許多,有許多他談到的東西已經不是我能夠一下子理解的了。又過一段時間,他開始給大家講設計模式,而之前他對於設計模式可以說是一竅不通,因為他看的是我買來後塵封許久的那本gof經典。我驚訝於他吸收知識的速度,不僅僅是簡單的學習,而是可以深刻的理解。

c++之父在《c++程式語言》第一章中,談及學習c++時提到:「你學習乙個新語言的方式依賴於你已經知道些什麼,還依賴於你的學習目的。」

作為乙個程式設計師,學習是生活中無可避免的部分。在面臨專案壓力時,通常學習的目的都是十分明確:解決遇到的問題。這時真正起決定性作用的基本上是自己的知識積累。工作幾年之後,我開始理解這一點。對於一些真正用到的新技術,大多數時候,我只是簡單的翻翻文件就可以拿過來用了;對於一些理念上的東西,也可以比較快的吸收理解,並能提出自己的一些見解。其實,並不是是我比畢業前後變得更聰明,而是我比那時接觸的東西更多。所謂的新技術大多**於已有的技術,有了基本的東西,面對新技術的時候,把它與已有的知識聯絡起來,在腦子簡單比較一些異同,就可以對這項技術的優劣有個認識,再加上專案的實踐,我便知道了這項技術運用在實際的專案中能夠解決什麼問題,比之從前的解決方案有何差異。

以我個人的一些經歷而言,知識積累的過程中,思考是非常重要的一環。孔老夫子幾千年前就教導我們說:「學而不思則罔,思而不學則殆」。在這個資訊**的年代,每個希望自己進步的人都會面對著一大堆要學的東西,盲目的學習,而不去思考,只會讓自己迷失於知識的汪洋之中。在學習的過程中,思考可以讓我們把新知識和已有的知識聯絡起來,這樣,新知識便也不在孤單,而已有的知識也常常能被催發出新的活力,二者彼此推動,加深知識的理解。

記錄,是促進思考的一種方式。我經常願意向別人推薦blog,因為我每次寫blog的過程都是我對乙個主題進行深入思考的過程,有意或無意。自己想明白是一回事,把它解釋明白又是另外一回事。當然,獨樂樂和與人樂樂還是有所差異的,乙個是加深自己理解,乙個是與人分享。侯捷先生曾借用過胡適先生的一句話,「發表是最好的記憶

」。,也許blog不比書籍、雜誌等**,也許我沒有那麼多的讀者,我並不在乎這些,德不孤,必有鄰,能與人分享就好。記錄的結果也常常使我有案可查。我的大腦能夠記得東西是有限的,許多細節都會隨著時間而消逝,知道**可以找到比記住全部細節更加有效。《惡鬥ejb》寫就之後,不知道有多少次被我重新檢視。記錄還可以比較好的鍛鍊自己的表達能力,誰說程式設計師只擅長寫**,寫文章和寫**一樣,只要多練習多思考,就能達到乙個不錯的高度,至於再進一步提公升,那就要看天分和造化了。^_^

交流,是另外一種促進思考的方式。從小我就是乙個比較願意表達自己觀點的人,工作之後,受darwin的影響,這方面表現的越加明顯了。交流之中遇到不同的觀點簡直是一件再正常不過的事了,畢竟大家經歷不同、對問題的理解不同,正是有了這些不同的觀點才使得交流更加有意義。和一些朋友討論測試驅動開發時,乙個一直從事測試工作的朋友提出的觀點讓我們幾個程式設計師覺得非常新鮮,而我們對測試驅動開發的討論也改變了他對單元測試的認識。只有從不同的角度理解問題,才能把問題看得更加的全面。有條件要討論,沒有條件創造條件也要討論,現在一些的條件使我與外界的程式設計師交流的機會並不多,所以,除了參與一些網上的討論之外,我們幾個關係要好的朋友也經常自發的組織起來,利用業餘時間進行各種各樣的交流。

知識的整理可以幫我理清胡亂的思緒。整理是乙個看起來容易,卻需要很大功夫才能完成的。martin fowler值得我們尊敬,並不是他有多麼偉大的發明創造,而在於他把一些知識(重構、分析模式、企業應用架構模式等等)很好的整理出來,讓後來者可以很方便的進行學習。以同樣方式讓程式設計師們敬仰的還包括整理出《設計模式》的gof。《**閱讀方法與實踐》的價值所在也並不是其中具體涉及的閱讀技巧,而是其對閱讀**所需內容做的整工作。

有了整理,與之對應就是摘要的工作。為什麼同樣的內容,有人寫了一本書,而有人用一章甚至幾句話就能夠把核心理念描述出來,這便是摘要的工作。榮膺第14屆jolt大獎的《測試驅動開發:使用指南》用了第二章一章的內容,把一些常用的重構手法點明。對於大多數的重構工作來說,這些內容基本夠用了,而對於重構,martin fowler寫了一本書。同樣用了一章來說明重構的還有robert martin的《敏捷軟體開發》,書中還用了一章說明了測試驅動開發。當年關於考試的教導中常有「把書讀薄,再把書讀厚,最後把書再次讀薄」的繞口令,其理念與此大抵相同。

談到知識整理,不由想起了資訊的整理。想必許多人和我一樣,硬碟上存了大量的資料。不過不知道你是否能在需要的時候,快速的找到自己所需的內容。小時候養成的習慣讓我很願意把自己的東西隨便亂扔,其結果經常是要什麼不見什麼。最初開始蒐集資料的時候也常常是信手放置,結果往往是不知道自己有了些什麼,用的時候也無處可尋。後來見founder_chen的資料整理工作做得相當的到位,需要時可以很輕鬆的找到,便也開始逐漸整理自己的資料,分門別類的進行整理,果然效果好了許多,以致於現在許多同事找資料的時候,首先考慮上我這裡來查詢。

不知不覺就著這個話題寫了這麼多,這應該算是我所作的又一次整理吧!

highcharts知識的積累

1,去掉右上角的 列印及其 匯出按鈕 exporting 如果不設定時,預設為顯示。2,去掉 右下角的highcharts.com需要 加入以下 內容 credits datalabels style 4,pointpadding 解釋 控制每列之間的距離值,當highcharts圖表寬度固定的情況...

poi知識積累

匯出需要的頭 response.setcontenttype octets stream charset utf 8 需要匯出的 型別都是可以在tomcat conf下的web.xml中找到 response.setheader content disposition attachment file...

Machine Vision知識積累

注.本部分 以下鏈結 工業相機與工業鏡頭 光源 感測器 影象採集卡 pc平台 視覺處理軟體 控制單元 漢王mvstudio visionpro cvl 康耐視 evision 比利時euresys公司 labview vision mil機器視覺庫 加拿大matrox image library h...