- 浏览: 174671 次
- 性别:
- 来自: 北京
最新评论
-
justfine:
...
Web自动化测试之WebDriver -
zhkzyth:
嗷嗷,非常感谢你的ssh教程,特别是对那几个函数的说明,我跟着 ...
提供用户名和密码的SSH自动登录脚本 -
nick.s.ni:
使用jquery加的操作,確實不錯。
HTML textarea输入框限制长度 -
yuyong112:
这个兄弟 太佩服你了 竟然加一个maxlength 属性 它 ...
HTML textarea输入框限制长度 -
dearwolf:
不是加班让人失去了思考,而是忙碌让人失去了思考
加班是邪恶的
文章列表
博客搬家了:xiaoqing.me
- 博客分类:
- 杂项
终于下定决心将博客搬家,现在有了自己独立的域名:xiaoqing.me
当然,搬家只是一个开始,在新的博客中,努力做到更高(质量)、更快(频率)。
谢谢!
对应用中的调度任务应该有3种:基于cron的;固定间隔的(Fixed Interval);固定延时的(Fixed Delay)。
1. 基于cron
这比较容易理解,只需要给出一个cron的表达式,就可以根据表达式去执行。比如
"0 0 12 ? * WED"
代表"每周三的12:00”
它的几个部分分别代表:秒、分、小时、基于月的天;月;基于周的天;年(可选)
如果你使用Quartz,可以参考Cron Trigger一章
。
2. 固定间隔的
这个也很常用,比如每天执行一次,每小时执行一次。在Quartz中,有对应的SimpleTrigge ...
客户遗留系统的权限部分使用了Spring security中的FilterSecurityInterceptor,可以通过设置intercept-url及对应的权限进行验证。
其典型用法是在配置文件的Bean中定义:
<bean id="filterSecurityInterceptor" class="org.springframework.security.intercept.web.FilterSecurityInterceptor">
<property name="objectDefini ...
作为程序员,恐怕没有谁没加过班。无论是领导要求、半含威胁,还是员工自愿、半推半就;无论是项目无法完成,后期疯狂加班;还是临时出现了问题,需要突击
解决。加班,似乎和吃喝拉撒一样,乃是IT人员的生活必需品。 ...
团队实施敏捷,经常会遇到的一个问题是:“实施敏捷对个人能力要求高吗?”其实不止是正在实施的团队,国内各个敏捷社区、论坛
上也充斥着这样的论调:“实施敏捷对能力要求太高了,如果团队成员的能力达不到一定的 ...
How can we verify logic independently when
code it depends on is unusable?
How can we avoid Slow
Tests
?
We
replace a component on which the SUT depends with a "test-specific
equivalent."
Sketch Test Double embedded from Test Double.gif
Sometimes it is just plain hard ...
你能用一句话解释什么是敏捷吗?
米高的一篇文章里,谈到了他去客户现场第一天,客户就问这个问题:他们觉得了解敏捷了,可是很难说清楚。尤其是向别人解释的时候,需要费很多口舌。于是请教能不能一句话就能解释什么是敏捷。
读到这里,我下意识地想到,如果是自己,会怎样回答呢?之前向不少人介绍过敏捷,自己也感觉到颇为费劲:敏捷是软件开发的一种方法论...有很多相关的实践,比如...采用迭代式的开发方式,把最终用户引入进来...保证稳定地高质量的交付...
说实话,每次说这么多,把各个层次的内容罗列在一块,我自己也比较汗颜别人能否听明白。所以看到“能否一句话就解释什么是敏捷”时,立刻兴奋了起来,不知道会是 ...
对Web进行自动化测试,我们首先想象一个简单的场景,来看看需要测试哪些东西:
a. 元素定位:无论使用XPath, Dom还是CSS,需要简单方便的API定位元素,可以延时等待元素出现;
b. 交互操作:包括文本框、单选框、多选框、按钮、表格单元的输入或者点击;
c. 页面操作:页面切换和关闭、对话框切换和关闭;
d. 其他要求:对主流浏览器测试的支持、对JavaScript的支持等。
说起Web自动化测试,首先想到的就是Selenium。其实WebDriver就是基于Selenium的一个自动化测试类库,但它不再是运行在浏览器内的JS程序,而是自己可以控制浏览器。旨在改进Seleni ...
使用VPN,每次都要在Terminal上重复输入命令:
ssh -D port user@host
出来密码提示符后,把复杂的密码拷贝下来,然后粘贴到Terminal,敲回车...
终于忍受不了这样的重复了,于是用Shell写一个可以自动登录的脚本:
#!/usr/bin/expect -f
set port port_no
set user user_name
set host host_name
set password my_password
set timeout -1
spawn ssh -D $port $user@$host
expect &qu ...
在c中定义一个enum类型很容易:
enum _pet_type{DOG, CAT, COW};
但是使用为了方便,可以使用typedef来定义:
typedef enum _pet_type{DOG, CAT, COW} pet_type;
这样就可以直接这样使用了:pet_type type = DOG;
1. 关于枚举数值
在这样的定义中,DOG被赋予了整型值0,后面的依次加1。你可以指定某一项元素的整数值,其后的元素依然是依次加1。
比如 typedef enum _pet_type{DOG, CAT = 10, COW} pet_type;
则DOG的值是0, CAT是 ...
帮助客户实施敏捷,已经有一些开发人员在尝试使用TDD的方式进行开发。一再向他们强调:“写任何代码之前,先写一个会失败的测试”。这里说的写代码,不仅仅是指开发sotry或者修改bug,很多时候,当你有了一个新的想法,不妨先写一个测试:
某位开发人员告诉我,他想在项目中Spring事务,但是不熟,所以想花时间预研一下。讨论完Spring事务相关的问题,我接下来问他,有没有写测试?有了一个失败的测试,不管查资料,还是咨询别人,尽管做任何尝试,什么时候测试通过了,配置也就成功了。
代码检视,发现某个Dao类中,把对应Domain的enum字段转换成int存储,读取时再把int转换成enum类型。于是 ...
使用Abbot给Java Swing写单元测试,遇到这样一个问题:如果用到了showDialog(...)方法,由于是ModelDialog,系统执行到这里就被block了,无法通过Abbot写单元测试。
举个简单的例子来说:Frame中有个button,点击后会显示JColorChooser Dialog,选取颜色后点击OK或者Cancel按钮,Dialog消失,同时返回Color对象,然后就可以在frame中修改Label的颜色。
所以想象中的单元测试应该是这样:
@Test
public void testSelectColorRedAndClickOKButton ...
[注]:这是2008年底写的一篇关于即时验收(即常说的BA sign off)的文章,原文发表于《程序员》杂志。从去年刚开始加入ThoughtWorks,对敏捷懵懂了解,到现在随着经历的增多,对敏捷的了解也有了越来越多的体会。即时验收是敏 ...
敏捷中国大会已经结束,我9月12日参加了会议,下午与一些嘉宾在TDD workshop进行了结对编程活动,有一点感想。
我本来没打算参加TDD workshop,是临时被拉过去的。一坐下来就感觉非常尴尬──没提前熟悉题目就要跟别人pair, ...
- 2009-09-17 18:09
- 浏览 1571
- 评论(0)
BUG描述:
页面中某DIV使用了position:relative,结合top=-25px等元素定位。在FF和IE7下表现正常,但是在IE6中该DIV会随鼠标滚动而滚动。
分析:
这是IE6一个已知的BUG:当某position:relative元素
被带有overflow:auto/scroll属性的块级元素包含时,会表现出postion:absolute的行为。
解决方法:
1.为包含块元素添加属性position:relative
。
2.把该元素的position:relative属性去掉,使用默认的static定位,并通过margin-top等属性 ...
- 2009-07-24 10:43
- 浏览 13196
- 评论(0)