readings

进行中

技术类:

《微服务架构设计模式》10%

《深入浅出 Rust》70%

《Rust by Example》60%

《游戏情感设计》30%

《A Primer on Memory Consistency and Cache Coherence》 10%

《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%

《实现领域驱动设计》 70%,这书读着太恶心了。

《Computer Networks 5th》 5%,太厚了。。慢慢看

《Dive into Refactoring》 5%,买的一本不错的电子书。帮助复习重构。

《The RISC-V Reader》5%,了解一下 cpu 的业界最近设计。

《The Linux Programming Interface》 10%,希望 2019 年能把这本书啃完。。以前的 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%,学生时代其实已经读过了,那时候看不懂(汗,现在差不多能看懂了,但是烂尾中

非技术类:

《童年的消逝》 20%

《1984》 20%

已完成

技术类

《领域驱动设计精粹》 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%,雨痕真是太牛逼了,希望哪天也能达到他的水平啊。

非技术类

非技术就不列两年前的了。。

《为什么中国人勤劳却不富有》 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 都是反乌托邦三部曲里的书。

家境贫寒,整理不易,客官如果觉得不错欢迎打赏!我的微信 xargin_buaa,如果想交流也欢迎来加~