解惑

解己之惑,解人之惑

第67页共82页

EJB单元测试框架

公司的产品要引入单元测试以及代码覆盖,让我做一个框架方便我们写单元测试代码,上网找了一下,找到一个不错的基础:MockEJB,大家可以先了解下相关的内容:
MockEJB项目简介信息
使用MockEJB简化EJB测试

我在这个基础上进行了扩充,框架具有如下的特性:

  • 读取EJB配制文件完成EJB的自动发布,框架会读取我们工程的ejb-jar.xml,jboss.xml,jbosscmp- jdbc.xml文件的配制信息并组合这些信息完成自动发布所需要的内容。
  • 共享的dummy数据,我们自己提供一个xml文件,里面存放一些dummy的数据,这些数据会在对应的Entity Bean被使用的时候自动插入数据库,完成数据的初始化工作(这样Session Bean中的SQL也可以取到一致的内容),在一个test方法结束的时候回滚,删除那些记录,消除Test Case之间的影响。
  • 自定义事务管理,每个test方法都处于同一个事务中,方法结束的时候事务回滚,消除Test Case之间的影响。
  • 支持部分find方法的实现,由于MockEJB对于Entity Bean只提供了对findByPrimaryKey的支持,甚至连findAll都不支持,框架在MockEJB提供的Aspect机制的基础上实现了 findAll等常用必备的find方法,并且对于自定义的find方法也提供部分支持,通过解析EJB配制文件中的SQL完成,但是可能性能不好,因为会遍历所有的记录并比较字段的值完成这个查找的过程。其它比较复杂的find方法(框架无法解析的SQL),需要自己实现对应的Aspect,框架会自动查找对应的Aspect。
  • Struts TestCase的基础上支持对Action的单元测试。

测试代码范例:
阅读全文

我使用的WordPress插件

本来想过段时间再写的,但是考虑到随时可以更新,趁现在有时间先列出现在用的,也好有个历史记录。

