test

javax.imageio.IIOException: Can't read input file!完美解决

蹲街弑〆低调 提交于 2020-02-07 00:42:54
首先看问题: 具体代码的操作: Thumbnails.of(thumbnailInputStream).size(200,200) .watermark(Positions.BOTTOM_RIGHT, ImageIO.read(new File(basePath + "1001100new.jpg")),0.25f) .outputQuality(0.8f).toFile(dest); 这段代码主要是给图片添加水印, 而报错找不到路径值 解决方法: 将图片复制一份到test-classes中,编译时图片就会被放到/路径+target/test-classes路径下,问题解决。 原因: 图片文件一开始是放在main文件夹的resources文件夹中的,在文件编译时,会被放在classes文件夹中。。 然而测试代码是运行在test文件夹的,test文件夹中的resources文件夹中的内容会被放在test-classes文件夹。(貌似不会直接访问main文件夹下面的resources) 代码中动态获取路径时是基于当前运行的代码位置,所以获取的路径为路径+1001100new.jpg,但图片被编译后放在了路径/1001100new.jpg中,所以报错找不到文件 来源: CSDN 作者: 同猿人 链接: https://blog.csdn.net/qq_41053179/article

MySQL: 2.数据库相关操作

蓝咒 提交于 2020-02-07 00:05:17
文章目录 1.创建数据库 `CREATE DATABASE` 查看数据库的定义声明 查看支持的所有字符集 2.查看数据库 `SHOW DATABASES` 3.修改数据库 `ALTER DATABASE` 4.删除数据库 `DROP DATABASE` 5.选择数据库 USE 参考 1.创建数据库 CREATE DATABASE CREATE DATABASE [ IF NOT EXISTS ] < 数据库名 > [ [ DEFAULT ] CHARACTER SET < 字符集名 > ] [ [ DEFAULT ] COLLATE < 校对规则名 > ] ; [] 中的内容是可选的。语法说明如下: <数据库名> :创建数据库的名称。MySQL 的数据存储区将以目录方式表示 MySQL 数据库,因此数据库名称必须符合操作系统的文件夹命名规则,不能以数字开头,尽量要有实际意义。注意在 MySQL 中不区分大小写。 IF NOT EXISTS :在创建数据库之前进行判断,只有该数据库目前尚不存在时才能执行操作。此选项可以用来避免数据库已经存在而重复创建的错误。 [DEFAULT] CHARACTER SET :指定数据库的字符集。指定字符集的目的是为了避免在数据库中存储的数据出现乱码的情况。如果在创建数据库时不指定字符集,那么就使用系统的默认字符集。 [DEFAULT] COLLATE

决策树分类回归,ID3,c4.5,CART,及其Python代码

爷,独闯天下 提交于 2020-02-07 00:04:00
决策树分类回归,ID3,c4.5,CART,及其Python代码 决策树模型 内部节点表示一个特征或者属性,叶子结点表示一个类。决策树工作时,从根节点开始,对实例的每个特征进行测试,根据测试结果,将实例分配到其子节点中,这时的每一个子节点对应着特征的一个取值,如此递归的对实例进行测试并分配,直到达到叶节点,最后将实例分配到叶节点所对应的类中。 决策树具有一个重要的性质:互斥并且完备。每一个实例都被一条路径或一条规则所覆盖,而且只被一条路径或一条规则所覆盖,这里所谓覆盖是指实例的特征与路径上的特征一致或实例满足规则的条件。 决策树与条件概率分布 决策树将特种空间划分为互不相交的单元或区域,在每个单元上定义了一个类的概率分布,则构成了条件概率分布。分类时,将该节点的实例强行分到条件概率大的那一类中。 决策树学习就是由训练数据集估计条件概率模型的过程。一个数据集可能对应不想矛盾的多个决策树,通常选择使损失函数最小的决策树。通常现实中决策树学习算法采用启发式方法,近似求解这一优化问题,这样得到的决策树是次优的。 学习算法通常是递归的选择最优特征。首先开始构建根节点,然后将所有训练数据放到根节点中,选择一个最优特征,按照这一特征对数据集分割成子集,使得各个子集有一个在当前条件下最好的分类,如果这个子集已经能够被基本正确分类,则构建叶节点,如果还有子集不能正确分类,则对这些子集选择新的最优特征

