Welcome 微信登录

首页 / 软件开发 / 数据结构与算法

在项目中透明地引入特性开关

在项目中透明地引入特性开关

在项目中透明地引入特性开关2014-03-15 infoq 孟宇在前几期的InfoQ专栏中刊登了一篇名为“使用功能开关更好地实现持续部署”的文章,文中讲解了 特性开关与Spring的集成应用。但如果项目没有依赖Spring,又该如何更好地使用特性开关呢?同时, 又该如何透明地引入,使得项目不至于完全依赖特性开关呢?接下来我将结合我们在项目中实 际运用特性开关的经验,从另一个角度为大家介绍如何使用特性开关透明地实现功能屏蔽。问 题我们...
针对持续交付管理构建作业

针对持续交付管理构建作业

针对持续交付管理构建作业2014-03-15 infoq 译:夏雪对于不断演进中的产品,持续交付(CD)使其开发到产品交付的过程更加简单。持续集成(CI)位 于持续交付过程的开始阶段,它扮演了这个过程中的重要角色,由它定义软件开发过程。在书 上和网上可以查到很多持续集成工具的资料,但处于持续集成过程中核心的构建作业却没有太多资料。典型的持续集成过程如下:开发人员在他们自己的机器上手工构建和测试源代码。然后他们会 把修改提交到一个源码控制管理系统。随后构建工...
开发经理的职能

开发经理的职能

开发经理的职能2014-03-15 infoq Robert McCabe 译:王丽娟开发经理是个工作压力比较大的职位。作为“中间人”,你需要在管理层、客户、销售 、开发人员等多种角色之间周旋。没人会注意你的工作做得有多好:一切都运转顺利,工作进展得波澜 不惊,所有人都各得所需。但如果事情失败了,不论什么原因,可都是你的错。要成为一名成功的开发经理,秘诀就是管理好期望,第一步就是确保所有人都理解你的职能。你和 你工作相关的人,都要对...
DevOps不等于ChefPuppet

DevOps不等于ChefPuppet

DevOps不等于ChefPuppet2014-03-29 infoq 阮志敏DevOps是一个热词,但是毫无疑问,也是未来的趋势(注1)。高效率的IT组织常常贴着DevOps的标 签,是人们讨论的焦点和学习的对象。2009年时,人人都在讨论如何像Flickr一样一天内完成十几次的 部署(注2)。今天,人人都谈论如何像Netflix/Pinterest一样基于云基础设施构建大规模、高可用、 可伸缩的服务(注3)。如何才能实现DevOps呢?很多人会不假思索...
Maven插件之build-helper-maven-plugin

Maven插件之build-helper-maven-plugin

Maven插件之build-helper-maven-plugin2014-03-29 csdn wangjunjun2008把原有项目添加到Maven管理时,总会出现很多莫名奇妙的问题,其中之一便是Maven默认的项目结构 和自己的项目结构不一致,导致无法编译源代码,更不用说部署、运行项目了。Java程序开发,一般使用Eclipse、MyEclipse等工具,其源码目录为src,这与Maven默认的 src/main/java不同。因此,在没有额外配置的...
Maven插件之maven-archetype-plugin

Maven插件之maven-archetype-plugin

Maven插件之maven-archetype-plugin2014-03-29学过Maven的人,都知道用MyEclipse的Maven插件生成一个项目骨架,比如maven-archetype-quickstart,这个原型就是最常用的之一。刚开始使用骨架的时候,感觉很好,减少了重复劳动,提高了开发效率。使用的时间久了,就会发现,Maven Archetype提供的项目骨架不能百分百的满足公司规定的项目结构,不免要手动改些东西。此时,自然而然的就会想到:...
Maven插件之Maven-Enforcer-Plugin

Maven插件之Maven-Enforcer-Plugin

Maven插件之Maven-Enforcer-Plugin2014-03-29 csdn博客 wangjunjun2008实际开发中,项目经理总会告诉开发人员:开发时要遵守什么什么样的约定,命名规范怎么怎样 样....约定优于配置,很重要!比较规范的公司(或者项目组),会把规范写到文档中,让开发人员去遵守。问题来了,怎么才能知道大家有没有按照规范走呢?有人会说了,找个工具校验一下就可以了,开源工具 很多。是的,这是对的。但对于项目中使用的程序、工具、开发环...
Maven插件之portable-config-maven-plugin(不同环境打包)

