程式設計師知識管理

2021-08-30 04:30:58 字數 2483 閱讀 4943

個人知識管理(personal knowledge management):一般指個人通過工具建立知識體系並不斷完善,進行知識的收集、消化吸收和創新的過程。

計算機行業的乙個特點是新技術更新特別快,意味著程式設計師需要不停地學習,才能跟上行業的發展。所以,知識管理對程式設計師非常重要。有意識,成體系地管理知識能夠:

程式設計師的知識獲取途徑大部分來自於搜尋引擎(谷歌可以提高搜尋效率)和技術書籍,這與其他行業不同。主要原因是技術知識乙個主要**是網際網路,例如說技術部落格,技術文件等。因此,程式設計師的知識管理主要圍繞網際網路展開(並不意味著書籍就不重要)。

我把程式設計師的知識管理分為三個過程:

想想我們習以為常的知識積累方式有哪些?也許記筆記是我們最常用的一種。對於程式設計師來說,用筆記錄筆記並不現實,我剛學 c++ 的時候就是把語法記在筆記上。實際上,這種做法是很低效的。更有效的方法是用筆記軟體幫我們記錄文章。例如說,印象筆記,有道筆記等。

一開始我看到好的技術文章時,都是加書籤存起來。後面發現這樣不能離線訪問,而且鏈結可能會失效。後來用上了筆記軟體,於是我可以把文章儲存到筆記中,隨時可以翻出來看。可以說,筆記軟體給知識積累帶來了極大方便,同時可以分類管理不同的知識。

知識積累難在養成積累的習慣。以前我解決某個問題,谷歌了很久找到一篇文章解決了問題。解決之後並沒有記錄下來,結果下一次遇到同樣問題,我又浪費了很多時間搜尋解決方法。重複多次之後,我意識到這是個嚴重的問題。所以逐漸養成了儲存各種文章的習慣。這些網上積累下來的文章,成為了我知識體系的土壤。

現在開始,使用筆記軟體分門別類地儲存網上看到的文章,這裡要著重強調一下分類的重要性,好的分類可以節省你以後重新檢索文章的時間,不要把時間浪費在不必要的勞動上。筆記軟體一般都會提供瀏覽器外掛程式,儲存起來是很方便的。

我自己經常遇到這樣的情況:要用到某個 linux 命令的時候,經常大費周章地去搜尋。有人說直接查 man 手冊不是很快嗎?確實查 man 手冊比查搜尋引擎要快,但是有兩個問題:一是看了 man 手冊的命令語法,我還得試試看;二是如果我不知道命令的名字怎麼查 man。所以,最快的方法不是搜尋引擎,也不是 man 手冊,而是個人 wiki。

與大家平常所知的 wiki 不同,個人 wiki 主要是用來記錄知識碎片的,例如說:某個常用命令的語法,特定的軟體配置等等。如果還是不理解,可以看看我的個人 wiki。這些知識碎片是我們初步消化的知識,只不過因為太過碎片,不能夠組成完整的知識體系。很多人以為把看到的文章儲存到自己的筆記裡面,就有一種已經掌握它的錯覺,結果儲存了成千上百的文章,卻一篇都沒認真看完。別人的文章是他的知識沉澱,並不是自己的。隨時把文章中的精華提取整理到 wiki,才能初步消化知識,為後面的思考加工做準備。

有人會問為什麼不用筆記軟體記錄這些碎片化的知識呢?用 wiki 當然是有理由的:

筆記軟體儲存的主要是知識原料。我們從網上儲存別人的文章到筆記,存下來的知識是別人的,你只是存下來而已,還沒經過消化。我們上面把筆記軟體定義為知識的倉庫,如果把初步消化後的知識也存在那裡,會造成一定的混亂。當然你一定要這麼做也可以,但我有分層的思維定勢,這算是職業病吧。

wiki 是隨處可訪問的。wiki 發布在網際網路上,我們可以隨時隨地訪問它。

wiki 是分享的。任何人都可以訪問你的 wiki,分享自己的知識何樂而不為呢?

那麼如何製作自己的 wiki 呢?我自己用的是 simiki,具體用法檢視 simiki-個人wiki寫作。發布到網際網路我用的是 github page,具體操作自行搜尋。

寫部落格是最好的思考加工知識的方法。當年我也是被劉未鵬的 為什麼你應該(從現在開始就)寫部落格 和 書寫是為了更好的思考 給帶入坑的。寫部落格的好處我就不提了,看上面兩篇文章就夠**了。下面我著重談談如何寫好部落格的一點個人經驗。

部落格少寫純操作指南類的文章。網上大部分部落格寫的都是純操作指南類的文章,例如,如何搭建 lamp 之類,可能作者自己都不清楚為什麼要這麼做。不是說純操作指南類的文章不好,相反我覺得這種文章很重要,只是它的位置不對。它應該放在 wiki 中,因為純操作指南類的文章只是描述步驟,關注點是怎麼做,而不是為什麼。寫部落格的關注點應該在為什麼,講清楚為什麼要這麼做。另外不要鑽牛角尖,我說的是純操作指南,不要以為只要是搭建環境之類的文章都不能寫,這裡的「純」代表只給步驟,不提背後的原理。其實寫得好的操作指南應該力求讓讀者知其然,知其所以然。

定期寫文章。萬事開頭難,動筆開始寫作很難,一旦開始就停不下來了。養成定期寫文章的習慣,至少確保乙個月一篇的節奏。

把無法加工的知識寫到 wiki。例如說:git 的一些配置和用法,這些內容在官方文件都能找到,寫在部落格也只是搬運工,除非你有新的理解。

思考加工:對存在筆記和 wiki 中知識進行思考加工後寫在部落格。

以上講的是如何在網際網路中學習積累,但是千萬不要忽視了看書這一重要方法,書中的知識是成體系的,知識密度高,網上的文章良莠不齊,不成體系,比較碎片化。合理分配時間看書和上網學習是很重要的。

參考:

程式設計師的知識管理

什麼是知識管理 為什麼要管理知識 如何管理知識 什麼是知識管理 個人知識管理 personal knowledge management 一般指個人通過工具建立知識體系並不斷完善,進行知識的收集 消化吸收和創新的過程。知識管理的範圍很廣,一般的知識管理方法可以參考這篇文章 個人知識管理的方法 為什麼...

黑馬程式設計師 記憶體管理基礎知識

asp.net unity開發 net培訓 期待與您交流!1.什麼是記憶體管理 管理範圍 任何繼承了nsobject的物件,對其他基本資料型別 int char float double struct enum等 無效 int main 大括號 塊自動消除棧空間變數。a,b,p 但是動態儲存的物件放...

程式設計師禮儀小知識

常用應酬語 問候的語言 早晨好 您早 晚上好 晚安。致謝的語言 謝謝您 多謝了 十分感謝。拜託的語言 請多關照 承蒙關照 拜託。慰問的語言 辛苦了 受累了 麻煩您了。讚賞的語言 太好了 真棒 美極了。謝罪的語言 對不起 實在抱歉 勞駕 真過意不去 請原諒。掛念的語言 身體好嗎 怎麼樣 還好吧。祝福的...