有很多程序员刚职场时自己的职业规划几乎为零,一心想着怎样尽快学习更多的技术和积累更多的业务经验,但现实是每天都深陷永无止尽的业务需求发中。 也有些程序员因为长期埋没于代码世界的浩大分工体系中,无法看清从业务到系统架构的价值条,无法清晰定义自己在分工体系中的位置,处理不好自身与技术、业务的关系。 更有些程序员在到了35岁之后,发现工作瓶颈已到,对未来的发展感到迷茫。
售 价:¥
纸质售价:¥58.80购买纸书
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
作者简介
版权页
推荐序1
推荐序2
序1
序2
序3
序4
序5
目录
第1篇 技术精进
第1章 程序员技能与成长
1.1 如何学习新的编程语言
1.1.1 重点学什么
1.1.2 学习方法
1.2 代码规范与单元测试
1.2.1 编码规范
1.2.2 单元测试
1.2.3 测试驱动设计
1.3 使用静态代码分析工具
1.3.1 什么是静态代码分析
1.3.2 静态代码分析工具
1.4 代码审查
1.4.1 什么是代码审查
1.4.2 代码审查的好处
1.4.3 如何做代码审查
1.5 清单和模板
1.5.1 清单实践
1.5.2 产品需求文档模板
1.6 程序员的工作法则
1.6.1 工具化法则
1.6.2 自动化法则
1.6.3 关于文档的问题
1.6.4 关于YAGNI
1.7 程序员的工具箱
1.7.1 可帮我们提升工作效率的硬件
1.7.2 可帮我们提升工作效率的操作系统
1.7.3 可帮我们提升工作效率的软件
1.7.4 在线工具
第2章 加速成长与学会学习
2.1 程序员如何加速成长
2.1.1 积极主动
2.1.2 空杯心态
2.1.3 选择合适的平台
2.1.4 别怕犯错
2.1.5 注意细节
2.1.6 时间管理
2.1.7 打破边界
2.1.8 写业务代码中的成长机会
2.2 学会学习
2.2.1 高效学习的方法
2.2.2 高效学习的途径
2.2.3 舒适区与小步子原则
2.2.4 两个著名的学习理论
2.2.5 终身成长
第3章 业务分析与设计
3.1 黄金圈法则
3.2 UML建模工具
3.2.1 用例图
3.2.2 类图
3.2.3 对象图
3.2.4 状态图
3.2.5 活动图
3.2.6 序列图
3.2.7 协作图
3.2.8 构件图
3.2.9 部署图
3.3 业务分析与设计的方法
3.4 系统分析与设计的三个发展阶段
3.4.1 面向数据驱动分析与设计
3.4.2 面向对象和服务分析与设计
3.4.3 面向问题域分析与设计
3.5 面向对象分析与设计
3.5.1 什么是面向对象
3.5.2 面向对象的特征
3.5.3 面向对象设计的原则
3.6 面向服务分析与设计
3.6.1 Web Service模式
3.6.2 ESB模式
3.6.3 微服务架构
3.7 领域驱动设计
3.8 领域模型实践
3.8.1 什么是领域模型
3.8.2 领域模型的作用
3.8.3 如何进行领域建模
第2篇 架构修炼
第4章 架构思维
4.1 分解
4.1.1 分解的作用
4.1.2 分解的原则
4.1.3 分解的时机
4.2 集成
4.2.1 常见的集成方式
4.2.2 集成的难点
4.3 动静分离
4.4 复用
4.4.1 系统复用的分类
4.4.2 可复用性和可维护性的关系
4.4.3 可维护性地复用的设计原则
4.5 分层
4.6 模式
4.6.1 分层模式
4.6.2 客户端-服务器模式
4.6.3 主从设备模式
4.6.4 管道-过滤器模式
4.6.5 代理模式
4.6.6 P2P模式
4.6.7 事件总线模式
4.6.8 MVC模式
4.6.9 黑板模式
4.6.10 解释器模式
4.7 抽象
4.8 结构化
4.8.1 结构化的原则
4.8.2 结构化分析工具
4.8.3 结构化思维的7个环节
4.9 迭代
4.10 勿做过度设计
第5章 架构设计
5.1 架构设计概要
5.1.1 业务架构
5.1.2 应用架构
5.1.3 技术架构
5.1.4 数据架构
5.2 架构设计的流程
5.3 架构设计的核心要素
5.3.1 性能
5.3.2 可用性
5.3.3 伸缩性
5.3.4 扩展性
5.3.5 安全性
5.4 高性能设计
5.4.1 主要的性能测试指标
5.4.2 性能测试方法
5.4.3 性能优化策略
5.5 高可用设计
5.5.1 高可用性的度量与考核
5.5.2 高可用的架构
5.5.3 高可用质量保证
5.5.4 系统运行监控
5.6 可伸缩设计
5.6.1 架构的伸缩性设计
5.6.2 应用服务的伸缩性设计
5.6.3 分布式缓存的伸缩性设计
5.6.4 数据存储的伸缩性设计
5.7 可扩展性设计
5.7.1 通过消息降低系统的耦合性
5.7.2 通过分布式服务提供可复用的业务
5.7.3 建立开放平台
5.8 架构设计的典型案例——订单系统
5.8.1 订单的基本概念
5.8.2 订单流程
5.8.3 订单系统设计中的挑战和实践
5.8.4 数据库优化
5.8.5 小结
第6章 架构的保障:质量与风险
6.1 内建质量体系
6.2 从黑天鹅事件到墨菲定律
6.2.1 黑天鹅事件
6.2.2 蝴蝶效应
6.2.3 墨菲定律
6.3 软件质量稳定性之殇
6.3.1 业务高速发展带来的变化
6.3.2 问题域的复杂性
6.3.3 系统的复杂性
6.3.4 技术债问题
6.3.5 人、流程、文档的博弈
6.3.6 采用不能掌控的工具和框架
6.3.7 质量意识
6.4 从康威定律和技术债看研发之痛
6.4.1 康威定律
6.4.2 通过3个案例来看研发之痛
6.4.3 架构方案和业务形态息息相关
6.5 求解质量熵
6.5.1 运用敏捷思想
6.5.2 运用系统化思想
6.5.3 技术债偿还计划
6.5.4 抓住合适的时机做架构升级
6.5.5 内建质量
6.5.6 不迷信,不唯新、不唯上,实践是检验真理的标准
6.5.7 复杂的问题域:专项突破
6.5.8 领导者的意识
6.5.9 创新解决方案
6.6 踩过的坑和经验总结
6.6.1 简单的数字改动导致电商网站搜索功能失灵
6.6.2 应用竟然被外部系统拖垮了
6.6.3 HashMap与并发
6.7 故障复盘流程及模板
6.7.1 什么是故障复盘
6.7.2 为什么要做故障复盘
6.7.3 如何做故障复盘
6.7.4 故障复盘模板
6.8 监控与告警
6.8.1 监控的重要性
6.8.2 监控哪些内容
6.8.3 告警
6.8.4 监控的架构
6.9 应急处置
第3篇 管理探秘
第7章 为成为技术主管做准备
7.1 构建自我阶段性目标
7.2 体验自己的目标身份
7.3 勇于抓住机会
第8章 从自我管理转为管理团队
8.1 什么是领导力
8.2 如何构建领导力
8.2.1 维度1:提供清晰的领导力风格,并以信任感作为基石
8.2.2 维度2:了解业务,并带领团队达到高绩效
8.2.3 维度3:发展自己和团队成员
8.2.4 维度4:塑造未来
8.3 让自己成为T型人才
8.4 高效时间管理
8.4.1 确定在做的事情符合自己的目标
8.4.2 随时应用80/20法则
8.4.3 创造大块时间
8.5 遇到“不服管”的员工怎么办
8.5.1 每个人都是不错的
8.5.2 建立亲和与信任感
8.5.3 从绩效评估到建设性反馈
8.6 如何处理冲突
8.6.1 了解产生冲突的原因
8.6.2 正确看待冲突
8.6.3 处理冲突
8.7 引导员工主动工作
8.8 如何从带10个人到带100个人
8.8.1 在管理上面对的挑战
8.8.2 从管理1.0到管理2.0
8.9 如何对上管理
8.9.1 做好对上的预期管理
8.9.2 及时汇报
反侵权盗版声明
作者简介
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