- 自然语言处理_tf-idf
_feivirus_
算法机器学习和数学自然语言处理tf-idf逆文档频率词频
importpandasaspdimportmath1.数据预处理docA="Thecatsatonmyface"docB="Thedogsatonmybed"wordsA=docA.split("")wordsB=docB.split("")wordsSet=set(wordsA).union(set(wordsB))print(wordsSet){'on','my','face','sat',
- matlab设置图像窗口大小,matlab 图形窗口大小的设置
weixin_39534002
matlab设置图像窗口大小
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%常用选项和小技巧%%%%%%画等值线[cchh]=contour(peaks(30),'LINESPEC','b-')clabel(cc,hh,'manual')%写文本text(5,10,'\bfmath\slmath\itmath\rmmath\alpha','color',[0.10.10.9],'fonts
- FRotation FVector 相互转换
我真的不知道该起什么名字了
FVectortoFRotatorFRotatorFVector::Rotation()const{returnToOrientationRotator();}FRotatortoFVectorCORE_APIFVectorFRotator::Vector()const{floatCP,SP,CY,SY;FMath::SinCos(&SP,&CP,FMath::DegreesToRadians(P
- 洛谷水题 记录
木木ainiks
算法c++数据结构
P1093[NOIP2007普及组]奖学金sort排序即可注意cmp的写法#include#includeusingnamespacestd;structnode{intid;intchinese;intmath;intenglish;intcount;}a[305];intcmp(node&a,node&b){if(a.count!=b.count){returna.count>b.count;
- Java:数学相关类
昭关969
java开发语言
Math类Math类是数学工具类,用于数学计算,构造方法是私有的,方法都是静态的,因此直接类名调用staticintabs(inta)求参数绝对值staticdoubleceil(doublea)向上取整staticdoublefloor(doublea)向下取整staticlonground(doublea)四舍五入staticintmax(inta,intb)求较大值staticintmin(
- JS 获取数组对象中某个属性的最大值或最小值
qq_36437172
JSMath.maxMath.minsortapply
最近的开发中经常会遇到前端自己生成唯一id,然后在数组中增加删除插入对象,这样一来就要的要当前使用的id的最大值。总结一下,有两种比较简便的方法可以做到:1.将属性值通过map生成一个数组,再使用Math.max取最大值2.使用排序sort,先对数组的项排序,再取排序后的对应的项的值数组对象如下,求id的最大值和最小值list=[{id:1,name:'jack'}, {id:2,name:
- Python【math数学函数】
Alan_Lowe
#Pythonpython
Python【math数学函数】文章目录Python【math数学函数】数论与表示函数1.ceil()和floor()2.comb()3.copysign()4.fabs()5.factorial()6.gcd()7.lcm()幂函数与对数函数1.exp()和math.e和pow()2.log()和log2()和log10()3.sqrt(x)三角函数1.asin、acos()、atan()2.s
- Python数学函数
fuying1234
Python
函数返回值(描述)abs(x)返回数字的绝对值,如abs(-10)返回10ceil(x)返回数字的上入整数,如math.ceil(4.1)返回5cmp(x,y)如果xy返回1exp(x)返回e的x次幂(ex),如math.exp(1)返回2.718281828459045fabs(x)返回数字的绝对值,如math.fabs(-10)返回10.0floor(x)返回数字的下舍整数,如math.flo
- 品读 Java 经典巨著《Effective Java》90条编程法则,第4条:通过私有构造器强化不可实例化的能力
@赵士杰
品读《EffectiveJava》java开发语言EffectiveJava
文章目录【前言】欢迎订阅【品读《EffectiveJava》】系列专栏java.lang.Math类的设计经验总结【前言】欢迎订阅【品读《EffectiveJava》】系列专栏《EffectiveJava》是Java开发领域的经典著作,作者JoshuaBloch以丰富的经验和深入的知识,全面探讨了Java编程中的最佳实践。这本书被公认为Java开发者的必读经典,对提升编码技巧和代码质量具有重要意义
- 静态库的制作
姜太公钓鲸233
数据结构
静态库是一组对象文件的集合,它们在编译时被链接到可执行文件中。这意味着,静态库中的代码会被复制到每个使用它的程序中,因此静态库不需要在程序运行时被单独加载。制作静态库可以帮助你将常用的代码模块化、重用,简化开发过程。以下是创建静态库的详细步骤:步骤1:编写源代码首先,创建几个C/C++源文件,它们将组成静态库。例如,创建两个c文件math_functions.c和string_functions.
- MathType2024官方版数学公式编辑器功能全面介绍
CoCo玛奇朵
MathType编辑器MathType下载MathType最新版下载编辑器学习javascript前端ffmpegmicrosoft
在数字化学习和科研的浪潮中,数学公式的编辑与展示成为了不可或缺的一部分。MathType,作为一款专业的数学公式编辑器,凭借其强大的功能和便捷的操作,为科研人员、教师、学生等广大用户提供了极大的便利。下面,我们将对MathType进行详细的介绍。MathType绿色永久版安装包下载,来自网盘分享链接:抓紧保存!以防失效!https://pan.quark.cn/s/916e68e44d3aMath
- 判断string是否是BigDecimal且大于0
Java知识技术分享
java技术java开发语言后端
importjava.math.BigDecimal;publicclassBigDecimalCheckUtils{/***判断string是否是BigDecimal且大于0**@paramstr字符串*@return结果*/publicstaticbooleanisPositiveBigDecimal(Stringstr){try{BigDecimalbigDecimal=newBigDeci
- MathType纯新手安装笔记自述
一缕青烟~
笔记word
一、找到自己E盘中下载的Mathtype7.4安装包及补丁二、安装MathType-win-zh三、管理员身份运行MathType7PJ四、打开WORD——》点击选项——》点击信任中心——》点击信任中心设置——》点击受信任位置五、双击右侧用户位置的第三行,弹出窗口,复制路径。六、按键“win+e”七、在快速访问栏粘贴复制的路径(我的是C:\Users\RS\AppData\Roaming\Micr
- JS笔记
陈两全
笔记
9.111.Math对象Math对象属于Javascript内置对象,无需实例化(不需要添加new),可以直接使用。只有一个Math.PI的属性1.1.Math对象的方法Math.round(number)//四舍五入整数Math.ceil(number)//向上取整Math.floor(number)//向下取整Math.random()//随机返回0.0~1.0之间的数Math.max(x,y
- .Net/C#读取CAD软件dwg、dxf数据表实体
WineMonk
.NET.netc#
.Net/C#读取CAD软件dwg、dxf数据表实体使用ACadSharp库读取CAD软件dwg数据表实体文末附ACadSharp.dll库文件及源码CadDocReaderusingACadSharp;usingACadSharp.Entities;usingACadSharp.IO;usingCSMath;usingSystem.Text.RegularExpressions;namespac
- C语言从头学58——学习头文件math.h(一)
LaoWaiHang
C语言从头学c语言
math.h头文件提供了很多数学计算方面的函数。一、使用数学函数前需要了解的两个类型、两个宏1、float_t:当前系统能够有效执行float运算的类型,宽度不少于float。2、double_t:当前系统能够有效执行double运算的类型,宽度不少于double。(使用系统的float_t、double_t的宽度见例子)3、INFINITY:该宏表示正无穷(表示计算出来的结果太大无法显示)4、N
- 常见数学应用计算的java实现
星月梦瑾
codejava算法数据结构
1、判断是否素数publicstaticbooleanisPrime(intnum){if(num1;if(num%6!=1&&num%6!=5)returnfalse;for(inti=5;i<=Math.sqrt(num);i+=6){if(num%i==0||num%(i+2)==0){returnfalse;}}returntrue;}
- 柯氏音(听诊)法 测血压
huangzj121
柯氏音听诊法血压计算法信号处理
1.柯氏音测血压2.Korotkoffsounds3.结果分析更多详情参阅:http://www.math86.com/index.php?_m=mod_product&_a=view&p_id=144
- 收集的18行画爱心代码
2301_76183299
python开发语言
importmathimportturtledefdrawx(k):return15*math.sin(k)**3defdrawy(k):return12*math.cos(k)-5*math.cos(2*k)-2*math.cos(3*k)-math.cos(4*k)turtle.setup(1.0,1.0)turtle.title('爱心射线')turtle.bgcolor('black')t
- CTF 竞赛密码学方向学习路径规划
David Max
CTF学习笔记密码学ctf信息安全
目录计算机科学基础计算机科学概念的引入、兴趣的引导开发环境的配置与常用工具的安装WattToolkit(Steam++)、机场代理Scoop(Windows用户可选)常用Python库SageMathLinux小工具yafuOpenSSLMarkdown编程基础Python其他编程语言、算法与数据结构(可选)数学基础离散数学与抽象代数复杂性分析密码学的正式学习兴趣的培养做题小技巧系统学习需要了解并
- js实现动态生成不固定数量的气泡
小丁冲鸭!
javascript前端开发语言
样式:核心代码:1、添加气泡的方法addCircle(){letheight=645;letwidth=312;letminSize=38;letmaxSize=78;letnewCircle={x:Math.random()*width,//随机位置,留出边界y:Math.random()*height,size:(minSize+Math.random()*(maxSize-minSize+1
- 2019-12-18
西章momo
fromdatetimeimporttimedeltafromdatetimeimportdatetimeimportmathdefnormalize_shipment(cnt_list,date_list):arrive_table={}foriinrange(len(cnt_list)):cnt=cnt_list[i]date=date_list[i]month_table=arrive_ta
- 斐波纳契数列(f(n)=f(n-1)+f(n-2))问题
剑海风云
Algorithm算法数列
packageorg.nxt.algorithm.series;importjava.math.BigInteger;/***fibonacciseries*@authornanxiaotao**/publicclassFibonacciSeries{privatestaticBigInteger[][]matrix(BigInteger[][]arrLeft,BigInteger[][]arrR
- 寻找身高相近的小朋友
爱棋笑谦
2024年9月华为OD刷题集算法java华为od面试
题目描述:小明今年升学到小学一年级,来到新班级后发现其他小朋友们身高参差不齐,然后就想基于各小朋友和自己的身高差对他们进行排序,请帮他实现排序。输入描述:第一行为正整数H和N,0frinedHeights=newArrayList();for(inti=0;i{intdifferent1=Math.abs(h1-mingHeight);intdifferert2=Math.abs(h2-mingH
- 开源IDC资产管理--racktables(一、部署)
Ping Me
IDC系统racktablesIDC系统
部署racktables安装配置lamp环境yum-yinstallhttpdphpmysqlmysql-serverphp-mysql安装apache扩展和php扩展,使其更好支持其他的软件yuminstallhttpd-manualmod_sslmod_perlmod_auth_mysql-yyuminstallphp-gdphp-snmpphp-bcmath-y下载安装racktables下
- 蒙特卡罗方法——布丰投针实验近似计算圆周率python代码实现
潮汐退涨月冷风霜
python开发语言蒙特卡罗
布丰实验数学原理python代码importrandomasrdimportnumpyasnpimportmathimportmatplotlib.pyplotaspltimportmatplotlibmatplotlib.rcParams['font.family']='SimHei'#或者'MicrosoftYaHei'matplotlib.rcParams['axes.unicode_min
- 因MathType导致word复制粘贴失败,显示:运行时错误‘53’
小白一枚~~~
word
问题:运行时错误‘53’:文件未找到:MathPage.WLL解决方法:打开MathType所在文件夹右击MathType图标->点击“打开文件所在位置”->找到MathPage.WLL文件。然后,把这个文件复制到该目录下:C:\ProgramFiles\MicrosoftOffice\root\Office16该解决方法参考:https://blog.csdn.net/Seeyouer/arti
- CSS具有哪些特点呢?
weixin_54503231
css前端
CSS是CascadingStyleSheets(层叠样式表)的缩写,它是一种用来描述HTML或XML(包括如SVG、MathML等衍生技术)文档样式的计算机语言。CSS的主要目的是为网页提供样式设计,包括颜色、字体、布局等,通过CSS,可以控制网页元素的外观和排版,使得网页更加美观和易于阅读。CSS的特点简单易学:CSS语言短小精悍,语法简单易学,使用起来很方便,可以快速地修改样式。内容与样式分
- 网课不能停,这两款录课软件帮助你轻松制作课程
姑苏双璧
过去的几个月,在疫情的影响下,在家上网课成为学生和老师们的日常,小时候写到的“不用去学校也能上课”终于被实现了。这其中自然是有欢喜有忧愁,方便是有的,但这种新型授课方式也给老师们带来了不小的困难,怎样为学生们录制一堂堪比现场教学的课程就是其中一个重大难题。别急,这就为大家介绍两款简单好用的辅助软件,使用它们可以轻松录制授课内容,非常适合远程授课的老师使用。一、MathType点击获取mathtyp
- (十二)基础算法
小蛋编程
C++算法c++
文章目录数学函数math.h(cmath)头文件float.h头文件拆位拆位进阶奇偶判断质数判断电灯在c++中,会涉及到一些算法,例如递归、递推、动态规划(DP)、深搜(DFS)、广搜(BFS)……今天我们要说的是一些简单的算法数学函数math.h(cmath)头文件选择任意一个头文件#include//仅C++可用#include//C/C++可用里面有很多的数学函数pow(x,y):返回xyx
- redis学习笔记——不仅仅是存取数据
Everyday都不同
returnSourceexpire/delincr/lpush数据库分区redis
最近项目中用到比较多redis,感觉之前对它一直局限于get/set数据的层面。其实作为一个强大的NoSql数据库产品,如果好好利用它,会带来很多意想不到的效果。(因为我搞java,所以就从jedis的角度来补充一点东西吧。PS:不一定全,只是个人理解,不喜勿喷)
1、关于JedisPool.returnSource(Jedis jeids)
这个方法是从red
- SQL性能优化-持续更新中。。。。。。
atongyeye
oraclesql
1 通过ROWID访问表--索引
你可以采用基于ROWID的访问方式情况,提高访问表的效率, , ROWID包含了表中记录的物理位置信息..ORACLE采用索引(INDEX)实现了数据和存放数据的物理位置(ROWID)之间的联系. 通常索引提供了快速访问ROWID的方法,因此那些基于索引列的查询就可以得到性能上的提高.
2 共享SQL语句--相同的sql放入缓存
3 选择最有效率的表
- [JAVA语言]JAVA虚拟机对底层硬件的操控还不完善
comsci
JAVA虚拟机
如果我们用汇编语言编写一个直接读写CPU寄存器的代码段,然后利用这个代码段去控制被操作系统屏蔽的硬件资源,这对于JVM虚拟机显然是不合法的,对操作系统来讲,这样也是不合法的,但是如果是一个工程项目的确需要这样做,合同已经签了,我们又不能够这样做,怎么办呢? 那么一个精通汇编语言的那种X客,是否在这个时候就会发生某种至关重要的作用呢?
&n
- lvs- real
男人50
LVS
#!/bin/bash
#
# Script to start LVS DR real server.
# description: LVS DR real server
#
#. /etc/rc.d/init.d/functions
VIP=10.10.6.252
host='/bin/hostname'
case "$1" in
sta
- 生成公钥和私钥
oloz
DSA安全加密
package com.msserver.core.util;
import java.security.KeyPair;
import java.security.PrivateKey;
import java.security.PublicKey;
import java.security.SecureRandom;
public class SecurityUtil {
- UIView 中加入的cocos2d,背景透明
374016526
cocos2dglClearColor
要点是首先pixelFormat:kEAGLColorFormatRGBA8,必须有alpha层才能透明。然后view设置为透明glView.opaque = NO;[director setOpenGLView:glView];[self.viewController.view setBackgroundColor:[UIColor clearColor]];[self.viewControll
- mysql常用命令
香水浓
mysql
连接数据库
mysql -u troy -ptroy
备份表
mysqldump -u troy -ptroy mm_database mm_user_tbl > user.sql
恢复表(与恢复数据库命令相同)
mysql -u troy -ptroy mm_database < user.sql
备份数据库
mysqldump -u troy -ptroy
- 我的架构经验系列文章 - 后端架构 - 系统层面
agevs
JavaScriptjquerycsshtml5
系统层面:
高可用性
所谓高可用性也就是通过避免单独故障加上快速故障转移实现一旦某台物理服务器出现故障能实现故障快速恢复。一般来说,可以采用两种方式,如果可以做业务可以做负载均衡则通过负载均衡实现集群,然后针对每一台服务器进行监控,一旦发生故障则从集群中移除;如果业务只能有单点入口那么可以通过实现Standby机加上虚拟IP机制,实现Active机在出现故障之后虚拟IP转移到Standby的快速
- 利用ant进行远程tomcat部署
aijuans
tomcat
在javaEE项目中,需要将工程部署到远程服务器上,如果部署的频率比较高,手动部署的方式就比较麻烦,可以利用Ant工具实现快捷的部署。这篇博文详细介绍了ant配置的步骤(http://www.cnblogs.com/GloriousOnion/archive/2012/12/18/2822817.html),但是在tomcat7以上不适用,需要修改配置,具体如下:
1.配置tomcat的用户角色
- 获取复利总收入
baalwolf
获取
public static void main(String args[]){
int money=200;
int year=1;
double rate=0.1;
&
- eclipse.ini解释
BigBird2012
eclipse
大多数java开发者使用的都是eclipse,今天感兴趣去eclipse官网搜了一下eclipse.ini的配置,供大家参考,我会把关键的部分给大家用中文解释一下。还是推荐有问题不会直接搜谷歌,看官方文档,这样我们会知道问题的真面目是什么,对问题也有一个全面清晰的认识。
Overview
1、Eclipse.ini的作用
Eclipse startup is controlled by th
- AngularJS实现分页功能
bijian1013
JavaScriptAngularJS分页
对于大多数web应用来说显示项目列表是一种很常见的任务。通常情况下,我们的数据会比较多,无法很好地显示在单个页面中。在这种情况下,我们需要把数据以页的方式来展示,同时带有转到上一页和下一页的功能。既然在整个应用中这是一种很常见的需求,那么把这一功能抽象成一个通用的、可复用的分页(Paginator)服务是很有意义的。
&nbs
- [Maven学习笔记三]Maven archetype
bit1129
ArcheType
archetype的英文意思是原型,Maven archetype表示创建Maven模块的模版,比如创建web项目,创建Spring项目等等.
mvn archetype提供了一种命令行交互式创建Maven项目或者模块的方式,
mvn archetype
1.在LearnMaven-ch03目录下,执行命令mvn archetype:gener
- 【Java命令三】jps
bit1129
Java命令
jps很简单,用于显示当前运行的Java进程,也可以连接到远程服务器去查看
[hadoop@hadoop bin]$ jps -help
usage: jps [-help]
jps [-q] [-mlvV] [<hostid>]
Definitions:
<hostid>: <hostname>[:
- ZABBIX2.2 2.4 等各版本之间的兼容性
ronin47
zabbix更新很快,从2009年到现在已经更新多个版本,为了使用更多zabbix的新特性,随之而来的便是升级版本,zabbix版本兼容性是必须优先考虑的一点 客户端AGENT兼容
zabbix1.x到zabbix2.x的所有agent都兼容zabbix server2.4:如果你升级zabbix server,客户端是可以不做任何改变,除非你想使用agent的一些新特性。 Zabbix代理(p
- unity 3d还是cocos2dx哪个适合游戏?
brotherlamp
unity自学unity教程unity视频unity资料unity
unity 3d还是cocos2dx哪个适合游戏?
问:unity 3d还是cocos2dx哪个适合游戏?
答:首先目前来看unity视频教程因为是3d引擎,目前对2d支持并不完善,unity 3d 目前做2d普遍两种思路,一种是正交相机,3d画面2d视角,另一种是通过一些插件,动态创建mesh来绘制图形单元目前用的较多的是2d toolkit,ex2d,smooth moves,sm2,
- 百度笔试题:一个已经排序好的很大的数组,现在给它划分成m段,每段长度不定,段长最长为k,然后段内打乱顺序,请设计一个算法对其进行重新排序
bylijinnan
java算法面试百度招聘
import java.util.Arrays;
/**
* 最早是在陈利人老师的微博看到这道题:
* #面试题#An array with n elements which is K most sorted,就是每个element的初始位置和它最终的排序后的位置的距离不超过常数K
* 设计一个排序算法。It should be faster than O(n*lgn)。
- 获取checkbox复选框的值
chiangfai
checkbox
<title>CheckBox</title>
<script type = "text/javascript">
doGetVal: function doGetVal()
{
//var fruitName = document.getElementById("apple").value;//根据
- MySQLdb用户指南
chenchao051
mysqldb
原网页被墙,放这里备用。 MySQLdb User's Guide
Contents
Introduction
Installation
_mysql
MySQL C API translation
MySQL C API function mapping
Some _mysql examples
MySQLdb
- HIVE 窗口及分析函数
daizj
hive窗口函数分析函数
窗口函数应用场景:
(1)用于分区排序
(2)动态Group By
(3)Top N
(4)累计计算
(5)层次查询
一、分析函数
用于等级、百分点、n分片等。
函数 说明
RANK() &nbs
- PHP ZipArchive 实现压缩解压Zip文件
dcj3sjt126com
PHPzip
PHP ZipArchive 是PHP自带的扩展类,可以轻松实现ZIP文件的压缩和解压,使用前首先要确保PHP ZIP 扩展已经开启,具体开启方法就不说了,不同的平台开启PHP扩增的方法网上都有,如有疑问欢迎交流。这里整理一下常用的示例供参考。
一、解压缩zip文件 01 02 03 04 05 06 07 08 09 10 11
- 精彩英语贺词
dcj3sjt126com
英语
I'm always here
我会一直在这里支持你
&nb
- 基于Java注解的Spring的IoC功能
e200702084
javaspringbeanIOCOffice
- java模拟post请求
geeksun
java
一般API接收客户端(比如网页、APP或其他应用服务)的请求,但在测试时需要模拟来自外界的请求,经探索,使用HttpComponentshttpClient可模拟Post提交请求。 此处用HttpComponents的httpclient来完成使命。
import org.apache.http.HttpEntity ;
import org.apache.http.HttpRespon
- Swift语法之 ---- ?和!区别
hongtoushizi
?swift!
转载自: http://blog.sina.com.cn/s/blog_71715bf80102ux3v.html
Swift语言使用var定义变量,但和别的语言不同,Swift里不会自动给变量赋初始值,也就是说变量不会有默认值,所以要求使用变量之前必须要对其初始化。如果在使用变量之前不进行初始化就会报错:
var stringValue : String
//
- centos7安装jdk1.7
jisonami
jdkcentos
安装JDK1.7
步骤1、解压tar包在当前目录
[root@localhost usr]#tar -xzvf jdk-7u75-linux-x64.tar.gz
步骤2:配置环境变量
在etc/profile文件下添加
export JAVA_HOME=/usr/java/jdk1.7.0_75
export CLASSPATH=/usr/java/jdk1.7.0_75/lib
- 数据源架构模式之数据映射器
home198979
PHP架构数据映射器datamapper
前面分别介绍了数据源架构模式之表数据入口、数据源架构模式之行和数据入口数据源架构模式之活动记录,相较于这三种数据源架构模式,数据映射器显得更加“高大上”。
一、概念
数据映射器(Data Mapper):在保持对象和数据库(以及映射器本身)彼此独立的情况下,在二者之间移动数据的一个映射器层。概念永远都是抽象的,简单的说,数据映射器就是一个负责将数据映射到对象的类数据。
&nb
- 在Python中使用MYSQL
pda158
mysqlpython
缘由 近期在折腾一个小东西须要抓取网上的页面。然后进行解析。将结果放到
数据库中。 了解到
Python在这方面有优势,便选用之。 由于我有台
server上面安装有
mysql,自然使用之。在进行数据库的这个操作过程中遇到了不少问题,这里
记录一下,大家共勉。
python中mysql的调用
百度之后能够通过MySQLdb进行数据库操作。
- 单例模式
hxl1988_0311
java单例设计模式单件
package com.sosop.designpattern.singleton;
/*
* 单件模式:保证一个类必须只有一个实例,并提供全局的访问点
*
* 所以单例模式必须有私有的构造器,没有私有构造器根本不用谈单件
*
* 必须考虑到并发情况下创建了多个实例对象
* */
/**
* 虽然有锁,但是只在第一次创建对象的时候加锁,并发时不会存在效率
- 27种迹象显示你应该辞掉程序员的工作
vipshichg
工作
1、你仍然在等待老板在2010年答应的要提拔你的暗示。 2、你的上级近10年没有开发过任何代码。 3、老板假装懂你说的这些技术,但实际上他完全不知道你在说什么。 4、你干完的项目6个月后才部署到现场服务器上。 5、时不时的,老板在检查你刚刚完成的工作时,要求按新想法重新开发。 6、而最终这个软件只有12个用户。 7、时间全浪费在办公室政治中,而不是用在开发好的软件上。 8、部署前5分钟才开始测试。