2020年7月7日
摘要: 我们可能会有这样一个需求:提供一个下载文件接口,该接口从数据库(可能查询慢并且数据大)拉取数据生成文件,返回文件内容提供下载。 不考虑优化的情况,我们可能是这样的: async function downloadAction(req, res) { const data = await getDat 阅读全文
posted @ 2020-07-07 17:48 南宫千寻 阅读(274) 评论(0) 推荐(0) 编辑
2019年4月17日
摘要: 缘起: 产品业务上有个类数据库服务的请求时间比较长(类似mysql的sql查询),为了优化减少并发时的请求数,做了一个并发时共用请求的优化。 通过单元测试后,想通过手动模拟看下效果,发现优化一直不能生效。 定位问题: 1、在mac下,同时开了两个chrome窗口,分别促发访问同一个接口(请求入口打印 阅读全文
posted @ 2019-04-17 15:23 南宫千寻 阅读(527) 评论(0) 推荐(0) 编辑
2019年1月11日
摘要: 问题来源于以下场景: 我们需要对一张数据表做导出文件操作,需要判断如果数据量不多的时候,直接导出提供下载,如果数据量超过一定数值,则异步处理导出和下载。 这里就引入一个问题,如果我们直接count一张表,当表比较大的时候,太过耗时: select count(1) from table;// 数据量 阅读全文
posted @ 2019-01-11 23:47 南宫千寻 阅读(740) 评论(0) 推荐(0) 编辑
摘要: 问题来源于 React.component的第二个参数的类型定义问题,我构建了以下简化demo,方便描述问题: 这里主要产生的问题是,我们认为 this.state.arr 应该是Obj[] 类型,所以可以往里面push进去Obj类型的数据,然而this.state.arr却被识别为never[]类 阅读全文
posted @ 2019-01-11 23:36 南宫千寻 阅读(1327) 评论(0) 推荐(0) 编辑
摘要: 今天注意到前端小伙伴用react 定义component class的方法的时候是通过箭头函数的方式,表示好奇。 如上代码中fun1的定义方式。于是感到好奇,fun1中的this是什么。 如果我们套用箭头函数的概念,我们可能认为,这中间的this是否会指向环境变量global或window。然而却不 阅读全文
posted @ 2019-01-11 22:44 南宫千寻 阅读(1642) 评论(0) 推荐(0) 编辑
2019年1月10日
摘要: 我们已知 在sql中子查询可以配合 in 或者 exists 来使用,但是如何把子查询的结果传给函数呢? 场景: 我们有一个 省份表 数据如下: id province 1 广东 2 福建 3 江西 有一个分隔符表 数据如下: seperator , - ... + 要达到的目标是:一条sql实现省 阅读全文
posted @ 2019-01-10 16:53 南宫千寻 阅读(5039) 评论(0) 推荐(0) 编辑
2018年8月20日
摘要: 首先,HyperLogLog与布隆过滤器都是针对大数据统计存储应用场景下的知名算法。 HyperLogLog是在大数据的情况下关于数据基数的空间复杂度优化实现,布隆过滤器是在大数据情况下关于检索一个元素是否在一个集合中的空间复杂度优化后的实现。 在传统的数据量比较低的应用服务中,我们要实现数据基数和 阅读全文
posted @ 2018-08-20 15:31 南宫千寻 阅读(11944) 评论(0) 推荐(4) 编辑
2018年8月15日
摘要: 管理后台 修改条目数据 解耦 简便 阅读全文
posted @ 2018-08-15 18:51 南宫千寻 阅读(196) 评论(0) 推荐(0) 编辑
2018年8月8日
摘要: 今天在听 吴军的谷歌方法论的时候,吴军讲解了关于 "求二进制数中1的个数" 的一些内容。 于是搜索了下文章,发现有蛮多的方式,以下内容为对我看到的一篇文章的一些难点的补充(因为原文写的比较简洁,有些我一时也没能看懂): 算法-求二进制数中1的个数: http://www.cnblogs.com/gr 阅读全文
posted @ 2018-08-08 00:12 南宫千寻 阅读(306) 评论(0) 推荐(0) 编辑
2018年8月4日
摘要: 关于async 中return 和 return await 的差异 阅读全文
posted @ 2018-08-04 16:48 南宫千寻 阅读(11770) 评论(0) 推荐(0) 编辑