05 2019 档案
摘要:api太恶心、api太恶心、api太恶心 什么是Redux它为什么存在 : https://www.jianshu.com/p/d6614feef303 Redux、vuex是可以帮你处理应用的共享状态,但是感觉它的api太恶心,开发、维护的时间成本太高。 推荐用另外种状态管理方式,别再用vuex或
阅读全文
摘要:详情说明可以参考其他文章,我这里是对康托展开 和 逆康托展开的JavaScript实现。 代码: 测试:
阅读全文
摘要:给定一个环形的字符串s,求字符串t,使得t是所有与s长度相同的字串里字典序最小的字符串和最大的字符串 例如: abcdaad 的最小字符串是 aadabcd,最大字符串是dabcdaa ‘5612358’的最小字符串是 ‘1235856’,最大字符串是‘8561235’
阅读全文
摘要:200 OK (from disk cache) 是浏览器没有跟服务器确认, 就是它直接用浏览器缓存。 304 是浏览器和服务器确认了一次缓存有效性,再用的缓存。 我希望达到的效果是html主页面缓存时间是600s,子资源js、css、png等的缓存时间是1年。 测试1:主页面设置缓存时间600s,
阅读全文
摘要:网页劫持包含两部分 1、网页内容劫持,xss攻击,(网页内容被修改了) 2、cdn劫持,js资源被修改,(js文件被修改了) 解决方案如下 1、解决网页内容被修改了,"内容安全策略"(Content Security Policy,缩写 CSP) CSP: Content-Security-Poli
阅读全文
摘要:方案是:HASH + Salt HASH + Salt 的操作也称为两次 HASH,其原理是:第一次 HASH 操作进行身份的初次鉴权,网站会返回一个随机数(Salt,盐值),客户端通过服务器返回的随机数以及协商好的规则进行第二次 HASH 操作,将操作结果发送给服务器,服务器也通过相同的方法进行操
阅读全文
摘要:首先简要介绍一下AC自动机:Aho-Corasick automation,该算法在1975年产生于贝尔实验室,是著名的多模匹配算法之一。一个常见的例子就是给出n个单词,再给出一段包含m个字符的文章,让你找出有多少个单词在文章里出现过。要搞懂AC自动机,先得有模式树(字典树)Trie和KMP模式匹配
阅读全文
摘要:js分治算法实现大整数相加,算法复杂度为O(n/15) js分治算法实现大整数相减,算法复杂度为O(n/15)+比较大小0-n/15; 测试 输出结果: -108899999999999999999999999999999-217800000000000000000000000000000-1234
阅读全文
摘要:Trie Tree 简介 Trie Tree,又称单词字典树、查找树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计和排序大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:最大限度地减少无谓的字符串比较,查询效率比哈希表高。 性质 它有3个基本性质: 根节
阅读全文
摘要:布隆过滤器(Bloom Filter) 是1970年由布隆提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都比一般的算法要好的多,缺点是有一定的误识别率和删除困难。 基本概念 编辑 基本概念 如果想要判断一个元素
阅读全文
摘要:KMP算法 定义 Knuth-Morris-Pratt 字符串查找算法,简称为 “KMP算法”,常用于在一个文本串S内查找一个模式串P 的出现位置,这个算法由Donald Knuth、Vaughan Pratt、James H. Morris三人于1977年联合发表,故取这3人的姓氏命名此算法。 下
阅读全文