软佳科技有限公司 - 论坛

InfoQ

0 会员 以及 3 访客 正在阅读本主题.

admin

  • *****
  • 0
  • +0/-0
  • 性别: 男
  • SoftPlus 资深程序员
    • 查看个人资料
    • http://www.softplus.org
InfoQ_模糊测试:如何自动创建复杂的测试用例并发现未知错误
« 回复 #5550 于: 九月 18, 2019, 04:06:57 am »
模糊测试:如何自动创建复杂的测试用例并发现未知错误


据 Wikipedia 介绍,模糊测试 (fuzz testing, fuzzing)是一种软件测试技术。其核心思想是将自动或半自动生成的随机数据输入到一个程序中,并监视程序异常,如崩溃,断言(assertion)失败,以发现可能的程序错误,比如内存泄漏。模糊测试常常用于检测软件或计算机系统的安全漏洞。模糊测试最早由威斯康星大学的 Barton Miller 于 1988 年提出。他们的工作不仅使用随机无结构的测试数据,还系统的利用了一系列的工具去分析不同平台上的各种软件,并对测试发现的错误进行了系统的分析。此外,他们还公开了源代码,测试流程以及原始结果数据。模糊测试工具主要分为两类,变异测试(mutation-based)以及生成测试(generation-based)。模糊测试可以被用作白盒,灰盒或黑盒测试。文件格式与网络协议是最常见的测试目标,但任何程序输入都可以作为测试对象。常见的输入有环境变量,鼠标和键盘事件以及 API 调用序列。甚至一些通常不被考虑成输入的对象也可以被测试,比如数据库中的数据或共享内存。对于安全相关的测试,那些跨越可信边界的数据是最有趣的。比如,模糊测试那些处理任意用户上传的文件的代码比测试解析服务器配置文件的代码更重要。因为服务器配置文件往往只能被有一定权限的用户修改。今天,我们翻译并分享了全球公认的世界级安全专家、模糊测试专家 Fabien Duchene 的文章 Fuzzing: How to Automatically Create Complex Test Cases and Uncover Unknown Bugs,以飨读者。



许多开发人员都听说过,在产品开发过程的早期修复 bug,要比在产品发布之后修复 bug 更划算、更高效。这是真的!许多研究表明,随着产品在软件开发生命周期(Software Development Life Cycle,SDLC)中的发展,修复安全漏洞的成本将呈指数级增长。2001 年,Soo Hoo 等人 计算出,在部署阶段修复一个 bug,要比在开发阶段进行修复要贵 100 倍。


技术娴熟的研究人员可以利用安全漏洞来制造系统越狱,这样就避免了必须使用应用商店来安装移动应用程序,而 Apple、Google 和 Samsung 等公司很大一部分收入都来自于应用商店!大家都还记得 2016 年 Samsung Galaxy Note S7 电池爆炸的事件吧?据估计,这事件让公司造成了高达 170 亿美元 的损失!


几年前,法国数据保护机构法国数据保护局(CNIL)对一家房屋协会处以 7.5 万欧元的罚款,理由是该协会的系统缺乏安全性。虽然对跨国公司来说,这笔罚款不算多;但对小企业来说却是一笔不小的罚款。现在,随着 GDPR 法律的推进,一家公司可以被处以相当于全球年收入 4% 的罚款!想象一下,欧盟委员会能从 Google 这样的互联网巨头那里拿到多少钱,要知道,Google 在 2018 年的收入可是高达 1362.2 亿美元 啊!


模糊测试的定义


你还记得吗?在 Windows 95 下,如果你将 Internet 上的一些文本复制粘贴到 Microsoft Word 文档中,进程 word.exe 就会崩溃?又或者,当 Visual Studio 在执行某些 gdi32  API 调用时会发生崩溃?仅仅因为产品没有经过未预料的输入测试,就浪费了这么多的时间,这一定是多么可怕的感觉啊!


Source: 模糊测试:如何自动创建复杂的测试用例并发现未知错误

