接口鉴权签名实践 工作当中不免要与其他的公司进行打交道,比如调用对方的接口完成某项操作,或者提供接口给对方调用,这些接口可能使用者有很多公司,为了保证接口的安全性,需要设计一些方式来对接口进行保护,常见的保护措施有 IP 白名单与接口签名。IP 白名单这种方式就不多说很简单,判断接口调用者 IP 是否在设定的白名单 IP 之中即可。但是 IP 白名单这种方式有个弊端就是维护白名单 IP 列表成了体力活,调用方增加服 2020-06-01 其他 接口鉴权 接口签名
实用主义之自定义SpringBootStarter 今天以实用角度切入,来示范自定义 springboot starter 在项目开发过程中的实际应用。 SpringBoot 相对于 Spring 最大的优点就是提供了相当数量的 starter,只需引入 starter 进行极少量的配置就可使用相应的功能,有效减少 Spring 冗余复杂的配置文件。但日常工作当中,我们自己也会封装一些比较通用的代码 jar 包,引入到新的项目中很难避免添加相应的配 2020-05-16 其他工作技术总结 自定义SpringBootStarter LocalDateTime格式化 SpringBootStarter实际应用
利用Spring的@ConditionXXX注解实现策略模式 在项目开发过程中,有这样的一种常见的场景,比如根据环境的不同,发短信的服务也是不同的,但是依赖短信服务的系统调用的都是相同的接口,这样就需要针对环境来做区分,调用不同的短信通道接口。举例的这种情况,你可能会想到使用策略模式的方式来实现,当然这也是可以的。 但是只有两种策略而且在一个环境当中,只会有一种固定策略可以生效的情况下,使用策略模式未免过于麻烦,本文尤其适合私有化项目部署,会根据私有化环境执 2020-04-29 其他工作技术总结 ConditionalOnProperty注解的应用 ConditionalOnMissingBean注解的应用 ConditionalOnExpression注解的应用
项目二进制标位实战应用 四月已过大半,紧急补上一篇博客,本文将讲解二进制状态位在项目中的实战应用,技术原理很简单,就是利用二级制与位运算实现。这种方式的应用场景还是比较广泛,希望对你有用~ 2020-04-23 其他工作技术总结 二进制标位使用 二进制状态位使用
【对你无用请揍我系列】必会 Linux 技巧 前言本文非单纯网上介绍 Linux 命令及参数的雷同文章,而是真正在实际工作中能派上用场的 Linux 实用技巧。主要介绍日志排查相关的技巧,捎带常见的其他 Linux 操作以及 vim 技巧。 2020-03-28 服务器
设计模式之责任链模式实战 本文以电商系统订单金额计算为例,电商订单最终的金额可能是这样的 应支付金额=订单金额-优惠券优惠金额-促销活动优惠金额-会员权益优惠金额 当然也有可能还会增加其他的计算步骤,使用责任链模式来实现订单金额计算,若增加了其他计算步骤,直接将步骤加入到链中即可,而无需改动以前的代码,最大程度减小出错的可能性。责任链分为纯责任链与不纯责任链,在日常开发中,很少有纯的责任链,所谓纯的责任链,就是单个链上处理 2020-03-04 设计模式 结合Spring实践责任链模式
设计模式之门面模式实战 类型:结构型模式 意图:定义一个统一的系统接口,隐藏多个子系统的复杂性。 主要解决:降低访问系统客户端内部子系统的复杂度。 使用场景:解耦合客户端与具体子系统,子系统与客户端无需感知对方,客户端不需要亲自调用子系统的接口,把原本需要与多个子系统的交互全部封装到门面类中,客户端只需要和 Facade 类交互即可。 2020-03-03 设计模式
设计模式之策略模式实战 类型:行为型模式 意图:定义一系列算法,不同算法策略可以相互替换,并且互不影响。 主要解决:在有多种算法相似的情况下,使用 if…else 所带来的复杂和难以维护。 使用场景:一个系统需要动态地在几种算法中选择一种。 2020-02-19 设计模式