机器学习(Machine Learning)- 吴恩达(Andrew Ng) 学习笔记(十)

久未见 提交于 2020-02-06 23:45:46
Advice for applying machine learning Decide what to try next Debugging a learning algorithm 调试学习算法 Suppose you have implemented regularized linear regression to predict housing prices. \[ J(\theta) = \frac{1}{2m} \left[ \sum_{i=1}^m(h_\theta(x^{(i)}) - y^{(i)})^2 + \lambda\sum_{j=1}^m\theta_j^2 \right] \] However, when you test your hypothesis on a new set of houses, you find that it makes unacceptably large errors in its predictions. What should you try next? 假如你已经完成了房价预测的正则化线性回归(也就是最小化代价函数 \(J\) 的值),然而在你测试新的样例时发现产生了巨大的误差。要想改进这个算法你该怎么办? 可选的方法: Get more training examples 用更多的训练样本(收集样本耗费太大精力)

JS异步顺序执行

拜拜、爱过 提交于 2020-02-06 23:35:36
因为工作的需要,我要在网页端编写一段脚本,把数据通过网页批量提交到系统中去。所以我就想到了Greasemonkey插件,于是就开始动手写,发现问题解决得很顺利。但是在对脚本进行总结和整理的时候,我习惯性地问了自己一个问题:能不能再简单点? 我的答案当然是“能”。 首先回顾我的数据批量提交的需求:我有一批用户数据要插入到系统中,但是因为系统库表结构不是行列式的,所以无法转化为sql语句插入。要插入的数据有接近200条,就是傻呵呵地手工录入到系统,估计也要1天的时间。作为程序员,当然不会干这么傻的事情,我一定要用程序来解决。这个编程的过程耗费了我1天的时间。相比手工录入,我额外收入是这篇博文,绝对的合算! 编程平台选择没花费时间,直接选定基于Greasemonkey写自己的脚本,浏览器当然是firefox了。脚本的工作过程: 在脚本中预先存放要插入的数据 模拟鼠标点击,打开页面中的输入窗口 将数据录入到输入窗口,并模拟点击“提交”按钮,将数据提交到系统中。 依次循环,直到所有数据都处理完毕。 这里的技术难点在于: 打开输入窗口,需要等待不定期的时间,视网络情况而定。 提交数据到后台,需要等待处理完毕之后才可以循环下一个数据。 如果我是菜鸟的话,我当然直接写一个类似这样的应用逻辑: for(var i = 0; i < dataArray.length; ++i) { 3:

Jarvis OJ-pwn test your memory

↘锁芯ラ 提交于 2020-02-06 22:10:22
pwn test your memory 运行一下 检查保护机制 只开启堆栈不可执行保护。 观察反汇编代码,main函数里随机产生一串字符串,然后调用mem_test进行检测。 mem_test函数,先打印一个地址(hint),再输入s,这里存在栈溢出漏洞,然后输入的s与随机产生的字符串比较。 点进hint,提示是cat flag命令,可以获得flag 程序中已有system函数。 利用栈溢出,有system函数和cat flag地址,调用system函数,令其参数为cat flag地址,构造利用脚本如下: from pwn import * r = remote ( "pwn2.jarvisoj.com" , 9876 ) sys_addr = 0x8048440 cat_flag = 0x80487e0 payload = 'a' * 0x13 + 'bbbb' + p32 ( sys_addr ) + p32 ( 0x08048677 ) + p32 ( cat_flag ) r . sendline ( payload ) r . interactive ( ) 来源: CSDN 作者: hanqdi_ 链接: https://blog.csdn.net/hanqdi_/article/details/104202071

构建docker镜像

∥☆過路亽.° 提交于 2020-02-06 21:56:34
一、基于容器生成镜像 基于容器生成镜像,实际上就是在某一个容器中添加一些功能,然后再生成新的镜像,例如下面这是linux上已经存在的镜像: [vagrant@localhost ~]$ docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE centos latest 470671670cac 10 days ago 237MB hello-world latest fce289e99eb9 13 months ago 1.84kB 现在,在centos镜像的容器中添加vim功能然后生成新的镜像: 1、运行centos镜像 需要使用交互式的运行命令: [vagrant@localhost ~]$ docker run -it centos [root@68804cc4767f /]# 2、安装vim 注意此时已经进入到容器内部,在容器内安装vim: [root@68804cc4767f /]# yum install -y vim 3、查看容器 这样完成vim的安装,退出该容器,并且查看刚刚创建的容器: [vagrant@localhost ~]$ docker container ls -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 68804cc4767f

python大战机器学习——支持向量机

纵然是瞬间 提交于 2020-02-06 18:20:10
  支持向量机(Support Vector Machine,SVM)的基本模型是定义在特征空间上间隔最大的线性分类器。它是一种二类分类模型,当采用了核技巧之后,支持向量机可以用于非线性分类。   1)线性可分支持向量机(也称硬间隔支持向量机):当训练数据线性可分是,通过硬间隔最大化,学得一个线性可分支持向量机   2)线性支持向量机(也称为软间隔支持向量机):当训练数据近似线性可分时,通过软间隔最大化,学得一个线性支持向量机   3)非线性支持向量机:当训练数据不可分时,通过使用核技巧以及软间隔最大化,学得一个非线性支持向量机。 1、线性可分支持向量机   输入:线性可分训练数据集T   输出:最大几何间隔的分离超平面和分类决策函数   算法步骤:     1)构造并且求解约束优化问题,求得最优解w*,b*     2)由此得到分离超平面,以及分类决策函数   若训练数据集T线性可分,最大间隔分离超平面存在且唯一   下面是线性可分支持向量机学习算法的对偶算法:   输入:线性可分训练数据集T   输出:最大集合间隔的分离超平面和分类决策函数   算法步骤:     1)构造并且求解约束最优化问题,求得最优解α*     2)计算w*,同时选择α*的一个正的分量αj*>0,计算b*     3)由此得到最大集合间隔分离超平面和分类决策函数 2、线性支持向量机  