InfoQ 促进软件开发领域知识与创新的传播
http://www.infoq.com/cn/
软佳科技有限公司 http://www.softplus.org
软佳医疗软件 http://www.ynhis.com
最新Linode VPS 优惠码新用户注册省10美元:Active Linode $10 Coupon

admin

  • *****
  • 0
  • +0/-0
  • 性别: 男
  • SoftPlus 资深程序员
    • 查看个人资料
    • http://www.softplus.org
InfoQ_轻量版V8最新优化成果:内存开销平均减少22%
« 回复 #5551 于: 九月 18, 2019, 04:06:57 am »
轻量版V8最新优化成果:内存开销平均减少22%

我们在2018年末启动了一个名为 V8 Lite 的项目,项目的目标在于大幅降低 V8 引擎的内存使用。这个项目原本被设想为 V8 的独立轻量版本,专门为低内存的移动或嵌入式设备设计。在这种场景中我们更在乎减少内存的使用,而不是执行的吞吐量。不过,在工作进行过程中我们意识到,我们为 Lite 模式所做的许多内存优化工作可以被移植到常规版本的 V8 引擎,从而使所有 V8 用户收益。


这篇文章重点介绍了项目中的关键优化策略,以及这些优化如何在实际中节省工作负载内存。



注意:如果你更喜欢看演讲而不是阅读文章,请欣赏这个视频



轻量模式


为了优化 V8 的内存使用,首先需要了解 V8 如何使用内存,以及中哪些对象类存在大比例的堆占用。我们使用 V8 的内存可视化工具分析了许多典型网页,追踪其中堆大小的使用情况。



V8 引擎加载印度时报网站时不同对象类型的堆占用情况

分析得知,V8 的堆很大一部分被非关键对象占用,这些对象专门用于优化 JavaScript 的执行和异常处理。比如:优化代码结构;用于确定如何优化代码的反馈类型;C++ 和 JavaScript 对象绑定需要的冗余元数据;堆栈符号化过程中需要的元数据;只在页面加载期间执行了几次的函数的字节码。


Source: 轻量版V8最新优化成果:内存开销平均减少22%

InfoQ 促进软件开发领域知识与创新的传播
http://www.infoq.com/cn/
软佳科技有限公司 http://www.softplus.org
软佳医疗软件 http://www.ynhis.com
最新Linode VPS 优惠码新用户注册省10美元:Active Linode $10 Coupon

admin

  • *****
  • 0
  • +0/-0
  • 性别: 男
  • SoftPlus 资深程序员
    • 查看个人资料
    • http://www.softplus.org
InfoQ_微软宣布开源使用二十余年的C++标准库
« 回复 #5552 于: 九月 18, 2019, 04:06:57 am »
微软宣布开源使用二十余年的C++标准库


2019年9月16日,微软C++团队在官方博客发文称:“在CppCon 2019大会,我们(MSVC团队)宣布开源C ++标准库(也可称为STL)。”



据了解,MSVC C++标准库开源之后,新的存储库地址为https://github.com/microsoft/STL,其中包含了所有的产品源代码、新的CMake构建系统和更多信息的自述文件。微软C++团队正在努力将其迁移到GitHub中,目前虽然可以克隆和构建代码,但是在查看拉取请求之前,还需要做一些准备工作,例如添加测试套件等等,具体的迁移状态,可以点击此处查看。


微软C++团队在官方博客中,也回答了几个大家都很关心的问题,下面我们就一起来看看吧。


1.为什么要开源C++ STL?


微软C++团队:选择开源主要是因为以下的原因:开源之后,在GitHub中使用STL允许用户跟踪我们的开发,并可尝试使用最新更改,同时还可以通过审查来帮助改进我们的拉取请求;随着C++标准化的加速发展,每年都有很多大型功能都是被大家投票要开发的,我们认为接受开源贡献的主要功能是非常重要的,例如C++ 20的计时和格式库。另外,我们也希望能够通过主要功能的实现来回馈C++社区,例如 C++ 13 charconv。


2.STL使用的是什么开源许可?是否会直接影响Visual Studio的客户?


