2021 March

使用迭代的方式实现 flatten 函数

迭代的实现: let arr = [1, 2, [3, 4, 5, [6, 7], 8], 9, 10, [11, [12, 13]]] const flatten = function (arr) { while (arr.some(item => Array.isArray(item))) { arr = [].concat(…arr) } return arr } console.log(flatten(arr)) //[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13] 递归的实现(ES6简写): const flatten = array =>… 查看更多 »

观察者模式和订阅-发布模式的区别

在观察者模式中的Subject就像一个发布者(Publisher),观察者(Observer)完全和订阅者(Subscriber)关联。subject通知观察者就像一个发布者通知他的订阅者。这也就是很多书和文章使用“发布-订阅”概念来解释观察者设计模式。但是这里还有另外一个流行的模式叫做发布-订阅设计模式。

宣布成立Deno公司

Deno公司希望能让数以百万计的web程序员在其他领域最大限度地利用他们的技术。

SpringBoot 持久化 WebShell

后Spring时代,SpringBoot jar部署模式下,一般没有了JSP,所有的模板都在jar内,当大家都热衷于内存马的时候,发现很容易被查杀(网上查杀方式无外乎都是利用JVMTI重加载class的javaagent方式),并且重启后丢失

控制台打印console的用法整理

console 提供了如此多的输出规范,其实也是在变相制定开发规范,毕竟离开发者最近的就是调试控制台,如果你的项目打印规范与标准规范有差异,那么调试时信息看起来就会很别扭。

JavaScript 编程技巧

语言的一些高级特性的使用可以帮助我们更好去实现一些复杂的功能,以尽量简短的语句来使代码看上去更简洁、逻辑更完善,而且这样减少了出现 bug 的风险。接下来让我总结一些 JavaScript 中的一些简写小技巧。

如何对Webpack进行优化

Webpack 的优化瓶颈,主要是 2 个方面:1. Webpack 的构建过程太花时间。2. Webpack 打包的结果体积太大

浏览器解析渲染页面优化手段

解析 HTML,生成 DOM 树
解析 CSS,生成 CSS 规则树(CSS Rule Tree)
将 DOM Tree 和 CSS Rule Tree 相结合,生成 渲染树(Render Tree)
从根节点开始,计算每一个元素的大小、位置,给出每个节点所应该出现的屏幕精确坐标,从而得到基于渲染树的 布局渲染树(Layout of the render tree)

JavaScript优化写法汇总

你可能做了很长时间的JavaScript开发,但有时你可能没有更新最新的特性,这些特性可以解决你的问题,而不需要做或编写一些额外的代码。这些技术可以帮助您编写干净和优化的JavaScript代码。

Sidebar