一.什么是持续集成持续集成的核心概念CI过程会经常构建软件组件;在许多情况下,每当源代码存储库(比如Subversion或ClearCase)中的代码发生变化时,都要构建软件组件。CI的好处是:经常构建软件可以确保尽早遇到问题(比如代码缺陷),避免问题在软件开发周期晚期变复杂时才被发现。工具与过程尽管CI实际上是一个过程,但是持续集成这个词常常与一个或多个工具相关联。在本教程中,讲解如何安装、配置和使用Hudson作为CI服务器,但是要记住,CI远不只是个
系统 2019-08-29 22:43:43 2168
下面我们就一起来看看,我们都可以通过那些设置来达到节约内存的目的。优化内存数据在Windows中,驻留内存中的数据越多,就越要占用内存资源。所以,桌面上和任务栏中的快捷图标不要设置得太多。如果内存资源较为紧张,可以考虑尽量少用各种后台驻留的程序。平时在操作电脑时,不要打开太多的文件或窗口。长时间地使用计算机后,如果没有重新启动计算机,内存中的数据排列就有可能因为比较混乱,从而导致系统性能的下降。这时你就要考虑重新启动计算机。启用磁盘写入缓存在“我的电脑”上
系统 2019-08-29 22:38:52 2168
1.Model部分Struts的Model部分由ActionForm和JavaBean组成。其中ActionForm用于封装用户请求参数,所有的用户请求参数由系统自动封装成ActionForm对象;该对象被ActionServlet转发给Action;然后Action根据ActionForm里的请求参数处理用户请求。而JavaBean则封装了底层的业务逻辑,包括数据库访问等。在更复杂的应用中,JavaBean所代表的绝非一个简单的JavaBean,可能是E
系统 2019-08-29 22:18:25 2168
们经常想把精彩的网页内容做截图。或者在制作某些教程的时候也需要截图。通常情况下你或许会选择SnagIT之类的截图工具。在这里特别推荐一款Firefox浏览器的截图插件。功能非常强大,使用非常方便。忍不住要推荐给大家。用Firefox打开下面的链接进行安装http://screenshot-program.com/fireshot/视频演示Demo:推荐Firefox截图插件
系统 2019-08-29 22:13:43 2168
Itsourpleasuretosharebestresources/toolsforwebdevelopersanddesigner.Todaywearegoingtosharebestsitesfortestingcodesnippets,thesesitesprovidethebestplacewherewebdeveloperscantesttheircodefastandeasily.Overtheinternet,herearesomegrea
系统 2019-08-29 22:06:15 2168
最近有好几个咨询如何动态部署Bean/动态部署Springmvc控制器;首先声明下:基于普通Java/JavaEE环境的不适合做动态部署;如果你有这种需求请考虑使用如PlayFramework/Grails这种框架。但是还是有少量朋友会有这种需求:我的应用中只有少量几个需要动态部署的组件;好吧,那我来写一个能动态部署Bean/Controller的工具类吧。注意,因为Spring整个框架非常好的遵循开闭原则,所以只能通过反射来操作,而且目前不考虑Sprin
系统 2019-08-29 22:00:48 2168
2008年12月09日您一定听说过Wikipedia(维基百科全书),但是您是否知道还有一些与Wikipedia相关的站点,它们可以提供同样有价值的由用户生成的内容?大量隶属于Wikipedia的相关站点对Web开发人员非常有用。了解如何通过Wikipedia以外的资源丰富您的信息空间,包括应用这些站点的数据的小部件示例。Wikipedia一直被认为是最流行的和最知名的Web站点之一。从想要完成家庭作业的学生,到希望利用用户生成内容的Web开发人员等等,都
系统 2019-08-12 09:29:30 2168
研究Glusterfs半年多了,通过实际操作以及源代码分析,对它有了越来越深的了解,由衷的赞叹Gluster的整体架构。今天时间不早了,想写点关于Glusterfs的冗余镜像产生脑裂的原因。首先,简单描述一下脑裂,所谓脑裂,就是指两个或多个节点都“认为”自身是正常节点而互相“指责”对方,导致不能选取正确的节点进行接管或修复,导致脑裂状态。这种现象出现在数据修复、集群管理等等高可用场景。Glusterfs的冗余镜像(下文简称AFR)提供了数据副本功能,能够在
系统 2019-08-12 09:27:39 2168
启动时:Hibernate:insertintoSessionInfo(lastModificationDate,rulesByteArray,startDate,OPTLOCK)values(?,?,?,?)取得连接Hibernate:insertintoProcessInstanceInfo(lastModificationDate,lastReadDate,processId,processInstanceByteArray,startDate,st
系统 2019-08-12 09:26:58 2168
忽然想起的回忆,那是2007上周五在冬季,我看我的老湿调试Linux堆IP层,只看到他改变路由查找的逻辑,然后直接makeinstall上的立竿见影的效果有点,我只知道,,这种逻辑必须再次更改编译内核。再一次,他没有编译,就像刚才编译的文件...时又无聊的工作阻碍了我对Linux内核的探索进度,直到今天,我依旧对编译内核有相当的恐惧,不怕出错,而是怕磁盘空间不够,initrd的组装拆解之类,太繁琐了。我之所以知道2007年的那天是周五,是由于第二天我要加班
系统 2019-08-12 09:26:55 2168