TypeScript:Aho–Corasick算法实现敏感词过滤

敏感词过滤应该是许多后端同事经常会遇到的需求,无论是评论、弹幕、文章,都需要做敏感词过滤处理来规避风险。在前端开发中,使用replace函数来替换字符串是我们的常规操作。在这之前我思考过如果用JavaScript来实现敏感词过滤该怎么做。在学习过程中,接触到了Trie树,瞬间有一种拨开云雾见青天的感觉。 所以,我这里算...

简述Node.js内存限制

前段时间在Ghost博客系统群与群友交流,谈到了Node内存管理的问题,发现很多小伙伴对Node内存管理完全处于一个“零认识”的状态,这可能与本身工作没有接触到相关,毕竟我们大多数工作可能与DOM打交道,当页面内存占用过多(可能性也很低),几乎不用等GC,用户已经刷新或关闭了网页。 做为前端工程师的我们,大多使用Nod...

再谈JavaScript作用域

什么是作用域? 作用域,这个词在编程界经常能听到看到,每一个程序员几乎都有被问到过。在前端圈,面试JavaScript相关知识,这可以算说是一个非常基础的问题了。但早年间我长期陷入了一种“只可意会不可言传”的地步,我不知道是不是有许多小伙伴与我曾经有一样的经历,所以我就抽时间把书本中看到的东西整理了一下。把提炼的东西分...

CSS3硬件加速技巧

使用3D硬件加速提升动画性能时,最好给元素增加一个z-index属性,人为干扰复合层的排序,可以有效减少chrome创建不必要的复合层,提升渲染性能,移动端优化效果尤为明显。 常听人说: 移动端要想动画性能流畅,应该使用3d硬件加速 最近深入了解了一些浏览器内核的细节,感觉这里面其实有坑啊。。。 事情要从最近看的《We...

《JavaScript设计模式》学习笔记——发布订阅者模式

因前段时间业务需要使用到了观察者(Observer)模式,同时在使用的过程中,让我想起了Publish/Subscribe(发布/订阅)模式。起初感觉这两种模式非常相似,但是细细观察你会发现,Obsever模式要求希望接收到主题通知的观察者(或对象)必须订阅内容改变事件。 然而Publish/Subscribe模式使用...

1 2 3