自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 资源 (1)
  • 收藏
  • 关注

原创 [引用自spring的ppt]spring remote技术比较

HessianLightweight binary protocol by CauchoHTTP-basedUses custom serialization mechanismSupport for several platforms    PHP / Python / C++ / C# / Ruby / JavaProblematic when using for exa...

2010-08-24 09:37:28 110

原创 动态的为web service soap消息增加验证规则

在我们当前的SaaS系统中request和response的验证包括两部分,一部分为jaxb的schema验证,一部分为局部业务规则约束的验证(通过在service实现中侵入代码进行验证)。 我一直觉得当前的验证(非数据库相关)不是很灵活,因此我就做了一个动态的验证框架,实现思路如下:在我们的系统中每一个service...

2010-08-03 16:12:51 173

原创 关于数据库sharding带来的聚合问题

 当前我们的oracle数据库架构如下:  如上图所示整个数据库按照mapping方案进行了水平shard(三个核心)以及一个汇总数据库(平台),然后在每一个大表上又进行了垂直shard(按照数据热度)。无论是垂直切分的数据迁移还是核心到平台的归档数据迁移都是通过数据库的定时任务以及存储过程完成(核心到平台用到了DBLink)...

2010-08-03 11:18:23 452

一道软件面试题

从第一行的第一个数字开始,计算下一行临近的两个数字中较大的一个,统计所有临近较大数字的总和,看下例:     5   9 6 4 6 80 7 1 5  计算总和为:5+9+6+7=27 用程序计算附件中的总和值。 simplest Demo: package algorith;import java.io.InputStrea...

2010-07-12 15:22:19 103

How other's become mine?

1.实践    每一个软件开发组织都会有自己的一些经验积累,对于每一个好的解决方案都要自己亲手从头来一遍,顺便总结一下它的优缺点以及适用场合,这样在以后的开发中,遇到类似问题会很容易的参考解决。 2.google search    对于每一个idea,多在网上看看其他人的做法。...

2010-06-28 14:46:33 111

演讲的自我反省

很多次了,在演讲之前不能说没有很细心的准备,也准备了很多,可是每次演讲完的效果总是很差。。。 为什么呢?也许是口才表达的问题。但我发现最大的问题是自己当初想的和演讲时所说的往往会有很大的出入,以至于你时刻在想准备的东西,而说出去的又不是那么回事,导致与会者都听不懂,被你搞得摸不着头脑。其实还是口才问题。 因此以后准备从以下几方面进行尝试: 1。保持清醒的头脑,主线不能动摇。...

2009-12-01 15:02:13 412

创建web service的三种方式

使用java可以通过如下三种方式来创建web service. 1.method-first http://ws.apache.org/axis2/1_3/quickstartguide.html http://tuscany.apache.org/build-your-first-web-services-with-tuscany.html 2.contract-firs...

2009-11-25 14:29:56 146

ANT通过sshexec启动weblogic一直不能退出的解决方案

通常我们通过sshexec来启动weblogic(其他服务器也适应)会采取如下方法:<target name="startup"> <echo message="---${today}----- Starting Weblogic AdminServer -----"/> <parallel> <sshexec host...

2009-11-24 16:44:05 213

通过weblogic 9 mbean监控其应用状态

通过weblogic开放的jmx mbean可以对部署其上的应用\jms\datasource。。。很多内容进行查看和管理,下面这个demo只是借鉴了一下weblogic提供的例子作一个简单的测试。如果想通过这个实现监控,可以为这段代码加上定时设置(通过TimerTask或者quartz)。下面这段代码主要查看应用的状态以及jms相关情况(需要依赖weblogic.jar)。 impo...

2009-11-24 16:20:50 185

西湖与开源软件

西湖很美,美的让人忘记了一切烦扰免费的西湖更美,让更多的人趋之若鹜十一前休假前往西湖进行了一次雨中游,雨中的西湖别有一番意境。西湖归来后,突然觉得西湖与开源软件很像,都是free,都是如此的吸人眼球。...

2009-10-09 17:03:28 85

关于wiki在团队中的应用

wiki对于团队是一个信息共享、知识分享的工具,不知道大家在应用wiki的时候对于如何让成员接受、内容组织、如何用好wiki(最佳实践)等方面是如何实施的?...

2009-09-11 17:15:32 336

