• 非对称不是这个意思……

    每次加密结果不一样的是用了随机 iv 的加密方式,例如对称的 AES。

    而以 RSA 的使用场景(签名、交换对称加密的 key 等),并不需要随机 iv。

  • 用半衰期模型最高效

    假设一个词被搜索,它的热度 + 1, 然后这个热度就像放射性物质一样,随着时间指数衰减。

    所以换个思路,你不要记录热度,而是记录热度衰减到 1 时的时间戳。

    那你只要在词被搜索时,更新它热度衰减到 1 的时间戳,最后按照这个时间戳排序就好了。

    举个例子:

    半衰期一周

    • 关键词 A 被搜索了 8 次,那它衰减到 1 的时间戳是 log2(8) = 3 周后。
    • 关键词 B 被搜索了 4 次,那它衰减到 1 的时间戳是 log2(4) = 2 周后。

    这时 A 比 B 热度更高。

    假如 2 周后

    • A 反算当前热度 = 2**1 = 2,如果又被搜索了 2 次,更新它的时间戳为 log2(2+2) = log2(4) 周后
    • B 反算当前热度 = 2**0 = 1,如果又被搜索了 4 次,更新它的时间戳为 log2(1+4) = log2(5) 周后

    这时 B 比 A 热度更高。

    半衰期模型缺点是你只能预设一个固定的半衰期,如果修改了这个长度,在过渡阶段,排序会不太准确。 过渡时期,取数据时可以多取一部分,再按新逻辑进行重排一下,过了过渡时期就好。

  • 是连续的。而链表小的没数组快,大的不如存 redis,其实并无实用意义

  • React 现在是有点臃肿了。如果只是做个绑定,CDN 纯引个 VueJS 也比较简单

  • 按标准实现的浏览器会把请求中的 Origin 替换掉

  • 凡用 token 验证的,都不需要 CSRF

    另外由于大部分浏览器支持 Origin,现在服务器验证 Origin 对不对就可以了,也不用 CSRF token 了

  • 同占座

  • YAML 本身不搞 ERB 的 Rails 的配置文件其实是先 ERB 了再 YAML 的

  • Ruby 3 将有类型系统了 at 2019年04月21日

    本来就有……

  • npm 只敢在虚拟环境用,太多木马了