库存管理接口设计

最近在南京一家数据公司实习,负责商城类项目,并且接到写库存管理接口的任务,话不多说,看看 数据表字段的设计 原型图设计 接口设计 对照下数据表与原型图,开始设计接口了 入库接口设计V1.0 由于是在后台管理的商品列表界面点击库存按钮进行编辑 出库接口设计V1.0 ...

MyBatis(八)使用注解开发

8、使用注解开发8.1 面向接口编程大家之前都学过面向对象编程,也学习过接口,但在真正的开发中,很多时候我们会选择面向接口编程根本原因 : 解耦 , 可拓展 , 提高复用 , 分层开发中 , 上层不用管具体的实现 , 大家都遵守共同的标准 , 使得开发变得容易 , 规范性更好在一个面向对象的系统中,系统的各种功能是由许许多多的不同对象协作完成的。在这种情况下,各个对象内部是如何实现自己的,对系统设计人员来讲就不那么重要了;而各个对象之间的协作关系则成为系统设计的关键。小到不同类之间的通信,大到各模块之间的...

usb3.0和2.0的区别接口可以通用吗 usb3.0和2.0的传输速度

可以通用,3.0接口设计为向下兼容。2.0采用4针脚设计,3.0采取9针脚设计;2.0的最大传输速率为480Mbps,3.0可达到5Gbps。Usb3.0支持向下兼容usb2.0,两者是通用的,只是在进行数据传输的时候,以usb2.0接口的速度为准。同样,usb2.0插上usb3.0也是usb2.0的传输速度。1、接口内部的区别:USB2.0采用4针脚设计,而USB3.0则采取9针脚设计,相比而言USB3.0功能更强大。USB3.0接口部分标记有“SS”样式,而USB2.0则只标记普通的USB通用标识。为...

入手评测 i510600kf和i511400f的区别 i5 10600kf和i5 11400f哪个好

发布时间:2021-09-16 CPU 接口设计 三级缓存 单核 后缀 其他 其它
酷睿i5-10600Kf基于祖传的14nm++制程工艺,全新的LGA 1200接口设计,拥有6核12线程,默认主频4.1Ghz,最大睿频4.8Ghz,三级缓存为12MB,支持超频,设计功耗125W。组装电脑 选i510600kf还是i511400f怎么搭配更合适这些点很重要​​http://www.adiannao.cn/du​​i5 11400f是6核12线程,基准频率仅为2.6GHz,最高睿频单核4.4GHz、全核4.2GHz,TDP 65W,后缀不带“K”所以不能超频...

入手评测 i510600kf和i511400f的区别 i5 10600kf和i5 11400f哪个好

发布时间:2021-09-16 CPU 单核 三级缓存 后缀 接口设计 其他 其它
酷睿i5-10600Kf基于祖传的14nm++制程工艺,全新的LGA 1200接口设计,拥有6核12线程,默认主频4.1Ghz,最大睿频4.8Ghz,三级缓存为12MB,支持超频,设计功耗125W。组装电脑 选i510600kf还是i511400f怎么搭配更合适这些点很重要​​http://www.adiannao.cn/dy​​i5 11400f是6核12线程,基准频率仅为2.6GHz,最高睿频单核4.4GHz、全核4.2GHz,TDP 65W,后缀不带“K”所以不能超频 ...

i5 11400f用什么散热器 i5 11400f用什么内存

发布时间:2021-08-09 接口设计 三级缓存 I5 其他 其它
酷睿i5-11400F采用了全新Cypress Cove架构,核心代号为Rocket Lake-S,依旧基于祖传的14nm++制程工艺,全新的LGA 1200接口设计,拥有6核12线程,默认主频2.6Ghz,最大睿频4.4Ghz,三级缓存为12MB,不支持超频CPU频率,设计功耗65W,无内置核心显卡。i5 11400F组装忣怎么搭配更合适这些点很重要看过你就懂了 http://www.adiannao.cn/du 如果不打算上独立显卡,也可以考虑i5-11400,...

