一個程式設計師的日常書單(更新於2018/10/7)
今日元宵節,祝各位節日快樂.
本想談談讀書這個話題,想來想起覺得無從下手,就此作罷.畢業這幾年,一直不敢放鬆,在現代這個網際網路時代更加認同蕭掄謂的"一日不讀書,胸臆無佳想;一月不讀書,耳目失清爽".如果非要給自己找個讀書的理由的話,這句詩就是最好的理由:“胸藏文墨虛若骨,腹有詩書氣自華”.
與書結緣應該要感謝我的父親和母親.小時候,母親嫌我搗蛋就有意的培養我讀書.剛上小學時,父親便從他戰友哪裡弄來幾千本書,小學,初中,高中都是在期間度過.後來上大學,母親擔心我讀書讀傻了就全當廢紙給賣了.現在母親甚是後悔,畢竟裡邊有不少孤本.恰好近幾日有朋友問我平時的都看什麼書,便有將書單列出的想法,在原來書單基礎上稍微做了一點分類,後面會不定時的更新.目前主要列出2015年,2016年的書單以及2017年想要讀的書,至於前幾年的記錄則後面慢慢補充.
後續博文將同步更新於浮游世界.
-----------------------------------------2018書單-----------------------------------------
技術
書目 | 簡評 |
---|---|
- [X] 編寫可讀程式碼的藝術 | 多讀幾遍,看看程式碼過程中犯了哪些錯? |
- [X] TensorFlow實戰 | 這是人人深度學習的時代,用來入門TensorFlow勉強還可以 |
- [X] 程式設計師的英語 | 從黑客到安全,從雲端計算到物聯網,提高英語與掌握新概念兩不誤 |
- [X] 虛擬貨幣革命 | 區塊鏈技術將是未來,虛擬貨幣本質上與金銀財寶並無區別 |
- [X] 揭祕Java虛擬機器 | 從原始碼的角度談談HotSpot的一些原理,可以一讀 |
- [X] bi編寫可讀程式碼的藝術 | 體驗Kindle Unlimited服務時重讀了此書,無論是誰只要你在從事程式碼工作,都應該多讀讀 |
- [X] Android移動效能實戰 | 騰訊測試團隊出品,體現了一個測試團隊的專業性,在我工作過的幾家公司中,見過很多測試團隊只是點點.書中的內容對於從事開發的同學仍然有很大的啟示 |
-[X] 垃圾回收演算法與實現 | 中村成洋著作,真正幫你瞭解以及如何實現GC.我曾經面試過也被面試過,談到GC,很多都是理論,但實際上GC更為複雜.對Python同學和從事Java開發的童鞋,讀讀此書非常有幫助 |
- [X] 組合語言 | 王爽的第二版,算是一本老書,國慶回家期間重讀此書,其目的是回顧下以便更有效的打通計算機體系,從體層到高層,心中有劍,方能遊刃有餘 |
- [X] 程式設計師的自我修養-連結,裝載與庫 | 國內難得的好書,雖然有些點講的比較淺,但對於大部分程式設計師而言,此書有助於瞭解編譯到執行時的哪些事,再配合深入瞭解計算機系統那再好不過了 |
-[X] 編譯原理 | 龍書,在回顧一些知識點的時候,再次翻看了幾章.儘管我不做編譯器相關的工作,但仍然對其充滿嚮往和熱情 |
-[X] Java解惑 | |
-[X] LInux核心設計與實現 | 重讀,很多書只有在不同的階段多讀幾次,才能有更深的理解 |
生活
書目 | 簡評 |
---|---|
- [X] 活著 | 現在依然不錯,活著就要努力追求未來 |
- [X] 認識身體 | 像瞭解計算機一樣瞭解自己的身體,尊重生命,尊重自己的每個器官,熱愛生活 |
- [X] 暗網 | 匿名的網路世界,並不神祕.充滿罪與惡,美與醜,欺騙與恐嚇 |
思維
書目 | 簡評 |
---|---|
- [X] 刻意練習 | 相比<<異類>>而言,更科學系統的闡述了學習的本質 |
理財
書目 | 簡評 |
---|---|
- [X]從零開始學炒股 | 只是為了學看K線圖 |
- [X] 新賣桔者言 | 在經濟環境動盪的時代,張五常的經濟學理論能幫助我們理解點什麼. |
-----------------------------------------2017書單 -----------------------------------------
技術類書單
書目 | 簡評 |
---|---|
- [X] C和指標 | C語言入門,進階都可以讀 |
- [ ] Python絕技 | |
- [X] C專家程式設計 | 作為C和指標的補充 |
- [ ] 程式設計師的自我修養:連結,裝載與庫 | |
- [X] Linux/Unix設計思想 | 為什麼Linux/Unix是這個樣子?通俗易懂的科普 |
- [X] Linux Shell指令碼攻略 | Shell入門進階必備,一本足夠 |
- [ ] 圖解密碼技術 | |
- [ ] Java 加密與解密的藝術 | 全面講解加密解密的知識,很實用 |
- [ ] 第一步Docker書 | |
- [ ] Linux核心設計與實現 | |
- [ ] 全景探祕遊戲設計藝術 | |
- [X] 大型網站與Java中介軟體實踐 | 配合和大型網站技術架構看起來很不錯 |
- [X] App後臺開發運維和架構實踐 | 一本挺全面的書,涉及App後端相關技術 |
- [X] Android第一行程式碼(第2版) | 小夥伴的書,雖然很久不做應用開發,但趁假期期間重新梳理了一遍體系,沒什麼難點,推薦初學者入門 |
思維類書單
書目 | 簡評 |
---|---|
- [X] 第五項修煉 | 學習系統化思考,更好的解決問題 |
- [X] DOOM啟示錄 | 卡馬克和羅梅洛的傳記,兩個玩家如何走向遊戲之路,製作出影響力最大的DOOM和Quake遊戲.好吧,我喜歡這句"在如今的世界上沒有人能阻止你成功,你只需要一臺電腦和一冰箱的可樂和披薩,和為之獻身的決心" |
- [ ] 社會工程學 | |
- [ ] 大銀行家 | |
- [ ] 邏輯與人生 | |
- [X] 你的燈亮了嗎? | 看待問題的新思路 |
- [ ] 戰略與競爭分析 | |
- [ ] 佈局天下 | |
- [ ] 安全邊際 | |
- [X] 未來簡史 | 繼<<人類簡史>>之後的又一經典之作,未來世界變化,人意識形態的變化,社會結構的變革等到. |
- [ ] 改變,問題形成和解決的原則 | |
- [X] 軟技能-程式碼之外的生存指南 | 程式碼之外我們還需要做點什麼?職業發展,主動學習,自我營銷,理財以及健身應該是每個技術人員都要去關注的 |
- [X] 睡眠革命 | 從晝夜規律到R90睡眠方案,再到寢具,幫助我們獲得更好的睡眠質量 |
##投資理財
數目 | 簡評 |
---|---|
- [X] 小狗錢錢 | 通俗易懂,老少皆宜的理財入門書 |
- [X] 富爸爸,窮爸爸 | 為錢而工作,還是讓錢為自己工作?每個程式設計師都應該去了解金錢的真正意義 |
其他
書目 | 簡評 |
---|---|
- [X]大敗局 | 從秦池到亞細亞,作者細緻分析了改革開放30年中私營企業的高歌猛進及失敗之根源.現在回顧這兩年中許多網際網路企業失敗的原因其實和之前並無本質區別. |
- [ ] 矽谷之火 | |
- [ ] 中國底層訪談錄 | |
- [ ] 牛鬼蛇神錄 | |
- [ ] 瘋狂養生 | |
- [ ] 中國房地產,之厄 | |
- [ ] 十億消費者 | |
- [ ] 古今騙術大觀 | |
- [ ] 我挑戰了麥當勞 | |
- [ ] 世界偉人成功祕訣值之分析 | |
- [X] 解憂雜貨店 | 每個人心裡都有答案.才想明白,自己的心破了個洞, |
- [X] 你的知識需要管理 | 掌握知識管理的方法,才能更如魚得水. |
-----------------------------------------2016書單 -----------------------------------------
技術類書單
書目 | 簡評 |
---|---|
- [x] Android設計模式 | 結合Android系統原始碼來解釋設計模式,很不錯 |
- [x] 設計模式:可複用面向物件軟體的基礎 | 設計模式理論篇,沒有比這本更好的了 |
- [x] 七週七語言模型 | 瞭解多種程式設計範型,原理語言之爭 |
- [x] 深入理解現代計算機作業系統(第三版) | 必備神書 |
- [x] 演算法(第四版) | java同學深入演算法神書,這一本足夠了 |
- [x] NodeJs實戰 | 講nodejs難得好書 |
- [x] Android安全技術揭祕與防範 | 非蟲寫的書,做Android逆向的小夥伴人手一本吧 |
- [x] Android軟體安全與逆向分析 | 和上一本可以互補 |
- [x] Git版本控制管理 | 想深入Git背後原理的可以多讀讀 |
- [x] Gradle for Android中文版 | 介紹了一些gradle在android上常用的做法 |
- [x] 軟體隨想錄 | 關於軟體管理,軟體技術,人才和創業的文集,和<<黑客與畫家>>一樣值得一讀 |
- [x] 程式設計師之禪 | 16年離職創業失敗後讀到,談內心,生活,管理的一本文集 |
- [x] Java程式設計師面試筆試寶典 | 像我一樣不善於筆試的人,這本書當做鍛鍊還行 |
數學類書單
|書目||簡評|
|----|----|
|- [x] 初等數論|對畢達哥拉斯感興趣,好奇數字的發展,讓我對數字有了新的認識|
|- [x] 數學沉思錄|解釋了什麼是數學以及從數論開始延伸出的其他數學分支,結合<<什麼是數字>>讀更好|
|- [x] 數學之美|用最簡單的比喻解釋高深的數學概念及應用,最早是在12年讀過|
思維類書單
書目 | 簡評 |
---|---|
- [x] 專注力 | 或許對你提高自己的專注力有所幫助 |
- [x] 重塑大腦 | 重新認識下自己的大腦 |
- [x] 意識與腦 | 意識是怎麼產生的?你能意識到自己的意識麼?幫助自己理解自己大腦 |
- [x] 批判性思維 | 重樹自己的思維方式,這是本很棒的書 |
- [x] 判斷與決策 | 值得反覆讀,成體系的講述決策與判斷的心理學基礎 |
- [x] 別做正常的傻瓜 | 洞察自己思維漏洞,非常有意思 |
- [x] 怪誕心理學 | 統計了人類一些其他的行為和心理活動 |
- [x] 改變心理學的四十項研究 | 非常有趣的書,講述了40個經典的實驗以及背後的研究 |
- [x] 進化心理學 | 講進化生物學難的好書 |
- [x] 學會提問 | 同樣是講批判性思維的好書 |
- [x] 本能 | 從生物進化論的角度講了人類社會一些現象,很多都是你覺察不到的基因在作怪,和<<慾望之源>>類似 |
- [x] 粘住,為什麼我們會記住這些 | 建議英文版,講記憶相關 |
- [x] 自卑與超越 | 解決我的自卑,好書 |
- [x] 烏合之眾 | 人多不一定力量大,群體往往表現出愚蠢,這本書告訴你為什麼 |
- [x] 讓大腦自由:釋放天賦的12條定律 | 幾條更好用腦的定理 |
- [x] 拆掉思維的牆 | 古典寫的,講心智成熟,可以和<<巨嬰國>>一起讀 |
- [x] 自控力 | 怎麼樣增強自己的控制力,更好的管理自己,解決自己的拖延症呢?背後的一些原理需要學一學 |
- [x] 性學三理論與愛情心理學 | 性是促進人行為的動機啊,讀的我一愣一愣的 |
- [x] 我的網際網路方法論 | 周總的一些思想,看起來普通,但對公司/個人理解這個時代都有幫助 |
- [x] 奇點臨近 | 一本預測未來科技的書,現在看來好像挺準,比如現在人工智慧的發展. |
- [x] 人類簡史 | 大作,從歷史的角度講人類發展,我們都是智人的後代,尼安德特人為什麼消失了? |
- [x] 當我們閱讀的時候,我們看到了什麼 | 不言而喻,多讀幾遍 |
- [x] 如何高效學習 | 斯科特講學習方法,很實用,很系統 |
- [x] 語言本能:探索人類語言進化的奧祕 | 語言是很神奇的,看看吧 |
時間管理類書單
書目 | 簡評 |
---|---|
- [x] 奇特的一生 | 跟柳比歇夫學時間統計 |
- [x] 一年的8760個小時 | 艾力的傳記和時間管理 |
- [x] 和時間做朋友 | 李笑來講心智和時間管理,不錯 |
- [x] 時間管理:如何充分利用24小時 | 同樣是講時間管理的 |
其他類書單
書目 | 簡評 |
---|---|
- [x] 此生未完 | 復旦大學教師于娟病中最後一年的日記,珍愛自己身體吧,死了就什麼都沒了 |
- [x] 有一種幸福叫做感恩 | 恩,忘了講什麼了 |
- [x] 了不起的蓋茨比 | 很有趣味的一本小說,讀完之後卻令人深思 |
- [x] 激盪三十年 | 瞭解改革三十年來企業的發展和變革 |
- [x] 迷茫時代的明白人 | 邏輯思維集合 |
- [x] 10秒鐘讓自己不同凡響 | 好吧,我忘了這本書,不推薦讀了 |
- [x] 人生的智慧 | 學妹推薦的,恩,我也算是個悲觀主義者.叔本華的生活態度 |
附註:2016年一共讀了122本書,有點不務正業的感覺.後面再把其他書單補充上來.
-----------------------------------------2015書單 -----------------------------------------
技術類書單
書目 | 簡評 |
---|---|
- [x] 深入理解Java虛擬機器(第二版) | java程式設計師進階必備,另外java虛擬機器規範也值得一讀 |
- [x] Effective Java | 手邊必備,java程式設計中一些有效的技巧和注意點,另一本<<java解惑>>同樣很棒 |
- [x] Android開發藝術探索 | Android進階不錯的一本書 |
- [x] Android研發錄 | 創業期間讀得,值得一讀,很多點給了我幫助 |
- [x] Java併發程式設計實戰 | 看了5,6邊的書,仍然不時重讀,搞定併發程式設計這一本足夠 |
- [x] 白帽子講Web安全 | 阿里道哥寫的,講WEB安全挺系統的 |
- [x] RxJava Essentials CN | RxJava在15年對Android開發者而耳熟能詳,這本書從頭到尾帶你認識RxJava |
- [x] 深入理解Java記憶體模型 | 瞭解JMM必備書籍,幫助你認識多執行緒安全問題 |
- [x] 大型網站技術架構 | 介紹了網站架構的演進和發展史,並給出較為通用的解決方案 |
- [x] Python學習手冊 | 學習Python的小手冊 |
- [x] 圖解HTTP | 通俗易懂的帶你認識HTTP,結合<<TCP/UDP詳解卷一>>一起讀更好 |
- [x] 測試驅動開發 | 一種新的開發方式,15年創業時實踐過 |
- [x] Groovy經典入門 | 玩轉Gradle之前先來入門Groovy更好 |
- [x] EffectiveMySql之SQL語句最優化 | 一些編寫SQL語句的技巧 |
- [x] 程式設計師面試筆試寶典 | 想要面試外企麼?這本書非常適合,其中的一些面試題也不錯 |
思維類
書目 | 簡評 |
---|---|
- [x] 暗時間 | 劉偉鵬的書,很不錯的一本小文集合,值得一看 |
- [x] 危險人格識別術 | 幾種常見的危險人格,看完之後感覺自己處在水深火熱之中 |
- [x] 影響力 | 你是怎麼被別人忽悠的?或者你想知道怎麼忽悠別人麼,看這本書應該有幫助 |
- [x] 高效能人士的七個習慣 | 幾個高效做事的習慣,值得一看 |
- [x] 創業維艱 | 15年離開創業公司後看的書,感同身受 |
- [x] 什麼是數學 | 我一直覺得自己是個數學渣渣,所以重新來認識了數學 |
- [x] 怎樣解題 | 跟波利亞一起學解題,非常好 |
- [x] 如何閱讀一本書 | 將讀書方法的一本老書,其思想永恆 |
- [x] 給你一個團隊,你能怎麼管? | 創業時候管理團隊看的一本書,關於團隊管理 |
- [x] 異類 | 分析一些成功人士,1萬個小時定律來於此 |
- [x] 人月神話 | 所有搞軟體工程的人都值得一看 |
- [x] 慾望之願 | 人的一些本能在無形之中影響著我們,入門級讀物,後面可以讀<<進化心理學>> |
- [x] 貪婪的大腦 | 側重於大腦功能和結構講解,比如說意識是什麼,工作記憶等 |
-----------------------------------------關於讀書 -----------------------------------------
每個人都有自己的讀書方法和特點,這裡簡單的寫一下我自己有關讀書方面的一些做法.
什麼時候讀書?
- 創造大塊的時間讀重要的書,利用好瑣碎的時間.
- 每天穩定在3-6小時的閱讀時間,早晚1–2一小時左右,中午半小時左右
建議看完書後快速筆記,這樣會理解更深,記得更久.我通常選擇邏輯圖和思維導圖,有時候也會直接白紙列大綱.一個簡單的思維導圖可以是這樣的:
##讀什麼樣的書?
為了避免浪費精力在一些"垃圾書",讀書之前需要對書籍進行篩選,最終目標就是:讀好書.這就要求你在讀書之前獲得對該書的大致評估.如何評估一本書事關重要,有以下幾個方法可供參考:
- 看作者.牛的作者的書一般不錯.比如Joshua Bloch寫的Effective Java不錯,那麼他寫的Java Puzzlers同樣值得一看:
- 看豆瓣或者Amazon的評分,除了關注整體打分,也需要關注最低評分.就我個人經驗而言,最低評分更可能是對這本書有深入理解的人打出來的.
- 看目錄和簡介.目錄是否清晰,是否直白,一本好書在目錄上給你很大的引導,而非胡說八道.
另外,一定要確定好你需要讀什麼類別的書,這樣可以保證你始終把精力放在主題上,關注自己該關注的才會提升自己的效率.比如我通常會讀以下幾類書:
- 心理學類
- 學習方法類
- 技術類(開發+安全)
如何搜尋好書
有些朋友問我如何搜尋好書?在我看來,現在網際網路時代找一本好書確實變得更難了,我們永遠無法得知一本"好書"的背後是否有一堆竊笑的營銷人員.這裡同樣有幾條建議值得一看:
- 同作者的著作.如果一個作者很牛,那麼他寫的其他書也不會很差.
- Amazon相關推薦和豆瓣上的豆列.
- 一本好書或者部落格中所重點提到的其他著作.一本書中提到的其他著作往往也不錯.比如我在劉未鵬的部落格中就看到很多好書推薦.
- 不知道你注意到沒有,有些大牛也會偶爾推薦一些好書,前提是你要關注他的日常.比如餘弦推薦的幾本黑客方面的書籍很不錯
如何建立書籍等級?
給自己建立一套書籍評分制度是個非常不錯的做法,能夠有效的幫助我們制定讀書策略.我將書籍定為4分制,不同的分值含義如下:
- 5分:對自己目前幫助很大,能幫助建立新的知識體系或者改進現有知識體系,多次、需要持續閱讀和精讀.比如像Effective Java之類就是5分.
- 4分:用來擴充套件閱讀,對自己現有的知識體系進行補充和擴充套件,一般我會定時閱讀這類書籍.
- 3分:書中的某部分需要學習或精讀,比如像<<程式設計師面試金典>>,再比如CSDN雜誌中的部分章節.
- 2分:速度一遍即可,通常是雜談/消遣之類的文章,比如<<將來的你,一定會感謝現在拼命的自己>>
用什麼來讀?
網際網路時代有了更多的選擇,除了傳統的書籍外,還有很多電子閱讀裝置來選擇.我日常的閱讀工具是ipad mini2,kindle以及pc.
一些技術類的書籍我通常選擇紙質.在我看來,除了體積較大這個缺點外,沒有比書籍更方面的閱讀工具了:可以隨便翻頁,用筆在上面在批註等等.
kindle於我而言是在地鐵上不可或缺的,每次上班地鐵上40多分鐘,在我看來這就是kindle最佳的使用場所.通常我會用它閱讀一些文學,思維類書籍.
iPad mini2上我主要裝了多看閱讀器,實在是太好用了.通常我會用它閱讀一些pdf格式的書籍:有些書籍並不值得買,但卻值得一讀,所以從網上獲取這種開放性的資源就是非常好的途徑了.
不動筆墨不讀書.我有做註釋的習慣,但有些pdf格式的書無法用多看來做註釋,那麼選擇pc上專業的閱讀工具就是很好的做法了
複習計劃
所謂書讀百遍其義自見,好書更是如此.一本書讀過之後若不加以重讀,往往會產生兩個方面的問題:其一理解不深,不透;其二就是遺忘太快.因此給自己一個合理的複習計劃就顯得很重要.有一條很簡單卻實用的準則可以參考:書無一遍書,好書更翻倍.通俗點就是一本書讀了一遍那不叫讀書,應該多讀幾遍.
如何進行快讀閱讀
上面談了一些關於讀書方面很實際的問題,下面來談快速閱讀,我想這個也許是很多人感興趣的.以下並非誇誇其談,而是我多年實踐所得,其中有些也是受別人啟發,最終才形成了這一套閱讀方式.需要說明的一點快速閱讀相對較累,請保證自己有個好身體,不然談快速閱讀就沒啥意義了,這就好比你騎著自行車和法拉利比賽跑一樣,你的自行車再好也不會比法拉利更快.
很多談快速閱讀,教快速閱讀的文章都將其寫的太過於理論化,抽象化,以至於讓很多人覺得這是一項高深的技能.但其實人人天生都會快速閱讀,只不過通過適當的訓練快速閱讀之後的效果更好而已.
讀書都一樣,分為三個過程:之前,之中,之後.快速閱讀雖如此,但稍微有所不同.現在我將這幾個階段做什麼告訴你.
之前
在速讀之前,請務必做到以下幾點:
1.早期練習的時候給自己創造一個無干擾的環境.否則在你快速閱讀的過程中來自周圍的干擾資訊將會導致你的注意力分散,導致對文章的理解中斷.當你熟悉之後,無論再大的干擾也不會影響你了
2.速讀之前放鬆你的大腦.速讀的時候,只有在大腦處在放鬆並且集中的狀態下才會取得非常好的效果,因此有必要在開始速讀之前清空你的雜念,放鬆你的大腦.另外如果在速讀過程中讓大腦過程緊張,會導致你在速讀過程感到非常疲憊.
3.閱讀之前一定要有明確的目的,否則容易造成閱讀沒有中心,理解不夠.因此閱讀之前,有必要問自己:閱讀這篇文章想獲得什麼知識.
進行
在讀書時要做什麼?我來告訴你我是怎麼做的:
-
閱讀過程中,快讀有效的跳動眼睛視野,並要求你的大腦跟的上你的視野.只有你的大腦跟上了你的視野,大腦才將你看到的資訊納入到意識的層次上,才有可能對當前看到的資訊進行處理
-
閱讀過程中要不斷進行閱讀總結.在閱讀過程中,眼睛看到文字,然後心中總結這段文字的意思.我們知道重複是記憶之母,根據我的實踐,我認為重複也是理解之母.
-
閱讀過程中要不斷的提出問題.通過不斷的提問題,你的大腦會自動的尋找答案.而不斷的提問能夠保證你的大腦在閱讀過程中保持和書本的聯絡.
之後
讀完之後要做點什麼呢?有些人會深吸一口氣,然後覺得該放鬆了,應該躺在床上休息一會或者聽會歌,總之,他們覺得剛才那麼累了,現在是該放鬆下了.但是經過我多年的實踐,我發現讀完之後立刻做筆記/總結對我們更有幫助.
因此,我的建議是:一定要做閱讀後的筆記.無論讀完什麼書,都要去做一點的筆記,筆記越短越好,並且最好是豐富多彩的,優先選擇圖文的方法,這樣可以讓記憶"視覺化",它作能夠促使我們的大腦進行回憶,並對其中內容進行邏輯整理.
終結
關於讀書就暫時說這麼些.最後說句很實在的話來解釋為什麼讀書:人腦的學習是非主動的,而是在外接的資訊的刺激下被動性的學習.因此,通過讀書來獲取源源不斷的資訊來促進自己的學習就是一件理所應當的事情了.