- 浏览: 168908 次
- 性别:
- 来自: 武汉
最新评论
文章列表
商品名组成为 品牌+型号(规格)+形容词(颜色)+商品简称+促销信息等等
将这些特殊信息可以分析为一个模型。即匹配算法模型
详细设计理念和模型及源代码见附件
自动化测试 系统设计
- 博客分类:
- 架构 DBUNIT
目的:为了测试规则引擎的众多(组合100个以上用例)规则计算的BUG
背景:每次增加一个计算规则或修改某个接口,都需要对某一个功能设计上百上千个用例做回归测试,
每次都需要耗费半个月来做这种事情,而且还是存在BUG。为此开发出此应用方便测试功能
技术: DBUNIT 缓存 SPRING STRUTS IBATIS JAVA
界面设计如附件
当用户点击开始测试时,上百个用例同时运行。生成对应的结果,利用DBUNIT对结果进行验证。
技术难点:数据准备,接口MOCK,结果准备
固定的输入得到固定的输出,这就是自动化测试的根本的原理
然而很多数据不是我们所能控制的,可能来自其 ...
List<Node> list =new ArrayList<Node>();
Collections.sort(kdAndKnList, new LofComparator());
class LofComparator implements Comparator<Node> {
public int compare(Node A, Node B) {
return A.getLof() - B.getLof() < 0 ? -1 : 1;
}
}
从小到大进行排序
求点到曲线的最短距离 垂直逼近算法
- 博客分类:
- java算法
y = ln(x) + Math.pow(x,0.000333) + Math.exp(x*x) + x *x
求 (1,2)到该曲线的最短距离。很简单就是 Math.pow((y - 2)*(y - 2) + (x-1)(x-1),0.5)
求最大值或求导无法求得此距离。或者是 (y-2)/(x-1) * y' = -1
这个时候就需要利用算法来求得此距离。
这里引入垂直逼近的概念
思想是假定一个切点与此点垂直,那么逐渐的向真的切点靠近,知道与真实切点的误差在一个很小的误差范围内
这个时候得到的此点即为 切点,求出距离很容易
具体步骤是:
假定当前点x ...
牛顿迭代--高斯方程求解
- 博客分类:
- java算法
y = alnx + x + x*x + x *x *x + Math.pow(x,0.021222) + Math.exp(x) = 0
这个方程无法用常规的求导等方法求出,也没有固定的求解公式。
这个时候就需要算法来 求解、利用牛顿迭代能很好的求解。
具体公式可以百度下
x n+1 = x n + f(x n)/f(x n)'
依次迭代下去,知道 |x n+1 - x n| < 0.000001 (精确度值) 这个时候得到的X n+1 即为解
当然这里涉及到一个初始的x n 在此我们定义为 x 0
x 0的选取,理论上来讲应该是个随意的值。但是由于曲线的情 ...
在当今电子商务越来越热的情况下,价格战与利润是一个关键点,价格越低就会亏本,越高买的人越少,赚的钱不一定越高
价格与销量的关系逐渐的成为电子商务网站的要点,
利用这个关系可以对价格作出很好的改价,在价格的变动中必然有一点使得利润最大化。这一点就是电子商务追求的黄金点
如下是具体做法:
1、确定模型函数
2、拟合曲线,采用最小二乘法,R2平滑算法,离群点算法 等算法对各个点进行去噪拟合
3、确定数据的时间段,随着时间的流逝,第三方因素对价格销量影响很大。特别是一个正在成长的电子商务公司
,物价逐渐在上涨,用户量逐渐上升,导致价格上涨,销量也会上涨,所以截取一小段来减少这些因素的影 ...
首先是执行算法的CALL
/**
* <dl>
* <dt><b>类功能概要</b></dt>
* <dd></dd>
* </dl>
* Version Date Company Developer Revise
* ------- ---------- --------- --------- ------
* pisv2.3.2 2012-02-24 yihaodian xiangqi cre ...
1、规则文件分两种,一种是写好了的DRL文件。另一种是通过模板动态生成DRL。
首先介绍下写好了的DRL文件
再次介绍下动态生成规则文件
准备模板文件t
上述模板里的参数是通过DataProvider 形成的数组依次给予赋值的,只需要提前准备这些参数即可
2、根据模板动态生成DRL
首先是参数的准备 即继承 DataProvider的类
然后是主程序
3、核心算法
算法类里的方法都是静态的
代码不再累述,见附件
java 中float 计算精确度问题,解决方法是利用BigDecimal 如下程序得到两个不同的结果
import java.math.BigDecimal;
/**
* @author xiangqi
*
*/
public class Test {
/**
* <dl>
* <dt><b>方法功能概要</b></dt>
* <dd></dd>
* </dl>
*/
public static void main(Stri ...
由于方程式不方便编辑,一切都在附件的图片和word文档上
对URL非法字符进行转义
- 博客分类:
- java算法
url=“http://www.baidu.com?body={}”
{}在某些情况下读取非法 这时需要将其转义 java.net.URLEncoder.encode("{")
JSOUP解析页面的方法
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
public class MatchAmazon {
public static MatchInfo getProductCode(Pro ...
JAVA 读取CSV文件
- 博客分类:
- java算法
1、读取CSV文件只从第二行开始读取,忽略标题的,包文件自己搜索下载
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
import com.Ostermiller.util.ExcelCSVParser;
import com.Ostermiller.util.LabeledCSVParser;
public class CsvImp ...
1、直接是工具类调用静态方法
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.util.List;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRichTextString;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFS ...
此工程用来测试Spring + hession写的远程SERVICE接口