标签

 源码 

相关的文章:

本列表汇集了关于源码解析与软件设计的深度文章,涵盖Mybatis、Vue3等多个技术领域,帮助读者深入理解源码背后的设计思想与实现细节。

Python lru_cache 使用与源码解读

发表于:

1. 用法说明functools.cache和functools.lru_cache都是Python标准库functools模块提供的装饰器,用于缓存函数的计算结果,以提高函数的执行效率。 举一个简单的例子: 12345678910111213from functools import lru_cacheimport timeit@lru_cachedef factorial(n): ...

相关推荐 去reddit讨论

Seata 源码

原文中文,约4200字,阅读约需10分钟。发表于:

作者:京东物流张士欣。

ResourceManager 是 Seata 的核心组件,负责管理分支数据资源事务。它通过 AbstractResourceManager 和 DefaultResourceManager 实现,支持数据库资源的注册、提交和回滚。AsyncWorker 提升事务提交效率,GlobalTransaction 接口提供事务管理功能,GlobalSession 和 BranchSession 分别管理全局和分支事务。

相关推荐 去reddit讨论

一文速览CogACT及其源码剖析:把OpenVLA的离散化动作预测换成DiT,逼近π0(含DiT的实现)

原文中文,约18700字,阅读约需45分钟。发表于:

近年来,配备视觉能力的机器人控制模型引起了广泛的兴趣,比如7-RT-1,8-RT-2-将7D动作分解为离散的token,并使用VLM PaLI-X [13]像语言token一样自回归地预测它们30-Openvla-采用和RT-2类似的方法,对动作进行tokenizing,并在Open-X-Embodiment数据集[48]上训练Prismatic VLM其中,大规模视觉-语言-动作(VLA)模型的发展[

CogACT是一种结合视觉、语言和动作的模型,通过VLM和DiT模块提升机器人在复杂任务中的表现。它提取认知信息并利用扩散模型预测动作,实现高精度和多模态的动作生成,显著提高任务成功率。

相关推荐 去reddit讨论

一文通透OpenVLA及其源码剖析——基于Prismatic VLM(SigLIP、DinoV2、Llama 2)及离散化动作预测

原文中文,约14200字,阅读约需34分钟。发表于:

一个多月前,有朋友曾说,一个月内,π0 会开源来着,当时虽然觉得不太可能,但还是抱着期待可还是没开..没开源必然是有点遗憾,故这两天我一直在考虑、对比,看目前哪个vla最逼近π0,然后借鉴π0的思路,去改造该vla前两天又重点看了下openvla,和cogact,然后对此文增加了不少解读内容,且发现总之,各种vlm + 各种动作预测头/方法,会出来很多vla。

文章讨论了对π0开源项目的期待与遗憾,分析了OpenVLA和CogACT的源码,重点介绍了动作预测模块的实现,包括ActionTokenizer类的功能和Diffusion Transformer的架构。通过对比不同模型,探讨如何改进VLA以接近π0的思路。

相关推荐 去reddit讨论

从源码角度解读 enable_shared_from_this

原文中文,约3200字,阅读约需8分钟。发表于:

我们在使用 C++ 的时候,有时会需要在类的内部获取自身的 shared_ptr,这就会用到 std::enable_shared_from_this。在实际使用过程中,std::enable_shared_from_this 有三个陷阱需要注意: 不能在构造函数中使用 shared_from_this(), 否则会抛出 std::bad_weak_ptr 异常。对应下面情况...

使用C++的std::enable_shared_from_this时需注意三个陷阱:1. 不可在构造函数中调用shared_from_this(),否则会抛出异常;2. 对象必须由shared_ptr管理;3. 必须public继承std::enable_shared_from_this。这些限制有助于避免错误。

从源码角度解读 enable_shared_from_this
相关推荐 去reddit讨论

由 Mybatis 源码畅谈软件设计(九):“能用就行” 其实远远不够

原文中文,约8200字,阅读约需20分钟。发表于:

或者为其。

本文探讨了提高编码质量的方法,强调方法的可读性和合理拆分。作者认为,代码应简洁明了,逻辑清晰,使用换行符、方法排列和异常声明等技巧可提升可读性。最终,写好代码是基本要求,关键在于创造价值和产品。

相关推荐 去reddit讨论

由 Mybatis 源码畅谈软件设计(七):从根上理解 Mybatis 一级缓存

原文中文,约7100字,阅读约需17分钟。发表于:

*** 部门名称*//*** 部门电话*//*** 部门成员*/DepartmentMapper.xml,两条 SQL:一条根据 ID 查询;一条清除缓存,标记了fulshCache标签,将其设置为 true 后,只要语句被调用,都会将本地缓存和二级缓存清空(默认值为 false)一级缓存基于SqlSession,不同SqlSession间不共享一级缓存一级缓存被保存在的中,本质上是HashMap执行。

本文介绍了MyBatis中一级缓存的实现原理,包括生效范围和失效条件。一级缓存基于SqlSession,不同SqlSession之间不共享,主要用于减少重复查询以提高性能。执行插入、删除和更新操作会导致缓存失效,缓存存放的是对象引用,修改后会影响后续查询结果。

相关推荐 去reddit讨论

由 Mybatis 源码畅谈软件设计(五):ResultMap 的循环引用

原文中文,约9600字,阅读约需23分钟。发表于:

由图示可知,Mybatis 在处理循环引用时,会根据引用关系创建最外层对象,每遇到新的引用,都会创建新的对象,并将这些对象“存”起来,当遇到现有对象需要被引用时,则会从“缓存”中取,不断地回归处理引用关系,这和算法中“递归”的思想一致,接下来我们看一下源码中是如何处理的,我们直接看。ResultMap...

本文介绍了 Mybatis 如何通过递归和缓存机制处理 ResultMap 的循环引用,以权限表为例,展示了如何定义循环引用并映射到 Java 对象。重点在于缓存机制的应用,以避免重复创建对象,有效处理一对多和多对一关系。

相关推荐 去reddit讨论

由 Mybatis 源码畅谈软件设计(四):动态 SQL 执行流程

原文中文,约8000字,阅读约需19分钟。发表于:

作者:京东保险 王奕龙本节我们探究动态 SQL 的执行流程,由于在前一节我们已经对各个组件进行了详细介绍,所以本节不再赘述相关内容,在本节中主要强调静态 SQL 和动态 SQL 执行的不同之处。在这个过程中,SqlNode相关实现值得关注,它为动态 SQL 标签都定义了专用实现类,遵循单一职责的原则,并且应用了。最后,我们还会讨论动态 SQL 避免注入的解决方案,它是在 Mybatis 中不可略过的一环。

本文探讨了动态 SQL 的执行流程,强调了其与静态 SQL 的区别。动态 SQL 通过 SqlNode 实现,遵循单一职责原则并应用装饰器模式。示例分析了动态 SQL 的解析过程及其防止 SQL 注入的机制,指出 #{} 占位符通过 JDBC 的 PreparedStatement 绑定参数以确保安全,而 $ 占位符则存在 SQL 注入风险。

相关推荐 去reddit讨论

由 Mybatis 源码畅谈软件设计(二):MappedStatement 和 SqlSource

原文中文,约16700字,阅读约需40分钟。发表于:

作者:京东保险 王奕龙本节我们来介绍(映射SQL语句声明的类),它是 MyBatis 框架中的一个核心类,也是向后不断学习 Mybatis...

本文介绍了 MyBatis 框架中的核心类 MappedStatement,强调了信息隐藏设计原则和建造者模式的应用。MappedStatement 负责管理 SQL 映射信息,解析 XML 文件中的 SQL 语句,并根据静态或动态 SQL 创建 SqlSource 对象。通过源码分析,探讨了方法长度、单一职责原则及方法编排等编程规范。

相关推荐 去reddit讨论