i7 10700kf和r7 3700x 哪个好

i9-10900KF 为 10 核 20 线程,主频 3.7GHz,睿频可达 5.30 GHz,20MB 三级缓存,125W TDP。选i7 10700kf还是r7 3700x这些点很重要!http://www.adiannao.cn/duR7 3700X采用了目前最先进的7纳米工艺制程,采用依然基于AM4接口设计拥有8核16线程,基础频率3.6GHz,加速频率4.4GHz,官宣AMD称基于全新的Zen2架构相比上一代Zen+,实现了高达15%的IPC性能提升,高级缓存方面,配备了32MB三级缓存以及4M...

i5 10500配什么主板

发布时间:2021-08-04 HTML 三级缓存 接口设计 5G 手机 IT业界 其它
intel酷睿i5-10500基于祖传的14nm++制程工艺,全新的LGA 1200接口设计,拥有6核12线程,默认主频3.1Ghz,最大睿频4.5Ghz,三级缓存为12MB,不支持超频,设计功耗65W,内置了UHD630核心显卡,所以它的售价会更具备性价比。i5 10500配什么主板 这些点很重要!http://www.adiannao.cn/du接口方面,i5-10500由于采用了全新的LGA 1200接口类型,所以不再支持兼容300系列主板,需要搭配全新的400系列主板。i5-10500这款处理器最...

i5 10500和i7 10700哪个好

发布时间:2021-08-04 三级缓存 HTML 接口设计 5G 手机 IT业界 其它
酷睿i5-10500基于祖传的14nm++制程工艺,全新的LGA 1200接口设计,拥有6核12线程,默认主频3.1Ghz,最大睿频4.5Ghz,三级缓存为12MB,不支持超频,设计功耗65W,内置了UHD630核心显卡选i5 10500还是i7 10700这些点很重要看过你就懂了 http://www.adiannao.cn/dui7 10700采用14纳米工艺制造,cpu架构为Comet Lake,默认主频2.9GHz,最高加速频率可达4.8GHz,拥有8核16线程规格,16M三级缓存,TDP功耗为6...

【FPGA入门教程】(二)FPGA学习路线及开发流程

发布时间:2022-03-25 时序分析 接口设计 工具使用 其他 其它
一、FPGA学习路线  ​工具使用 -> 语法学习 -> 逻辑设计 -> IP使用 ->接口设计 -> 时序分析 -> 片上系统​1、​工具使用​  Altera:Quartus II  Xlinx: Vivado2、​语法学习​  Verilog HDL(FPGA设计的是电路)3、​ 逻辑设计​  组合逻辑:多路选择器、加法器、译码器、乘法器 ·······  时序逻辑:计数器、分频器、移位寄存器、定时器 ·······  接口逻辑:UART,CAN,SPI,LVDS...

Restful是什么,SOAP Webservice和RESTful Webservice

发布时间:2022-02-28 接口设计 XML 开发者 XML/XSL 前端开发
  首先,应该怀着这样一种心态来学习Restful——Restful你可以将其理解一种软件架构风格,并且诠释了Http协议的设计初衷,所以不要把他理解的那么神秘,Restful风格有好处,当然也是有坏处的。  然后是正文(转的):在SOA的基础技术实现方式中WebService占据了很重要的地位,通常我们提到WebService第一想法就是SOAP消息在各种传输协议上交互。近几年REST的思想伴随着SOA逐渐被大家接受,同时各大网站不断开放API提供给开发者,也激起了REST风格WebService的热潮...

