本文字数2700+ ,阅读时间大约需要 8分钟。
【掘金一周】本期亮点:
- 【动画进阶】巧用 CSS/SVG 实现复杂线条光效动画
- 异步难题:前端并发控制全解析
- Scala:构建可与外部交互的 monadic 流式处理指令集
- (二)漫谈分布式之理论篇:用刁钻的手法掰正你那学歪的CAP与BASE理论!
- 托文档搜索的福,我终于在实战中用上了AI!
- 深入浅出 LangChain 与智能 Agent:构建下一代 AI 助手
- Flutter&Flame游戏实践#05 | 打砖块 - 基础功能
- 快速解决升级 Xcode 15.3 后出现的构建问题 & 原因
「上榜规则」:文章发布时间在本期「掘金一周」发布时间的前一周内;且符合各个栏目的内容定位和要求。 如发现文章有抄袭、洗稿等违反社区规则的行为,将取消当期及后续上榜资格。
一周"金"选
内容评审们会在过去的一周内对社区深度技术好文进行挖掘和筛选,优质的技术文章有机会出现在下方榜单中,排名不分先后。
前端
本文讲解Promise,callback,RxJS多种方式实现并发限制,通过示例循序渐进讲解,如何实现带数量限制的并发请求,这来源于笔者业务中的真实场景,同时也是一道前端面试题,作为面试题的话,一般是考察对
Promise
的理解。
【动画进阶】巧用 CSS/SVG 实现复杂线条光效动画 @ Chokcoco
最近,群里在讨论一个很有意思的线条动画效果,简单而言,就是线条沿着不规则路径的行进动画,其中的线条动画可以理解为是特殊的光效,那么本文,我们将一起探索,看看在不使用 JavaScript/Canvas 的基础上,使用纯 CSS/SVG 的方式,我们可以如何大致的还原上述的线条动画效果。
目前,古茗前端团队内部统一采用了 React 技术栈,所有新项目和基础建设均基于 React 框架开发。然而,许多老旧的 Vue 应用仍在使用和运行,因此我们需要进行项目迁移,统一技术栈,减少开发认知负担,接轨现有基建,增强可维护性,以便更好地满足业务新需求,本文主要讲述笔者治理老项目存量外链投放问题的解决思路。
后端
老实说,分支预测,是高手过招的杀手锏,但是对写业务代码没啥帮助。 @why技术
本文作者将从多个视角带大家理解学习分支预测
肝了一周,彻底弄懂了 CMS收集器原理,这个轮子造的真值! @猿java
本文不仅讲解了 CMS回收器,更是铺垫了很多 GC相关的基础知识,比如 安全点,三色标记法,卡表,写屏障等,干货满满,值得一读。
Scala:构建可与外部交互的 monadic 流式处理指令集 @花花子
本文作者要带大家做的事就是为代数式接口赋予与外界交互的语义,带大家理解构建可与外部交互的 monadic 流式处理指令集
(二)漫谈分布式之理论篇:用刁钻的手法掰正你那学歪的CAP与BASE理论! @竹子爱熊猫
本文作者将会一点点抽丝剥茧,"掰正"大家对CAP与BASE理论的固有认知,非常值得一读
第5章 | 对值的引用,使用引用,引用安全 @草帽lufei
本章将介绍引用在 Rust 中的工作方式,我们会展开讲解引用、函数和自定义类型是如何通过包含生命周期信息来确保它们被安全使用的,并阐明这些努力为何能在编译期就避免一些常见类别的缺陷,而不必在运行期付出性能方面的代价。
Android
作为主端的研发在对飞书这一款大型APP做性能优化时,相比与仅仅对某一个业务,或者是针对一些中小型APP做性能优化需要考虑更多的东西,也会有一些新的方案,所以作者在这一次分享中会介绍基于全局的视角是如何对飞书进行性能优化的,也希望能给大家在做性能优化上带来一些新的思路和启发。
使用Compose Desktop开发一款适用于安卓开发的桌面工具 @LazyIonEs
本文作者将带大家详细了解如何使用Compose Desktop开发一款适用于安卓开发的桌面工具
Flutter 组件集录 | SharedAppData 应用数据共享@张风捷特烈
本文作者将基于 InheritedModel 实现的 SharedAppData 组件,教大家如何实现应用级数据的共享
货拉拉专送司机Android指纹认证登录实践与总结 @货拉拉技术
指纹登录是一种很常见的登录方式,特别在各种金融类APP中,指纹登录的功能已成为标配。为了丰富我们的登录方式,提高我们的用户体验,降低我们的短信成本,我们最近在货拉拉专送司机Android端上线了指纹登录功能。Google从Android 6.0开始,提供了开放的指纹识别相关API,我们在基于指纹验证的基础功能上实现登录的业务场景,希望通过本次的分享能让你的app快速实现指纹登录能力。
HarmonyOS开发:超详细介绍如何开源静态共享包,实现远程依赖 @程序员一鸣
本文作者将通过真实案例一步步介绍如何开源静态共享包,实现远程依赖
Flutter&Flame游戏实践#05 | 打砖块 - 基础功能 @张风捷特烈
该系列是 [张风捷特烈] 的 Flame 游戏开发教程,本系列教程旨在让更多的开发者了解 Flutter 游戏开发,本文作者将教大家如何完成了基本的小球碰撞和砖块消失的功能,这是打砖块的核心逻辑,值得一读。
本文作者将带大家抽丝剥茧Android FD水位监控实现原理
Flutter&Flame游戏实践#04 | Trex-碰撞与场景@张风捷特烈
该系列是 [张风捷特烈] 的 Flame 游戏开发教程,本系列教程旨在让更多的开发者了解 Flutter 游戏开发,本集的重点在于对角色碰撞的处理,以及通过划分场景,让游戏的交互逻辑融会贯通。玩家可以在游戏结束后重新开始,从而生生不息。
在Compose中用函数式编程搭建MVI逻辑层【长图文】@米奇律师
本文作者将带大家一步步深入了解在Compose中用函数式编程搭建MVI逻辑层,并且文中图文都是作者自己制作的,阅读性满满。
IOS
快速解决升级 Xcode 15.3 后出现的构建问题 & 原因 @园宵
本文作者通过对遇到问题的罗列及详细的解决讲解,能够让读者快速解决升级 Xcode 15.3 后出现的构建问题 & 原因
人工智能
本文介绍了通过向量搜索的方式来解决关键词搜索在语义模糊场景下搜索不准确的问题,并且介绍了向量搜索的实现方案
使用 Flutter 和 OpenAI 构建内容推荐应用程序 @吃土的女孩
向用户推荐相关内容对于保持用户对应用程序的兴趣至关重要。尽管这是我们希望在应用程序中拥有的常见功能,但构建它并不简单。随着矢量数据库和开放人工智能的出现,这种情况发生了变化。今天,我们只需对向量数据库进行一次查询,就可以执行高度了解内容上下文的语义搜索。在本文中,我们将介绍如何创建一个 Flutter 观影应用,该应用根据用户正在观看的内容推荐另一部电影。
深入浅出 LangChain 与智能 Agent:构建下一代 AI 助手 @支付宝体验科技
我们小时候都玩过乐高积木。通过堆砌各种颜色和形状的积木,我们可以构建出城堡、飞机、甚至整个城市。现在,想象一下如果有一个数字世界的乐高,我们可以用这样的"积木"来构建智能程序,这些程序能够阅读、理解和撰写文本,甚至与我们对话。这就是大型语言模型(LLM)能够做到的,本文作者将深入浅出介绍了 LangChain 与智能 Agent。
突破内存瓶颈,使用 GaLore 一张4090消费级显卡也能预训练LLaMA-7B@吃果冻不吐果冻皮
对于大模型训练此前有不少降低内存的方法,如梯度检查点、混合精度训练(BF16、FP16)等,本文作者将介绍刚出的内存高效训练方法 GaLore,并且实测其效果。
社区活动日历
活动日历
活动名称 | 活动时间 | 活动主理人 |
---|---|---|
创作者训练营 · 助力每一位创作新星,写出个人影响力! | 2024年2月27日-2024年3月31日 | @Kim泽xi ,笑哈哈055,肥茶 |
✍🏻 技术专题24期 Sora 技术探索 | 2024年2月23日-2024年3月24日 | @小斗金 |
写原创好文,瓜分万元现金大奖 💰 |3月金石计划 | 2024年3月1日-2024年3月31日 | @小斗金 |
博客搬家3月,在掘金开启写作之旅! | 2024年3月1日-2024年3月31日 | @小斗金 |
📖 投稿专区
大家可以在评论区推荐认为不错的文章,并附上链接和推荐理由,有机会登上下一期。文章创建日期必须在下期掘金一周发布前一周以内;可以推荐自己的文章、也可以推荐他人的文章。