记录参预QCon2017巴黎站的体会

如有侵权,请告知小编删除。scottzg@126.com

国家地理 1
很荣幸参预QCon全世界软件开发大会,那里越发谢谢大家部门的总高管,也是《网络广告算法和系统推行》此书的撰稿人王勇睿。因为她自身才有这一次参会机会到位这一次软件开发大会。
接下去,我将从以下几点来创作那篇小说:

  1. 什么是QCon?
  2. 本人出席的专题发言有何样?
  3. 自个儿在QCon大会上读书到了什么样?
1.什么是QCon?

QCon是由InfoQ主办的海内外超级技术盛会,每年在London、东京、东京(Tokyo)、London、圣Paul、上海、新德里举行。自前年7月份第一次进行以来,已有超越万名高级技术人士出席过QCon大会。QCon内容出自实践并面向社区,解说嘉宾按照热点话题,面向5年以上工作经验的技艺公司高管、架构师、工程COO、高级开发人士分享技术立异和特级实践。
上海市QCon2017是在江山议会着力设立,时间为:二零一七年五月16日—18日。

2.本身在场的专题切磋有哪些?

由于时间原因,我是最后一天去的QCon。早上8:30起床,然后坐客车到了国家会议着力。然后开头了参会学习。以下是参会内容:

Part 1.《Software Performance Analytics: Past,Present and Future》

演说人是Kingsum,来自阿里,是Alibaba基建服务首席专家。首要介绍的是软件品质分析:过去,现在和前景。
唯恐是上下一心英文差的缘故,他演说的进程中平常出现种种英文,所以部分时候从不听太懂。(学习英文很重大)
他牵线了一个好的次第,不过有须臾间几点会影响恐怕制约其听从:

  • Software doesn’t scale
  • Hardware is too slow
  • Tuning software doesn’t work
  • Tuning software in the data center is difficult
    本条Part就像此多了,讲的太高深,表示没有听懂。
Part 2.《代码未写,漏洞已出–谈谈设计不当造成的平安题材》

演讲人是于旸(TK先生),他是腾讯白虎实验室总裁。紧要介绍了:

  • 规划不当造成的尾巴。
    统筹分为单点设计和多点耦合。举个例子来说,单点设计就是只布置一个效果,多点耦合就是多个功效整合在同步去落到实处某个新的效用。恐怕一个效应的规划是没难题的,也不会并发谬误,但是若是三个尚未难点的职能组合成一个新的功效,由于耦合只怕就会油但是生漏洞。
    就拿类似购物类的系统,支付种类和交易系统本人他们是绝非此外漏洞可言的。但是当大家将他们组合使用的时候就便于发生难点。比如大家在贸易的时候手动将交易金额改写,100元改成1元,支付系统不会校验钱数,只会告诉用户是还是不是支付成功,所以当交易的时候,交易系统收到了付出系统再次回到的功成名就就会提示用户购买商品成功。那样的话你就用1元买了100元的货物。比较可相信的不二法门就是在开发体系成功之后再次回到给交易系统成功再增进支出金额。那样就能防止这么些漏洞了。
  • 贯彻不当造成的漏洞。
    举个例子,相比三个字符串相等的艺术,在相比较对应位的字符是或不是等于时,大家大概那样来判定:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    public bool isEqual(String s1,String s2) {
    if (s1.length != s2.length) {
    return false;
    }
    for(int i=0;i<s1.length;i++) {
    if (s1[i] != s2[i]) {
    return false;
    }
    }
    return true;
    }