groovy test

☆樱花仙子☆ 提交于 2020-02-06 18:07:43
在JVM中运行Groovy类有两种方式: 使用Groovy编译所有的*.groovy为java的*.class文件,把这些*.class文件放在java类路径中,通过java类加载器来加载这些类。 通过groovy类加载器在运行时直接加载*.groovy文件并生成对象。在这种方式下,没有生成任何*.class,但是生成了一个java.lang.Class对象的实例 下面介绍前一种使用Groovy的方法:编译成java字节码并且作为正常java应用程序运行在java虚拟机上,即预编译模式。 1、安装Groovy 下载Groovy binary: http://groovy.codehaus.org/Download 将其解压。然后设置环境变量GROOVY_HOME为解压后文件的目录。 然后在path环境变量中添加:%GROOVY_HOME%/bin。 测试是否安装成功,打开cmd输入groovy即可: 2、编写Groovy脚本文件SimpleScript.groovy: 此脚本实现的功能是输出Fibonacci数列: //println"Welcome to $language" //打印Fibonacci数列 current = 1 next = 1 10.times{ printcurrent + ' ' newCurrent= next next= next + current

python 基础知识

邮差的信 提交于 2020-02-06 17:04:36
目录 1. 基础语法 1.1 注释 1.2 转义字符 1.3 缩进 1.4 标识符 1.5 语言类型 1.6 运算符 1.6.1 算术运算符 1.6.2 位运算符 1.6.3 比较运算符 1.6.4 逻辑运算符 1.6.5 赋值运算符 1.6.6 成员运算符 1.6.7 身份运算符 1.6.8 运算优先级 1.7 内建函数 1.8 循环语句 码好python的每一篇文章. ![](https://raw.githubusercontent.com/singvis/upload_image/master/img/python01.png) 1. 基础语法 1.1 注释 在编写代码的时候,有些代码不需要执行或增加代码说明,那么就需要用到注释了。 被注释的文本或代码是不会被执行的。 注释可以使用如下三种方式: # 号 # 第一个注释,本行代码不会运行 print("hello world!") # 第二个注释 ''' 三个单引号 也叫块注释,支持换行。 ''' 第一行注释,本行代码不会运行 第二行注释,本行代码不会运行 第三行注释,本行代码不会运行 ''' print('hello world!') """ 三个双引号 也叫块注释,支持换行。 """ 第一行注释,本行代码不会运行 第二行注释,本行代码不会运行 第三行注释,本行代码不会运行 """ print('hello world!'