《程序员电子刊2016年10期》由会员分享,可在线阅读,更多相关《程序员电子刊2016年10期(18页珍藏版)》请在金锄头文库上搜索。
1、 1610资讯.indd 22016-10-5 20:10:01ContentsCSDN十大资讯 3外刊速递 4封面报道Alan Kay和他的浪漫愿景 13Alan Kay谈OO和FP 17Alan Kay谈读书 20百问Alan Kay 26大数据Spark Streaming + ES构建美团App异常监控平台 44物联网大数据平台TIZA STAR架构解析 49移动人人车Android路由机制解析 54从iOS 10看移动交互设计新趋势 60支付宝无障碍体验之路 621610资讯.indd 12016-10-5 20:10:01主办单位:CSDN出品人:陈 鸣总编:孟迎霞 主编:卢鸫翔编
2、辑:魏 伟 唐小引 陈秋歌 张红月郭 芮 钱曙光 屠 敏 仲培艺特约编辑:徐威龙 杨福川 张国强流程编辑:何永灿 美术设计:纪明超 美术编辑:张 虓Tel:010-64351458E-mail:读者服务部读者信箱:地址:北京市朝阳区广顺北大街33号院6号楼 福泰中心9层 邮政编码:100102电话:010-64351436传真:010-64348545出版日期:每月1日文章版权归CSDN所有,未经许可不得转载如发现装订错误或缺页,请寄回读者服务部调换2016.10欢迎关注CSDN微信公众账号携程移动端架构演进与优化之路 65技术移动直播连麦实现思路: 整体篇 75企业架构语言ArchiMate
3、 3.0 架构设计的车同轨、 书同文 80交易系统客户端架构设计与实现 83企业级Docker镜像仓库的管理和运维 96增强学习在无人驾驶中的应用 100Key-Node-value分布式算法 108知识库直播技术架构探索与优化 115直播技术架构知识库内容精选 118百味 1201610资讯.indd 22016-10-5 20:10:02News资讯排行3TOP 10Dropbox超6800万帐号密码遭泄露美国当地时间8月31日, Dropbox发布声明, 针对6800万账号密 码在网上传播这一事件做出回应,承认该数据是真实的,表 明公司在2012年发生的电子邮件地址泄露事故的严重性几近
4、彼时预计结果(690万)的十倍。事件源自四年前,Dropbox内 部员工密码复用导致账号被盗,从而获取了存放用户邮箱地 址的文件。不过据官方表述, 受影响的6800万账号中, 有3200 万账号使用了bcrypt哈希措施,其余账号则使用SHA-1加密, 且对哈希进行了加盐处理, 所以较难破解。Yahoo!开源发布/订阅消息平台PulsarPulsar是一个分布式的消息发布/订阅传递平台,具有灵活的 消息模型和直观的客户端API。据Yahoo!官方描述,Pulsar 拥有低延迟持久存储等特性,支持每秒数百万独立主题和消 息发布的水平扩展,有强大的排序和一致性保证,还可作为 主机服务来部署与设计。
5、9月,Pulsar基于Apache协议开源, 并且托管于GitHub,Yahoo!希望借此助其与其他开源项目集 成, 从而得到更广泛的应用。阿里“月饼门”事件9月12日,阿里巴巴5名员工在内网“秒杀月饼”活动中采用 技术手段作弊,因而被劝退,官方称“要学会敬畏手中的权 力” 。这一事件在阿里内部引发巨大讨论的同时, 也吸引了外 界的广泛关注, 尤其公司管理这一层面颇有争议。 “大公司管 人其实很松,但是进入职场的人就需要把自己当成年人看待 了。公司不让做的事情,一定不能做, 哪怕是小事。大公司最 忌讳耍小聪明。 ”有人通过微博评论道。Google将于十月推出Android与Chrome OS融
6、合系统业界有关Android与Chrome OS结合的传闻从未断绝, 直至九月 下旬, Android Police编辑David Ruddock在推特上透露, Google 将于10月4日推出Android与Chrome OS 融合系统,代号为 “Andromeda” (仙女座) 。 让Android与Chrome OS两者互补, 一方面提升Android系统的PC端体验, 另一方面, 系统融合后, 两者可以共享Android生态中的一百多万应用, 解决了Chrome OS中应用少的问题。针对这一消息, 有评论称: “Google此举 无疑是在下一盘想要通吃所有个人终端设备的大棋。 ”Sub
7、lime Text 3正式版发布Sublime Text是一款代码编辑器, 它的出现曾推动TextMate开 源、 GitHub推出Atom, 微软发布VS Code, 再加之诸多个人项 目, 活跃了此前沉寂多年的“编辑器”领域。 9月22日, Sublime Text 3终于结束了漫长的beta测试,正式迎来3.0版本。消息 一经发布,几年来使用beta版的用户表示, “ST3在使用中一 直很完美,不过在此之前,它在技术上一直都只属于测试 版 ,但较之其他同类竞争产品的最终版,它的表现其实更 为优秀” , “我一直很好奇到底是什么阻碍了ST3开发者的脚 步, 让其迟迟不为它标明 稳定版 ”
8、。匿名为新闻付费: 网媒在线读者新诉求网络媒体长期以来一直仰赖广告获取收入,而其恼人之处则 在于诸多广告商习惯监视用户搜索,追踪用户私人信息。因 此很多读者选择安装广告拦截插件来免除广告干扰,这导致 网媒收入遭遇巨大冲击,转而采取广告强制策略。对此,自 由软件基金会主席Richard Stallman通过The Guardian表 达了自己的观点, “网媒应当另辟盈利途径,转向对浏览内容 进行小额收费。付费则采用完全匿名的模式,以维护读者隐 私。”类似于GNU操作系统,这种新型支付系统又名“GNU Taler” 。 当然, 也有评论站在政府的角度, 对该付款模式长期 发展或许会对违法交易构成荫
9、蔽这一可能表示隐忧。Homebrew 1.0.0发布2016年9月21日,时值Homebrew诞生七周年,逢此契机, Homebrew发布了1.0.0版。 其社区目前拥有6000名贡献者, 发布 了数千个包, 逐步成长为广泛的第三方生态系统。 新版本带来 了一系列更新, 包括包管理工具和管理方案分别放在不同的仓 库中,社区网站驱动上线,加入了自由软件协会等,优化了找 不到包的处理。 “Homebrew是一个很好的包管理工具, 因为 它的社区友好, 用户体验很好, 包管理逻辑清晰。 是GitHub项 目和Ruby应用的典范。 ”对此, 有人如是评价。微信小程序来袭,开发指南同期发布9月22日凌晨
10、,微信公众平台小范围发出了“小程序” (应用 号)内测邀请函。消息一出,瞬间引爆朋友圈。官方对其给出 的解释是一种不需要下载安装即可使用的应用,用户扫一扫 或者搜索即可打开。次日,微信官方一同发布了微信小程序 开发文档和对应的设计指南。其中包含小程序简易教程、框 架、组件、API和工具等内容;设计指南则旨在微信生态体系 内, 建立友好、 高效、 一致的用户体验。CSDN要闻2016年8月28日9月28日1610资讯.indd 32016-10-5 20:10:024 4Abroad Media外刊速递News资讯2016.921世纪的计算生物学:使用 压缩算法扩展计算生物学家运用支持或替代实验
11、室程序的算法来回答生物与生物医学问题,希望能在大幅降低成本的前提下获得更准确的答案。过去二十年间,生物数据产生取得了前所未有的进步;二代测序(又称新型测序)、质谱分析、微阵列低温电子显微镜和其它高通量的方法导致数据爆炸式产生。然而,这种爆炸有利也有弊。一方面,从数据规模角度来看,我们应当支持在遗传病、传染病、癌症、基础生物学甚至人类迁徙模式上产生新的见解。另一方面,由于产生的数据集过于庞大,对于研究人员来说,想要分析数据并找出模式,以便得出潜层生物学过程的做法就会愈发困难。摘要序列与其它生物学数据有很多共性,甚至比英语语言的一个文本文件还要多。也就是说,我们可以利用压缩算法来探究这种共性,并将
12、许多序列压缩到几个比特的内容中。当然,所处理的数据量非常大,因此为了提高效率, 这种压缩非常重要。我们尤其突出近期利用生物学数据结构特性进行的研究低度规熵(metric entropy)与分形维(fractal dimension)来设计运行于次线性时间与空间的算法。随着计算机运算速度更快、成本更低,在计算机硬件与存储容量上每投入一美元所能处理的数据量几乎每一到两年就能翻倍一次 (图1) 。2002年人类基因序列图首次绘制成功时,计算能力的增长还能与基因数据的增长速率相匹配。然而,人类基因组计划(Human Genome Project)所使用的序列技术桑格测序法(Sanger sequenc
13、ing) 从2004年左右便不再使用,取而代之的是所谓的二代测序法(next-generation sequencing) 。过去十年间,基因排序的花费骤然下降,对全体人类基因的排序费用所需仅不到1000美元。因此,研究人员可用的基因组数据每年增加十倍。如此规模的数据增长向研究人员提出了巨大的挑战。目前,许多生物“组学”应用都对存储、访问、分析大量数据有需求。解决这些挑战的方式之一就是使用云计算:Google与布罗德研究所(Broad Institute)合作在Google云(https:/ ,AWS网络服务也广泛用于计算生物学研究与企业中,比如致力于打造云端DNA数据库的DNAnexus公司
14、。不过,虽然云计算为研究人员减轻了负担,让他们无须再自建数据中心,并节约不需持续计算时的成本, 但云计算也不是万能的。 首先, 组成这些云数据中心的计算机系统本身也受限于半导体技术与摩尔定律的改进。因此,云计算无法真正解决这些呈指数增长、发展比摩尔定律更快的组学数据所带来的问题。 此外, 面对类似2014年西非埃博拉病毒这样的疾病爆发,通常需要在较为偏远的地点进行资源分析。目前,尽管可以将定序设备以及有限的计算资源带到偏远的地方去,但互联网接入仍有很大限制,想要访问云资源来进行分析, 也许无法做到。计算科学家经常利用各种数据的结构来减少时间或空间复杂度。在计算生物学中,这种方式也对研究人员提供
15、了潜在服务。现在,类似主成分分析(PCA)这样的经典分析法通过减少数据维度,以简化分析并揭示出潜在特性。例如,类似伯罗斯-惠勒变换算法(BWT)这样的智能索引技术会通过序列架构的不同方面来加速计算,并节省存储空间。本文主要描述在应对生物数据增长时,在利用其特殊结构方面取得的前沿算法进展,而关于获得新型生物见解的算法并非本文重点。Communications of the ACM1610外刊速递.indd 42016-10-5 20:10:185Abroad Media外刊速递News资讯生物学数据类型分子生物学的中心法则认为,DNA会转录成RNA,再通过核多糖转录成多肽链,而蛋白质的一级结构就
16、是其氨基酸序列。蛋白质会折叠成复杂且低能耗的结构,作为细胞机体存在;而确定氨基酸序列的DNA序列也会确定蛋白质的折叠结构。这种结构最终决定了细胞内蛋白质的功能。某些类型的RNA也可以作为细胞机器使用。我们总结方法从这个流程的各个阶段收集生物学数据,从而获得了大量序列、丰度、结构、功能,以及DNA、RNA及蛋白质交互相关的数据。这些数据大多可以使用标准的大数据分析方法,不过本文主要关注生物学数据案例,列举创建可扩展算法的额外可用结构。无论是核苷酸序列(使用四个字母代表四种DNA或RNA基础),还是蛋白质序列(使用20个字母代表20种标准的氨基酸),相关的序列数据都有多种获取方法。蛋白质和RNA的序列数据,使用质谱分析法都能确定蛋白质序列与交互,使用RNA-seq测序也可以确定RNA序