学口琴计划宣布失败

2021-08-31

缓存穿透:请求去查询一条压根儿数据库中根本就不存在的数据,也就是缓存和数据库都查询不到这条数据,但是请求每次都会打到数据库上面去。

缓存击穿:在平常高并发的系统中,大量的请求同时查询一个 key 时,此时这个key正好失效了,就会导致大量的请求都打到数据库上面去。

缓存雪崩的情况是说,当某一时刻发生大规模的缓存失效的情况,比如你的缓存服务宕机了,会有大量的请求进来直接打到DB上面。结果就是DB 撑不住,挂掉。

什么是缓存雪崩、缓存击穿、缓存穿透? – java技术爱好者的文章 – 知乎

https://zhuanlan.zhihu.com/p/346651831

继续阅读“学口琴计划宣布失败”

记一个朋友遇到的腾讯面试题

朋友面试腾讯,遇到了一个算法题,挺有意思的,特此记录一下。题目是这样的,给定一个数组如下:

let arr = [
  ["a", "aa", "aaa", "aaaa"],
  ["b", "bb", "bbb"],
  ["a", "ab", "aba"],
  ["a", "aa", "aab"]
]

将其转化成一个树状的子结构,如下:

[
  {
    name: "a",
    child: [
      {
        name: "aa",
        child: [
          {
            name: "aaa",
            child: [
              {
                name: "aaaa",
                child: [],
              },
            ],
          },
          {
            name: "aab",
            child: [],
          },
        ],
      },
      {
        name: "ab",
        child: [
          {
            name: "aba",
            child: [],
          },
        ],
      },
    ],
  },
  {
    name: "b",
    child: [
      {
        name: "bb",
        child: [
          {
            name: "bbb",
            child: [],
          },
        ],
      },
    ],
  },
];
继续阅读“记一个朋友遇到的腾讯面试题”

debounce 的简单实现

为什么要讲这个话题呢?主要是因为最近很多问题都由这个特性帮我解决了,让我感叹这非常有用。

学习英语是理解编程的第一步。de- 在英语里表示 xx 的反义,比如 defrost(除霜),deactivate(使失活),decentralization(权力分散),那么 debounce 的意思就是防抖/防止弹跳。我们结合实际的例子感性的认识一下。

继续阅读“debounce 的简单实现”

Trie 的简易版 js 实现

Trie 能解决什么问题?

假设我们有一个数组:['tiger', 'monkey', 'elephant', 'dog'],我们想要查找里面有没有 dog,最简单的方法是遍历数组,如果要查 10000 次,则遍历数组的次数是 1w * 4 = 4w;如果我们用 trie 来解决这个问题,则会大大的提升我们的速度。构建 trie 的遍历次数是 5 + 6 + 7 + 3 = 21,再查询 10000 次,则是 10000 * 3 + 21 = 30021。很明显,查询次数越多,trie 的性能优势就越明显。

上面的计算可能并不专业,仅供参考。

继续阅读“Trie 的简易版 js 实现”

6 月是加班月

2021-06-30

又一个盖茨比的故事?我才不信爱情呢,这种持续五十几年的所谓爱情不过只是偏执而已。比起这种幻觉一样的爱情,我倒觉得乌尔比诺医生那种安放在日常琐碎中的情感更值得人尊重。另外,得不到一个女人,就要靠从此放浪形骸来平衡内心的失落吗?人呐,没事少装纳兰公子,假借爱情之名恣意纵情,伤及无辜的那些人,我看原本就是些不配得到爱情的。

https://book.douban.com/subject/10594787/

乱语:在早晚高峰的地铁上,看《霍乱时期的爱情》,早上脸上捂了一层雾,晚上脸上贴了一层油。

继续阅读“6 月是加班月”

如何调整 Nginx 文件上传的尺寸限制

Nginx 默认限制文件上传的尺寸是 1M,超过了就会报“413: Request Entity Too Large”错误,我们先来查查 413 是啥意思?其实就是超过尺寸限制的意思。

那如何调整这个尺寸限制呢?比如我们要调整到 50M,需要用到一个指令:

client_max_body_size 50M
继续阅读“如何调整 Nginx 文件上传的尺寸限制”

请求成立专门工作小组统筹解决滨江花园问题的报告

尊敬的湘潭市委、市政府:

和达滨江花园 (以下简称 “滨江花园”)位于湘潭市九华经开区,紧挨长沙,是长株潭融城桥头堡、核心区域。

滨江花园更是湘潭市重点工程项目。

项目属于超大型楼盘,占地五百余亩,总建面 120 万方左右,已开发 30 多万方。然项目濒临烂尾两年有余,其中一期二批次近 1000 户业主已经延期交房接近一年,二期一批次 800 余户业主按合同于 2021.10.30 交房,然其离主体封顶尚远。项目涉及近 2000 余户家庭,涉及购房资金高达 20 余亿元,并且在 2020.9.14 由经开区管委会肖均平主任主持召开的“三方会谈”中拟定的并加盖了开发商公章的二次交房时间再次延期,全体业主再度遭到无情背弃。

继续阅读“请求成立专门工作小组统筹解决滨江花园问题的报告”