数据库sharding(scale up to scale out)

    sharding是将一个大数据库按照一定规则拆分成多个小数据库的一门技术.     当我们的应用数据量越来越多,访问量越来越大的时候,我们会作何选择?继续提升数据库服务器的性能还是采用一项技术让数据库平滑扩展?虽然伴随着服务器的更新换代,性能越来越好,更换更加豪华的服务器能暂时解决这个问题,但是无论是从花费和可控都无法让人满意。这时数据库sharding是一个更加可行的方案。...

2009-09-03 13:53:04 134

高质量开发团队的最佳实践

1。代码模板(开发前)    针对某类不同的项目,准备不同的代码生成模板,类似于maven创建的项目,但是还不够,还要包括团队一致通过的所用框架依赖、从web到service到dao的一个开发示例、单元测试、集成测试的集成、编码标准的示范、统一的IDE配置。。。    这种在开发之前所作的工作,既统一了团队项目的一致性,也降低了维护成本以及学习成本。 2。持续集成(开发中)  ...

2009-09-01 15:08:24 126

基于cactus和StrutsTestCase容器内测试struts1.2应用

背景     我们现在项目包含了很多的子项目,其中包含了单纯的war应用,它的特征是适用struts1.2作为其mvc组件,没有自己的数据库操作dao层和service层,它的所有数据操作都是通过调用服务层模块的ejb接口来实现的。前一阶段一直在构建持续集成的环境,对于这样的模块的测试一直没有做,因为没有找到好的方式来做,前几天看了一下cactus和strutstestcase,发...

2009-09-01 10:01:11 100

测试配置为连接数据源单独的jar

问题描述 以前我们做的项目基于未来适应多项目的要求进行了产品/项目的分拆,项目可以重复利用产品的产出。这 样就需要对代码进行分离,分离后产品对外提供的接口暂时包括EJB接口、SOAP接口、JMS接口以及直接的jar提供。前三种方式在独立的产品环境很容 易进行功能测试,但是对于直接提供的jar中代码如何测试呢?jar中包括service...

2009-08-31 09:46:37 146