微软C++团队:MSVC STL的开源许可为Apache License v2.0

LLVM Exceptions,是由Clang / LLVM / libc ++项目创建的。


Source: 微软宣布开源使用二十余年的C++标准库

InfoQ 促进软件开发领域知识与创新的传播
http://www.infoq.com/cn/
软佳科技有限公司 http://www.softplus.org
软佳医疗软件 http://www.ynhis.com
最新Linode VPS 优惠码新用户注册省10美元:Active Linode $10 Coupon

admin

  • *****
  • 0
  • +0/-0
  • 性别: 男
  • SoftPlus 资深程序员
    • 查看个人资料
    • http://www.softplus.org
InfoQ_全票通过!易观开源项目DolphinScheduler进入Apache孵化器
« 回复 #5553 于: 九月 18, 2019, 04:06:57 am »
全票通过!易观开源项目DolphinScheduler进入Apache孵化器


美国时间2019年8月29日,易观开源的分布式任务调度引擎DolphinScheduler(原EasyScheduler)正式通过顶级开源组织Apache基金会的投票决议,以全票通过的优秀表现正式成为Apache孵化器项目。



根据Apache基金会邮件列表显示,在包含11个约束性投票(binding votes)和2个无约束性投票(non-binding votes)的投票全部持赞同意见,无弃权票和反对票,投票顺利通过。



“Welcome to Apache incubator,DolphinScheduler!”




易观贡献的DolphinScheduler进入 Apache 孵化器,是易观开源项目的重要里程碑, DolphinScheduler社区将遵循「The Apache Way」,秉承更加兼容并包与开放多样化的心态,由衷欢迎更多的开发者参与到社区中来,Committer虚位以待!


Source: 全票通过!易观开源项目DolphinScheduler进入Apache孵化器

InfoQ 促进软件开发领域知识与创新的传播
http://www.infoq.com/cn/
软佳科技有限公司 http://www.softplus.org
软佳医疗软件 http://www.ynhis.com
最新Linode VPS 优惠码新用户注册省10美元:Active Linode $10 Coupon

admin

  • *****
  • 0
  • +0/-0
  • 性别: 男
  • SoftPlus 资深程序员
    • 查看个人资料
    • http://www.softplus.org
InfoQ_同程金服刘畅:能解决现有问题的技术,才是好技术
« 回复 #5554 于: 九月 18, 2019, 04:06:57 am »
同程金服刘畅:能解决现有问题的技术,才是好技术


当前,在中国旅游业蓬勃发展的条件下,在线旅游业也随之水涨船高,但面对旅游产业细分的市场 B 端金融渗透和服务等方面却没有充分的准备,其中有一个很大的原因是旅游行业中,大部分企业是中小微企业,它们存在着营收小、存续期短、资产实力差、历史数据少、可预测性差等诸多现实问题。

以酒店住宿领域为例,目前业主、品牌方和加盟商们面临融资开业、翻新装修、升级改造等压力,存在大量的资金需求。但在现有的金融体系下,传统银行对酒店业缺乏有效的评估机制,酒店加盟商向银行申请的贷款往往很难获批。即使申请成功,也存在额度少、周期短等难题。

为了解决此类问题,2015 年,同程旅游成立同程金服公司,宣告正式涉足金融领域,由此开启了对旅游产业金融的布局。同程旅游凭借丰富的行业经验和历史数据,这在金融科技领域是一个得天独厚的优势。

近日,TGO鲲鹏会对同程金服高级技术经理 & TGO 鲲鹏会上海分会会员刘畅进行了专访,他谈及了当前同程金服的发展情况、未来计划、公司管理和个人经历等方面,以下为采访实录:




一、加大产业金融布局,提供多样化服务


TGO 鲲鹏会:请您简单介绍一下目前主要负责的工作。


刘畅:我是同程金服信贷研发部的技术负责人,主要负责消费金融领域相关的技术管理工作。包括信贷整体业务技术架构的搭建与优化、新技术体系的选型、风控系统的持续建设、产研测开发流程体系的优化以及团队的人员管理等工作。


