课程目录
开篇词 (1讲)
- 开篇词 _ 怎样成长为优秀的软件架构师?
延展阅读 (5讲)
- 热点观察 _ 我看Facebook发币(上):区块链、比特币与Libra币
- 热点观察 _ 我看Facebook发币(下):深入浅出理解 Libra 币
- 用户故事 _ 站在更高的视角看架构
- 答疑解惑 _ 想当架构师,我需要成为“全才”吗?
- 课外阅读 _ 从《孙子兵法》看底层的自然法则
基础平台篇 (19讲)
- 01 _ 架构设计的宏观视角
- 02 _ 大厦基石:无生有,有生万物
- 03 _ 汇编:编程语言的诞生
- 04 _ 编程语言的进化
- 05 _ 思考题解读:如何实现可自我迭代的计算机?
- 06 _ 操作系统进场
- 07 _ 软件运行机制及内存管理
- 08 _ 操作系统内核与编程接口
- 09 _ 外存管理与文件系统
- 10 _ 输入和输出设备:交互的演进
- 11 _ 多任务:进程、线程与协程
- 12 _ 进程内协同:同步、互斥与通讯
- 13 _ 进程间的同步互斥、资源共享与通讯
- 14 _ IP 网络:连接世界的桥梁
- 15 _ 可编程的互联网世界
- 16 _ 安全管理:数字世界的守护
- 17 _ 架构:需求分析 (上)
- 18 _ 架构:需求分析 (下) · 实战案例
- 19 _ 基础平台篇:回顾与总结
桌面开发篇 (14讲)
- 20 _ 桌面开发的宏观视角
- 21 _ 图形界面程序的框架
- 22 _ 桌面程序的架构建议
- 23 _ Web开发:浏览器、小程序与PWA
- 24 _ 跨平台与 Web 开发的建议
- 25 _ 桌面开发的未来
- 26 _ 实战(一):怎么设计一个“画图”程序?
- 27 _ 实战(二):怎么设计一个“画图”程序?
- 28 _ 实战(三):怎么设计一个“画图”程序?
- 29 _ 实战(四):怎么设计一个“画图”程序?
- 30 _ 实战(五):怎么设计一个“画图”程序?
- 31 _ 辅助界面元素的架构设计
- 32 _ 架构:系统的概要设计
- 33 _ 桌面开发篇:回顾与总结
服务端开发篇 (14讲)
- 34 _ 服务端开发的宏观视角
- 35 _ 流量调度与负载均衡
- 36 _ 业务状态与存储中间件
- 37 _ 键值存储与数据库
- 38 _ 文件系统与对象存储
- 39 _ 存储与缓存
- 40 _ 服务端的业务架构建议
- 41 _ 实战(一):“画图”程序后端实战
- 42 _ 实战(二):“画图”程序后端实战
- 43 _ 实战(三):“画图”程序后端实战
- 44 _ 实战(四):“画图”程序后端实战
- 45 _ 架构:怎么做详细设计?
- 46 _ 服务端开发篇:回顾与总结
- 加餐 _ 如何做HTTP服务的测试?
服务治理篇 (11讲)
- 47 _ 服务治理的宏观视角
- 48 _ 事务与工程:什么是工程师思维?
- 49 _ 发布、升级与版本管理
- 50 _ 日志、监控与报警
- 51 _ 故障域与故障预案
- 52 _ 故障排查与根因分析
- 53 _ 过载保护与容量规划
- 54 _ 业务的可支持性与持续运营
- 55 _ 云计算、容器革命与服务端的未来
- 56 _ 服务治理篇:回顾与总结
- 加餐 _ 怎么保障发布的效率与质量?
架构思维篇 (12讲)
- 57 _ 心性:架构师的修炼之道
- 58 _ 如何判断架构设计的优劣?
- 59 _ 少谈点框架,多谈点业务
- 60 _ 架构分解:边界,不断重新审视边界
- 61 _ 全局性功能的架构设计
- 62 _ 重新认识开闭原则 (OCP)
- 63 _ 接口设计的准则
- 64 _ 不断完善的架构范式
- 65 _ 架构范式:文本处理
- 66 _ 架构老化与重构
- 67 _ 架构思维篇:回顾与总结
- 加餐 _ 实战:“画图程序” 的整体架构
软件工程篇 (10讲)
- 68 _ 软件工程的宏观视角
- 69 _ 团队的共识管理
- 70 _ 怎么写设计文档?
- 71 _ 如何阅读别人的代码?
- 72 _ 发布单元与版本管理
- 73 _ 软件质量管理:单元测试、持续构建与发布
- 74 _ 开源、云服务与外包管理
- 75 _ 软件版本迭代的规划
- 76 _ 软件工程的未来
- 77 _ 软件工程篇:回顾与总结
结束语 (3讲)
- 课程迭代 _ 84讲音频重新交付
- 结束语 _ 放下技术人的身段,用极限思维提升架构能力
- 结课问卷获奖用户名单




