《暗時間》讀書筆記

更多精彩內容,請關注微信公衆號:後端技術小屋程序員

若是把大腦比做一個CPU, 咱們平常的工做、生活、學習相似CPU處理前臺任務,而暗時間就像CPU處理後臺任務,雖然看不見也沒有產生直接成果,可是若是一我的能充分利用這些時間進行思考、消化平時所讀所看,便能使得認識更系統、全面、深刻,也能無形之中擁有更多的時間。面試

這就是《暗時間》這本書標題的由來。做者劉未鵬,微軟程序員,除了老本行計算機外,做者對心理學、認知科學、時間管理等領域有着濃厚的興趣。在春節回家的火車上一口氣看完了這本書,書中關於如何讀書、學習、思考、寫做、競爭都有一些實操性很強的總結,結合本身這些年走過的彎路,閱讀過程當中竟有相見恨晚之感。本文爲閱讀《暗時間》的讀書筆記。redis

思考

有人用 10 年才能領悟一個道理,由於他們是被動領悟——只有在現實撞到他臉上的時候才感到疼,疼完了以後仍是不記得時時提醒本身,結果很快時過境遷拋之腦後,等到第二次遇到同一個坑的時候早忘了曾經跌過跟頭了,像這樣的效率,除非每天摔坑裏,不然遺忘的效率老是大過吃虧長的記性。算法

專一

「投入時間」這個說法自己就是荒唐的,實際投入的是時間和效率的乘積。編程

任務切換的暗時間看似很是不明顯,甚至不少人認爲「多任務」是件很好的事情(有時候的確是),但日積月累起來就會發現,消耗在切換上的時間愈來愈多。後端

迅速進入狀態的能力是能夠鍛鍊的,根據我我的的經驗,至少能夠縮短到 3-5 分鐘。緩存

可以迅速進入專一狀態,以及可以長期保持專一狀態,是高效學習的兩個最重要習慣。微信

規劃

善於規劃的人,會將目標分割成一個個的里程碑,再將里程碑分割成 TODO 列表數據結構

若是你對整個目標的幾個重大步驟有清晰的界定,可以對每一個步驟的耗時做出靠譜的上界估計,你就不會被不肯定的將來,不肯定的時間投入感到恐懼,就不會被這種不肯定感壓迫到過早退出。分佈式

興趣遍地都是,專一和鍥而不捨纔是真正稀缺的

靠專業技能的成功是最具可複製性的

一輩子的知識積累,自學的起碼佔90%

做爲程序員若是沒有查過 wikipedia ,沒有看過幾本原版電子書,沒有在國內外主要郵件列表裏面提過問題吵過架,沒有用技術博客記錄學習的獨特體會,沒有訂閱技術牛人們的博客,怎麼好意思說身在這個行業呢?

如何有效地記憶與學習

用本身的話複述一遍以後理解得更深入

咱們在從既有經驗中總結知識的時候,應利用適當的抽象來得出適用範圍更廣的知識(而不只僅是一個蘿蔔一個坑);另外一方面,在遇到新問題的時候,一樣應該對問題進行抽象,觸及其本質,去除不相干因素避免干擾,從而有效提取以前抽象出來的知識。

  1. 養成習慣,常常主動回顧一段時間學到的東西(老生長談了)
  2. 創造回憶的機會:
    2.1) 常常與別人討論,或者講給別人聽。
    2.2) 整理筆記:常常整理你的筆記——若是你沒有作筆記,如今就開始
    2.3) 書寫:將一段時間學習的知識按照一個主題系統地「串」起來大大地豐富了知識之間的關聯,平添無數提取線索
  3. 聯繫 / 比較自身的經歷:將別人的經歷或者經過閱讀和觀察得來的經歷和自身的經歷進行比較,經常可以獲得很是有價值的結論。

人類大腦最傑出的能力之一就是強大的概括推理( inductive reasoning ),或者咱們常說的:泛化、推廣、觸類旁通、抽象。

觀察、閱讀,並別忘帶着你的理性去審視(包括本文),弄清娛樂是娛樂,知識是知識,若是你想真正獲得一些知識,最好過濾一下你的信息。

學習密度與專一力

儘管學習時間很長,但學習密度極低,效果也不會好

若是一我的要靠自制力去強迫本身不受干擾,那隻能說仍是尋常人 (mediocre) 。真正的效率源自於心裏對一個東西強烈的熱忱,也就是咱們俗稱的追求

「思惟體力」的概念,所謂思惟體力就是可以持續集中注意力的時間,注意力造就非凡專家,天才來源於長期的專一的訓練。