TGO 鲲鹏会:据了解,同程金融除了先后围绕酒店住宿、文旅及交通出行等旅游业态推出多个融资服务产品之外,未来还将不断加大产业金融的布局,请问同程金服未来的主要战略和市场布局是怎么样的呢?


Source: 同程金服刘畅:能解决现有问题的技术,才是好技术

InfoQ 促进软件开发领域知识与创新的传播
http://www.infoq.com/cn/
软佳科技有限公司 http://www.softplus.org
软佳医疗软件 http://www.ynhis.com
最新Linode VPS 优惠码新用户注册省10美元:Active Linode $10 Coupon

admin

  • *****
  • 0
  • +0/-0
  • 性别: 男
  • SoftPlus 资深程序员
    • 查看个人资料
    • http://www.softplus.org
InfoQ_别再用Else语句写代码了?
« 回复 #5555 于: 九月 18, 2019, 04:06:57 am »
别再用Else语句写代码了?


if…else 语句是许多程序员在写代码时最常用的方式之一。你甚至可以看到许多程序员的代码中嵌套着无数 else 语句。可这样,真的好吗? 一篇关于卫语句的实用介绍。



在刚开始接触编程时,我多希望能有人在我摸索着开发第一个网站的过程中,给我分享一点中肯的人生经验……


那会儿我犯下的第一个大错误,就是在编写条件时过度使用 else 关键字。不只是我,后来我发现很多开发者朋友都有这个问题,所以我打算在今天的文章里好好聊聊这件事。



免责声明:本文纯粹是我自己的主观感受。



在某些情况下,我们可能没办法在代码里使用这类方法。有时候,使用 else 关键字确实是最好的解决方案。这些我都承认,本文只是想给大家提供一点关于构建逻辑的新思路。



Source: 别再用Else语句写代码了?

InfoQ 促进软件开发领域知识与创新的传播
http://www.infoq.com/cn/
软佳科技有限公司 http://www.softplus.org
软佳医疗软件 http://www.ynhis.com
最新Linode VPS 优惠码新用户注册省10美元:Active Linode $10 Coupon

admin

  • *****
  • 0
  • +0/-0
  • 性别: 男
  • SoftPlus 资深程序员
    • 查看个人资料
    • http://www.softplus.org
亚马逊悄悄调整产品搜索算法,主推高利润率产品,超万种自营产品或受益



华尔街日报报道,亚马逊于去年年底悄悄对其网站上的产品搜索系统的算法进行了调整,突出显示利润率更高的产品,而非销量最高或者与消费者需求相关的产品。



对此,Amazon News发表推文称华尔街日报基于匿名来源的报道是错误的,并坚称亚马逊并没有改变对搜索结果进行排名的标准,包括盈利能力。“我们为客户提供他们想要的产品,不管它们是我们自己的品牌还是我们的销售伙伴提供的产品“。



这一举措也在亚马逊内部受到质疑,亚马逊搜索团队A9和零售业务高管为此还展开了激烈的争论。参与该项目的搜索团队员工认为,这将更有利于亚马逊自营品牌,优先展示自有产品并不符合亚马逊客户的最佳利益,“搜索引擎应该寻找相关项目,而不是寻找更有利可图的项目”。而零售业高管则认为,亚马逊应该对内部品牌提供优惠展示待遇,就像杂货店推广自有品牌的方式那样。亚马逊其他部门也曾向搜索工程师们施压,要求他们支持公司自有品牌的产品。


Source: 亚马逊悄悄调整产品搜索算法,主推高利润率产品,超万种自营产品或受益

InfoQ 促进软件开发领域知识与创新的传播
http://www.infoq.com/cn/
软佳科技有限公司 http://www.softplus.org
软佳医疗软件 http://www.ynhis.com
最新Linode VPS 优惠码新用户注册省10美元:Active Linode $10 Coupon

admin

  • *****
  • 0
  • +0/-0
  • 性别: 男
  • SoftPlus 资深程序员
    • 查看个人资料
    • http://www.softplus.org
