記性不好
看到阮一峰的blog文章清單,覺得為什麼有那麼多教程?光是 Git/GitHub 相關的就有16個,從基本的指令到難懂的原理都有?很多是網路上搜尋一下就有的,而且為什麼這麼好心寫這些東西?甚至有C 语言入门教程,如果是我,直接推薦幾本書就好了,例如著名的 K&R The C Programming Language 2nd,為什麼要大費周章的寫網路教學文章?
其實不是好心,因為記性差,所以寫文章記錄,例如:
Vim 的配置不太容易,它有自己的语法,许许多多的命令。我总是记不清楚,所以就整理了下面这篇文章,列出主要配置项的含义。
教學相長
另外學程式語言、安裝程式或者研究程式框架的過程中,一邊貼上做了什麼( 保持好奇心,因為什麼想法,所以輸入什麼程式碼或指令 ),然後貼上結果(如果出錯,則貼上預期結果與實際結果),最後整理成文章,作為日後自己的參考。貼在一個純文字檔就可以了,連 markdown 格式都不用,之後整理時再加上。
如果你卡住了(看不懂?想不通?不知道要做什麼?),寫下 STUCK,承認自己卡住了。寫下為什麼卡住了,可以幫助你繼續進行下去。
官方文件或書籍通常不會寫出結果,例如輸出的實際 json 內容,偏偏實際應用時會需要查這些東西:「不要只告訴我表單驗證錯誤時會輸出 json,那個 json 會長什麼樣子呢?我需要實際可用的 php 程式碼,可以直接複製貼上,產生前面提到的那個 json」。
提到教學相長,強迫自己去解釋會很痛苦;保持好奇心就不一樣,很快樂,即使遇到阻礙也只是覺得原來會這樣,學到東西後自然會想表達,於是寫部落格向讀者解釋。所以「向別人解釋」是副產品,受好奇心驅使,學習新事物後的副產品。
方便複習
將上述貼到純文字檔的內容整理成文章。寫文章時,能更徹底的了解這個主題,因為如果你不懂它,根本寫不出來,勉強寫幾個字,也很像書籍或參考資料的內容,這只是複述而已。可以先向空氣或是布偶講解,打字記錄你說了什麼,一樣是純文字。最後改成 markdown 格式。
大家都會忘記程式語法,然後看自己的部落格來複習。所以一旦完成筆記,就能安心地學其它東西。還可以依照自己的需求加上附註,例如 ORM 語法可以附註產生的 SQL。例如使用 Make 构建网站。建構網站前端時,可以複習這一篇文章了解原理,使用其中的程式碼撰寫 makefile。
培養粉絲
網友閱讀你的文章學會一些東西,彼此會產生連結,他們會信任你、認同你、成為你的粉絲,他們會知道你是一個不錯的程式設計師。當你推出產品,他們會想試試看,並且像朋友一樣給你真實的回饋,不需要花錢打廣告。當你離開原來的工作,想要有更好的發展,他們會邀請你成為事業夥伴。