主页

索引

模块索引

搜索页面

极客来源

极客-数据分析实战45讲

思维:

《思维简史:从丛林到宇宙》

数据处理:

《数据挖掘:概念与技术》
《Pentaho Kettle 解决方案》
《精益数据分析》
《Small Data》
《利用 Python 进行数据分析》

商业相关书籍推荐:

《洛克菲勒留给儿子的 38 封信》
《商业冒险:华尔街的 12 个经典故事》
《从 0 到 1:开启商业与未来的秘密》
《商业的本质》

极客-乔新亮的 CTO成长复盘

  • 一本叫做《数据化决策》(道格拉斯・W・哈伯德 著):

    1. 一切皆可量化,这点很重要,这个是一个很重要的认知,可以用来指导自己的各项工作;
    2. 没有目标的数据收集、量化是没有意义的,量化是为了决策,决策的目的才是关键;人生重要的节点都是要决策的,决策的时候要有数据,要量化来分析,指导自己的行为;
    3. 书中提及了很多的案例和方法,可以让自己理解
    4. 可以用用这些方法来实践,具体实践时候可以结合自己的领悟使用,确实书中有不少技术的内容,比如蒙特卡洛算法,可能不做大数据的人,听着就有点懵,跳过就好了,领悟背后的认知也是很好的。
    
  • 一本叫做《深度思维》

极客-DDD实战课

  1. 《领域驱动设计:软件核心复杂性应对之道》

    9.1 277 人评价 作者: 埃文斯 出版年: 2010-11

  2. 《实现领域驱动设计》:

    8.4      384 人评价
    出版年: 2014-3
    作者: Vaughn Vernon,
    原作名: Implementing Domain-Driven Design
    
  3. 《微服务架构设计模式》:

    9.1    513 人评价
    出版年: 2019-5
    作者: [美] 克里斯・理查森(Chris Richardson)
    原作名: Microservices Patterns:With Examples in Java
    

极客-左耳听风

  • 《深入理解计算机系统》(Randal E. Bryant)

  • 《UNIX 环境高级编程》、《UNIX 网络编程》和《Windows 核心编程》

  • 《TCP/IP 详解》

  • 《技术领导之路》、《卓有成效的管理者》

极客-深入浅出计算机组成原理

入门

  • 《计算机是怎样跑起来的》

  • 《程序是怎样跑起来的》

  • Coursera 上的北京大学免费公开课《Computer Organization》:

深入学习

  • 《计算机组成与设计:硬件 / 软件接口》

  • 经典的 CSAPP《深入理解计算机系统》

课外阅读

  • 《编码:隐匿在计算机软硬件背后的语言》

  • 《程序员的自我修养:链接、装载和库》

  • 《深入理解计算机系统》

  • 《数字逻辑应用与设计》

极客-网络编程实战

  • 《UNIX 网络编程》

  • 《TCP/IP 详解》