InfoQ_“红极多时”的PHP要过气了? | 话题
« 回复 #5557 于: 九月 18, 2019, 04:06:58 am »
“红极多时”的PHP要过气了? | 话题

TIOBE编程语言9月排行榜已经发布,其中PHP被特别“点名”了:



潜台词就是“PHP已经快要跌出前十了。”如果之前有关注过TIOBE的话,PHP在之前排名要更靠前,2010年曾一度排进前三。PHP刚诞生时,简单易上手的特性为其收获了一大批开发者,迅速在Web开发领域占据了自己的领地。不过PHP也存在着一些弊端:PHP的安全漏洞相对于其他语言更容易被发现。


真正对PHP产生打击的事应该追溯到2014年,PHP的“头号粉丝”Facebook推出Hack语言作为PHP的替代方案,原因是“PHP的可伸缩性没能满足Facebook的需求”。此后,JavaScriptTypeScriptPython开始逐渐成为Web开发的主流选择。再后来,GO语言的出现,又给PHP带来了新的危机。PHP过于灵活,对于大公司而言,对开发者的管理会有一定复杂性,而GO/Java的教条、规范化,更易于统一标准。国内一些大厂已经由PHP转向Java了。


现如今,微软谷歌、苹果都在力推自家的编程语言,都在为自家的平台打造开发者生态,PHP和这些庞然大物力推的编程语言去竞争,结果并不乐观。


Source: “红极多时”的PHP要过气了? | 话题

InfoQ 促进软件开发领域知识与创新的传播
http://www.infoq.com/cn/
软佳科技有限公司 http://www.softplus.org
软佳医疗软件 http://www.ynhis.com
最新Linode VPS 优惠码新用户注册省10美元:Active Linode $10 Coupon

admin

  • *****
  • 0
  • +0/-0
  • 性别: 男
  • SoftPlus 资深程序员
    • 查看个人资料
    • http://www.softplus.org
Oracle刚刚宣布云服务永久免费,是否会造成云计算领域的“大动荡”? | 话题

Oracle CEO Larry Ellison 在OpenWorld大会上宣布推出了 Oracle Cloud Free Tier,大小型公司和组织、开发人员、学生和教育工作者都可以构建、学习和探索Oracle自治数据库和Oracle云基础架构的全部功能。


这次推出的Oracle Cloud Free Tier(免费套餐计划)共有两个组成部分,分别是免费试用计划和永久性免费云服务。其中,免费试用计划为用户提供300美元的积分,可以试用30天的额外服务和更高级服务;而永久性免费云服务为世界上所有想使用Oracle公有云服务的用户提供无限时的服务,包括Autonomous Database、Compute VM(计算虚拟机)、Block Volumes(块卷)、Object Storage/Archive Storage(对象存储/归档存储)以及Load Balancer(负载均衡器)。


具体来说,Oracle 用户可以永久享受到以下福利:


软佳科技有限公司 http://www.softplus.org
软佳医疗软件 http://www.ynhis.com
最新Linode VPS 优惠码新用户注册省10美元:Active Linode $10 Coupon

admin

  • *****
  • 0
  • +0/-0
  • 性别: 男
  • SoftPlus 资深程序员
    • 查看个人资料
    • http://www.softplus.org
InfoQ_电子邮件怎样暴露你的信息?
« 回复 #5559 于: 九月 18, 2019, 04:06:58 am »
电子邮件怎样暴露你的信息?


他们在监视你,你可以从像素来判断。




你的收件箱正在注视着你。是的,我们大多数人都知道我们的线上活动可以被追踪,但是你可能对收到这样的邮件数量感到吃惊,这些邮件可以告诉他们何时何地打开过,以及打开的频率。


当然,你可以取消订阅新闻邮件,并删除你认为向你发送太多数字信件的公司账户。如果这还不够,你可以关闭收件箱中的数据收集功能,不管你使用的是哪种邮件账户或者客户端。


邮件追踪器是怎样工作的?


电子邮件追踪通常都是由页面上某种交互式的元素来触发的。当你的邮件客户端加载那个元素的时候,通常只是单像素的图像,你甚至都看不到它,而它会发消息给发件人,发件人会认为这条信息已经被打开过了。


