当 Go 遇上 Windows:15.625ms 的时间更新困局 | 掘金一周 1.4

256 阅读8分钟

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

【掘金一周】本期亮点:

「上榜规则」:文章发布时间在本期「掘金一周」发布时间的前一周内;且符合各个栏目的内容定位和要求。 如发现文章有抄袭、洗稿等违反社区规则的行为,将取消当期及后续上榜资格。

一周“金”选

img_v3_02cf_03d98388-6138-4202-89ff-42fd03b1b52g.jpg

内容评审们会在过去的一周内对社区深度技术好文进行挖掘和筛选,优质的技术文章有机会出现在下方榜单中,排名不分先后。

前端

17 行 CSS 实现骨架屏 loading @德莱厄斯

作者受小程序启发,用 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 R8 耗时优化 @程序员厉飞雨

文章主要讲述 Android 项目中全源码编译 Release 包时,minifyReleaseWithR8 任务耗时久。作者尝试多种优化方法,如配置 r8 参数、增加硬件等均效果不佳。最终选择用 GraalVM 优化 R8,将其 jar 文件编译成二进制文件。值得一读。

记一次手机厂商的BUG排查,App码农如何自证清白,不背锅:关于排除全面屏手势区域不生效的问题@k3x1n

这篇文章主要讲述了作者对全面屏手势区域不生效问题的排查过程。作者通过多种方法调试,最终发现是 MIUI 的 launcher 添加的透明窗口导致部分排除区域被系统忽略,此问题对于普通 app 无解,且指出该问题或因历史原因致相关 API 失效。

Kotlin/JVM 编译流程浅析@程序员江同学

这篇文章主要浅析了 Kotlin/JVM 的编译流程,包括一般编译流程的各个部分,如词法、语法、语义分析等,还介绍了 Kotlin 编译器的调试方法,对比了 K1 和 K2 版本在各阶段的差异,阐述了 lowering 过程和目标代码生成,最后分析了 K2 比 K1 快的原因并进行总结。

从一次图片加载的极致优化深入探究Glide缓存原理@zzy的学习笔记

文章从项目中图片加载的实际问题入手,对图片加载优化进行实践记录,包括命中缓存判断、预加载、加载自动停止、本地图片加载耗时、多图优先级加载、布局和数据预加载等方面,还介绍了Glide的其他优化手段,如大图展示、异步加载应用图标、图片签名、内存优化等,并对Glide的缓存设计进行源码分析,包括整体流程、内存缓存(活动资源、Lru资源、对象池复用)、硬盘缓存等,最后总结强调Glide在性能优化方面的优秀设计。

人工智能

NDSS 2025|Prompt泄露风险:抖音集团安全研究团队揭露多租户KV缓存共享漏洞@字节跳动技术团队

抖音集团安全研究团队与南方科技大学合作的论文被 NDSS 2025 接收,揭示多租户 LLM 服务框架中 KV 缓存共享机制存在侧信道漏洞,攻击者可借此窃取用户提示词,文中介绍攻击方法、实验结果及总结展望,包括提出更安全框架、强调资源共享的安全隐患及建立安全推理服务等。

一文带你全面了解 RAG 组件@致Great

这篇文章全面介绍了 RAG 组件,包括数据加载器、分割器、分块方法、嵌入模型、矢量数据库、向量搜索算法、检索器、相似度测量等,还探讨了 RAG 中调整超参数的最佳实践,涵盖模型选择、调整策略、组件特定调整等,强调持续评估和优化对构建有效 RAG 系统的重要性。

Tokenformer: 下一代Transformer架构@大鲸鱼crush

本文介绍了北大与谷歌合作提出的 Tokenformer 架构相关论文。传统 Transformer 架构存在因固定线性投影而扩展性受限的问题,如参数数量固定、需重新训练等。Tokenformer 则将模型参数 token 化,通过创新的 Token - Parameter Attention(Pattention)层处理 token 与参数交互,总体结构仍含多头自注意力层和前馈网络层。其可扩展性良好,能通过追加新的参数 tokens 实现增量学习,实验表明其在降低训练成本的同时可达到与传统 Transformer 相当的性能。

社区活动日历

img_v3_02cf_37b6e2cd-9e86-48ba-b1ef-82bd35e6b21g.jpg

活动日历

活动名称活动时间
豆包MarsCode 刷题打卡挑战第一季2024年12月27日-2025年1月10日

📖 投稿专区

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