摘要: 在日常开发时,我经常会遇到如下问题:查看某个用户的某些操作信息(不需要界面,只需要根据固定条件查数据,就是看一下);需要安装/部署jar包到本地仓库/远程仓库;需要release maven项目(即发布项目的新版本);在测试时,经常需要重建数据库和数据;在不同的环境中安装同一个maven项目;部署并运行maven项目;备份数据库;根据系统日志等做数据分析:如活跃用户、是否存在异常IP、某个管理员的操作历史等等;监控服务器运行状态并告警;清理系统的垃圾文件;压缩日志及删除过期的日志(如只存储最近3个月的日志);等等…………对于如上的一些操作因为是经常使用的一些功能,我们应该使用模板+命令/脚本自 阅读全文
posted @ 2013-08-30 10:40 小s鬼 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 模板,一个我们天天使用的技术, 比如:Java类就是创建Java对象实例的模板;泛型,参数化类型的模板,如List;常见的如泛型DAO、泛型Service等;Arrays.sort() 一个排序的模板;Spring中的DAO支持设计;可参考《我对SpringDAO层支持的总结》;HttpServlet设计,如service根据http method转发给各个do开头的方法(doGet、doPost等);还有如Struts2的ActionSupport设计,我们继承后能自动得到如国际化、验证的支持;JSP、Velocity、Freemarker等模板页面技术;等等。。模板带给我们的好处很明显:约 阅读全文
posted @ 2013-08-30 10:36 小s鬼 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 大家可能对如下情景比较熟悉:如果开发过SSH的web项目,启动服务器可能会比较慢,有的项目甚至需要1分多钟,甚至更多,这个启动时间的等待一般就浪费了;在开发项目时,有些功能比较复杂,当时觉得思路特清晰,但是过了一段时间后,自己也忘了,完善功能时频繁出现bug,降低开发速度;在维护项目时,不知道自己修改的对还是不对,是否存在隐患;维护速度降下来了;如果开发一个很多人都使用的接口,典型的如用户系统,要保证比如升级时向下兼容;在团队间协作时,有时候只定义好接口,对方还没有给实现,如何进行同步开发?如上问题,估计只要是个开发人员,都可能遇到过;如果此时有了单元/集成测试,那我们能很好的解决这些问题。( 阅读全文
posted @ 2013-08-30 10:35 小s鬼 阅读(278) 评论(0) 推荐(0) 编辑
摘要: 上一篇Spring/Hibernate提升速度的文章《加速spring/hibernate应用调试时启动速度》,主要是通过一些技巧来提升启动速度,还是做不到如类的热部署/热替换。因此再写一篇关于热部署/热替换的文章。之前也有很多人介绍过这些知识,不过比较分散,我写此篇的目的是聚合它们。本文以HotSpot虚拟机为例。首先让我们来看两个概念:热部署、热替换热部署即在容器运行过程中,重新加载类或重新加载整个项目。常见的解决方案就是使用自定义ClassLoader;部分加载的示例:如JSP、Play框架;重新加载整个项目的示例:如Tomcat、Jetty;默认都是定期检测class文件是否有修改,如 阅读全文
posted @ 2013-08-30 10:31 小s鬼 阅读(282) 评论(0) 推荐(0) 编辑
摘要: 在调试spring应用时,动辄几十秒,甚至有的应用上分钟的启动速度,会让整个调试速度慢下来了。等待时间让人抓狂。不知道大家是如何加速spring应用调试速度的,在此分享下我的一次加速过程。欢迎补充指正。环境配置:thinkpad t410内存:4G内存CPU:Intel P8700 双核2.53GHZ系统:WIN XP开发工具:Intellij IDEA 12.0.4Maven + spring3.2.3 + hibernate4.2.2+Spring data jpa 1.3.1未优化前spring容器启动速度:16890毫秒=(14609毫秒(ContextLoaderListener加载 阅读全文
posted @ 2013-08-30 10:29 小s鬼 阅读(279) 评论(0) 推荐(0) 编辑