FastAPI(六十二)实战开发《在线课程学习系统》需求分析

  前言  基础的分享我们已经分享了六十篇,那么我们这次分享开始将用一系列的文章分享实战课程。我们分享的系统是在线学习系统。我们会分成不同的模块进行分享。我们的目的是带着大家去用fastapi去实战一次,开发一些功能模块,锻炼大家的项目实战的能力。实战大概分为:一:需求分析,二、接口设计,三、数据库设计,四、整体框架,五、接口开发,六、接口测试,七、部署。  我们针对《在线课程学习系统》系统,进行需求分析。          针对实战,开发一个课程学习系统,主要满足用户的注册登录,查看,开课,选课,课程评...

564_linux内核学习_信号掩码的获取以及设置

发布时间:2022-03-10 LINUX 库文件 接口设计 其他 其它
          这一次开始看信号的设计模块文件,signal.c。这个模块的设计,用到了很多POSIX的接口设计。而信号的一些数据结构的定义,其实是在POSIX相关的库文件里面提供的。         关于信号的一些设计,主要是在11行包含的这个头文件里面进行的声明或者定义。         接下来,先看两个最简单的函数,作为这个模块学习的一个开篇。         逐个函数来分析,这个函数是获取信号的掩码的接口。如果理解为面向对象的设计概念,这个其实就是获取了一个对象的属性。值得一说的是,按照前面的...

i5 10500和i7 9700k哪个好

发布时间:2021-08-04 HTML 三级缓存 5G 接口设计 单核 其他 服务器
酷睿i5-10500基于祖传的14nm++制程工艺,全新的LGA 1200接口设计,拥有6核12线程,默认主频3.1Ghz,最大睿频4.5Ghz,三级缓存为12MB,不支持超频,设计功耗65W,内置了UHD630核心显卡 选i5 10500还是i7 9700这些点很重要!看完你就知道了https://list.jd.com/list.html? i7-9700K的CPU基准频率为3.6GHz,而最大睿频高达4.9GHz,要注意的是这里是单核睿频,而酷睿i7-9700...

项目开发思路

需求分析系统设计  1) 搭建系统框架结构      (基于mvc结构应用)  2) 确定项目的关键点/难点  3) 确定引用组件、公用类的版本    Struts2.3    Hibernate3.6    Spring3.2数据库设计代码步骤分析编码顺序:         1) 设计数据库            2) 建立web项目、引入jar文件、准备环境               3) 设计javvabean、写映射         4) Dao设计接口         5) Dao接口实现  ...

后台仿京东商城接口设计缺陷吐槽篇

办公室刚battle完,忍不住来吐槽一下,先上图,再说需求和接口设计 个人理解的排序:不管是综合排序还是销量排序亦或者是价格升序降序,请求的参数类型应该是下图模式 class SortType { companion object{ val TYPE_PRICE_UP = 1 val TYPE_PRICE_DOWN = 2 val TYPE_SALE_COUNT = 3 val TYPE_SYNTHESIZE = 4 } }fun...

LVDS 扫盲基础知识

发布时间:2022-03-16 接口设计 LVDS
LVDS介绍 LVDS (Low Voltage Differential Signaling)是一种小振幅差分信号技术,它使用非常低的幅度信号 (250mV~450mv)通过一对平行的 PCB 走线或平衡电缆传输数据。 在两条平行的差分信号线上流经的电流及电压振幅相反,噪声信号同时耦合到两条线上,而接受端只关心两信号的差值,于是噪声被抵消。由于两条信号线周围的电磁场也相互抵消,故差分信号传输比单线信号传输电磁辐射小得多。 此外,该传输标准采用电流模式驱动输出,不会产生振铃和信号切换所带来的尖峰信号,具有...

如何设计好一个接口?

发布时间:2021-07-25 设计 接口设计
前言 接口对于我们系统来说是必不可少的,可以称得上是系统的基石。一个好的接口我认为需要具备以下几方面:安全性、稳定性、高效性、可维护性、可读性。下面我们就根据这几个性质讨论一下设计一个好接口需要考虑哪些问题? 安全性 安全性对于接口来说重要性不言而喻。我们常见的Web漏洞包括:SQL注入、JSON反序列化漏洞、XSS攻击、CSRF 攻击、文件上传下载漏洞、DDoS 攻击、弱口令、证书有效性验证、内部接口在公网暴露、未鉴权等权限相关漏洞。 预防措施: 数据验证:使用过滤器、拦截器进行输入数据验证;身份认...

