(即人在纸上画好的简笔画),但是发现识别准确率很差,后来用H5版的手绘画布转换成图片来识别也发现准确率跟摄像头数据识别一样差,而用像素数据则准确率高 原因在数据集的介绍里面也有说到:https://github.com.../googlecreativelab/quickdraw-dataset 图片 原本用于训练的数据集里每张手绘图的轮廓信息就是用坐标标识的,所以传入画布绘画api的坐标像素数据才会比较准确 2)...解决方案 因此此模型比较适用于画布的原始绘画api来画简笔画,再通过获取画布像素数据来做模型识别的传参比较合适,所以实现了此手绘图片识别的小程序版,如下 图片 其实此种方式直接在画布交互反而比摄像头找纸笔绘画的交互好得多.../split_data/train/ -size 0找出来是否有错误的图片 图片 在对应文件夹全部删掉此文件,也可自己去data文件中对应数据源找出错误图片(size为0)删掉 2、报错图片类型无效的...大小限制,不建议直接使用联合包,而是按照需求加载分包。
---- SpringMVC是根据参数的名字,然后用setter方法来对数据进行绑定的,若类型没有匹配上则会出现400的错误,同时还要注意空值问题 1....return "密码不能为空"; } if(address == null || address.isEmpty()){ return "地址不能为空"; }...JSR-303的简单使用 3.1 在需要校验的属性上标记注解 注解有个属性message存放自定义的错误信息 public class User { @NotNull(message = "名字不能为空...,开始真是不知如何解决 解决方法 使用包装类Integer,类型对不上就不匹配了,包装类还会自动装箱和拆箱,所以很方便解决空值问题 // Integer id // 替换成包装类之后传的参数为,空值不接收即为...null User{id=null, name='jiafu liu', email='1210911104@qq.com'} 教训是:对于可能会传空值的属性一般会用包装类型
模型绑定和验证 比如,有一个创建商品的接口,商品名称不能为空。...= nil { utilGin.Response(-1, err.Error(), nil) return } 咱们用 Postman 模拟 post 请求时,name 参数不传或传递为空...自定义验证器 比如,有一个创建商品的接口,商品名称不能为空并且参数名称不能等于 admin。 类似于这种业务需求,无法 binding 现成的方法,需要我们自己写验证方法,才能实现。...ok { v.RegisterValidation("NameValid", param_verify.NameValid) } 咱们用 Postman 模拟 post 请求时,name 参数不传或传递为空...= nil { utilGin.Response(-1, err.Error(), nil) return } 咱们用 Postman 模拟 post 请求时,name 参数不传或传递为空
如上信息是登录的时候账户密码错误,服务端返回的错误信息,它的code是400,在不同情况下,它会依据业务的不同返回不同的业务状态码。...就像之前编写的案例代码,如果当查询书籍不存在的时候,它的返回信息是什么,修改书的时候,必须传的请求参数并没有传进去,它的错误信息又是什么,不同的场景,如果使用同一种错误信息来表示,会影响最终的体验。...比如参数author为空,我们更加希望得到的是author请求参数不能为空的错误信息,如果是name为空,希望得到的是name请求参数不能为空的错误信息。...elif 'author' not in request.json: return jsonify({'status': 1004, 'msg': '请求参数author不能为空'})...在接口的测试实战中,一个接口测试用例的断言,需要验证的点分别是业务状态码,依据结合具体的业务来验证响应数据,比如登录成功后,可以验证userid,name的信息,至于其他的字段信息可以验证,也可以不验证
用户名不能含有‘xxx’密码不能少于三位 分析: 1.手动写HTML代码获取用户输入(渲染标签) 2.将数据传递给后端校验(校验数据) 3.如果数据有错误展示信息(展示信息) #手动实现略 forms组件...{'username': 'jason'} # 5.forms组件中 定义的字段默认都是必须传值的,不能少传,多传取前面的 form_obj = views.MyForm({'username':'ylpb...{'required': '不能为空', 'invalid': '格式错误'} validators=[], 自定义验证规则 localize=False,...min_length=5, error_messages={'required': '标题不能为空...email = fields.EmailField(required=False, error_messages={'required': u'邮箱不能为空
NPE原因 DTO字段null的含义 JSON到DTO的反序列化过程,null的描述有歧义: 客户端不传某个属性或传null,该属性在DTO中都是null。...这带来问题,对于更新请求: 不传意味着客户端不想更新该属性,应维持DB原值 传了null,说明客户端想重置该属性。...然后,由于DTO中已经巧妙使用了Optional来区分客户端不传值和传null值,那么业务逻辑实现上就可以按照客户端的意图来分别实现逻辑。...如果不传值,那么Optional本身为null,直接跳过Entity字段的更新即可,这样动态生成的SQL就不会包含这个列;如果传了值,那么进一步判断传的是不是null。...为测试使用Optional是否可以有效区分JSON中没传属性还是传了null,在JSON中设个null的age,结果是正确得到了年龄不能为空的错误提示: curl -H "Content-Type:application
(__name__) # @server.route()可以将普通函数转变为服务登录接口的路径、请求方式 @server.route('/login', methods=['get','post','...update','delete']) def login(): # 获取通过url请求传参的数据 username =request.values.get('name') #...获取url请求传的密码,明文 pwd = request.values.get('pwd') # 判断用户名、密码都不为空,如果不传用户名、密码则username和pwd为None...ensure_ascii=False) # 将字典转换为json串,json是字符串 else: resu = {'code' : -1, 'message' : '账号密码错误...return json.dumps(resu, ensure_ascii=False) else: resu= {'code' : 10001, 'message' : '参数不能为空
获取响应内容 参数提取 参数名 参数类型 描述 传值 默认值 type string 请求方式 get/post 只要不传post,就是get url string 请求地址 接口地址 如果不传地址,不发送请求...false:true; 完整版本 // 封装 ajax // 目的: 发送 get 或者 post 请求 // 参数: // type: 不传post, 就按get处理 // url: 必须传 // async...: 不传false, 就按true处理 // data: 参数对象 // dataType: 数据类型, json/xml/text // success: 成功的回调函数 // error: 失败的回调函数...如果为空提示"手机号不能为空" (2) 手机号码格式必须正确, 提示"请输入正确的手机号码" 需求2:点击发送时,按钮显示为"发送中",并且不能重复提交请求 需求3:根据不同的响应结果,进行响应...,否则提示"请输入用户名" 1.2 密码不能为空,否则提示"请输入密码" 1.3 确认密码必须与密码一直,否则提示"确认密码与密码不一致" 1.4 手机号码不能为空,否则提示"请输入手机号码
form_obj.cleaned_data {'username': 'jason'} forms 前端渲染标签组件 前提歩鄹: 先生成一个空对象,并将对象传递给前端页面 form_obj...提交按钮需要你手动添加 input 框的 label 注释 不指定的情况下 默认用的是类中 字段的首字母大写 forms 组件其他知识点(服务器端的) 在 python console 测试 类似于django...True) 只要有一个字段不通过,form_obj.is_valid() 的结果就是 False,所有字段都校验通过了才会返回 True 校验数据的时候可以多传(多传的数据不会做任何的校验 >> >...{'required': '不能为空', 'invalid': '格式错误'} validators=[], 自定义验证规则 localize=False,...required 允许字段不填 required=False ?
使用Python实现一个简单的接口服务,可以通过get、post方法请求该接口,拿到响应数据。...('/login', methods=['get', 'post']) def login(): # 获取通过url请求传参的数据 username = request.values.get...('name') # 获取url请求传的密码,明文 pwd = request.values.get('pwd') # 判断用户名、密码都不为空,如果不传用户名、密码则username...ensure_ascii=False) # 将字典转换为json串, json是字符串 else: resu = {'code': -1, 'message': '账号密码错误...return json.dumps(resu, ensure_ascii=False) else: resu = {'code': 10001, 'message': '参数不能为空
《Android开发艺术探索》读书笔记 (3) 第3章 View的事件体系 本节和《Android群英传》中的第五章Scroll分析有关系,建议先阅读该章的总结 第3章 View的事件体系 3.1 View...速度计算公式: 速度 = (终点位置 - 起点位置) / 时间段 速度可能为负值,例如当手指从屏幕右边往左边滑动的时候。...如果computeCurrentVelocity(100)来获取速度,在100ms内手指只是滑动了10个像素,那么速度是10,即10(像素/100ms)。...以上三种方法的详情可以参考阅读《Android群英传》读书笔记 (2)中的内容,此处不再细述。...(6)ViewGroup默认不拦截任何事件,因为它的onInterceptTouchEvent方法默认返回false。
”,required=”true/false”,defaultValue=””) value:参数名 required:是否包含该参数,默认为true,表示该请求路径中必须包含该参数,如果不包含就报错...不可省略 @RequestBody 作用:主要用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的) 可以在实体类字段上加 @JsonAlias实现:json转模型时,使json中的特定key...json时,对应的转换后的key为指定的key @Valid 作用:用于验证注解是否符合要求 限制 说明 @Null 限制只能为null @NotNull 限制必须不为null @AssertFalse...@Size(max,min) 限制字符长度必须在min到max之间 @Past 验证注解的元素值(日期类型)比当前时间早 @NotEmpty 验证注解的元素值不为null且不为空(字符串长度不为0、集合大小不为...0) @NotBlank 验证注解的元素值不为null且不为空(字符串长度不为0、集合大小不为0) @Email 验证注解的元素值是Email,也可以通过正则表达式和flag指定自定义的email格式
文章目录 一、省流 二、父传子例子 三、子传父例子 一、省流 父组件 -> 子组件:通过 props 传递 子组件 -> 父组件:通过 props 传递,但是父组件需要提取给子组件传递一个预定义的函数...((todo)=>{ return todo.name }) } ) } } 三、子传父例子...父组件 为了接收来自子组件的数据,需要预定义一个函数,将函数通过 props 传递给子组件 import React, { Component } from "react"; import List...this.setState({ todos: newTodos }); }; render() { const {todos} = this.state // 通过函数传递给子组件...== 13) return if(target.value.trim() === ""){ alert("输入不能为空") return } const
(2)引用不可以为空,当被创建的时候,必须初始化,而指针可以是空值,可以在任何时候被初始化。...(3)可以有const指针,但是没有const引用; (4)指针可以有多级,但是引用只能是一级(int **p;合法 而 int &&a是不合法的) (5)指针的值可以为空,但是引用的值不能为NULL,...当把指针作 为参数进行传递时,也是将实参的一个拷贝传递给形参,即上面程序main函数中的p何test函数中使用的p不 是同一个变量,存储2个变量p的单元也不相同(只是2个p指向同一个存储单元),那么在test...假如非引用传参,那么O1是不是要调用它的拷贝构造函数,传参后因为非引用传参,又要调用拷贝构造函数,如此递归,将陷入死循环。假如是引用传参,则不会调用自己的拷贝构造函数。...如果是我,我更喜欢选择引用,因为免去了指针判空(我比较懒),最主要是还是省空间,因为如果参数比较多,传指针,相当于要给当前的函数入口地址分配栈空间的时候,你的指针参数要分配8字节空间,这样重复调用此函数可能会产生大量内存碎片
,不能为空且长度不能超过20个字符 33004 无效的微应用的ICON 校验下微应用的icon字段,不能为空且确保图标存在 33005 无效的微应用的移动端主页 校验下微应用的移动端主页,不能为空且必须以...图片不能为空 如果发的是图片休息,检查下图片是否为空 34009 链接内容不能为空 检查下messageUrl字段是否为空 34010 文件不能为空 检查下media_id字段是否为空 34011 音频文件不能为空...形式的接口里,没有传参数。...,群主只能为企业员工 无 49010 群成员不能为空 无 49011 群员工列表超长 无 49012 群外部联系人列表超长 无 49013 群主不能为空 无 49014 非法的群主类型,只能为emp或者...解码后即为32字节长的AESKey。 900005 签名不匹配 检查签名计算的参数是否正确。请参考文档获取签名参数 900006 计算签名错误 检查签名计算的参数是否正确。
开篇引言 前面已经写过 SSM 三大框架的一些入门文章,在 SpringMVC 部分,关于参数的绑定提的不是太多,重新整理了一下,就当做一个补充,时间匆匆,可能会有一些错误,大家可以共同交流,一起探讨!...age=30 当我们请求时,返回结果:age:30 这种情况下,首先 key 值必须传入,否则会报 500 错误,提示当前 age 不能为空 其次,参数只能为 int 类型,否则报 400 参数异常错误...答案是否定的,虽然这个注解设置 required = false 后不传值后台也不会报错,但是如果其中指定了基本数据类型,例如我们代码中的 int 这个时候如果不传值是依旧会报一个 500 错误 因为其不传值就赋...null,但是 int 类型却不能为null 所以想要规避这个参数为空的问题,我们就可以选择包装类型 Integer (2) 包装类型 @RequestMapping("packingType.do...= 参数为空不报错,均返回:age:null 可以不传 key,后台接收到的数据则为 age=null 所以开发中,对于参数可能为空的数据,建议使用包装类型 当然,我们也可以使用 @RequestParam
message = "未成年不能注册") private Integer age; /** * 手机号 */ @NotNull(message = "手机号不能为空...") private String username; @NotNull(message = "手机号码不能为空") private String mobile; @...在上图中,如果CreateRoomInfoVO实体的objectVOList属性不额外加注释,只有@NotNull,无论入参采用@Validated还是@Valid验证,从返回知道,我们传vipLevel...也就是说如果传的List中有objectVOList的vipLevel是不是一个1<=x<=5的值,入参验证不会检测出来,这就是所谓的嵌套校验。...") private String username; @NotNull(message = "手机号码不能为空") private String mobile; @
--- 空安全(Null Safety ) 既然 Kotlin 中的一切都是对象,那么对象就有可能为空。...= null // 编译通过 --- 并且由于 Kotlin 对可能为空的变量类型做了强制区分,这就意味着,“可能为空的变量”无法直接赋值给“不可为空的变量”,反过来 “不可为空的变量” 可以赋值给“可能为空的变量...= null i = j // 编译器报错 j = i // 编译通过 这么设计的原因是,从集合逻辑上:可能为空 包含 不可为空 而如果我们实在有这样的需求,也不难实现,只要做个判断即可: var...所以,这样的设计在 Java 当中会非常容易出现内存泄漏! 而我们之所以会犯这样的错误,往往只是因为忘记加static关键字。...注释③,lastElement(),是我们定义的扩展函数的名称。 注释④,“Char?”,代表扩展函数的返回值是可能为空的 Char 类型。 注释⑤,“this.”
比如我们现在有个实体叫做Item: public class Item { @NotNull(message = "id不能为空") @Min(value = 1, message =...属性这个实体也有自己的验证机制,比如属性和属性值id不能为空,属性名和属性值不能为空等。...属性不额外加注释,只有@NotNull和@Size,无论入参采用@Validated还是@Valid验证,Spring Validation框架只会对Item的id和props做非空和数量验证,不会对props...也就是说如果传的List中有Prop的pid为空或者是负数,入参验证不会检测出来。推荐阅读:初始化 List 集合的六种方式!...此时Item里面的props如果含有Prop的相应字段为空的情况,Spring Validation框架就会检测出来,bindingResult就会记录相应的错误。
一、props的介绍当React遇到的元素是用户自定义的组件,它会将JSX属性作为单个对象传递给该组件,这个对象称之为“props”。...,通常你希望每个 props 都有指定的值类型,并可以通过类型检查捕获大量错误,便捷开发减少异常维护时间,要检查组件的props属性,你需要配置组件特殊的静态 propTypes 属性并配合prop-types...props如果不初始化 state 或不进行方法绑定,则不需要为 React 组件实现构造函数。...= this.changeWeather.bind(this); }传不传props之间的区别class Person extends React.Component { // 1、传入props...修饰符,表示当前属性不能为空复杂类型验证PropTypesDemo.propTypes = { // 数据为指定构造函数函数的实例 propsCurrentProto: PropTypes.instanceOf
领取专属 10元无门槛券
手把手带您无忧上云