这被称为是像素追踪。其工作方式与即时消息对话中的已读回执相同。它被用在许多地方。比如,市场营销人员知道他们把收件箱作为主要目标,同时知道你已经看过他们的信息了,而举办活动的人知道有多少人已经收到他们的活动信息。


Source: 电子邮件怎样暴露你的信息?

InfoQ 促进软件开发领域知识与创新的传播
http://www.infoq.com/cn/
软佳科技有限公司 http://www.softplus.org
软佳医疗软件 http://www.ynhis.com
最新Linode VPS 优惠码新用户注册省10美元:Active Linode $10 Coupon

admin

  • *****
  • 0
  • +0/-0
  • 性别: 男
  • SoftPlus 资深程序员
    • 查看个人资料
    • http://www.softplus.org
InfoQ_只要做到这20%,你就可以成为一名高效开发者
« 回复 #5560 于: 九月 18, 2019, 04:06:58 am »
只要做到这20%,你就可以成为一名高效开发者


本文认为,80/20法则同样也适用于软件开发,只要一直持续做正确的20%事情,开发者就会变得十分高效。当然最难的是找出那正确的20%事情。对于软件开发而言,需要10%的必要专业知识,5%的巧劲,5%的创造力,还需要在余下80%中做好点滴积累。



由本文作者Aphinya Dechalert制作的图片,并为之加上标题:传说中的独角兽开发者,其实只是一个知道如何一直持续做正确的20%事情的开发者。


帕累托法则,也被称为80/20法则,已经在主流互联网上风靡了一阵时间,尤其在讨论生产力和激励动机等话题的圈子更是被人熟知。这个法则的大意是说,通常80%的产出是由20%的投入产出的。


这一80/20规则广泛适用于多个学科,包括但不限于:收入分配、经济学、销售、管理、体育运动和生产力等等, 此处不一一列举。


因此,这条规律在商业和体育中经常被引用和应用。那么,在软件编程中这条法则又如何呢?


软件工程实在是一个广阔的领域,它跨越诸多物理实体和数字虚拟的层次,还涉及各种服务、设备和编程语言。而刚进入这个领域的新手通常会有这样的印象,只需要学习一些精选的东西,然后就大功告成。


Source: 只要做到这20%,你就可以成为一名高效开发者

InfoQ 促进软件开发领域知识与创新的传播
http://www.infoq.com/cn/
软佳科技有限公司 http://www.softplus.org
软佳医疗软件 http://www.ynhis.com
最新Linode VPS 优惠码新用户注册省10美元:Active Linode $10 Coupon

admin

  • *****
  • 0
  • +0/-0
  • 性别: 男
  • SoftPlus 资深程序员
    • 查看个人资料
    • http://www.softplus.org
InfoQ_零基础读懂分布式系统
« 回复 #5561 于: 九月 18, 2019, 04:06:58 am »
零基础读懂分布式系统



区块链是一种分布式系统。不了解分布式系统的工作原理,很难真正理解区块链。


而不理解区块链的麻烦,在于会陷入到对「去中心化」、 「无需许可」等等概念以及「TPS」、「安全」等等问题失去语境的讨论中去。这不仅无助于我们去准确地分析和判断一个区块链项目,也让我们无法认清区块链在技术上的可能的发展路线。


更直白来讲,我们需要掌握分布式系统的一些基础知识。因为这样,我们就能看到区块链本身的局限性,我们就知道任何一个真正有价值的区块链项目都应该:为了解决特定的问题,在特定的环境中,做出特定的解决方案。


单纯的指标比较并不客观,更好的判断标准是:这种方案是否适合于解决这个问题。


了解分布式系统的工作原理对区块链世界非常重要。那么现在,就让我们开启分布式系统的探索之旅吧。


计算机的作用是处理信息,我们输入条件 A 给它,它输出结果 B 给我们。如果处理信息的工作是由一台计算机完成的,这是一种中心化的结构;如果处理信息的工作是由多台独立的计算机合作完成的,我们可以称其为「分布式的系统」。


