基礎(chǔ)
局部性原理:計(jì)算機(jī)中整體和局部的關(guān)系留搔。分為時(shí)間局部性和空間局部性铛铁。
緩存:局部性原理的應(yīng)用。利用數(shù)據(jù)的副本解決速度不匹配的問題 括眠,讓慢者快起來
抽象:指令集是對(duì)CPU的抽象, 文件是對(duì)輸入/輸出設(shè)備的抽象掷豺, 虛擬存儲(chǔ)器是對(duì)程序存儲(chǔ)的抽象, 進(jìn)程是對(duì)一個(gè)正在運(yùn)行的程序的抽象题画, 而虛擬機(jī)是對(duì)整個(gè)計(jì)算機(jī)(包括操作系統(tǒng)德频、處理器和程序)的抽象。
分層:隔離變化壹置。TCP/IP分層。
異步調(diào)用:比如CPU利用DMA讀硬盤數(shù)據(jù)。比如前端技術(shù)AJAX铃肯,當(dāng)瀏覽器的javascript發(fā)出HTTP請(qǐng)求時(shí),不會(huì)等待服務(wù)器返回?cái)?shù)據(jù)押逼,而是設(shè)置一個(gè)回調(diào)函數(shù),等服務(wù)器響應(yīng)到達(dá)的時(shí)候調(diào)用一下就可以了咙冗。再比如Ngnix的線程,不會(huì)等待一個(gè)耗時(shí)操作雾消,等這個(gè)操作完成后再去通知線程挫望。
分而治之:分析-綜合。如果子問題和母問題相似媳板,可用遞歸。常見快速排序和歸并排序破讨。
OOP
由一個(gè)類挖掘出一棵樹:類的最大特點(diǎn)是層次的邏輯奕纫,繼承和多態(tài)都由此而來。
很多樹聯(lián)系起來組成一片森林若锁,這就是UML圖。
設(shè)計(jì)
bug:bug分成兩類仲器,一種是底層bug,另一種是頂層bug
好代碼的標(biāo)準(zhǔn)有很多乏冀,但好代碼不是寫出來的,而是好的設(shè)計(jì)自動(dòng)帶出來的昼捍。
好的設(shè)計(jì)至少兩個(gè)方案比較出來的,而非直覺妒茬。
好的設(shè)計(jì)有一個(gè)insight 的深度蔚晨,能用三言兩語概括出來。
解決問題的路子就是深入理解問題內(nèi)部的原理和本質(zhì)银择,而非一個(gè)又一個(gè)地解決細(xì)節(jié)沒有全局觀念。
善待身邊的人浩考,只有這樣才能交流出智慧被盈,否則將失去太多的機(jī)會(huì)。
偉大是細(xì)節(jié)堆出來的只怎,勇敢暴露暗處的細(xì)節(jié),重新思考忽略的細(xì)節(jié)吞滞,精雕細(xì)刻粗糙的細(xì)節(jié),苦心鉆研困惑的細(xì)節(jié)
框架
配置文件和注解(元數(shù)據(jù))
API
應(yīng)用實(shí)例
原理內(nèi)幕