“软件工程”文章列表
(原文发布于2012年6月25日) 这几年,持续集成随着敏捷在国内的推广而持续走热,与之相伴的持续部署也一直备受关注。自前两年,持续交付这个延续性概念又闯进了国内 IT 圈,慢慢开始在社区和会议中展露头角。许多不明真相的群众跟风哭着喊着要“上”,而许多前 CI 的半吊子玩家换件衣服就接着干,有...
负载均衡作为提高网站性能的主要方式被大多数网站采用,文中概述了现有的负载均衡技术的分类与各自特点。
【编者注】王淮是Facebook第二位中国籍工程师,也是第一位中国籍研发经理,他一手开创了Facebook的支付安全和客服工具领域。2011年他离开Facebook,回国成为天使投资人,希望用自己在Facebook的经验帮助创业者。 在详细说明Facebook产品开发流程的九大步骤之前,必须先...
简介 团队的开发人员撇开需求沉浸在想象中的“完美”程序中;测试人员迷茫的点击着按钮试图搞明白这到底是个什么功能;设计师造出了没有尽头的楼梯,更糟的是,客户爱上了这个设计;团队领导四处救火,力有不逮。种种迹象表明,我们得打破分工带来的壁垒,建设全功能团队——大多数人能完成大多数种类工作的团队。 ...
作为 ThoughtWorks 的一名咨询师,我曾不止一次的被问到 ThoughtWorks 的交付项目和一般意义上的外包到底有何区别。要区分差别,首先要对外包加以定义,外包从最传统的 IT 外包到业务流程的外包,以及最近几年新兴的知识流程外包,其本身的定义也在不断的演化。每种外包有其不同的诉求...
英文原文:Patterns for Continuous Delivery 当你有了持续集成需要的构建服务器和脚本之后,下一个问题肯定是:“我们该拿这些构建版本怎么办?”持续交付,以自动化或半自动化方式,将构建版本从一个环境提送(promote)到更接近实际生产的交付准备环境;这常常是公司在这...
代码审查(Code Review)是软件开发中常用的手段,和QA测试相比,它更容易发现和架构以及时序相关等较难发现的问题,还可以帮助团队成员提高编程技能,统一编程风格等。 1. 代码审查要求团队有良好的文化 团队需要认识到代码审查是为了提高整个团队的能力,而不是针对个体设置的检查“关卡”。 ...
英文原文:“That’s Not TDD”
几个月前,我去一个客户那里,他们在使用测试驱动开发上遇到了很多问题。
“我们的单元测试用例要半个......
一张技术文凭就是铁饭碗敲门砖的时代已经一去不复返了。如今,各大公司寻觅的是具有商业头脑的IT高手,而不是单纯的技术专家。如果你现在是一个编程高手,想要成为一名软件工程师,探索和学习就不能停止。不久之前,软件开发者的软件应用编程和测试工作是相对独立的。如今,DevOps(开发运营)革新浪潮来袭,强...
前言 做运维的那么多,快乐的能有几个? 我们那么努力,为什么总感觉过得那么憋屈、苦闷?做的事情那么多,为什么业务部门、直接领导和公司貌似都那么不领情?怎么做才能自己更加开心些? 本专栏的主线实际是一个运维人员的十年成长史,从菜鸟到运维总监。但不是基础技术教学,也不会在运维技术的某一方面过深...
我们通常都是对图形化的东西情有独钟,我们小时候的启蒙教育基本上也都是从图形化开始的,我们曾经看过的连环画、漫画、看图识字等等。因为图形能将一个抽象的东西......
1、软件长期运营存在什么问题 一个大规模的客户端软件的生命周期中,我们可以把它分为两个比较粗的时期。一个是前期的搭建软件的时期,即从无到有的时期;第二个是搭建完成之后,进入的一个稳定的运营时期。第二个时期才是最关键的,在这个时期我们会持续的迭加需求,持续的优化功能,而且第二个时期也是代码在慢慢...
你有复用习惯吗? 你是程序员吗?我们经常要写数据库连接的代码,这些代码都类似,无非是new一个connection,然后配置connection的参数,然后open。很多编码新手,常常会在不同的地方编写这段类似的代码。其实很简单,这段代码应该抽取出来供每个地方调用。如果你编写的代码中发现很多类...
1 主要概念
SOA :英文全称是 Service-oriented architecture ,现在概念比较的不统一,主要由以下几种定义
W3C :可以调用的一系列组件,其接口描述可以发布和......
传说中的结对编程,大致结构是两个人共用一台电脑,一个开发,一个测试,以随时评审来抵消返工时间损失。
传说归传说,谁也没有见过。问题出在哪里?有两种主要原因......
英文原文:How to write good requirements 编写需求文档,在嵌入式开发领域是非常普遍的。需求文档被用来定义开发任务,协调大规模的研发计划。对于最终的产品,需求文档扮演着开发者行为和消费者行为之间沟通纽带的角色。当需求文档书写正确的时候,便可以发挥巨大的作用。然而,如...