Maven插件之portable-config-maven-plugin(不同环境打包)

Maven插件之portable-config-maven-plugin(不同环境打包)2014-03-29 csdn博客 wangjunjun2008大的项目组中,分开发环境,测试环境,生产环境等;不同环境的配置不同,或数据源,或服务器,或数据 库等;问题来了,如何使用Maven针对不同的环境来打包呢?Maven提供了Profile的概念,用来解决此类问题,其原理很简单,就是使用变量替换;举个例子来说明, 测试项目目录结构如下图所示:比如开发环境和生产环...
从代码审核时遇到的有关JUnit的几个问题来看项目开发问题

从代码审核时遇到的有关JUnit的几个问题来看项目开发问题

从代码审核时遇到的有关JUnit的几个问题来看项目开发问题2014-03-29 csdn博客 wangjunjun20081、持续集成时,某个单元测试失败,找不到作者。项目成员持续流动,加之测试用例随着项目的开发而不断增加,查找代码的作者,也算是个力气活了,如 何能快速而准确的定位到代码开发者呢?Java提供的 @author 可以达到该要求;开发增加和修改的单元测试,必须要将开发者注释,便于快速定位。2、单元测试方法只能执行一次。一位同事写的代码,调用删...
跟Alexander Smirnov聊图形可视化

跟Alexander Smirnov聊图形可视化

跟Alexander Smirnov聊图形可视化2014-03-29 infoq Jonathan Allen老话说, “一图抵千言”,在处理复杂的业务数据时,这句话更是至理名言。为了帮助 用户理解他们看到的东西,开发人员经常要求助于柱状图和饼图。但那只适用于离散数据;要表示数据 之间的联系时,需要用其它工具。为了深入探讨这一主题,我们访问了Alexander Smirnov, GraphX的 创作者,让他来向我们解释图形可视化是什...
基于AWS的自动化部署实践

基于AWS的自动化部署实践

基于AWS的自动化部署实践2014-03-29 infoq 徐桂林1. 背景在过去几年里,社交、移动和云计算深刻改变了整个互联网的格局。作为设计软件领域的全球领导厂 商,Autodesk也与2009年正式开始从传统桌面设计软件提供商向在线服务、协作和移动端设计转型。在 这次转型中,公司充分利用现代云计算的巨大优势给客户带来了大大超过传统桌面软件的处理能力、用 户体验和性价比。其中AWS是目前公司服务的主要运行平台,每年在此投入千万美金级别。1.1. 传统软...
敏捷项目估算之故事和点数

敏捷项目估算之故事和点数

敏捷项目估算之故事和点数2014-03-29 infoq David Morris引言当你要雇一位漆工来装饰你的房子,或者一位修理工来修你的车时,你会要他们先给个估算,对吗? 你需要知道大概会花多少钱,需要多长时间。这是常识。然而经验告诉我们什么?初始的估算和最终的账单有多大差距?很有可能漆工会发现有松动的石膏需 要铲除,墙面需要修补和重新粉刷;修理工一定会发现要让你车子重新上路还有些其它的问题要解决。 在1951年的《纽约客》杂志中有这样一幅漫画,Syd...
你的应用就绪了吗?

你的应用就绪了吗?

你的应用就绪了吗?2014-03-29 infoq Gil Zilberfeld问题很简单,却很难回答。我们通常会按时间交付软件,在截止时间之前努力完成所有开发和测试工作。我们会优先完成那些自 己觉得重要的部分,当应用达到确定的质量标准后,就准备上线了。因为发布的内容可能不会尽善尽美 ,所以我们总是假设将来还有一些版本。甚至我们交付软件时,都不能辨别应用的就绪状态。我们总是 依赖于测试人员给我们答复,但为了产品的收益和质量,我们应该让所有人都参到这个过程中...
业务架构的主题和规则

业务架构的主题和规则

业务架构的主题和规则2014-03-29 infoq Michael Poulin业务架构已经成了个时髦的词儿。就像安全一样,所有人都听说过,也都有自己的看法,但只有极少 一部分人知道它的真正含义是什么。本文在同时考虑主题和规则的情况下对业务架构的现象进行了探讨。不知道业务架构的主题,则很难 判断业务架构角色的内涵和外延,比如规则。很多管理者和架构师会说:“这有什么问题?通过确 定利益相关者,并收集他们的观点,基本上可以定义出业务架构。&rdq...
<< 31 32 33 34 35 36 37 38 39 40 >>