爲什麼要學習基礎技術
-
一通百通
所有技術原理和本質都在基礎技術上
-
突破瓶頸
只有基礎技術才能讓你上升到更高的層次
在技術的世界裏,量變永遠無法導致質變
-
自己推導
掌握基礎技術以及原理可以讓自己推導答案和趨勢
有哪些基礎技術
- 程序語言
- 原理、編程範式、設計模式、代碼設計、類庫…
- 系統
- 計算機原理、操作系統、網絡協議、數據庫…
- 中間件
- 消息隊列、緩存、網關、代理…
- 理論知識
- 算法和數據結構、系統架構、分佈式…
如何識別新的技術
-
解決了什麼樣的問題
- 任何技術的出現都是要解決已有問題
- 降低技術門檻、提高開發效率、提升穩定性…
-
提升了什麼樣的能力
- 可以計算更爲複雜的計算
- 可以自動化更爲複雜和更爲困難的事
-
會成爲主流技術的特徵
- 有大公司做背書
- 有殺手級應用
- 有強大的社區
-
Java、Go
格局、認知
被動學習 vs 主動學習
實踐、討論、思辨、分享、訓練
自己動手搭環境、翻譯、模仿
學習的相關方法
- 挑選知識和信息源
- 第一手資料非常重要(英文非常重要)
- 注意基礎和原理
- 我可以忘了這個技術,但是我可以自己徒手打造出來
- 使用知識圖系統的學習
- 通過知識關聯可以進行"順藤摸瓜"
- 舉一反三
- 用不同的方法學同一個東西
- 學一個東西時把周邊的也學了
- 總結和歸納
- 行成框架、套路和方法論
- 實踐和堅持
- 實踐才能把知識變成技能,堅持纔有沉澱
如何閱讀代碼
- 基礎知識、文檔、代碼結構
- 模塊、接口、關鍵業務路徑
- 代碼邏輯、運行時調試
畫時序圖、流程圖
如何面對枯燥和硬核的知識
- 找到應用場景和牛人
- 補充基礎知識
- 咬牙使勁啃
其他小技巧
- 不要記憶
- 把信息壓縮
- 經常犯錯
- 寫blog
- 它山之石可以攻玉