param

验证码识别

。_饼干妹妹 提交于 2019-12-03 00:26:00
验证码识别 1、前言 工作关系,在做自动化测试的时候,不可避免要碰到验证码,如果中途暂停手动输入的话,未免太繁琐,所以我在这里总结了自己搜索到的资料,结合实践经验,与各位分享。 2、解决的问题 本次我解决的问题主要是比较传统的图片验证码识别,类似下图这样的: 滑块验证和顺序点击图片那种逆天的验证码本次不涉及。 3、方法 我这里有java和python的不同实现,背后的思路大体一致: ① 图片二值化 ② 去噪点 ③ 识别 下面通过代码给大家讲解,相关代码已上传至github,可在文末查看。 4、java实现 首先列出工程目录: Entrance是程序入口,DT是一些配置信息,PictureOcr是识别用到的一些方法。 ① 去噪点 1 /** 2 * 图片去噪点 3 * @param picPath 4 * @return 5 * @throws IOException 6 */ 7 public static void removeBackground(String picPath) throws IOException { 8 BufferedImage bufferedImage = ImageIO.read(new File(picPath)); 9 int width = bufferedImage.getWidth(); 10 int height =

layui 表单增强插件

匿名 (未验证) 提交于 2019-12-03 00:22:01
转自:http://fly.layui.com/jie/23002/ /** * Created by Doyle on 2018年3月6日17点09分 * layui表单增加插件 * * * */ layui.define(['jquery', 'form'], function(exports) { var $ = layui.jquery, form = layui.form, formObj, hint = layui.hint(); var EnhanceForm = function(options) { this.options = options; formObj = $(options.elem); }; /** * 设置select选中值 * @ param {String} name 对象名称,指“name” * @ param {String} val ֵ * @ param {Boolean} isOnSelect 是否触发选中事件 * @ returns {} */ EnhanceForm.prototype.setSelectVal = function(name, val, isOnSelect) { if (name === undefined) { throw "name no undefined"; } formObj.find('select

dataTables -- ajax 分页基本使用

匿名 (未验证) 提交于 2019-12-03 00:22:01
dataTables是一款很强大很好用的前端table 分页插件,地址: dataTables 如何使用大家可以去官网看看教程,此处总结下dataTables结合ajax需要注意的点 $(document).ready( function () { $( '#example' ).DataTable( { "ajax" : "数据url" , "columns" : [ { "data" : "name" }, { "data" : "position" }, { "data" : "office" }, { "data" : "extn" }, { "data" : "start_date" }, { "data" : "salary" } ] } ); } ); { "data" : [ { "id" : "1" , "name" : "Tiger Nixon" , "position" : "System Architect" , "salary" : "$320,800" , "start_date" : "2011/04/25" , "office" : "Edinburgh" , "extn" : "5421" }, { "id" : "2" , "name" : "Garrett Winters" , "position" : "Accountant" ,

基础篇 | 15 C++ 科学计算 - OpenBLAS的安装与使用

匿名 (未验证) 提交于 2019-12-03 00:22:01
类似于Anaconda里面的numpy,C++里面也有类似的矩阵运算库,称之为BLAS(Basic Linear Algebra Subprograms):基础线性代数子程序库。 支持的数据类型有: 单精度浮点数(float) 双精度浮点数(double) 单精度负数 双精度负数 在机器学习里面一般我们只用float类型,很少使用double,考虑到性能,我们认为float的精度已经够了,而且速度快。 还有一个更高级的叫LAPACK,现在我们常用的BLAS其实就是LAPACK里面的一部分。 BLAS支持对子程序的封装,其实就是子函数了,它的子程序分类: Level1: 标量操作、向量操作、向量-向量操作 Level2:矩阵-向量操作 Level3: 矩阵-矩阵操作 BLAS:标准实现(Fortran) CBLAS:C的BLAS标准实现 Atlas:一种优化实现 GotoBLAS:多线程性能良好的优化实现(已停止更新) OpenBLAS:目前性能最好的开源实现,基于GotoBLAS MKL:Intel实现,在Intel处理器上性能最佳 各种BLAS实现的优劣对比 市面上的BLAS实现非常多,最早是用Fortran。 CBLAS是C的BLAS标准实现,但是这种实现有个缺点,速度非常慢。 Atlas:比C要好,但不够好。比如腾讯QQ空间有一个功能,就是标脸框那个程序,怎么做呢

JPA多条件组合查询(CriteriaQuery)

匿名 (未验证) 提交于 2019-12-03 00:22:01
JPA多条件组合查询(CriteriaQuery) /**查询Demo结果集 * @return */ public List<Demo> findDemoList(ParamVO param,Pageable pageable,List<Integer> userIds){ List<Demo> result = demoRepository.findAll(new Specification<Demo>(){ @Override public Predicate toPredicate(Root<Demo> root, CriteriaQuery<?> query, CriteriaBuilder cb) { List<Predicate> predicates = new ArrayList<Predicate>(); // is null predicates.add(root.get("fId").isNull()); // = if(!StringUtils.isNoneBlank(param.getPoName())){ predicates.add(cb.equal(root.get("poName"), "%"+param.getPoName()+"%")); } // like if(!StringUtils.isNoneBlank(param

微信小程序重启获取不到业务参数(参数丢失)的解决方案

匿名 (未验证) 提交于 2019-12-03 00:22:01
场景A: 门店1和门店2要展示不同的内容,那么就要在小程序入口的URL后面拼接一个参数,格式/page/index/param=1 用param参数来区分不同的门店, 当然还有好多场景都能拼参数进来,来实现类似的需求。那么问题来了, 小程序被用户手动关闭或者删除之后,用户再次进来的时候获取不到URL后面拼接的参数,那么我们可以使用微信提供的缓存机制 wx.setStorageSync()同步设置缓存 wx.getStorageSync()同步获取缓存 具体用法是:在用户第一次进入小程序的时候用 wx.setStorageSync()保存param参数,第二次进来的时候就用 wx.getStorageSync()获取参数就行了 最好是把param置成全局的 就是放在app.js文件里面 以供后面接口调用 文章来源: 微信小程序重启获取不到业务参数(参数丢失)的解决方案

android手机拍照6.0,7.0问题

匿名 (未验证) 提交于 2019-12-03 00:21:02
因前期项目运行没有再7.0以上手机运行,最近一个同事用的华为8.0手机运行项目进行拍照,结果闪退,问题就来了,整的是焦头烂额啊,先是用的FilePrivider,网上好多博客都进行了讲解,我在使用过程中FileProvider.getUriForFile发现返回为空,结果,又忙乎了,最后忘了啥原因了改好了,但是我在下面代码中因为要得到图片具体路径,上传到阿里云服务器上,就是拿不到路径,空指针,办法试尽了,也是自己能力不够,就是不行;没办法,项目着急更新一版,就在网上找了找,看到了TakePhoto,感觉能实现我的问题,就用了这个第三方。 导入这个库的时候提示找不到,最后找了一个老版本就能导进去了,我用的这个版本 compile 'com.jph.takephoto:takephoto_library:3.0.0' 还有导入冲突问题,在文章末尾有解决办法 TakePhoto有两种方式:1是继承它的activity或者fragment;2是实现接口,重写方法,我是用的第二张 1.首先实现接口,重写三个方法 public class RealNameActivityStep1 extends Activity implements View . OnClickListener , TakePhoto . TakeResultListener , InvokeListener {

从一个服务器向另一个服务器上传文件所遇到的问题(两个服务器都是云服务器)

匿名 (未验证) 提交于 2019-12-03 00:19:01
首先两个服务器都要安装ftp服务(安装教程可以自行百度)。安装配置文件有时很重要如果不认真连不上后面的步骤都不行。 要理清ftp的两种模式一种是主动模式还有就是被动模式。 所谓 主动模式 :就是指客户端连接服务端的时候,告诉服务端,我们之间要进行通讯,数据交换。我申请开辟一个端口,专门用于我们之间的通信,也即C(client)端主动向S(Server)端发起的请求。 被动模式 就是指,一开始服务一起来,S端变开启一个端口告诉C端,我们之间的通讯就在这个端口下。也就C端被动的接受服务端。 主动模式:服务器向客户端敲门,然后客户端开门 被动模式:客户端向服务器敲门,然后服务器开门 * 上传文件(主动模式)--默认的模式 * @param ip * @param port * @param userName * @param password * @param sourceStream * @param ftpDir * @param ftpFileName * @param charset * @throws FrontEndException */ public final static void upload(String ip, int port, String userName, String password, InputStream sourceStream, String

关于重定向RedirectAttributes的用法

匿名 (未验证) 提交于 2019-12-03 00:19:01
原文地址 https://zhuanlan.zhihu.com/p/21353217?refer=pengsong-java RedirectAttributes 是Spring mvc 3.1版本之出来的一个功能,专门用于 重定向之后还能带参数跳转的的工具类 redirectAttributes.addAttributie("param",value); 这种方法相当于在重定向链接地址追加传递的参数 ,例如: redirectAttributes .addAttributie ( "param1" ,value1) ; redirectAttributes .addAttributie ( "param2" ,value2) ; return: "redirect:/path/list" 以上重定向的方法等同于 return:"redirect:/path/list?param1=value1&param2=value2 " ,注意这种方法 直接将传递的参数暴露在链接地址上 ,非常的不安全,没有任何改进还是不要用了。 redirectAttributes.addFlashAttributie("param",value); 这种方法是 隐藏了参数 ,链接地址上不直接暴露, 但是能且只能在重定向的 “页面” 获取param参数值 。其原理就是 放到session中

react-native底部导航栏实现

匿名 (未验证) 提交于 2019-12-03 00:17:01
react-native-tab-navigator实现:     bottom.js代码如下:      import React, {Component} from 'react'; import {StyleSheet, View,Text,Image} from 'react-native'; import TabNavigator from 'react-native-tab-navigator' export default class Bottom extends Component { /*初始化state*/ constructor(props){ super(); this.state={ selectedTab:'tb_msg', } } /** * 公共组件方法 * @param selectedTab 选中的tab * @param title * @param icon * @param selectedIcon * @param imageStyle 选中时渲染图标的颜色 * @param mark 角标 * @param viewContent 页面内容 * @returns {*} */ tabNavigatorItems(selectedTab,title,icon,selectedIcon,imageStyle,mark,viewContent