《高效能人士的七個習慣》裏面提到的第四代時間管理法則,即要事第一(指重要但不緊迫的事,即長遠積累會對你從此人生產生重大影響的事)法則就很是有效。而對於不重要的事情讓它們本身來找你就能夠了,即中斷式被動關注,後者能夠防止空轉輪詢浪費的時間,從而把最集中注意力的時間利用在最重要的事情上。

高效學習與思考

  1. Google&Wiki (遇到問題作的第一件事情,也是學習某個東西作功課( homework )最早用到的東西。
  2. 看書挑剔,只看經典。如何選擇經典,能夠到網上作作功課,看看評價,綜合分析一下。
  3. 作讀書筆記。一是將本身閱讀的時候的思考(包括閃念)總結下來,二是將書中的好例子摘抄下來。(這個習慣是一年前才養成的,發現受益極大。)
  4. 感到焦慮的時候不妨思考吧,甚至徹底能夠去理性分析和思考致使焦慮的問題自己,將其拆解,分析來源,在不知不覺中,大腦的工做重心就從情緒模塊轉向了推理模塊了,並且這思考也可能順帶更有效地解決了致使焦慮的問題呢 😃
  5. 重要的事情優先
  6. 重要的事情營造比較大的時間塊來完成。好比一本好書,或者一個重要的知識點,最好不要切得太瑣碎了看,不然看了後面忘了前面。不利於知識的組織 & 聯繫。
  7. 善於利用小塊時間

話說回來,爲何提及來容易作起來難,是由於「說」只是理性上認可正確,並無考慮到咱們每一個人大腦中居住的那個非理性自我。這個自我以強大的情緒力量爲動機,以習慣爲己任,每時每刻都驅使着咱們的行爲。

時間管理

可否講出來是判斷是否真正理解的最佳辦法

養成反駁本身的想法的習慣:在有一個想法的時候,習慣性地去反駁它,問本身「這個難道就必定成立嗎?」、「有沒有反例或例外?」、「果然如此嗎?」之類的問題。

大量的新技術其實只是一層皮,背後的支撐技術其實都是十來年不變的東西。底層知識永遠都不過期。算法數據結構永遠都不過期。基本的程序設計理論永遠都不過期。良好的編碼習慣永遠都不過期。分析問題和解決問題的能力永遠都不過期。強大的學習能力和旺盛的求知慾永遠都不過期。你大腦的思惟方式永遠都不過期

重視積累的強大力量,萬事提早準備:計劃訂長一點,天然就能夠多得到準備的時間。設想你若干年後會在作什麼事情,須要哪些技能,如今就開始準備。

你的時間就是你的資源,你投入這些資源來掌握知識,因此到底用來掌握哪些知識是一個很重要的問題。僅僅遵循興趣是不夠的,人會對不少次要的東西產生興趣,並一頭鑽進去浪費好多時間。因此判斷一個東西值不值得學習是很重要的。

有時間嗎?總結總結最近獲得的新知識吧。通常來講,我在一段時間內學習的一些東西老是會在這段時間內一直在腦子裏打轉,一有時間空隙(譬如走路,吃飯)它們就會本身蹦出來,促使我去進一步思考和總結。

有時間嗎?看本書吧。(傳統的)閱讀和思考永遠優於所謂的在互聯網上汲取新知識,後者每每淺表、不繫統、乃至根本沒價值

閱讀方法

學習一個東西以前,首先在大腦中積累充分的「疑惑感」。即弄清面臨的問題究竟是什麼,在瀏覽方法自己以前,最好先使勁問問本身能想到什麼方法。一個公認的事實是,你對問題的疑惑越大,在以前作的本身的思考越多,當看到解答以後印象就越深入

  1. 趁着對一件事情有熱情的時候,一古腦兒把萬事開頭那個最難的階段熬過去。
  2. 根據主題來查閱資料,而不是根據資料來查閱主題。
  3. 好資料,壞資料。好資料的特色:從問題出發;重點介紹方法背後的理念( rationale ),注重直觀解釋,而不是方法的技術細節;壞資料的特色是好資料的反面:上來就講方法細節,彷彿某方法是從天上掉下來的,他們每每這樣寫「咱們定義
  4. 有選擇地閱讀。
  5. 爲何看不懂?若是看不懂一個知識,通常有以下幾個可能的緣由: 1) 你看得不夠使勁;2) 其中涉及到了你不懂的概念。這是技術性的不理解。這種狀況就須要 Cross Reference 。 3) 做者講述的順序不對,你接着往下看,也許看到後面就明白了前面的了
  6. 如何在閱讀以前就能得到對一本書質量的大體評估。1) 看做者。牛做者寫的書通常都不錯。2) 看目錄和簡介 3)看 Amazon 上的評價 4) 看樣章。 Amazon 上通常均可以隨機瀏覽一些章節的

