下载APP
当前播放: 十年架构感悟
00:00 / 00:00
全屏
00:00
浏览器暂不支持观看全部视频,建议前往 App 看完整版
试看部分内容
用App打开
11124人已学习
十年架构感悟
蔡超 | Mobvista 技术 VP 兼首席架构师
了解架构设计中的决定因素,了解如何成长为一名优秀的架构师,避免设计工作中的误区。
编辑推荐
精选留言
  • 2020-12-01
    1.学会提出问题
    2.做减法,tradeoff and blance
    3.非功能性需求决定架构
    4.keep in simple,布隆过滤器

    持续学习,做正确的事情。
    展开
    1
    33
  • 2020-12-13
    谢谢蔡老师的分享,不忘初心,坚持匠心✊
    蔡老师分享的几本书:《设计原本》,《面向模式的软件架构》,《恰如其分的软件架构》
    24
  • 2021-01-01
    谢谢老师精彩的分享!整理了一下笔记和同学们分享一下

    1. “提出问题”难于“解决问题”。程序员要学会如何从用户的角度发现困难,提出需求问题,适配用户场景。不仅仅是一个解决问题的人,而是提出问题的人,不断地思考什么样的需求的问题能让我们的产品更先进

    2. “设计最难的部分就是去设计我们要设计什么样的问题” - 《设计原本》Brooks

    3. 什么是架构?从很多层面上说,架构是一种tradeoff,是一种权衡、平衡。作为一个架构师,你应该是那个说“不”的人。决定不要什么比要什么更难。先确定一个大原则,之后在做选择的时候根据这个原则来取舍,这样就不会随着工作的推进而迷失了

    4. “决定不做什么和决定做什么是一样重要的”-史蒂夫.乔布斯

    5. “人们认为专注是对你要关注的事情说yes。但是这完全不是专注的本意。专注是对其他一千个好的想法说no。你必须非常谨慎的挑选。实际上我对我拒绝做的事和我做过的事一样感到骄傲。创造力就是对一千件事说NO的能力。” - 史蒂夫.乔布斯

    6. 非功能需求决定架构。所谓的非功能需求,包括性能,伸缩性,可扩展性,可维护性,甚至还包括了你的团队结构,你的团队技术水平,你的发布周期的要求,这些来筛选那些可以去使用的方案,最终找到一个合适的架构。

    7. 非功能性需求在架构中是非常重要的,起了决定性作用,因为功能性需求在设计完之后,如果是了一个功能,未来我们可以再加上去,它对你的架构不会有本质上的影响。但是如果我们忽略了某一种非功能性需求,在未来这有可能产生灾难性的后果,很有可能你就需要重写,比如架构导致数据一致性的问题,没用充分考虑性能问题等,这样所有的功能性实现都没有意义,你就得完全重写整个东西。Micro-Kernel模式架构可以了解一下。

    8. “简单可以比复杂更难。你必须非常努力的把你的想法想清楚之后你才有可能把事情做的很简单。但是这个努力是值得的,因为一旦你达到了这个目的,它会给你带来排山倒海的能量。为了能达到真正的简单,你必须思考的足够深入。”--史蒂夫.乔布斯

    9. 简单不同于容易,而且恰恰相反,真正的简单其实是来自于不容易的,复杂才容易,简单蕴含了巧妙在里面

    10. 在软件开发生命周期中,对软件发布后的维护占了整个成本的一半以上。如果你要让一件事情简单,你就可以让后期的维护变得简单,这是性价比最高的事情

    11. “我相信软件开发中最难的部分,也是最经常导致失败的部分,是和软件用户之间的沟通交流”--Martin Fowler(马上搜了一下Martin Fowler的推特账户,发现大师在人间还活跃着,很激动…)
    12. 对于一个架构师来说,你永远都不要停止编码,你永远都是一个程序员。如果你停止编码,你就会丧失对敲代码这种痛苦的感觉,你就会容易产生不切实际的幻想,做出不切实际的设计,这是最大的一个问题。(罗胖也坚持自己做启发俱乐部磨练自己的手艺)

    13. 风险优先。所谓的架构设计就是你要在早期就能识别出这个系统可能出现的风险问题,然后通过你的设计去除或转换它,比如通过原型或架构切片的早期迭代去测试我们的架构是否还存在风险。

    14. 敏捷开发的精髓是,如果一个项目会失败,那你要让它快速的失败

    15. “如果你这个项目其中能预见到的风险都能通过重构解决的话,那么你就没必要设计软件架构,你重写就好了。”--《恰如其分的软件架构》Just Enough Software Architecture

    16. 从“问题”开始,而不是“技术”

    17. 过度繁忙使你落后,因为你没有时间去更新你的知识。在一个公司干了几年,如果你不持续学习,你就很容易“被忠诚”,因为你失去了跳槽的能力和勇气。而且在你的工作中,你面对的问题会越来越复杂,你会觉得越来越难以应付,你只有通过不断地加班来解决。如果你不能紧紧跟随你所在行业的发展,那你只能天天加班,这会是一个恶性循环,越加班,越没有时间学习。试想一下,如果你已经领先业界五年了,你还在乎休息一个礼拜吗?

    18. 做更好的自己。锻炼配合营养,实践也要结合学习,你才能变得越来越好。

    19. 要不断学习,你不一定要换领域,你可以用不同的方式做同样的事情,然后把事情做的更好。

    20. 不忘初心,坚持匠心

    展开
    13
  • 2020-12-06
    过度繁忙让我们落后!警醒!
    14
  • 2020-12-06
    看出来了,是个务实派架构师
    12
  • 2020-12-01
    keep it sample,我觉得老师已经把容易和简单的区别讲的很通俗了ᥬ🤪᭄
    1
    10
  • 2020-12-07
    你的知道没有更新,而你面对的业务和场景越来越复杂(越来越大的数据量、越来越复杂的业务场景、越来越刁钻的用户需求),所以你会觉得越来越难以应付,所以你只有通过不断加班来应付🥳
    8
  • 2020-12-02
    不忘初心,坚持匠心
    7
  • 2020-12-05
    讲到简单和容易的时候,老师稍微有点紧张了。讲的道理是很不错的,以后会更好!
    6
  • 2020-12-15
    我觉得讲的很好,跟贴地气,通俗易懂
    4
  • 老师下次分享健身的经验,哈哈哈
    3
  • 2020-12-07
    以不同的方式做同样的事情,把同样的事情做成不一样的效果
    3
  • 2020-12-03
    支持我超哥
    3
  • 2021-01-15
    听完后,觉得几个点选择的都比较典型,主要的观点是两个,1.做事之前明确业务
    (1)提问题的重要性(2)确定事项的决策(3)对领域、业务的敬畏(4)风险的识别
    2.怎么与时俱进
    (1)保持编码,感知实施的感觉
    (2)学会停顿,避免繁忙
    3
  • 2020-12-03
    手动点赞
    2
  • 2020-12-02
    深入地学习,把同样的事做得不一样。在知识深度上成长。
    2
  • 2020-12-01
    句句箴言,好好体会
    2

  • 老师,在中国程序员真的走35岁被退休的说法吗?技术一般的、35岁以后的程序员,应该往哪个方向努力?甚至说往哪个新的职业转型、转业?
    1
  • 2021-01-04
    这是写代码的真架构师
    1
  • 2020-12-05
    感谢老师的分享,好久没听一个视频听的这么入迷了,不忘初心
    2
免费订阅《十年架构感悟》