那边在对照s1[i]与s2[i]不等于的时候(类代码,或者不可以运作),攻击者或者会在for循环做政工,比如黑客通过某种攻击让代码重返true,那么就终于五个不对等的字符串也会回到true,不过那中间有好几我们会忽视,那就是时间维度。一般的话,如若相比五个字符串最慢只须要1s,但是被黑客攻击的代码由于须要开展破解攻击,所以消耗的年华也会长一点,所以借使我们的代码在贯彻的历程中考虑到时刻,那么代码就会更健全,不便于攻破。
TK先生也表明了那或多或少:时间是很简单被忽视的维度。

  • 使用不当导致的尾巴。
    这边TK老师还介绍了她们用扫描器做试验,扫描的的初衷就是让开发和读取数据方便,可是它有些时候可以做为一个外接键盘。将决定电脑的授命装载在二维码大概条形码里面,然后经过扫码器就可以控制电脑。甚至也可以行使激光灯,通过激光灯远程照射让扫描器识别,进而决定电脑。
    除此以外还有运营商的“短信保管箱”、”自助换卡”等作用,由于涉及不当也在生产一段中间之后被废除。那里的短信保管箱就是运营商将短信同步到云里面,然后就是用户手机不再身边也得以透过登录云查看短信。但是业界公认手机验证码作为安全注脚,假如用户的短信存储云密码被盗,那么用户的短信安全认证也就失去了效益。
    时期还说了有的破绽难题,比如badbarcode难题、badtunnel问题等等。
    一句话总计:是故圣人不治已病治未病,不治已乱治未乱。
Part3.《软件开发之禅》

解说人是蔡超,Amzaon(中国)技术公司的上位架构师。主要介绍了以下几点:

  • 一般与神似
    此处关键讲了MVC。其实还有很多任何的架构:MVVM、MVP等等,其实他们的面目都是MVC的衍生。大家要在应用的经过中窥见其本质的事物,也要发现其不一样。
  • 机械与变化
    此间本身听见最多的是黑板形式,所谓黑板情势,就是应用中的种种不相同数据处理逻辑相互影响和协办完毕数据解析处理,就类似多位区其他专家在同等黑板上沟通思想,每一个转件都能够得到其他大家写在黑板上的新闻,同时也足以用自身的解析去立异黑板上的消息,从而影响其余专家。比较独立的运用就是数据库:数据库充当黑板,差其他行使共享数据库中的新闻,并且能够创新数据新闻。是最广泛的落成形式。
  • 优势与逆风局
    一个新的技能出现将来,它可能会给我们带来方便,进而去解决那些现在已知技术无法解决的标题。不过大家必定要清楚:使用新技巧的还要必将要考虑到新技巧所牵动的标题。唯有将其研讨之后,然后将其所拉动的其他问题化解,那样才得以品味去行使,以防在随后的历程中遇见标题再去想缓解情势。要平衡使用中的冲突。
  • 数据与模型
  • 大致与简单

大家相见难题的时候,想到的不是用哪些牛逼的主意去搞定,而是从难题的自个儿去开端商讨,从最简易的技术初始,一定要找到最简便、最得力、最实用的措施去化解。
在大家学习可能读书的时候,大家应有在念书的时候先问一下团结:我学的事物要缓解的难点是如何?
当大家上学完以后,要想想学过将来是还是不是化解了我们蒙受的难点。
一句话来说本场分享听下来之后,给自个儿的觉得就是毫无疑问要发现东西的本来面目,用最简易、最可行、最实用的法子去解决难点,而不是多绕弯路。

Part4.《基于移动的高效工程格局》

