本文字数2200+ ,阅读时间大约需要 6分钟。
【掘金一周】本期亮点:
- 17 行 CSS 实现骨架屏 loading
- 🌿一个vue3指令让el-table自动轮播
- 当 Go 遇上 Windows:15.625ms 的时间更新困局
- 优化了2年的性能,没想到最后被数据库连接池坑了一把
- NDSS 2025|Prompt泄露风险:抖音集团安全研究团队揭露多租户KV缓存共享漏洞
- Tokenformer: 下一代Transformer架构
- 聊聊 Flutter & Dart 里的内存泄漏和优化,也许没你想的那么复杂
- Android R8 耗时优化
「上榜规则」:文章发布时间在本期「掘金一周」发布时间的前一周内;且符合各个栏目的内容定位和要求。 如发现文章有抄袭、洗稿等违反社区规则的行为,将取消当期及后续上榜资格。
一周“金”选
内容评审们会在过去的一周内对社区深度技术好文进行挖掘和筛选,优质的技术文章有机会出现在下方榜单中,排名不分先后。
前端
作者受小程序启发,用 17 行 CSS 实现简单骨架屏:为特定元素加渐变背景色,通过背景大小、位置模拟加载动画,隐藏子元素。此方法比 element - plus 方案更合理,能继承原有元素样式。值得一读。
🌿一个vue3指令让el-table自动轮播 @BAO_OA
本文聚焦 Vue3 与 Element - Plus 构建的 el - table 自动轮播指令开发。因项目需求,作者放弃第三方插件,手动打造该指令。
WebSocket太笨重?试试SSE的轻量级魅力!@秋天的一阵风
本文主要讲了项目数据通信优化。作者发现旧项目用轮询获取待办和消息提醒数据,存在资源浪费、影响体验的缺点。经对比,WebSocket 虽能替代轮询,但在该场景较笨重。而 SSE 作为单向数据推送技术,基于 HTTP 协议,简单轻量,适用于此类场景。
后端
当 Go 遇上 Windows:15.625ms 的时间更新困局@路口IT大叔_KUMA
本文主要介绍了作者在开源项目中增加了对 Windows 的支持,同时也增加了一些测试用例,但在 Windows 上测试用例总是报错。让我们一探究竟作者是如何分析解决的吧。
优化了2年的性能,没想到最后被数据库连接池坑了一把@我是Allen
文章讲述了公司系统使用 Pulsar 后出现消费问题,历经多次排查,最终发现是某 POD 数据库连接池被打满导致。此前还怀疑过三方、内部 sdk 及业务代码等,定位问题艰辛。调整连接池后问题解决,且总结应自省代码以早定位问题减少损失。
【📕分布式锁通关指南 01】从解决库存超卖开始加锁的初体验 @别惹CC
文章从电商库存超卖问题出发,介绍了分布式锁的相关内容。先是模拟扣减库存逻辑,发现高并发下的超卖问题,用 JVM 锁解决但存在失效场景。随后探讨了 MySQL 的悲观锁(单条 update 语句、for update 语句)和乐观锁(版本号、时间戳)的实现及问题。
文章介绍了一款基于 AOP 切面技术的日志审计插件,包括其开发背景、基础架构、实现细节及结果呈现。阐述了插件用于解决系统操作审计和异常排查问题,介绍了多个有用的 Maven 插件和框架,核心是自动配置模块,涵盖多种组件协作,通过线程池处理日志数据等。
Android
聊聊 Flutter & Dart 里的内存泄漏和优化,也许没你想的那么复杂 @恋猫de小郭
这篇文章主要探讨了 Flutter 与 Dart 中的内存泄漏及优化。指出内存泄漏通常因不再需要的内存被占用无法回收,常见于被全局/静态变量持有、被闭包捕获、对象未 dispose 等场景。强调正确使用 BuildContext 和闭包,避免静态全局变量,良好的代码习惯可加速内存回收,还提到一些优化方式和特殊案例。
文章主要讲述 Android 项目中全源码编译 Release 包时,minifyReleaseWithR8 任务耗时久。作者尝试多种优化方法,如配置 r8 参数、增加硬件等均效果不佳。最终选择用 GraalVM 优化 R8,将其 jar 文件编译成二进制文件。值得一读。
记一次手机厂商的BUG排查,App码农如何自证清白,不背锅:关于排除全面屏手势区域不生效的问题@k3x1n
这篇文章主要讲述了作者对全面屏手势区域不生效问题的排查过程。作者通过多种方法调试,最终发现是 MIUI 的 launcher 添加的透明窗口导致部分排除区域被系统忽略,此问题对于普通 app 无解,且指出该问题或因历史原因致相关 API 失效。
这篇文章主要浅析了 Kotlin/JVM 的编译流程,包括一般编译流程的各个部分,如词法、语法、语义分析等,还介绍了 Kotlin 编译器的调试方法,对比了 K1 和 K2 版本在各阶段的差异,阐述了 lowering 过程和目标代码生成,最后分析了 K2 比 K1 快的原因并进行总结。
从一次图片加载的极致优化深入探究Glide缓存原理@zzy的学习笔记
文章从项目中图片加载的实际问题入手,对图片加载优化进行实践记录,包括命中缓存判断、预加载、加载自动停止、本地图片加载耗时、多图优先级加载、布局和数据预加载等方面,还介绍了Glide的其他优化手段,如大图展示、异步加载应用图标、图片签名、内存优化等,并对Glide的缓存设计进行源码分析,包括整体流程、内存缓存(活动资源、Lru资源、对象池复用)、硬盘缓存等,最后总结强调Glide在性能优化方面的优秀设计。
人工智能
NDSS 2025|Prompt泄露风险:抖音集团安全研究团队揭露多租户KV缓存共享漏洞@字节跳动技术团队
抖音集团安全研究团队与南方科技大学合作的论文被 NDSS 2025 接收,揭示多租户 LLM 服务框架中 KV 缓存共享机制存在侧信道漏洞,攻击者可借此窃取用户提示词,文中介绍攻击方法、实验结果及总结展望,包括提出更安全框架、强调资源共享的安全隐患及建立安全推理服务等。
这篇文章全面介绍了 RAG 组件,包括数据加载器、分割器、分块方法、嵌入模型、矢量数据库、向量搜索算法、检索器、相似度测量等,还探讨了 RAG 中调整超参数的最佳实践,涵盖模型选择、调整策略、组件特定调整等,强调持续评估和优化对构建有效 RAG 系统的重要性。
Tokenformer: 下一代Transformer架构@大鲸鱼crush
本文介绍了北大与谷歌合作提出的 Tokenformer 架构相关论文。传统 Transformer 架构存在因固定线性投影而扩展性受限的问题,如参数数量固定、需重新训练等。Tokenformer 则将模型参数 token 化,通过创新的 Token - Parameter Attention(Pattention)层处理 token 与参数交互,总体结构仍含多头自注意力层和前馈网络层。其可扩展性良好,能通过追加新的参数 tokens 实现增量学习,实验表明其在降低训练成本的同时可达到与传统 Transformer 相当的性能。
社区活动日历
活动日历
| 活动名称 | 活动时间 | |
|---|---|---|
| 豆包MarsCode 刷题打卡挑战第一季 | 2024年12月27日-2025年1月10日 |
📖 投稿专区
大家可以在评论区推荐认为不错的文章,并附上链接和推荐理由,有机会登上下一期。文章创建日期必须在下期掘金一周发布前一周以内;可以推荐自己的文章、也可以推荐他人的文章。