第五十四期:知识束缚和对diff算法的一些理解

·  阅读 48

这里记录工作中遇到的技术点,以及自己对生活的一些思考,周三或周五发布。

封面图

认知束缚

我们都被自己的认知束缚。

最近这一段时间想了很多事情,找了很多人聊天。见到了不同的行业,医疗,金融,在线教育,传媒,制造业等等。

作为一个单纯的前端程序员的眼光来看,其实很多程前端的序员对这些行业当下具体的形式并不关心,对行业未来的走向似乎也不太关心,我们关心的大部分是产品经理交给我的需求能否完成。或者对某些新技术的所谓的追求。一个新的前端技术出现,我们往往热衷于去学一些新技术的用法,尝试写一些demo。

这些都是很好的方面。但是一个很现实的问题是,加入我们不去思考行业当前的问题,或者行业未来的走向,那么即便是你不断的追求新的技术,其实也不过是如镜中月,水中花一般。因为我们虽然自以为学习了新的技术,但是对于这项技术的应用场景却一无所知,或者我们只是知道有这么一个技术,但是却不知道它具体可以解决哪些问题。

我以前也很少去思考这些问题,因为我遇到的人传达给我的一个观点是:做技术的人,只要技术扎实,到哪里都会有人要。这其实是一个很可怕的陷阱,因为技术本身我们可以把它理解为一个工具,只不过这个技术的使用方法略显复杂。但是只要它是一个工具,那么总会有人会越来越熟练的使用它,而且能使用的人,会使用的人,使用的越来越熟练的人会越来越多。尤其是在当下社会的快节奏当中,年轻人的理解能力其实也越来越强,学习的速度也越来越快,那么到了这个时候,我们又如何保持我们的竞争力呢?

这就需要我们发挥自己的主观能动性去思考,去对某些问题进行一个稍微详细的分析和规划。比如我们可以时不时的提醒一下自己:未来5年的规划是什么,要达到一个什么样的目标,或者自己在特定的行业中要学习到哪些东西,产出一些怎样的沉淀?这些都是我们需要花时间去思考的问题。

我们都被自己的认知所束缚,所以每个人思考的问题都不一样。即便是不同的人思考同样的问题,每个人从每个人的认知出发,得出的结果也不一样。所以我们有时间的话还是需要去多读一些书,因为通过这本书,我们可以了解作者内心的想法。而不是只是单出的凭借自己的猜测去做出什么样的决定,或者得出一个什么样的结论。

这其实和处理人际关系是一样的道理。我们不能只凭借自己的想法去做某些事情,同时也需要去考虑别人对这些事情的看法,参考别人的建议。而获得这些建议就需要我们主动去和别人进行沟通,虽然这些沟通并不一定有效,但是起码是一次好的开始。怕的就是,明明有问题却不说出来,不去沟通,这样就不好了。

现实世界是一个非常复杂的世界。昨天去找朋友喝酒,给我推荐了一本书《做复杂世界的明白人》。现实世界中,谁又能真正的做一个明白人呢?有时候想一想似乎都有些“当局者迷,旁观者清”的感觉。

我们往往看待别人时会很快的发现问题,指出别人的不足。但是自己身上的问题呢?自己又能真正的看到自己的不足之处吗?又真正能明白自己的追求到底是什么吗?

这些问题很难用一两句话去回答,也很难在一段较短的时间内得到解答。

我们唯一能做的,就只尽量的去扩展自己的认知,别让当下我们有限的认知把我们束缚住,主动的去打破这种束缚。某种程度上可以理解为跳出当下的舒适圈,给自己定一个新的目标。

对 diff 算法的理解

近期的状态还是在隔三差五的看Vue的源码,对它的diff算法也有了新的理解。

我承认我以前其实根本不理解什么是diff算法,虽然也看过很多别人写的文章。但只是看不去思考的话,文章始终是别人的文章,自己不理解,别人问你的时候,你只能照本宣科,不会有自己的观点。

当然我这里也不会做特别详细的解读,因为写这些内容的文章太多了。

其实想要真正的理解diff算法,你只需要知道它的目的是什么就行了。

它的目的是什么呢?

其实就是基于Vnode去创建,删除,更新Dom。

我们只需要去看它是如何创建,删除,更新Dom就行了。

最后

  • 公众号《JavaScript高级程序设计》
  • 公众号内回复”vue-router“ 或 ”router“即可收到 VueRouter源码分析的文档。
  • 回复”vuex“ 或 ”Vuex“即可收到 Vuex 源码分析的文档。

未来的文章可能对技术上比较详细的解答不会有很多了,技术上的可能会更多的去写一些详细的,系统性的文档。

这里未来更多的可能会是对某些行业,问题,或者一些读书的感悟吧

感谢您的点赞,转发,关注。

分类:
前端
标签:
分类:
前端
标签:
收藏成功!
已添加到「」, 点击更改