Source: 零基础读懂分布式系统

InfoQ 促进软件开发领域知识与创新的传播
http://www.infoq.com/cn/
软佳科技有限公司 http://www.softplus.org
软佳医疗软件 http://www.ynhis.com
最新Linode VPS 优惠码新用户注册省10美元:Active Linode $10 Coupon

admin

  • *****
  • 0
  • +0/-0
  • 性别: 男
  • SoftPlus 资深程序员
    • 查看个人资料
    • http://www.softplus.org
InfoQ_2019AI先行者大会在沪举办,顶级AI专家演讲精华回顾
« 回复 #5562 于: 九月 18, 2019, 04:06:58 am »
2019AI先行者大会在沪举办,顶级AI专家演讲精华回顾


9月6日-7日,由上海宝山区人民政府指导,AICUG人工智能技术社区、临港海创、临港新业坊共同主办的2019 AI先行者大会(AI Pioneer Conference)在上海召开,来自阿里巴巴、英特尔、旷视、腾讯、驭势科技、百度、云测数据、英伟达等企业的资深技术专家分享了在NLP、语音技术、推荐算法等AI前沿技术方向上的最新研究进展和新洞见。


本文精选其中部分专家演讲的精华内容进行总结回顾。



阿里达摩院:语言智能赋能电子商务


阿里巴巴达摩院高级研究员、语言技术实验室首席科学家司罗教授分享了自然语言处理技术在电子商务场景中的运用。


自然语言智能是研究人与计算机之间如何用语言进行有效通讯的学科,它包括自然语言形式化的抽取、分析、转化、生成等多方面的课题。人工智能分为计算智能、感知智能、认知智能、创造智能等层面,司罗认为,自然语言处理是实现上述智能的重要研究方向,自然语言处理技术是实现完整或强人工智能的必要技术。



自然语言处理的应用场景非常广阔,在阿里的电商场景下,自然语言处理技术得到了很好的运用。譬如服务于整个阿里巴巴生态系统的大规模自然语言技术平台——AliNLP,它利用数据收集处理,文本分布式表示,多语言词汇、句法分析等技术,该平台每天可用于600多种业务场景,超过20000亿次API调用。该平台的核心特征之一是利用用户行为数据代替了传统标注数据来训练NLP算法,这很好的适应了阿里复杂且多变的电商场景。


Source: 2019AI先行者大会在沪举办,顶级AI专家演讲精华回顾

InfoQ 促进软件开发领域知识与创新的传播
http://www.infoq.com/cn/
软佳科技有限公司 http://www.softplus.org
软佳医疗软件 http://www.ynhis.com
最新Linode VPS 优惠码新用户注册省10美元:Active Linode $10 Coupon

admin

  • *****
  • 0
  • +0/-0
  • 性别: 男
  • SoftPlus 资深程序员
    • 查看个人资料
    • http://www.softplus.org
InfoQ_一份算力提升117%,资源使用下降50%的集群优化指南
« 回复 #5563 于: 十月 19, 2019, 09:10:36 pm »
一份算力提升117%,资源使用下降50%的集群优化指南

摘要


美图日益增长的庞大数据和计算任务,对大数据集群的计算能力、存储能力、稳定性、扩展性等都提出了较大的挑战。目前美图技术团队针对大数据集群做了系列的优化,通过对计算引擎进行改造而达到算力的提升,通过对集群的不断优化提升稳定性的同时规范集群使用。在大数据集群优化的实践中,我们也总结了一些实践经验,也期待和大家有更多的探讨。


集群概述


如今大数据在各行业的应用越来越广泛,运营基于数据跟踪运营效果,产品基于数据分析提升转化率,开发基于数据衡量系统优化效果等。美图公司有美拍、美图秀秀、美颜相机等多个app,部分app 会基于大数据做个性化推荐、搜索、报表分析、反作弊、广告等,整体对大数据的业务需求比较多、应用也比较广泛。促使大数据集群需要支持广泛的业务线及应用,驱动这些业务增长,让数据的使用更为高效。


