2013年5月20日

【转载】实践测试驱动开发

摘要: 转载自dreamhead:http://dreamhead.blogbus.com/logs/14189175.html作为一个有理想、有追求的程序员,你成天被各种名词包围着,你对其中一个叫做敏捷的东西特别感兴趣,因为它特别强调人的作用,这听着都让做程序员的你感到舒服。为了让自己早日敏捷起来,你从众多的敏捷实践中选择了一个叫做测试驱动开发(Test Driven Development,TDD)的作为你的起始点。因为它对你周遭的环境要求是最低的:它不像结对那样,要求其他人和你一起合作;也不像采用Story那样改变你所在团队的做事方式……你所需要做的,只是在你编写业务代码之前,把测试先写好。这完 阅读全文

posted @ 2013-05-20 23:05 张孝军 阅读(141) 评论(0) 推荐(0)

2013年5月4日

【转载】Wireshark基本介绍和学习TCP三次握手

摘要: 转载自:http://www.cnblogs.com/TankXiao/archive/2012/10/10/2711777.html之前写过一篇博客:用 Fiddler来调试HTTP,HTTPS。 这篇文章介绍另一个好用的抓包工具wireshark,用来获取网络数据封包,包括http,TCP,UDP,等网络协议包。记得大学的时候就学习过TCP的三次握手协议,那时候只是知道,虽然在书上看过很多TCP和UDP的资料,但是从来没有真正见过这些数据包, 老是感觉在云上飘一样,学得不踏实。有了wireshark就能截获这些网络数据包,可以清晰的看到数据包中的每一个字段。更能加深我们对网络协议的理解。对 阅读全文

posted @ 2013-05-04 11:42 张孝军 阅读(159) 评论(0) 推荐(0)

2013年4月28日

Servlet和JSP的工作原理

摘要: Servlet是Java Web的基础,JSP是做Java Web开发时,每个开发人员都会用到的东东,但是对于这两者的工作原理以及他们之间的联系,我却一直云里雾里。前两天项目中遇到了一个蹊跷的问题:我们的项目是以war包部署在Jetty中的,刚部署时运行良好,过了一段时间,请求war包中的有些页面时(如index.jsp),Jetty无法找到这些JSP页面了,于是直接返回404错误。当时没找出问题的原因,于是直接重启Jetty作为权宜之际。为了找出问题的根源,感觉很有必要弄清楚Jetty是如何处理Servlet、JSP、war包的。Servlet和JSP的用法示例先来看一下示例程序的文件结构: 阅读全文

posted @ 2013-04-28 15:57 张孝军 阅读(1097) 评论(0) 推荐(0)

2013年3月15日

一个小问题:setTimeout()以回调函数的名称作为参数,不要在名称后面带"()"

摘要: 一段类似这样的代码:function callback() { alert("callback"); setTimeout(callback(), 5000);}执行时,发现callback函数并不是每隔5秒执行一次,而是立即重复执行。问题在哪?就在于setTimeout参数的问题。由于上面代码中,setTimeout(callback(), 5000),会首先执行callback函数,将callback函数的返回结果作为5秒后要执行的代码。正确代码如下:function callback() { alert("callback"); setTimeou 阅读全文

posted @ 2013-03-15 16:35 张孝军 阅读(421) 评论(0) 推荐(0)

2013年2月7日

我所读的书

摘要: 从2013年初开始记录。正在读技术类《精通CSS 高级Web标准解决方案》《深入理解Java虚拟机》非技术类《霍乱时期的爱情》已读技术类《应用程序性能测试的艺术》《how tomcat works》《重构 改善既有代码的设计与实现》《深入分析Java Web技术内幕》非技术类《温故一九四二》 刘震云《废都》 贾平凹 阅读全文

posted @ 2013-02-07 11:40 张孝军 阅读(175) 评论(0) 推荐(0)

Jetty和Tomcat的使用及性能测试

摘要: 一 测试目的这次对Jetty和Tomcat进行性能测试,主要是为了给新版本WebPortal的开发选择合适的Java Web Server。我们之前对老的Rest和新的TMMI都进行过性能测试,Rest有Akamai的缓存,性能基本没有问题。但是WebPortal的内容是不断更新的,不适合使用Akamai缓存,所以性能就全靠WebPortal本身以及均衡负载了。所以我想,在开发新版本WebPortal时,要尽量进行优化,包括硬件、Web Server、数据库访问等。Jetty和Tomcat是两个主要的开源Java Web Server,两者都比较成熟,Google App Engine使用Je 阅读全文

posted @ 2013-02-07 11:28 张孝军 阅读(12017) 评论(0) 推荐(1)

2013年1月31日

由[Ljava.lang.StackTraceElement;@14e77f0发现的一个问题

摘要: 产品在测试环境部署了好几天,才发现有一个ERROR:2013-01-23 14:22:33,122 ERROR [com.XXX.XXX.XXX.db.timer.BaseTimer.run] - [Ljava.lang.StackTraceElement;@14e77f0。在茫茫的日志文件中,这样一条ERROR实在不是一眼就发现的。要反思下,看来以后要定期在日志中进行搜索,看看有没有ERROR了。令我疑惑的是,明明所有的异常,我都是在日志中记录其堆栈跟踪的啊,这里怎么就只有一行光秃秃的ERROR呢?下面是打印出上面那条ERROR的代码:catch(Exception ex) { log... 阅读全文

posted @ 2013-01-31 15:33 张孝军 阅读(21822) 评论(0) 推荐(0)

2013年1月12日

浅读JUnit源码

摘要: 为了学习下设计模式在实际项目中的应用,我决定找个开源项目来研究下,JUnit代码量少,又是GOF的亲生儿子,当然成了最佳选择。我阅读的是JUnit3.8.2的代码,相对于JUnit4,JUnit3的代码量更小,结构更清楚。准备工作及JUnit基本用法下载JUnit源代码,在Eclipse中新建项目,并导入下载的JUnit代码。下载地址为:http://grepcode.com/snapshot/repo1.maven.org/maven2/junit/junit/3.8.2定义被测试代码。这里的被测试代码很简单,就是计算两个整数之和。package my.test;public class . 阅读全文

posted @ 2013-01-12 00:03 张孝军 阅读(970) 评论(0) 推荐(0)

导航