为你推荐

内容简介
序言1
序言2
序言3
前言
第1章 入职经历
1.1 本章导读
1.2 实习的机会
1.2.1 岗位描述
1.2.2 匹配技能
1.2.3 补齐短板
1.3 紧张的面试
1.3.1 电话面试
1.3.2 进入笔试
1.3.3 技术面试
1.3.4 HR面试
1.3.5 入职准备
1.4 终于入职了
1.4.1 入职培训
1.4.2 办公环境
1.4.3 内部分享
1.4.4 代码荣辱观
1.5 加入开发小组
1.5.1 小组的成员
1.5.2 列席每日站会
1.6 开发产品的使用场景
1.6.1 灵活的数据同步引擎
1.6.2 跨平台的消息中枢
1.6.3 新老系统的应用迁移
1.7 配置开发环境
1.7.1 云端开发环境
1.7.2 代码构建工具
1.7.3 自动测试工具
1.7.4 开发协作工具
第2章 上手编程
2.1 本章导读
2.2 修改缺陷
2.2.1 夏令时切换导致显示错乱
2.2.2 夏令时切换导致调度混乱
2.2.3 夏令时切换导致风控系统报警
2.2.4 统一时间格式的重构
2.3 开发新功能
2.3.1 发掘真正的需求
2.3.2 从需求到设计
2.3.3 通用性
2.3.4 可配置的元数据
2.3.5 分层设计
2.3.6 安全漏洞
2.3.7 性能
2.3.8 可观测性
2.3.9 可维护性
第3章 软件设计
3.1 本章导读
3.2 设计原则
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.2.10 思考和阅读
3.3 软件架构
3.3.1 以客户端/服务器为基础的架构拓展
3.3.2 基于微服务和云原生的架构
3.3.3 数据存储和查询
3.3.4 常用的中间件
3.3.5 思考和阅读
3.4 技术选型
3.4.1 技术要求
3.4.2 技术选型的要素
3.4.3 后端技术栈
3.4.4 前端技术栈
3.4.5 数据库技术栈
3.4.6 思考和阅读
3.5 设计实现
3.5.1 组件视图
3.5.2 部署视图
3.5.3 数据视图
3.5.4 后端设计
3.5.5 API设计
3.5.6 前端设计
3.5.7 设计示例
3.5.8 思考和阅读
第4章 质量保障
4.1 本章导读
4.2 质量的本质
4.2.1 质量内建的全流程管控
4.2.2 质量的动态性
4.2.3 质量与效率
4.2.4 质量与风险
4.2.5 思考和阅读
4.3 软件质量的标准
4.3.1 功能适用性
4.3.2 性能效率
4.3.3 兼容性
4.3.4 交互能力
4.3.5 可靠性
4.3.6 软件安全性
4.3.7 可维护性
4.3.8 灵活性
4.3.9 思考和阅读
4.4 可测试性
4.4.1 可测试性面临的挑战
4.4.2 可测试性设计的核心价值
4.4.3 可测试性的四个维度
4.4.4 分级可测试性实践
4.4.5 思考和阅读
4.5 测试的左移和右移
4.5.1 测试的左移
4.5.2 测试的右移
4.5.3 思考和阅读
4.6 测试方法
4.6.1 常见的测试方法
4.6.2 流量回放
4.6.3 精准测试
4.6.4 变异测试
4.6.5 服务虚拟化
4.6.6 思考和阅读
4.7 性能工程
4.7.1 性能测试
4.7.2 全链路压测
4.7.3 全链路压测的挑战
4.7.4 DevPerfOps全流程
4.7.5 思考和阅读
4.8 混沌工程
4.8.1 混沌工程的常见误区
4.8.2 混沌工程实施原则
4.8.3 实施混沌工程的步骤
4.8.4 思考和阅读
4.9 大模型时代的质量
4.9.1 大模型对传统软件质量的提升
4.9.2 大模型时代的技术质量风险
4.9.3 大模型时代的质量应对策略
4.9.4 集成中间件的质量提升新场景
4.9.5 思考和阅读
第5章 安全合规
5.1 本章导读
5.2 小海的噩梦
5.3 大张的安全日记
5.3.1 权限的糨糊
5.3.2 服务端的暗箭
5.3.3 加密翻车了
5.3.4 注入攻击
5.3.5 设计陷阱
5.3.6 配置的雷区
5.3.7 身份认证失灵
5.3.8 完整性崩塌
5.3.9 虚设的监控
5.3.10 第三方“惹祸”
5.3.11 思考和阅读
5.4 大张的“软件安全宝典”
5.4.1 基本原则
5.4.2 进阶心法
5.4.3 纵深防御:综合的安全防御体系
5.4.4 安全的终极公式
5.4.5 思考和阅读
5.5 全流程安全工程
5.5.1 软件安全面临的挑战
5.5.2 DevSecOps支持全流程安全工程
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.7.4 防御战术
5.7.5 安全与体验的平衡
5.7.6 思考和阅读
5.8 安全设计与编程
5.8.1 身份认证
5.8.2 权限管理
5.8.3 安全审计
5.8.4 思考和阅读
5.9 安全测试指南
5.9.1 安全测试的核心理念
5.9.2 静态应用程序安全测试
5.9.3 动态应用程序安全测试
5.9.4 第三方依赖库的漏洞扫描
5.9.5 模糊测试
5.9.6 渗透测试
5.9.7 交互式应用安全测试
5.9.8 思考和阅读
5.10 软件供应链安全
5.10.1 软件供应链安全是什么
5.10.2 第三方依赖库的双刃剑
5.10.3 代码签名和验证
5.10.4 供应链攻击的“狡猾手段”
5.10.5 软件供应链安全的“防御宝典”
5.10.6 思考和阅读
5.11 大模型时代的安全
5.11.1 大模型对传统软件安全的助力
5.11.2 大模型时代的技术风险
5.11.3 大模型时代的合规困境
5.11.4 大模型的安全应对策略
5.11.5 集成中间件的应用新场景
5.11.6 思考和阅读
第6章 敏捷开发
6.1 本章导读
6.2 糖果小镇的敏捷转型
6.2.1 糖果小镇的童话故事
6.2.2 糖果小镇的魔法手册
6.3 软件开发的工程实践
6.3.1 热闹的工程世界
6.3.2 软件工程的独特魅力
6.3.3 项目制开发与产品化开发
6.3.4 思考和阅读
6.4 敏捷背后的社会学密码
6.4.1 康威定律的神奇魔力
6.4.2 两个披萨团队的奥秘
6.4.3 邓巴数的启示
6.4.4 人月神话的反思
6.4.5 思考和阅读
6.5 敏捷隐含的经济学智慧
6.5.1 软件产品的价值
6.5.2 机会成本的取舍之道
6.5.3 拥抱变化与沉没成本的抉择
6.5.4 神奇的边际效应
6.5.5 敏捷里的时间价值
6.5.6 思考和阅读
6.6 软件产品的定位
6.6.1 软件产品的客户
6.6.2 软件产品的用户
6.6.3 软件产品的竞争者
6.6.4 软件产品差异化的认知提升
6.6.5 软件产品差异化的构建要素
6.6.6 软件产品差异化的实施路径
6.6.7 思考和阅读
6.7 软件的生命周期
6.7.1 软件技术生命周期的不同阶段
6.7.2 软件产品生命周期的不同阶段
6.7.3 创新者的窘境
6.7.4 软件开发的生命周期
6.7.5 思考和阅读
6.8 大规模敏捷开发
6.8.1 为什么需要SAFe
6.8.2 金州勇士队vs SAFe实践
6.8.3 SAFe的四层结构
6.8.4 常见的陷阱
6.8.5 思考和阅读
第7章 后记
7.1 小海的成长轨迹
7.2 从校园到职场的技术试炼场
7.3 职业发展的不同路径
7.3.1 产品经理的艰难抉择
7.3.2 架构师的冲锋陷阵
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