i5 10500和i5 10400哪个好

酷睿i5-10500基于祖传的14nm++制程工艺,全新的LGA 1200接口设计,拥有6核12线程,默认主频3.1Ghz,最大睿频4.5Ghz,三级缓存为12MB,不支持超频,设计功耗65W,内置了UHD630核心显卡 选i5 10500还是i5 10400这些点很重要!看完你就知道了https://list.jd.com/list.html? 酷睿i5-10400cpu具备超线程设计,线程数增加了一倍,Comet Lake-S处理器非K系列的处理器TDP为65W...

Node.js 从零开发web service

1. 学习内容 2. server 开发和前端开发的区别 服务稳定性(PM2 做进程守候)考虑内存和CPU日志业务(stream 写日志, 使用redis存session)安全集群和服务拆分3. 目标 : 开发博客,具备基本功能 需求: 首页 , 作者页,博客详情页登陆页管理中心,新建页,编辑页开发接口http请求: 一、DNS解析,建立TCP连接,发送http请求; 二、server 接收http请求,处理并返回; 三、客户端接收到返回数据,处理数据。1.接口...

POE技术原理及硬件实现

发布时间:2021-05-19 接口设计
一、 概述: 定义:PoE全称Power Over Ethernet,是指10BASE-T、100BASE-TX、1000BASE-T以太网网络供电,即数据线和电源线在同一根网线上传输,其可靠供电的距离最长为100米。 通过这种方式,可以有效的解决IP电话、无线AP、便携设备充电器、刷卡机、摄像头、数据采集等终端的集中式电源供电,对于这些终端而言不再需要考虑其室内电源系统布线的问题,在接入网络的同时就可以实现对设备的供电,极大的简化了综合布线的复杂性,降低了系统使用的成本。 在通用性方面,目前PoE供电有...

接口安全设计之算法

