当前位置: 首页 > news >正文

测试总结:如何做接口测试

目录

 

一、接口测试须知

1、接口测试了解

(3)Http接口的组成

(3)为什么要做接口测试

(1)接口测试常用

(2)接口测试完整图

(3)接口测试参考计划图

3、企业测试思路

1、测试前置、开发自测:

2、回归测试:


一、接口测试须知

1、接口测试了解

  1. 什么是接口

业内常说的接口一般指两种:
API:应用程序编程接口,程序间的接口
GUI:图形用户界面,人与程序的接口
软件接口测试中的接口特指API接口
接口测试又称API测试
接口实例:系统与系统间的接口调用,作用:实现了两个或多个独立系统或模块间的通信和数据交换能力。

(2)常见的web接口类型

REST接口——通过HTTP的get和post方式得到数据,返回报文json格式
SOAP接口——通过soap协议得到数据,相比Httpservice能处理更加复杂的数据类型,请求报文和返回报文xml格式

3Http接口的组成

eg:http://127.0.0.1:80/user.php?act=register

请求协议:http://
IP:127.0.0.1
端口号:80
接口地址:user.php
接口参数:act
参数值:register

(3)为什么要做接口测试

尽早进行系统集成测试,暴露BUG
解决系统测试复杂度
屏蔽UI层的不稳定性
检查系统安全性,稳定性
接口经过测试稳定了,前端页面随便改,减少BUG的产生

 

接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。

由于如今的系统复杂度不断上升,传统的测试方法成本急剧增加且测试效率大幅下降,所以就要做接口测试。同时,接口测试相对容易实现自动化持续集成,且相对UI自动化也比较稳定,可以减少人工回归测试人力成本与时间,缩短测试周期,支持后端快速发版需求。接口持续集成是为什么能低成本高收益的根源。现在很多系统前后端架构是分离的,从安全层面来说,只依赖前端进行限制已经完全不能满足系统的安全要求(绕过前面实在太容易), 需要后端同样进行控制,在这种情况下就需要从接口层面进行验证。前后端传输、日志打印等信息是否加密传输也是需要验证的,特别是涉及到用户的隐私信息,如身份证,银行卡等。

  1. 原理

模拟客户端向服务器发送请求报文,服务器接受请求报文后对相应的报文做处理并向客户端返回应答,客户端再接受应答的一个过程。
接口测试是黑盒测试。作为黑盒测试,基本的测试思路是通过输入和输出判断被测系统或者对象的逻辑。

  1. 关注点

关注在系统架构的业务逻辑层,不注重UI操作或者用户感观
检查数据的交换,传递和控制管理过程
注重系统间的相互逻辑关系调用

  1. 范围

按测试类型分:功能、性能、安全性

按数据的输入输出分:

1、进入系统的接口(调用外部系统的参数为本系统使用)

2、数据流出系统接口(验证系统处理后的数据是否正常)

  1. 与UI测试的异同点

UI的操作实际上就是用另一种方式调用接口,那么接口有多少种参数组合就要求UI用例要构造多少种操作进行调用
UI操作所需要的数据可以用接口来生成
接口测试可以保证数据和逻辑的准确性,UI测试需要考虑交互和界面展示的逻辑正确性
UI测试需要重视接口调用不成功或者接口异常情况下UI的呈现方式和用户体验
UI中可能会有一些状态的缓存信息(这样就不需要每次频繁调用接口去获取了),比如鉴权信息等,需要重点关注这些缓存的更新策略

 

  1. 接口测试的三种形式

手动测试:辅助工具、Fiddler、Postman、HttpWath。。。

自动化测试:自己开发的工具、SoapUI、RobotFramework。。。

性能测试:自己开发的工具、Jmeter、LoadRunner。。。

 

  1. 如何开展测试

找开发或者开发主管索要接口说明文档(API文档)。作用:是开发测试脚本的依据
熟悉业务,设计测试用例,准备测试数据
根据接口说明文档开发接口测试脚本,执行脚本
API文档
测试文档接口说明,参数,返回值,是否齐全
熟悉业务
设计测试用例,准备测试数据
开发接口测试脚本
执行脚本,调入数据
提交BUG
写报告

  1. 好的接口文档

在项目中,一份完整的接口文档应该包含以下的内容:

接口说明
请求方式(get\post)
请求地址
请求参数、参数类型、请求参数说明
返回参数说明
返回示例

  1. 接口测试流程:问开发获取测试接口

(1)接口测试常用

接口测试用例设计从以下4个方面着手

  1. 功能测试点:

接口可用性
接口实现功能验证
输入输出参数个数及命名
输入参数的必填项
输入参数的合法性
输出参数内容的正确性
接口传递参数的安全性

2)可用性:

主要测试接口是否可用、接口是否存在、接口的协议类型
测试用例中应包括:
依据接口文档中给定的接口地址和协议方法能够访问到该接口。
使用错误的协议方法无法按照接口地址进行访问。
使用正确的协议方法无法按照错误的接口地址进行访问。

3)输入输出参数个数及命名:

主要测试接口包含的输入输出参数的个数以及各个参数的命名是否正确。
测试用例中应包括:
依据接口文档检查输入参数的个数以及命名是否和文档一致。
依据接口文档检查输出参数的个数以及命名是否和文档一致(注意检查输出 的正常参数和异常参数)。
输入错误的参数名,接口会报错,并有错误信息返回。

4)输出参数内容的正确性

主要对输出参数的内容是否和后台真实数据一致进行检查。
测试用例中应包括:
考虑多种输入参数的组合情况,依次测试在这些组合情况下接口返回的数据的各字段内容是否正确,要具体检查每个字段的内容。一般通过与后台数据库数据比较来进行检查。
考虑多种输入参数的组合情况,依次测试在这些组合情况下接口返回的数据中涉及输入参数的项,是否和最初输入的值一致。

5)接口功能验证:

主要对接口操作的具体功能是否正常运转进行检查。
测试用例中应包括:
输入正确的参数,检查接口对应的要实现的后台功能是否正确运转。例如:对一个启动接口发送启动的命令,接口对应的后台系统能够正确启动并返回正确的参数。
输入错误的参数,检查接口对应的要实现的后台功能是否没有运转。

  1. 接口文档规范性

主要对开发提供的接口文档是否规范准确进行检查。
测试用例中应包括:
接口文档中对于输入输出参数都有准确的命名,不存在模糊的情况。
接口文档对于每一个参数都有明确的类型说明,是否可选还是必输,是否有默认值。
接口文档对于每一个输入参数都有明确好基本的录入条件,比如长度最长多少、只能为数字还是字母、不能含有特殊字符等。
针对一个接口如果有多种类型的输出参数组合且参数的命名或者个数有不同,这种情况,要在接口文档中罗列清晰,并明确指出出现这种类型的输出参数的条件。

 

  1. 接口传递参数的安全性

接口传递参数的加密显示
防止SQL注入攻击

SQL注入的原理定义:利用现有应用程序,将(恶意)的SQL命令注入到后台数据库引擎执行的能力。
用于没有对用户的输入数据进行必要的合法性判断,导致了攻击者可用提交一段数据库查询代码,根据程序返回的结果,获得一些他想要得到的数据。
举例:
在用户名输入框中输入:’or 1=1 #,密码随便输入,这时候的合成后的SQL查询语句为:
select * from users where username = '' or 1=1 #' and password = md5('')
等价于:select * from users where username = '' or 1=1

逻辑业务(逻辑用例设计):是否依赖业务

异常(异常用例设计):参数异常+数据异常

安全(安全用例设计):例如必须登录才能进行相关操作

(2)接口测试完整图

(3)接口测试参考计划图

3、企业测试思路

A:得到api接口文档,熟悉接口业务,接口地址,鉴权,入参,出参,错误码

B:编写接口测试计划方案以及评审

C:编写接口测试用例以及评审

 

思路:

      正例:

      鉴权反例:

            鉴权码为空,错误的鉴权码,鉴权码已过期......

      参数反例:

            参数为空,参数类型异常,参数长度异常,

      其他场景:

分页场景:(0,第一页1,中间页5,最后一页10,100,其他异常)

D:使用接口测试工具执行接口测试

E:输出接口测试报告

  • 接口测试计划

理清思路,避免漏测

提高测试效率

跟进测试进度

证明做过相关测试

跟进重复性工作

  1. 获取接口文档

分析处测试需求,并拿到开发提供的接口说明文档(API文档)

  1. 整理接口测试案例

