Hello,又到了每天一次的下午茶时间。酱酱们的下午茶新增优质作者介绍和码上掘金板块,专注于发掘站内优质创作者和优质内容,欢迎大家多提宝贵意见!
本文字数 1800+,阅读时间大约需要 6 分钟。
- 【本期掘金酱的下午茶】亮点:
- React Context 实现原理:它在 antd 源码里简直用的太多了
- Vue3 是如何通过编译优化提升框架性能的
- 探究 CSS 选择器性能真相
- 敲一敲threejs的门]
- 纯 CSS 码出一份来自程序员的浪漫礼
- mysql 最大建议行数2000w,靠谱吗?
- 美团视觉GPU推理服务部署架构优化实践
- ……
筛选规则:文章发布时间在本期「掘金酱的下午茶」发布时间的 1-3 天内,且符合社区推荐标准,也会同步发布在掘金相关技术社群。
今日主理人|下午茶
本期每日掘金由 法医 负责制作,法医
是一个长期活跃于掘金的前端开发者,热爱Coding,喜欢分享,五湖四海皆兄弟,欢迎大家一起在沸点摸鱼,在掘金创作。
PS:主理人目前正在招募中,有感兴趣的掘友们可以联系Captain
每日干货|下午茶
主理人们会对近期(1-3 天)社区深度技术好文进行挖掘和筛选,优质的技术文章有机会出现在下方列表,排名不分先后。
『前端』
context 是 react 的主要特性,它能在任意层级的组件之间传递数据。在业务代码中用 context 可能不多,大家更偏向于全局的状态管理库,比如 redux、mobx,但在 antd 等组件库里用的特别多。那 antd 组件库是怎么用 context 的?context 又是怎么实现的呢?今天我们就来探究一下。
Vue3 通过编译优化,极大的提升了它的性能。本文将深入探讨 Vue3 的编译优化的细节,了解它是如何提升框架性能的。
在 CSS 中,有些选择器会比其他选择器执行速度更快。下面就来深入研究 CSS 选择器的性能真相,看看如何编写 CSS 选择器才能更快地执行!
本文开门见山,走马观花式的过一下three,尽量不讲api细节, threeJS就是对webgl的封装和扩展,其特点是面向对象的。用threeJs渲染页面的基本要素有 相机、场景、 渲染器。 下面就这三个对象略微展开一下。
这次参加码上掘金月赛,有两个赛题方向,一是新年
FLAG
,二是代码的浪漫,看到这两个赛题,我纠结起来了: 新年FLAG
?今年的FLAG
无非是在找到一份好工作的同时出去旅游几次,但是绞尽脑汁也不知道用什么形式将其表达出来。
『后端』
作为在后端圈开车的多年老司机,是不是经常听到过,“mysql 单表最好不要超过2000w”,“单表超过2000w 就要考虑数据迁移了”,“你这个表数据都马上要到2000w 了,难怪查询速度慢”
指标体系,就是指衡量企业业务状态的指标集合。在实际的工作中,在解决一个复杂的业务问题时,需要使用多个指标从不同维度来评估业务,也就是使用指标体系。指标体系是从不同维度梳理业务,把指标有系统地组织起来。简而言之,指标体系 = 指标 + 体系。
面对在线推理服务使用的GPU资源不断增加、GPU利用率普遍较低的挑战,美团视觉研发团队决定通过模型结构拆分和微服务化进行优化,他们提出一种通用高效的部署架构,来解决这种常见的性能瓶颈问题。以“图像检测+分类”服务为例,优化后的服务压测性能指标GPU利用率由40%提升至100%,QPS也提升超过3倍。本文将会重点介绍推理服务部署架构优化的工程实践,希望对大家能有所帮助或启发。
有业务(Java)的同学反馈,在接入了 devops 的某些 javaagent 以后会极大概率出现 dubbo 调用失败,dubbo 接口中用到的业务类都提示找不到,导致反序列化失败方案,使用Nacos的配置准实时刷新功能去控制某个微服务实例的所有RabbitMQ消费者(容器)的停止和启动。
随着转转业务的不断发展和用户不断增长,公司持续增加对硬件和基础设施的投入,用于满足业务发展的需要,然而资源的使用率却逐步下降。因为最初的目标是发展业务,实现功能,随着业务的发展成熟,逐步更加关注服务的稳定性,性能、冗余、灾备等方案,这样更会增加资源成本。那么如何在保障服务质量和确保服务性能的前提下,同时降低运营成本提高资源利用率呢?容量管理就是其中必不可少的一环。
『移动端』
这是笔者作为一个
Android
工程师入门Flutter
的学习笔记,笔者不想通过一种循规蹈矩的方式来学习:先学Dart
语言,然后学习Flutter
的基本使用,再到实践应用这样的步骤。这样的方式有点无趣且效率较低。
作为现在最常用异步库,其常常与Retrofit+OKHttp一起构建APP的网络操作等模块,再加上其响应式编程本身特性,可使用场景更是愈发增多。RxJava经过不断迭代,目前版本为3.X,可覆盖日常开发大多数异步操作场景。详细说RxJava之前,不得不先说ReactiveX。ReactiveX官方介绍是
A library for composing anychronouse and event-based programs by using observables sequences”
大白话意思就是这是个使用可观察序列来编写异步和基于事件的程序的库。
RxJava的本质上可以理解为一个异步操作库,能用非常简单的逻辑去处理繁琐的异步操作库。所以,它能在一定程度上替代项目中的handler、AsyncTask等等。有的时候,开源框架光是会用是不行的,想做进一步扩展就还得了解其原理。本文旨在梳理RxJava3源码流程,如有不当之处,请尽情指出。如需了解使用方式等
cpu在访问内存时,并不是逐个字节访问的,而是以
字长(word size)
为单位访问。
比如在iOS中32位系统,字长为4字节,也就是每次CPU访问内存以4字节为一个单位长度。
这么设计的目的,是为了减少CPU访问内存的次数,加大CPU访问内存的吞吐量。比如同样读取8个字节的数据,一次读4个字节只需要读2次。
📖 投稿专区|下午茶
大家可以在评论区推荐认为不错的文章,并附上链接和推荐理由,有机会登上下一期。文章创建日期必须在近 1-3 天内;可以推荐自己的文章、也可以推荐他人的文章。