发布时间:2021-08-15 接口设计 安全
一、一致性/签名算法 这类算法有很多,流行的有MD4/MD5(128bit)、SHA-1(160bit)、SHA-2(含SHA-224、SHA-256、SHA-384、SHA-512、SHA-512/224、SHA-512/256)、HMAC等。MD即Message Digest,SHA即Secure Hash Algorithm,他们的本质都是HASH(哈希/散列)算法。 (一)HASH介绍 HASH是一种将可变长的字符串(甚至无限长)变成固定长度输出(即消息摘要)的算法,算法很多,比如映射为128位(...

以太网介绍及硬件设计

发布时间:2022-03-23 接口设计 网口设计
1. 以太网MAC和PHY 1.1 MAC介绍 MAC(Media Access Control) 即媒体访问控制层协议。MAC由硬件控制器及MAC通信协议构成。该协议位于OSI七层协议中数据链路层的下半部分,主要负责控制与连接物理层的物理介质。MAC硬件框图如下图所示: 在发送数据的时候,MAC协议可以事先判断是否可以发送数据,如果可以发送将给数据加上一些控制信息,最终将数据以及控制信息以规定的格式发送到物理层; 在接收数据的时候,MAC协议首先判断输入的信息并是否发生传输错误,如果没有错误,则去掉控...

从零开始搭建Yapi环境

发布时间:2021-10-24 开发工具 接口设计
Yapi是去哪儿网开源的一款接口管理工具。接口的文档的管理是一件比较痛苦的事情,后端开发不得不使用很长的时间去维护繁杂冗余的文档,而前端开发也因为文档的不精确也浪费开发时间。 工作中接口返回的参数值包含很多的异常场景,前端不得不写一大串的判断逻辑。配合前段调试需要模拟很多场景,比较费时费力,而且很多场景到了项目后期才能调试,在提交测试时时间就会显得很紧张。 总结起来文档式的接口管理方式浪费心里和时间,Aapi这款工具的旨意将接口作为一个公共的可视化的方式打通前段、后台、测试环节,整合在一块,共同使用维护,...

PCIE 的 GT/s 与 Gbps 的关系

发布时间:2021-05-13 接口设计
我们大多数人都习惯于采用Gbps或每秒千兆比特为单位的总线速度表示,但GT/s代表每秒千兆传输。这两者有什么区别呢? 区别与数据的编码有关。因为PCIe是一条串行总线,数据中嵌入了时钟,它需要确保发生足够的电平转换(1到0和0到1),以便接收端恢复时钟。为了增加电平转换,PCIe使用了 “8b/10b “编码,即每8个bit(1个字节)被编码成一个10 bit 的符号进行传输,然后在接收端进行解码。因此,总线需要传输10 bit的编码数据来表示所发送的8 bit的数据。而到了PCIE 3.0 标准,编码方...

文件接口设计

发布时间:2021-08-24 产品设计 接口设计
文件接口在设计时,应该从以下几个方面着手考虑 1、文件属性(包括文件生成频率、文件大小(可实现配置化,比如超过多大,进行文件切分)、文件格式定义、文件路径、文件命名),具体如下:       文件生成频率:生成文件的频率按照业务规则以及数据生成的时间点来确认。       文件格式:一般采用txt文件。       文件路径:与外围系统确认文件路径。      文件命名:命名一般根据业务进行命名,便于快速查询。 2、生成文件数据规则定义:具体取数规则需要按照业务定义的字段进行sql语句查询。 3、文...

USB Type-C 接口设计

发布时间:2022-01-23 TYPE C 接口设计
一、什么是USB Type-C? USB Type-C是一种相对较新的标准,旨在提供高达10Gb / s的高速数据传输以及高达100W的功率流。这些功能可以使USB Type-C成为现代设备的真正通用连接标准。 二、USB Type-C功能 USB Type-C接口有三个主要功能: 1、它有一个可翻转的连接器。接口的设计使插头可以相对于插座翻转。 2、它支持USB 2.0,USB 3.0和USB 3.1 Gen 2标准。此外,它还可以在称为备用模式的操作模式下支持第三方协议,如DisplayPort和H...

CAN接口异常如何分析?看这篇就够了

发布时间:2021-09-28 CAN 异常 接口设计
常见异常及解决方法 (1)两个节点近距离测试,低波特率通信正常,高波特率无法通信。 可能原因:未加终端电阻。由于CAN收发芯片内部CANH、CANL引脚为开漏驱动,如图1,在显性状态期间,总线的寄生电容会被充电,而在恢复到隐性状态时,这些电容需要放电。如果CANH、CANL之间没有放置任何阻性负载,电容只能通过收发器内部阻值较大的差分电阻放电。如果放电速度过慢,就会出现通信问题。 解决方法:增加终端电阻。 图1 CAN收发器结构示意图 (2)组网节点数少通信正常,增加节点后,通信异常。 可能原因:总线电...

接口设计--幂等性

发布时间:2022-04-05 接口设计 幂等
1、什么是幂等性? 幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同。幂等函数,或幂等方法,是指可以使用相同参数重复执行,并能获得相同结果的函数。这些函数不会影响系统状态,也不用担心重复执行会对系统造成改变。 2、接口幂等有哪些使用场景? 接口幂等一般出现的场景有: 前端重复提交;接口超时重试;消息队列重复消费。 3、幂等设计应该在哪一层做? 目前互联网技术架构基本都是分布式、微服务架构,层次分的也比较清晰,如: 第一层:APP、H5、PC等终端访问;第二层:负载均衡设备(F5,LVS,N...

接口安全设计之https(攻防)

发布时间:2021-08-24 安全 HTTPS 接口设计
一、https安全吗? 大家都明白,http传输不安全,https传输安全,所以一般认识里,只要采用https传输就是安全的。但是,果真如此吗?非也,https并非绝对安全。只是说,正常场景下,它是安全的;但是,当用户和黑客“同流合污”时候,https就不再安全了。可能有人会说,用户怎么可能跟黑客同流合污呢?真别说,还真有,比如下面这两种场景: 1、黑客冒充用户,或者说黑客本身就是用户(比如说黄牛党/羊毛党); 2、用户不知情或者被骗,成为黑客的帮手(比如说不顾浏览器风险提示继续同意打开网站)。 图1 ...

(转)【SpringBoot】使用注解控制Api接口幂等性之前后端分离架构设计

目录 一、前言 1. 产生幂等性场景 2. 关于Api接口幂等性 3. 重复提交的原因 二、幂等性常见解决方案 1. 流行的Redis+Token方案 2. 从数据库层次控制 三、注解+AOP式解决方案 四、搭建项目环境 1. 项目完整目录结构​​ 2. 创建springboot-token项目 3. application.yml配置 4. 自定义注解 5. Redis配置 6. 实体类 7. OrderMapper 8. OrderController 9. 接口响应工具类 五、工具类封装 六、使用...

接口设计 - 性能

发布时间:2021-06-30 接口设计
概述 保证接口快速响应 方案 程序设计 无状态设计 服务的无状态化就是冗余部署的多个服务模块(进程),使其完全对等,即部署多个相同服务,请求到任一服务的处理结果完全一样 目的 弹性扩容 快速扩容 案例:登录接口设计 用户登陆后,服务器生成验证信息token 服务器不保存token,将token返回给客户端 用户发生下一次的请求,客户端把该token重新发送给服务端 服务端依据token对用户进行权限校验 内存算法设计 LRU 概念:最近使用过的数据应该是有用的,很久都没用过的数...

Google AIPs 小记

发布时间:2022-02-05 接口设计
Read the latest article and comment on Notion. API Improvement Proposals API 的大致分类 Standard methods: GET / List / Create / Update / DeleteStandard methods 和其他methods 的 batch operationsStandard methods 和其他methods 的 long-running operationsJobs 接口Import a...

接口安全设计之https(证书)

发布时间:2022-04-28 安全 接口设计
证书在https中有着举足轻重的作用,所以先来介绍证书这个概念。CA是Certificate Authority,证书认证中心,世界上都有哪些有名CA呢? 1、DigiCert是一家全球著名CA机构,旗下拥有DigiCert,Symantec,Geotrust,Thawte,RapidSSL等SSL证书品牌。 2、GeoTrust是全球第二大数字证书颁发机构(CA)。 3、Sectigo(原Comodo CA)是全球SSL证书市场占有率最高的CA公司。 4、GlobalSign是一家全球著名CA机构。 5...

接口安全设计之原则

发布时间:2021-08-15 安全 接口 接口设计
接口要进行安全设计,首先要理解接口交互过程。 假设A和B是交互双方,A为请求方,B为授权方,那么交互过程是这样的: A ——> 请求——>B A<——响应<——B 无论是哪个过程,其实都涉及传输过程。接口的安全设计,重点就是确保传输过程的安全。那么,安全是指什么? 1、A的数据包原封不动地传输到B; 2、若有必要,希望A的数据包不会被剽窃。 针对1,本质是一致性问题,就是发出的东西和收到的东西保持一致; 针对2,本质是加密问题,就是不希望明文传输,而是密文传输。 因此: 针对1出现...

接口安全设计之https(协议)

发布时间:2022-04-27 安全 接口设计
Https:Hyper Text Transfer Protocol over Secure Socket Layer, i.e. Http over SSL。也就是说,http传输本身是不安全的,但是通过增加SSL层,能确保http传输安全。SSL和Http层级关系如下图: 图1 SSL/TLS位置(图转自HTTPS原理全解析 – Sobird) 注意,SSL并不是http的私人保镖,它也可以是其他应用协议的保镖比如sip、smtp、pop、imap、mysql等。这些应用层协议也可以over SSL...

(转)【SpringBoot】API 接口设计之 token、timestamp、sign 具体架构与实现

发布时间:2021-12-14 SPRINGBOOT 接口设计 架构 TOKEN SPRING BOOT JAVA
目录 一:token 简介 二:timestamp 简介 2.1 DoS 三:sign 简介 四:防止重复提交 五:使用流程 六:示例代码 1. dependency 2. RedisConfiguration 3. TokenController 4. WebMvcConfiguration 5. TokenInterceptor 6. MD5Util ----MD5工具类,加密生成数字签名 7. @NotRepeatSubmit -----自定义注解,防止重复提交。 8. AccessToken 9...

接口设计-安全

发布时间:2021-06-20 JAVA 接口设计
接口设计-安全 概述 本文介绍几种对外接口的安全性设计 要求 传输过程中不泄漏 传输结果可被识别 方案 数据加密 概念:针对数据传输过程中容易被抓包的问题,对关键信息进行加密操作 方案 关键信息加密,例如对密码进行MD5加密 通过对消息的结构化,对返回内容进行加密 {    code:200,    message:success    data:{   //返回时对data内容进行加密     } } 将HTTP 改为 HTTPS 数据加签/验签 概念 接口双方为了确保数...

【接口篇】SpringBoot 快速实践 RESTful API 架构风格

发布时间:2022-04-12 RESTFUL SPRING 全家桶 SPRING BOOT 接口设计
什么是 RESTful API 官网地址:https://restfulapi.cn/ REST 是 Representational State Transfer 的缩写,如果一个架构符合 REST 原则,就称它为 RESTful 架构;RESTful 架构可以充分的利用 HTTP 协议的各种功能,是 HTTP 协议的最佳实践;RESTful API 是一种软件架构风格、设计风格,可以让软件更加清晰,更简洁,更有层次,可维护性更好; API 请求 HTTP 动词 GET: 读取(Read)PO...

什么是RESTful?RESTfule风格又是什么?

发布时间:2021-10-15 HTTP JAVA RESTFUL 接口设计
什么是REST? REST(英文:Representational State Transfer,简称REST,意思:表述性状态转换,描述了一个架构样式的网络系统,比如web应用)。 它是一种软件架构风格、设计风格,而不是标准,只是提供了一组设计原则和约束条件,它主要用于客户端和服务端交互类的软件。基于这个风格设计的软件可以更简介,更有层次,更易于实现缓存等机制。 它本身并没有什么使用性,其核心价值在于如何设计出符合REST风格的网络接口。 什么是RESTful? REST:指的是一组架构约束条件和原则。...

接口防重放

发布时间:2021-03-18 安全 接口 接口设计
以前总是通过timestamp来防止重放攻击,但是这样并不能保证每次请求都是一次性的。今天看到了一篇文章介绍的通过nonce(Number used once)来保证一次有效,感觉两者结合一下,就能达到一个非常好的效果了。 重放攻击是计算机世界黑客常用的攻击方式之一,所谓重放攻击就是攻击者发送一个目的主机已接收过的包,来达到欺骗系统的目的,主要用于身份认证过程。 首先要明确一个事情,重放攻击是二次请求,黑客通过抓包获取到了请求的HTTP报文,然后黑客自己编写了一个类似的HTTP请求,发送给服务器。也就是说...

toB接口设计

发布时间:2021-07-19 TOB 产品设计 接口设计
    前言:接口在软件设计时,通常指的是不同系统之间进行数据交互的一种协议。双方系统根据接口定义的字段及类型(规范)进行数据交互。而json作为一种轻量级的语言更适合完成数据交互。接口协议就是用来定义数据交互的规范。json作为数据的载体按照协议规范进行数据交互。 一、了解JSON     JSON是一种类似 XML的语言,是用了存储和交换文本信息的语法。它的全称为JavaScript Object Notation(JavaScript 对象表示法)。与xml对比,它更小、更快,更易解析。   ...

LIN通讯电路设计

发布时间:2022-08-14 LIN总线 接口设计
LIN(Local Interconnect Network)总线是基于UART/SCI(通用异步收发器/串行接口)的低成本串行通讯协议。其目标定位于车身网络模块节点间的低端通信,主要用于智能传感器和执行器的串行通信。 一个LIN 网络由一个主节点以及最多16个从节点组成,所有节点都有一个通讯任务。 LIN收发器要支持19.2 kbit/s波特率。 电路如下: 详细设计注意点: 1.上拉电阻 上拉电阻参考值如下。 R_Master = 1000Ω ± 1% R_Slave = 30kΩ ± 1%(收发...

I2C上拉电阻如何取值

发布时间:2022-09-21 嵌入式硬件 单片机 接口设计
I2C一般为开漏结构,需要在外部加上拉电阻,常见的阻值有1k、1.5k、2.2k、4.7k、5.1k、10k等。 但是应该如何根据开发要求选择合适的阻值呢? 假设SDA是低电平时,即MOS管导通。那么,就可以求出上拉电阻R的阻值。 上拉电阻计算公式: VOL定义为在漏极开路或集电极开路时,有3mA下拉电流时的低电平输出电压。IOL就是该端口的灌电流,即IOL=3mA。 由上式可得,当VDD不变, VOL取最大值时,上拉电阻有最小值。 根据I2C协议,端口输出低电平的最高允许电压是0.4V。 公式1...

接口幂等性

发布时间:2022-01-07 接口设计 幂等性 开发
Q1: 什么是幂等性? A: 在数学中表示某一元运算为幂等时,其作用在任一元素两次后会和其作用一次的结果相同。 在计算机中编程中,一个幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同。 Q2: 什么是接口幂等性? A: 在HTTP/1.1中,对幂等性进行了定义。它描述了一次和多次请求某一个资源对于资源本身应该具有同样的结果(网络超时等问题除外)。 Q3: 为什么需要实现幂等性? A: 会出现如下问题: 前端重复提交表单: 在填写一些表格时候,用户填写完成提交,很多时候会因网络波动没有及时对...

一个由登录接口引发的思考

发布时间:2022-11-04 程序人生 接口设计
一个由登录接口引发的思考 前言 我本以为,一个用户登录接口,虽可简单,可复杂,但一定是对调用者友好的。 以我从业十年的经验来看,一个好的登录接口,对于第三方调用者来说,只需要传入用户名、密码,返回登录是否成功、有无权限,而不必关心服务端内部的架构,至少我先前对接过的接口是这样的。 可近来在项目中的一次对接却完完全全颠覆了我的认知,这还是公司内部两个团队之间的对接。 登录方案 以A、B来代指这两方团队,B开发的一款数采软件需要向A开发的业务平台上传运维任务,按照常理,需要将任务本身的数据、以及操作者信息一同...

golang进阶技巧:如何防止自定义接口被意料外继承或实现(预防接口继承混乱)

声明:本文所述技巧纯属个人原创,全网独家。 如有雷同且发表于我之前,纯属我没搜对关键字;如有雷同且发表于我之后,纯属抄袭或他没搜对关键字。 序 鸭子类型太过狂放?不想无意间实现些莫名其妙的接口?不想自己接口被人莫名其妙的实现?想给构成相似的接口加上防呆设计避免传参时误用?怀念有棵明确继承树的严谨语言?不光想解决以上问题还希望用起来像注解标签一样简洁?——本文一口气满足你。 起因 最近在做一套加解密中间件的时候出现了如下两个接口: type CekAlgo interface { //cek只需要解密...