in 技术

最近接到一个编辑器放置参考/辅助线的需求,一开始不想考虑画布扩放/缩放来更新线的端点数据,所以给了一个接近在画布中接近无限大的数字作为线的端点数据来保证参考线始终能够达到画布的边界,由此发现一个现象,当编辑器的svg画布中出现了这样一条接近无限长的line之后,这个svg画布在浏览器中的几乎所...

in 技术

【书本上的算法往往讲得非常复杂,我和我的朋友计划用一些简单通俗的例子来描述算法的流程】匈牙利算法是由匈牙利数学家Edmonds于1965年提出,因而得名。匈牙利算法是基于Hall定理中充分性证明的思想,它是部图匹配最常见的算法,该算法的核心就是寻找增广路径,它是一种用增广路径求二分图最大匹配的...

in 技术

写在前面打开 github,可以看到越来越多的 js 的大型应用型项目已经投入到了 ts 的怀抱,不过也可以看到的是作为功能性使用的很多知名的被大量使用的 js 类库其实仍然是在采用 js 来编写,那我们的 ts 项目在采用这些 js 库的时候就会涉及到我们今天的主题-ts 申明文件为 js ...

in 技术

写在前面模块化这个概念出现在 js 应用中已经很久了了,在es-module 规范发布以前的在很长的一段时间里大家都在讨论使用怎样的模块化规范来组织自己臃肿的 js 代码,其中最流行主流的规范当属被 node 支持的同步CommonJS规范,以require.js为代表的异步AMD规范和以se...

in 技术

写在前面距离 tc39 推出原生的模块化解决方案已经有一段时间了,新的工作中也一直在使用,现在对以往的使用做一个简单的回顾和介绍。一般应用一般来说,我们都是在编写大型应用或者多模块类库源码的过程中使用原生模块化解决方案来组织我们的代码,然后再借助 webpack 或者 rollup 等构建工具...