Akismet:这个是系统自己带的,反评论spam的。 (2006年10月26日废弃,先用Did You Pass Math?看看效果重新启用,效果还不错)
Blog It !:添加网摘(书签、BookMark,谁知道到底是什么?)的,支持很多网摘站,似乎国内居多。(2006年10月26日废弃,使用自己修改的Jiehoo Bookmark
Jerome’s Keywords:给日志增加Tags的。
Related Posts:给日志增加相关日志的,目前还不太清楚相关性算法,有时间再研究了。
Random Posts for Chinese:增加随机日志的。
Google Sitemaps:自动生成google sitemap文件的,有更新后可以自动ping一下google。
WordPress Database Backup:系统自带的数据库备份的,懒得登录后来dump数据库。(使用WP-DBManager代替

2006年10月25日 晚上更新:
首字下沉:不知道为什么叫首字下沉,在我看来应该是首字放大。
Did You Pass Math?:使用简单的算术防止评论SPAM的。(2006年11月7日停用,有问题)
Admin Drop Down Menu:简化管理界面,可以方便的切换到某个功能的子项。
Jiehoo Bookmark:我自己修改的Blog It!代码得到的书签插件。

2006年10月27日晚上更新:
CountPosts:统计日志的点击数。
WP-DBManager:数据库管理。
Emotions:给评论加表情。

2006年10月28日晚上更新:
flickrRSS:Flickr的RSS输出。

2006年11月6日更新:
Feed List:输出外部rss,我用来输出我的Del.icio.us的书签内容。
WP-PostRatings:给日志投票,用来调查日志的受欢迎程度。

2006年11月24日更新:
Landing sites:如果是搜索引擎过来的点击,显示和搜索内容相关的其它日志。
WP-ShortStat:跟踪BLOG的状态。(2007年3月9日:因为严重的消耗数据库空间而停用)
WP-Cron:定时执行。

抵御不了增加更多插件的诱惑

由于使用了WordPress,而它又有那么多的不同插件,看了别人使用的插件列表,有些插件确实很好用,就想着不断的学习别人装了哪些插件,我可以使用哪些。到目前为止才装了7个左右的插件,但是应该会装20个左右吧,有些个性化和增强功能的插件还是很必要的。

这几天整这些插件,发现搞软件的有一个好处,就是即使你不会使用某种语言,但是做一些简单的修改还是很简单的,例如我以前从来没有接触过PHP,但是这几天下来,改了不少东西,也没有遇到太多的问题,简单的看了下语法,其实和JSP也差不多的。

定制Blog It

看到别人用了一个比较强大的添加书签的插件:Blog It,但是上面的说明比较简单:

1.修改 {WP_HOME}/wp-content/themes/{YOUR_THEME} 目录下的 single.php 文件,将

<div class="post">

修改为

<div class="post" id="postitem">

但是实际上很多人使用不同的主题的时候single.php里面的内容完全不同,根本就没有一个class是post的div,其实
Blog It的原理比较简单,就是查找页面上ID为postitem的元素,然后附加一个DIV,把里面的内容设置一下就行了:
                var postitem = document.getElementById(‘postitem’);
                var NewNode = document.createElement(‘div’);
                postitem.appendChild(NewNode);
                NewNode.innerHTML = str;

其实定制很简单,需要一点JavaScript的知识,自己随便选择一个元素,把他的ID设置为postitem或者任何其它你想使用的值,然后修改postid.php里面的代码就行了,我的这个主题修改为了:
                var postitem = document.getElementById(‘postitem’);
                var dlNode = document.createElement(‘dl’);
                var dtNode = document.createElement(‘dt’);
                var ddNode = document.createElement(‘dd’);
                dlNode.appendChild(dtNode);
                dlNode.appendChild(ddNode);
                postitem.appendChild(dlNode);
                dtNode.innerHTML = ‘&#32593;&#25688;&#65306;’;
                ddNode.innerHTML = str;
另外我把那些网摘的文字的颜色效果都去掉了,不然影响美观,呵呵。

海明威主题的几个问题

挑挑我用的这个主题的两个小刺:

  • 汉化不彻底,很多页面还是包含很多英文,例如搜索结果页。
  • 搜索结果页左侧的内容不正确,明明有匹配的结果但是一直报没有结果。

呵呵,不过汉化的问题比较好办,自己修改也很简单,搜索结果页的那个问题没有找到什么解决办法,暂时只能去掉那些信息了。

其实我对这个主题最不满意的地方还是页面宽度,它定死了宽度,要是可以根据客户端的分辨率自动调整页面的宽度就太好,目前还没有办法修改,因为我对CSS还只是停留在根据手册修改某些元素的style上。

其它的,这个主题可以说很好了!

WordPress也有乱码问题?

今天修改了page.php,把其中的<?php edit_post_link(‘ Edit this entry ‘, ‘<p>’, ‘</p>’); ?>修改为<?php edit_post_link(‘ 编辑 ‘, ‘<p>’, ‘</p>’); ?>,结果显示为乱码,暂时没有精力去修正这个问题,把那个部分删除掉,反正通过管理页面也可以进行编辑。

给海明威主题添加模块

我使用的是海明威主题简体中文版,想给测栏加些内容,本来是直接修改otherbar.php的,但是在海明威选项里面看到那种拖拽的方式添加不错,就看了下代码,原来只要写一个简单的PHP上传到主题的blocks目录下,再到海明威选项里面给那个模块命名一下就可以拖拽使用了,很方便的设计,不是吗?我这里的天气预报,随机文章和常用标签就是这么干的,不错吧。

给WordPress添加模版

在新建页面的时候可以选择所使用的模版,但是怎么创建模版呢?其实就是创建一个简单的php文件上传到服务器上你正在使用的主题所在的目录,文件头上包含注释就可以了。

<?php
/*
Template Name: 我的模版
*/
?>

宽度可以调整的Frame和Table

这个是我们的产品中宽度可以调整的Frame和Table的原型代码,可以给大家参考下。关键点就是对鼠标事件的处理,这个方案有个不太好的地方就是修改的是document的鼠标事件,如果以后有更多的类似特性要支持,代码要修改的地方比较多,以后有时间再考虑有没有更好的方案,有经验的请告知。

宽度可以调整的Frame和Table原型

使用Google还是百度

我是完全的一边倒的支持google的,但是很奇怪,我老婆无论我怎么说都坚持用百度,不是因为别的,就是百度好用!不用奇怪,我老婆搜索的内容基本上都是娱乐相关的内容,在这方面,我必须承认百度确实比google的搜索结果好很多。但是我搜索的都是技术的内容,而且往往要搜索英文的内容,这个就完全不是百度的强项了。如果你是想找乐子,呵呵,用百度吧,如果是其它的,google是最好的选择。

« 更早的文章 更新的文章 »

© 2025 解惑

本主题由Anders Noren提供向上 ↑