把影响集中到一个点

http://djt.qq.com/article/view/16

其主要思想就是把影响集中到一个点,然后再发散到一个面,出现意外情况后很容易就回退。

Gmail Labs是一个新特性橱窗,用户可以自己选择一些未正式发布的新特性进行体验,不喜欢可以关闭,在这个过程中,吃了螃蟹,也当了Google的小白鼠。

  这个做法比传统的灰度要高明很多,更加尊重用户:

  1、它没有强X用户,用户是否愿意当小白鼠完全自愿

  2、新特性不是打包在一起的一个大版本,可以选择某几个喜欢的螃蟹尝尝

  3、螃蟹不好吃可以扔掉,不用硬吃进肚子里引发肠胃炎

  当然这些好处也是有代价的:

  1、要开发一个labs平台实现新特性上架、独立尝试的功能,这可能要改动Gmail的前后台架构

  2、新特性要按照一定规范来写,才能发布到这个平台上,可能会增加一些工作量

  3、小白鼠用户增多之后,对系统的压力可能会有一定提升,因为没有用户调用的界面都不一样了

  既然Gmail Labs能够顺利发布,那么说明对Google来说,以上这些问题都不算问题。另外,现在展示的新特性,都注明了开发者的名字,那么,Gmail Labs可能会开放这个平台让外部开发者也能提交特性?这倒是很open的一种开发模式,非常适合Google的web app产品线。

  互联网产品有一个特点,就是不停的升级,升级,再升级。我所在的项目组,基本上保持每周一次的发布频率,系统升级总是伴随着风险,新旧版本兼容的风险,用户使用习惯突然改变而造成用户流失的风险,系统down机的风险.....   为了避免这些风险,很多产品都采用了灰度发布的策略,其主要思想就是把影响集中到一个点,然后再发散到一个面,出现意外情况后很容易就回退。

时间: 2024-07-28 23:15:46

把影响集中到一个点的相关文章

学习递归时,影响到的一个算法问题

当年学习递归,有一个例子是 1,1,2,3,5,8,13......这样求第N个数的值. 当时还颇为认同其递归的巧妙. 后来去携程面试,还被问到,心里暗爽,这不是送分吗.俩分钟再小黑板上写出了递归的实现,被瑞亮总给分析了说是个O(n*n).还觉奇怪,为啥点了下这个 今天温习算法时,看到关于深度搜索和宽度搜索时,想到这个题目,重新思考了下.顿时觉得当时面试时,瑞亮总当时给留了面子. 下边是今天想到的O(N)的实现方法. int n =7; ArrayList<Integer> list = ne

如果你建造了一个精良的模型却没人用,你肯定不会得到赞誉(转)

注:本文编译自 How to do Data Science ,作者 Brandon Rohrer 为微软高级数据科学家. <哈佛商业评论>曾宣称“数据科学家”是二十一世纪最性感的职业.所谓性感,既代表着难以名状的诱惑,又说明了大家对它又不甚了解. 如何做好数据科学呢? 微软高级数据科学家 Brandon Rohrer 概括了做数据科学的七大步骤,手把手教你做数据科学. 1. 获取更多的数据 数据科学的原材料是数字和名称的集合,测量.价格.日期.时间.产品.标题.行动等,数据科学无所不包.你也

也来山寨一个2048

2048最近似乎热度已过,但是并不影响我山寨一个它.周末闲来无事,终于付诸实现,包含winform和js版本.有图有真相  实现思路: 1.通过二维数组data=int[4][4]来存储游戏数据,初始全部为0 2.游戏初始在4X4布局中随机位置产生2个随机数(只随机2,4) //初始化游戏数据 void InitGame() { ClearGame(); Random rand = new Random(); int pos1 = Convert.ToInt32(rand.Next(16));

每天一个CSS(box-sizing)

box-sizing 是CSS3中新增的样式.我理解 主要是规定css中box模型的规则. 语法 box-sizing: content-box|border-box|inherit; content-box 是指定box的宽度和高度分别应用到元素的内容框.在宽度和高度之外绘制元素的内边距和边框. border-box 是指定box的宽度和高度后,再从已设定的宽度和高度分别减去边框和内边距才能得到内容的宽度和高度. 示例一:设定div的外边距为 5px, 内边距为 5px, 边框为 10px,

一个程序员的总结——开发注意事项

一年到头了,作为本命年的我,今年发生了太多的事情,但是不幸的是,都是好事儿,有点太过得意洋洋了,不过,不管一年顺抑或不顺,都是需要总结的,毕竟,总结,才能让人成长,首先,想注意的事情就是开发注意事项. 特别想说一件事情,公司每个功能上线之前都要测试,在测试环境测试,并且也会在正式环境测试(非公开版),把上线的问题降到最低,发生过这么几件事情,有好几次,我开发的时候没有看到问题,测试测试的时候也没有问题,但是在正式环境测试的时候,我们的头儿一眼就看到问题,很神奇的一件事情,感觉他好像就长了一双挑b

【译】SAE:一个大规模网络的社交分析引擎

Yang Yang, Jianfei Wang, Yutao Zhang, Wei Chen, Jing Zhang, Honglei Zhuang, Zhilin Yang, Bo Ma, Zhanpeng Fang, Sen Wu, Xiaoxiao Li, Debing Liu, and Jie Tang Deparment of Computer Science and Technology, Tsinghua University 发表时间:2013 发表刊物:KDD 摘要     在

计算一个整数的二进制中1的个数

问题: Write a function that takes an unsigned integer and returns the number of ’1' bits it has (also known as the Hamming weight). For example, the 32-bit integer ’11' has binary representation 00000000000000000000000000001011, so the function should

Android中如何优雅地自定义一个View

Android中自定义View的实现比较简单,无非就是继承父类,然后重载方法,即便如此,在实际编码中难免会遇到一些坑,我把自己遇到的一些问题和解决方法总结一下,希望对广大码友们有所帮助. 注意点① 用xml定义Layout时,Root element 最好使用merge 当我们需要继承一个布局比较复杂的ViewGroup(比较多的是LinearLayout.RelativeLayout)时,通常会用xml来写布局,然后在自定义的View类中inflate这个定义了layout的xml文件. 首先

【C语言】02-第一个C程序

由于我们最终要学习的是iOS开发,因此就使用Mac平台下的Xcode搭建C语言开发环境,而不使用Windows系统 如果你是在Windows环境下,可以下载这个简单的C语言学习工具:C/C++程序设计学习与实验系统 或者 下载微软的Visual C++,这个就稍显专业.重量级了 1.打开Xcode,新建Xcode项目 2.选择最简单的命令行项目 3.输入项目信息 Organization Name和Company Identifier可以随便写,对C项目没有影响 Use Automatic Re