笔录参与QCon2017新加坡站的心得

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

图片 1
很光荣加入QCon整个世界软件开发大会,那Ritter别多谢大家单位的总老板,也是《互连网广告算法和种类推行》此书的撰稿人王勇睿。因为他自己才有此次参加会议机会参加本次软件开发大会。
接下去,笔者将从以下几点来创作那篇小说:

  1. 什么是QCon?
  2. 自家参预的专题解说有如何?
  3. 本人在QCon大会上读书到了怎样?
1.什么是QCon?

QCon是由InfoQ主办的全球头号技术盛会,每年在London、Hong Kong、日本首都、London、芝加哥、北京、利雅得进行。自二零一七年二月份第三次举行以来,已有当先万名高级技术职员参与过QCon大会。QCon内容出自实践并面向社区,演说嘉宾基于热点话题,面向5年以上中国人民解放军海军事工业程高校业作经验的技艺公司首席执行官、架构师、工程COO、高级开发职员分享技术立异和特等实践。
京师QCon2017是在国家会议宗旨设置,时间为:二零一七年6月二十五日—二十六日。

2.本身加入的专题钻探有如何?

鉴于岁月原因,作者是最终一天去的QCon。早晨8:30起床,然后坐大巴到了江山议会着力。然后初步了参会学习。以下是参加会议内容:

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

解说人是Kingsum,来自Ali,是Alibaba基本建设服务首席专家。重要介绍的是软件质量分析:过去,未来和前程。
想必是团结英文差的来由,他发言的进度中日常出现各样英文,所以部分时候从不听太懂。(学习英文很重庆大学)
她牵线了1个好的主次,不过有弹指间几点会影响大概制约其功效:

  • 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先生),他是腾讯白虎实验室老板。主要介绍了:

  • 规划不当造成的纰漏。
    统一筹划分为单点设计和多点耦合。举个例子来说,单点设计便是只安排叁个作用,多点耦合正是多少个功用结合在一起去完成有个别新的成效。也许3个效率的筹划是没问题的,也不会冒出谬误,不过借使多少个尚未难点的效力组合成3个新的效劳,由于耦合或许就会产出纰漏。
    就拿类似购物类的系统,支付种类和交易系统自己他们是从未别的破绽可言的。不过当大家将他们结合使用的时候就便于爆发难点。比如大家在贸易的时候手动将交易金额改写,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老师还介绍了他们用扫描器做尝试,扫描的的初衷正是让开发和读取数据方便,可是它某些时候能够做为1个外接键盘。将控制电脑的命令装载在二维码大概条形码里面,然后经过扫码器就可见支配电脑。甚至也得以动用激光灯,通过激光灯远程照射让扫描器度和胆识别,进而决定电脑。
    其它还有运维商的“短信用保证管箱”、”自助换卡”等功用,由于涉及不当也在推出一段之间之后被撤销。那里的短信用保证管箱就是运转商将短信同步到云里面,然后正是用户手提式无线电话机不再身边也足以因而登录云查看短信。可是产业界公认手提式有线话机验证码作为安全表明,如若用户的短信存款和储蓄云密码被盗,那么用户的短信安全认证也就失去了效益。
    中间还说了有的尾巴难题,比如badbarcode难题、badtunnel难题等等。
    一句话总计:是故圣人不治已病治未病,不治已乱治未乱。
Part3.《软件开发之禅》

解说人是蔡超,Amzaon(中夏族民共和国)技术团队的上位框架结构师。主要介绍了以下几点:

  • 一般与神似
    这里根本讲了MVC。其实还有不少别样的架构:MVVM、MVP等等,其实他们的真相都以MVC的衍生。大家要在动用的进度中窥见其本质的东西,也要发现其差别。
  • 机械与转移
    此地本身听见最多的是黑板情势,所谓黑板方式,正是使用中的多种分化数据处理逻辑相互影响和一道完毕多少解析处理,就象是多位不相同的专家在同样黑板上交换思想,每一种转件都足以收获其余咱们写在黑板上的音讯,同时也得以用自身的辨析去立异黑板上的消息,从而影响别的学者。比较典型的施用就是数据库:数据库充当黑板,不一样的行使共享数据库中的新闻,并且能够创新数据音信。是最广泛的兑现格局。
  • 优势与逆风局
    一个新的技能出现之后,它或者会给我们带来方便,进而去化解这么些今后已知技术不恐怕化解的题材。可是我们必定要明白:使用新技巧的同时必将要考虑到新技巧所推动的难点。唯有将其切磋之后,然后将其所推动的此外标题一举成功,那样才能够品味去行使,防止在后来的长河中相遇标题再去想化解措施。要平衡使用中的争执。
  • 多少与模型
  • 简不难单与不难