从API文档中整理出接口测试案例,里面要包括详细的入参数据以及明确的格式和检查点

  1. 案例评审

和开发一起对接口测试案例进行评审

  1. 生成csv文件

结合开发库,准备接口测试案例中的入参和出参数据,并整理成csv格式的文件

  1. 自动化案例开发

结合接口测试案例文档和csv格式的数据文档,做接口测试案例的自动化案例开发

 

  • 接口测试自动化使用场景

目前设计的自动化接口测试案例有两个运行场景:

1、测试前置、开发自测:

一个新的自动化接口测试案例开发完成后,直接发给接口对应的开发,安排在开发本地环境执行,一旦开发确认完成接口开发,就开始执行接口测试案例,基本上可以实时拿到测试结果,方便开发快速做出判断。(开发本地运行的方式就是打开JMeter工具,导入JMX文件,开始执行可。)

2、回归测试:

开发本地测试通过后,或整个需求手工测试通过后,把自动化的接口测试案例做分类整理,挑选出需要纳入到回归测试中的案例,在持续集成环境重新准备测试数据,并把案例纳入到持续集成的job中来,这些用于回归的接口测试案例需要配置到持续集成平台自动运行。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.exyb.cn/news/show-2709.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

设计模式导读助记

各个设计模式的详细介绍都已经完成,但是不经常用总会忘,所以我想用 一句话 总结设计模式,思考模式的真正意图,再用 一点提示 来思考代码如何实现 写在前面 我整理的设计模式这一个系列,主要是结合了以下几本书 : 《设…...

RT-Thrad|STM32F103+ESP8266 S01+RT-Thread联网之环境搭建(1/3)

文章目录前言硬件准备百问网STM32F103ESP8266 01SESP8266 介绍ESP8266 01S技术规格参数软件准备下载安装 Keil μVision5Pack Installer安装 ST-Link 驱动获取RT-Thread源码下载安装 RT-Thread env 工具文章列表 RT-Thrad|STM32F103ESP8266 S01RT-Thread联网之环境搭建(1/3)RT…...

LeetCode 数值的整数次方

实现 pow(x, n) ,即计算 x 的 n 次幂函数(即,xn)。不得使用库函数,同时不需要考虑大数问题。 示例 1: 输入:x 2.00000, n 10 输出:1024.00000 示例 2: 输入&#xf…...

elementUI-Tree 树形控件的使用

