(一)requireJs 的整体结构: requireJS 源码 前192行,是一些 变量的声明,工具函数的实现 以及 对 三个全局变量(requirejs,require,define)若被占用后的具体处理.     从 194行到 1674行,整整 1480行,是 实例化上下文 函数 newContext() . 在 在req({ } ) 调用时执行 newContext函数,而且只会执行一次. 从1690行开始,便是对外API  require/requirejs/define  的具体实…
在前面,我们讲了angular的目录结构.JQLite以及依赖注入的实现,在这一期中我们将重点分析angular的整个框架的加载流程. 一.从源代码的编译顺序开始 下面是我们在目录结构哪一期理出的angular的编辑顺序图的缩略版: ├─── angular.prefix //util.wrap函数加入的前缀代码 │ ├─── minErr.js //错误处理 ├─── Angular.js //主要定义angular的工具函数 ├─── loader.js //定义了setupModuleLo…
前言 这个星期折腾了一周,中间没有什么时间学习,周末又干了些其它事情,这个时候正好有时间,我们一起来继续学习requireJS吧 还是那句话,小钗觉得requireJS本身还是有点难度的,估计完全吸收这个月就过去了,等requireJS学习结束后,我们的学习流程可能就朝两个方向走 ① 单页应用框架/UI库整理 ② UML文档相关/重构思想相关(软性素质) 然后以上的估计估计会持续3.4个月时间,希望学习下来自己能有不一样的提高,成为一个合格的前端,于是我们继续今天的内容吧 requireJS中的…
众所周知,Mybatis有一个全局的配置,在程序启动时会加载XML配置文件,将配置信息映射到org.apache.ibatis.session.Configuration类中,例如如下配置文件. <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http…
(一)入口 通过 data-main 去加载 JS 模块,是通过  req(cfg) 入口去进行处理的. 为了跟踪,你可以在此 加断点 进行调试跟踪. (二)  req({ })执行时,function newContext() 已经创建了上下文环境 context.我们可以看看 context 拥有哪些属性与方法.     通过执行 context.confgiure(config)即可加载 data-main所对应的js文件(main.js). 当req(cfg)执行,config值 如右图…
这里先从最简单的一个Spring例子开始. 下面是Spring的context的配置 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" xml…
[源码解析] PyTorch 分布式(1) --- 数据加载之DistributedSampler 目录 [源码解析] PyTorch 分布式(1) --- 数据加载之DistributedSampler 0x00 摘要 0x01 数据加载 1.1 加速途径 1.2 并行处理 1.3 流水线 1.4 GPU 0x02 PyTorch分布式加载 2.1 DDP 2.2 分布式加载 0x03 DistributedSampler 3.1 初始化 3.2 迭代方法 3.3 shuffle数据集 3.3…
[源码解析] PyTorch 分布式(2) --- 数据加载之DataLoader 目录 [源码解析] PyTorch 分布式(2) --- 数据加载之DataLoader 0x00 摘要 0x01 前情回顾 0x02 DataLoader 2.1 初始化 2.2 关键函数 2.3 单进程加载 2.3.1 区分生成 2.3.2 迭代器基类 2.3.3 单进程迭代器 2.3.4 获取样本 2.4 多进程加载 2.4.1 总体逻辑 2.4.2 初始化 2.4.3 业务重置 2.4.4 获取 inde…
前言 想不到又到周末了,周末的时间要抓紧学习才行,前几天我们学习了iScroll几点基础知识: 1. [iScroll源码学习02]分解iScroll三个核心事件点 2. [iScroll源码学习01]准备阶段 3. [iScroll源码学习00]模拟iScroll 今天我们来学习其事件机制以及滚动条的实现,完了后我们iScroll就学习的差不多了,最后会抽离iScroll的精华部分组成一个阉割版iScroll 并总结下iScroll的一些地方结束iScroll的学习,然后彻底扑向nodeJS了…
前言 现在工作中基本离不开requireJS这种模块管理工具了,之前一直在用,但是对其原理不甚熟悉,整两天我们来试着学习其源码,而后在探寻其背后的AMD思想吧 于是今天的目标是熟悉requireJS整体框架结构,顺便看看之前的简单demo RequireJS学习笔记 程序入口 源码阅读仍然有一定门槛,通看的做法不适合我等素质的选手,所以还是得由入口开始,requireJS的入口便是引入时候指定的data-main <script src="require.js" type=&qu…