首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏文武兼修ing——机器学习与IC设计

    P2P接口串行FIR设计

    设计目标 设计一个仅使用一个乘法器单元的参数化串行FIR,要求: FIR参数可配置 具有双向P2P握手协议,可嵌入P2P流水线中 当流水线后续被阻塞时,要求完成当前运算再进入等待状态 结构框图 ? P2P输入接口 P2P输入接口是控制流和数据流的起点,主要信号为din_valid,din_busy和din_data信号,其中din_busy是唯一的输出信号,该信号有效表示后续处于处理状态,无法接收新的数据 P2P输出接口 P2P输出接口用于FIR滤波器向转发模块发送数据,需要控制的为有效信号valid(data信号即为累加器输出),该部分代码如下: always @(posedge clk or negedge 该部分为一个简单的P2P直连接口,没有内部组合逻辑,其对FIR的接口部分需要控制busy信号,代码如下所示: always @ (posedge clk or negedge rst_n) begin 输入接口完全相同,具体说明可以参见【P2P输入接口】,其对下一级的输出部分代码如下所示: always @ (posedge clk or negedge rst_n) begin if(~rst_n

    72640发布于 2018-09-11
  • 来自专栏测试开发干货

    接口测试平台设计思路-2:成品总览

    继续上期,观赏到登陆态接口之后。可以来看看项目内的全局公共host和header的设置弹层: 上半部分公共host是从整个平台的host环境管理中拿到全部,由使用者任选,白粉色渐变,小清新。 这样就可以在接口设置或用例中直接调用了。 如图:可多选 接下来看下公共抓包库中直接导入接口到自己的项目中的弹层: 点击任一接口即可实现导入。 如下图为导入成功之后: 抓包的模块和相关技术会在之后的介绍中出现,请持续关注~ 今天最后再介绍下复制按钮: 点击接口后的复制按钮,即可复制一个名字后面+duplicate的新接口,其内容完全一致,方便使用者

    35110编辑于 2022-05-18
  • 来自专栏陌无崖知识分享

    HTTP接口设计

    作者 | 陌无崖 转载请联系授权 HTTP/2 一个HTTP/2连接是运行在TCP连接上的应用层协议。客户端是TCP连接的发起者。 a=1&b=2 POST,PUT,PATCH,OPTIONS方法 默认情况下请求实体会被视作标准 json 字符串进行处理,当然,依旧推荐设置头信息的 Content-Type 为 application /json 在一些特殊接口中(会在文档中说明),可能允许 Content-Type 为 application/x-www-form-urlencoded 或者 multipart/form-data 参数的介绍的修正 JSON Web Token,一种 Token 的生成标准 Json Web Tokens: Introduction Json Web Tokens: Examples 数据缓存 大部分接口应该在响应头中携带 Content-Location 跨域 CORS 接口支持“跨域资源共享”(Cross Origin Resource Sharing, CORS),这里和这里和这份中文资料有一些指导性的资料。

    2.3K20发布于 2020-07-27
  • 来自专栏斑斓

    面向接口设计与角色接口

    标签 | 软件设计 字数 | 1876字 阅读 | 5分钟 问题:在做项目的时候,是不是所有包含非静态方法的类,都要写一个接口?是因为这样的目的是为了解耦,然后通过DI注入实现吗? 此外,如果你的接口永远都只有一个实现类,并没有任何可能的需求变化,那么还有必要解耦吗? 所以说,不能死板的将类的方法提取接口,然后美其名曰为面向接口设计。 我们不能误解“面向接口设计”原则,该原则所指的“接口”并非Java语言中的interface类型,而是指面向调用者对外暴露的接口,代表一种交互与协作,是对信息的隐藏和封装,而不是具体的interface 即使是普通的java方法仍然满足隐藏细节的原则,如果是public的,就可以认为该方法是“面向接口设计”中的接口,也就是说:不要针对实现细节编程,而是针对接口编程。 如果你先定义了一个类叫EmailService,然后因为你需要定义接口对其抽象,然后就简单地将这个类的所有公有方法都提取到抽象的接口中,这样设计接口,被Martin Fowler称为Header Interface

    91610发布于 2018-07-27
  • 来自专栏全栈程序员必看

    怎样设计接口

    怎样设计接口? 众所周知,接口是提供给其它模块或者系统使用的一种约定或者规范。因此接口必需要保 证足够的稳定性和易用性。这是设计接口的基本要求。 其次,採用版本号定义来区分接口的差异。比方提供接口版本号查询功能,接口实现着提供 接口版本号的查询功能。 2.易用性 接口是提供给第三方使用的,较难用的接口会导致接口使用者的抱怨。 3.怎样设计接口? 採用OOD思想,即面向对象的思想,提供类接口或者COM接口。 对于C函数接口怎样设计呢? 函数接口的第一參数就相当于C++中的this指针就可以。 4.接口设计的其它要求 * 规范性:主要是接口设计的代码规范,这是最主要的要求。 5.怎样扩展接口 1.採用版本号特性,不同版本号的接口实现能够同意有差异,可是提供版本号查询功能; 2.序号表示新增的接口,如SetCookie、SetCookie1、SetCookie2

    1.1K30编辑于 2022-07-13
  • 来自专栏国产程序员

    面向对象的7种设计原则(2)-接口隔离原则

    接口应该尽量细化,一个接口对应一个功能模块,同时接口里面的方法应该尽可能的少,使接口更加灵活轻便。或许有的人认为接口隔离原则和单一职责原则很像,但两个原则还是存在着明显的区别。 接口隔离原则是基于接口设计考虑。 例如一个接口的职责包含10个方法,这10个方法都放在同一接口中,并且提供给多个模块调用,但不同模块需要依赖的方法是不一样的,这时模块为了实现自己的功能就不得不实现一些对其没有意义的方法,这样的设计是不符合接口隔离原则的 优点 避免接口污染 一个类如果要实现一个接口,那么就要实现这个接口要求的所有方法,如果这个接口里面包含这个类不需要的方法,那么就会造成接口污染,这是不好的设计,会对系统留下隐患。 我们在做系统设计时也需要考虑对系统之间或模块之间的接口提供定制服务。提供定制服务就必然有一个需求:只提供访问者需要的方法。这也是可以通过细化接口实现的。 高内聚 什么是高内聚?

    96410发布于 2020-07-13
  • 来自专栏测试开发基础

    详解接口测试(2)- HTTP接口用例设计与测试方法(拿B站练手)

    HTTP接口的测试用例设计 和功能测试一样,在进行接口测试前,需要进行接口的测试用例设计,用例设计也不是凭空想象,我们需要以相关文档为依据 功能测试用例:一般是根据产品需求文档PRD或者交互设计文档来进行设计 Get 请求URL /test/api/getlist 请求参数 参数名 | 是否必传 | 数据类型 | 说明 source_type Y int 来源:百度1;好看2; 有了接口文档以后,我们就可以开始接口测试用例的设计,而接口测试用例设计的重点,在于功能性的业务逻辑检查和参数检查。 可以从输入(请求)参数、接口业务逻辑处理、接口输出(返回结果) 三个方面来进行考虑 另外对于客户端功能测试的用例设计方法,如等价类和边界值,在接口测试用例设计对于设计输入参数的部分同样适用,如对于请求参数的有大小限制 ,运用边界值设计,我们可以分别取空、最小值、最小值-1、最大值、最大值+1来测试 接口业务逻辑处理的接口用例设计是重中之重,对于这方面的用例设计,除了仔细看接口文档,还需要我们详细阅读开发写的技术方案

    3K21编辑于 2022-09-28
  • 来自专栏自学测试之道

    接口测试2

    = '裤子女夏' - 裤子男夏季 + 裤子女夏 ---------------------------------------------------------------------- Ran 2 Login("test_longin")) runner = unittest.TextTestRunner() runner.run(suite) interface_post_test2. /usr/bin/env python # -*- coding: utf-8 -*- # @File Name: interface_post_test2.py # @Time : 2019/8 ===================================================== FAIL: test_login (testcase.interface_post_test2. = '裤子女夏' - 裤子男夏季 + 裤子女夏 ---------------------------------------------------------------------- Ran 2

    69820发布于 2019-09-29
  • 来自专栏子勰随笔

    SDK设计心得之接口设计

    由于SDK的特殊性,所以对于SDK的开发来说,一开始对于SDK的一些通用的整体的元素的设计至关重要。因为SDK(尤其很多平台SDK,使用的应用成百上千)一个及其细微的调整都会影响很多开发者的版本周期。 因此前期的设计显得尤为重要。关于这部分内容,我会分两篇来介绍,这篇重点介绍具体接口设计。另一篇SDK设计心得之架构和资源将重点介绍SDK的架构和一些资源的使用方式。 关于接口设计 设计原则 接口名称、参数名称要足够清晰 一个牛逼的接口名称可以替代无数的注释 一个接口只做一件事 一个接口只做一件事。 我们有个功能有两个接口:一个是需要传参数,另一个不需要传参,两者的逻辑完全是独立的。本来是根据第一个原则设计了两个信、达也算雅的接口来实现。 其实这里游戏反映接入成本高,我们应该是去分析什么原因引起的接口成本身高,能不能优化。不能直观的认为一个功能要两个接口接口太多了接入成本就高,就要删接口

    6.7K90发布于 2018-05-22
  • 来自专栏跟Qt君学编程

    设计模式-流畅接口

    何为流畅接口?先上代码String("1")("2")("3")("4")("5")。流畅接口从字面上看是用起来很顺手,究竟是有多顺手,又应用在哪里呢?相信你看完本文多少会有些答案了。 .append("5"); 在这里看来,append接口就是流畅接口了,它避免啰嗦的调用。 qDebug() << "1" << "2" << "3" << "4" << "5"; 头铁君出了名是头铁,还有其他的应用场合吗? 来来来,别急。 ; 明确确定设置参数后需要调用build接口生效,这就意味着可以提醒接口调用者生效了那些参数。 让接口调用者用来顺手(流畅)。

    88620发布于 2019-08-20
  • 来自专栏测试开发社区

    接口用例设计

    设计接口用例设计时,除实现功能外,应关注:幂等性、空校验、流程节点限制、异常校验。 ? 01 幂等性 何为幂等性? 幂等为一数学概念,指使用相同参数重复执行,能获取相同结果。 对非空参数依次传空,观察接口调用情况。 当然,首先需明白业务逻辑,从而进行用例设计。尤其对于参数复杂的接口,当某一条调用规则下 某些非空参数就需要作为必传了。 支付单系统的流程为流程1:创建、支付完成、支付后的使用,流程2:创建、取消。如果目前支付单据为创建状态,对其调用支付后的使用接口,会导致巨大功能问题。 故系统需在接口内部前置作流程节点限制。 如何做流程节点限制测试? 明确系统的状态流转,一个系统设计初期就需明确功能及状态流转,会依据产品对系统的定义及依赖的下游或三方产品的功能。 测试正常流程节点。 例如收银台查询支付方式接口内部实现为,先查询出支付方式为列表1,然后会将列表1请求风控接口再次过滤得到支付方式列表2

    2.1K31发布于 2020-04-26
  • 设计API接口原则】

    如果当初设计API时只图自己省事,定了个死板的字段名、严格的校验规则,或者不预留扩展字段,现在被100个团队调用后,任何一个微小的改动都可能引发雪崩式的兼容性问题——那时候不只是别人骂我,我自己都想穿越回去抽自己 比如: 接受参数时,对非关键字段做宽松解析(比如容错大小写、允许空值、支持多种格式的时间字符串); 返回结果里,保留未知字段而不是直接抛错,让调用方可以渐进式升级; 版本控制清晰,老接口至少留足半年的缓冲期 毕竟,一个接口的终点,可能是上百个系统的起点。 这句非常经典!这是API设计的黄金法则。当一个接口从内部自用扩展到外部生态时,设计复杂度会指数级上升。 // 设计一个用户信息查询API interface UserQueryRequest { userId? 预留字段、宽松校验、错误容忍,这些看似"偷懒"的设计,实际上是在为整个生态的稳定性买单。

    19410编辑于 2025-12-18
  • 来自专栏编程园地

    API接口TOKEN设计

    API的特点: 1、因为是非开放性的,所以所有的接口都是封闭的,只对公司内部的产品有效; 2、因为是非开放性的,所以OAuth那套协议是行不通的,因为没有中间用户的授权过程; 3、接口分为需要用户登录才能访问的和不需要用户登录就可访问的 参数名1=参数值1&参数名2=参数值2 接口token生成规则参考如下: $api_token = md5 ('模块名' + '控制器名' + '方法名' + '2018-1-18' + '加密密钥' 加密密钥'为私有的加密密钥,手机端需要在服务端注册一个“接口使用者”账号后,系统会分配一个账号及密码,数据表设计参考如下: 字段名及字段类型 client_id varchar(20) 客户端ID client_secret = md5('用户的uid' + 'Unix时间戳') = etye0fgkgk4ca2ttdsl0ae9a5dd77471fgf 服务端用数据表维护user_token的状态,表设计如下: 字段名及字段类型如下 ,如果接口需要用户登录才能访问,则需要把 user_id与user_token传回给服务端,服务端接受到这2个参数后,需要做以下几步: 1、检测user_token的有效性; 2、删除过期的user_token

    1.9K30编辑于 2022-03-02
  • 来自专栏Hercules

    RESTful接口设计风格

    遵循RESTful风格,可以使开发的接口通用性更好,统一规范,减少沟通、学习和开发的成本。 2、RESTful API 2.1、查询列表 @RequestMapping(value = "/ArticleList", method = RequestMethod.GET) public List

    34510编辑于 2023-08-23
  • 来自专栏大前端(横向跨端 & 纵向全栈)

    RESTful 接口设计指南

    因此,必须有一种统一的机制,方便不同的前端设备与后端进行通信,这导致 API 构架的流 行,甚至出现"API First"的设计思想,RESTful API 是目前比较成熟的一套互联网应用程序的 API 设计理论。 2.域名,尽量部署在专属域名下面。 (1).https://api.baidu.com (2).https://api.qq.com 3. 应该将api的版本号放入URl中。 (1).https://baidu.com/api1/user_list (2).https://baidu.com/api2/user_list 4. (2).POST(CREATE),新增服务器资源。 (3).PUT(UPDATE),更新服务器资源。 (4).DELETE(DELETE),删除服务器资源。

    80810发布于 2020-11-26
  • 来自专栏程序那些事儿

    如何设计api接口

    随着前后端的分离,api 接口变得越来越重要,作为前后端通信的接口,api 变得非常重要,而且它的设计也是非常难以掌握。不仅要考虑安全性,还要考虑可维护性,以及今后的升级等等。 如何才能设计出更好的 api 接口,我认为以下几点需要注意。 接口一致性 这里说的一致性指的是编码规范要统一,不能各个接口使用不一样的编码风格。 接口健康性检查 我们应该设计一个监控系统或者一个接口来实时监控我们的服务,如果接口出现了问题,我们应该能够第一时间发现,同样,对于每个接口的访问请求我们都要有日志记录的存储。 尽量采用restful风格 虽然restful风格被一些人质疑,但是目前来看,它还是最好的接口设计风格,通过采用restful风格,可以让接口语义更加明确 ,规范,优雅省去了大部分 无意义的沟通,通过使用不同的 提供完整详细的api文档 无论我们的接口设计的多么规范,多么易懂,我们都需要提供一份完整的api文档,同时我们还需要提供一些请求范例,这样用户在使用的时候才会更加清楚,也能避免一些错误的请求。

    1.1K50编辑于 2023-03-07
  • 来自专栏AI技术体系搭建过程

    0226 rest接口设计

    接口设计要求是: 1.简洁; 2.考虑到向后兼容; 业界有一些基本的原则: 1 restfull restfull是一种设计风格,一切接口皆是资源。 目前是设计的主流,思想也非常先进。 2 参数结构化 请求和响应中的参数要结构化,好处是易读易用。 3 安全 这个怎么重要都不为过,接口设计必须考虑认证和授权,保证特定的人只能访问特定的资源。 API设计实践 接口框架选型 有了接口设计的原则,可以挑选一个可靠的接口框架来支持自己的工作, 一个好的接口框架应该有如下特点: 对访问控制的支持; 自动测试的支持; 请求响应格式和序列化的支持; 日志和日志过滤的支持 2 避免过度设计 要综合考虑向后的兼容性,但是只实现当前软件当前阶段必须的功能点。 ** 小结 通过本篇文章你可以学到如下内容: [ ] 接口设计的原则 [ ] 接口设计框架选型要点 [ ] 接口设计过程中的设计实践问题 设计良好的接口,可以提高软件的复用性,提高团队的输出效率和质量。

    15200编辑于 2025-07-01
  • 来自专栏PHP在线

    API接口TOKEN设计

    API的特点: 1、因为是非开放性的,所以所有的接口都是封闭的,只对公司内部的产品有效; 2、因为是非开放性的,所以OAuth那套协议是行不通的,因为没有中间用户的授权过程; 3、接口分为需要用户登录才能访问的和不需要用户登录就可访问的 参数名1=参数值1&参数名2=参数值2 接口token生成规则参考如下: $api_token = md5 ('模块名' + '控制器名' + '方法名' + '2018-1-18' + '加密密钥' 加密密钥'为私有的加密密钥,手机端需要在服务端注册一个“接口使用者”账号后,系统会分配一个账号及密码,数据表设计参考如下: 字段名及字段类型 client_id varchar(20) 客户端ID client_secret = md5('用户的uid' + 'Unix时间戳') = etye0fgkgk4ca2ttdsl0ae9a5dd77471fgf 服务端用数据表维护user_token的状态,表设计如下: 字段名及字段类型如下 ,如果接口需要用户登录才能访问,则需要把 user_id与user_token传回给服务端,服务端接受到这2个参数后,需要做以下几步: 1、检测user_token的有效性; 2、删除过期的user_token

    5.7K140发布于 2018-03-09
  • 来自专栏四火的唠叨

    关于接口设计,还有 Fluent Interface,这种有趣的接口设计风格

    这个故事是从下面这样一个对外暴露接口的调用开始的。 QueryUserEvent.SEX_MALE); …… List<User> userList = userService.query(event); 我想做的事情其实很简单,我想查询一个用户列表,可是接口参数的拼装让我感到头疼 sex : User.SEX_MALE }, UserService.QUERY_TYPE_NORMAL); 不过,他接着说,在 Java 里面好像还没有类似简洁的表示方法…… 万幸的是,有一种接口连续调用的风格 greaterThan(new User().setAge(18)).setSex(User.SEX_MALE).query(UserService.QUERY_TYPE_NORMAL); 我想,这样的设计如果在数学计算的时候 对于 Fluent Interface 而言,它的接口调用既改变了对象的状态,又返回了对象(this 或其他),并不属于上面的两种类型。

    46920编辑于 2022-07-15
  • 来自专栏白驹过隙

    架构设计 - 日志管理接口设计

    在后端代码中,日志无处不在,设计一套自己的日志管理代码,给框架提供一套好用的日志接口将大大方便代码的开发。 其中在日志管理代码的编写中,主要有以下难点: 1.数目不确定的入参函数编写 2.日志权限控制 3.日志输出形式。 接口设计: 1.提供三类日志打印形式:1)控制台打印信息,类似printf的接口封装             2)函数追踪接口,打印当前代码的文件名,函数名及行,以及一些设定的输出参数              3)日志打印函数,提供打印级别控制,且打印内容输出到日志文件中 2.提供日志级别控制:1)在打印日志时提供当前日志级别,代码依据级别进行控制打印           2)日志打印级别控制暂时使用配置文件 ,后续可以通过通信接口进行实时修改 下面附上代码实现:DMLogManager.h 1 //======================================================

    77840发布于 2018-06-25
领券