一个程序员的日常书单(更新于2018/10/7)

Posted 江湖人称小白哥

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个程序员的日常书单(更新于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 CNRxJava在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] 贪婪的大脑侧重于大脑功能和结构讲解,比如说意识是什么,工作记忆等

-----------------------------------------关于读书 -----------------------------------------

每个人都有自己的读书方法和特点,这里简单的写一下我自己有关读书方面的一些做法.

什么时候读书?

  1. 创造大块的时间读重要的书,利用好琐碎的时间.
  2. 每天稳定在3-6小时的阅读时间,早晚1–2一小时左右,中午半小时左右

建议看完书后快速笔记,这样会理解更深,记得更久.我通常选择逻辑图和思维导图,有时候也会直接白纸列大纲.一个简单的思维导图可以是这样的:

##读什么样的书?
为了避免浪费精力在一些"垃圾书",读书之前需要对书籍进行筛选,最终目标就是:读好书.这就要求你在读书之前获得对该书的大致评估.如何评估一本书事关重要,有以下几个方法可供参考:

  1. 看作者.牛的作者的书一般不错.比如Joshua Bloch写的Effective Java不错,那么他写的Java Puzzlers同样值得一看:
  2. 看豆瓣或者Amazon的评分,除了关注整体打分,也需要关注最低评分.就我个人经验而言,最低评分更可能是对这本书有深入理解的人打出来的.
  3. 看目录和简介.目录是否清晰,是否直白,一本好书在目录上给你很大的引导,而非胡说八道.

另外,一定要确定好你需要读什么类别的书,这样可以保证你始终把精力放在主题上,关注自己该关注的才会提升自己的效率.比如我通常会读以下几类书:

  • 心理学类
  • 学习方法类
  • 技术类(开发+安全)

如何搜寻好书

有些朋友问我如何搜寻好书?在我看来,现在互联网时代找一本好书确实变得更难了,我们永远无法得知一本"好书"的背后是否有一堆窃笑的营销人员.这里同样有几条建议值得一看:

  • 同作者的著作.如果一个作者很牛,那么他写的其他书也不会很差.
  • 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.阅读之前一定要有明确的目的,否则容易造成阅读没有中心,理解不够.因此阅读之前,有必要问自己:阅读这篇文章想获得什么知识.

进行

在读书时要做什么?我来告诉你我是怎么做的:

  1. 阅读过程中,快读有效的跳动眼睛视野,并要求你的大脑跟的上你的视野.只有你的大脑跟上了你的视野,大脑才将你看到的信息纳入到意识的层次上,才有可能对当前看到的信息进行处理

  2. 阅读过程中要不断进行阅读总结.在阅读过程中,眼睛看到文字,然后心中总结这段文字的意思.我们知道重复是记忆之母,根据我的实践,我认为重复也是理解之母.

  3. 阅读过程中要不断的提出问题.通过不断的提问题,你的大脑会自动的寻找答案.而不断的提问能够保证你的大脑在阅读过程中保持和书本的联系.

之后

读完之后要做点什么呢?有些人会深吸一口气,然后觉得该放松了,应该躺在床上休息一会或者听会歌,总之,他们觉得刚才那么累了,现在是该放松下了.但是经过我多年的实践,我发现读完之后立刻做笔记/总结对我们更有帮助.

因此,我的建议是:一定要做阅读后的笔记.无论读完什么书,都要去做一点的笔记,笔记越短越好,并且最好是丰富多彩的,优先选择图文的方法,这样可以让记忆"视觉化",它作能够促使我们的大脑进行回忆,并对其中内容进行逻辑整理.


终结

关于读书就暂时说这么些.最后说句很实在的话来解释为什么读书:人脑的学习是非主动的,而是在外接的信息的刺激下被动性的学习.因此,通过读书来获取源源不断的信息来促进自己的学习就是一件理所应当的事情了.

以上是关于一个程序员的日常书单(更新于2018/10/7)的主要内容,如果未能解决你的问题,请参考以下文章

2018年书单

程序员书单 (不定期更新)

推荐的书单(持续更新)

IT书单-持续更新

1.程序员必读书单

非科班程序员的书单推荐(文末有福利)