知識結構

把知識分爲 essential 的和 non-essential 的。對於前者採起提早深刻掌握牢靠的辦法,對於後者採起待用到的時刻 RTM (Read the manual) 方法(用本)。

對程序員來講,硬件體系結構是 essential 的,操做系統的一些重要的實現機制是 essential 的,主流編程範式( OO 、 FP )是爲了知足什麼需求出現的(出現是爲了解決什麼問題),是怎麼解決的,自身又引入了哪些新的問題,從而適用哪些場景)

《 Computer Systems: A Programmer’s Perspective 》就是爲此目的,針對程序員的需求總結出那些 essential knowledge 的好書。

再好的分析能力也並非每一個問題都能分析出該用哪些知識而後再去查手冊的,不少時候是在工具和問題之間比較,聯想,試探性的拼湊來解決問題;這就使得一個好的既有知識基變得相當重要。若是你不知道某個工具的存在,遇到問題的時候是很難想到須要使用這麼樣一個工具的, essential knowldge 就是使用最爲普遍的工具

我在以前的 part 裏面也提到我在學習新知識的時候經常問本身三個問題:該知識的(體系或層次)結構是什麼、本質是什麼、第一原則是什麼。另外還有一些我認爲是 essential knowledge 的例子:分析問題解決問題的思惟方法(這個東西很難讀一兩本書就掌握,須要很長時間的鍛鍊和反思)、判斷與決策的方法(生活中須要進行判斷與決策的地方遠遠多於咱們的想象)

學習一個小領域的時候,時時把「最終可以寫出一篇漂亮的 Survey」放在大腦中提醒本身

我在南大的七年

我在博客上總結本身學習編程中走過的彎路,孟巖先生說到,是否是彎路,不是那麼容易界定的。

我想,雖然有不少人本科就明白本身想作什麼,我多花了兩年多,總還不算太晚。

爲何必定要親身經歷了以後才能明白?

  1. 切身體驗。親身經歷一個負性事件帶來的情緒記憶要比看着或據說別人遭受一個一樣的事件所感覺到的強烈得多,造成的負性條件反射也遠遠更持久。
  2. 別人口中的故事。別人口中的故事也許只是事情的一個方面,不免受到他們本身觀念的影響而產生偏見,
  3. 爲何。別人在告訴你一個道理的時候每每只能告訴你怎麼 (how) 作,而難以說清爲何 (why) 要這麼作,遑論「爲何必定 (have to) 要這麼作」了
  4. 世界是複雜的。更況且,不少時候人們根本沒法確切地向你保證 A 選項必定優於 B 選項:
  5. 情緒對照。經歷了失敗以後,咱們在作「正確」的事情的時候便會以爲更義正詞嚴。若是沒有經歷失敗後的糟糕記憶,咱們就算理性地認識到目前的作法是更合適的,也很難從情緒上強烈地感覺到這麼作的「正確感」

這個世界有太多因素是不肯定的,除了本身的因素比較可控以外,外界的機遇因素幾乎徹底不是可以控制或預測的。咱們最多隻能作好頭腦準備,儘可能不錯失機遇

若是咱們先入爲主地不想聽取別人的意見,就很容易本身說服(欺騙)本身說「狀況不同,因此道理不適用」(而實際上到底哪些狀況不同,爲何道理不適用,是否是真的不適用,咱們根本就不去深究了)

如何解決這個「知識經驗跨情境轉移失敗」的問題?除了多多檢討觀察本身以外,在面對問題的時候多抽象其本質也是一個有力的辦法

從信息收集者的角度來講,世界上沒有成功或失敗,失敗的事情中揭露出來的信息一點也不比成功事件中的信息少,或許每每還能獲得更多的東西。

貪婪、嫉妒、短視、投機,這些天性也許在遠古社會曾經成功地讓咱們的祖先佔取了生存繁殖優點。然而現代社會的情境已經改變,分享、合做、交流、長遠、誠實,這些纔是在現代社會得到成就的方法

事實上,咱們的直覺的確有很多時候是很靈的(《 Blink 》、《 Gut Feelings 》),但也有很多時候是失靈的(前文已經有例子了),正確的作法不是一律而論地聽取直覺的意見或者一律而論地不聽取,而是將它當成一個啓發式的判斷,而後利用本身的理性大腦對其進行進一步的客觀的、邏輯的檢驗( Critical Thinking )

