标签 代码段 下的文章

限流与常见实现

限流也是一个系统中老生常谈的话题了,因为资源不是无限的,因此系统总会达到一个瓶颈,我们不可能接受无限的流量直到系统崩溃,于是也就有了限流策略。

多少流量该限流

一般来说,我们有几种方法可以来对系统进行评估:

- 阅读剩余部分 -

Redis 中使用键空间监听 key 过期消息

距离上一次更新已经超过一个月了,是月更博主对不起大家了!

主要是因为之前有一阵子业务比较忙,因此一直在加班,没有空看其他的东西(又不愿意牺牲打游戏和看剧的时间),最近一有时间就在写 Demo,这几天刚写完,才能更新这篇文章。

背景故事

这个需求也是在我们业务落地过程中衍生出来的,因此先来说说之前一阵子忙的东西吧。

在公司内做的服务因为有各种基建的加持,所以想要实现一些功能很容易,比如说标题写的东西,或者是 binlog 订阅消费;但是在 to B 私有化部署的场景下,客户机千奇百怪,就要求我们用尽可能少的依赖和简单的部署架构进行实现,肯定也不会有公司里这么多花里胡哨的依赖。

为此简化了不少架构和功能,牺牲了不少体验之后才给接入我们基建的用户怼上一个版本。

而其中一个诉求就是我们的功能需要(Nice to have)订阅过期键并广播给订阅用户。

- 阅读剩余部分 -

从 Django Allauth 中进行登录改造小结

大概来介绍一下 Django Allauth 改造的期间遇到的一些问题和改造方法,在此之前我只想说——Django Allauth 是屑。

为什么我说 Django Allauth 是屑

入职之初我就接到了一些第三方登录的任务,然而 Django Allauth 将内部封装的太好,暴露的 API 不足,更新又慢,issue 和 PR 很少有人处理,当你需要扩展时,很多情况下你只能用一些 hack 的手段去解决问题,非常蛋疼,所以当时就决定慢慢的切到自己的一套 Auth 体系中。

- 阅读剩余部分 -

如何构造一些有意义的测试

好久都没更新博客了,难得有时间,还是水一篇好了……

在此之前,我从来没有聊过测试相关的话题,这是因为——平时根本没有时间去写单元测试!最多只有 lib 级别的东西不得不写测试才会有时间去写。不过这次由于业务的关系,补了一大堆单元测试,对于开发而言,整个流程其实还是挺简单的,但是正要构造起测试用例来确很麻烦,因为单元测试和开发会有一些区别——

- 阅读剩余部分 -

使用 Docker 来进行测试

上一篇 egg 的介绍中我们说到测试的问题,测试一直是个让人很头大的问题,不过有了 Docker 以后就解决了很多问题,本文用数据库来抛砖引玉,举个?,更重要的是一种思路。

要进行 mock,其实本质思路是一样的,我们需要一个用完就可以卸载的数据库,以便下一次测试使用,他必须对外暴露一个端口,可以读写数据。

为了避免被打,补充一则,本文是基于 app 安装到运行的过程需要 ssh key 或者其他身份认证系统的情况所写,之后会补充常规情况。

- 阅读剩余部分 -

React div 实现一个 textarea

看到标题,老爷们肯定不满意,切,用 div 实现一个 textarea 有啥难度,不就是 contenteditable 吗?

看到 React,又要多加一句:切,跟用什么库有什么关系。实际上在使用的时候,我还是遇到了一点微小的麻烦。

全选

在 textarea 中,全选只需要使用 element.select() 就可以,它的作用是:

- 阅读剩余部分 -

JavaScript 纯前端实现图片的上传、下载与复制

这次在写一个画布应用,由于是纯前端的项目(我也希望加入后端啊可是后端在公司里申请机器要走架构评审),所以和普通的上传到服务器不太一样,下载倒是比较常见的函数,复制也是新增研究对象……当然大家懂得,博客第一段通常是用来吐槽的……所以这是一篇吐槽文。

- 阅读剩余部分 -