自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 资源 (2)
  • 收藏
  • 关注

原创 关于百分位数的算法实现

最近做一个项目,用到五分位法,五分位数的确定是用到16、37、63、84这几个百分位数,试验了几个程序,发现不同的算法结果还是有差别的,我们这里要求用Excel的百分位数计算方法,还好通过网上找到了excel算法的介绍。这里把实现的函数分享。第一个是百度介绍的算法,第二个是Excel的算法实现。    private double evaluateSorted1(final double[]

2016-11-05 11:43:18 5666

原创 开发自己的底层框架

本人开发的底层框架包括数据层(数据存取)、报表生成、页面生成,有意愿开的自己的底层平台的公司可以找我。

2015-09-17 21:28:04 539

原创 报表工具

我开发了一套工具,其中的报表功能还不错,想接点私活。    这套工具采用纯java技术,后台生成数据,客户提供数据集,可以生成各种形式的结果集。并提够html页面输出。    可以免费提供这套工具。并可按照客户需求进行修改和功能扩充。    先简单写一点,有兴趣与我联系。

2015-02-27 16:40:44 560

原创 几点想法

最近程序开发的时候,觉得底层应该建立如下功能,今天写下了,看什么时候能完成。    1、完善底层查询程序,不但能得到结果,而且对得到的每一条数据可以进行处理,这样在大结果集的情况下,对内存要求降低。    2、完善数据table的导出功能,现在数据table可以转换成标签table,现在需要excel导出,这样就不需要页面导出功能,目前页面导出相当于CTRL_C,仅仅支持IE,而且与要降低

2013-12-24 11:05:38 504

原创 技术交流

我从事框架基础工具开发多年,写了很多程序,有需要交流、协作的请与我联系。    主要开发的工具类型:    1、数据交换    不同计算机直接的数据传输。    2、任务管理    后台任务的封装    3、数据库的封装    对数据库操作的完整封装,自动生成增删改查sql    4、数据抓取    从别的网站抓取数据    5、报表生成    生成各种

2013-12-17 10:30:52 515

原创 求助,页面设计工具的开发

我现在做了一个表格生成工具和报表生成工具,可以方便的嵌入到程序中,但是如果要推广,不够直观,所以想做一套生成工具。    1、开发语言    java是我熟悉的,可以利用基础工具(比如数据库操作、数据处理)比较多,但是在页面处理上,感觉不是很强。另外安全性是不是需要考虑的。    2、开源工具    我精力主要集中在实现上,所以对目前开源的工具了解不多,本来想对cms系统里找一个研

2012-08-14 14:55:40 305

原创 网页数据的抓取

这几天试着写了点程序,用于对特定网站的网页数据抓取。    有些网站可能不够规范,xml的解析工具有问题,所以就自己写了一个。好处是根据需要的进行处理,应该速度快,缺点是需要经常完善。    后续完善:1、如何生成关键字。2、不同网站抓取数据的排重问题。    有经验的人欢迎交流。

2012-03-31 16:11:49 281

原创 二维码学习

这周下载了几个二维码的编码解码程序,能够实现在android环境下对二维码进行识别,不过不支持中文,还需要分析一下程序。

2011-07-08 15:49:10 318

原创 SAP的Abap培训

    上周进行了一周的Abap开发培训,感觉开发方式很不一样,虽然没有学会多少,但是这里总结一下收获。    1、数据库数字类型的数据加单位。    2、单价有数量的概念,有很多东西是按1000计数。           3、有一种类型,运算不影响精度,具体没有记清,有机会再了解。    4、数据库查询不用排序,在内存中进行,有机会再研究一下怎么样效率好,有什么限制。   

2011-06-14 18:07:00 656

原创 replaceAll、replaceFirst使用需要注意的问题

    昨天系统报错,No group 6,上网查询,说是replaceAll()的问题,就具体试验了一下,发现如果不注意,就会产生隐含的错误。    java的String类的replaceAll方法是一个挺常用的方法,类型定义如下:    String replaceAll(String regex, String replacement)    有两个参数,第一个是被替换的字符串

2011-06-03 18:19:00 9626 1

原创 短信猫的开发经验总结

    虽说短息猫不是新鲜的东西了,但是这次开发真遇到不少问题。    首先的商家的问题,短信猫单口很便宜,多口也不贵,因此厂商也不可能提供多少支持。所以最好找有经验的人。    如果只是群发,那这样的软件很多,也不用花钱。    这里的开发是指进行读写和自己的应用进行结合。    开发短信猫接口有3种方法:    1、直接操作串口    这种方法要求对底层命令清楚,效果最好,很直接。    2、通过驱动程序    经过第三方包装,开发会简化很多,但是一定要测试好,否则遇到问题没有办法解决。如果有好的驱动,

2011-06-01 18:33:00 626

原创 短信猫的开发

    短信猫的使用应该很久了,我觉得开发一个这样的应用应该没有什么难度,于是同意9天时间完成一个请假流程。    9天时间留2天测试,刚好一周。    第一天选设备,找了几个公司,选择了一家。没有想到单口的还不到300元。    第二天测试,厂家只是简单安装,我的win7还装不上,我不想用xp测试机开发,费了半天劲才在我的计算机上配好。由于要用java开发,还要用厂家提供的开发包测试驱动,给的例子程序收发测试都能用,于是开始写接口和管理线程。    第三天,进行完整的测试,才发现接收有点问题,收全部信息只

2011-06-01 17:55:00 552

原创 数据库并发真实麻烦

<br />    数据库同步程序运行很久了挺正常,不久前加了一个监控,是统计执行的sql数量,由于公用数据源,结果造成了监控数据重复发送,开始以为是运维的配置文件有问题,因为只发生在一个节点上,而且频率不高,昨天又仔细分析了一下流程,才发现,在特殊情况下接受数据的节点上会出现数据重发。<br />    写程序实现特定功能并不麻烦,麻烦的是并发情况下不出现问题,今天加了一个对sql运行时间过长的监控,但是只能对解决死锁有效,如果由于并发,造成数据错误,这还要用其它方法解决。谁要有解决由于并发造成数据错误的

2011-05-20 15:20:00 319

原创 我做的报表2

<br />上次写的报表例子太复杂,这次做个简单的。<br /> <br /><br /> <br /> <br />程序:<br /> <br />  private void testBase() throws Exception {<br />    Result srcResult = buildTestSrcResult(5);<br />    debug(srcResult);<br />    ReportManager manager = new ReportManager();<br /

2011-05-12 14:46:00 360

原创 我做的报表

<br />这几天晚上整理报表工具,做了一次测试,这是一个例子,大家看看怎么样,能更简化吗?功能还欠缺什么?<br /> <br /><br />这是数据项左侧显示<br /> <br /> <br />这是数据项上方显示<br /> <br />相关程序<br />  private void testBuild() throws Exception {<br />    Result srcResult = buildTestSrcResult(5); // 随机生成原始数据(5行)<br />   

2011-05-05 16:30:00 670 1

原创 我做的几个图3个wap方式和一个android方式的截图

<br /><br />这是在android的模拟器生成的截图<br /><br />这是一个wap方式的截图。<br /><br />这是一个wap方式的截图。<br /> <br /><br />这个图最复杂,用了两个坐标轴,两个数据集,还有表盘图。<br />这些都是用JFreeChart生成的,挺好用的。

2011-04-09 23:20:00 498

原创 3.6 Ajax应用

1) 数据交互模式    a) Ajax是前台发出请求;    b) 后台对请求进行解析,并返回结果;    c) 前台处理返回结果并显示。    前台发出请求比较简单,为了保证顺利传输,需要进行适当的编码。    前台处理后台的返回结果也涉及编码和解码的过程,同时也需要约定传输的格式。    对于成熟的一些产品,规则可能很复杂,也很庞大。对于一般的系统,我们也可以自己写一个简单的解析类,这样不但很精简,扩展也很方便。2) 常用的Ajax实现的控件    通过Ajax实现的控件常用的有输入框(输入编码或部分

2010-06-11 17:24:00 316

原创 3.5 伸缩区域生成工具

    查询区域是输入条件的,查询的结果显示在数据区(当然也可以采用弹出窗口),有时为了数据区域能大点,查询区域可以收起,这样就用到伸缩区域生成工具。    查询区表格生成工具可能有多个,这样就需要一个容器生成工具,它能包含多个表生成工具。    下面是应用的例子:    //隐藏查询表按钮JspQryExpandSpanManager    JspQryExpandSpanManager qry

2010-04-18 16:01:00 422

原创 3.4 可拖动表格生成工具

    先回答上一节中的问题,分页行还有一点比较满意的是能用在一个页面有多个数据表的情况。这就是页面reqfromtable参数和t的作用。    可拖动表格客户几年前就希望能实现,当时没有好的方案,就没有做。后来在网上看到一个例子,符合我们的要求,于是开始在我们的平台实现这项功能。    网上下载的例子我放到资源里了(http://download.csdn.net/source/2246106

2010-04-16 14:48:00 977

原创 3.3 分页行生成工具

  分页行生成工具依赖数据区表生成工具,这是一个封装比较好的工具,通过上面的例子可以看到,除了和相关的数据区表生成工具发生关联外没有其它什么命令就能完全实现翻页控制。包括点击数据区表头排序(只用设置排序字段名)都是自动实现的。  这个分页行可以设定每页行数、跳到上页、下页或者指定页,输入的页码位数还能根据总页数自动调整。所以功能比较完善,而且可以设置自己喜欢的样式。  下面简单介绍实现方式:  一

2010-04-15 21:17:00 415

原创 2.10 业务开发(给开发人员的样例程序)

  有了前面的基础,这里看看这这个框架下怎么开发程序。  这是一个简单的查询,通过构建Query对象,并增加查询条件,最后调用Business实现查询,结果存储在RetInfo中。  SynchroLogQryAction属于业务层,负责完成查询,如果需要,还可以实现其它功能。  SynchroLogQryBusiness负责查询,其实可以不要,后来实现了一个通用的SimpleQueryBusin

2010-04-15 20:42:00 260

原创 3.2 数据区表生成工具

  和查询区相比,数据区有表头,数据是多行,还有相关的统计行和分页行,统计行和分页行的输出位置可自己定义。  数据区的生成步骤包括数据生成、表头定义和数据列定义,和查询区表格类似但是要复杂一点。  以《3 页面设计》中的数据区为例://建立显示数据Result listResult = new Result();for (int i=0;i{  QryRecord record = retLi

2010-04-15 16:35:00 330

原创 3.1 查询区表格生成工具

  表(TABLE)由行(TR)组成,行包含多个格(TD),一个格里包含一个或多个元素,怎样组织这些元素,可以有多种定义方式。我们做如下规定:  a、一个格和内部的元素作为一个整体,这样有文本、输入框、按钮、列表等;  b、一个格内包含多个元素的类型为元素组;  c、可以将常用的组合单独作为一种类型,如日期(输入框+图片)  d、隐含字段(不包含表格)和TR也作为特殊的类型。  使用方法:  Js

2010-04-15 10:42:00 412

原创 3 页面设计

  页面是html标签组成的,jsp可以动态生成一些html标签,如何更好的开发,各种各样的框架提出了很多方法。无论采用哪种方式,基本上都是标准化元素,还有你要决定立足什么技术。比如实现一个数据库查询功能同时要有一点处理,如果立足数据库,可以采用存储过程;而立足程序开发,sql可以简化,通过一个函数进行处理。所以对于页面设计,由于编程语言必不可少,我不希望开发人员再掌握过多的html规范,因此采用

2010-04-15 09:57:00 354

原创 2.9 线程与任务

  Java中建立一个线程和对线程管理不是什么复杂的事情,但是在一个系统中一般都会有大量的定时任务,因此我们需要建立一个机制能方便的扩展各种定时任务。  首先建立基本线程BaseThread,它完成基本的线程的基本功能,包括日志信息和状态监控,只是间隔时间和要完成的任务不能确定,我们建立2个抽象方法:  abstract public long getInterval() throws E

2010-04-14 19:57:00 281

原创 2.8 id和顺序号

  整数id和字符串id都是很常用的,数据库也有工具提供支持。我们也可以通过程序自动生成,效率也很高,如果:  synchronized (this) {    maxSeqNo = new Integer(curMaxId++);  }  //第一次使用需要读取数据库的最大值  但是我们使用的环境多种多样,比如在集群、多数据库(后台程序定时同步数据)的情况下有的方法就不适用,而且,开发人员也不应

2010-04-10 23:48:00 551

原创 2.7 封装Request

  request作为前后台交换的桥梁,有重要作用。  request常用的方法有读参数:public String getParameter(String paramName);读取属性public Object getAttribute(String paramName);和读session属性public Object getSessionAttribute(String name); 

2010-04-10 21:34:00 382

原创 2.6 查询

  增加、修改和删除是单表操作,有Access已经够用,但是对于数据库有大量的多表查询。因此需要建立一种机制,避免直接写sql,通过设置参数的方式,定义对象,然后生成sql。  由于涉及多表,而且可能包含子查询,因此想封装好是一个十分麻烦的事情,但是可以根据自己的情况,逐步完善。  应该具有的方法:  /**   * 增加表   * 不能在增加第一个表的时候使用   * @param

2010-04-09 16:34:00 268

原创 2.5 事务

    事务处理概念虽然不是很难理解,但是在开发过程中难免会出现忘了关闭连接、或者例外处理不全的情况,这里错误平时调试很难发现,长时间运行才能发现。当然可以通过weblogic的监控查找错误,但是很少很费时间。    作为一个开发平台,就应该建立一种模式,业务开发人员只需要按照模式进行开发,而不必关心如何建立事务、结束事务以及例外处理。    我们建立一个基础的业务类BaseBusines

2010-04-08 13:51:00 250

原创 2.4 数据操作对象Access

    前面介绍了一些基础元素,有了这些基础元素,现在就可以介绍第一个比较有用的工具——数据操作对象Access。    Access是相关数据表的描述,有2个需要子类实现的方法:    abstract public String getTable();// 对应的数据库表名    abstract public FieldGroup getFieldGroup();//定义数据结构

2010-04-07 09:14:00 312

原创 2.3 数据源

    由于数据来源多样,要使我们开发的程序适用于多种数据库,甚至是文件,就需要对数据来源进行封装——数据源DataSource。    虽然数据源的引入是为了屏蔽数据库间的差异,但是也给我们带来其它好处,由于所有的数据库操作都是通过这个类实现的,所以我们可以通过简单改造,就能监控所有数据库操作的性能;另外还能通过这个类传递参数、数据验证、数据过滤等。    数据源应具备的基本方法: 

2010-04-06 17:08:00 302

原创 2.2 记录、结果集和结构描述

    记录Record和结果集Result可以理解为查询结果的行和结果集。    封装这2个对象是为了便于操作,本身可以继承Vector或ArrayList,同时可以增加很多方法便于以后操作,如Record可以增加:    public void add(int object)    public int getInt(int index) throws Exception   

2010-04-06 16:39:00 583 1

原创 2.1 基本数据类型和值

    构建一个开发平台,最底层的就是数据,因此首先就要确定支持的数据类型。    数据类型种类的多少,直接影响到后面开发的复杂多,别的不说,最基本的get、set方法就是一大堆。因此我们的目标就是在够用的基础上尽可能的少。    基本的数据类型包括数据库基本类型和内存基本类型。    在java环境建议只保留int、double、String、byte数组;    对应的数据库基

2010-04-02 09:08:00 348

原创 2010年4月1日

    今天实现了报表的隔行显示,并且完成了数据列也支持公式的功能。    报表工具总体上实现了目标,这次改进也可以基本告一段落。    总结一下:原来的版本支持交叉表的生成,包括自由设置合计,表格的合并和页面输出。    这次改进:支持行列属性的设置;修改属性和表格继承模式;公式(包括结果集公式);优化数据输出;

2010-04-01 21:24:00 318

原创 改变自己

    进入IT行业很多年了,至今仍然没有什么成绩,回顾过去,只能说是受苦太少!    毕业分配,别人都说分配的单位好,因此虚度了将近十年时间。    总算是有机会到社会磨砺了3年,这是我人生态度转变重要的3年。    如今又是6年过去,虽然感觉成熟很多,但是肯定还是有很多差距,做事情的时间很有限了,所以只能敞开自己。    今天是愚人节,我的节日。别人总说我聪明,我也常常这样认为

2010-04-01 18:40:00 304

能够固定行列,拖动列宽度,交换列位置,列排序,拖动窗口大小的表格

这是网上下载的例子,作为博客文章http://blog.csdn.net/lws0888/archive/2010/04/16/5493693.aspx的附件。 1,固定首行和首列。2,将列拖宽。3,拖动列交换位置。4,选中(包含CTRL和SHIFT功能)。5,列排序功能。6,可以拖动表格的边框。

2010-04-16

双关键字HashMap

这是我自己写的,用2种方式实现,可以直接使用,也可以用于学习

2010-04-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除