普通人從本身的錯誤中學習,聰明人從別人的錯誤中學習。人類最強大的另外一個能力則是概括和推理—— 咱們在大腦中走得越遠,在現實中就走得越穩。咱們在大腦中失敗的次數越多,在現實中失敗的次數就越少

事實上,現代社會人最重要的能力之一就是可否從別人的錯誤中學習,每每是這類人可以迅速走在別人的前面,在別人跌倒的地方跳過去。若是咱們事必躬親,那麼歷史絕對不會進步,咱們只會每一個人從生下來開始都將別人犯過的錯誤再犯一遍,將別人趟過的泥潭再趟一遍,陽光底下就真的沒有新鮮事了,歷史就真的永遠重複他本身了。然而歷史告訴咱們絕非如此,雖然不少人都會甚至須要本身犯一犯某些錯誤,但一樣也有不少人可以在別人的錯誤中學習。

理智與情感

社會心理學研究發現,咱們會對那些對本身有利的證據不加細查,而對那些對本身不利的證據則死摳爛打揪住一點小辮子就不放;一樣,咱們還會傾向於勤勞收集有利證據,並忽視不利證據。事實是,當咱們心裏的天平早已經傾斜了以後,看來荒謬無比的理由也變得光輝燦爛,別人頗有道理的反駁也能被摳出「致命」漏洞。

Artemus Ward 曾經說過:並非那些咱們不知道的事情讓咱們陷入麻煩,而是那些咱們認定本身知道,卻其實是錯誤的知識,讓咱們陷入麻煩

書寫是爲了更好的思考 書寫是對思惟的備忘: 書寫是對思惟的緩存:書寫是與本身的對話

爲何你應該(從如今開始就)寫博客

  • 可以交到不少志同道合的朋友。我
  • 書寫是爲了更好的思考。
  • 「教」是最好的「學」。若是一件事情你不能講清楚,十有八九你尚未徹底理解。絕大多數人應該都知道在程序員行業面試官常常要求你講解一個東西給他聽
  • 討論是絕佳的反思
  • 一個長期的價值博客是一份很好的簡歷。

就像那句常常被人傳閱的話:只作你最感興趣的事情,錢會隨之而來

問題的困難程度不在於想通了以後還以爲有多難,而在於從你以爲它難到你以爲它簡單須要耗費多少思惟體力,你耗費的時間越長,說明有越多的人最終仍是沒有想明白

我不想與我不能

簡而言之自利歸因就是把一件事情發生的緣由歸結爲對本身有利的那種狀況。

俗語有謀事在人,成事在天的說法。其實這話說的是,咱們的努力是爲了增大結果發生的概率,而不是爲了那個肯定的結果

不管外因如何,只要不是到了人力所不能抗的地步,發揮一下本身的自由意志和主觀能動性,總能得到一樣好的結果

困難的路越走越容易,容易的路越走越難。

什麼纔是你的不可替代性和核心競爭力

這個行業裏擁擠着上百萬聰明人,彼此之間真正的不一樣在哪裏?不在於你學的是什麼技術,學得多深, IQ 多少,而在於你身上有別人沒有的獨特的個性、背景、知識和經驗的組合

  • 專業領域技能:成爲一個專業領域的專家,你的專業技能越強,在這個領域的不可替代性就越高。這個自是不用多說的。
  • 跨領域的技能:解決問題的能力,創新思惟,判斷與決策能力,Critical-Thinking ,表達溝通能力,Open Mind 等等。
  • 學習能力:嚴格來講學習能力也屬於跨領域的技能,但因爲實在過重要,而且跨任何領域,因此獨立出來。如何培養學習能力,到目前爲止我所知道的最有效的辦法就是持續學習和思考新知識。
  • 性格要素:嚴格來講這也屬於跨領域技能,理由同上。一些我相信很重要的性格要素包括:專一、鍥而不捨、自省(意識到本身的問題所在的能力,這是改進自身的大前提)、好奇心、自信、謙卑(自信和謙卑是不悖的,前者是相信別人可以作到的本身也可以作到,後者是不要總認爲本身確信正確的就必定是正確的,Keep an open mind )等等。

推薦閱讀

更多精彩內容,請掃碼關注微信公衆號:後端技術小屋。若是以爲文章對你有幫助的話,請多多分享、轉發、在看。
二維碼

相關文章
相關標籤/搜索