咱俩遭逢题目标时候,想到的不是用如何牛逼的法子去化解,而是从难点的本身去开端研商,从最简便易行的技巧发轫,一定要找到最简单易行、最得力、最实用的主意去消除。
在大家上学也许读书的时候,大家应有在读书的时候先问一下融洽:笔者学的事物要解决的题材是如何?
当大家学习完之后,要想想学过未来是或不是搞定了我们相见的难点。
总而言之这一场分享听下来以往,给本身的痛感就是放任自流要发现东西的雁荡山真面目,用最简单易行、最管用、最实用的不二法门去消除难题,而不是多绕弯路。

Part4.《基于移动的高效工程情势》

演说人是徐大芮(子之),Taobao有线技术专家。内容根本是什么样依照移动,应用去做神速支付。
重庆大学是为了酬答手淘的便捷支付,比如马总CEO说Taobao首页来个发红包,那么就须要立时高效的去实现那么些须求。而他们付出公司只是用了多少个钟头就将此须要上线。
在应对业务发展快、流量集中、交互复杂的意况下(过山车),怎么样高效支付落成并成功上线是二个很值得商量的标题。
故而他们就通过沙盘配置、插件组装的法门来让研发提速。比如说Tmall的贰个页面:
图片 2
他俩做了一套模板,然后去承接那几个页面,然后通过安排数据,从而完毕了长足支付迭代。在付出的经过中一旦能够利用现有模板,那么久直接装载即可。在支付进度中,模板会有两样的版本,有本身的独自版本控制,而事情实例每个版本都有独立关联的一个模板ID和版本。
接下来还支付了种种零件,榜单、投票、评论等等,通过数据配置就能成就迅速支付。
别的还有天猫商城不定期推出的活动动画,天猫那边使用AE做成动画,然后用JSON承载,然后经过活动端的ViewController上面包车型地铁一层Layer大概Player来体现,时期允许对JSON实行2次定制开发。
那里还有3个很风趣的事情,有位观者提了3个难点:苹果不相同意JSBridge,那马哪些落到实处不发版的图景下促成立异呢?演讲人的答复是不驾驭。可是她说不太分明苹果是分歧意Lavin件更新,依然允许类似LacrosseN形式的支付。假如只是不容许Lavin件的话,那么能够设想使用陆风X8N的方法来搞。

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

图片 3
演讲人是缘于LinkedIn的软件开发工程师胡克秋。主要介绍了哪些飞快发版。
介绍了LinkedIn发版,说是七日发一次,笔者看了一晃领英iOS更新记录,没有那么频仍,大概是力所能及援救一周发1回啊。
她俩活动支付是专门的三个移动平台组,里面没有任何的出品、UI什么的。当别的有必要的时候,就会把人派到内定的部门付出。从那时候的贰二十个运动工程师到今日的跨越300个活动工程师,从原来的的超越四个月交给一次App到现行的3×3急速支付。
所谓3×3十分的快支付,正是:
一天宣布3次。
代码提交到宣布<三个钟头
新生经打听他们的1天通知三遍实际上是每一日发布二个可用的本子,这个本子能够时刻拿过来使用。
他们的iOS客户端完全选用斯维夫特开发。由此在经验Swift2.2—Swift3.0升级的长河中,伍人在支付项目室从中午9:00到中午10:00做提高。总共用了三个礼拜的光阴才将Swift2.2升高到了斯维夫特3.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