当前位置: 首页 > 编程日记 > 正文

#Qcon# 分享

明天被领导要求分享Qcon体会,实在是件不怎么容易的事情。Qcon这样的企业开发大会,很多东西必须要实际应用过才能深有体会,泛泛的谈似乎又觉得乏味。好吧,泛一下就泛一下吧,总比废话要强(上一句是我认为的废话)。

第二天的Qcon大会我主要听了“Devops”的主题。下面分场次来讲一下:

1. 乔梁的Devops

持续集成(CI)拉近Dev和QA

敏捷(Agil)拉近了Business,Dev和QA

Devops需要拉近Dev,QA,Ops

Devops兼顾了Dev,QA,Ops,Devops = Culture + Tools,乔梁认为Culture占了70%~80%

无论是CI,Agil还是Devops,自动化是最最基础的。

自动化根据应用场景的不同可以分为三个方面:

1. Environment Provisioning (推荐工具:Puppet,Chef,ControlTier)

2. App Deployment & Data Migration (推荐工具:Capistrano,DBdeploy)

3. Logging & Monitoring (推荐工具:Splunk,Nagios,Munin)

工具具备,如何做(How)?

1. Always write production-ready code

2. Minimize the lead time from idea to live

(我怎么感觉这是What,而不是How)

再玩一下概念:

乔梁提到了精益软件开发(Lean Production,LP,哦,是精益,不是老婆。。),LP是敏捷开发模式中的一种。他提到了符合LP的几种有用实践:

1. System Thinking

2. Value Stream Mapping

3. Practices

后来提到了Marting Fowler一篇关于特性分支的文章:http://martinfowler.com/bliki/FeatureBranch.html

后来举了一个baidu内部推行持续交付的实际项目。

2. 印度某公司的Devops关于Chef的介绍

提到了Devops的Culture:

infrastructure as code

1. Repeatabiity —— Idempotence (幂等性)

2. Automation

3. Agile

4. Scalability

5. Ressurance

6. Disaster Recovery

ssh in for loop is not a solution

后面就开始介绍Chef在他们公司的应用,哥不是很了解。不过发现Ruby在工程上的应用还是很多的(Chef是用Ruby开发的)。

3. 百姓网的敏捷实践

人少的团队就是敏捷啊,不敏捷也就可以88了。

百姓的现状:

1. 集中开发环境

2. 用户测试驱动开发(PHP的动态特性)

3. Svn无分支

4. 每日上线

总体感觉,由于技术人员比较少(全部加起来也就12人),在很多方面可以做到非常灵活,本身的技巧可能并不是多么新鲜。

光是写了下别人的东西,感觉不太好,我补充一下个人的体会,精辟的说两句:

1. 作为技术人员,至少目前是,对于“概念”要保持足够的认识。要知其所以然(为什么要提出这个概念?目前是否有好的实践?),而不是泛泛停留在表面,没有哪家公司会为了“概念”付费。

2. 概念说到底,就是要求项目中的人具备各方面的能力,才能让沟通、理解保持在很高的水准,最终达到更快,更高,更好的目的。比如“Devops”,很明显的例子,所谓的“一专多能”。

3. 很多东西,属于“虽不能至,心向往之”,比如百姓网,只有12个开发,那敏捷的程度自然不是动辄几百个开发的大公司所能比拟的。但是我们要敢于想象一种理想的境界,而不是过分强调“我们目前的实际情况”,这个不可行,那个不现实,结果一样没去做。我理解的废话,一般就是这种类型的,“虽然。。但是。。”,“一方面。。另一方面。。”,“希望更理性的分析。。而不是。。”,网易做产品强调“有态度”,做人做事也是如此,一定要有倾向性,让别人看得出你的态度:赞同什么,反对什么;赞同谁,反对谁,尽管都是一定程度上的(你懂的)。

好了,9点快到了,写的再爽也要停笔了,人怎么能跟时间较劲呢。呵呵。

相关文章:

判断一个数为多少位 比如 3 是 1位 102 是3位。

12345678910111213141516//判断一个数为多少位 比如 3 是 1位 102 是3位。#include <iostream>using namespace std; int main() {int a; cout<<"input a num"<<endl; cin>>a; int t1; for(int i10;i<10000000;i*10,t) if(a<i) brea…

完成CitrixVDI架构了解及部署测试

很是不错&#xff0c;经过近两周时间对CitrixVDI架构的学习&#xff0c;有了初步的了解和认识&#xff0c;同时&#xff0c;也在家中完成了整个体系的部署实验。由于公司正在使用着VMware的VDI(Viewe3.0)&#xff0c;又在测试CitrixVDI&#xff0c;使两者终于有了直接的对比&am…

keepalive

高可用解决方案&#xff1a; heartbeat corosync cman keepalived 前面我们讲解了&#xff0c;LVS&#xff08;负载均衡器&#xff09;、Heartbeat、Corosync、Pacemaker、Web高可用集群、MySQL高可用集群、DRDB、iscsi、gfs2、cLVM等&#xff0c;唯一没有讲解的就是LVS可用&a…

普元王葱权:数字化时代需要新一代的大数据应用平台架构

记者 | 杨丽出品 | AI 科技大本营&#xff08;rgznai100&#xff09;2018 年 12 月 6 日&#xff0c;北京新云南皇冠假日酒店&#xff0c;由中国计算机学会主办&#xff0c;CCF 大数据专家委员会承办&#xff0c;CSDN、中科天玑数据科技股份有限公司协办的 2018 中国大数据技术…

Agile DSL Development in Ruby 笔记

pdf见&#xff1a;http://obiefernandez.com/presentations/obie_fernandez-agile_dsl_development_in_ruby.pdf 1. What is DSL ——designed for a specific domain ——captures jargon in executable form ——can be internal or external 2. How to design Ruby DSL (…

人生的出口。在哪

清晨&#xff0c;雨停了。到处都是滴滴答答的雨滴声。似乎这场空洞漫长的过程一直在延续着。也不知道是为什么。在下完雨之后。自己的心情会特别的低落沉重。似乎经历了一场浩劫。没有太多的言语可以去描述。只有自己内心乏味的明白那些含义深刻的东西。约了好友。我迟到了十多…

zabbix专题:第十一章 zabbix之SNMP方式监控

&#xff08;SNMP基本都是监控网络设备&#xff0c;本文介绍点理论知识&#xff09; 概述 如果我们需要监控打印机、路由器、UPS等设备,肯定不能使用zabbix agentd,因为他们不能安装软件的,还好他们一般都支持SNMP协议,这样我可以使用SNMP来监控他们.如果你希望使用SNMP agent来…

Some Rules from wrting your own dsl with ruby

来自&#xff1a;http://blog.nofail.de/2010/02/writing-your-own-dsl-with-ruby/ Some Rules from wrting your own dsl with ruby 1. let the user choose how to use it all implemented methods return the object instance itself,so one can chain method calls for con…

免费报名 | 微软全双工语音对话以及在智能硬件上的应用

微软小冰第六代发布会上正式宣布上线全新的共感模型&#xff0c;同时也开始公测一种融合了文本、全双工语音与实时视觉的新感官。这项新技术可以实时预测人类即将说出的内容&#xff0c;实时生成回应&#xff0c;并控制对话节奏&#xff0c;从而使长程语音交互成为可能。而采用…

文件服务器迁移

不论大小&#xff0c;几乎每个公司都有自己的文件服务器&#xff0c;或者简单点的共享文件夹。随着数据的爆炸式增长&#xff0c;以及天长日久累积下来&#xff0c;数据量往往在一年两之后就超出服务器的容量。要解决这个问题&#xff0c;首先当然是做好数据管理&#xff0c;用…

Windows脚本初探之PowerShell流程控制if