极客-趣谈Linux操作系统

  • 《程序员的自我修养 - 链接、装载和库》

  • 《深入理解计算机系统》

  • 《庖丁解牛 Linux 内核分析》( https://j.youzan.com/BA2Fr9

  • 《一个操作系统的实现》,《linux 内核设计与实现》《现代操作系统》《intel 汇编程序》《深入理解计算机系统》《unix 高级环境编程》

  • 《数据结构与算法分析:C 语言描述》

  • 《汇编语言:基于 x86 处理器》

  • 《别以为真懂 Openstack:虚拟机创建的 50 个步骤和 100 个知识点》

  • 《Linux Device Drivers》

极客-操作系统实战

极客-实用密码学

  • 经典书籍:Bruce Schneier 的《应用密码学:协议、算法与 C 源程序》

极客-跟着高手学复盘

  • 添・高威在《工作的内在诀窍》

  • 科学管理之父弗雷德里克・泰勒(Frederick W. Taylor)在《科学管理原理》

  • 麦肯锡的第一个女咨询顾问巴巴拉・明托(Barbara Minto)在《金字塔原理》(The Minto Pyramid Principle)

  • 1990 年出版的管理学经典著作《第五项修炼》,它是这本书的作者、学习型组织理论的鼻祖彼得・圣吉(Peter M. Senge)

  • 《原则》的作者是桥水基金的创始人瑞・达利欧

极客-程序员进阶攻略

  • 《建筑的永恒之道》

  • 美国心理学家亚伯拉罕・马斯洛在《人类激励理论》

  • 张铁蕾《技术的正宗与野路子》

  • 拉姆・查兰《领导梯队》

  • How To Ask Questions The Smart Way 中文名是《提问的智慧》

  • 保罗・格雷厄姆(Paul Graham)《黑客与画家》

  • 桥水基金创始人雷・达里奥(Ray Dalio),也是近年畅销书《原则》的作者,制作过一个视频叫《三十分钟看清经济机器如何运转》

  • 拉姆・查兰 (Ram Charan) 写的《领导梯队》

  • 《程序员修炼之道:从小工到专家》

极客-10x程序员工作法

编码实践

  • Robert Martin 的《代码整洁之道》(Clean Code),这本书几乎覆盖了如何把代码写好的方方面面。

  • 《实现模式》是一本关于如何写好代码的书,更具体一点是,编写别人能够理解的代码。它的作者 Kent Beck 是许多软件开发实践的开创者。但 Kent Beck 的写作能力一般,他的很多作品被埋没了。只有细细品味,才能体会到 Kent Beck 深厚的功力。

  • 《程序设计实践》(The Practice of Programming)这本书开始的,这本书的作者是 Brian Kernighan 和 Rob Pike,这两个人都出身于大名鼎鼎的贝尔实验室,参与过 Unix 的开发。

  • 想从日常开发中提升自己的效率,可以读一下《卓有成效的程序员》。假如你不曾思考过这个问题,这本书会让看到一些不同的工作方式,我也给这本书写过一篇书评。不过,这本书里的技巧太具体了,所以,有一些已经有些过时了。

设计

  • SOLID 原则是一种面向对象软件设计原则。早在 1995 年,Robert Martin 就提出了这些设计原则的雏形,然后在他的《敏捷软件开发:原则、实践与模式》这本书中,比较完整地阐述了这五个原则,后来,他有把这些原则进一步整理,成了今天的 “SOLID”。有了设计原则做基础,这本书后面讲了设计模式,理解起来就容易多了。虽然书名是关于敏捷的,但这是一本讲设计的书。

  • 设计和架构有什么区别?2017 年,Robert Martin 出版了《架构整洁之道》(Clean Architecture),他在其中告诉我们,二者没有区别。所以,这也是一本关于设计的书,给出了 Robert Martin 对设计的最新理解。你可以把它看成《敏捷软件开发:原则、实践与模式》的修订版。

  • 《设计模式》不推荐阅读,它是设计模式的开山之作,但它的起点是 Erich Gamma 的博士论文,其写作风格偏向学术,而且中文版翻译得也很一般。这里将它罗列出来只是因为其历史重要性。

  • 如果你想学习设计模式,现在有一些更容易入门的书,比如《Head First 设计模式》。

  • Martin Fowler 的《企业应用架构模式》将软件开发当时常见的解决方案汇集成模式,今天看来很多模式已经习以为常,但当年出场可是技惊四座的。从这本书的名字你不难看出,它出版的年代是企业级开发盛行的年代。Martin Fowler 一直认为这本书没有写完,希望能够继续更新,但不知道何时能看到这本书的新版。

  • 《Unix 编程艺术》也是一本讲软件设计的书,只不过,它选择的切入点是 Unix 中的设计,从中你可以学到 “只做一件事,把它做好”、“文本化” 等编程理念,有助于你改善日常的工作。这样的书,也就只有 Eric Raymond 这样沉浸编程几十年的人才能写出来。

工程实践

  • Kent Beck 有一本知名的软件工程之作《解析极限编程》(Extreme Programming Explained),它介绍了一种软件开发方法:极限编程。但更重要的是,今天很多主流的软件开发最佳实践都是从这里出来的。这本书可以理解成诸多最佳工程实践的总纲。

  • Martin Fowler 在 1999 年写下软件行业的名著《重构:改善既有代码的设计》(Refactoring: Improving the Design of Existing Code),把重构这个小圈子实践带到了大众视野。

  • 2018 年底,Martin Fowler 时隔近 20 年后,又写出了《重构》第二版。把他对这些年行业发展的新理解融入到重构实践中。

  • 重构应该有个目标,这个目标就是 “重构成模式”,而这也是一本专门的书:《重构与模式》(Refactoring to Patterns)。

  • 《测试驱动开发》是 Kent Beck 为世人展示 TDD 做法的一本书。它好的地方需要自己体会,Kent Beck 并没有显式的讲出来,比如:任务分解。

  • Jez Humble 和 Dave Farley 的《持续交付》(Continuous Delivery)让持续集成再进一步,将生产环境纳入了考量。乔梁,他是《持续交付》这本书的中文版译者,而且在这本书出版近十年后,他自己写了《持续交付 2.0》,把自己多年来关于持续交付的新理解整理了进去。 说到遗留代码和测试,我推荐一本经典的书:Michael Feathers 的《修改代码的艺术》(Working Effectively with Legacy Code),从它的英文名中,你就不难发现,它就是一本关于遗留代码的书。如果你打算处理遗留代码,也建议你读读这本书。这本书我也写过书评,你可以了解一下我对它看法。

领域驱动设计

  • Eric Evans 2003 年写了《领域驱动设计》,向行业介绍一下 DDD 这套方法论,立即在行业中引起广泛的关注。但实话说,Eric 在知识传播上的能力着实一般,这本关于 DDD 的开山之作,其写作质量却难以恭维,想要通过它去学好 DDD,是非常困难的。所以,在国外的技术社区中,有很多人是通过各种交流讨论逐渐认识到 DDD 的价值所在,而在国内 ,DDD 几乎没怎么掀起波澜。

  • 2013 年,在 Eric Evans 出版《领域驱动设计》十年之后,DDD 已经不再是当年吴下阿蒙,有了自己一套比较完整的体系。Vaughn Vernon 将十年的精华重新整理,写了一本《实现领域驱动设计》,普通技术人员终于有机会看明白 DDD 到底好在哪里了。所以,你会发现,最近几年,国内的技术社区开始出现了大量关于 DDD 的讨论。

  • 因为《实现领域驱动设计》实在太厚,Vaughn Vernon 又出手写了一本精华本《领域驱动设计精粹》,让人可以快速上手 DDD,这本书也是我向其他人推荐学习 DDD 的首选。

产品与需求

  • 精益创业是 Eric Ries 最早总结出来的。他在很多地方分享他的理念,不断提炼,最终在 2011 年写成一本同名的书:《精益创业》。

  • 如果说精益创业是理论,《精益创业实战》这本书则给了你一个操作流程。 Mike Cohn 是敏捷理念的一个重要传播者,我们在讲测试金字塔时,提到了他的著作《Scrum 敏捷软件开发》(Succeeding with Agile)。敏捷开发有两大流派:一派是工程实践,另一派是管理实践。如果你对 Scrum 这类管理实践感兴趣,可以读一下这本书。

  • 如果你对用户故事这个话题感兴趣,推荐阅读 Mike Cohn 的两本书《用户故事与敏捷方法》(User Stories Applied)和《敏捷软件开发实践 估算与计划》(Agile Estimating and Planning)。

开发文化

  • 软件行业里有一本名著叫《人月神话》,这算是软件开发领域第一本反思之作。今天,我们讨论的很多词汇都出自这本书,比如,没有银弹、焦油坑等等。虽然这本书出版于 1975 年,但其中提到的问题,依然困扰着今天的程序员。

  • 开源概念的提出者 Eric Raymond,他的《大教堂与集市》推开了开源大门。今天开源软件已经成为程序员日常工作的一部分,但如果没有 Eric Raymond 这些人的努力,我们还必须与复杂的企业级软件搏斗。了解一下开源的历程,可以帮助你更好地理解今天的幸福。

  • 程序员应该如何做,Robert Martin 也写了一本书《程序员的职业素养》(Clean Coder),其中对大多数程序员最重要的一点建议是,说 “不”。

  • 软件开发拾遗 高德纳的《计算机程序设计艺术》肯定是一套程序员都知道,但没几个人读完的书。算法的讲解经过几十年已经有了很好的发展,如果学算法,肯定有更好的选择。如果你想看图灵奖获得者如何从根上思考问题,不妨找来这套书来翻翻。

  • 《快速软件开发》(Rapid Development),不推荐阅读。在这本书中,作者首次提出了解决集成问题的优秀实践:Daily Build,每日构建。通过这个名字,我们便不难看出它的集成策略,即每天集成一次。它其中很多实践在当时是先进的,但今天看来有些落伍了。如果你只想从中收获一些理念性的东西,可以去读读。

  • 《C 程序设计语言》、《Unix 编程环境》等出自贝尔实验室大师级程序员之手,他们的书都值得一读,其中的内容今天看来可能有些过时,但他们解决问题的方式和手法却值得慢慢品味。 我在讲淘宝技术变迁时,提到了《淘宝技术这十年》,这本书算不上经典,但可以当做休闲读物。

技术之外

  • 管理大师彼得・德鲁克有一本经典著作《卓有成效的管理者》,虽然标题上带着管理者几个字,但在我看来,这是一本告诉我们如何工作的书,每个人都可以读一下。

  • 尤瓦尔・赫拉利的《人类简史》或《未来简史》,是我第一次学到 “大历史观” 这个说法,历史不再是一个个单独的历史事件,而是一个有内在逻辑的发展脉络。

  • 《从一到无穷大》是一本著名科普著作,它向我们介绍了 20 世纪以来的科学进展。作者乔治・伽莫夫既是热宇宙大爆炸模型的提出者,也是生物学上最早提出 “遗传密码” 模型的人。虽然这本书出版自 1947 年,但以现在社会的整体科学素养,还是有必要读读这本书的。

  • 史蒂芬・柯维(Stephen Richards Covey)的《高效能人士的七个习惯》,其中的理念我在专栏两个不同的地方提到过,一个是讲以终为始时,那段关于智力创造的论述,另一个是讲优先级时提到的艾森豪威尔矩阵。这本书值得每个人阅读,很多程序员欠缺的就是这些观念性的东西。

  • 很多程序员都是科幻小说迷,编程和科幻,这两个都是需要想象力的领域。刘慈欣的《三体》,不说它给 IT 行业带来的丰富的词汇表吧,作为科幻小说来说,它就是一流的,值得阅读。它会让你仰望星空,打开思维。

  • 如果你对科幻小说有兴趣,推荐阅读阿西莫夫的《银河帝国》系列,这是科幻小说界的扛鼎之作,你会看到,一部出版于 1942 年的书里就有大数据的身影。

  • 对于程序员来说,最好的工作状态就是进入心流,它会让你忘我工作。如果你对心流的概念感兴趣,可以去读米哈里・契克森米哈赖的著作《心流》,这位作者就是心流概念的提出者。

极客-大厂晋升指南

  • 《思考,快与慢》

  • 《认知天性:让学习变得轻而易举的心理学规律》

  • 《高效 PDCA 工作术》

  • 程序员技能图谱: https://github.com/TeamStuQ/skill-map

  • 如何学习才高效:《认知天性》前几章

  • 如何学习才高效:《有效学习》

  • 美团四大名著:高效能人士七个习惯,图标说话,学会提问,金字塔原理

成长

  • 《异类》

  • 《10000小时天才理论》

  • 《情商》

  • 《优秀到不能被忽视》

  • 《影响力大师》

  • 《巴拉巴西成功定律》

  • 《刻意练习》

  • 美国学者乔希・考夫曼(Josh Kaufman)在《关键 20 小时,快速学会任何技能!》(The First 20 Hours: How to Learn Anything… Fast!)

  • 《随机漫步的傻瓜》

业务

  • 《定位》

  • 《疯传》、

  • 《需求:缔造伟大商业传奇的根本力量》

  • 《创新者的窘境》

  • 肖恩·埃利斯的《增长黑客》白皮版

  • 《淘宝十年产品事》

  • 《宝洁制胜战略》

管理

按照顺序读:

1. 明茨伯格的《管理至简》:让你知道管理的复杂性
2. 德鲁克《管理的实践》:一些好的管理实践
3. 库泽斯的《领导力》:领导力提升指南
4. 克拉克的《追随》:领导力的关键8个特质
5. 《这就是 OKR》

技术

  • 《UNIX 编程艺术》

  • 《UNIX 网络编程(卷 1)》

  • 《UNIX 环境高级编程》

  • 《TCP/IP 详解(卷 1)》

  • 《算法设计与应用》

极客-说透区块链

  • 《区块链革命:比特币底层技术如何改变货币、商业和世界》

  • 《区块链:新经济蓝图及导读》

  • 《区块链开发实战: hyperledger fabric 关键技术与案例分析》

  • UTXO 模型: https://zhuanlan.zhihu.com/p/42901376

  • 《中国数字人民币的研发进展》白皮书

  • 央行近期发布的《中国数字人民币研发进展白皮书》

  • 《韩秀云讲经济》

极客-说透敏捷

  • 《敏捷教练:如何打造优秀的敏捷团队》

  • 《敏捷软件开发:原则、模式与实践》

  • 《Scrum 敏捷项目管理》

  • 《硝烟中的 Scrum 与 XP》

  • 《敏捷回顾:团队从优秀到卓越之道》

  • 《团队协作的五大障碍》

  • 《用户故事与敏捷方法》

  • 《持续集成》

  • 《持续交付》

  • 《Devops 实践》

  • 《有效的单元测试》

  • 《测试驱动开发》

  • 《重构》

  • 《代码整洁之道》

主页

索引

模块索引

搜索页面