存档

2012年10月 的存档

持续集成原则

2012年10月31日 tianhl 没有评论

持续集成原则   1. 所有的开发人员需要在本地机器上做本地构建,然后再提交的版本控制库中,从而确保他们的变更不会导致持续集成失败。   2. 开发人员每天至少向版本控制库中提交一次代码。    3. 开发人员每天至少需要从版本控制库中更新一次代码到本地机器。    4. 需要有专门的集成服务器来执行集成构建,每天要执行多次构建。    5. 每次构建都要100%通过。    6. 每次构建都可以生成可发布的产品。    7. 修复失败的构建是优先级最高的事情。

分类: 云计算 标签:

持续集成要素

2012年10月31日 tianhl 没有评论

  1.统一的代码库   2.自动构建    3.自动测试    4.每个人每天都要向代码库主干提交代码    5.每次代码递交后都会在持续集成服务器上触发一次构建    6.保证快速构建    7.模拟生产环境的自动测试    8.每个人都可以很容易的获取最新可执行的应用程序    9.每个人都清楚正在发生的状况    10.自动化的部署

分类: 云计算 标签:

持续集成的定义

2012年10月31日 tianhl 没有评论

  集成软件的过程不是新问题,如果项目开发的规模比较小,比如一个人的项目,如果它对外部系统的依赖很小,那么软件集成不是问题,但是随着软件项目复杂度的增加(即使增加一个人),就会对集成和确保软件组件能够在一起工作提出了更多的要求-要早集成,常集成。早集成,频繁的集成帮助项目在早期发现项目风险和质量问题,如果到后期才发现这些问题,解决问题代价很大,很有可能导致项目延期或者项目失败。 持续集成的定义   大师Martin Fowler对持续集成是这样定义的:持续集成是一种软件开发实践,即团队开发成员经常集成它们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括

分类: 云计算 标签:

Jenkins介绍

2012年10月31日 tianhl 没有评论

  Jenkins,之前叫做Hudson,是基于Java开发的一种持续集成工具,用于监控秩序重复的工作,包括:   1、持续的软件版本发布/测试项目。   2、监控外部调用执行的工作。

分类: 云计算 标签: ,

为什么开发者不要调用jdk中sun公司的jar包

2012年10月31日 tianhl 没有评论

不要引用sun开头的jar包 The java.*, javax.* and org.* packages documented in the Java 2 Platform Standard Edition API Specification make up the official, supported, public interface. If a Java program directly calls only API in these packages, it will operate on all Java-compatible platforms, regardless of the underlying OS platform. The sun.* packages are not part of the supported, public interface. A Java program that directly calls into sun.* packages is not guaranteed to work on all Java-compatible platforms. In fact, such a program is not guaranteed to work even in future versions on th

分类: Java 标签:

JNLP介绍

2012年10月25日 tianhl 没有评论

一JNLP介绍:   在java开发的早期,重点被放在了客户端开发。语言中对于applet和安全下载的支持对于万维网(WWW)的发布看上去是个不错的主意。但是现实是java最大的成功在于服务器端,java的强大功能和适应性赢得了服务器端开发者的心。同时,客户端的开发落后了。棘手的开发问题限制了applet的效用,开发者被迫转向基于浏览器的瘦客户端。   Java Network Launching Protocol (JNLP,java网络加载协议) 承诺改变这个现状。通过JCP(Java Community Process)的JSR-56的开发, JNLP解决了很多先前用java开发针对客户端的功能的问题。一个JNLP客户端是一个应用程序或者说服务,它可以从宿主于网络的资源中加载应用程序。如果你使用JNLP打包一

分类: Java 标签: ,

mysql问题记录

2012年10月22日 tianhl 没有评论

[Err] 1153 – Got a packet bigger than ‘max_allowed_packet’ bytes [Err] /*Data for the table `bodycontent` */ insert into `bodycontent`(`BODYCONTENTID`,`BODY`,`CONTENTID`) values (98305,’{note:title=Installing Plugins}nnThe plugins featured on this page are not installed out-of-the-box. To install them, please refer to our documentation on +[installing plugins|http://confluence.atlassian.com/x/loBQ]+.nn{note}’,32776),(98306,’{section}n{column:width=1px}n{panel}n{gallery:columns=2|include=RefinedWiki.jpg,ThemeBuilder.png|sort=name}n\\{_}Click to enlarge{_}

分类: 云计算 标签:

伟大的程序员是怎样炼成的

2012年10月18日 tianhl 没有评论

•只做正确的事 对于软件这一行的人,我们有个很大的挑战,就是如何能够用正确方法的做事情。什么是正确的方法,这依赖于你在做什么和做给谁。而究竟所谓 “正确的方法”里都包括了什么内容,这并不是重点,重点是你是否能坚持按照这种方式做事。初级程序员在这个问题是通常不能做到坚持,而资历较深的程序员却 能始终坚持原则。 也许会有一个“非常紧急”的项目,或者这个项目很特殊,不能按常规过程开发。这只是个假象。 好的程序员知道即使在任何情况和环境下都要坚持做正确的事情。 如果说按正确的方式开发将导致不能按时完成任务,那么,他们就会知道,这个项目是不能按时完工的。 不要妥协,工程质量是你作为一个优秀程序员的唯一

分类: 程序人生 标签:

什么是程序员的优秀品质

2012年10月18日 tianhl 没有评论

优秀程序员应当具备的品质: 语言和工具(Languages and Tools): 任何程序员/开发者需要具备的第一个技能就是,能够用编程语言工作并会使用与之相关的主要开发工具,包括:工具、IDEs, web 框架, messaging APIs。 程序设计方法(Programming Paradigm): 举例来说,很好地理解面向对象,这对使用强制式语言(Imperative Language也称过程式语言)写出可维护的代码至关重要。在企业开发中你会遇到各种不同的问题,理解多种程序设计方法并知道何时使用,将使这些问题迎刃而解。 领域专长的知识(Domain Specific Knowledge): 如果想编写系统来解决特定领域内的问题,那么拥有该领域的专长知识将非常重要。 尽管许多这样的知识是由项目的商业

分类: 程序人生 标签:

Hadoop的作用

2012年10月17日 tianhl 8 条评论

Hadoop作为大数据存储及计算领域的一颗明星,目前已经得到越来越广泛的应用。下面主要分析了Hadoop的一些典型应用场景,并对其进行了深入分析,主要包括下面几个方面: 日志处理: Hadoop擅长这个 并行计算 ETL: 每个人几乎都在做ETL(Extract-Transform-Load)工作 Netezza关于使用Hadoop做ETL任务的看法) 使用HBase做数据分析: 用扩展性应对大量的写操作—Facebook构建了基于HBase的实时数据分析系统 机器学习: 比如Apache Mahout项目 Hadoop是什么? 是google的核心算法MapReduce的一个开源实现。用于海量数据的并行处理。 hadoop的核心主要包含:HDFS和MapReduce, HDFS是分布式文件系统,用于分布式存储海量数据。 MapReduce是分布式数据处

分类: Hadoop, 云计算 标签: