架构师的自我修炼:技术、架构和未来pdf百度网盘下载地址?
架构师的工作包罗万象,从开发基础框架到设计软件架构,从优化系统性能到修复重要Bug,从新技术选型到做出关键技术决策,从指导工程师开发到沟通、协调各种内外部关系。想要成为一个优秀的软件架构师,需要经过漫长的修炼,构建起自己的软件开发技术体系。但是一切看似纷繁复杂的技术技巧,均有其核心和基本的原理。
本书对架构师在职业进阶道路上必须牢固掌握的各项技术技能进行了梳理,涵盖基础知识、程序设计、系统架构、沟通管理4大方面。本书包含38章,每一章都用一个软件开发中常见又经典的问题引出,深入浅出地剖析这个技术点背后的核心原理与外延扩展,进而帮助读者建立起自己的架构师知识体系。
第1部分是架构师的基础知识修炼。软件的基础知识原理主要是操作系统、数据结构、数据库原理等,书中会从常见的问题入手,直达这些基础技术本质的原理,并覆盖这些基础技术的关键技术点,帮助读者理解这些基础技术原理和日常开发工作的关联关系,对这些基础技术有一个全新的认知。
第2部分是架构师的程序设计修炼。讲述如何设计一个强大灵活、易复用、易维护的软件,在这个过程中,应该依赖哪些工具和方法,遵循哪些原则和思想,使用哪些模式和手段。
第3部分是架构师的架构方法修炼。围绕目前主要的互联网分布式架构以及大数据、物联网架构分析这些架构背后的原理,详解它们都遵循了怎样的驱动力和设计思想,以及如何通过这些技术实现系统的高可用和高性能。
第4部分是架构师的思维修炼。软件开发是一个实践性很强的活动,如果只是学习技术,那就是在纸上谈兵。只有将知识技能应用到工作实践中,才能真正体会到技术的关键点在哪里。如何在工作中处理好各种关系,得到充分的授权和信任,在工作中实践自己的技术思想,并为公司创造更多的价值,使自己的技术成长和职业发展进入互相促进的正向通道,也是架构师需要修炼与提升的。
作者简介:
李智慧, 资深架构专家,同程旅行交通首席架构师,曾在NEC、阿里巴巴、Intel等知名企业担任架构师,也曾在WiFi万能钥匙等企业担任CTO。 长期从事大数据、大型网站的架构和研发工作,领导设计过多个日活用户在千万级以上的互联网系统架构,实战经验丰富。曾设计、开发过 Web 服务器防火墙、分布式NoSQL 系统、大数据仓库引擎、反应式编程框架等各种类型的软件系统。 Apache Spark代码贡献者,腾讯云TVP,著有畅销书《大型网站技术架构》,同时也是极客时间《从0开始学大数据》《后端技术面试38讲》等专栏的作者。
目录:
第1章 操作系统原理:程序是如何运行和崩溃的 2
第2章 数据结构原理:Hash表的时间复杂度为什么是O1 8
第3章 Java虚拟机原理:JVM为什么被称为机器 16
第4章 网络编程原理:一个字符的互联网之旅 25
第5章 文件系统原理:用1分钟遍历一个100TB的文件 34
第6章 数据库原理:SQL为什么要预编译 42
第7章 编程语言原理:面向对象编程是编程的终极形态吗 49
第8章 软件设计的方法论:软件为什么要建模 56
第9章 软件设计实践:使用UML完成一个设计文档 61
第10章 软件设计的目的:糟糕的程序差在哪里 75
第11章 软件设计的开闭原则:不修改代码却能实现需求变更 81
第12章 软件设计的依赖倒置原则:不依赖代码却可以复用它的功能 91
第13章 软件设计的里氏替换原则:正方形可以继承长方形吗 97
第14章 软件设计的单一职责原则:一个类文件打开后最好不要超过一屏 104
第15章 软件设计的接口隔离原则:如何对类的调用者隐藏类的公有方法 112
第16章 设计模式基础:不会灵活应用设计模式,就没有掌握面向对象编程 119
第17章 设计模式应用:编程框架中的设计模式 125
第18章 反应式编程框架设计:如何使程序调用不阻塞等待,立即响应 133
第19章 组件设计原则:组件的边界在哪里 143
第20章 领域驱动设计:35岁的程序员应该写什么样的代码 148
第21章 分布式架构:如何应对高并发的用户请求 156
第22章 缓存架构:减少不必要的计算 165
第23章 异步架构:避免互相依赖的系统间耦合 174
第24章 负载均衡架构:用10行代码实现一个负载均衡服务 181
第25章 数据存储架构:改善系统的数据存储能力 188
第26章 搜索引擎架构:瞬间完成海量数据检索 199
第27章 微服务架构:微服务究竟是“灵丹”还是“毒药” 206
第28章 高性能架构:除了代码,还可以在哪些地方优化性能 212
第29章 高可用架构:淘宝应用升级时,为什么没有停机 220
第30章 安全性架构:为什么说用户密码泄露是程序员的问题 227
第31章 大数据架构:思想和原理 234
第32章 AI与物联网架构:从智能引擎到物联网平台 243
第33章 区块链技术架构:区块链到底能做什么 251
第34章 技术修炼之道:同样工作十几年,为什么有的人成为资深架构师,有的人失业 260
第35章 技术进阶之道:你和世界上顶级的程序员差几个等级 265
第36章 技术落地之道:你真的知道自己要解决的问题是什么吗 270
第37章 技术沟通之道:如何解决问题 275
第38章 技术管理之道:真的要转管理吗 280
点击下载