软件工程
文章平均质量分 84
iteye_1364
这个作者很懒,什么都没留下…
展开
-
Eclipse插件开发之FindBugs插件
问题提出: 当我们编写完代码,做完单元测试等各种测试后就提交正式运行,只能由运行的系统来检测我们代码是否有问题了,代码中隐藏的错误在系统运行的过程中被发现后,然后再来进行相应的修改,那么后期修改的代价就相当高了。 解决方法: 现在有很多Java代码分析工具,FindBugs中开源项目当中的一个,它可以帮你找到代码中隐藏的一些错误,提升你的代码能力与系统安全可靠性。...原创 2011-06-01 12:25:43 · 76 阅读 · 0 评论 -
持续集成之路——搭建Maven私服
在开发过程中,有时候会使用到公司内部的一些开发包,显然把这些包放在外部是不合适的。另外,由于项目一直在开发中,这些内部的依赖可能也在不断的更新。可以通过搭建公司内部的Maven服务器,将第三方和内部的依赖统一管理。 这里使用Nexus来搭建本地的Maven服务器,过程比较简单。 一、安装服务器 1、下载 我们可以在nexus的官网...原创 2011-06-15 15:01:31 · 59 阅读 · 0 评论 -
持续集成之路——Maven(续)
接上篇)在新创建了项目之后,可以看到目录结构: 从图中可以看出,Maven自动将项目源文件和测试用例分别放到了不同的目录下,但是却使用了相同的包名。这样生成可执行的产品时,就比较容易将产品代码和测试代码隔离开;同时测试用例也可以直接引用同一包中被测试的类,既符合了JUnit的规范,也使程序更易读。 正如上图中标示,新建项目的JRE默认为J2SE-1...原创 2011-06-15 15:02:17 · 85 阅读 · 0 评论 -
持续集成之路——Maven
写在前面 自从参加了4月份的QCon以后,持续集成的念头一直在脑海中浮现。时隔四个月之后,终于有了实践的机会。在此,首先应该感谢头儿们的大力支持。记得参加Scrum的培训时,最开始提到的一个障碍就是来自上层。因为上层希望看到的是实实在在的成果,如果现有的开发模式和质量管理系统已经有了比较好的效果,他们就不太愿意尝试新的模式。而这次正是有了头儿们的理解和支持,我才能...原创 2011-06-15 15:04:13 · 88 阅读 · 0 评论 -
用SecureCRT连接VMware中的Linux系统
一、预备知识:Secure:SecureCRT将SSH(Secure Shell)的安全登录、数据传送性能和Windows终端仿真提供的可靠性、可用性和可配置性结合在一起。SecureCRT将终端仿真程序同Secure Shell协议的强加密功能、多种认证选项和数据整合特性相联合,可以有效的保护密码、用户帐号、数据和计算机系统。SecureCRT具有安全远程访问、文件传输和数据通道...原创 2011-06-16 22:03:03 · 108 阅读 · 0 评论 -
敏捷开发简介
在软件工业界,敏捷开发已成为众多高效开发团队的制胜之道。它不仅被许多中小公司青睐,在全球一百强的企业中,敏捷也已大行其道,受到许多资深项目管理者和开发人员的推崇。欧美软件企业中,有近半企业已采用敏捷方法进行开发。大多数尚未应用敏捷的企业,也都对其有所了解,而且很多在计划实施。中国的外企,外包公司和许多知名企业也都开始采用了敏捷方法。例如,腾讯内部几乎所有的开发团队都在实施敏捷。敏捷方法...原创 2011-06-27 00:34:39 · 173 阅读 · 0 评论 -
敏捷开发、极限编程
什么是敏捷开发?一种以人为核心、迭代、循序渐进的开发方法。在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。简言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。敏捷开发是由一些业界专家针对一些企业现状提出了一些让软件开发团队具有快速工作、响应变化能力的价值观和原则,并于2001初成...原创 2011-06-27 00:35:22 · 152 阅读 · 0 评论 -
Hudson+Maven+SVN 快速搭建持续集成环境
hudson 是一个可扩展的持续集成引擎,Hudson非常易于安装和配置,简单易用,下面看看我们是如何几分钟就快速搭建一个持续集成环境吧。假设我们目前已经有2个maven项目:entities(JAVA类库),web(web应用,依赖entities)。 一、安装hudson: 下载http://hudson-ci.org/latest/hudson...原创 2011-06-28 13:07:15 · 85 阅读 · 0 评论 -
Maven实战(四)——基于Maven的持续集成实践
Martin的《持续集成》相信很多读者和我一样,最早接触到持续集成的概念是来自Martin的著名文章《持续集成》,该文最早发布于2000年9月,之后在2006年进行了一次修订,它清晰地解释了持续集成的概念,并总结了10条实践,它们分别为:相关厂商内容 InfoQ诚聘:内容/商务策划编辑、资深商务经理等 视频演讲:...原创 2011-06-28 13:16:10 · 89 阅读 · 0 评论 -
天生一对"Maven2+Jetty" -- Maven2创建并管理WebApp
Maven2代比1代改进很多,其中主要强调的是--它不仅仅是个依赖包管理器!开始先要推荐一个专讲Maven2的电子书给大家,对MAVEN学习相当有助益:Better Builds with Maven 下面就专门介绍下Maven2对WEBAPP在管理和调试方面的支持。1.创建项目mvn archetype:create -DgroupId=com.mycompany.app...原创 2011-06-29 19:21:53 · 91 阅读 · 0 评论 -
用Maven做项目管理
用 Maven 做项目管理 在 Java世界中我们很多的开发人员选择用 Ant来构建项目,一个 build.xml能够完成编译、测试、打包、部署等很多任务,但我们也碰到了很多的问题,如 jar文件管理混乱,各个项目结构和 build.xml相差很大等等。而 Maven的出现,给项目提供了更多的支持。 1 简介 Maven 作为 Apache 的一个开源项目,旨在...原创 2011-06-29 21:10:11 · 131 阅读 · 0 评论 -
结合Maven2进行J2EE项目构建
一.背景 Maven2 的基本原理很简单,采用远程仓库和本地仓库以及 pom(project object model).xml ,将 pom.xml 中定义的 jar 文件从远程仓库下载到本地仓库,各个应用使用同一个本地仓库的 jar ,同一个版本的 jar 只需下载一次,而且避免每个应用都去拷贝 jar 。如图 1 。同时它采用了现在流行的插件体系架构,只保留...原创 2011-06-29 21:13:53 · 57 阅读 · 0 评论 -
Maven原理和Maven2新特性
Maven的基本原理和Maven2的新特性用Maven做项目管理在Java世界中我们很多的开发人员选择用Ant来构建项目,一个build.xml能够完成编译、测试、打包、部署等很多任务,但我们也碰到了很多的问题,如jar文件管理混乱,各个项目结构和build.xml相差很大等等。而Maven的出现,给项目提供了更多的支持。1 简介Mav...原创 2011-06-30 16:02:58 · 102 阅读 · 0 评论 -
持续集成理论和实践的新进展
作者: 肖鹏 来源: InfoQ 发布时间: 2011-07-31 16:22 阅读: 1212 次 原文链接 全屏阅读 [收藏] 最近雷镇同学将Martin Fowler先生的著名论文《持续集成》第二版翻译成中文并发布出来,掀起了国内对于持续集成理论和实践讨论的新的高潮。笔者在本文中将全面对比持续集成...原创 2011-08-04 18:10:12 · 98 阅读 · 0 评论 -
持续集成之“依赖管理”
来源: infoq 发布时间: 2011-06-02 12:58 阅读: 219 次 原文链接 全屏阅读 [收藏] 在前文《分支策略(续)》中,我们讨论了多组件应用程序的持续集成策略,即:为相对独立的组件创建自己专属的代码库,然后通过现代持续集成工具进行组件间的持续集成。Joe的团队在首次发布之后,开始使用...原创 2011-08-04 18:10:52 · 95 阅读 · 0 评论 -
详细解析Java中抽象类和接口的区别
详细解析Java中抽象类和接口的区别2007-09-28 12:17作者:doublel出处:论坛整理责任编辑:方舟 在Java语言中, abstract class 和interface 是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的 面向对象能力。abstract cl...原创 2011-03-16 12:51:48 · 63 阅读 · 0 评论 -
Maven仓库管理-Nexus(转帖后加强版)
前面我讲到为什么要使用Maven, Maven的安装,以及如何与IDE集成等,前面的介绍可以认为是一个Hello World,教你如何利用Maven来进行项目开发,如何结合IDE实现一键式DEBUG,从现在开始我们开始深入探讨Maven的一些高级内容。这一个章节,我分两部分来介绍,首先介绍一下Maven的仓库,然后在说一下如何通过Nexus来建立我们自己的仓库,以及如何使用。Maven...原创 2011-06-15 15:00:43 · 92 阅读 · 0 评论 -
maven下nexus的搭建,jar包上傳等注意事項
nexus是用來搭建本地jar包服務器到,具體就不多說了。 主要是參考裡下面到帖子。在此感謝作者。 持續集成之路——搭建Maven私服 Maven倉庫管理-Nexus(轉帖後加強版) nexus的安裝 1.nexus的下載地址 http://nexus.sonatype.org/downloads/ 我下載的是nexus-oss-webapp-1.8.0-bundl...原创 2011-06-15 14:58:58 · 107 阅读 · 0 评论 -
思维导图分享
完成金根(http://www.cnblogs.com/zhoujg)布置的作业,介绍一下思维导图。我使用思维导图已经有一段时间了,也有了一些自己的经验,甚至,在工作和生活中,思维导图已经是我必不可少的一项工具。当智哥问我能不能用一句话解释清楚思维导图的时候,我迟疑了一下,还是没法说清楚(看来要将《金字塔原理》列入读书计划了:)。这些天我读了两本有关思维导图的书:《大脑使用说明...原创 2011-06-02 08:57:08 · 504 阅读 · 0 评论 -
MindManager使用说明
我在《思维导图分享》中介绍了思维导图的一些情况,接下来分享一下我使用MindManager的一些经验和体会。 MindManager是一款很好实现思维导图的软件,唯一有些遗憾的是它并不是免费的,而且价格还不菲。 MindManager的官方网站是http://www.mindjet.com,当前最新的版本是MindManage...原创 2011-06-02 09:01:44 · 138 阅读 · 0 评论 -
老系统维护(二)[转]
前面的章节请参考老系统维护(一) 第三步 理清做事的思路 弄清楚要做的事情很重要,在对自己要做的事情有了明晰的认识之后,接下来就要理清做事的思路。 老系统维护可以看成一个小型的项目,既然是项目,那么就有项目的一些特征,比如有时间要求,有可以交付的成果,有投入产出比的测算等等。对于项目类,我们公司使用五环策划表的方式来协助分...原创 2011-06-02 09:02:33 · 106 阅读 · 0 评论 -
老系统维护(一)[转]
对于程序员来说,最有激情的一件事也许是领导或参与开发新项目,按照《走出软件作坊》的阿朱的话来说是在白纸上作画;与之相对的,对程序员来说最无趣的一件事应该是老系统维护。新项目能给人带来成就感,在这个过程中,大家可以尽情地展示自己的技能,尽情地享受产品一天一天成型给自己带来的快乐。老系统维护就让人沮丧了:做好了不是自己的功劳,做不好就是自己的无能。想把自己懂的那些设计模式、框架、...原创 2011-06-02 09:04:05 · 166 阅读 · 0 评论 -
老系统维护(三)[转]
老系统维护(一) 老系统维护(二) 第四步,解决问题的流程 理论上来说,经过二、三两步之后,大部分的问题都解决了,但是在我们的开发过程中,随着编码的深入、需求的变化、对原系统的了解、对业务的了解,我们常常会遇到各种各样的问题。 解决问题一个常用的工具是鱼骨图,当然,我写这篇博文的初衷是介绍一下我做老系统维护...原创 2011-06-02 09:05:47 · 184 阅读 · 0 评论 -
老系统维护(四)-我是否最合适的人
老系统维护(一) 老系统维护(二) 老系统维护(三)保证完成任务 美西战争爆发后,美国必须立即跟西班牙的反抗军首领加西亚取得联系。加西亚在古巴丛林的山里——没有人知道确切的地点,所以无法带信给他。然而,美国总统必须尽快地获得他的合作。 怎么办呢? 有人对总统说:“有一个名叫罗文的人,有办法找到加西亚,也只有他才找得...原创 2011-06-02 09:06:47 · 77 阅读 · 0 评论 -
思维导图之用我[转]
思维导图是我生活和工作中不可缺少的重要部分,她的使用场景有很多种,午休时间,我想和大家分享一下我使用思维导图的经验,是以抛砖,意在引玉。相信很多同学都有用导图来做读书笔记的习惯,恐怕这也是导图被用得最之泛的一个功能了。我也不例外,我在读一些逻辑性强或技术性的图书时习惯使用导图来做笔记,笔记内容主要是图书的细化版大纲,再加上自己的一些评注。除了读书,我在网上看一些结构相对复杂的文档...原创 2011-06-02 16:30:33 · 391 阅读 · 0 评论 -
用Apache Ivy实现项目里的依赖管理
Apache Ivy是一个管理项目依赖的工具。它与MavenApache Maven 构建管理和项目管理工具已经吸引了 Java 开发人员的注意。Maven 引入了 JAR 文件公共存储库的概念,可通过公开的 Web 服务器访问(称为 ibiblio)。Maven 的方法减少了 JAR 文件膨胀的情况,不会占用大多数版本控制存储库。但使用 Maven 时,它会鼓励您采用其 ...原创 2011-06-02 23:19:14 · 113 阅读 · 0 评论 -
持续集成工具hudson与maven2的结合[转]
之前在网上查过一些资料,都说hudson作为持续集成工具是十分好的,因为要在实际项目中应用,所以自己尝试搭建持续集成服务器,持续集成相对其他,网上的资料少之又少,尤其是hudson,基本上网上的资料大部分是针对ant,而且教程更是少的可怜。因为我们的项目要用到maven2,所以我最开始尝试的是使用continuum(maven开源项目中的子项目),个人认为对maven2支持应该不错,有兴趣...原创 2011-06-04 11:21:46 · 211 阅读 · 0 评论 -
一个轻量级的分布式文件存储FASTDFS
国人做的用C语言写的轻量级的分布式文件存储,只有 tracker和storage 节点。没有使用数据库。作者happy_fish写的介绍性页面:http://fastdfs.zhan.cn.yahoo.com/apps/ncpcontent/?module_id=19100000018373&action=read&articleid=18项目地址: http://fast...原创 2011-06-04 16:40:33 · 208 阅读 · 0 评论 -
分布式文件系统MFS(moosefs)实现存储共享
由于用户数量的不断攀升,我对访问量大的应用实现了可扩展、高可靠的集群部署(即lvs+keepalived的方式),但仍然有用户反馈访问慢的问题。通过排查个服务器的情况,发现问题的根源在于共享存储服务器NFS。在我这个网络环境里,N个服务器通过nfs方式共享一个服务器的存储空间,使得NFS服务器不堪重负。察看系统日志,全是nfs服务超时之类的报错。一般情况下,当nfs客户端数目较小的时候,NFS...原创 2011-06-04 16:41:14 · 135 阅读 · 0 评论 -
海量小文件存储
Web2.0网站,数据内容以几何级数增长,尤其是那些小文件,几K~几百K不等,数量巨多,传统的文件系统处理起来很是吃力,很多网站在scaling的过程中都遇到了这样的问题:磁盘IO过高;备份困难;单点问题,容量和读写无法水平扩展,还存在故障的可能。YouTube也碰到这样的问题,每一个视频有4个缩微图,这样的话缩微图数量是视频数量的四倍,想象一下YouTube有多少视频,看一下他们遇到的问...原创 2011-06-04 16:41:43 · 110 阅读 · 0 评论 -
Hudson+Maven+SVN 快速搭建持续集成环境
hudson 是一个可扩展的持续集成引擎,Hudson非常易于安装和配置,简单易用,下面看看我们是如何几分钟就快速搭建一个持续集成环境吧。假设我们目前已经有2个maven项目:entities(JAVA类库),web(web应用,依赖entities)。 一、安装hudson: 下载http://hudson-ci.org/latest/hudson.war ,把下载...原创 2011-06-08 01:04:03 · 49 阅读 · 0 评论 -
Maven仓库管理-Nexus(转帖后加强版)
前面我讲到为什么要使用Maven, Maven的安装,以及如何与IDE集成等,前面的介绍可以认为是一个Hello World,教你如何利用Maven来进行项目开发,如何结合IDE实现一键式DEBUG,从现在开始我们开始深入探讨Maven的一些高级内容。这一个章节,我分两部分来介绍,首先介绍一下Maven的仓库,然后在说一下如何通过Nexus来建立我们自己的仓库,以及如何使用。Maven...原创 2011-06-14 00:50:35 · 86 阅读 · 0 评论 -
解决nexus下载maven索引的问题
在上个周五在公司的一台服务器上用nexus搭建了maven repository的镜像服务器。当时都安装好之后,将本地的settings.xml修改成使用该镜像服务器。这些配置都搞定后,测试时执行任何mvn任务时都存在问题。在管理界面搜寻了一通,没有找到原因,于是找来nexus的文章进行研究,顺便学习一下nexus。阅读过nexus的手册后,理解了nexus的管理仓库的方法,于是开始检...原创 2011-06-14 23:23:46 · 182 阅读 · 0 评论 -
eclipse使用SVN创建,合并分支[转]
之前一直使用"小乌龟"进行分支建立与合并,最近切换到linux下开发,没有"小乌龟"了,只好看下eclipse的svn插件关于分支的建立与合并。 首先说说创建分支,很简单,不过是浅copy一个trunk目录到branches下即可.如下图所示: 右键你的工程==>team==>分支/标记弹出如下信息:此框告诉你从哪里copy到哪里,这...原创 2011-11-11 17:11:59 · 79 阅读 · 0 评论