程序員筆記(知識)管理的一點經驗

記筆記這件事,也許在不少人看來,再普通、簡單不過了——從小老師就教育咱們要這麼作。不一樣的人有不一樣的方式,咱們最終的目的,仍是但願不要停留在只是記錄這一層面上,而是將它們轉變爲咱們的知識。做爲一個程序員,今天我跟你們聊聊個人一些筆記管理的方法,但願對你們有用。若是你們還有更好的方式,也歡迎留言一塊兒探討。程序員

知識學習的路徑

首先聊聊知識學習的路徑。講得宏大一點,咱們得先有方法論。知識學習的途徑能夠分爲如下幾個階段: 瀏覽器

接觸,可能來源於工做中遇到的一個問題,或者朋友的推薦,或者逛社區、論壇時看到的新鮮內容。在接觸以前,咱們並不知道,或者並不在乎一個知識的存在,以及它是如何存在的。經過接觸,它勾起了咱們的好奇心,激發了咱們的熱情,吸引咱們去實踐。網絡

實踐,就是依照別人所描述的內容,或者本身我的的理解,動手去解決問題。只有經歷過實踐,才能摸清楚細節,才能更加具象、深入地理解某項知識。而在實踐的過程當中,咱們可能會遇到各類情況,別人未描述的或本身不甚理解的。經過各類其餘手段,如查閱、諮詢等,最終解決了問題,豐富了知識適用的場景及其內涵。而後咱們就須要把實踐的過程記錄下來,造成咱們本身的認知。架構

總結,就是用本身的話去描述一樣一個知識。它的表述形式可能跟別人的不同,關注的細節點也可能不同。經過總結,造成咱們認識事物的方式。這種方式繼而會影響咱們在後續的實踐過程當中的工做流程。一些較複雜的知識點也不是一次實踐或總結就能準確理解的,也許有疏漏。在後續的工做、學習中,咱們使用這些還沒有徹底的知識,遇到困難,又繼續總結,造成一個反饋循環。直到達到一個較爲滿意的狀態。這個時候,咱們就能夠考慮「爲人師」了。工具

分享,就是把本身掌握的知識,用更多人能理解的方式講述、傳播出去。它跟總結的區別就是,再也不是僅僅以我的能理解的方式去表達知識,而是要輔以通俗的語言、合適的圖文來表達。讓你們看到還有這樣一種角度、思路,成爲他們的知識接觸點。學習

結構

這裏咱們討論的知識的主要載體,就是筆記。根據知識學習的路徑,咱們能夠對筆記進行分門別類。至少要單獨列出分享這一目錄。我經常使用的一級目錄爲:開發工具

  • 分享:包含全部待分享或已分享的文章、素材,使用日期做爲子文件夾或文件名前綴。
  • 開發:包含開發相關的知識點,如語言、工具、操做系統、網絡、中間件、架構等等
  • 工做:包含各個公司、我的項目的工做內容與平常記錄

至於一級目錄如下的目錄劃分,能夠根據每一個人所側重的知識面來安排。操作系統

工具

那用什麼作筆記呢?市面上已經有不少筆記管理軟件了,像 EverNote、有道等。不過做爲程序員,咱們手邊的開發工具就能作筆記管理。這裏我推薦用 Visual Studio Code。它是一款很是輕量的 IDE 工具,有強大的插件體系。它不光能夠用來寫代碼,還能夠用來寫文檔,尤爲是 Markdown 文檔。自帶 inline 樣式渲染,支持格式校驗、自動排版(尤爲是 table)、PDF 導出等各類功能,還有不少插件可供你選擇。插件

Markdown,我想每一個程序員都應該熟悉它的語法。其實核心的、經常使用的幾個語法很簡單,包括多級標題、多級列表、Code 等。像我寫這一篇文章,用到的也就無非這些語法點,額外多了圖片的插入等。根本不須要花多少時間。可是掌握它,不光有助於咱們寫文章,包括開發中寫文檔,都是很是有用的。像咱們經常使用的 Github、Gitlab 裏,均可以直接渲染 Markdown 文件,Issue 中也能支持 Markdown 語法。學會一招,吃遍天下。頗有必要。版本控制

也許有的同窗會有疑問,那豈不筆記都是本地存儲了?這個問題很好。咱們還須要一些工具,Git + Gitlab。將整個筆記目錄加入 Git 版本控制,這樣咱們全部的筆記歷史都能保存起來。而後,咱們能夠在 Gitlab.com 的我的帳號上建立一個私有項目,同步咱們的本地筆記到遠端。這樣,咱們在公司使用公司的電腦,能夠順利地同步;手機端也可使用瀏覽器訪問 Gitlab 網址在線打開咱們的項目,查看筆記。有了 Git 支持,即使多端修改產生衝突,也能很好地去解決。

擴展

用 VSCode + Gitlab 來管理咱們的筆記,還有一個好處就是,這些筆記就是咱們看獲得的文件。那這裏咱們能夠引伸一下。把咱們的筆記管理做爲我的知識倉庫,它裏面還能包含各類能夠執行的腳本(如 Bash、Python)。這些腳本是咱們本身編寫的、用來方便咱們工做的。好比說我就寫了不少相似 Git 週報、Gitlab CI 自動化等這樣的腳本。它們不光能在我家裏的電腦上執行,還能同步到我公司的電腦上,照樣執行。並且執行的方式不會有什麼變化,不須要額外下載、保存、受權等各項工做,這些都在同步過程當中解決了。十分方便。

固然,以上方式也有一些弊端,好比圖片很差處理,沒法直接粘貼到文章裏(也許有這樣的 VSCode 插件呢?)。不過至少我我的用起來,仍是很舒服的。也但願這些內容,能爲你們產生一些」接觸「點。

相關文章
相關標籤/搜索