一.什么是持续集成持续集成的核心概念CI过程会经常构建软件组件;在许多情况下,每当源代码存储库(比如Subversion或ClearCase)中的代码发生变化时,都要构建软件组件。CI的好处是:经常构建软件可以确保尽早遇到问题(比如代码缺陷),避免问题在软件开发周期晚期变复杂时才被发现。工具与过程尽管CI实际上是一个过程,但是持续集成这个词常常与一个或多个工具相关联。在本教程中,讲解如何安装、配置和使用Hudson作为CI服务器,但是要记住,CI远不只是个
系统 2019-08-29 22:43:43 2306
Spring是一个开源框架,是为了解决企业应用程序开发复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为J2EE应用程序开发提供集成的框架。在这篇由三部分组成的Spring系列的第1部分中,我将介绍Spring框架。我先从框架底层模型的角度描述该框架的功能,然后将讨论两个最有趣的模块:Spring面向方面编程(AOP)和控制反转(IOC)容器。接着将使用几个示例演示IOC容器在典型应用程序用例场景中的应用情况。这些示
系统 2019-08-29 22:43:17 2306
之前看过吴军的《数学之美》这本书。感概作者能将我们生活中的发明创造与其所实现过程中应用到的数学原理阐述的清晰而简单,不由让自己重新思考“数学是科学之母”这句话的含义,谨以提醒大家在日后的学习过程中加强数学原理的应用。同时,庆幸于偶然间,发现另一本阐述数学之美的好书,现转载来与大家一起分享。概率论只不过是把常识用数学公式表达了出来。——拉普拉斯记得读本科的时候,最喜欢到城里的计算机书店里面去闲逛,一逛就是好几个小时;有一次,在书店看到一本书,名叫《贝叶斯方法
系统 2019-08-29 22:40:23 2306
快乐理由之一:有很好的阳光的中午,吃到了好美味的大螃蟹快乐理由之二:周末,洗衣服,泡泡们是一个个发光的小精灵,飘啊飘啊的飘向太阳去……我偷偷向其中的一个小精灵许了一个愿:希望在雨天之后,张开眼就能够看到阳光,我想它会帮我实现的~!快乐理由之三:阳光照耀时有可爱的人为你做早餐,而你乐意用亲吻来答谢他快乐理由之四:在夏天里洗可爱的泡泡浴,手中的棒棒糖很甜,电视里的动画片很吸引快乐理由之五:与快乐的猪猪、狗狗在一起度过一个阳光明媚的下午快乐理由之六:夜晚,在暖暖
系统 2019-08-29 22:37:03 2306
有很多的书籍讨论敏捷方法是怎样工作的(Howitworks?),在这个主题演讲中,MartinFowler和他的同事NealFord讨论了敏捷方法能够在软件开发项目中行之有效的原因(Whyitworks?)。作为敏捷方法的发起人和传道者,MartinFowler和ThoughtWorks一直试图从理论层面证明敏捷方法的可行性,同时不厌其烦地解答着客户们的各种困惑,正如他们所说,敏捷方法中的很多概念不是特别的直观,除非人们真正实践过一段时间,否则有些概念很难
系统 2019-08-29 21:58:50 2306
经过大型J2EE项目实测,Log4j的日志输出对系统性能有比较显著的影响,尤其是日志输入量比较大时,例如:系统并发量很大,显示Hibernate的sql和参数日志,或日志级别较低DEBUG或INFO时等。使用AsyncLogger控制日志输出可以显著改善系统性能。1)测试用例:同步文件日志输出测试功能:模块管理功能,输出HibernateSQL和参数,输出到文件,配置如下:
系统 2019-08-12 09:30:18 2306
1.格式化:这是一个内容广泛的主题,常见的需求:需求解决办法(以上为例)显示报表列头为中文设置报表外观对于报表数据列进行处理分页页眉和页脚如:将userid显示为"用户标识"。选择"userid",输入"用户标识"。选择对应的报表项,通过"属性编辑器"调整。如:将userid和username,显示成:userid:username。双击row["userid"],出现"表达式生成器",输入:row["userid"]+":"+row["username"
系统 2019-08-12 09:30:13 2306
适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而使原本接口不匹配而无法在一起工作的两个类能够在一起工作。二,类的Adapter模式的结构:三,示例代码/***目标**@authorSalmon**/publicinterfaceTarget{publicvoidrequest();}/***源**@authorSalmon**/publicclassAdaptee{publicvoidspecificRequest(){System.out.p
系统 2019-08-12 09:29:47 2306
YARNHadoop2.0与HAdoop1.0的区别:Hadoop1.0主要由HDFS和MapReduce两个系统够长,但在Hadoop2.0中主要由HadoopCommon、HDFS、HadoopYARN和HadoopMapReduce2.0构成。Hadoop1.0更多是在于离线的数据处理,Hadoop2.0可以支持MapReduce计算框架之外,可以支持Spark、Strom等的实时数据处理框架。在hadoop2.0中,YARN负责集群的资源管理,管理
系统 2019-08-12 09:27:11 2306
把一个字符串划分成几个回文子串,枚举所有可能的划分例如Forexample,givens="aab",Return[["aa","b"],["a","a","b"]]写一个子函数判断是否为回文。然后dfs,这个dfs比之前的稍微难理解一些。dfs函数每次输入的起点代表之前已经处理好了,从这个起点开始到结尾len的有几种长度可能组成,回文的都要dfs遍历一次,如果没有就++。例如输入为abcc,假设此时start指向b了,那么b是回文,要dfs从start+
系统 2019-08-12 01:53:47 2306