掌握軟體開發的第一性原理

2021-10-01 04:20:36 字數 940 閱讀 5051

構建自己的技術知識體系很重要。

下述情況存在:乙個程式設計師在剛掌握某乙個技術後,又出現乙個新的技術,還得再次費大力氣學習。

但是如果擁有了自己的技術體系,那麼在面對乙個新技術時,就會更容易地掌握它。

我們需要知道每乙個基礎技術方向中的最關鍵的技術原理,明白這些原理是如何和我們的日常開發工作發生關係的。

比如說:我們的程式是如何被作業系統排程執行的?為什麼高併發的時候系統會崩潰,原理是什麼?在程式設計時,什麼場合下應該使用鍊錶,什麼時候下應該使用陣列,為什麼?當我們使用hash表的時候,什麼情況下它的效能會急劇降低,原理又是什麼?我們用redis這樣的分布式快取的時候,到底要解決什麼樣的問題?分布式快取是如何工作的?還有哪些技術看起來和redis毫不相干,其實工作原理是一樣的?

在學習乙個新技術時,根據技術體系,我們會把它分類到某乙個技術方向,在基本原理的幫助下,我們可以把握這個新技術的整體結構,進而減輕學習新技術的壓力。

技術體系分三個部分軟體的基礎原理,軟體的設計原理和架構的核心原理。

軟體的基礎原理主要是作業系統,資料庫原理,資料結構和演算法等。

軟體的設計原理主要以設計乙個強大靈活,易復用,易維護的軟體為核心,在設計過程中依賴的工具和方法,遵循的原則和思想,使用的模式和手段,區別好壞軟體。

架構的基礎原理主要圍繞網際網路分布式架構以及大資料物聯網架構進行剖析,分析這些架構背後的原理,如何通過他們實現系統的高可用和高效能,以及他們背後的驅動力和設計思想。

比如,在做幾何數學題目時,你總是想不起來在這個地方要用某乙個幾何定理(即使你學過了)。為了解決前面這個問題,在平常練習中,***不去用定理,而是用最基礎的原理來解題,等到這樣子做到一定次數後,會發現自己更理解這個定理了。

學習軟體技術原理也是類似的過程。

從乙個最常見的問題入手,直達這些基礎技術最本質的原理,並覆蓋這些基礎技術的主要關鍵技術點。然後,講述這些基礎技術原理和你日常開發工作的關聯關係,對基礎技術有乙個全新的認識。

第一性原理

第一性原理又稱 第一原理 其實是古希臘哲學家亞里斯多德提出的乙個哲學術語 每個系統中存在乙個最基本的命題,它不能被違背或刪除。這個名詞被炒的很火主要得益於 鋼鐵俠 埃隆 馬斯克 特斯拉汽車ceo 他曾在採訪中提到自己特別推崇 第一原理 思考法 通過第一原理,我把事情昇華到最根本的真理,然後從最核心處...

BLM業務戰略規劃的第一性原理

在每一系統的探索中,存在第一原理,它是乙個最基本的命題或假設,不能被省略或刪除,也不能被違反。亞里斯多德 帶火第一性原理的是矽谷鋼鐵俠埃隆.馬斯克,他告訴大家他成功的秘密是使用第一性原理作為思考的框架 打破一切知識的藩籬,回歸到事物本源去思考基礎性的問題,在不參照經驗或其它的情況下,從事物的最本源出...

第一性原理 像馬斯克一樣思考

第一性原理思維是將乙個過程分解為基本的部分,並以此為基礎思考問題。讓我們來討論一下如何在生活和工作中運用第一性原理。第一性原理是基本的假設,不能進一步推導。兩千多年前,亞里斯多德把第一性原理定義為 事物已知的第乙個基礎,第一性原理是基本的命題和假設,不能被省略和刪除,也不能被違反。第一性原理是一種科...