1. 程序員,如何讓你的知識內化
一、前言
是否,你瀏覽過無數文章,但是轉眼就忘?
是否,你收藏過無數文章,但是很少再看?
是否,你感覺自己很努力學習了,但還是收獲甚微?
其實,這幾個問題也一直深深地困擾著我,一直渴望著提升,卻又摸不到方向,感覺一直在努力,然而貌似並沒什麼卵用。
直到,接觸到知識管理這個概念,才領悟到:學習是一個系統工程,每一次的閱讀、收藏、實踐,其實都是這個系統的自我更新。唯有運用工程思維,才能更好的解決這幾個問題!
關於知識管理,我視之為我人生中最重要的技能,我將不斷探索、不斷優化,以成就一個更完善的自己。
下面,將從一個程序員的視角來討論知識管理,主要包括以下幾個方面:
什麼是知識管理?
為什麼要管理知識?
如何管理知識?
二、什麼是知識管理?
個人知識管理(Personal Knowledge Management):一般指個人通過工具建立知識體系並不斷完善,進行知識的收集、消化吸收和創新的過程。
三、為什麼要管理知識?
核心目的:搭建自己的知識體系
計算機行業的一個特點是新技術更新特別快,意味著程序員需要不停學習,才能跟上行業的發展。所以,知識管理對程序員非常重要。有意識,成體系地管理知識能夠:
更快速的入門
如果我們已經建立好一個技術知識體系,新的技術也只是在其他技術上建立起來的,有了堅實基礎,學習新技術就會更有效,畢竟原理總是類似的。
更全面的掌握
看過那麼多的博客,如果沒有經過自己的整理,終究總是一塊塊記憶碎片,難成體系!使用合適的工具,正確的方法,才能更好地掌握知識,讓知識凝固在腦海,形成一個整體的脈絡。
更高效的檢索
程序員經常遇到同樣的問題,例如說部署開發環境的時候,如果有把解決方案記錄下來,就能省去重新解決問題的時間。畢竟重復的谷歌,也是耗時操作。
四、如何管理知識?
1.收集
確定主線,建立信源,鏈式反應,廣泛收藏
「生也有涯,知也無涯」,我們永遠不可能通曉所有的知識!
一開始我看到好的技術文章時,都是加書簽存起來。後面發現這樣不能離線訪問,而且鏈接可能會失效。
後來,接觸了印象筆記、為知筆記等雲筆記軟體,於是我可以把文章保存到筆記中,隨時可以翻出來看。這是我的知識管理之路的開始。
可以說,筆記軟體給知識積累帶來了極大方便,而且,還可以在自己的所有筆記中快速搜索某個關鍵詞。
有時候,我們明明記得自己以前看過某篇文章,但就是想不起來具體細節了,這個時候,只要我們之前保存過,一搜即可。這比再用搜索引擎去搜索,顯然更高效一些。
記得以前,我為解決某個問題,谷歌了很久終於找到一篇文章解決了問題。解決之後並沒有記錄下來,結果下一次遇到同樣問題,我又浪費了很多時間去再次搜索解決方案。重復多次之後,我意識到這是個嚴重的問題。所以逐漸養成了保存各種文章的習慣。這些網上積累下來的文章,成為了我構建知識體系的土壤。
不是收集好的知識,而是收集對自己有用的知識
你缺的不是知識,而是整合知識的能力
主題閱讀,不以讀完一書一文為目的,能提取到想要的知識即可
讀書為綱,上網為目。唯有綱舉,方可目張
設定一個自己的長期學習規劃
建立自己的常用信源清單
從一個關鍵詞的解釋中,提取到一堆關鍵詞,鏈式反應
印象剪藏時不必糾結分類,多用關鍵詞搜索
2.整理
合並同類,編織腦圖,定期整理,持續更新
「小馬過河,深淺自知」,別人的文章永遠是別人的知識!
上面收集的那些知識碎片是我們有初步印象的知識,只不過因為太過碎片,尚不能夠形成完整的知識體系。很多人以為把看到的文章保存到自己的筆記裡面,就有一種已經掌握它的錯覺,結果保存了成千上百的文章,卻一篇都沒回顧過。
別人的文章是他的知識沉澱,並不是自己的。定期回顧,並提取出文章中的精華,再經過自己的實踐、思考、整理,才能形成自己的知識體系。這是一個很漫長的積累過程,而我們能做的唯有:堅持到底!
分類自底而上,先有了大量碎片,而後才有細致分類。
多用思維導圖,整體把握脈絡
定時整理筆記,歸納相似主題
印象筆記做摘錄,為知筆記寫原創
書寫,不只是為了記錄,更是一種思考方式
原始積累,越快越好,先求量大,再求質優
使用工具,而不是被工具使用
構建知識體系,服從於個人職業發展
預判使用場景,布局技術未來
以寫論文的方式來整理
3.分享
尋找同好,討論反思,自我激勵,打造品牌
「常與同好爭高下,不共傻瓜論短長」,教是最好的學習方式!
一方面,自己以為理解了不是真理解,把別人講理解了才是真理解!如果能有讀者和自己互動,那肯定比自己一個人閉門造車,更有積極性一點,人畢竟是社會性的,我們也渴望著別人的認可。一個人默默寫筆記,可能能堅持寫個十幾篇,如果是公開寫博客,有讀者的反饋和認同,那可能更容易堅持下去一些。畢竟,寫作,是一段孤獨的旅程。
另一方面,在這個時代,對於生活中的絕大多數人來說,拓寬朋友圈子的途徑幾乎只有一個,通過網路,而如何在網路中尋找到氣味相投的朋友,如何判斷別人和自己是否有共同語言?顯然,通過天天在SNS上碎碎念的那些日誌是難以做到的。我很佩服那些長期用博客記錄想法的人,因此,即使和他們素未謀面,也算是神交已久。
打造個人品牌,增加自己的影響力
跨時空的交流方式
記錄自己的經歷和成長
鍛煉自己的表達能力
2. 如何高效的學好C 語言啊
美河提供.C.精髓.軟體工程方法.pdf,免費下載
鏈接:https://pan..com/s/17Q0JIVCI98FVDaRaisgA3A
C++是一種大型而復雜的語言,其設計目標是作為一種通用的工程語言。 本書分4個部分共19章,不僅詳細介紹了C++語言的基本語法,而且講解了 C++的高級應用(如虛函數、模板、異常等),並通過大量詳盡的代碼表達了有關軟體工程及維護的觀點。
3. 程序員是靠書本工作,還是靠學習程序的記憶工作
記憶肯定是需要的,但是書本卻不一定需要
我覺得主要是靠長期養成的習慣
這里主要是可提高效率的方法,其次是遵循過程
4. 程序員,記憶力不斷下降什麼原因
引發記憶力衰退的因素:年齡增大,整體素質下降;腦力勞動過度;免疫功能低;生活興趣高等。
延緩記憶力衰退和增強記憶力的方法,首先不能對自己的記憶失去信心,產生焦慮、憂愁、不安等消極的情緒,因為心理作用在增強記憶中的作用是十分重要的。其次,多吃一些補腦的食物如:
牛奶、雞蛋、小米等等。有條件的話可以使用速讀記憶工具訓練也會有一定的提高。
5. 程序員都是怎麼記代碼和編程語言的
代碼背不下來,只能記方法,演算法
然後,通過大量的練習和應用加強理解和記憶,用多了自然就記住了。
當然,有些不常用的東西,在具體編程過程中還要去查一下相關資料。
6. 如何讓人的記憶力變強
大多數的人腦只開發了冰山一角,如果繼續開發,可以做的事情是無法想像的!記憶力也是如此,雖然先天有部分影響,但通過後天的不斷努力,也能夠擁有超凡的記憶力。
除了不斷記憶,整理記憶也十分重要,每過一段時間對記憶的東西進行一次整理。一方面「溫故而知新」,另一方面整理也會再次強化記憶,記得更牢記得更准。
7. 很厲害的程序員都是如何養成的
有自己高效率工作方法,比如我們組長,他總是能找到很多既能讓工作高效率完成又能保障工作質量的神器,還有時間提升自己⌄聽說最近他就在用SoFlu軟體機器人來做輔助,基本的軟體開發還有測試方面它都能輕松應對。
8. 程序員記憶力不好,記不住數據結構,還適合干這行么
我編程的思路就是,一次性編寫終生受益,例如我要寫一個tcp的server。我只要寫好了,我就把這份代碼存放起來。並且寫一個自己的總結,這樣在3年後我再想寫一個tcp server我可以在比別人更短的時間寫出一個能用的tcpserver。如此類推•~我有了自己熟悉的鏈表,hash。有了unix socket 、tcp、udp、raw 、有了python爬蟲、有了路由常用實現,有了很多很多。如果人叫我去憑空寫出這些來。。我完全不行,如果把我的筆記帶上。我將能比普通人更快的,而且更穩定的實現。。除了這些,我不斷在github上發現一些可能用得上的項目,學習然後總結。至今已經快300篇自己的記錄了。
記錄不僅僅是筆記,代碼,有些還是一些腳本。例如如何去安裝一個web開發環境,可能就是一個腳本。還有一些可視化的方法,例如我記不住GDB的命令,我就做一個GDB的前端,把常用的命令弄成圖形化的界面。。點呀點就好了。例如系統很多的狀態獲取我記不住命令,就做個web的圖形化顯示。啥子都可以看懂。我又何必去記憶這些命令。
只要我們能解決問題,又管他我是一行一行寫出來的代碼,還是我之前寫過的代碼呢?記憶力差又怎麼樣。。5年下來如果你寫個上千篇文檔或者類似的工具。難道生產力還會低,能力還會低么?古人雲:君子性非異也,善假於物也。記不住,就想辦法不記住也能解決問題。
世上無難事,只怕有些人。你能解決別人解決不了的問題:可以引申出你能以更低的代價解決別人覺得很難的事兒。生活就像是一場考試,而習慣靠記憶解決問題的人他是閉卷考試,而你是開卷而且以及總結好了(小抄)。
9. 怎樣做一名好的程序員,怎樣才能記住代碼
代碼不是用腦去記的,而是用腦去想出來的,你只要理清代碼的執行邏輯,同時還要把自己的心情調整好,千萬不能心浮氣燥,細心做好每一步,用心做好每一個程序就可以的了。
10. 一個優秀的程序員需要養成哪些良好的習慣
1. 理解編程語言的原理,遵循編程規范,並且能夠寫出有效的代碼,並學會優化代碼。
2. 估算解決問題所需要的時間,為自己定一個時間限制,加強程序自測試。
3. 做好版本控制,並及時備份代碼,經常檢查代碼,還要回顧以前寫過的代碼,看看能不能有新想法。
4. 動手編碼之前,先做好分析和設計。
5. 對項目文件歸類保存。可以把項目文件放到SOURCE、HEADERS、MAKE、EXES等不同的文件夾中。
6. 制定驗收規則,優秀出色的程序一定會編寫技術測試腳本,因為他們清楚要是省略了這一步會嚴重後果。
7. 重視,但不過於注重程序的設計模式。
8. 養成耐心、冷靜的好習慣,多向優秀的程序員學習。