快讯

掌握技术趋势,了解最新行业动向

周二

2020-03-31

  • 如何做到99%的搜索请求延迟低于150毫秒?LinkedIn全新消息搜索平台实践

    即时通讯的兴起改变了我们的交流方式。与来回的电子邮件相比,我们发送和接收消息的数量和速度都要高得多。在进行即时对话时,我们也希望能够轻松地搜索重要的短语、瞬间或有参考价值的东西。数据交换请求数量的快速增长为消息传递的可伸缩和快速发现带来了许多新的工程挑战。在这篇博文中,我们将讨论如何改进消息搜索体验,基本方法是从头开始改进消息传递后端架构,并引入我们称为InSearch的消息搜索后端。 本文最初发布于LinkedIn工程博客,经原作者授权由InfoQ中文站翻译并分享。 即时通讯的兴起改变了...

  • 同样是解决数据问题,为什么需要联邦学习?

    近两年,联邦学习技术发展迅速。作为分布式的机器学习范式,联邦学习能够有效解决数据孤岛问题,让参与方在不共享数据的基础上联合建模,从技术上打破数据孤岛。但是,目前这一技术在很多企业落地遇到了困难,InfoQ 将通过选题的方式逐一介绍各大公司如何在金融领域落地实践该技术。 发展至今,联邦学习技术在众多领域均有落地,尤以金融领域居多,并且取得了不错的效果。但是,依旧有不少企业对是否要部署该技术存在疑问,有技术层面的原因,也有对效果的担忧。 根据康威定律,技术发展与其组织存在必然联系,联邦学习的技...

  • Kafka权威指南(三):Kafka起源故事

    编者按:本文节选自图灵程序设计丛书 《Kafka权威指南》一书中的部分章节。 起源故事 Kafka 是为了解决 LinkedIn 数据管道问题应运而生的。它的设计目的是提供一个高性能的消息系统,可以处理多种数据类型,并能够实时提供纯净且结构化的用户活动数据和系统度量指标。 数据为我们所做的每一件事提供了动力。 ——Jeff Weiner,LinkedIn CEO LinkedIn的问题 本章开头提到过,LinkedIn 有一个数据收集系统和应用程序指标,它使用自定义的收集器和一些开源工具...

  • 给 DSL 开个脑洞:无状态的状态机

    最近在一个项目中,因为涉及很多状态的流转,我们选择使用状态机引擎来表达状态流转。因为状态机 DSL(Domain Specific Languages)带来的表达能力,相比较于 if-else 的代码,要更优雅更容易理解。另一方面,状态机很简单,不像流程引擎那么华而不实。 一开始我们选用了一个开源的状态机引擎,但我觉得不好用,就自己写了一个能满足我们要求的简洁版状态机,这样比较 KISS(Keep It Simple and Stupid)。 作为 COLA 开源的一部分,我已经将该状态机(co...

  • 用Spring Boot打包你的React应用

    先讲一讲这篇文章的背景故事。之前我的团队需要在我们需求的基础架构上节省一些资金,并且由于我们要构建的这个应用程序中,大部分负载都会在客户端而非服务端上,所以我们决定试验一下能否将一个Spring应用程序与一个React应用结合起来,并打包成一个war文件。 这篇文章会告诉你如何将Create React App与Spring Boot结合使用,从而为你打包出单个war文件。 Spring Boot和Create React App的基本功能介绍 Create React App可帮助你非常...

  • 前端架构性能优化策略

    这篇文章介绍了一些能让前端应用加载更快,并能提供良好用户体验的技术。 我们要看待的是前端的总体架构。你该如何先加载必需的资源,并尽量提升资源在缓存中的命中概率? 本文不会过多涉及后端交付资源的方式,以及你的页面是否需要客户端应用,或者如何优化应用程序的渲染时间这些内容。 前言 我把应用加载的过程分为三个阶段: 初始渲染——用户需要多长时间才能开始看到内容? 应用加载——用户需要多长时间才能开始使用应用? 下一页——转到下一页需要多长时间? 初始渲染 在浏览器的初始渲染完成之前,用户是看不到任...

  • 数据驱动型决策如何支持软件交付(三):站点可靠性工程助力产品运维

    本文要点: 在数据驱动决策过程中,关于是要投资于服务可靠性还是要开发新功能的决策,可以使用SRE方法来完成。 可以使用一组由开发和运维服务的团队定义的服务水平指标(SLI)来衡量服务的可靠性。 为了能够基于SLI来衡量服务的可靠性,需要为每个SLI定义服务水平目标(SLO)。 为每个SLI定义的SLO确定了错误可用的预算——也就是每个SLI的错误预算——开发和运维服务的团队将跟踪这些预算。 在开发组织中引入SRE方法,并定义好SLI和SLO之后,就能极大地促进产品、开发和运维之间的协作。 数据驱...

周一

2020-03-30

  • 谷歌推出分布式强化学习框架SEED RL,计算速度比IMPALA提高了80倍!

    近年来,Go和Dota2等博弈类游戏的火爆从侧面反映了强化学习(RL)在过去几年里取得的成就。模型或代理通过(例如在游戏中)探索环境来学习,同时针对特定的目标进行优化。然而,目前哪怕要成功学习非常简单的游戏,所需要的强化学习训练体量也非常庞大,这使得研究和产品创意的迭代计算既昂贵又耗时,因此我们亟需一个能同时解决这些问题的“超级”强化学习框架。 在论文“SEED RL:通过加速集中推理实现高效可扩展的Deep-RL”中,我们提出了一个强化学习代理,它可以规模部署到上千台机器上,并能以每秒数...

  • 泛谈家电行业电商中台架构演进

    一、行业背景概述 近五年,各大家电制造企业都在大力布局、发展自己的线上业务。仅2019年双11这一天,各平台的销售数据统计显示,Haier海尔、Gree格力、Hisense海信等当天销售额都达到了几十亿甚至上百亿的级别。 家电制造企业都已经从传统的单一线下代理商、经销商渠道的销售模式,逐步发展成为线上电商渠道与线下渠道相结合的销售模式。 这一过程中,企业需要投入大量的人力、财力与时间成本,涉及到企业组织架构、业务流程以及系统架构的调整与建设。以下聊聊 电商中台 在家电行业销售渠道演进过程中(单一...

  • 腾讯面试官:谈谈我对工程师招聘与面试的理解

    前言 因为项目和团队的需要,过去我花了很多时间在招聘和面试的工作上,曾经一度被误以为转行了 HR,不论在朋友圈、微博上,你也许看过我发的招聘广告。 除招聘广告外,主动寻找,认识新的小伙伴也是我招聘的常规手段,期间也面试了不过朋友,每年平均可能面试有300多人,我认为招聘是一件很高成本的事情,无论是在物色人才还是在筛选人才上。 2018年-2020年面试统计 新冠疫情让节后的招聘和面试增加了不少难度,我想可以借此机会以一个 “招聘方”的角度,谈谈自己对工程师招聘的理解。 平台 大平台对技术...

  • 单张图像就可以训练GAN!Adobe改良图像生成方法 | 已开源

    数据集太小了,无法训练GAN?试试从单个图像入手吧。 去年谷歌就提出了SinGAN,是第一个拿GAN在单幅自然图像学习的非条件生成模型(ICCV 2019最佳论文)。 而最近,来自Adobe和汉堡大学的研究人员,对这个方法做了改进,探讨了几种让GAN在单幅图像提高训练和生成能力的机制。 研究人员将改进的模型称作ConSinGAN。 那么,先来看下ConSinGAN的效果吧。 上图左侧是用来训练的单个图像,右侧是利用ConSinGAN训练后生成的复杂全局结构。 可以看出效果还是比较逼真。...

  • 这个Java开源后台管理系统,太优秀了!

    还是那句话,重复造轮子是个苦逼的活,能搞懂搞会一个好轮子,是多么美好的事情,今天介绍一款杠把子级别的Java开源后台管理系统,RuoYi?基于SpringBoot开发分普通交互前段bootstrap版本,和vue前后端分离版本; bootstrap版本开源地址: https://gitee.com/y_project/RuoYi/? vue前后端分离版本开原地址: https://gitee.com/y_project/RuoYi-Vue? bootstrap版本: 演示地址:h...

  • 谷歌MetNet:秒级别预测的神经网络天气模型

    准确预测从几分钟到几周后的天气是一项基础科学挑战,会对社会的许多领域产生广泛的影响。当下,许多气象机构采用的气象预报方法都是基于大气层的一些物理模型,尽管这些模型在过去的几十年中有了很大的改进,但它们的固有局限是需要庞大的算力,还需要对控制它们的物理定律有非常接近的估算结果。另一种天气预报方法能够克服其中一些限制,那就是使用深度神经网络(DNN)的方法:DNN无需明确编码的物理定律,而是发现数据中的模式,并使用功能强大的专用硬件(例如GPU和TPU)执行并行计算,来学习从输入到期望输出的复杂转换...

  • Netflix 是如何实现每秒200万次的数据处理?

    Netflix 是如何实现每秒 200 万次的数据处理,并查询超过 1.5 万亿行的数据? 在推动技术创新升级的同时,还要确保 Netflix 始终如一的良好体验,这并非易事。 如何才能确保更新不会影响到用户呢?如果确保我们的改进是可度量的呢?Netflix 使用来自回放设备的实时日志作为事件源来获得度量,以便理解和量化用户设备浏览和回放的流畅度。 一旦有了这些度量,我们就把它们输入数据库。每一项指标都附有与所使用设备类型相关的匿名细节,例如,该设备是智能电视、iPad 还是 Android...

  • 5种快速解决Windows 10升级问题的工具

    大多数Windows 10升级和功能更新操作都是能顺利完成的。但如果你不幸遇到了问题,尤其是在较老的PC上出现问题时,请使用本文列举的这些工具和技术来找出原因。 随着全球范围内越来越多的人们开始在家中工作,我发现人们重新点燃了升级到Windows 10系统的兴趣。或许你家那台放在杂物间落灰的旧PC就能很好地运行Windows 10呢,并且来自我许多读者的报告也证实,微软依旧在允许用户从Windows 7和Windows 8/8.1免费升级到Windows 10版本。(相关细节,请参阅“教...

  • 字节跳动在 RocksDB 存储引擎上的改进实践

    1. 背景 RocksDB 作为最著名的 LSM 类存储引擎之一,在字节跳动内部占据非常重要的位置,大量的数据库、存储系统都在基于 RocksDB 进行构建或改进,但 LSM 系列众所周知的一些问题同样困扰着字节跳动的业务,包括性能问题、成本问题、功能问题等等。 本文首先尝试梳理和介绍我们对 RocksDB 在五个方面的改进(在内部存储引擎 TerarkDB 的基础上开发),希望能给社区带来一些参考价值,也欢迎对存储引擎感兴趣的技术专家加入我们一起为字节跳动构建更强大的底层支撑。 2. Rock...

  • 机器学习本该用起来更简单

    免责声明:本文内容是基于我对一些机器学习团队的观察结果,而不是对这个行业的一份学术调查。利益相关,我需要先表明自己是Cortex项目的贡献者,Cortex是一个用来在生产中部署模型的开源平台。 为了方便读者理解,我拿软件中无处不在的东西为例,比如数据库。构建一个数据库是什么意思呢?对于Postgres的贡献者来说,“创建一个数据库”就是要写一百万行C代码。对于Rails开发者来说,这就是rake db:create的操作。显然,谁都没错,它们只是代表了不同的抽象级别,适用于不同的工程师。 ...

  • 微服务公用代码组织实践

    我们知道,微服务架构由多个相对简单的服务组成,依赖服务之间的隔离性降低系统复杂度。理论上拆解完备的微服务,不应当存在过多业务代码复用的机会,因为服务之间的有效的隔离会使得各自代码只关注自身的上下文,微服务的边界清晰不但包含职责清晰,从代码层面也应当清晰隔离。 但微服务群组产出的两类代码,我们仍然建议被公用: 第一类是交互协议代码,微服务之间交互协议标准的代码,由于每个独立微服务单一职责都有自身边界,微服务之间交互就被暴露为新的特征。交互协议标准代码公用,也可以看做以微服务容易理解的方式公布出...

  • 17 个案例带你 5 分钟搞定 Linux 正则表达式

    正则表达式是一种字符模式,用于在查找过程中匹配制定的字符。 元字符通常在Linux中分为两类: Shell元字符,由Linux Shell进行解析; 正则表达式元字符,由vi/grep/sed/awk等文本处理工具进行解析; 正则表达式一般以文本行进行处理,在进行下面实例之前,先为grep命令设置—color参数: $?alias?grep='grep?--color=auto'? 这样每次过滤出来的字符串都会带色彩了。 在开始之前还需要做一件事情,就是创建一个测试用的re-file文件,内...

  • 首款Jupyter官方可视化Debug工具,JupyterLab未来可默认支持Debug

    以后 Jupyter 也能做可视化 Debug,Jupyter 团队发布第一个 Debug 插件与内核。 Python 代码编辑器怎么选?PyCharm、VS Code、Jupyter Notebook 都各有特色,Jupyter 适合做数据分析这些需要可视化的操作,PyCharm 更适合做完整的 Python 项目。然而,因为交互式操作,很少会有开发者想到用 Jupyter 做 Debug。 尽管很多读者可能认为 Jupyter 用来做展示和小型试验就足够了,Debug 并没有太大的需...

扫码关注云+社区

领取腾讯云代金券

http://www.vxiaotou.com