课程目录

开篇词 (1讲)

  1. 开篇词 _ 怎样成长为优秀的软件架构师?

延展阅读 (5讲)

  1. 热点观察 _ 我看Facebook发币(上):区块链、比特币与Libra币
  2. 热点观察 _ 我看Facebook发币(下):深入浅出理解 Libra 币
  3. 用户故事 _ 站在更高的视角看架构
  4. 答疑解惑 _ 想当架构师,我需要成为“全才”吗?
  5. 课外阅读 _ 从《孙子兵法》看底层的自然法则

基础平台篇 (19讲)

  1. 01 _ 架构设计的宏观视角
  2. 02 _ 大厦基石:无生有,有生万物
  3. 03 _ 汇编:编程语言的诞生
  4. 04 _ 编程语言的进化
  5. 05 _ 思考题解读:如何实现可自我迭代的计算机?
  6. 06 _ 操作系统进场
  7. 07 _ 软件运行机制及内存管理
  8. 08 _ 操作系统内核与编程接口
  9. 09 _ 外存管理与文件系统
  10. 10 _ 输入和输出设备:交互的演进
  11. 11 _ 多任务:进程、线程与协程
  12. 12 _ 进程内协同:同步、互斥与通讯
  13. 13 _ 进程间的同步互斥、资源共享与通讯
  14. 14 _ IP 网络:连接世界的桥梁
  15. 15 _ 可编程的互联网世界
  16. 16 _ 安全管理:数字世界的守护
  17. 17 _ 架构:需求分析 (上)
  18. 18 _ 架构:需求分析 (下) · 实战案例
  19. 19 _ 基础平台篇:回顾与总结

桌面开发篇 (14讲)

  1. 20 _ 桌面开发的宏观视角
  2. 21 _ 图形界面程序的框架
  3. 22 _ 桌面程序的架构建议
  4. 23 _ Web开发:浏览器、小程序与PWA
  5. 24 _ 跨平台与 Web 开发的建议
  6. 25 _ 桌面开发的未来
  7. 26 _ 实战(一):怎么设计一个“画图”程序?
  8. 27 _ 实战(二):怎么设计一个“画图”程序?
  9. 28 _ 实战(三):怎么设计一个“画图”程序?
  10. 29 _ 实战(四):怎么设计一个“画图”程序?
  11. 30 _ 实战(五):怎么设计一个“画图”程序?
  12. 31 _ 辅助界面元素的架构设计
  13. 32 _ 架构:系统的概要设计
  14. 33 _ 桌面开发篇:回顾与总结

服务端开发篇 (14讲)

  1. 34 _ 服务端开发的宏观视角
  2. 35 _ 流量调度与负载均衡
  3. 36 _ 业务状态与存储中间件
  4. 37 _ 键值存储与数据库
  5. 38 _ 文件系统与对象存储
  6. 39 _ 存储与缓存
  7. 40 _ 服务端的业务架构建议
  8. 41 _ 实战(一):“画图”程序后端实战
  9. 42 _ 实战(二):“画图”程序后端实战
  10. 43 _ 实战(三):“画图”程序后端实战
  11. 44 _ 实战(四):“画图”程序后端实战
  12. 45 _ 架构:怎么做详细设计?
  13. 46 _ 服务端开发篇:回顾与总结
  14. 加餐 _ 如何做HTTP服务的测试?

服务治理篇 (11讲)

  1. 47 _ 服务治理的宏观视角
  2. 48 _ 事务与工程:什么是工程师思维?
  3. 49 _ 发布、升级与版本管理
  4. 50 _ 日志、监控与报警
  5. 51 _ 故障域与故障预案
  6. 52 _ 故障排查与根因分析
  7. 53 _ 过载保护与容量规划
  8. 54 _ 业务的可支持性与持续运营
  9. 55 _ 云计算、容器革命与服务端的未来
  10. 56 _ 服务治理篇:回顾与总结
  11. 加餐 _ 怎么保障发布的效率与质量?

架构思维篇 (12讲)

  1. 57 _ 心性:架构师的修炼之道
  2. 58 _ 如何判断架构设计的优劣?
  3. 59 _ 少谈点框架,多谈点业务
  4. 60 _ 架构分解:边界,不断重新审视边界
  5. 61 _ 全局性功能的架构设计
  6. 62 _ 重新认识开闭原则 (OCP)
  7. 63 _ 接口设计的准则
  8. 64 _ 不断完善的架构范式
  9. 65 _ 架构范式:文本处理
  10. 66 _ 架构老化与重构
  11. 67 _ 架构思维篇:回顾与总结
  12. 加餐 _ 实战:“画图程序” 的整体架构

软件工程篇 (10讲)

  1. 68 _ 软件工程的宏观视角
  2. 69 _ 团队的共识管理
  3. 70 _ 怎么写设计文档?
  4. 71 _ 如何阅读别人的代码?
  5. 72 _ 发布单元与版本管理
  6. 73 _ 软件质量管理:单元测试、持续构建与发布
  7. 74 _ 开源、云服务与外包管理
  8. 75 _ 软件版本迭代的规划
  9. 76 _ 软件工程的未来
  10. 77 _ 软件工程篇:回顾与总结

结束语 (3讲)

  1. 课程迭代 _ 84讲音频重新交付
  2. 结束语 _ 放下技术人的身段,用极限思维提升架构能力
  3. 结课问卷获奖用户名单