![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Tubi技术分享
文章平均质量分 91
Tubi Beijing 小助手
就是望京那个有着一群对运用先进技术改变人们生活这一美好愿望充满无限激情工程师的 Tubi,长期招聘资深工程师!
展开
-
如何监控推荐系统?
推荐系统作为 Tubi 的核心部分,能帮助用户找到他们接下来最想看的视频内容;因此,监控推荐系统以确保其按照预期正常运行是至关重要的。我们深知,仅依赖传统服务的监控方式,对于推荐系统来说是远远不够的,因为推荐系统与传统服务之间存在着显著差异。例如,网页只有停止运行和正常运行两种状态,但推荐系统即使在运行,也可能是以严重降级的状态运行。对推荐系统的质量变化进行监控是一个挑战,欢迎继续阅读本文,了解 Tubi 是如何解决这一问题的。原创 2024-03-15 18:18:06 · 857 阅读 · 0 评论 -
【活动回顾】性能突破、REST API 构建新方法与用户授权解决之道
上周日,Tubi 技术副总裁陈天在 Tubi 北京办公室,与 60+ 位来自各个领域的资深工程师及直播间的 5500+ 伙伴,深入交流了三大话题:当我们谈论性能时,我们在谈论什么;使用 AWS Smithy 优雅地构建 REST API;读论文学习解决方案: 用 Zanzibar 处理用户授权的难题。原创 2024-03-06 18:16:04 · 790 阅读 · 0 评论 -
抢位|面向所有软件工程师的北京线下技术活动
陈天来北京啦!欢迎参加陈天北京线下活动,收获所有软件工程师都会遇到的三大技术难题的创新解决思路!原创 2024-02-22 19:30:00 · 757 阅读 · 0 评论 -
如何使用 Rosetta Stone 工具统一 Tubi 内容管理系统
Tubi 内容库有着能满足不同观众群体观看需求的 200,000 部电影和电视剧集,是全球最大的内容库。同时,Tubi 内容库每天都有来自众多第三方来源的更新,其中包含大量丰富的元数据。如此庞大的内容量为我们有效地管理和理解内容提出了挑战,我们所知最有效的方法是通过统一不同的ID空间、将每个元数据与相应的内容进行准确匹配。为了使这种统一变得自动化,我们建立了Rosetta Stone系统。原创 2024-01-17 21:15:00 · 916 阅读 · 0 评论 -
如何解决 Node.js 20 升级中未预期的请求问题
在 Tubi,我们使用 Node.js 为 Web/OTT 应用进行服务端渲染及代理请求。近来,为了从新版本的性能改进和新功能中受益,我们将 Node.js 从 14.x 版本升级到了 20.x。升级像 Node.js 这样的基础设施绝非易事,尤其是有着许多第三方依赖的大型项目,因为我们无法预测可能会出现的问题。在升级过程中,我们很快便遇到了第一个问题:服务器端发送的每个请求都会失败,并返回 404 的错误。原创 2023-11-15 11:12:02 · 197 阅读 · 0 评论 -
Tubi 前端测试:迁移 Enzyme 到 React Testing Library
大多数工程师(尤其是前端工程师)希望紧追技术潮流,使用最新最酷的技术,但对于已有代码仓库而言,框架和依赖迁移的成本不容忽视。成熟的工程团队需要平衡利弊、明确投入产出比和必要性后做出理智的决策。推进迁移时,寻求渐进而为的方式应被视为基本策略。当然,对新旧代码分而治之的差异化对待经常是为了快速推进而做出的必要妥协。另外,本文中提到的 Codemods 和进度报告脚本等工具也都是辅助迁移的必要前期开发。原创 2023-08-10 13:22:52 · 961 阅读 · 0 评论 -
Tubi 时间序列 KPI 的异常值检测
作为全球最大的流媒体服务之一,Tubi 保持稳定增长,并始终关注对业务发展至关重要的前沿趋势。基于此,Tubi 数据科学团队创建了一套全新警报系统,对 Key Performance Indicators(KPIs) 的异常值和趋势进行检测。原创 2023-07-07 17:47:42 · 254 阅读 · 0 评论 -
【活动回顾】AI 时代下程序员的硬核技能
刚刚过去的 4 月 16 日,Tubi 技术副总裁陈天在 Tubi 北京办公室,与 60+ 位来自各个领域的资深工程师及直播间的 3900+ 伙伴,深入交流了三大话题:应粉丝提问,陈天也对如何有效地将 AI 相关产品融入到日常研发工作中,可能会有哪些挑战做了分享与交流。现场参与的同学普遍表示,这一场技术活动信息量实在是大,话题实在是重要,需要再回头多复习几遍。于是,我们为你准备了这篇学霸观众的活动感想。下文将分享三位观众的活动感想,其中一篇由 GPT 协助完成,你猜是哪一篇,留言给我。原创 2023-04-25 19:07:26 · 217 阅读 · 0 评论 -
抢位|AI 时代下程序员的硬核技能
ChatGPT 占领了几乎全部媒体的近日头条,也引发了不少人思考 AI 时代下自己不可替代的工作价值。AI 时代程序员的硬核技能是什么?如何拥有这一硬核技能?Tubi 研发副总裁陈天将在中,与作为资深工程师的你,探讨分享这一备受关注的前沿话题,并在如何训练描述需求的能力、撰写 RFC 来整理产品思路并将其落地、掌握通用的架构设计方法论等方面提供实践指导。原创 2023-03-28 13:56:52 · 260 阅读 · 0 评论 -
Elixir + gRPC : 通往生产之路
Tubi 免费向千万用户提供数以万计的电影和电视剧,我们乐享技术改变生活的理念。在过去的几年中,我们将Elixir和gRPC相结合,用来构建了生产环境中的诸多关键服务,为用户提供影片,图片等各类数据,是用户观影体验的核心部分。原创 2023-01-12 14:31:42 · 206 阅读 · 0 评论 -
使用 Async-hooks 集成 Envoy 和我们的 RPC 库(二)
前文再续,书接上一回。讲到,我们怎样利用async_hook将请求(Request)的上下文(Context)在我们的业务程序中传递,以及如何使用去设置上下文。在某种程度上是一种好办法,但是并不适合所有情况。比如在 Tubi 的应用过程中,我们发现node-grpc并没有一个特别合适的地方可以打补丁。那现在,我们一起来看一下一种不用的解决方案。原创 2022-12-22 16:38:34 · 288 阅读 · 0 评论 -
使用 Async-hooks 集成 Envoy 和我们的 RPC 库(一)
在这篇文章中,我们将介绍新的 Node.js async_hooks API 在 Tubi 的一些工程实践。首先,我们介绍了驱动我们开始尝试它的缘由,以及我们特定的需求场景。然后我们将讲述我们遇到的一些问题,并解释和演示部分问题的代码示例。最后,我们将展示目前在 Tubi 生产环境中的解决方案。与所有工程一样,我们可接受的权衡不一定适用于你,仅供参考。原创 2022-12-22 16:33:01 · 206 阅读 · 0 评论 -
使用 Scala 和 Akka-Stream 打造一个完全响应式广告服务系统
本文主要介绍从广告服务器接收到请求,到鉴别哪些广告活动组(Campaign)符合条件这一过程。在后续文章中,我们会探究如何从每个广告活动组中获得出价信息,以及我们是怎样评判各个出价的。原创 2022-12-22 16:28:59 · 213 阅读 · 0 评论 -
Hi,听说你也在用 Scala
Tubi 选择了 Scala 和 Akka 作为新的技术栈主要是出于两方面的因素考虑:通过Akka Stream构建高吞吐量的数据分析流水线,和使用 Akka Actors 建立的低延迟机器学习服务基础设施,我们已经积累了很多关于 Akka 框架的经验。原创 2022-12-22 16:25:05 · 716 阅读 · 0 评论 -
Tubi x Scala:为什么
Scala Meetup 上有一个问题被反复提及“ Tubi 为什么选择使用 Scala?” Tubi Senior Tech Lead - Alexandros Bantis 在 2019 Scylla Summit 上的分享,将就这一问题带来更深入的介绍。原创 2022-12-22 15:56:23 · 3585 阅读 · 0 评论 -
Tubi 的 Switchback 实验
在 Tubi,从数据中学习是我们的首要任务之一,而实验在其中起着至关重要的作用。翻译 2022-11-24 16:31:21 · 7186 阅读 · 0 评论 -
Tubi 实验之道
在 Tubi,从功能、基础架构变更,到 ML 模型,每个团队都非常依赖实验来帮助制定决策。在过去 3 年中,Tubi 的实验速度增长了 18 倍。在上个季度,有高达三分之一的 ML 实验显示出对公司 KPI 的正向影响。可以毫不夸张地说,Tubi 的实验文化对公司过去 3 年的成功起到了重要作用。翻译 2022-11-17 14:16:55 · 8745 阅读 · 0 评论