从源码中来,到业务中去,React性能优化终极指南

前言:我们从React源码入手,结合有道精品课大前端的具体业务,运用三大原则对系统进行外科手术式的优化。同时介绍React Profiler这款工具如何帮我们定位性能瓶颈前言:我们从React源码入手,结合有道精品课大前端的具体业务,运用三大原则对系统进行外科手术式的优化。同时介绍React Profiler这款工具如何帮我们定位性能瓶颈

作者/ 安增平

编辑/ Ein

React性能优化是在业务迭代过程中不得不考虑的问题,大部分情况是由于项目启动之初,没有充分考虑到项目的复杂度,定位该产品的用户体量及技术场景并不复杂,那么我们在业务前期可能并不需要考虑性能优化。但是随着业务场景的复杂化,性能优化就变得格外重要。

我们从React源码入手,结合有道精品课大前端的具体业务,运用优化技巧对系统进行外科手术式的优化。同时介绍一下React Profiler这款性能优化的利器是如何帮我们定位性能瓶颈的。

本文中的项目代码全部是在有道大前端组开发项目中的工作记录,如有不足欢迎在留言区讨论交流,笔芯❤

阅读全文
有道精品课实时数据中台建设实践

撰文/ 李荣谦

编辑/ Ryan

来源:有道技术团队(ID: youdaotech)

0 序言

本期文章中,有道精品课技术团队将和大家分享有道精品课数据中台的架构演进过程以及 Doris 作为一个 MPP 分析型数据库是如何为不断增长的业务体量提供有效支撑并进行数据赋能的。

本文以我们在实时数仓选型的经验为切入点,进一步着重分享使用 Doris 过程中遇到的问题,以及我们针对这些问题所做出的调整和优化。

1 背景概述

1.1 业务场景

根据业务需求,目前有道精品课的数据层架构上可分为离线实时两部分。

离线系统主要处理埋点相关数据,采用批处理的方式定时计算。而实时流数据主要来源于各个业务系统实时产生的数据流以及数据库的变更日志,需要考虑数据的准确性、实时性和时序特征,处理过程非常复杂。

有道精品课数据中台团队依托于其实时计算能力在整个数据架构中主要承担了实时数据处理的角色,同时为下游离线数仓提供实时数据同步服务。

数据中台主要服务的用户角色和对应的数据需求如下:

阅读全文
网易云课堂 Service Worker 运用与实践

前言

本文首先会简单介绍下前端的常见缓存方式,再引入Service Worker的概念,针对其原理和如何运用进行介绍。然后基于google推出的第三方库Workbox,在产品中进行运用实践,并对其原理进行简要剖析。

作者:刘放

编辑:Ein

前端缓存简介

先简单介绍一下现有的前端缓存技术方案,主要分为http缓存和浏览器缓存。

http缓存

http缓存都是第二次请求时开始的,这也是个老生常谈的话题了。无非也是那几个http头的问题:

Expires

HTTP1.0的内容,服务器使用Expires头来告诉Web客户端它可以使用当前副本,直到指定的时间为止。

Cache-Control

HTTP1.1引入了Cathe-Control,它使用max-age指定资源被缓存多久,主要是解决了Expires一个重大的缺陷,就是它设置的是一个固定的时间点,客户端时间和服务端时间可能有误差。 所以一般会把两个头都带上,这种缓存称为强缓存,表现形式为:

阅读全文
技术杂谈 | Flutter 的性能分析、工程架构与细节处理

出品/ 有道智云 编辑/ Ryan 来源:有道技术团队(ID:youdaotech)

一、为何 Flutter

跨端技术众多,为何选择 Flutter?它能带来哪些优势,有哪些缺点?

先看看具体的工程效果:

https://link.zhihu.com/?target=https%3A//v.qq.com/txp/iframe/player.html%3Fvid%3Dz316221rmve

web 端效果体验:

https://link.zhihu.com/?target=https%3A//test-pupilmath.youdao.com/pupil-flutter-test/web/%23/

1.1 Flutter VS 原生

无论如何,原生的运行效率毋庸置疑是最高的,但是从工程工作量的角度来对比的话,特别是快速试错和业务扩展阶段,Flutter 是目前为止比较推荐的利器。

阅读全文
网易云课堂个性化推荐实践与思考

作者/ 韩虹莹
编辑/ Ein

从人和信息的博弈谈推荐系统缘起

首先谈谈我理解的推荐系统。

如果说推荐系统的定义是什么,每本书每篇文章说的都不太一样,协同过滤1992年就已经有了,三十年里无数大佬分析了个性化推荐的缘起和意义,世界已经不需要多一个人的见解。但是,当所有人都说一件事情是正确的时候,我们也要想清楚它为什么是正确的

如果你问我推荐系统是什么,我会告诉你,是信息到人的精准分发。那么为什么在这个时代推荐系统才应运而生?古人不会需要信息精准分发,车马信息都很慢,古人学富五车不过现在一个书包的信息量;唯有现在人才需要信息精准分发,信息太多时间太少,乱花渐欲迷人眼,所以我们需要一个智能的系统,帮助你过来过滤信息,所以推荐系统是人和信息的桥梁。

当然,正如罗马不是一天建成的一样,在互联网上搭个桥也是要演进的,最开始是个小木桥——门户网站,用分类导航分发了信息;后来演化到了石板桥——搜索引擎,人可以更精准的找信息;逐步的信息太多了,要变成信息找人,在这个过程中,无论是信息的消费者,还是信息的生产者,都遇到了不曾预见的困难,信息消费者找不到信息了,信息生产者无法让自己的信息展现在消费者眼前,有痛点就有需求,有需求就有产品,于是推荐系统作为一个产品,恰到好处又必然的到来。凯文凯利在《必然》里,把这个趋势称为“过滤”:

进行过滤是必然的,因为我们在不停地制造新东西。而在我们将要制造的新东西中,首要的一点就是创造新的方式来过滤信息和个性化定制,以突显我们之间的差异。

人如何和信息相处,推荐系统既不是起点,恐怕也不会是终局,但它已经是当前人们对于处理信息所能做的最好的实践了。

阅读全文
网易有道 ASR 团队斩获 Interspeech 2021 算法竞赛两项冠军

在近期举行的Interspeech 2021会议上,主办方开展了“非母语儿童语音识别”的特别会议,并发布专项数据集用于算法评测竞赛,旨在推动非母语儿童语音识别技术的研究。此次竞赛共分为4个细分赛道,网易有道ASR团队斩获其中2项冠军与1项亚军

Interspeech是由国际语音通讯协会(International Speech Communication Association, ISCA)创办的顶级旗舰国际会议,作为全球最大的综合性语音信号处理领域的科技盛会,历届Interspeech会议都备受全球各地语音语言领域人士的广泛关注

当前,自动语音识别(ASR)技术已经在很多场景中得到实际应用,但当应用于特定类型的人群(例如非母语人群和儿童等)的语音数据时,效果仍有较大的可提升空间。

阅读全文