本文字数 5500+ ,阅读时间大约需要 15 分钟。
【掘金一周】本期亮点:
- 一次想不到的 Bootstrap 类加载器带来的 Native 内存泄露分析
- 网络热传App鉴定 |「得物」疑私删用户视频?从技术角度还原事件始末
- 🎉 dumi 2,它来了它来了它来了
- 码上开火车-Three.js 3D Web 游戏案例分享
- 前端同学在可观测性的启蒙与初试探–快速实现根因分析/业务大盘
- 签约作者专栏更新动态
上榜规则:文章发布时间在本期「掘金一周」发布时间的前一个月内;且符合各个栏目的内容定位和要求。
一周“金”选
内容评审们会在过去的一周内对社区深度技术好文进行挖掘和筛选,优质的技术文章有机会出现在下方榜单中,排名不分先后。
前端
还在用 JS 做节流吗?CSS 也可以防止按钮重复点击 @ XboxYan
众所周知,函数节流(throttle)是 JS 中一个非常常见的优化手段,可以有效的避免函数过于频繁的执行。其实除了 JS 方式, CSS 也可以非常轻易的实现这样一个功能,无需任何框架库,一起看看吧。
可视化大屏该如何做?有可能一天完成吗?看完你将收获:分片渲染、函数缓存、单测、最简全局状态、自动化部署等知识点。
我修复了一个 Vite Bug,让我的项目首屏性能提高了 25% @ candyTong
项目升级 Vite3.x 后,首次进入页面,页面的首屏时间非常的长,且一定会刷新整个页面。修复前的页面首屏时间为 1m06s,修复后为 45s,性能提升了 25%!
后端
🔥我说MySQL每张表最好不超过2000万数据,面试官让我回去等通知? @ 阿杆
很多人说,MySQL每张表最好不要超过2000万条数据,否则就会导致性能下降。实际情况下,每张表由于自身的字段不同、字段所占用的空间不同等原因,它们在最佳性能下可以存放的数据量也就不同。那么,该如何计算出每张表适合的数据量呢?
一次想不到的 Bootstrap 类加载器带来的 Native 内存泄露分析 @ 挖坑的张师傅
最近笔者线上收到同学反馈,java 服务在接入了支持预发的 javaagent 以后会出现缓存的内存增长,去掉 agent 启动以后内存增长正常。于是分析了一下这个问题,写了这篇文章。
Guava中这些Map的骚操作,让我的代码量减少了50% @ 码农参上
Guava是google公司开发的Java类库扩展工具包,内含了丰富的API,使用这些API可以简化我们代码,使代码更为优雅,本文要给大家分享的就是Guava中封装的一些关于Map的骚操作。
MySQL数据库索引的使用规则以及如何正常使用索引 @ 江晓龙
本文主要介绍MySQL数据库索引的使用规则以及如何正常使用索引。包括最左前缀法则、范围查询、覆盖索引等。
火山引擎 RTC 视频性能降级策略解析 @ 字节跳动技术团队
火山引擎RTC 提供了一套性能升降级方案,以应对设备性能不足、突发性能消耗冲击带来的一系列音视频体验问题。
【Logback+Spring-Aop】实现全面生态化的全链路日志追踪系统服务插件「Logback-MDC篇」 @ 洛神灬殇
日志追踪对于功能问题的排查和数据流转的路径分析时非常重要的,有了全链路日志追踪体系机制可以非常有效且快速的定位问题,但在多线程环境中,若没有相关成熟的框架的支持,想要实现日志追踪,就需要手动将主线程中的日志参数传递给子线程,本文就在线程池场景下借助MDC实现了traceId参数的透传。
美团外卖搜索基于Elasticsearch的优化实践 @ 美团技术团队
美团外卖搜索工程团队在Elasticsearch的优化实践中,基于Location-Based Service(LBS)业务场景对Elasticsearch的查询性能进行优化。
用了这18种方案,接口性能提高了100倍! @ 捡田螺的小男孩
笔者在之前工作中,遇到一个
504
超时问题。原因是因为接口耗时过长,超过nginx
配置的10
秒。然后 真枪实弹搞了一次接口性能优化,最后接口从11.3s
降为170ms
。本文将跟小伙伴们分享接口优化的一些通用方案。
扒去Spring事件监听机制的外衣,竟然是观察者模式 @ 程序新视界
Spring中提供了一套默认的事件监听机制,在容器初始化时便使用了这套机制。该机制也是在典型观察者模式上的进一步抽象和改进。
本篇文章就以观察者模式和Spring事件监听机制作为切入点,结合具体的实例来对两者进行系统的学习和实践。
Android
🔥我说MySQL每张表最好不超过2000万数据,面试官让我回去等通知? @ 阿杆
很多人说,MySQL每张表最好不要超过2000万条数据,否则就会导致性能下降。实际情况下,每张表由于自身的字段不同、字段所占用的空间不同等原因,它们在最佳性能下可以存放的数据量也就不同。那么,该如何计算出每张表适合的数据量呢?
一次想不到的 Bootstrap 类加载器带来的 Native 内存泄露分析 @ 挖坑的张师傅
最近笔者线上收到同学反馈,java 服务在接入了支持预发的 javaagent 以后会出现缓存的内存增长,去掉 agent 启动以后内存增长正常。于是分析了一下这个问题,写了这篇文章。
Guava中这些Map的骚操作,让我的代码量减少了50% @ 码农参上
Guava是google公司开发的Java类库扩展工具包,内含了丰富的API,使用这些API可以简化我们代码,使代码更为优雅,本文要给大家分享的就是Guava中封装的一些关于Map的骚操作。
MySQL数据库索引的使用规则以及如何正常使用索引 @ 江晓龙
本文主要介绍MySQL数据库索引的使用规则以及如何正常使用索引。包括最左前缀法则、范围查询、覆盖索引等。
火山引擎 RTC 视频性能降级策略解析 @ 字节跳动技术团队
火山引擎RTC 提供了一套性能升降级方案,以应对设备性能不足、突发性能消耗冲击带来的一系列音视频体验问题。
【Logback+Spring-Aop】实现全面生态化的全链路日志追踪系统服务插件「Logback-MDC篇」 @ 洛神灬殇
日志追踪对于功能问题的排查和数据流转的路径分析时非常重要的,有了全链路日志追踪体系机制可以非常有效且快速的定位问题,但在多线程环境中,若没有相关成熟的框架的支持,想要实现日志追踪,就需要手动将主线程中的日志参数传递给子线程,本文就在线程池场景下借助MDC实现了traceId参数的透传。
美团外卖搜索基于Elasticsearch的优化实践 @ 美团技术团队
美团外卖搜索工程团队在Elasticsearch的优化实践中,基于Location-Based Service(LBS)业务场景对Elasticsearch的查询性能进行优化。
用了这18种方案,接口性能提高了100倍! @ 捡田螺的小男孩
笔者在之前工作中,遇到一个
504
超时问题。原因是因为接口耗时过长,超过nginx
配置的10
秒。然后 真枪实弹搞了一次接口性能优化,最后接口从11.3s
降为170ms
。本文将跟小伙伴们分享接口优化的一些通用方案。
扒去Spring事件监听机制的外衣,竟然是观察者模式 @ 程序新视界
Spring中提供了一套默认的事件监听机制,在容器初始化时便使用了这套机制。该机制也是在典型观察者模式上的进一步抽象和改进。
本篇文章就以观察者模式和Spring事件监听机制作为切入点,结合具体的实例来对两者进行系统的学习和实践。
Android
Kotlin 默认可见性为 public,是不是一个好的设计? @ 程序员江同学
众所周知,Kotlin 的默认可见性为 public,而这会带来一定的问题。比如最常见的:library 中的代码被无意中声明为 public 的了,导致用户使用者可以用到我们不想暴露的 API ,这样违背了最小知识原则,也不利于我们后续的变更。
那么既然有这些问题,为什么 Kotlin 的默认可见性还被设计成这样呢?又该怎么解决这些问题?
自定义键盘是一个常用的场景。要想显示自己自定义的键盘,那么必然需要隐藏系统的键盘。那么如何阻止系统键盘弹出呢,把握弹出和隐藏键盘的时机?
本文从一次简单的性能优化开始,挖掘了Retrofit的实现细节,并在此基础上,探索了对Retrofit的更多玩法。
扒一扒 Jetpack Compose 实现原理 @ 网易云音乐技术团队
Compose 是 Google 推出的现代化 UI 开发工具包,基于声明式 UI 开发风格,加上 @Composable 函数帮助开发者有效的实现关注点分离,另外 Compose 内部最大程度优化了重组范围,可以帮助我们高效的刷新UI,考虑到 Compose 整体架构设计过于复杂,这篇文章主要带大家了解 Compose Runtime 层核心的实现逻辑。
IOS
货拉拉技术团队通过埋点发现部分用户启动耗时可以达到
10
秒左右,有的甚至可以达到20
秒左右,主要集中在中低端机型(iPhone6
、iPhone7
、iPhone8
系列);试想一个场景:你和女朋友约会马上要迟到了,于是决定打车,打开出行App
,结果启动了十几秒,当时会是什么心态。那么如何提升App
的启动速度呢?接下来将通过实践过程来和大家探讨。
人工智能
AutoML – Hyperparameter Optimization @ 字节跳动技术团队
AutoML 目的是将模型结构和参数的搜索从手工变为自动化方法,降低机器学习专家的计算资源成本,提升公司进行机器学习应用的能力。本文从易用性和加深对业务数据理解两方面进行分享。
【AI】浅析恶意文件静态检测及部分问题解决思路 @ 𝓼𝓲𝓭𝓲𝓸𝓽
为了应对恶意文件对互联网安全的挑战,恶意文件静态检测的思想被提了出来。基于机器学习算法的防护技术为实现高准确率、自动化的未知恶意文件检测提供了行之有效的技术途径,已逐渐成为业内研究的热点。
机器学习模型在云音乐指标异动预测的应用实践 @ 网易云音乐技术团队
数据指标的异常波动,是一个客观存在且无法避免的问题。云音乐数据仓库团队,通过引入机器学习模型,有效弥补了传统阈值方式发现异动的不足。并联合杭研大数据产品部,在产品化方面做了一定的探索。
热点观察
搜集行业热点,洞察技术趋势。
前端
dumi 1.0 在 2020 年 3 月 2 日正式发布,到现在一共有 80+ 位 Contributor、提交 1100+ Commit、为近 4000 个开源项目提供了组件库/站点的文档方案。由于许多体验问题的反馈、组件研发的思考、实际项目的场景,加上社区的底层技术栈也在飞速迭代,是时候给 dumi 做一次大升级了,所以今年的 7 月 29 日正式启动了 dumi 2.0 的研发,而现在它终于与大家正式见面了。
Android
Jetpack Compose 上新:瀑布流布局、下拉加载、DrawScope.drawText @ FunnySaltyFish
不久前,Jetpack Compose 发布了 1.3.0 正式版。经过一年多的发展,再回头去看,Compose 终于带来了缺失已久的瀑布流布局以及
DrawScope.drawText
方法。本文就简单介绍一下。
网络热传App鉴定 |「得物」疑私删用户视频?从技术角度还原事件始末 @ 星际码仔
一场由「Android系统的历史遗留问题」,「得物App对于适配工作的不作为」以及「系统拦截App删除操作的判定规则」三者共同作用下所引发的「乌龙事件」。
掘金万花筒
根据内容质量、创意维度来筛选掘金社区的宝藏文章,你是那个宝藏吗?
CSS 的快乐:画一个可爱的三只小鸟 Button @ zxg_神说要有光
码上开火车-Three.js 3D Web 游戏案例分享 @ 代码与野兽
程序人生
前端同学在可观测性的启蒙与初试探–快速实现根因分析/业务大盘 @ Yestodorrow
签约作者专栏
本专栏为签约作者专栏,将持续关注其更新动态,统计时间为本期「掘金一周」发布时间的前一个周内。
由于签约作者文章会单独进行稿费结算,因此不会记入掘金一周的奖品发放。
分类 | 作者 | 专栏 |
---|---|---|
前端 | 闲D阿强 | 为开源社区贡献力量 |
前端 | 战场小包 | Threejs从入门到实战 |
前端 | 冴羽 | React 基础与进阶 |
前端 | 0o华仔o0 | 常用构建工具的实践总结及原理分析 |
前端 | ndz | 从Canvas到PixiJs |
前端 | 和耳朵 | 微服务网关实战 |
前端 | dragonir | Three.js 进阶之旅 |
前端 | 粥里有勺糖 | Node CLI开发实践 |
前端 | chokcoco | 现代 CSS 与 Web 动画解决方案 |
前端 | ClyingDeng | 手写vue3系列 |
前端 | 徐小夕 | 100+前端几何学应用案例 |
前端 | _小九 | 探索前端工程化,快速实现组件库开发 |
前端 | CookieBoty | 前端全栈之路 |
前端 | 狂奔滴小马 | Next.js 全栈开发实战 |
前端 | 摸鱼的春哥 | 从零开始的“智慧大屏”开发(vue3、Echarts、带地图) |
前端 | 0o华仔o0 | Sentry 的实践总结及原理解析 |
前端 | Tusi | 基于Vite+AntDesignVue打造业务组件库 |
前端 | 易师傅 | 前端基建之路 |
前端 | 若川 | 组件库源码分析 |
前端 | 前端阿飞 | Vue3 特训营 |
前端 | 荣顶 | WebRTC从实战到未来 |
前端 | codercao | 前端工程化基建探索 |
前端 | liangyue | JavaScript常用设计模式开发与应用 |
后端 | 架构悟道 | 深入理解缓存原理与实战设计 |
后端 | 竹子爱熊猫 | 全解MySQL数据库 |
后端 | 小白debug | 图解网络基础 |
后端 | kevinyan | Java 核心通关指南 |
后端 | 大摩羯先生 | 数据密集型系统搭建 |
后端 | 一颗剽悍的种子 | 网络原理之美 |
iOS | 文如秋雨 | SwiftUI项目实战 |
Android | 彭旭锐 | 小彭说 · Android 开源组件 |
Android | 彭旭锐 | 小彭说 · 数据结构与算法 |
Android | 张风捷特烈 | Flutter 知识进阶 – 异步编程 |
Android | yechaoa | Gradle基础到进阶 |
Android | Pika | Android性能优化 |
Android | 半岛铁盒里的猫 | 一看就懂的OpenGL es教程 |
Android | 岛上码农 | 面向用户体验开发 |
Android | loongwind | Android Jetpack Compose 动画使用详解 |
人工智能 | 秃头小苏 | 深度学习网络原理与实战 |
社区活动日历
活动日历
活动名称 | 活动时间 | 活动主理人 |
---|---|---|
掘金日新计划 | 12月更文挑战来袭,开启掘金成长之旅 | 11月21日 – 12月31日 | @sonic1939 |
等级用户专属活动上线啦丨写好文,瓜分6万元现金大奖 | 11月7日 – 12月10日 | @小斗金 |
✍🏻 技术专题征文19期 漫谈数据库技术 | 11月1日 – 11月25日 | @小斗金 |
社区官方公告
-
掘金社区文章推荐规则大更新!什么样的文章不会被推荐?
📖 投稿专区
大家可以在评论区推荐认为不错的文章,并附上链接和推荐理由,有机会登上下一期。文章创建日期必须在下期掘金一周发布前一个月以内;可以推荐自己的文章、也可以推荐他人的文章。
🏆 掘金一周上榜激励
我们会对上榜作者进行一定的流量扶持和奖励,按双月统计发放 1 次,除此之外,多次上榜的作者还有机会获得官方颁布的 《掘金一周 ·金选作者》实体证书哦!请大家注意“掘金一周”的更新。
暂无评论内容