elementUI-Tree 树形控件的使用 实现效果: 控件的官方使用说明 控件要求返回的数据结构 {"success": true,"code": 20000,"message": "成功","data": {"items": [{"id": "1394579386…...

2021java1年经验公司面试真题

1面我就省略了,主要就是看你的以前工作情况,以前工作内容能不能清晰表达,还有一些简单的java基础问题,大概20多分钟。二面就是40分钟基础,20分钟业务,10分钟个人情况。下面是二面问题 1.自我介绍 做一下自…...

Unity基础之C#核心篇笔记4:多态

Unity基础之C#核心篇笔记4:多态多态1.多态的概念2.解决的问题3.多态的实现4.总结抽象类和抽象方法1.抽象类2.抽象函数3.总结4.练习题接口1.接口的概念2. 接口的申明3.接口的使用4.接口可以继承接口5.显示实现接口6.总结7.练习题密封方法1.密封方法基本概念2.实例3.总…...

LeetCode每日一题 - 有多少小于当前数字的数字

题目&#xff1a; 给你一个数组 nums&#xff0c;对于其中每个元素 nums[i]&#xff0c;请你统计数组中比它小的所有数字的数目。 换而言之&#xff0c;对于每个 nums[i] 你必须计算出有效的 j 的数量&#xff0c;其中 j 满足 j ! i 且 nums[j] < nums[i] 。 以数组形式返回…...

用Python爬取彼岸图网图片

用Python爬取彼岸图网图片 *使用了 四个模块 import time import requests from lxml import etree import os 没有的话自行百度安装。 #encoding utf-8 import time import requests from lxml import etree import os# http://www.netbian.com/ 爬虫 if __name__ __mai…...

第k个数(快速选择)

算法思路 快速选择&#xff1a; 1.即任意选一个数&#xff0c;将数组划分为二。 2.最终根据该数所在的位置&#xff0c;即第&#xff1f;大&#xff0c;选择第k大的数字所在区间进行划分。 时间复杂度分析&#xff0c;第一次划分n,下一次划分期望n/2&#xff0c;n/4…累加和小…...

yolov5 detect.py报错

新手求助 yolov5训练了自己的数据集后&#xff0c;test没问题&#xff0c;但是运行detect.py就报错了&#xff0c;一直找不到问题所在&#xff0c; 求大佬指点指点...

DEX 争霸战火升级,BabySwap 会否成为下一代黑马?

在 AMM机制大力推动下&#xff0c;DEX的群雄争霸比预想中来得要快且凶猛。伴随着诸如高盛等主流资本逐步认可DeFi 的意义&#xff0c;在真正的去中心化金融爆发的前夜&#xff0c;可以说谁抢占了DEX 红海的先机&#xff0c;谁就赢得了未来。 从早期以太坊的Uniswap和DoDo&…...

flutter 常用的第三方组件

引用文章链接&#xff1a; https://www.jianshu.com/p/a523e5f131b2 1、格式化日期时间组件&#xff1a;https://pub.dev/packages/date_format 2、日期选择组件&#xff1a;https://pub.dev/packages/flutter_cupertino_date_picker 3、轮播图组件&#xff1a;https://pub.…...

Android面试回忆录:帮助程序员提高核心竞争力的30条建议,真香!

**新技术层出不穷&#xff0c;去年kotlin到如今Flutter&#xff0c;技术迭代&#xff0c;你是否会变得固步自封&#xff1f;**那么看本篇文章帮你解决问题&#xff0c;让你知道怎么样学习&#xff0c;学习那些技术点才能不被时代的迭代快速淘汰&#xff01; 首先&#xff0c;先…...

2021-05-30解决centos+宝塔面板,FTP传输421 Too many connections问题错误

解决centos宝塔面板&#xff0c;FTP传输421 Too many connections”问题错误 1、首先连入服务器 在/www/server/pure-ftpd/etc下&#xff0c;找到pure-ftpd.conf 2、vim pure-ftpd.conf 没有vim的&#xff0c;用其他编辑软件也可以 3、找到 #Maximum number of sim clients wit…...

RK3399 DDR频率修改

RK3399 DDR频率修改 一、DDR当前频率获取与可调节范围 1、获取当前DDR频率、可调值、容量 cat /sys/class/devfreq/dmc/cur_freq2、查看DDR频率可调节的值 cat /sys/class/devfreq/dmc/available_frequencies3、获取DDR容量 cat /proc/meminfo二、DDR测试定频 1、因为RK3…...

javascript正则表达式常用合集

javascript正则表达式常用的合集 参考网址 {n}: n 是一个正整数&#xff0c;匹配了前面一个字符刚好出现了 n 次 {n,}: n是一个正整数&#xff0c;匹配前一个字符至少出现了n次 {n,m}: n 和 m 都是整数。匹配前面的字符至少n次&#xff0c;最多m次。如果 n 或者 m 的值是0&…...

qApp加载qss技巧

使用Qt加载qss样式&#xff0c;一般操作是读取文件&#xff0c;通过setStyleSheet设置 但是qApp只需如下&#xff1a; qApp->setStyleSheet("file:///:/test.qss");//只适用于qApp...

发现一款好用到爆的数据库工具 - DataGrip(就是耗内存)

作者&#xff1a;Atzuge cnblogs.com/zuge/p/7397255.html 最近看到一款数据库客户端工具&#xff0c;DataGrip&#xff0c;是大名鼎鼎的JetBrains公司出品的&#xff0c;就是那个出品Intellij IDEA的公司。 - 就是耗内存 DataGrip是一款数据库管理客户端工具&#xff0c;方便…...

Java 类加载器(ClassLoader)的实际使用场景有哪些?

什么是classloader classloader顾名思义&#xff0c;即是类加载。虚拟机把描述类的数据从class字节码文件加载到内存&#xff0c;并对数据进行检验、转换解析和初始化&#xff0c;最终形成可以被虚拟机直接使用的Java类型&#xff0c;这就是虚拟机的类加载机制。了解java的类加…...

Bad owner or permissions on C:\\Users\\USER/.ssh/config on Windows

Bad owner or permissions on C:\Users\USER/.ssh/config 问题描述 由于使用vscode远程连接服务器突然新增了C:\Users\USER/.ssh/config &#xff0c;再powershell/cmd下面使用openssh&#xff08;windows自带&#xff09;连接服务器会出现Bad owner or permissions on C:\\U…...

CCF 2014-09-1 相邻数对

题目链接: 2014-09-1 相邻数对. code #include <iostream> #include <algorithm> //引入sort函数using namespace std;int main() {int n;cin >> n;int* nums new int[n];for (int i 0; i < n; i)cin >> nums[i];sort(nums, nums n);int coun…...

学习前端的第十天

这几天深受鼠标双击的折磨&#xff0c;非常痛苦&#xff0c;正好趁618换个鼠标。闲聊就到这吧&#xff0c;今天说说布局方式和浏览器兼容问题。 一、宽高自适应 1、自适应介绍&#xff1a;在以往的开发过程中&#xff0c;大家发现某个区域如果宽度或者高度固定好的话&#xff…...

网络规划-连接网络

文章目录网络规划-连接网络1 连接到广域网1.1 广域网连接方式2.2 专业术语2 点到点连接(PPP)2.1 PPP身份验证协议(PAP)2.2 配置PPP身份验证3 IPv4网络地址转换(NAT)3.1 NAT术语4 VPN4.1 VPN优点4.2 站点到站点VPN(GRE)4.2.1 GRE隧道配置4.2.2 GRE隧道检验4.3 远程访问VPN4.3.1 …...

阿里Java开发手册!阿里java电话面试

前言 不知道大家有没有这样的经历&#xff0c;明明感觉自己这个技术掌握的还行&#xff0c;能写在简历里肯定是有点自信的&#xff0c;但是被面试官一问&#xff0c;就感觉啥也不是 当我从面试的大楼里出来的时候脑袋里还是昏昏沉沉的&#xff0c;你压根不知道我经历了什么&a…...

Java-ArrayList修改和删除(泛型)

import java.util.ArrayList; import java.util.List;//泛型:给集合指定具体存放的数据类型&#xff0c;只能存放自定义数据类型。加了< >的可以使用泛型。 public class Demo3 {public static void main(String[] args) {//集合中只能存放自定义数据类型&#xff0c;不能…...

金三银四大厂面经总结,java怎么快速创建构造方法

前言 Java作为最全面的语言&#xff0c;国内开发者也是最多的&#xff0c;Java综合起来各方面都不错&#xff0c;在大部分场景下是一种稳健的技术选择。加上近年来安卓的推动&#xff0c;目前也是最流行的一种语言。 现在Java的就业市场看起来还是挺大的&#xff0c;而且工资…...

这操作真香!java结合redis秒杀功能

前言 分布式事务主要解决分布式一致性的问题。说到底就是数据的分布式操作导致仅依靠本地事务无法保证原子性。与单机版的事务不同的是&#xff0c;单机是把多个命令打包成一个统一处理&#xff0c;分布式事务是将多个机器上执行的命令打包成一个命令统一处理。 MySQL 提供了…...

RecyclerView实现长按弹出菜单

public class AddressListAdapter extends BaseQuickAdapter<AddressListResult.Address, AddressListAdapter.ViewHolder> {private int position;public AddressListAdapter(Nullable List<AddressListResult.Address> data) {super(R.layout.item_addressshow,...

可以拖拽的元素如何在iframe 中释放(无法触发drop事件)?

可以拖拽的元素如何在iframe 中释放(无法触发drop事件)&#xff1f; 最简单的解决方式&#xff1a;通过css 方式在iframe 上覆盖一层同等宽高的div 并设置透明&#xff01; 然后在这成div上绑定 drop事件 <tempalte><div dragover"dragover($event)">可…...

Uncaught TypeError: Cannot read property ‘push‘ of undefined

最近项目部署&#xff0c; 把前端项目部署到服务器上之后&#xff0c;我的react里面重定向用的是window.location&#xff0c;但是部署到服务器上之后就没有办法定向了。 于是我想着把重定向改成this.props.history.push&#xff0c; 但是改成这个之后本机也报错了&#xff0c;…...

阿里旺旺信息发送器(一键发送,教程V)

阿里旺旺信息发送&#xff0c;原理&#xff0c;找到阿里旺旺聊天窗口的文本框句柄&#xff0c;发送文本就行了&#xff0c;说得很简单。(QQ真讨厌&#xff0c;技术好高&#xff0c;这种方法可不行&#xff0c;所以我说阿里旺旺不如QQ技术&#xff0c;人家都和谐好几年了&#x…...

Vue源码学习(六)- 实例方法

目标 深入理解以下实例方法的实现原理 vm.$setvm.$deletevm.$watchvm.$onvm.$emitvm.$offvm.$oncevm._updatevm.$forceUpdatevm.$destroyvm.$nextTickvm._render 入口 /src/core/instance/index.js 该文件是Vue实例的入口文件&#xff0c;包括Vue构造函数的定义&#xff0c;…...

程序员防脱发保养三字经

早早起&#xff0c;去上班&#xff0c;做计划&#xff0c;按完成&#xff0c;不加班。 早早睡&#xff0c;规律起&#xff0c;杯泡杞&#xff0c;多补水&#xff0c;防干燥。 多洗头&#xff0c;用护发&#xff0c;每回家&#xff0c;少用脑&#xff0c;多躺尸。 仅供自娱自乐…...

防脱发,生发

1.外敷&#xff1a;、头皮精华avada 2.内服食补&#xff1a;黑米黑豆黑芝麻 3.内调&#xff01;&#xff1a;早睡早起不熬夜&#xff01;&#xff01; 4.医院挂头皮科&#xff1a;是否雄脱...

90后最担心的事情不是猝死而是脱发!赋强教你防脱发!

以前很羡慕明星如丝般顺滑不多不少的头发&#xff0c;自己马尾一大把土里土气。那时候的我没有想到&#xff0c;命运如此残酷&#xff0c;居然让我这个90后&#xff0c;要么旱死&#xff0c;要么涝死&#xff01;以前上学那会经常被人问头发怎么长的这么好&#xff0c;现在变成…...

老程序员防脱发养发攻略征求。

各位程序员朋友们&#xff0c; 见字如面&#xff0c;你们好&#xff01;我是一个00后程序员&#xff0c;却有着一头大厂见了都会争相要的发型。尽管深深感受到了自己被重视的程度&#xff0c;但作为一个正值壮年的小伙子&#xff0c;拥有一个帅气的外形&#xff0c;相信没有人能…...

1 0 2 4 程序员防脱发指南

有时候真的怀疑上帝也是个程序员因为他写的这个世界真的有着不少匪夷所思的Bug扫描下方二维码马上免费领取猎聘X霸王程序员专用限量版洗发水错过等一年&#xff01;&#xff01;&#xff01;在文章底部留言说说你的防脱高招或秘诀留言点赞数排名前三名的读者&#xff0c;每人可…...

android官方文档中文版_数据科学|最全实至名归,NumPy 官方早有中文教程,结合深度学习,还有防脱发指南...

↑↑↑↑↑点击上方蓝色字关注我们&#xff01;『运筹OR帷幄』转载作者&#xff1a;机器之心编者按如果说Pandas是传统机器学习的必备模块&#xff0c;那么Numpy就是深度学习的基本功。目前市面上有太多基于Pandas的教程&#xff0c;但是关于Numpy的教程&#xff0c;在寻找资料…...

TypeScript防脱发级入门——扩展类型枚举

嗨&#xff01;大家好&#xff01;我是法医&#xff0c;一只治疗系前端码猿&#x1f412;&#xff0c;与代码对话&#xff0c;倾听它们心底的呼声&#xff0c;期待着大家的点赞&#x1f44d;与关注➕。当然也欢迎加入前端猎手技术交流群&#x1f61b;&#xff0c;文末扫码我拉你…...

TypeScript防脱发级入门——TS中的类

嗨&#xff01;大家好&#xff01;我是法医&#xff0c;一只治疗系前端码猿&#x1f412;&#xff0c;与代码对话&#xff0c;倾听它们心底的呼声&#xff0c;期待着大家的点赞&#x1f44d;与关注➕。 1. 面向对象的概述 说到类就不得不说面向对象了&#xff0c;这是因为TS为…...

TypeScript防脱发级入门——基本类型检查

嗨&#xff01;大家好&#xff01;我是法医&#xff0c;一只治疗系前端码猿&#x1f412;&#xff0c;与代码对话&#xff0c;倾听它们心底的呼声&#xff0c;期待着大家的点赞&#x1f44d;与关注➕。 1. 如何进行类型约束 类型约束其实很简单&#xff0c;只需要在变量、函数…...

TypeScript防脱发级入门——模块化

嗨&#xff01;大家好&#xff01;我是法医&#xff0c;一只治疗系前端码猿&#x1f412;&#xff0c;与代码对话&#xff0c;倾听它们心底的呼声&#xff0c;期待着大家的点赞&#x1f44d;与关注➕。 TS模块化 1. TS中如何书写模块化 TS中&#xff0c;导入和导出模块&#x…...

1024全方位防脱发攻略?做发量和代码最刚的程序员

秋收冬藏&#xff0c;又到了年底冲刺撸代码的时节。 程序员宝宝天天和产品经理撕逼 半夜又和bug生死相依 某天&#xff0c;你选择了红色药丸&#xff0c;从Matrix中觉醒 突然发现&#xff1a; “我的头发呢&#xff01;? 是不是有人在代码里面下了毒&#xff01;&#x…...

「最全」实至名归,NumPy 官方早有中文教程,结合深度学习,还有防脱发指南...

本文来自机器之心参与&#xff1a;一鸣、JaminNumPy 无疑是很多机器学习研究者和开发者的「白月光」。如此优秀的项目&#xff0c;没有中文版怎么行&#xff1f;近日&#xff0c;机器之心发现 NumPy 官方早在去年就已出了一个中文版网站&#xff0c;涵盖 NumPy 的一切。在 Gith…...

最全的官方中文教程来了,NumPy结合深度学习,还有防脱发指南

点击上方“开发者技术前线”&#xff0c;选择“星标”在看 真爱来自&#xff1a;机器之心报NumPy 无疑是很多机器学习研究者和开发者的「白月光」。如此优秀的项目&#xff0c;没有中文版怎么行&#xff1f;近日&#xff0c;机器之心发现 NumPy 官方早在去年就已出了一个中文版…...

防脱洗发水是个伪命题?8979条数据告诉你答案

最近&#xff0c;小Q陷入了一个脱发死循环。照镜子隐隐若现的头皮&#xff0c;洗完头地上乌压压的断发&#xff0c;让他无时无刻不担心自己的发量&#xff0c;一担心怎么办呢&#xff1f;挠头呗&#xff01;越脱发&#xff0c;越担忧&#xff1b;越担忧&#xff0c;越挠头&…...

Java防脱发笔记

Java Cookbook IDEA 常用快捷键 Altshift上下方向键 移动当前代码行&#xff08;选中的代码块&#xff09; ctrlN 当前项目中的文件过多时&#xff0c;方便快速查找定位文件 ctrlD 复制光标所在行&#xff08;选中的代码块&#xff09; ctrlY 删除光标所在行&#xff08;选中的…...

2022年全球市场男士防脱发和增长产品总体规模、主要生产商、主要地区、产品和应用细分研究报告

本文研究全球市场、主要地区和主要国家男士防脱发和增长产品的销量、销售收入等&#xff0c;同时也重点分析全球范围内主要厂商&#xff08;品牌&#xff09;竞争态势&#xff0c;男士防脱发和增长产品销量、价格、收入和市场份额等。针对过去五年&#xff08;2017-2021&#x…...

首迷防脱小课堂:避免脱发的八种方法

脱发历来都是大家最为头疼的一个问题&#xff0c;尤其是年轻人&#xff0c;年纪轻轻就已经开始掉头发了&#xff0c;不管是对身体还是心理上都产生了很大的影响&#xff0c;不过在一些研究中&#xff0c;已经有部分自然疗法和医学疗法被证实有效&#xff0c;今天给大家分享8条安…...

专利申请的五个步骤介绍

在专利申请过程中&#xff0c;专利申请人往往需要与专利代理人进行多次沟通。那么&#xff0c;专利申请流程需要经过哪些审批流程&#xff1f;专利申请的以下五个步骤有望对您有所帮助。 第一步&#xff1a;专利申请人向国家专利局提交准备好的申请文件&#xff0c;包括&#…...