前端生态圈的技术趋势、100Wqps短链系统设计、GPT4、云音乐ARM性能监控 | 每日掘金第 193 期

977 阅读6分钟

Hello,欢迎来到每日掘金时间。每日掘金专注于发掘站内优质创作者和优质内容,欢迎大家多提宝贵意见!

本文字数 2000+,阅读时间大约需要 8 分钟。

  • 【本期掘金酱的下午茶】亮点:
  • 带你看看前端生态圈的技术趋势
  • chrome 渲染延迟上屏分析
  • 五千字长文,带你手写一个 mini webpack,再也不怕面试官问你 webpack 原理了
  • 100Wqps短链系统,怎么设计?
  • 3分钟快速了解GPT-4
  • iOS云音乐APM性能监控实践
  • 线程池也会导致OOM的原因
  • ……

筛选规则:文章发布时间在本期「掘金酱的下午茶」发布时间的 1-3 天内,且符合社区推荐标准,也会同步发布在掘金相关技术社群。

今日主理人|下午茶

本期每日掘金由 战场小包 负责制作。如有投稿文章,请私信👉 战场小包

PS:主理人目前正在招募中,有感兴趣的掘友们可以联系Captain

每日干货|下午茶

主理人们会对近期(1-3 天)社区深度技术好文进行挖掘和筛选,优质的技术文章有机会出现在下方列表,排名不分先后。

『前端』

谷歌浏览器是如何导致 jQuery 产生 Bug 的,又是为何在修复之后又引发了新 Bug 的,这还得从 :has 伪类说起。

本文意在探索在 react@18.3.0 中, react 应用 mount 阶段 react fiber 初始链表的构建过程。为了探索这个过程,鲨叔呕心沥血地整理出了 770 行代码,以极简的代码量来还原了这个过程。

项目开发中发现,chrome渲染了html内容之后,并没有马上显示到屏幕上,而是等到下一次渲染后才显示内容。对于复杂项目,可能会先用ssr做快速上屏,但没想到ssr渲染后居然没有被及时显示到屏幕上,而下一次渲染会出现在耗时很长的js任务后,比如可能是一秒后,对于希望尽快显示内容的场景,这个表现十分影响用户体验。本文描述发现问题/分析问题/和该浏览器特性的官方介绍,以及针对该特性所做的优化手段。

最近一直在看 webpack 相关的知识,无论是相关的打包流程,还是一些更深层次的原理,都想以我的角度,一种更为浓缩的方式分享给大家,思来想去,手写 webpack 似乎是一个不错的方式,在这里,也可以先看一下笔者之前发布的两篇文章,可以作为一个铺垫,

由于这个分享话题很大,涉及到的技术很多,所以很多可以深挖的技术只能一笔带过,但能出现在本次调查里的,都是有一定闪光点且有一定热度的技术,如果感兴趣的话可以深入了解。

『后端』

这段时间,在整理知识星球中面试专栏时看到这么一个字节跳动的二面真题:100Wqps短链系统,怎么设计?这道题,看上去业务简单,其实,覆盖的知识点非常多

因此,在使用切片时,需要注意内存使用的优化,尽可能地避免频繁地进行内存分配和释放操作。优化内存使用可以减少程序的运行时间和内存占用,提高程序的性能和效率。

MySQL 自身简单、高效、可靠,是又拍云内部使用最广泛的数据库。但是当数据量达到一定程度的时候,对整个 MySQL 的操作会变得非常迟缓。而公司内部 robin/logs 表的数据量已经达到 800w,后续又有全文检索的需求。这个需求直接在 MySQL 上实施是难以做到的。

GPT-4是基于Transformer的模型,经过训练后可以预测文档中的next token。为了提高准确性和确保GPT-4遵守行为规范,OpenAI在预训练阶段使用RLHF,同时在后训练过程中控制模型。

本文重点从落地实践的视角作为切入点,带领大家从协作效率,技术落地和运营规范几个方面来展现高可用的实施步骤和落地细节。为了方便理解,先来统一语言话术,看一下软件交付过程中的各个阶段

『移动端』

为了提高网络数据传输的安全性,业内采用HTTPS的方式取代原来的HTTP,Android的应用开发也不例外,我们似乎只需要修改一下域名就能完成http到https的切换,无需做其他额外的操作,那么这个HTTPS是如何实现的?是否真的就安全了?在不同的Android版本上是否有差异?今天我们就来详细研究一下以上的问题。

前面的文章中探究了类的结构,知道了类中都有哪些内容,那么今天就来探究一下,类到底是怎么加载进内存的呢?在什么时候加载到内存的呢?

客户端 APM 监控是发现和解决产品质量问题的重要手段,通常用于排查线上崩溃等问题,随着业务迭代,单纯的崩溃监控不能满足要求,特别是对于云音乐这样业务场景很复杂的产品,滑动不流畅、设备发热、UI 卡死、无故闪退等异常问题对用户体验伤害都很大,因此我们自研了一套能力更完善的 APM 监控系统并在云音乐上取得了不错的效果,本文是关于客户端监控部分的具体实现方案以及实施效果的一些总结。

相信很多人碰到过这个错误,很容易从网上搜索到出现这个问题的原因是线程过多,那线程过多为什么会导致OOM?线程什么情况下会释放资源?你又能如何做到让它不释放资源?

趣味码上掘金分享|下午茶

作者简介
无水者2023新年flag点亮

快来点亮你的新年flag

📖 投稿专区|下午茶

大家可以在评论区推荐认为不错的文章,并附上链接和推荐理由,有机会登上下一期。文章创建日期必须在近 1-3 天内;可以推荐自己的文章、也可以推荐他人的文章。