许式伟的架构课
许式伟
七牛云CEO
立即订阅
20090 人已学习
课程目录
已更新 72 讲 / 共 77 讲
0/4登录后,你可以任选4讲全文学习。
开篇词 (1讲)
开篇词 | 怎样成长为优秀的软件架构师?
免费
基础平台篇 (21讲)
01 | 架构设计的宏观视角
02 | 大厦基石:无生有,有生万物
03 | 汇编:编程语言的诞生
04 | 编程语言的进化
05 | 思考题解读:如何实现可自我迭代的计算机?
06 | 操作系统进场
07 | 软件运行机制及内存管理
08 | 操作系统内核与编程接口
09 | 外存管理与文件系统
10 | 输入和输出设备:交互的演进
11 | 多任务:进程、线程与协程
12 | 进程内协同:同步、互斥与通讯
13 | 进程间的同步互斥、资源共享与通讯
14 | IP 网络:连接世界的桥梁
15 | 可编程的互联网世界
16 | 安全管理:数字世界的守护
17 | 架构:需求分析 (上)
18 | 架构:需求分析 (下) · 实战案例
19 | 基础平台篇:回顾与总结
加餐 | 我看Facebook发币(上):区块链、比特币与Libra币
加餐 | 我看Facebook发币(下):深入浅出理解 Libra 币
桌面开发篇 (16讲)
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 | 服务治理篇:回顾与总结
架构思维篇 (9讲)
57 | 心性:架构师的修炼之道
用户故事 | 站在更高的视角看架构
58 | 如何判断架构设计的优劣?
59 | 少谈点框架,多谈点业务
60 | 架构分解:边界,不断重新审视边界
加餐 | 实战:“画图程序” 的整体架构
61 | 全局性功能的架构设计
62 | 重新认识开闭原则 (OCP)
63 | 接口设计的准则
许式伟的架构课
登录|注册

19 | 基础平台篇:回顾与总结

许式伟 2019-06-18
你好,我是七牛云许式伟。
到今天为止,我们第一章 “基础平台篇” 就要结束了。今天,让我们对整章的内容做一个回顾与总结。

抽象信息世界的骨架

