文章目录

点九博客

努力成为Web全栈工程师!

标签: 后端笔记 (8)

关于邮件链接激活的逻辑分析

一、流程图

oracle中union和union all区别与性能分析

union all仅仅是简单的合并查询结果, 并不会做去重操作, 也不会排序, 所以union all效率要比union高.所以在能够确定没有重复记录的情况下, 尽量使用union all

NPS内网穿透工具搭建教程

NPS是一款轻量级、功能强大的内网穿透代理服务器。支持tcp、udp流量转发,支持内网http代理、内网socks5代理,同时支持snappy压缩、站点保护、加密传输、多路复用、header修改等。支持web图形化管理,集成多用户模式。管理系统比FRP方便很多,更容易上手。 详细对比请参考上一篇文章 《内网穿透工具比较》

内网穿透工具比较 有更新!

如果希望自己二次开发(有API可以调用)或者有多个租户(每个客户端一个单独的key),建议使用nps。 如果希望简单上手,没有多个租户的要求,建议使用frp。

限购、限流、幂等的思考 有更新!

一、限购 1、场景 如一商品在一次活动中,规定每人限购两份。 2、分析 商城系统用户一般都会进行实名认证,我们可以根据用户证件号进行限购处理, 或者是用户的唯一ID标识,或者用户注册使用的手机号等。 在用户支付出单前,根据限购标识去数据库中查询一下有效订单数量, 如大于活动限购次数,不允许支付出单。 3、实现 在调用支付接口前,调用限购接口,符合购买条件,继续支付;不符合条件,提示并改变订单状态为无效。 在订单状态修改前,调用限购接口,符合购买条件,成功生成订单号;不符合条件,提示并做退款处理,订单设置为无效。 二、限流 1、场景 场景一:不同接口不同时间段限流 场景二:针对不同产品或者不同套餐限流 2、分析 场景一:不同接口的不同时间段限流, 如支付接口在中午12点到0点订单量较大,接口的限流白天时段可以开放大些。 0点以后可以少些,可以做到恶意防刷,当然你们系统肯定也有黑名单管控。 场景二:针对不同产品或者不同套餐限流 如针对产品进行不同限流,IPone 11 PRO Max手机活动中每人限购2个,手机壳每人限购5个。我们产品维度根据用户唯一ID进行并发数限制。 3、实现 场景....

01_观察者设计模式【每天学一种设计模式】 有更新!

观察者模式:定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象,这个主题对象在状态发生变化时,会通知所有观察者自动更新状态。Java已经提供了对观察者Observer模式的默认实现, Java对观察者模式的支持主要体现在Observable类和Observer接口。

Observer和Observable在Java 9标记为废弃 有更新!

Observer和Observable弃用有以下几个原因

00_设计模式概述【每天学一种设计模式】 有更新!

使用设计模式的目的是为了可重用代码、让代码更容易被他人理解、保证代码可靠性,当然设计模式并不是万能的,项目中的实际问题还有具体分析。咱不能为了使用设计模式而使用,而是在分析问题的过程中,想到使用某种设计模式能达到咱需要的效果,而且比不使用设计模式更有优势,那么咱该考虑使用设计模式了。