Windows Powershell中if语句为可以为一下三种形式&#xff0c;只用表达式为True时才执行相应花括号中的命令语句/块&#xff1a; 示例1&#xff1a; 1234if (表达式1) { 命令语句/块1 } 示例2&#xff1a; 12345678if (表达式1) { 命令语句/块1 } else{ 命令语句/块2 } 示例3&a…

“万人迷”小冰背后的AI故事

作者 | Jane出品 | AI科技大本营从 2014 年的夏天小冰出现在我们的视野到今天&#xff0c;谈到小冰&#xff0c;你的第一印象是什么&#xff1f;一款可爱、萌萌哒的聊天机器人&#xff1f;一款随时在你身边&#xff0c;可以帮你做一些场景任务的语音助手&#xff1f;如果说&…

开放式Android联盟成立

在Google采取行动反对CyanogenMod项目的几天之后&#xff0c;提供了定制的Android固件。一组Android开发者成立了开发式Android联盟。根据项目的网站介绍&#xff0c;这个联盟是‘pro-Android’而不是‘anti-Google’。他们的目的取代封闭的源代码&#xff0c;专有的应用程序包…

QQ卖手办,用AI分析用户评论

作者 | 徐汉彬指导 | 宋彦编辑 | Jane出品 | AI科技大本营徐汉彬&#xff0c;腾讯鹅漫前台研发团队 Leader&#xff0c;T3-3 级工程师&#xff0c;负责鹅漫U品和 AMS 平台&#xff08;高峰期 PV 超过 13 亿&#xff09;的研发工作&#xff0c;在 Web 研发、活动运营服务领域有丰…

使用svn时碰到的一个的问题

做技术的人&#xff0c;需要有完美主义&#xff0c;很多问题&#xff0c;如果当时不能彻底解决&#xff0c;往往会留下更大的麻烦。这个字符编码的问题&#xff0c;当时碰到的时候没有主义&#xff0c;以后遇到的时候也是抱着躲避的鸵鸟主义的态度&#xff0c;今天认真对待了一…

远程为服务器安装Windows 2008 Server

命苦&#xff0c;老早就定好10.1期间要把服务器重新安装一次&#xff0c;今天反正也没有事情&#xff0c;来尝试下远程安装,因为以后的MOSS公司要远程的管理和使用 先登录到远程控制卡的管理地址 然后输入用户名和密码,以下是登录成功后的界面 然后在左侧的功能树中选择“介质”…

Spring装配Bean---使用xml配置

声明Bean Spring配置文件的根元素是<beans>. 在<beans>元素内&#xff0c;你可以放所有的Spring配置信息&#xff0c;包括<bean>元素的声明. 除了Beans命名空间&#xff0c;Spring的核心框架总共自带了10个命名空间配置&#xff1a; 命名空间用途 aop 为声…

Ruby DSL介绍及其在测试数据构造中的使用(1)

什么是DSL&#xff1f;英文全称Domain Specific Language&#xff0c;中文解释为领域专用语言。顾名思义&#xff0c;DSL是针对某个特定领域而开发的语言。像我们平时接触到的C/C&#xff0c;Java&#xff0c;Python/Ruby&#xff0c;都属于通用语言&#xff0c;可以为各个领域…

2017年度最受欢迎开源中国项目:roncoo-pay投票评选

2019独角兽企业重金招聘Python工程师标准>>> roncoo-pay项目正在参加 2017年度最受欢迎中国开源软件评选&#xff0c;请大家投上宝贵的一票&#xff0c;支持roncoo-pay更好的发展&#xff0c;为大家带来更多好用的支付功能&#xff01; 2017年度最受欢迎中国开源软件…

编程小问题系列(2)——为什么WPF里MediaElement等视频控件不起作用

为什么WPF里MediaElement等视频控件不起作用&#xff1f;非常可能的原因是因为没有安装Microsoft Windows Media Player 10或者10以上的播放器&#xff0c;MSDN文档里就写有下面一句话&#xff1a;Both and are used to present audio, video, and video with audio content. B…

