易网时代-编程资源站
Welcome
首页
/
软件开发
/
数据结构与算法
ATDD实战
2017-02-06
16
ATDD实战2014-06-09 infoq/Henrik Kniberg 译:张卫滨验收测试驱动开发入门你是否遇到过这样的场景:那么本文就是为您而作——以一个具体的例子阐述了如何基于已有 的代码库启用验收测试驱动开发(acceptance-test driven development)。这 是应对技术债解决方案的一部分。这是带有一定缺陷的现实世界的样例,并不像教科书中的样例那样完美。所以 完全是来自于实战。我只会使用Java与J...
DDD和DDDLib在恒拓开源的发展历程与推广经验
2017-02-06
17
DDD和DDDLib在恒拓开源的发展历程与推广经验2014-06-09 infoq 刘林领域驱动设计(DDD)的概念源于2004年著名建模专家Eric Evans发表的书籍: 《Domain-Driven Design –Tackling Complexity in the Heart of Software》(中文译名:领域驱动设计—软件核心复杂性应对之道),池建 强在2011年发表的一篇文章《领域驱动设计和实践》中是这样形容DD...
基于键值的观察者模式编程
2017-02-06
18
基于键值的观察者模式编程2014-06-09 cnblogs 趣味苹果开发键值观察提供了一个机制,允许当其他对象的特定属性被修改时通知观察者对象。这一机制在应用程序的模型和控制器之间的通讯方面尤其有用。通常情况下,控制器对象观察模型对象的属性,而视图对象通过控制器观察模型对象的属性。此外,一个模型对象也可以观察其他模型对象。要接收一个属性的键值观察通知,需要:被观察对象调用addObserver:forKeyPath:options:context:方法注...
Rafter的DevOps
2017-02-06
16
Rafter的DevOps2014-06-09 infoq/Chris Williams 译:陈菲引导阶段在过去的6年里,我有着独一无二的机会观察我们公司是如何由几个只想着出 租教科书的应届毕业生发展成一个大而成熟的公司。当我回头看时,我会将我们 的成长分成两个不同阶段:A轮融资之前和A轮融资之后,与你听到或读到的大部 分创业公司不同,我们经历了相当长一段时间的A轮融资(大概有3年)。在这一发展阶段,我们并没有花费大量的资源或人力在DevOps上,相反我们...
用Spring实现非端到端验收测试
2017-02-06
21
用Spring实现非端到端验收测试2014-06-09 infoq 周宇刚验收测试让交付团队超越了基本的持续集成,即验证应用程序是否为用户提供 了有价值的功能。不过对于刚开始尝试部署流水线的团队来说,想要自动化验收 测试,需要跨过三大门槛。一是实现和维护验收测试的技术门槛。理想情况下,验收测试最好可以模拟用 户与应用程序的真实交互,因此如果有图形界面的话,验收测试理应通过这个界 面和系统打交道。然而,直接通过GUI进行测试会遇到几个问题:界面变化速度很 快...
一个可行的Selenium测试框架
2017-02-06
19
一个可行的Selenium测试框架2014-06-09 博客园 DiggingDeeply老早就想写一些Selenium测试框架的搭建,但是时间和想法都不太成熟。今天 就大概粗略的和大家分享一下。本文的背景假设读者有一定的selenium使用经验。1.元素定位大家都知道,网页这个东西在浏览器里展现出来的是一个完整的xml,所以可 以通过xml的访问方式,字符串查询,正则等来访问xml。selenium支持的遍历模式有:public class By{pro...
Jepsen:测试PostgreSQL、Redis、MongoDB以及Riak的分区容忍性
2017-02-06
20
Jepsen:测试PostgreSQL、Redis、MongoDB以及Riak的分区容忍性2014-06-11 infoq/Kyle Kingsbury 译:邵思华分布式系统的特性是能够在高延迟或不可靠的传输条件下进行状态交换。如果 要保证系统的操作的可靠性,必须保证在节点及网络两方面故障发生时的健壮性 ,但并非所有系统都能够满足我们所要求的安全能力。在本文中,我们将探索分 布式数据库在设计上的一些考虑,以及它们是如何对网络分区的情况作出响应。在两个节点间...
Promise/A的误区以及实践
2017-02-06
18
Promise/A的误区以及实践2014-06-11 infoq 李光毅什么是PromisePromise是一种让异步代码书写起来更优雅的模式,能够让异步操作代码像同 步代码那样书写并且阅读,比如下面这个异步请求的例子:$.get("/js/script,js", function () {// callback to do})就可以改写为Promise模式:var promise = $.get("/js/script&qu...
必胜宅急送Web app设计背后的思考
2017-02-06
18
必胜宅急送Web app设计背后的思考2014-06-11 infoq 刘蕊O2O模式是餐饮业在移动消费趋势下主动拥抱互联网的方向,迎合餐饮消费者 从以往经验判断为主转变为依靠移动设备、lbs、社交网络进行立体决策的过程。 继App客户端之后,手机web app也逐渐成为O2O中联系消费者和餐饮业的纽带,通 过Html5的技术支持,web app设计可以直接适配不同平台的手机屏幕并实现类似 App客户端的体验,在O2O双向流程的闭环中加深消费者对品牌的认同...
程序人生的四个象限和两条主线
2017-02-06
16
程序人生的四个象限和两条主线2014-06-11 infoq 陈理捷零为什么我们要自己做职业生涯规划?记得《社交网络》里边,CFO同学在知道 自己股权被稀释时说了一句话,“我以为那些律师是我的律师。 ”其实我们大多数人对HR几乎都存在类似的误解—— 你以为她是你 的HR,其实她只是公司的HR。她们care的是如何编个理由用老板给的那点小钱留 住一个高性价比的人才,而不是真正有助于你发展的职业路线图。昨天还含情...
从Reifer的“敏捷方法定量分析”研究中学到的十个知识点
2017-02-06
20
从Reifer的“敏捷方法定量分析”研究中学到的十个知识点2014-06-11 infoq/Donald J. Reifer 译:夏雪I. 敏捷方法的十个“知识点”Reifer咨询有限责任公司发表了一份名为“敏捷方法定量分析1” 的基准报告,这份报告比较了敏捷方法软件生产率、成本、持续时间和质量与传 统的计划驱动项目的差异。这份报告分析了800个项目(其中有250个敏捷项目) 的工作数据,跨越10年,使用了由...
故事卡片限制了敏捷
2017-02-06
22
故事卡片限制了敏捷2014-06-11 infoq/Joseph Flahiff 译:徐涵人们使用故事卡片的方法不对。我知道这么说很大胆,但我认为,大部分人使用故事卡片的方法确实不对。就我工作和指导过的团队而言,这点毫无疑问。不要误解我的意思,相比我们过去常用的传统的具体规范文档来说,故事卡片(storycards)是有很大提高,但我觉得,我们可以做得更好。我指导大家用传统方式来创建故事卡片已经很多年了,但发现故事卡片正限制着敏捷。故事卡片是敏捷开发中用于...
缓存子系统的设计方法
2017-02-06
19
缓存子系统的设计方法2014-06-11 cnblogs Aaron缓存子系统如何设计(Cachable tag, Memcache/redis support, xml config support, LRU/LFU/本地缓存命中率)大家对这段代码肯定很熟悉吧:public List<UserInfo> SearchUsers(string userName){string cacheKey=string.Format("Searc...
基于模型的测试和Spec Explorer简介
2017-02-06
25
基于模型的测试和Spec Explorer简介2014-06-11 MSDN Sergio Mera Yiming C要生成高质量的软件,需要在测试阶段进行大量的工作,这可能是软件开发过 程中成本最高、工作量最大的部分。 从最简单的功能黑盒测试到重量级的方法, 包括定理证明程序以及形式化需求说明,有很多方法可以提高测试可靠性和效率 。 但是,测试并不总是能达到必要的细致程度,经常缺乏规范和方法体系。十多年来,Microsoft 在其内部开发流程中成功应用了...
另一个关于持续集成和版本分支的故事
2017-02-06
19
另一个关于持续集成和版本分支的故事2014-06-11 infoq 周宇刚经典书籍《持续交付》[1]的作者曾就分支合并和代码演化等问题详细地讨论 过滥用分支对持续集成的负面影响。而我今天要说的是这样一个故事,一个只能 申请到非常有限的硬件设备的团队,他们是如何在多分支策略下实践持续集成的 。一个团队接手了一个项目,需要在开发新特性的同时维护几个发布分支。团队 计划实践持续集成,但手头的硬件资源严重不足,无法满足所有分支的部署流水 线同时运转。流水线分为三个...
敏捷流畅度:找到适合需求的敏捷方式
2017-02-06
23
敏捷流畅度:找到适合需求的敏捷方式2014-06-11 infoq/Diana Larsen 译:邵思华“从本质上说,所有的模型都是错的,但有些模型还是会起到作用。 ”这段话来自George E.P.Box,他是来自美国威斯康星大学的一位统计学家 ,并且是该大学的“质量与生产力改善中心”的创始人。坊间一直存在一种说法,即James Shore和Diana Larsen共同设计了一种敏捷 成熟度模型(AMM),...
软件正在吞噬组织机构中的“烟囱”
2017-02-06
17
软件正在吞噬组织机构中的“烟囱”2014-06-11 infoq/Luke Kanies 译:李彬Marc Andreessen曾说过,“软件正在吞噬这个世界”,而在数据 中心领域,我们也正在目睹这一潮流。软件正在接管那些过去一直由硬件实现的 功能;而对于人们如何共事,这一变迁正在引发戏剧性的改变。基本上,整个云计算的发展都与用软件来取代或抽象硬件有关。它始于虚拟化 ,已经走过了数十年的时光,但只是在最近10来年间才在商品化硬件方面...
浅谈架构、框架以及架构师
2017-02-06
18
浅谈架构、框架以及架构师2014-06-11我们先来看看本人对下面这两个名词的个人见解:软件架构:几乎每个软件系统的架构都是不同的,因为软件架构的第一步就是根据当前项 目的重要需求及约束来制定一个个技术决策。软件框架:可以分成行业框架和通用框架。通用框架是对大多数软件项目常用的模块(底层+高层)进行封装(同时暴露 热点)的一个集合,能提高开发速度以及质量行业框架是针对某特定领域,把类似领域逻辑提取出来进行封装(同时暴露热 点)的一个集合,能提高开发速度以及...
使用Jazz Automation编写自动化测试
2017-02-06
17
使用Jazz Automation编写自动化测试2014-06-11 infoq/Dedrick Boyd 译:孙镜涛Jazz Automation介绍Jazz Automation是一个测试框架,构建它的目的是为所有类型的Web系统或者 静态网站自动化同时加速验收/功能测试。它还能够容易地实现自动化集成测试。 以前的时候这种类型的测试需要人工完成,劳动强度大又不准确。借助于自动化 测试,公司能够创造高质量的应用程序,创造的产品bug更少,同时又加快了投入...
重构遗留程序的学习案例
2017-02-06
19
重构遗留程序的学习案例2014-08-07 infoq Chen Ping 译:邵思华遗留代码经常是腐臭的,每个优秀的开发者都想把它重构。而进行重构的一个理想的先决条件是,它应该包含一组单元测试用例,以避免产生回归缺陷。但是为遗留代码编写单元测试可不是件容易的事,因为它经常是一团糟。要想为遗留代码编写有效的单元测试,你大概得先把它重构一下。但要重构它,你又需要单元测试来确保你没有破坏任何功能。这种状况相当于要回答是先有鸡还是先有蛋。这篇文章通过分享一个我曾...
<<
41
42
43
44
45
46
47
48
49
50
>>
版权所有©石家庄振强科技有限公司2024
冀ICP备08103738号-5
网站地图