validation

基于javax.validation自定义日期范围校验注解

怎甘沉沦 提交于 2020-07-28 02:01:53
实际项目中经常需要对传入的日期时间进行判断,如是否为一年内,几个月之内,几天前,几天之内等等的需求。如要求前端传入的日期是要为当前日期一年内的某个日期,基于jdk8的LocalDateTime or LocalDate等常用的做法如下: // 前端传字符串如‘2020-07-13 09:09:09’ springmvc接收并转换为LocalDateTime类型 @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime endTime; LocalDateTime now = LocalDateTime.now(); // jdk8校验传入日期是否为一年内 boolean flag = endTime.isBefore(now.plusYears(1)) 基于上述的做法通常是比较通用的模式,如果每个日期时间都重复如此判断,略微繁琐,于是可以通过javax.validation的自定义校验注解来作用于实体属性上,借住hibernate-validate与springmvc结合来解决此类日期时间的范围校验。 DateTimeRange.java 用于LocalDateTime or

WireShark——IP协议包分析(Ping分析IP协议包)

别说谁变了你拦得住时间么 提交于 2020-07-28 01:45:28
互联网协议 IP 是 Internet Protocol 的缩写,中文缩写为“网协”。IP 协议是位于 OSI 模型中第三层的协议,其主要目的就是使得网络间能够互联通信。前面介绍了 ARP 协议, 该协议用在第二层处理单一网络中的通信。与其类似,第三层则负责跨网络通信的地址。在 这层上工作的不止一个协议,但是最普遍的就是互联网协议(IP) 1. IP协议介绍 互联网协议地址( Internet Protocol Address ,又译为网际协议地址),缩写为 IP 地址( IP Address )。在上一章介绍了 ARP 协议,通过分析包可以发现它是依靠 MAC 地址发送数据 的。但是,这样做有一个重大的缺点。当 ARP 以广播方式发送数据包时,需要确保所有设 备都要接收到该数据包。这样,不仅传输效率低,而且局限在发送者所在的子网络。也就是 说,如果两台计算机不在同一个子网络,广播是传不过去的。这种设计是合理的,否则互联 网上每一台计算机都会受到所有包,将会导致网络受到危害。 互联网是无数子网共同组成的一个巨型网络。 图中就是一个简单的互联网环境,这里列出了两个子网络。如果想要所有电脑都在同 一个子网络内,这几乎是不可能的。所以,需要找一种方法来区分那些 MAC 地址属于同一 个子网络,那些不是。如果是同一个子网络,就采用广播方式发送。否则就采用 “ 路由 ” 发 送。这也是在

5个需要掌握的sklearn技能

坚强是说给别人听的谎言 提交于 2020-07-27 15:08:33
虽然scikit-learn在机器学习领域很重要,但是很多人并不知道利用这个库中的一些强大的功能。本文将介绍scikit-learn中5个最有用的5个隐藏的瑰宝,充分利用这些秘密武器将有效提高你的机器学习处理的效率! 1、数据集生成器 Scikit-learn有很多数据集生成器,可以用来生成各种复杂度和维度的人工数据集。 例如, make_blobs 函数可以创建包含很多数据样本、聚类中心、维度的“blobs”或数据聚类。可视化以后可以清晰看出样本的分布: Scikit-learn其实提供了很多数据集创建函数: make_moons(n_samples=100, noise=0.1) make_circles(n_samples=100, noise=0.05) make_regression(n_samples=100, n_features=1, noise=15) make_classification(n_samples=100) 2、流水线/Pipeline 流水线可以将不同的方法组合为单一模型,在自然语言处理(NLP)应用中这一点非常重要。可以通过组合多个模型的方式来创建流水线,数据将依次流过聚合模型中的各环节。流水线有标准的拟合与预测能力,这使得训练过程得到很好的组织。 很多对象都可以整合进流水线: 缺失值处理器/Imputers:如果你的数据中包含缺失的数据

IDEMIA与BBVA合作推出西班牙首款由再生PVC制成的支付卡

无人久伴 提交于 2020-07-27 13:02:32
法国库尔布瓦--(美国商业资讯)-- 增强身份领域的全球领导者 IDEMIA 正在向西班牙对外银行 (BBVA) 提供西班牙首批由再生塑料制成的支付卡。该银行将于 2020 年 6 月率先向拥有 BBVA 青年账户 (Youth Account) 的西班牙客户发放该卡。这款新的支付卡是 BBVA 致力于为联合国应对气候变化的可持续发展目标做出贡献的坚定承诺。 此新闻稿包含多媒体内容。完整新闻稿可在以下网址查阅: https://www.businesswire.com/news/home/20200605005037/en/ 根据2018年尼尔森报告(Nilson Report)1显示,每年塑料支付卡的制造量约为60亿张。在联合国可持续发展目标和《巴黎协定》的背景下,西班牙最大的银行之一西班牙对外银行选中IDEMIA的尖端技术,将其现有的部分最初使用的PVC卡转为创新的再生PVC卡。 到今年年底,西班牙对外银行将使超过50万的西班牙客户受益于环保的支付方式。新型卡的背面带一个符号(代表该卡由再生塑料制成),并将率先向BBVA的青年人账户发放。 西班牙 BBVA 个人客户负责人 Ana Pitarch 表示:“青年人尤其意识到保护环境的重要性,他们对于可持续解决方案的需求正日益增长。我们选择了 IDEMIA 值得信赖的解决方案,以在环境意识转变旅程中陪伴我们的客户。”

Core篇——初探Core的认证,授权机制