演说人是徐大芮(子之),天猫商城有线技术专家。内容重即使怎么样按照移动,应用去做快捷支付。
一言九鼎是为了回应手淘的全速支付,比如马老总说天猫商城首页来个发红包,那么就必要立刻高效的去做到这一个须要。而他们开发公司只是用了多少个钟头就将此须求上线。
在应对作业发展快、流量集中、交互复杂的事态下(过山车),怎么样火速支付形成并打响上线是一个很值得探讨的标题。
从而她们就由此沙盘配置、插件组装的章程来让研发提速。比如说Tmall的一个页面:
国家地理 2
她们做了一套模板,然后去承接这些页面,然后经过安排数据,从而做到了迅猛支付迭代。在付出的长河中只要可以行使现有模板,那么久直接装载即可。在支付进度中,模板会有不一样的本子,有协调的独立版本控制,而事情实例每一种版本都有单独关联的一个模板ID和本子。
下一场还支付了各个零件,榜单、投票、评论等等,通过数据配置就能不负众望急忙支付。
除此以外还有Tmall不定期推出的位移动画,天猫商城那边使用AE做成动画,然后用JSON承载,然后通过活动端的ViewController上面的一层Layer或许Player来浮现,时期允许对JSON举行二次定制开发。
此地还有一个很风趣的工作,有位观者提了一个难点:苹果不一样意JSBridge,那马怎么促成不发版的意况下已毕立异呢?演说人的回复是不精通。可是他说不太确定苹果是不一样意拉文件更新,如故同意类似RN格局的开发。若是只是不容许拉文件的话,那么可以考虑采纳RN的法子来搞。

Part5.《3×3:提速移动App交付》

国家地理 3
演说人是出自LinkedIn的软件开发工程师胡克秋。紧要介绍了怎么着连忙发版。
介绍了LinkedIn发版,说是一周发一遍,我看了刹那间领英iOS更新记录,没有那么频仍,大概是可以支持一周发五遍啊。
他俩运动支付是特意的一个平移平台组,里面没有其他的产品、UI什么的。当其余有须求的时候,就会把人派到指定的部门开发。从当年的30个活动工程师距今的当先300个移动工程师,从原本的的逾越一个月交给四遍App到明天的3×3迅速支付。
所谓3×3高效支付,就是:
一天发布3次。
代码提交到宣布<3个钟头
国家地理,新生经摸底他们的1天公布三遍实际上是每日宣布3个可用的版本,那几个本子可以时刻拿过来使用。
她俩的iOS客户端完全使用Swift开发。因此在经验Swift2.2—Swift3.0升级的进度中,8个人在付出项目室从晚上9:00到夜间10:00做升高。总共用了一个礼拜的年华才将斯维夫特2.2升任到了Swift3.0。
至于代码提交,他们唯有一个分支,然后在付出进程中,他们有个小须求:就是在有限定的日子内做代码提交,假诺当先了那个deadline,那么久不大概交付代码。那样有限支撑了代码在某个时间点的安居。
关于测试,他们还有个DogFood,也就是享有商店职工必须去拔取他们的新颖版本,然后他们会征集Crash音信,然后进行修补。
还捎带介绍了多少个开源的框架:

  1. LayoutTest-iOS
  2. bluepill
    有趣味的同班可以自行下载查看。
    再有少数:他们的iOS开发做UITest和UnitTest,关于测试,他们做的很足,而且貌似QA写测试场景,开发写测试用例。而且他门可以很好控制写测试用例的日子再10%左右。
    以上就是自我在QCon上与会的专题演说。
3. 自家在QCon大会上学习到了何等?

以下是对自我学到的东西进行的片段简便统计:

  1. 编程不仅仅只是写代码那么粗略,还有多考虑其安全性。此外在统筹的时候也要超前考虑、考虑周到
  2. 用最可行最实用、最简易的方式去解决难点。
  3. 新技巧的暴发部分时候自然要先对其进行学习和多地方的明白。怎么着应对新技巧可能引发的题材?若是化解?
  4. 住户的iOS开发都是有用UITest和UnitTest。
  5. 由此模块和组件化的格局做开发,升高开发作用。
  6. 读书好爱沙尼亚语很要紧。
  7. 运用模块化和组件化的法门提升开销功效。(个人认为仅限于相比较大型的连串,小品种就大材小用了)
注:

1.如有侵权,请告诉作者删除。scottzg@126.com

2.转载请标明来源:http://www.cnblogs.com/zhanggui/p/6744941.html

3.更加多可参见那里:http://2017.qconbeijing.com/schedule

 

相关文章