随着页面展示形态的多样化发展,用户使用环境的日趋复杂,当代监控越来越无力。传统监控可以做到在错误发生时上报错误堆栈信息,甚至更多地引导数据。但当前端出现偶发 Bug 时,最令开发人员困扰,因为它们大大地增加了排查成本。 针对偶发 Bug 的问题,贝壳找房于 2019 年年初自研了操作回放系统——时光机,作为灯塔前端监控的扩展系统,时光机通过对用户操作路径和动作的收集,关键数据的快照存储,以及并行组装等能力,提供了一套用户回放操作技术方案,实现了 100% 用户操作回放。InfoQ 近日采访到...
本文主要介绍下Google在RecSys 2019上的最新论文[1],提出了一套大规模多目标排序框架应用于Youtube视频推荐,引入MMoE解决多目标学习,以及解决用户隐式反馈中的selection Bias问题。 介绍 本文提出了一套大规模多目标排序框架应用于Youtube视频推荐平台。众所周知,Youtube视频推荐面临着众多的挑战,包括需要解决多个互相竞争的排序目标、以及用户反馈中的选择偏差(selection bias)等等。为了解决这些问题,我们引入了MMoE[2]来优化多...
在利用Python与R的数据科学堆栈工作了几个礼拜之后,我开始问自己:有没有可能存在一种通用的中间表示形式(类似于CUDA),能够在多种语言之间同时起效?现在我必须得在不同语言中重新实现并优化已经存在的方法,难道就不能更高效一点?除此之外,我希望通过通用的运行对程序进行整体优化,而不是像现在这样只能针对函数进行优化。经过几天的研究和测试,我发现了 Weld。令我意外的是,Weld的缔造者之一正是Matei Zaharia,也就是Spark的发明者。 正因为如此,我联系并采访了Weld项目的主...
本文整理自2019年8月份举行的MOGU DDay分享算法场报告。基本涵盖了蘑菇街内容信息流排序算法一整年的关键算法迭代之路;同时我们所走的演化之路刚好契合召回、排序的各三阶段典型迭代路径。经团队审核资料可以公开,故而整理在此,期望与大家多交流。 介绍 蘑菇街的首页内容秉承为了让更多人因向往时尚而使用蘑菇街的目标,为用户提供时髦、好看、买得到的价值。下面slide中前两个图截取了我们app早期的一拖三的达人聚合内容形式,到以内容图强瀑布流的形式的变动,这种产品上的变化对我们算法和工程架构的...
WebAssembly技术简介 近几年,WebAssembly技术非常火,可以说是成为了JavaScript一个新的转折点。JavaScript自1995年诞生之日起,其性能问题就被大家诟病。直到2008年,很多浏览器加入了即时编译器,JavaScript也开始引入JITs,再加上Google等厂商对其的大力优化,其性能提升了10倍不止。由此,JavaScript也开始跳出了浏览器的范围,在各个领域崭露头脚,比如后台使用的Node.js和桌面端使用的Electron等。 JIT技术简而言之是在J...
Jakarta NoSQL 是Jakarta EE中的一个规范, 最近被批准为EE4J项目,它可以帮助开发人员使用Java和NoSQL技术来创建企业级的应用程序。JNoSQL是Jakarta NoSQL的参考实现,它为一系列NoSQL数据库(如Cassandra、MongoDB、 Neo4J、CouchDB和 OrientDB等)提供了一组API和一个标准实现。 Jakarta NoSQL是由通信层(Diana)组成的,它提供了一组用于定义与NoSQL数据库通信的API。根据NoSQL数据库的不...
导读:今天分享篇 Youtube 推荐排序模块的论文 from RECSYS 2019: Recommending What Video to Watch Next: A Multitask Ranking System https://dl.acm.org/citation.cfm?id=3346997 之前内部查找论文时就注意到了这篇文章,从摘要中就可以看出这应该是在 youtube 上实践的一篇文章,并且内容应该比较实在。不过那时候文章还没有发布出来,中秋最后一天发现有 pdf 发出来了,...
在5G网络和市场运作“领跑”全球后,美国运营商市场开始进入真正的刺刀见红阶段。 目前的三大运营商之中,抛开正为并购案发愁的T-Mobile与Sprint不谈。笑的最欢、价格战打得最猛的,是威瑞森(Verizon Communications)。 5G让运营商获益匪浅 上周五,美国最大的电信运营商 Verizon 公布了最新财报。公司第三季度利润和收入均超过华尔街的预期,三季度新增61.5万名后付费客户,也高于分析师预计的52.7万名。 Verizon第三季度每股收益为1.25美元,营收达3...
大数据时代的互联网应用产生了大量的数据,这些数据就好比是石油,里面蕴含了大量知识等待被挖掘。深度学习就是挖掘数据中隐藏知识的利器,在许多领域都取得了非常成功的应用。然而,大量的数据使得模型的训练变得复杂,使用多台设备分布式训练成了必备的选择。 Tensorflow是目前比较流行的深度学习框架,本文着重介绍Tensorflow框架是如何支持分布式训练的。 分布式训练策略 模型并行 所谓模型并行指的是将模型部署到很多设备上(设备可能分布在不同机器上,下同)运行,比如多个机器的GPUs。当神经...
在消费级无人机领域,大疆的产品几乎可以用一骑绝尘般来形容,发展至今,大疆无人机已然成为了航拍的代名词,其产品线也愈加丰富起来。 如今,大疆的无人机家族又添了一名新成员。 10月30日晚,大疆官方放出消息,正式发布了一款小型无人机产品——御 Mavic Mini,就像是这款产品的名字所体现的那样,它是目前大疆推出的重量最轻、体积最小的可折叠无人机。 那么 Mavic Mini 到底有多小?根据官方公布的参数来看,它机身重量仅有249克,这是个什么概念,以苹果最新款的旗舰产品iPhone 1...
在近期我们发布的 《Vue 3 最值得期待的五项重大更新》 中,我们了解了 Vue 3 将带来的性能提升,知道了使用新版 Vue 编写的应用程序在性能表现上会很出色。但性能并不是最重要的部分,对于开发人员而言,最重要的是新版本将如何影响我们编写代码的方式。如你所料,Vue 3 带来了许多激动人心的新功能。值得庆幸的是,Vue 团队主要针对当前 API 做了添加和改进,没有引入多少重大更改。因此,熟悉 Vue 2 的开发人员应该可以很快习惯新语法。 让我们先从大多数人可能都听说过的 API ...
微前端架构是一种设计方法,其中,前端应用被分解为多个松散而协同工作的半独立“微应用”。微前端的思想来源于微服务,其名称也遵循了微服务的命名方式。那么,微前端的优势和好处在哪?让我们一起通过这篇微前端教程来了解。 微前端模式的好处包括: 微前端架构可能更简洁,因此更易于推理和管理。 多个独立的开发团队更容易协同开发单个前端应用。 微前端模式可以让“新”应用与旧应用并行工作,从而提供了一种迁移手段。 尽管微前端最近在业内引发了很多关注,但到目前为止并没有出现一种绝对主流的实现方式,也没有公...
随着 React.js 的不断进化,现在的它已经成为 Web 组件中最受欢迎的视图库之一。但是你手中的它,是否真的能够正常工作呢?本文将主要描述 5 个关于React 组件的最佳实践,希望对正在关注 React 组件的你有所帮助。 问题 React.js 已成为 Web 组件中最受欢迎的视图库。一路进化下来,它发展出了众多特性,如今已成为创建优秀的 Web 应用程序的一套完整工具。 它的社区经历了爆发式增长,尤其在过去的 2-3 年中,网络上出现了成千上万有关这项技术的教程。 因此,每位初...
谁能取代 JavaScript 似乎是一个老生常谈的话题,很多人都提出过各自不同的看法。本文作者则提出了一个新的视角供你参考:JavaScript 风头正劲,但 WebAssembly 可能已经敲响了它的丧钟。 有些编程语言很受欢迎,还有些语言只是一种必需品而已。对于许多程序员来说,JavaScript 就属于后者——每一位前端开发人员都需要理解这门语言,但人们用不着真心喜爱它。 十年前,我们还很难看出 JavaScript 将会统治世界。Java、Flash 和 Silverligh...
苹果的App Store审核之严格,大家都有所耳闻。但在苹果公司的平台上写代码,似乎却不是那么一件令人身心愉快的事儿。本文主人公 Chris Krycho 是一位前端开发,他直言不讳地表示:苹果的开发者文档就是垃圾。为什么这样说呢? 开发者:苹果,你的开发者文档糟透了! Chris Krycho 过去五年中一直在从事JavaScript 前端开发的工作。过去几个月时间里,他一直在努力跟上苹果开发者生态系统的发展速度,并且将这一切作为自己的rewrite项目中的一部分。(注:rewrite是...