获得徽章 0
杭州 男 想脱单了
5
赞了这篇沸点
最近有同事跟我说过“你没搞懂原理”这样的对话。
其实对于面向应用的技术人员来说,“原理”基本上是对事物的逻辑关系的理解。
比如我对于“容器与容器是如何通信的?”这个问题,我的理解只停留在容器是什么,有哪些通信方式上。
而进程IPC,内存,共享存储的底层实现又分别有什么逻辑单元,各个逻辑单元之间又是怎么运作的,我就不知道了。
我只是举一个例子,来说明我们广大面向业务应用的技术人员对于“原理”的理解是停留在什么需求层面的。
不管是开发还是运维还是架构师,其实都在处理逻辑关系,各自所需掌握的细分逻辑单元的认知不一样。
这也是计算机是一门综合性科学的体现。
开发人员用框架实现业务需求,可能不需要对框架的实现深入学习。比如我知道web框架把HTTP请求封装了,我熟悉怎么使用就够了。编程语言(我指的是高级语言)的本质是抽象化计算机的运算,比如计算机本来没有面向对象这个概念,那程序员需要对计算机底层实现有多少认知呢?
运维人员对各种中间件的使用熟悉了,敢问一下真正对nginx的底层实现了解的有几个。
编程语言也好,nginx也好,底层实现都跟计算机底层原理有很多共通之处吧。
所以原理这个词,我是很少用的。
我学了那么多技术,无非是搞懂是啥,干啥的,子单元是啥,干啥的。
前段时间看了篇文章,是一个SDN项目的主要成员写的,他同时也是Linux内核的某些模块的编写成员,他提到,对于硬件的运作毫不了解,但丝毫不影响他编写运作于内核的模块。
我的理解是,“原理”这个东西其实也就是个抽象概念,当我只是个面向业务的技术人员时,他这样的理解,当我是面向操作系统的技术人员时又是另一番理解,不同的在于对事物的逻辑子单元的认知的复杂程度。
所以,我的同事跟我说你没搞懂那个原理的时候,我问他,你告诉我原理指的是哪几个东西,他们叫啥名字。因为我只是想知道他在说的是啥,我就可以Google一下就可以判断他说的是不是对的。
顺带一提,经常听见开发团队的人谁也不服谁,其实就是因为技术水平差不多,都想挣机会来负责实现。
展开
6
赞了这篇沸点
TCP/IP协议报文格式高清珍藏版
TCP Packet Header
IPv4 Packet Header
IPv6 Packet Header
UDP Packet Header
ICMP Packet Header

hauptj.com
展开
jsam于2020-03-11 23:42发布的图片
jsam于2020-03-11 23:42发布的图片
jsam于2020-03-11 23:42发布的图片
jsam于2020-03-11 23:42发布的图片
jsam于2020-03-11 23:42发布的图片
2
赞了这篇沸点
我突然有一个大胆的想法…春招快开始了,告诉我你的面试题,我来帮你写答案,觉得不错,点个赞,我准备一下😃
62
赞了这篇沸点
#被囚禁在杭州的温州女孩# 怀念可以出去玩的日子
程序员解决师于2020-02-09 00:04发布的图片
程序员解决师于2020-02-09 00:04发布的图片
15
赞了这篇沸点
测试环境和线上环境的区别
dombro于2020-01-10 10:32发布的图片
6
赞了这篇沸点
艹,不想一思辨还真成了react党了。自从自己的mvvm框架的子节点模式引入了一个稍复杂的算法一直耿耿于怀:复杂的东西总意味着易出错与难理解。可是dom节点是实体,不是绘制——操作dom消耗很大,加上virtualdom甚至更难理解了;react模式每次render都要重新生成,这样频繁的变化,太浪费;还有react的状态管理机制太死板。

我试想从新回到gui的实现原理层,浏览器提供出canvas,连measureText这样的方法都有,反正每次修改都只是调整完成后通知重绘,还能实现类似关系图的关联。才明白重绘组件难免生成实体,至少是承接dom事件,即用数据结构去指导绘制。当然以前的dom节点是复用这种结构的面向对象,但绘制总是难免的,性能问题在绘制上,生成节点应该可以忽略不计,对于计算机,时间基本上是唯一评判标准。但路程遥远,连复制文字的功能都没有。

然后恍然大悟,自己只是用canvas重新实现dom,何不直接用dom节点作为对重绘的指导?一切都实现得很好,dom节点消耗跟重绘比起来也不大吧。性能在重绘本身上,而不是dom节点的创建消耗上。所以每次事件重绘一次就行了,甚至没必要用virtualdom,diff出几个不同就要更新几次、重绘几次,mvvm也是一样。为什么innerHtml反而会很快?而且做框架将parseText的步骤都省了。每次就生成一个,从根节点替换。重绘一次。当然这是我的猜想。

至于状态的死板,解决更简单,不需要严格意义的组件,一般模块片段分成状态部分与重绘部分,状态被父组件持有,当状态就是重绘,不就直接退化为传统面向对象模式吗?灵活大大地有,不必认识dom的api。连动画都能缈想出来。

真正的进步是提高程序员的工作效率,减少思考,才能扩大生产面,而不是执着于机器的性能。想来mvvm仍然是过于复杂了。

以前有用java来做web的似乎也是这样的mvc处理。显然服务器端mvc,io才是性能重点。js有了ts等强类型,没必要再处处用java。
展开
1
关注了标签 Spring Spring
下一页