在这里主要想和大家分享下我们两大集群 Hadoop&Spark 集群的优化与演进的一些具体经验与尝试。Hadoop 集群主要是用于离线报表计算, Spark 集群主要用于用户个性化推荐、反作弊相关等。当前有 PB 级的历史总量,每天的增量也在近百 TB ,每天近万个计算任务,内部有比较多的业务线,并且各业务线比较广泛地运用到数据。这些日益增长的庞大数据和计算任务,充分考验大数据集群的计算能力、存储能力、稳定性、扩展性等。在早期的时候我们有遇到如下问题:稳定性差、组件瓶颈、算力低、组件 bug 多、集群成本高、业务方使用缺乏规范、以及数据安全的问题。


针对以上业务背景、技术挑战以及历史问题,促使我们需要对大数据集群不断的迭代优化,以应对各种挑战。我们先对计算引擎进行改造以达到提升算力的目标,其次通过集群的优化在稳定性的提升的同时规范了集群的使用,但是仍然存在不满足当前的算力情况,所以我们正在自研 ad-hoc 系统,以及通过采集任务画像信息去匹配任务的最佳参数和最佳引擎。


首先我们看一下现在的技术框架,如图一:



Source: 一份算力提升117%,资源使用下降50%的集群优化指南

InfoQ 促进软件开发领域知识与创新的传播
http://www.infoq.com/cn/
软佳科技有限公司 http://www.softplus.org
软佳医疗软件 http://www.ynhis.com
最新Linode VPS 优惠码新用户注册省10美元:Active Linode $10 Coupon

admin

  • *****
  • 0
  • +0/-0
  • 性别: 男
  • SoftPlus 资深程序员
    • 查看个人资料
    • http://www.softplus.org
InfoQ_C# 8.0正式发布:Visual Studio 2019支持所有新功能
« 回复 #5564 于: 十月 19, 2019, 09:10:36 pm »
C# 8.0正式发布:Visual Studio 2019支持所有新功能

微软宣布C# 8.0作为 .NET Core 3.0版本的一部分正式可用,该消息同步发布于.NET Conf 2019其开发博客中。新的语言功能包括可为空的引用类型、异步流、默认接口成员及新的代码模式。Visual Studio 2019支持所有的新功能。


可为空引用类型是新版本中最重要的功能之一。它旨在通过使用特定语法规则来防止与空引用异常相关的场景,这个语法规则是:开发人员必须明确表示某个变量是否可以采用null值。在这种情况下,变量声明中的类型名必须附加“?”(类似可为空的值类型):


string? foo;

如果该变量的类型名后面没有附加“?”,那么,它被视为一个不可为空的引用类型。在这种情况下,编译器将强制实行不可为空的规则:该变量必须被初始化为一个非空值,并且该变量永远不能被赋予空值。可以(在大多数情况下不推荐)用变量名后面附加空宽容操作符“!”来覆盖这个行为:


foo!.Length;

还可以使用可为空上下文来控制是否给出可空警告,或者可为空的注解是否有影响。可以在项目级别或在带有#nullable和 #pragmawarning 预处理指令的源代码文件中指定可为空上下文。另外,一个类型可以具备的可为空行为是如下四种之一:无视(Oblivious),不可为空(nonnullable),可为空(nullable),未知(unknown)。不同的可为空类型会触发不同的编译行为。可为空引用类型的完整规范在这里


另一个重要功能是引入了异步流。该新功能的目的是引入对迭代器和异步方法的支持。此类方法可以用于需要消费或产生持续结果流(即来自物联网设备或云服务)的场景中。


Source: C# 8.0正式发布:Visual Studio 2019支持所有新功能

InfoQ 促进软件开发领域知识与创新的传播
http://www.infoq.com/cn/
软佳科技有限公司 http://www.softplus.org
软佳医疗软件 http://www.ynhis.com
最新Linode VPS 优惠码新用户注册省10美元:Active Linode $10 Coupon

 

Sitemap 1 2 3 4 5 6 7 8 9