国行版HomePod售价2799元,本周五发售

&#xff08;图片源自苹果中国官网截图&#xff09;整理 | 一一出品 | AI科技大本营去年 12 月&#xff0c;苹果表示将于今年年初在中国销售其 HomePod 智能音箱。1 月 14 日&#xff0c;苹果公司正式宣布&#xff0c;HomePod 将于 1 月 18 日&#xff08;本周五&#xff09;在…

维基百科联手谷歌翻译,结果“惨不忍睹”!

作者 | 琥珀出品 | AI科技大本营作为前沿科技新闻报道的一线工作者&#xff0c;我们经常会碰到各种陌生难懂、语言不通的词句。这直接导致我们在引用和查找信息时&#xff0c;往往辅助以维基百科和谷歌翻译为代表的两大信息引擎&#xff0c;其重要性不言而喻。然而&#xff0c;…

Ruby DSL介绍及其在测试数据构造中的使用(2)

在(1)中介绍了DSL和普通的函数定义之间的区别。在(1)的最后提到&#xff0c;DSL分为内部DSL和外部DSL&#xff0c;我们再看一遍他们的定义&#xff1a;1. External DSLs 用不同于host语言的语言来编写&#xff0c;通过编译和解释器来翻译成host语言 2. Internal DSLs 将host语言…

批量编译fla文件

jsfl太神奇了不过内存不高的机器还是少编译一点&#xff0c;会同时打开你选择的文件夹下的所有fla文件&#xff0c;然后一个一个自动编译。Compile flas.jsfl//----------------------------------Start--------------------------------//Brent Arnolds kick butt batch folde…

字符串转换成utf-8编码

a、将字符串转换成utf-8编码的字节&#xff0c;并输出&#xff0c;然后将该字节在转换成utf-8编码字符串&#xff0c;在输出 b、将字符串转换后才能gbk编码的字节&#xff0c;并输出&#xff0c;然后将该字节在转换成gbk编码字符串&#xff0c;在输出 123456789101112def main(…

50万奖金+京东数科offer,JDD-2018全球总决赛冠军诞生

&#xff08;JDD 大赛总决赛选手与导师、评委合影&#xff09;整理 | 一一出品 | AI科技大本营1 月 13 日&#xff0c;JDD-2018 京东数字科技全球探索者大赛全球总决赛落下帷幕。在经过 24 小时极限挑战和 2 小时商业路演的较量后&#xff0c;来自以色列赛区的团队“Cheese&…

三星笔记本FN功能键操作大全

Samsung 的快捷键都很简单&#xff0c;提供的都是最常用的功能&#xff0c;但新出的X系列和P系列机的FN快捷键差异很大,例如X10和P25。现在介绍FN快捷键以巧的X10为主&#xff0c;补充说明P25。FN上方向键/下方向键&#xff1a;增加/减低亮度FN左方向键/右方向键&#xff1a;增…

[翻译] Ruby Golf

原文地址&#xff1a;http://rubysource.com/ruby-golf/ Ruby golf is the art of writing code that uses as few characters as possible. The idea originates in the world of Perl (where it is, unsurprisingly, known as Perl Golf). As a language, Perl is well suite…

AI删库,程序员背锅?

作者 | 一一出品 | AI科技大本营又一代码清库的惨案发生了&#xff0c;不过这次要背锅是 AI。近日&#xff0c;美国最大点评网站 Yelp 的工程师训练的神经网络闯祸了。他们训练了一个用来消除 bug 的神经网络&#xff0c;万万没想到&#xff0c;该网络删除一切&#xff0c;从根…

OpenStack Keystone架构一:Keystone基础

一 什么是keystone keystone是OpenStack的身份服务&#xff0c;暂且可以理解为一个与权限有关的组件。 二 为何要有keystone Keystone项目的主要目的是为访问openstack的各个组件&#xff08;nova&#xff0c;cinder,glance...&#xff09;提供一个统一的验证方式,具体的&#…