Spring Aop Cache在Jpetstore中的应用

    基本上cache是通过key-value的形式来缓存数据,通过key来获取缓存的数据。尤其开源cache既不像内存数据库,可以支持任意组合条件的查询,也不像tangosol等商业cache,可以笨重的支持按value的属性查询。     cache缓存对于应用来说,如何组织key以方便的管理和命中缓存是至关重要的,现在网上流行的针对查询的key是[Class Name]+[Meth...

2009-08-25 11:35:18 80

项目软件架构的遐想

    做了这么多年的开发,每换一家公司(当然,也没换过几家),都要花一些时间来适应新架构带来的变化。其实大家都清楚,在软件开发领域针对项目特性的不同不可能采用同一套架构就能解决所有问题,因此大家都在不停的学习新知识来适应不同项目的需求。     JE(包括其他社区和网站)上已经存在很多好的解决方案,已经有很多针对特定问题的解答,他们已经在改善国人的技术水平上迈出了第一步,但是这还不够,大...

2009-08-22 01:23:56 90

当敏捷碰上瀑布

这篇文章最近才读到,可能其中的场景已经不适应,但是它的思想还是值得借鉴。---------------------------------------------------在基于瀑布模型java企业开发中的敏捷最佳实践---------------------------------------------------     有人说2007是敏捷到来年,伴随着的是其最佳实践...

2009-08-20 19:13:30 137

软件测试周期中各种类型的概念汇总

之前做持续集成环境时,对于集成测试、功能测试、系统测试...有很多的迷惑,今天刚好看到了一篇这方面的文章,共享之。 ---------------------------------------------------------在软件测试生命周期中定义了很多术语,这篇文章将总结所有这些术语(我所了解的)。这其中的一些可能跟其他地方的定义不完全一致,仅仅是我的理解。如果您有什么疑惑请让...

2009-08-19 16:03:34 138

基于spring和weblogic的jms

 环境 1.weblogic 9.2.3     已经创建JMS Connection Factory:jms/connectionFactory                 JMS Queue:jms/TestQueue                 JMS Topic:jms/TestTopic  实现一 通过sprin...

2009-08-18 13:52:18 142

基于spring和ibatis的多数据源切换方案

在仅使用ibatis时,多数据源简直就是梦魇,每多一个数据源就需要多一份sql-map-config配置文件。 采用spring的AbstractRoutingDataSource就可以简单的解决这个问题。 AbstractRoutingDataSource实现了javax.sql.DataSource接口,因此可以理解为一个虚拟的动态DataSource,在需要的时候根据上下文C...

2009-08-13 15:06:40 110

原创 下一步学习方向

 ?????   

2009-08-03 18:05:12 96

监控memcached

监控memcached的运行情况还是很有必要的,当前尝试了如下几种方式: 1。telnet方式 通过运行命令行telnet 127.0.0.1 11211,然后运行stats,得到如下内容:statsSTAT pid 2220STAT uptime 272669STAT time 1249292478STAT version 1.2.1STAT pointe...

2009-08-03 18:02:47 98

为Jpetstore增加memcached缓存支持

Jpetstore是一个典型的web应用,其开发框架为struts(spring-web)+spring+ibatis,因此以它做为例子有很好的实际意义。 本篇的前提是memcached server已经安装并且启动,我们在此只是看看如何使用其java client进行数据的读取和更新,这里所用的client都是比较原始的,没有进行封装。 1.memcached client fo...

2009-08-03 10:37:36 81

学习memcached

memcached是一个高性能、分布式的基于内存的对象缓存系统。Is a cache,not a cache database。分为server和client,各个cache server节点之间没有通信,减少了io。通过key的hash编码来存放和获取缓存数据。缓存的java对象必须实现可序列化接口,因为存在这个对象的序列化和反序列化,因此对性能会造成一定的影响。适用场景是读取操...

2009-07-30 20:48:18 75

征求方案-关于多个excel,大数据量同时导入

以前我们的管理系统用poi可以通过一个excel文件批量导入手机号码,在这个过程中需要验证号码格式、是否重复、系统是否存在等,因为效率问题,所以最后限定只导入excel文件的第一列,也就是65535行数据。有一点要说一下,系统的数据量非常大,关联表的数据都是亿级。现在有这么一个需求,要支持多个excel文件同时导入,不知道各位是否有好的建议?要从效率和空间上考虑,还好我们的服务器是...

2009-07-28 23:08:30 190

为spring2.5中的jpetstore增加perf4j监控

perf4j是一款类似于log4j的性能检测工具. 它的基本操作就是封装我们常用的通过System.currentTimeMillis();来计算执行时间.如下:long start = System.currentTimeMillis();// execute the block of code to be timedSystem.out.println("ms fo...

2009-07-28 22:49:18 113

maven2使用技巧集合(收集)

1.打包时,不在META-INF中生成maven目录 <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifac...

2009-07-28 22:45:55 56

使用maven2管理spring2.5项目(基于Jpetstore Demo)

目的:spring好久没有系统的学习了,借这个机会重新学习一下spring的思想同时换一种构建的思路。 maven2是一款更时髦的软件构建工具,功能类似于ant,但是它约定优于配置的理念、简洁的项目对象模型、解决包依赖的优势和其他良好的特性使其越来越流行。 默认情况下,maven2的资源包依赖于远程的互联网资源库以及本地的私有资源库,而在实际的开发中,大多数采用remote库--〉...

2009-07-27 16:31:47 270

原创 teamcity 5.0 EAP 发布了!

teamcity的维护更新太快了,几周时间就经历了三个版本了,4.5.3-〉4.5.4-〉5.0 5.0增加了新的feature同时做了很多改进,bug管理工具的支持非常不错,但就是还不支持我们的QC,如下:Issue Tracker integrationIssues are now first class citizens in TeamCity. Out of the b...

2009-07-24 11:25:02 135

基于teamcity的持续集成实践(当前不足)

持续集成到现在基本上是一个可持续运行的环境了,当然还需要完善。单元测试、集成测试报告可以查看了,代码质量报告可以查看了,代码覆盖率可以查看了。使用teamcity,构建成功失败的email可以发送了,分布式agent也可以构建了... 但是还有很多不足需要增强,有下面几点:1。验收测试。   因为我们做的产品有使用对象,就是我们的项目,所以验收测试需要项目团队提交验收测试脚本。...

2009-07-24 11:15:36 156

基于teamcity的持续集成实践(单元测试)

单元测试,是一种直接面向生产代码的测试,是一种白盒测试。 以前也写过那种超级简单的,就是依赖DB的基于dao或者service层接口的测试,简单的加载一些spring配置,然后开测。说实话,这样做有好处,最大的好处就是我知道这个接口可以运行了。仅此而已。 我对单元测试一直抱有抵触心态,可能跟周围同事的环境有关系,我没有发现说单元测试多么多么好的,反而发现有很多抱怨的,单元测试要做好...

2009-07-23 17:23:51 367

基于teamcity的持续集成实践(集成测试)

我在此所说的集成测试其实就是项目对外的接口测试,包括http接口、ejb接口和web service接口。 因为没有人指导你如何进行持续集成、如何做集成测试,一切都是摸着石头过河。看过一些文章关于集成测试的,譬如有人用selenium,但是我觉得不太适合我现在的项目,因为我们的产品只是对外提供接口,具体的ui实现由另外的项目组负责。因为不熟悉,所以我对我现在的做法都持有怀疑,如果您有更好的...

2009-07-23 15:48:09 168

基于teamcity的持续集成实践(findbugs)

FindBugs 是一个静态分析工具,它检查类或者 JAR 文件,将字节码与一组缺陷模式进行对比以发现可能的问题。 在teamcity中要通过ant脚本集成findbugs是非常简单的。 第一步,写我们的findbugs ant脚本文件。 <target name="findbugs-test">      <findbugs home="${find...

2009-07-23 14:20:22 187

基于teamcity的持续集成实践(emma)

emma是一个统计代码测试覆盖率的工具,teamcity默认集成了这个工具。EMMA 是通过向 .class 文件中插入字节码的方式来跟踪记录被运行代码信息的。EMMA 支持两种模式:On the fly 和 Offline 模式。支持的覆盖率指标:EMMA支持class,method,line和basic block coverage指标。teamcity采用的offline模式。 ...

2009-07-23 10:35:13 197

基于teamcity的持续集成实践(ant脚本2)

上一篇,说到了ant脚本如何分类以及何组织的,现在让我们看一下如何用ant脚本来实现上面所说的过程。 在此同样先是基于小的分类,然后是整合,其实按照上篇的分类是非常细的,因此对于一些经常用到的,在此就不赘述,仅说几个我认为不常用的,但是很关键的。  首先定义weblogic的相关ant任务 <path id="weblogic.ant.classpath">...

2009-07-23 10:31:43 135

基于teamcity的持续集成实践(ant脚本1)

使用ant来进行构建,最重要的就是脚本的组织,下面我们将continuous integration过程进行分类,然后进行相应的整合。 首先整个持续集成过程大致分为check-out(而这部分是由teamcity负责,因此不在ant脚本范围)、pmd代码检查(暂略)、1。compile、2。unit-test、3。findbugs代码检查、4。package、5。weblogic doma...

2009-07-22 23:12:17 178

基于teamcity的持续集成实践(配置)

本章节仅覆盖svn上的一个简单项目,集成测试覆盖率、代码质量检查等将在后面的相关章节给出。 professional版本仅有管理员和一般用户两种角色,管理员负责teamcity中项目的管理功能。 管理员登录teamcity后,1。在Administration页面点击Create project,进入Create New Project页面,在Name处输入Test(随便输...

2009-07-22 14:43:57 185

基于teamcity的持续集成实践(安装)

准备的基础环境是1。操作系统hp-unix,teamcity只提供windows版本和linux版本,其实在hp-unix下安装可以直接用linux版本,只要设定好环境变量JAVA_HOME即可。创建一用户,其默认路径为/opt/ci/。2。jdk的安装在此不赘述,只要记得安装完毕后配置用户的环境变量即可,此处默认安装在/opt/ci/java1.5下面。3。teamcity,从jet...

2009-07-21 23:02:57 119

基于teamcity的持续集成实践(简单介绍)

持续集成Continuous Integration,一句话概括,就是在指定间隔的时间内对项目进行编译、打包、发布、测试、反馈,以保证项目的正确性。 前段时间,我一直在构建持续集成的开发环境,因为之前对其一直没有一个直观的认识,通过这次持续集成实践,我认识到持续集成对开发过程带来的巨大好处,它降低了集成的风险、提高了产品的质量、减少了bug的数量..... 持续集成应该成为每一个开发团队的...

2009-07-21 16:11:29 146

大数据白皮书

目前最流行的概念,本书适应于商务、技术、业务、产品等等各个层次,是进入大数据的必备书籍。

2014-05-26

空空如也

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

TA关注的人

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