文章482
标签257
分类63
使用MongoDB查找最近阅读最多的文章

使用MongoDB查找最近阅读最多的文章

最近给博客的文章添加了一些数据记录,然后用这些在MongoDB中的阅读记录添加了最近阅读比较多的功能;


Node+Redis实现基于IP的限流策略

Node+Redis实现基于IP的限流策略

API限频可以保护和提高API的服务的可用性;如果某个IP在一个时间段进行大量的访问请求(例如典型的DDos攻击),不但会影响其他用户的访问,严重的还有可能直接拖垮整个服务;

针对API限流有多种策略,Node.js可以使用Koa现成的限流模块koa-ratelimit,Java也有对应的限频实现方式(通常通过注解+AOP的方式即可实现);

本文使用Redis+Node,以相当轻量级的方式实现了针对IP的访问限频,起到了抛砖引玉的作用;

源代码:


迁移MongoDB官方Atlas集群中数据

迁移MongoDB官方Atlas集群中数据

之前博客用的是MongoDB提供的免费Atlas数据库,位于新加坡。每次请求的时候都要顶着几百的延迟,体验是相当的差了!

所以最后还是在自己的良心云上搭了个MongoDB,把数据同步过来了;


浅谈C++中的RAII

浅谈C++中的RAII

使用C++实现一个Mark-Sweep的GC

使用C++实现一个Mark-Sweep的GC

在现代编程语言中,无论是Java这种基于JVM的语言,还是Golang这种直接生成Native的语言,都存在自己的GC;

由于GC的存在,我们可以肆无忌惮的申请内存并创建对象而不必手动的释放内存空间;而对于GC中的垃圾清理,我们也仅仅是停留在理论学习中;

本文带大家使用C++实现一个简单的GC,以实际代码理解GC的实质;

源代码:


对抗SSH恶意访问

对抗SSH恶意访问

在使用腾讯云或者阿里云时,每次登录都会看到成千上万次的SSH登录失败提示;

由于我们的服务器是暴露在公网IP之下的,每天都会被恶意扫描,本文分析了这些恶意扫描,并尽可能给出解决方案;


生成二维码的原理

生成二维码的原理

二维码现在已经是日常生活中随处可见的了,本文讲解了二维码的原理,并且最后手把手教你使用JS创建一个二维码;

本文译自:


调教Chrome中的小恐龙游戏

调教Chrome中的小恐龙游戏

几年前,Google给Chrome浏览器加了一个有趣的彩蛋,如果你在未联网的情况下访问网页,会看到No Internet的提示,旁边是一只像素恐龙;

按下空格键,小恐龙开始奔跑!


代码中嵌入了http链接会发生什么

代码中嵌入了http链接会发生什么

有一次在C++的代码中不小心贴了个url,结果发现竟然能编译通过,并运行!


cURL命令转代码工具

cURL命令转代码工具