笔录参与QCon2017日本东京站的经验

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

2018正版葡京赌侠诗 1
很光荣参与QCon全球软件开发大会,这里特别感谢我们单位的总老总,也是《互联网广告算法和系统执行》此书的撰稿人王勇睿。因为他我才有这一次参会机会参预这一次软件开发大会。
接下去,我将从以下几点来创作这篇著作:

  1. 什么是QCon?
  2. 自家在场的专题发言有怎么样?
  3. 本身在QCon大会上读书到了如何?
1.什么是QCon?

QCon是由InfoQ主办的全世界一流技术盛会,每年在London、时尚之都、东京(Tokyo)、伦敦、华沙、新加坡、马尼拉举办。自二零一七年3月份第一次举行以来,已有超越万名高级技术人士插手过QCon大会。QCon内容出自实践并面向社区,演讲嘉宾按照热点话题,面向5年以上工作经验的技艺公司COO、架构师、工程主管、高级开发人士分享技术改进和特等实践。
京师QCon2017是在国家会议中央设置,时间为:二〇一七年6月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,可是被黑客攻击的代码由于需要展开破解攻击,所以消耗的年月也会长一点,所以假设大家的代码在落实的长河中考虑到时间,那么代码就会更硬朗,不便于攻破。
2018正版葡京赌侠诗,TK先生也印证了这或多或少:时间是很容易被忽略的维度。

  • 使用不当导致的纰漏。
    此处TK老师还介绍了她们用扫描器做实验,扫描的的初衷就是让开发和读取数据方便,不过它有些时候可以做为一个外接键盘。将决定电脑的一声令下装载在二维码或者条形码里面,然后经过扫码器就可以控制电脑。甚至也足以选拔激光灯,通过激光灯远程照射让扫描器识别,进而决定电脑。
    另外还有运营商的“短信保管箱”、”自助换卡”等效能,由于涉及不当也在推出一段期间之后被撤回。这里的短信保管箱就是营业商将短信同步到云里面,然后就是用户手机不再身边也足以透过登录云查看短信。然而业界公认手机验证码作为安全认证,如果用户的短信存储云密码被盗,那么用户的短信安全认证也就错过了功用。
    里头还说了一部分漏洞问题,比如badbarcode问题、badtunnel问题等等。
    一句话总括:是故圣人不治已病治未病,不治已乱治未乱。
Part3.《软件开发之禅》

演说人是蔡超,Amzaon(中国)技术集团的首席架构师。首要介绍了以下几点:

  • 貌似与神似
    这里首要讲了MVC。其实还有很多此外的架构:MVVM、MVP等等,其实他们的本质都是MVC的衍生。大家要在接纳的历程中窥见其本质的事物,也要发现其区别。
  • 机械与转移
    这边我听到最多的是黑板形式,所谓黑板格局,就是应用中的多种不同数据处理逻辑互相影响和同步完成多少解析处理,就恍如多位不同的大家在一如既往黑板上交换思想,每个转件都足以取得此外我们写在黑板上的信息,同时也得以用自己的辨析去改进黑板上的信息,从而影响其他学者。相比非凡的选取就是数据库:数据库充当黑板,不同的施用共享数据库中的信息,并且可以革新数据音信。是最广大的贯彻情势。
  • 优势与劣势
    一个新的技能出现之后,它恐怕会给我们带来便利,进而去化解那一个现在已知技术不可能化解的题目。可是我们必然要精通:使用新技巧的还要一定要考虑到新技巧所带动的题目。只有将其研讨将来,然后将其所带动的其它题材解决,这样才得以品味去行使,以免在随后的历程中遇见题目再去想缓解格局。要平衡使用中的冲突。
  • 数码与模型
  • 简易与容易

大家相遇题目标时候,想到的不是用哪些牛逼的点子去化解,而是从问题的自身去先河研究,从最简易的技能开头,一定要找到最简便、最有效、最实用的章程去解决。
在我们学习或者读书的时候,我们应该在读书的时候先问一下友好:我学的事物要化解的题目是何许?
当我们上学完事后,要想想学过未来是不是解决了大家相遇的题材。
不言而喻这一场分享听下来将来,给自身的觉得就是自然要发现东西的本色,用最简单易行、最管用、最实用的不二法门去解决问题,而不是多绕弯路。

Part4.《基于移动的很快工程情势》

演讲人是徐大芮(子之),Tmall无线技术专家。内容紧假使怎么着依照移动,应用去做快速支付。
首假若为着酬答手淘的急忙支付,比如马首席营业官说天猫首页来个发红包,那么就需要霎时神速的去做到这几个需求。而她们付出公司只是用了多少个刻钟就将此需要上线。
在应对作业发展快、流量集中、交互复杂的情景下(过山车),怎么着急迅支付形成并打响上线是一个很值得钻探的问题。
为此他们就由此沙盘配置、插件组装的情势来让研发提速。比如说Taobao的一个页面:
2018正版葡京赌侠诗 2
他们做了一套模板,然后去承接那个页面,然后经过部署数据,从而形成了连忙支付迭代。在付出的过程中假使得以使用现有模板,那么久直接装载即可。在支付进程中,模板会有不同的版本,有和好的单身版本控制,而工作实例每个版本都有独立关联的一个模板ID和版本。
然后还支付了各类零部件,榜单、投票、评论等等,通过数量配置就能不辱使命疾速支付。
此外还有Tmall不定期推出的位移动画,天猫这边使用AE做成动画,然后用JSON承载,然后经过移动端的ViewController下边的一层Layer或者Player来体现,期间允许对JSON举行二次定制开发。
这边还有一个很风趣的工作,有位观众提了一个问题:苹果不同意JSBridge,这马如何落实不发版的情形下实现改进呢?演说人的答疑是不知晓。不过她说不太确定苹果是不同意拉文件更新,仍然同意类似RN格局的开发。假如只是不容许拉文件的话,那么可以考虑采用RN的办法来搞。

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

2018正版葡京赌侠诗 3
演说人是缘于LinkedIn的软件开发工程师胡克秋。紧要介绍了哪些快捷发版。
介绍了LinkedIn发版,说是一周发一回,我看了一晃领英iOS更新记录,没有那么频繁,也许是力所能及扶助一周发五遍啊。
他俩运动支付是专程的一个平移平台组,里面没有其他的产品、UI什么的。当其他有要求的时候,就会把人派到指定的机构支出。从那时的30个移动工程师到前几日的超越300个运动工程师,从原本的的超常一个月交给五遍App到现行的3×3急迅支付。
所谓3×3神速支付,就是:
一天发表3次。
代码提交到发布<3个刻钟
新兴经摸底她们的1天发布一次实际上是天天发布3个可用的版本,这一个本子可以时刻拿过来使用。
他俩的iOS客户端完全选取斯威夫特开发。由此在经历斯威夫特(Swift)2.2—斯维夫特(Swift)3.0升级的过程中,8个人在付出项目室从下午9:00到夜晚10:00做提高。总共用了一个礼拜的岁月才将斯维夫特2.2升格到了斯威夫特(Swift)(Swift)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

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注