Decorative image frame

WebIDE 踩坑

调研了市面上其他厂商做的IDE,有些是基于electron或NW.js从头开始构建的,成本较高。还有很多是基于VSCode源码定制的,后来了解到Eclipse Theia这个框架,发现样式和功能与VSCode差不多,而且也部分支持VSCode的插件,最主要是能够通过扩展的形式去丰富IDE的视图功能,比VSCode修改源码更加好用。

结构化思维

在日常工作中,我们时常会碰到这样的情况,有的人讲事情逻辑非常混乱,罗列了很多事项,却把握不到重点,无法把一件事情说清楚。他说的每个字你都听得懂,然而组合在一起,你并不知道他想说什么,内容没有逻辑,语句没有重点。

这种思维混乱是典型的缺少结构化思维的表现。结构化思维非常重要,不仅仅体现在表达上,也体现在在我们分析问题的过程中。具备结构化思维,才能将问题分析地更全面、更深刻。

深入Vue源码理解diff算法

计算两颗树的结构差异并进行转化,传统的diff算法是通过循环递归对每个节点进行依次对比,算法复杂度达到 O(n^3) ,n是树的节点数,这个有多可怕呢?——如果要展示1000个节点,得执行上亿次比较。。即便是CPU快能执行30亿条命令,也很难在一秒内计算出差异。

深入Vue源码理解响应式原理和依赖收集

每当问到Vue响应式原理,大家可能都会脱口而出“Vue通过Object.defineProperty方法把data对象的全部属性转化成getter/setter,当属性被访问或修改时通知变化”。然而,其内部深层的响应式原理可能很多人都没有完全理解,网络上关于其响应式原理的文章质量也是参差不齐。

浅谈Typescript

TypeScript是一种由微软开发的开源、跨平台的编程语言。它扩展了JavaScript的语法,添加了可选的静态类型系统和很多尚未正式发布的ECMAScript新特性。TypeScript是JavaScript的超集,现有的JavaScript程序可以直接运行在在TypeScript环境中,TypeScript最终会被编译为JavaScript代码。

浅析 Web 安全与防护

在互联网时代,数据安全与个人隐私受到了前所未有的挑战,各种新奇的攻击技术层出不穷,Web 安全的对于 Web 从业人员来说是一个非常重要的课题,也许你对所有的安全问题都有一定的认识,但最主要的还是在编码设计的过程中时刻绷紧安全那根弦,需要反复推敲每个实现细节,安全无小事。

git filter-branch指令

git filter-branch 这个指令,是一个非常强悍的指令,《Pro Git》的作者说这是一个核弹级指令。除非特别清楚你准备干什么。否则不要抱着尝试的想法来试试,除非你想尝试下核弹的威力。

RxJS和响应式编程

RxJS 是一个库,它通过使用 observable 序列来编写异步和基于事件的程序。它提供了一个核心类型 Observable,附属类型 (Observer、 Schedulers、 Subjects) 和受 [Array#extras] 启发的操作符 (map、filter、reduce、every, 等等),这些数组操作符可以把异步事件作为集合来处理。可以把 RxJS 当做是用来处理异步事件的 Lodash 。