不问归期 提交于 2020-07-27 12:53:57
目录 1、Cookie-based认证的实现 2、Jwt Token 的认证与授权 3、Identity Authentication + EF 的认证 Cookie-based认证的实现    cookie认证方式如下图所示,当我们访问一个网页(Admin/Index)时候,这时候系统会检查你是否有权限,假如没有权限,便会我当前Url重定向到登陆页面(/Account/Login),在登陆成功后,系统会返回一个cookie保存在浏览器,此时再带着这个cookie去重新访问你最开始要访问的页面(Admin/Index)。如下图所示。 我们在.net core 中,也有一套基于cookie-basic的认证方式。   首先,创建一个Core 2.0的MVC项目,添加两个控制器 AdminController 代表我们要认证后才能访问的资源, AccountController ,模拟登陆。在AccountController中, 1 [Authorize] 2 public class AdminController : Controller 3 { 4 public IActionResult Index() 5 { 6 return View(); 7 } 8 } AdminController 1 public class AccountController :

tensorflow下基于DNN实现实时分辨人脸微表情

不想你离开。 提交于 2020-07-27 08:41:26
参加学校的国创比赛的时候,我们小组的项目有一部分内容需要用到利用摄像头实现实时检测人脸的表情,因为最近都在看深度学习方面的相关知识,所以就自己动手实现了一下这个小Demo.参考网上的资料,发现大部分是使用CNN和DNN进行学习,经过本人亲自实践,我发现DNN的识别效果更佳~(楼主接下来就要讲的是基于DNN的模型,要是你对CNN的模型感兴趣,欢迎私戳楼主~) 所需环境:opencv + tensorflow1.8 + pycharm 代码以及模型的下载地址: https://github.com/tgpcai/Microexpression_recognition (如果喜欢请帮楼主点个start~) 最后实现的结果图: 目录 1.数据集简介 2.代码实现 (0)实现Demo的代码组织结构 (1)数据预处理 (2)训练模型 (3)调用模型实现人脸微表情识别 3.个人遇坑以及总结 1.数据集简介 人脸表情识别程序所采用的数据集为FER2013(facial-expression-recognition 2013)以及中科院的微表情数据,该数据集需要在kaggle网 站上进行下载,下载地址为: https://www.kaggle.com/c/challenges-in-representation-learning-facial-expression-recognition

Linux cma内存的使用

…衆ロ難τιáo~ 提交于 2020-07-26 23:33:00
CMA的全称叫做contiguous memory allocator,它是为了便于进行连续物理内存申请的一块区域,一般我们把这块区域定义为reserved-memory。 早期的Linux内核中没有cma的实现,如果驱动想要申请一个大块的物理连续内存,那么只能通过预留专属内存的形式,然后在驱动中使用ioremap来映射后作为私有内存使用。这样带来的后果就是有一部分内存将被预留出来不能作为系统中的通用内存来使用,比如camera、audio设备,它们在工作时是需要大块连续内存进行DMA操作的,而当这些设备不工作时,预留的内存也无法被其他模块所使用。 如何使得操作系统能够充分的利用物理内存呢?比如当一些设备需要使用大块连续物理内存时,可以比较容易的申请到,而当这些设备不工作时,这些内存又可以当做普通的内存那样被系统其他模块申请使用。引入CMA就是为了解决这个问题的,定义为cma区域的内存,也是由操作系统来管理的,当一个驱动模块想要申请大块连续内存时,通过内存管理子系统把CMA区域的内存进行迁移,空出连续内存给驱动使用;而当驱动模块释放这块连续内存后,它又被归还给操作系统管理,可以给其他申请者分配使用。 我前面的文章有介绍过《对于MIGRATE_MOVABLE的理解》,其中有讲到,buddy system在对内存进行管理时,不同size的内存块是分类管理的,其中有一类就是

AI医生诊断肺炎

▼魔方 西西 提交于 2020-07-25 02:19:15
作者|Andre Ye 编译|Flin 来源|towardsdatascience 使用CNN识别胸部X光片中的肺炎 人工智能在现实世界中有多种应用,其中非常重要的一项是在医疗行业中的应用。在本文中,我将提供卷积神经网络如何从胸部X射线诊断肺炎的代码和过程。 导入库 让我们加载一些重要的库: from keras.preprocessing.image import ImageDataGenerator, load_img from keras.models import Sequential from keras.layers import Conv2D, MaxPooling2D from keras.layers import Activation, Dropout, Flatten, Dense from keras import backend as K import os import numpy as np import pandas as np import matplotlib.pyplot as plt %matplotlib inline 了解数据 让我们了解数据。查看两个样本图像,一个处于正常状态,另一个处于肺炎状态。 import matplotlib.pyplot as plt img_name = 'NORMAL2-IM-0588-0001.jpeg'

custom validation error for two fields unique together django

[亡魂溺海] 提交于 2020-07-23 06:15:18
问题 i want to write my own validation error , for two fields unique together class MyModel(models.Model): name = models.CharField(max_length=20) second_field = models.CharField(max_length=10) #others class Meta: unique_together = ('name','second_field') and my forms.py class MyModelForm(forms.ModelForm): class Meta: model = MyModel fields = '__all__' error_messages= {#how to write my own validation error whenever `name and second_field` are unique together }: how to write my own validation error

custom validation error for two fields unique together django

左心房为你撑大大i 提交于 2020-07-23 06:14:20
问题 i want to write my own validation error , for two fields unique together class MyModel(models.Model): name = models.CharField(max_length=20) second_field = models.CharField(max_length=10) #others class Meta: unique_together = ('name','second_field') and my forms.py class MyModelForm(forms.ModelForm): class Meta: model = MyModel fields = '__all__' error_messages= {#how to write my own validation error whenever `name and second_field` are unique together }: how to write my own validation error