保证接口数据安全的10种方式

前言大家好呀,我是捡田螺的小男孩。 我们日常开发中,如何保证接口数据的安全性呢?个人觉得,接口数据安全的保证过程,主要体现在这几个方面:一个就是数据传输过程中的安全,还有就是数据到达服务端,如何识别数据,最后一点就是数据存储的安全性。今天跟大家聊聊保证接口数据安全的10个方案。 公众号:捡田螺的小男孩 1.数据加密,防止报文明文传输。我们都知道,数据在网络传输过程中,很容易...

Spring Cloud OpenFeign - 远程调用

🌈一、什么是Feign?Feign makes writing java http clients easier,这是官方给出的一个说明,本意翻译是:Feign使编写Java http客户端更容易,Feign是一个http请求调用的轻量级框架,可以以Java接口注解的方式调用Http请求,Feign可以通过处理注解,将请求模板化,当实际调用的时候,传入参数,根据参数再应用到请...

学学raft协议

raft 协议Nacos 默认支持 AP,但同时又支持 CP ,底层使用 raft(jraft)实现 leader 的选举,所以我们需要学学 raft 什么是raft?简单说Raft是一套共识算法,是 paxos 的变种,解决分布式系统中多个副本的一致性问题,通过多副本来进行容错,以此在提高系统可用性。 说到底raft的诞生就是为了更简单的解决分布式系统中每个系统的一致性问题 ...

从零实现一个在线相亲APP(缓解相亲尴尬的神器)

实时音视频涉及到的技术栈、人力成本、硬件成本非常大,一般个人开发者基本无法独立完成一个功能健全并且稳定的实时音视频应用。本文介绍一天之内,无任何实时音视频低层技术的android开发者完成实时相亲房APP,效果如下: 笔者从搜索引擎上搜了一些第三方库,综合对比了一下,最终选择了即构。因为一方面他们提供了非常全的音视频能力,SDK使用起来也非常简单;另一方面他们每个月提供了100...

K8s也面向对象?学会这三要素,用K8s就跟编程一样

我正在参与掘金技术社区创作者签约计划招募活动,点击链接报名投稿。 这是K8s入门与实践这个短系列的第三篇文章,也是理论部分的最后一篇,今天我们来聊一聊关于K8s对象的那些事。 是的,K8s 也面向对象K8s 这个体系也是面向对象的,听起来有没有那么一点点那么颤抖,天天上班、回家都得面向”对象”了,到头来学学云原生基建,结果还得面向对象。不过你反过来想一想,既然都有多年的面向对...

Linux 进程调度与内存管理详解

1. PCB 进程控制器 task_struct对于 Linux 操作系统而言,每一个进程都对应一个 task_struct 结构体(Linux 中的线程也是由 task_struct 控制的,本文主要讨论进程调动的内容,就不展开说明了,在内存管理章节会介绍)。 在 task_struct 中维护了进程的 PID,进程状态以及堆栈信息等进程的几乎所有信息。 我们常常提到的“僵尸...

在高并发情况下我是这样解决单用户超领优惠券问题

问题抛出在近期的项目里面有一个功能是领取优惠券的功能, 问题描述: 每一个优惠券一共发行多少张,每个用户可以领取多少张: 如:A优惠券一共发行120张,每一个用户可以领取140张,当一个用户领取优惠券成功的时候,把领取的记录写入到另外一个表中(这张表我们暂且称为表B) <!--减优惠券库存的SQL--><update id="reduceStock">...

如何建立一个完美的 Python 项目?

当开始一个新的 Python 项目时,大家很容易一头扎进去就开始编码。其实花一点时间选择优秀的库,将为以后的开发节省大量时间,并带来更快乐的编码体验。 在理想世界中,所有开发人员的关系是相互依赖和关联的(协作开发),代码要有完美的格式、没有低级的错误、并且测试覆盖了所有代码。另外,所有这些将在每次提交时都可以得到保证。(代码风格统一、类型检测、测试覆盖率高、自动检测) 在本文中...

后端思想-单点登录组件的设计与思考

前言本文仅记录我在配合公司框架以及适配自己设计的门户网站的SSO组件开发历程。由于受到诸多限制,比如公司框架以及开发时间等因素,导致该单点登录组件并不是完整的认证授权鉴权三位一体。但是读者可从我的设计和思考中获得一些启发,本文详细记录了SSO组件五次大的变动,解释了很多疑问,比如SSO是依靠现有的shiro之类的中间件还是自研?兼容和扩展?目前该单点登录组件仍在第五版后继续优化...

详解增强算术赋值:“-=”操作是怎么实现的?

介绍Python 有一种叫做增强算术赋值(augmented arithmetic assignment)的东西。可能你不熟悉这个叫法,其实就是在做数学运算的同时进行赋值,例如 a -= b 就是减法的增强算术赋值。 增强赋值是在 Python 2.0 版本中 加入进来的。(译注:在 PEP-203 中引入) 剖析 -=因为 Python 不允许覆盖式赋值,所以相比其它有特殊/...