2015Qcon参会记录(内有show girl)
因为前一段刚去了一趟杭州的阿里TD时代交流,就没有好意思在部门内部申请Qcon的门票。但最后还是没有耐得住心里的痒,请假去听了,这里多谢把票让给我的XX同学(应他要求,马赛克了名字)。
今年的Qcon延续了往年的质量,讲师大部分是业界里较为公认的高手,牛人,选题也十分切中近期热点:架构,运维,大数据,机器学习,安全,敏捷,动态语言,云,移动开发,前端技术,测试,软件过程,可以说是无所不包。各个领域的专家在这三天里不断的争奇斗艳,热潮一浪高过一浪。今年的人也是比往年多了好多,一个工作人员哥们告诉我,今年有1.7k的参加者,怪不得每次中场休息走廊里基本上都走不动,上个男厕所还要排队5分钟呢。在北京这个IT精(diao)英(si)聚集的城市,Qcon的生命力显然是极为强大的。
Qcon其实是一个偏向IT具体技能的一个交流盛会,对于测试人员来说,餐会有点儿硬。哥虽然现在一个月也写不了两三百行代码,工作中80%的时间也不是在跟技术细节死磕,但凭着几十万行代码的底子,还有一颗热(si)爱(xing)技(bu)术(gai)的心。还是能够很享受饕餮的。测试是老本行,所以听的时候记录了很多测试相关的知识和感受,在这里做一整理,也算是学而时习之。
关于运维:在互联网时代,可以说后期的运营才是互联网经营的关键,前期的开发只是基础的基础。就例如:微软卖给你office拷贝以后,直接就可以拿到钱,交付后定期打打补丁就行了,但是随便一个网游,就得保证服务一直是好的,因为玩家付费的真正原因是--“我一直能玩得爽”。因此“软件/产品的生命周期“不再是从需求到交付,而是从需求到最终下线。运维的重要性越来越强,地位也越来越高,因为他们承载了更多对”质量“的守护职责。运维平台因此也变得越来越强大,相应的,也就变得越来越厚重。Qcon上,BAT,新浪,搜狗等多位运维专家都讲了他们对于运维的经验心得。总结起来有这么几个方向:
- 运维朝着大规模自动化发展,降低人工操作所占的比例,这样做的好处有二:一是故障恢复,自动比手动快;二是自动化赋予了运维人员管理更多机器的能力。
- 依据自己公司的IT架构构筑了运维平台,完成复杂的调度、维护工作。这种进化是在被现实逼迫和自我追求的交织中逐步实现的。
- 新的IT架构越来越考虑运维需求,如Docker,充分考虑了运维方面的便利。
- 运维的基础还是:错误归类,总结,提取,搞定,优化这五部,用一个成语来说就是百炼成钢。这种思路其实适用于各种运营类工作,比如供水供电。
- 随着构筑在互联网上的东西越来越重要,对于可靠性的要求也是屡创新高,小数点后面要求挂的9越来越多。其实挂9是一个难度指数级递增的工作,多挂一个,付出的可能不止十倍的投入。
- 一些思考:运维相关的功能其实在很多的思维惯性中是不属于功能测试内容的,在系统测试过程中,很多团队也会把它忽略掉。在几位讲师的演讲中,都关注于feature,而没有讲解测试相关的问题。讲解的间歇,与多位运维工程师还有讲师交流,感觉到运维工程师的思维方式是:试错+演练。而不是特别倾向于使用大量正式的测试来在上线前保障运维相关feature质量的保障。我猜也许是工作性质,还有长期在最前线游走,艺高人胆大造就的这种工作思路。我交流的人数不够多,可能不具备代表性,但我的感觉上,运维测试是目前很多团队都会忽略的盲点。在我的工作中,我们会和运维工程师合作,抽取运维feature的测试点,作为系统测试的必选项,但也是在路上,因为我们的运维工程师也不倾向于投入太多时间到前期的测试合作中,因为他们太忙了:)
关于新技术:
IT业是世界上发展最迅速的行业。钱多,自由,创新这些特性吸引了无数高智商的家伙挤进这个领域,成就了各种具体技术更新换代以月计的速度。下面胡乱侃侃:
- 前几年就已经紫透了的云,今年更是紫的发黑,已经有无数的传统企业开始往云上搬家。搭建在云上的解决方案也越来越丰富,导致各种aas满天飞。但云也是个相对年轻的技术,身上好多东西还没有长全,各种基础技术支撑点上还有很多薄弱项,比如支撑的基础网络,分布式存储、计算,安全解决方案,可靠性,传统IT系统迁移的方案等等,都还是大有可为。
- Docker今年真是大放异彩,从去年的崭露头角,到了今年无数人开始大规模使用。Redis也变成了无数人的新宠。我至少在5场演讲中听到了讲师所在团队对Redis的使用,这也难怪。上手快,跑的也快,谁不喜欢?
- 这次Qcon有3个专题是在移动前端上使用Native和web融合技术的实践。可见开发人员早已垂涎html的好了,毕竟趋利避害是天性。移动端cpu再快点儿,web性能上再加把油,其实会是大趋势。
- 今年的Qcon上node.js有点儿萎靡,也许是太过简单,太过好用,已经没啥可讲了。但是中小网站开发上,node已经是烽火燎原了。
- n种动态语言由于各自的优势成了很多新兴创业公司的选择,比如小米网使用Go语言实现了它们的秒杀系统,使用的初衷就是:像C上手快,建模容易,对并发支持好。云巴采用了Erlang来打造他们的系统,看中的就是它对高并发的强大支持(当然还有其它很好的特性,云巴CEO的那场我很喜欢,因为做过交易中间件的测试,对里边的很多内容很有感)。
- 老语言PHP也在一直进化。终于见到了传说中的Laruence,他讲了PHP7开发的一些事情,由于对php不了解加上底层功力太浅,只听懂了小一半。但是,咱们国人有人在做这样牛逼的工作,觉得还是很自豪的。
- Amazon对python的支持真是友好:)各种给力,Netflix的案例挺不错。个人觉得如果后台对计算逻辑要求很复杂,对交易的并发要求又不是太苛刻。全python技术栈将会是个挺好的选择。
- 思考:对于层出不穷的新技术,我觉得it人员不用患有恐惧症。一则,深钻一门,比如java,玩到炉火纯青,就算别的都不怎么会,一年搞个30w还是很容易的。二则,全是换汤不换药,懂基础就能很快搞定一切,编译原理牛逼的话,动态语言那些炫酷特性秒懂本质,5分钟上手;linux环境编程牛逼的话,你会发现Docker神马的就是在搞一搞系统调用,Erlang神马的就是在玩进程,云平台也没啥神秘。现在造出来的软件的趋势都是上手越来越容易,比如JAVA时代动辄上千个配置项的庞然大物已经在被大众唾弃了,新的东西都是小而美,学习成本会太深。例如,今年花了3周来学习node.js。每天不到2小时,3周过后,已经可以在阿里云上写个小网站了,新技术都是越来越简单的趋势。三则,一般it工作者都是持续学习型人才,用到什么,学就是了。
作为一个测试人员,该怎么做呢?其实一样,也得不停的学习,不然你的被测物改变了,而你没有跟着掌握相关知识,怎么测试得好呢?因此,如果团队使用了redis,测试人员至少得知道简单的管理命令,会使用一个客户端程序(如jedis)来实现对数据库的简单操作;如果团队使用了docker,测试人员就要知道在docker下你的被测物部署细节的变更;如果你的团队在开发andriod程序,测试人员最好能够读懂andriod的框架程序,并且掌握对应的测试技术栈(andriod instrumentation等)。
关于敏捷:
最后一天在敏捷专场听了3场。对京东的那一场不是很有感,觉得没有讲出什么实际的东西来。袁店明的相对有意思一些,把他以前见到的很多坑都挖了出来给大家看,由于前两年参与了公司的敏捷转型,又跟踪过多个敏捷团队的工作方式,对一些话题还是很有感的。吴穹老师的话题很有意思,他竟然把“复杂理论”和现实的管理工作结合了起来,让人耳目一新。他提的几本书我也都看过,但是为什么不会产生他那样的idea呢?这应该是阅历和境界的问题,还得继续修炼。
敏捷在中国已经过了一个火爆的轮回,归于平静。一位讲师在问,谁的组织在用敏捷模型的时候,在场一多半人都举了手。但是真的敏捷了么?袁店明在展示他的坑的时候,大部分人都会心一笑。这一笑很心酸。因为这意味着,还有很长的路要走。
全功能团队,自组织团队,所有干系人(包括开发团队的上下游,如客户,业务人员,运维人员,客服等)都敏捷起来,各种IT技术的支撑(自动化测试,持续集成等)在现实的路上,整个行业还有长长的路要走。
关于测试:
其实Qcon还是有好几场测试专题的,但是都没有去参加。作为一个测试人员,这好像不怎么合常理。但是专题内容好像以前都听过。且时间宝贵,还是把更多的目光投到不怎么熟悉的领域开拓眼界吧,测试的专场等待ppt放出来了再做回顾。
对于工作直接的帮助:
- 会进一步加强对运维相关测试的关注,在自己的工作中做改进。运维可测性是一个课题。
- 对一些新技术有了了解,会花一些时间做学习。虽然所处的传统行业对新技术响应较慢,但是已经出现了新的趋势,要持续跟踪公司技术动态变更,争取不被落下,甚至走在前边。
零散的一些感受:
- 这个行业的牛人太多了,比你聪明太多,还比你努力,而且有好眼光,善于抓住机会。看多了难免会有点儿羡慕嫉妒恨,但是需要平复心情,切忌与自身的平凡为敌,努力做好自己就行。
- 看到了n多巨型系统的案例,而且对可靠性要求越来越高了。互联网行业,特别是一线的互联网行业对线上缺陷的容忍度越来越低,测试的重要性会越来越高(不见得是tester,因为有一种思潮还是“烧死专职tester”,虽然我认为这是错的,因为这个世界上招不到那么多啥都会的超人,还是普通团队多),质量相关的工作会越来越多,反正总得有人干,tester们,振作起来吧,干不好就歇了,干好了,成事儿的就是咱们。
- 行业发展太快,持续学习的能力太重要。
- 有人吐槽Qcon的showgirl一天600元出场费,不淡定了。其实你自己算一算,工资1.5w的话你一天的出场费是700元左右,还不用站一天,然后被一堆拖鞋短裤双肩背谢顶眼镜男不住的偷瞄yy。it人员努努力就到1.5w了,人要知足,要觉得妹子们很辛苦,来少了,并且拿少了。
- 得多锻炼身体,多吃黑豆。程序员谢顶率太高了,看得有点儿心惊肉跳。
本图是为配合标题而盗的图。版权属于微博博主。
2015Qcon参会记录(内有show girl)的更多相关文章
- GridView内按钮Click获取记录主键值 在GridView控件中,每行记录内会放置一个铵钮,当用
在GridView控件中,每行记录内会放置一个铵钮,当用户点击这个铵钮时,获取当笔记录的主键值.可看演示(是一个gif动画,重新播放尝试刷新网页): 实现这个功能,你需要为GridView控件设置Da ...
- 【Beta】Scrum meeting 8 & 助教参会记录
目录 写在前面 进度情况 任务进度表 Beta-1阶段燃尽图 遇到的困难 助教参会会议情况 会议具体内容 Q:最近压力大吗?临近期末,注意好时间安排 Q:最近进度如何,以后的计划如何 Q:这段时间遇到 ...
- 【Beta】Scrum meeting 6 & 助教参会记录
github 本此会议项目由PM召开,召开时间为5月13日晚上10点 召开时长15分钟 任务表格 姓名 当前任务 下阶段任务 袁勤 初步实现后端题库功能 优化后端 彭一夫 向数据库导入新题 查看评论功 ...
- 【Beta】Scrum Meeting 9 & 助教参会记录
目录 前言 任务分配 燃尽图 会议照片 签入记录 上周助教交流总结 Q:项目进度如何? Q:有关commit与issue关联的问题? Q:人员变动后分工的变化情况? Q:接下来还有什么新功能? Q:大 ...
- 【Gamma】Scrum Meeting 4 & 助教参会记录
目录 前言 任务分配 燃尽图 会议照片 签入记录 上周助教交流总结 技术博客 一些说明 前言 第4次会议于5月29日22:00线上交流形式召开. 交流确认了各自的任务进度,并与助教进行了沟通.时长20 ...
- MySQL(15):Select-distinct(返回非重复的记录)
1. 查询所有记录 和 查询 非重复记录 语法: SELECT [ALL | DISTINCT ] All:返回所有记录 Distinct:返回非重复记录 针对获得的记录内的字段生效. 2. ...
- Oracle Form属性、内置子程序、触发器、系统变量简要
一.属性 1.1 通用属性 名称(Name) 子类信息(Subclass Information) 备注(Comments) 标题(Title) 方向(Direction) 字体名称(Font Nam ...
- Oracle系列:记录Record
Oracle系列:记录Record 分类: [Oracle] (15) 版权声明:本文为博主原创文章,未经博主允许不得转载. Oracle系列:记录(Record) 一,什么是记录(Record) ...
- 了解AutoCAD对象层次结构 —— 6 ——块表记录
块表记录是包裹实体对象的最后一层包装了,接下来让我们继续利用MgdDbg工具查看上一小节创建的块定义内的对象有哪些. 操作步骤如下:选择块表记录TestBlock,在右侧列表中找到“Entities ...
随机推荐
- 2015元旦来个炫的html5特效
效果网址:http://keleyi.com/keleyi/phtml/html5/5.htm 代码: <!DOCTYPE html> <html xmlns="http: ...
- html5 canvas简易版捕鱼达人游戏源码
插件描述:html5利用canvas写的一个js版本的捕鱼,有积分统计,鱼可以全方位移动,炮会跟着鼠标移动,第一次打开需要鼠标移出背景图,再移入的时候就可以控制炮的转动,因为是用的mouseover触 ...
- HTML DOM 教程
HTML DOM DOM 教程 DOM 简介 DOM 节点 DOM 方法 DOM 属性 DOM 访问 DOM 修改 DOM 内容 DOM 元素 DOM 事件 DOM 导航 一,HTML DOM 简介 ...
- HashMap和SparseArray的性能比较。
HashMap和SparseArray可以实现相似的功能. 但SparseArray是Android定义的,在键是整数时,他比HashMap的性能更高,因为HashMap使用的是Integer对象, ...
- 简单的学习心得:网易云课堂Android开发第三章自定义控件
这一章分三部分: (1)自定义控件:老师先简单讲解了一些细节,如为什么不用px,而要用dp,只因机型的屏幕分辨率不同,用px会导致差异太大.然后演示了制作自定义控件的步骤,先在xml文件中添加对应的自 ...
- iOS源代码管理工具
源代码管理工具简介 1.为什么会出现源代码管理工具? 为了解决在软件开发过程中,由源代码引发的各种蛋疼.繁琐的问题 2.源代码管理不当可能会引起的后果? 无法后悔:做错了一个操作后,不能回到之前的操作 ...
- Request 和 Response 原理
* Request 和 Response 原理: * request对象和response对象由服务器创建,我们只需要在service方法中使用这两个对象即可 * 继承体系结构: ...
- Ajax中Get请求与Post请求的区别
Get请求和Post请求的区别 1.使用Get请求时,参数在URL中显示,而使用Post方式,则不会显示出来 2.使用Get请求发送数据量小,Post请求发送数据量大 例子 页面的HTML代码: &l ...
- Django入门
Django文档: https://docs.djangoproject.com/en/1.10/ref/ 一.简单创建app 1.1 命令行创建project和app. django-admin s ...
- PHP中的回调函数和匿名函数
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,bi ...