进行中
技术类:
《Building Event Driven Microservices》80%,有一些新东西,看完总结一下。
《Rust for Rustaceans》20%,第一章结尾的例子真让人头疼。。
《Queueing theory in Action》 13%,排队论可以解释很多性能问题,也可以做调度优化,这本要好好看看。
《Software engineering at Google》25%,看完好好批判一下 Google。
《Prometheus Up and Running》50%,这书翻译也太烂了,拼写错误都很多,影响阅读。内容的话,应该算是科普水平,了解一下监控里的基本概念还是可以的。更强的监控要看看 Google 的 Monarch 论文。
《JVM G1GC 的算法与实现》,25%,卧槽,好复杂,不知道能不能坚持看完。
《垃圾回收的算法与实现》,50%,日本人写的书,挺不错的,看算法部分就可以了。
《gc handbook》20%,这本比较权威,并且也做过修订,2000 年以后的一些新的论文细节也存在。
《SRE Google 运维解密》40%,等看完了好好批判一下 Google。
《97 Things Every Cloud Engineer Should Know》10%
《The Rise and Fall of Software Recipes》20%
《Distributed Computing Pearls》 1%
《Shared-Memory Synchronization》 20%
《high performance browser networking》 10%
《游戏情感设计》30%
《A Primer on Memory Consistency and Cache Coherence》 20%
《perfbook》 60%,别名 《is parallel programming hard, and if so, what can we do about it》,作者起名风格和日本轻小说很像 233。这本书大部分话题都是并行编程,而之所以我们的程序需要并行,是和 cpu 架构和操作系统内核分不开的,因此也就会讲一些相关的知识。读过之后,对于很多层面的知识有了更深入的理解。如:锁,内存屏障,并行算法,并行数据结构等等。
《A Philosophy of software design》 36% 工程和方法论相关的书。
《Programming Rust》 70% 学一下所谓最先进的语言。
《Streaming Processing with Apache Flink》 50%,先看这么多,暂时还没机会用,等纸质版到手了继续。
《Rust 编程之道》 60%
《Step Ahead with Rust》 50%
《Streaming Systems》 40%
《Computer Networks 5th》 5%,太厚了。。慢慢看
《Dive into Refactoring》 5%,买的一本不错的电子书。帮助复习重构。
《The RISC-V Reader》5%,了解一下 cpu 的业界最近设计。
《The Linux Programming Interface》 10%,希望 2020 年能把这本书啃完。。以前的 apue 看得头痛,这本比 apue 要好得多
《Attacking network protocols》 10%,烂尾中
《Linux 二进制分析》 10%,烂尾中
《编程语言实现模式》 10%,和 AntLR 权威指南一样,暂时没发现比较好的应用场景,也没精力去实现一套自己的 AntLR。。所以暂时搁置。
《编码风格》 20%,小薄册子,估计过两天就 100% 了
《effective tcp/ip programming》 15%,这书国内竟然绝版。。只能从美亚买了一本。
《图解性能优化》 20%,当闲书读。
《Linux System Programming》 20%,配合着 TLPI 读的,感觉没有 TLPI 写的好,不过毕竟 TLPI 是 2014 年才出版的。
《Writing an interpreter in Go》 30%,暂时想不清楚应用场景,烂尾中
《Redis 设计与实现》 50%,烂尾中,哪天兴头来了大概就补齐了。
《CSAPP 3rd》 50%,学生时代其实已经读过了,那时候看不懂(汗,现在差不多能看懂了,但是烂尾中
非技术类:
《stop reading news》,100%,150 页的小册子,内容不多,为了凑够 150 页作者也是不容易。。。作者阐述了新闻的本质,大部分我也是认同的,减少新闻的摄入量可以有效的帮助我们缓解焦虑,多读深度和长篇的非虚构内容才能增强自己的深度思考能力。新媒体为了流量已经丢掉了下限,作为科技行业从业者,应该尽量拒绝这些信息垃圾,兼听则明,逃离信息茧房。
《写作的逻辑》100%,里面的观点,在上小学和中学,学习写各类文章的时候,就已经都学习过了。还是总结了一点笔记:笔记
《知识变现》 100%,对于信奉技术就是一切的人来说,这本书对三观的冲击力还是比较大的。现在是个快时代,如果自己不为自己发声,不去主动探索提升个人影响力的方法,那很快就会被淹没在互联网的噪声里。适度的自我包装和宣传是必须要做的,太谦虚在这个时代没什么好处,应该尽可能地利用好各种平台。这点上我觉得自己做的不太好,今年会付诸行动尝试开拓自己的各种宣传频道,要更厚脸皮。
《重来 3:跳出疯狂的忙碌》 100%,看到朋友圈有人分享,花了一下午的时间就看完了,作者是 basecamp 这个公司的人,这个公司的特点是全远程,小规模,创立了十多年,公司一直都有不错的盈收,并且感觉这些公司的掌管者是很能管理个人欲望的人,所以不像大多数的资本家,沦为了资本增殖的工具人。basecamp 这家公司也不太像 thinking in system 这本书里讲的,让“公司”体现出他吞噬一切的天性。对于技术人员来说,这样的公司大概就是乌托邦了吧。在国内是不可能有了。抽时间把这个系列的前两本也看一下。
已完成
技术类
《Go 100 mistakes》 100%,一部分还可以,一部分充数,为了凑够 100 个确实不容易。总体而言还算可以。
《architecting for scale》100%,垃圾。
《业务架构·应用架构·数据架构》100%,太垃圾了,怎么会有这么垃圾的书,以后买这方面的还是得看看作者的背景。
《架构之道》100%,这本书有两部分,前 100 页在讲架构设计,后 200 页是项目设计。架构设计这部分很有价值,和其它架构书的观点不太一样,值得学习,读书笔记在:这里 , 后半部分项目设计主要是基于公众项拆分,关键路径的项目排期管理,以及各种风险的管理,这些东西在各大公司内面向高级以上工程师的项目管理课上都讲过了,我们在上学的时候软件工程课里也讲过这个,且没什么新观点,价值一般。感兴趣的可以看看前面 100 页。
《微服务架构设计模式》100%,这本书是真的不错,难能可贵的是每一个技术方案都详尽地分析了缺陷,而不是无脑吹捧,看作者是 microservices.io 站点的作者,照片是个慈祥的老头,应该也是过了追逐名利的阶段了吧。读书笔记看这里:这里
《云游戏》100%,讲了游戏的发展史,云游戏的基础设施条件,各种资源虚拟化,以及国内目前各家的云游戏进展情况。但是没有说 Google 的 Stadia 项目遭到抛弃。个人其实不喜欢国内这种做游戏带了过多铜臭的环境。毕竟即使是自 high,也是曾经被称为第九艺术的产业啊。
《living documentation》 100%,英文看了一半,中文看了一半,拼起来看完了。java 有注解,所以可以在注解上玩很多花活儿,如果是 rust 应该也可以。其它没有注解的语言的话,像 Go 和 swagger 整合的时候有些项目会把注解写在注释里,比如 beego。确实要麻烦一些,读书笔记可以见:这里 。
《性能之巅第一版》100%,第一版出版实在太老了,solaris 和 dtrace 占据了大量的篇幅,中文翻译质量也比较一般。第二版之后再好好看一遍。
《Thinking in system: a primer》 100%,感觉收获挺多的,看看有没有时间写个总结。
《敏捷整洁之道》100%,老年人对行业和敏捷发展的吐槽。当小说看还挺有意思的。
《Black Hat Go》 100%,内容一般,5,8,9,10,11 章是不太常见的内容,可以关注一下。
《Rust by Example》100%,跟着敲敲代码,对基本的概念什么的确实熟练了很多。
《深入浅出 Rust》 100%,语言发展的还是挺快的,19 年底 async 稳定之后再回头看这本书,后半部分很多已经过时了。
《中台战略》 100%,还是阿里的大佬能折腾,甘拜下风。电商业务售前、售中、售后几乎涉及了大部分互联网公司的技术,把阿里内部的业务功能列列就能写很长了。
《Rust in Action》 100%,MEAP 版,买了粗略地扫了一眼,写的不错,不过比较入门级。。
《实现领域驱动设计》 100%,这本比领域驱动设计精粹出的早,看完这本,该作者的两本 DDD 相关的书也就看完了。因为书出的早,现在很多概念互联网企业已经潜移默化地在用了,回顾的话其实有用的东西并没有想像中那么多。不过可以结合书中的理念来分析公司内的系统,还算有点意思。抽时间写一点总结。
《领域驱动设计精粹》 100%,thoughtworks 的人翻译还挺良心的。这一本是 IDDD 的作者重写的一本精简版本的 DDD 入门书,不过主要的思路都囊括在内了,IDDD 看不下去的话可以先看这一本。感觉这个作者几本书看下来都感觉不怎么有趣的原因,是因为他的主要案例都是敏捷开发系统。作者大概认为敏捷开发像设计模式那样是 IT 领域内所有人的公共语言,实际上显然不是这样。大多数人都听过敏捷开发的概念,但实际上没几个人按 Sprint、Backlog 之类的理念来做开发,大家也就形式上抄抄。个人认为写 DDD 书的话,还是用电商的案例稍微好一些。
《Designing Data Intensive Applications》 100%,真的牛逼!全搞明白你就是牛逼的架构师。没什么可质疑的。
《遗留系统构建实战》 100%,这本英文名是 《Reengineering the Legacy Software》,作者是卫报的工程师。书里强调了开发环境自动化和重构的作用,同时也批判了 TDD 和 Agile 信徒在某些方面的观点不可信。总体来看还是可以的,不过毕竟看起来作者工作的环境不是大公司,所以在讲架构相关的内容的时候没有把一些方案的成本考虑在内,有一定的局限性。希望未来自己也能写一些类似的文章,或者是书。
《Building MicroServices》 100%,这本书很早就看过英文版,这次听人推荐又把中文版回顾了一遍。感觉当时真是白看了。。。。在做了多年的开发,见过各种大大小小的架构和形形色色的故障之后,看这种宏观的书,确实还是会有些不同的感悟。
《The Rust Programming Language》 100%,之所以关注这门语言,是因为之前 follow 的几个程序员(一个是 interpreterbook 的作者,另一个是 github 上 go-internal 的作者),都开始陆陆续续地开了一些 rust 的仓库,再不学习感觉就和偶像们拉开差距了。这本书看下来,个人观点,这门语言不太可能火。。开发组的理念是不限制用户在使用语言时的编码风格,所以理论上一个茴会有很多很多种写法,甚至可以用宏在语言内定制出自己的 DSL,本来语言就够复杂了,还要带来新语言问题,这是一定会被人玩坏的。不过在学习的过程中也发现了,泛型真的是个好东西啊~要是 Go 也能尽快上就好了。另外拿 rust 写一些练习的时候发现,带有循环引用的数据结构非常非常难写,比如大多数语言数据结构入门题的链表,在 rust 里就变成了很困难的一件事情。。非常难写,而且非常难通过编译。最终 rust 能施展开手脚的地方,大概也只有系统编程了,领域实在有点太窄。明年这个时候再看看什么情况。
《企业 IT 架构转型之道:阿里巴巴中台战略思想与架构实战》 100%,这本书非常好,阿里同样作为业务驱动的公司,因为同样的业务(淘宝、天猫)叠代非常久的关系,所以业务架构方面的积累非常深厚。在滴滴做系统的时候,我之前有一些解决目前问题的想法,感觉在这本书里都找到了类似的方案。看来我所遇到的问题大多也是互联网公司的通用问题,只不过上了规模的公司才会把这些事情当作问题来看待。
《Build Evolutionary Architecture》 100%,本质上没有什么新观点,就是教你架构不太可能一次做好,一定要留有演进的空间,并且介绍了企业架构的一些常见范式。然后再以 thoughtworks 的骄傲为名发明了一大堆名词,真是醉了。顺便推荐了一本 《refactoring database》。抽时间看看~
《Low Level Programming》 100%,翻译烂尾了,不过书基本读完了,作为汇编和 C 以及体系结构的入门书挺不错的。
《practical nats》 100%,凑字数比较严重啊。。都教你怎么配 SSL,和写一个 web 程序了,还是全代码粘贴的。
《修改软件的艺术》 100%,TDD 信徒的布道书。讲的挺好的,感觉目前业界大多数项目在这方面做的都不太好。
《大型网站技术架构演进与性能优化》 100%,大佬的行文一会是说阿里,一会是说滴滴,着实有点分裂。书中有些观点不太认同。用阿里的发展思路套用在滴滴身上个人认为不是很合适。
《A little java,a few patterns》 100%,too simple。
《Go Cookbook》 100%,内容有点太初级了,适合没有写过的人看。raft 的简单 demo 还可以。
《Concurrency in Go》 100%,这本书里讲的一些并发模式挺有意思的,不过作者始终在强调 avoid premature optimization。。不知道是不是心虚啊哈哈
《Linux Forensics》 看标题感觉是很高端的一本书,结果实际上偏入门。。而且讲的主要是怎么分析服务器被恶意入侵了,不太适合我。不过解答了一个我一直忘记去确认的问题。。用 lsof 可以查看进程打开了哪些文件,比我之前给应届生分享的用 strace 来看 open 系统调用不知道高到哪里去了 orz。
《Distributed Computing with Go》 100%,前面讲了一点 Goroutine 和 Channel 的基础,后面的内容太水了。。讲 Rest、自己造的一个分布式搜索引擎,还有微服务。。感觉文不对题啊。
《AntLR 权威指南》 100%,之前想的一些应用场景等把这本书读完的时候再回想一下就感觉不合适了。我们的业务系统都是 Go 实现,但 AntLR 的 Go Target 有不少缺陷,比如有内存泄露问题,因为 Go 本身没有继承的关系,暂时还不支持 Visitor 模式等等。所以暂时弃疗了。
《Timeless Law of Sofware Development》 100%,感觉没什么印象深刻的。。。都是些鸡毛蒜皮的事情。
《Clean Architecture》 100%,写的很好,就是有点反反复复。最核心的观点实际上就是借助 interface 实现的多态和依赖反转。不过能把软件工程发展史串起来还是挺不错的。
《大型网站技术架构》 100%,没啥可说的,web 架构入门书。
《大型分布式网站设计与实践》 100%,和上面那本相辅相成,都是阿里的人写的。
《The Go Programming Language》 100%,跟随柴大完成了本书的社区版翻译。github 上已有超过 1k star。
《Go 语言实战》 100%,主要是案例书,没啥可说的。
《Go web 编程》 100%,web 开发方面,感觉写的太简单了。
《汇编语言》 100%,王爽的那本,学生时代没看完,现在终于补完了。
《C++ primer 4th》 100%,学生时代看了 N 遍,现在连 C++ 的友元函数大概都想不起来了。
《C Primer Plus》 100%,实在是太基础了,也就 C11 的部分值得读一读,也没多少内容。
《redis 实战》 100%,比较基础,主要是应用。
《Linux with Operating System Concepts》 100%,标题是骗人的,这书要是拿来当大学教材教人操作系统知识,感觉就是误人子弟啊。
《Clean Code》 100%,好书赞赞赞。
《Clean Coder》 100%,所谓的职业素养,实际上主要教你怎么拒绝。
《编写可读代码的艺术》 100%,小册子,但写得非常好,代码审美入门书。
《淘宝技术这十年》 100%,牛逼吹得蛮多,不过公司发展了十年确实技术积累雄厚啊!随便讲讲几年的工作就有很多篇幅了~
《自制搜索引擎》 100%,简单地学习了倒排列表原理。核心算法实际上是多排序列表交集算法。讲得比较浅,不过我也不是做这个,其实也足够了。
《程序员修炼之道》 100%,感觉写得比较乱。。也都是些鸡毛蒜皮的事情。
《go 学习笔记》 100%,雨痕真是太牛逼了,希望哪天也能达到他的水平啊。
非技术类
非技术就不列两年前的了。。
《双11:世上没有偶然的奇迹》100%,内网看到了作者吐槽 A 家的帖子,感觉很有水平。不过书读完感觉也就那么回事吧。不知道作者在阿里的职位是什么,这本书谈的很泛,读者能吸收到的经验也很有限。
《为什么中国人勤劳却不富有》 100%,10 年前的书了,现在看还是有一点感慨。年轻人的生存境遇和国家政策的变迁是分不开的。
《娱乐至死》 100%,书中主要讲的是电视文化,现在可以上升为娱乐文化对人类的荼毒,沉迷于娱乐很容易放弃思考。
《生而贫穷》 100%,对中国现实的反思,但看上去现状很绝望。人们都是活在特定的历史时期,我们也不例外。
计划中
《Computer Organisation and Design》
《深入理解 linux 内核架构》
《奔跑吧 linux 内核》
《linux kernel development》
《Principle of Transaction Processing》
《Modern X86 Assembly Language》
《Practical Packet Analysis 3rd》
《The Art of Unix Programming》
《Understanding the Linux Kernel》
《Understanding Linux Network internals》
《The Art of Multiprocessor Programming》
机器学习和深度学习的若干书籍,想起来大三的时候就拿 C 写过神经网络,然后就被 coredump 到不想搞了。现在回来学这个大概也是还债了。
llvm 的若干书籍,读这些书大概是给自己找些后路了。。如果哪天不干 web 开发了的话。
《美丽新世界》、《我们》,这两本和前面的 1984 都是反乌托邦三部曲里的书。