基础平台篇主要涉及的内容如下。
这些内容如果展开来讲,每一系统(或模块)都会是很厚的一本书。我们的目的,当然不是为了取代这里每一个领域知识相关的专业书籍。
我们的核心目标是以架构为导向,抽象出系统的骨架,融会贯通,把这些领域知识串起来,拼出完整的信息世界的版图。
抽象出系统骨架的过程时信息必然是有损的,怎么才能做到忽略掉众多的实现细节,把系统以简洁易于理解的方式呈现出来?
这很大程度取决于你对系统的理解程度和抽象能力。如果我们把系统想象成一个人,大部分情况下我们比较容易对其进行详尽而具体的描述,好比下图。
这相对容易。因为你只需要陈述你看到的事实,而不必拷问背后的原因。但实际上为了在最短的时间里让别人理解你的想法,你也许应该这样来描述它,见下图。
当你不是在描述这个系统本身,而是描述它与其他系统的相互关系时,你可能需要进一步简化它,变成如下图这样。
抽象有助于记忆,因为骨架需要逻辑的自洽。
这种抽象能力之所以重要,是因为它是融会贯通、疏通整个信息世界的知识脉络的关键。当你做到对世界的认知可宏观、可微观,自然一切皆在掌握。
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《许式伟的架构课》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(26)

  • Chen
    作为一个培训出来的程序员。认真拜读了基础篇,每一章都有醍醐灌顶的感觉。感谢许老师的分享
    2019-06-18
    1
    12
  • Geek__38012c6589d3
    可不可以讲下为什么不推荐c++了?

    作者回复: 太复杂

    2019-06-18
    9
  • MJ
    大学有一个专业,叫计算机科学与技术,技术是学出来的,科学是悟出来的。
    2019-06-18
    8
  • 荆仙
    学了老师课真正感受到了架构的力量和美,真是处处皆架构,连课程目录也有如此良好的架构设计
    2019-06-21
    3
  • 随心而至
    深入理解计算机系统,我觉得挺好,边学边做题。

    另外,很喜欢老师这种自底向上的教授方式,一眼就可以看出自己知识的盲点。
    2019-06-20
    3
  • Dimple
    技术在精不在多,所以我一如既往地现在Java精进的道路上走着,回头可以好好试试看,尝试下“Java 语言之美”。

    在完成Java的基础上,再去感受更高的架构之美。
    2019-06-19
    3
  • shutdown
    万丈高楼起于深厚的地基,也许程序员与架构师之间的差别,就在于对整个计算机的了解程度吧,而核心竞争力也来源于此吧!谢谢老师的分享~
    2019-07-08
    2
  • 诗泽
    许老师,人工智能被认为是下一波技术浪潮,您认为随着人工智能的发展它会架构的设计带来什么样的变化,架构师和做工程的同学应该应对这些变化呢?谢谢!

    作者回复: 不用对人工智能的影响过于放大,我们可能会以加餐的方式谈一些热门技术话题的看法

    2019-06-18
    2
  • 张初炼
    计算机组成原理(计算机体系结构)的“圣经”:计算机体系结构•量化研究方法。老师是否考虑把这本书加到参考资料里面?

    作者回复: 多谢推荐

    2019-06-20
    1
  • 川杰
    您好,我看了您的PPT:GO,Next C;有几个问题想请教下:
    1、非侵入式接口。我其实完全不理解这个设计好在哪里,我甚至认为这是十分糟糕的设计。比如,当我在阅读代码的时候,想要知道这个类实现了哪些接口,我很难通过代码去直观的看出来。我觉得,优秀的代码应当是易读的,但是这样的设计不是反而增加了阅读的难度吗?
    2、极度简化但完备的OOP。OOP的核心价值,我个人理解最核心的就是单一职责原则,因为只有这个类职责明确了,才能高内聚,才能通过组合完成更多功能。请问您认为的核心价值是什么?
    望解惑,感谢!

    作者回复: 1、这个问题我在七牛云团队写的《Go语言编程》序言中有讲。简单说,接口继承最大的问题是搞错了接口的主体。其实接口是组件的使用方定义的,而不是组件的实现方定义的。这是根源。
    2、单一职责和高内聚,那都是OOP使用者的事情,不是OOP的。作为产品,OOP提供的核心能力是类和类方法(成员函数)、接口(多态)、封装(Go提供了极简的访问权限控制)。

    2019-06-18
    1
  • 被讨厌的勇气
    我对基础平台的各个组件都有些许了解,但无法串联起来。而许老师用基础平台实例讲解架构需求,角度很新颖,立意很大,非常有助于将分散的知识点连接起来。课程很好很强大。
    2019-06-18
    1
  • Aaron Cheung
    打卡19 fight
    2019-06-18
    1
  • aiueo
    我学了go之后,觉得各种好,一个大牛跟我讲这些是挺好,还有很多不足,要是有什么什么就好了,他说的什么什么,可能就是批判性看待golang的吧。只有到达一个层次才能看的出那些不足,自己有了所谓的悟,才可以看出很多本质的问题。
    2019-11-26
  • 弹弹君
    架构设计的宏观视角,基础平台篇,也是最重要的源泉
    2019-09-11
  • 糊李糊涂
    太棒了,感觉许大写一篇,写的太好了
    2019-08-11
  • Lis
    喜欢老师的课程,期待新版go语言编程。
    2019-06-27
  • :)
    看到了,悟到了,就学到了
    2019-06-26
  • 一笔一画
    太赞了,鹈鹕灌顶
    2019-06-24
  • 苟范儿
    好多经典书籍~
    2019-06-20
  • 靠人品去赢
    大佬,作为一个技术不高的相关专业毕业的Java(也做点前端)的程序员,需不需要回头再把C捡起来,上学的时候竟顾着60分万岁了。

    作者回复: 想做就去做

    2019-06-19
收起评论
26
返回
顶部