AMD规范

合集下载

规范的AMD诊治中的问题

规范的AMD诊治中的问题

•OCT:
视网膜神经上皮层的水肿 与新生血管或出血相对应的高反光灶 色素上皮层反光带完整,色素上皮下无增生性病 变,伴或不伴浆液性色素上皮脱离
•ICGA:中晚期出现的热点
2008张风
RAP分期及临床表现

I期:视网膜内新生血管

眼底:

视网膜内水肿,黄斑旁视网膜深层毛细血管扩张 出血多位于视网膜表面或视网膜内 视网膜神经上皮层的水肿与NV或出血相对应的高反光灶 RPE反光带完整,RPE下无增生性病变,不伴浆液性PED

2008张风

晚期: 分为干性和湿性

干性AMD或地图状萎缩:
边界清晰的圆形或椭圆形色素脱失灶,直径大于 175um,其内透见脉络膜血管影

湿性AMD


(新生血管性AMD,盘状AMD,渗出性AMD)
RPE脱离(可伴神经上皮脱离) 视网膜下或RPE下新生血管膜 视网膜前、视网膜内、视网膜下或RPE下瘢痕或神 经胶质、纤维组织沉积 视网膜下出血(与其它视网膜血管性疾病无关的) 与上述相关的非其它血管性疾病引起的硬性渗出

PCV与AMD:亚洲及国人统计:占AMD 20%以上
2008张风
PCV
2008张风
2008张风
影像学检查特点
FFA:早期:花边斑点状高荧光 晚期:轻渗、染色 RPE萎缩——可见高荧光血管网,滋养血管 ICGA:―金标准” 早期:脉络膜内层分枝状血管网 晚期:血管末梢——多个息肉状扩张灶 OCT:分不出CNV类型

2008张风
2005美国眼科临床指南 《年龄相关性黄斑变性》
疾病定义

(>50岁) 年龄相关性黄斑变性(AMD)是一种黄斑部的疾 病,具有下面一个或多个特点:

amd规范下的define的参数以及用法

amd规范下的define的参数以及用法

amd规范下的define的参数以及⽤法CLONE⽽来1. AMD的由来 前端技术虽然在不断发展之中,却⼀直没有质的飞跃。

除了已有的各⼤著名框架,⽐如Dojo,JQuery,ExtJs等等,很多公司也都有着⾃⼰的前端开发框架。

这些框架的使⽤效率以及开发质量在很⼤程度上都取决于开发者对其的熟悉程度,以及对JavaScript的熟悉程度,这也是为什么很多公司的技术带头⼈都喜欢开发⼀个⾃⼰的框架。

开发⼀个⾃⼰会⽤的框架并不难,但开发⼀个⼤家都喜欢的框架却很难。

从⼀个框架迁移到⼀个新的框架,开发者很有可能还会按照原有框架的思维去思考和解决问题。

这其中的⼀个重要原因就是JavaScript本⾝的灵活性:框架没办法绝对的约束你的⾏为,⼀件事情总可以⽤多种途径去实现,所以我们只能在⽅法学上去引导正确的实施⽅法。

庆幸的是,在这个层⾯上的软件⽅法学研究,⼀直有⼈在去不断的尝试和改进,CommonJS就是其中的⼀个重要组织。

他们提出了许多新的JavaScript架构⽅案和标准,希望能为前端开发提供银弹,提供统⼀的指引。

AMD规范就是其中⽐较著名⼀个,全称是Asynchronous Module Definition,即异步模块加载机制。

从它的规范描述页⾯看,AMD很短也很简单,但它却完整描述了模块的定义,依赖关系,引⽤关系以及加载机制。

从它被requireJS,NodeJs,Dojo,JQuery使⽤也可以看出它具有很⼤的价值,没错,JQuery近期也采⽤了AMD规范。

在这篇⽂章中,我们就将介绍AMD的性质,⽤法,优势以及应⽤场景。

从AMD 中我们也能学习到如何在更⾼层⾯去设计⾃⼰的前端应⽤。

2. AMD是什么 作为⼀个规范,只需定义其语法API,⽽不关⼼其实现。

AMD规范简单到只有⼀个API,即define函数: define([module-name?], [array-of-dependencies?], [module-factory-or-object]); 其中: module-name: 模块标识,可以省略。

规范的AMD诊治中的问题

规范的AMD诊治中的问题
精品PPT
精品PPT
三、湿性AMD的CNV--分类方法
根据CNV与中心凹的距离: --中心凹下,中心凹旁,中心凹外
根据CNV与RPE的位置关系: --RPE上、下、混合(GassⅠ型、Ⅱ型)
根据FFA表现分类:典型性,隐匿性,混合性 根据ICGA表现分类
1)隐匿性CNV分类:焦点状CNV(热点状)、斑状CNV、 结合状CNV、混合状CNV 2)CNV的活动性分类:活动性CNV、静止性CNV
2 原发病变在脉络膜 3 病变特点——息肉状
PCV与AMD:亚洲及国人统计:占AMD 20%以上
精品PPT
PCV
精品PPT
精品PPT
影像学检查特点
FFA:早期:花边斑点状高荧光 晚期:轻渗、染色 RPE萎缩——可见高荧光血管网,滋养血管
ICGA:“金标准” 早期:脉络膜内层分枝状血管网 晚期:血管末梢——多个息肉状扩张灶
精品PPT
精品PPT
视网膜血管瘤样增生
精品PPT
•FFA:
早期:视网膜内血管性强荧光 晚期:病灶周围水肿,表现为边界不清的局部 组织染色,或浆液性色素上皮脱离
•OCT:
视网膜神经上皮层的水肿 与新生血管或出血相对应的高反光灶 色素上皮层反光带完整,色素上皮下无增生性病 变,伴或不伴浆液性色素上皮脱离
规范的AMD 诊治中的问题
精品PPT
一、定义--病名
1905年 Oeller:黄斑盘状变性 1926年 Junius 、Kuhnt:黄斑盘状变性名称描
述本病,“Junius –Kuhnt”变性 1967年 Gass:老年性黄斑变性
病理特点:老年人、黄斑区脉络膜毛细血管、 玻璃膜、色素上皮退行性改变
黄斑区出血

前端面试题整理—Node篇

前端面试题整理—Node篇

前端⾯试题整理—Node篇1、node有哪些特征,与其他服务器端对⽐ 特征:单线程、事件驱动、⾮阻塞I/O node ⽆法直接渲染静态页⾯,提供静态服务 node 没有根⽬录的概念 node 必须通过路由程序指定⽂件才能渲染⽂件 node ⽐其他服务端性能更好,速度更快2、CommonJS中require/exports和ES6中import/export区别 CommonJS模块的重要特性是加载时执⾏,及脚本代码在require的时候,就会全部执⾏。

⼀旦出现某个模块被“循环加载”就只输出已经执⾏的部分,还没有执⾏的部分是不输出的 ES6模块是动态引⽤,如果使⽤import从⼀个模块加载变量,那些变量不会缓存,⽽是成为⼀个指向被加载模块的引⽤,impor/export最终都是编译为require/exports来执⾏的4、使⽤npm有哪些好处? 通过NPM,你可以安装和管理项⽬的依赖,并且能够指明依赖项的具体版本号,可以通过package.json⽂件来管理项⽬信息,配置脚本5、AMD CMD规范的区别 CommonJS和AMD都是JavaScript模块化规范 CMD依赖就近,⽽AMD依赖前置 CMD是延迟执⾏的,⽽AMD是提前执⾏的 AMD的API默认是⼀个当多个⽤,CMD的API严格区分,推崇职责单⼀6、如何判断当前脚本运⾏在浏览器还是node环境中 通过判断 Global 对象是否为 window ,如果不为window ,当前脚本没有运⾏在浏览器中7、简述同步和异步的区别,如何避免回调地狱 同步⽅法调⽤⼀旦开始,调⽤者必须等到⽅法调⽤返回后,才能继续后续的⾏为 异步⽅法调⽤⼀旦开始,⽅法调⽤就会⽴即返回,调⽤者就可以继续后续的操作。

⽽异步⽅法通常会在另外⼀个线程中,整个过程,不会阻碍调⽤者的⼯作 避免回调地狱: 1)Promise 2)async/await 3)generator 4)事件发布/监听模式8、⼏种常见模块化规范的简介 CommonJS规范主要⽤于服务端编程,加载模块是同步的,这并不适合在浏览器环境,因为同步意味着阻塞加载,浏览器资源是异步加载的 AMD规范在浏览器环境中异步加载模块,⽽且可以并⾏加载多个模块。

AMD规范与CMD规范的区别

AMD规范与CMD规范的区别

AMD规范与CMD规范的区别AMD规范与CMD规范的区别是什么?在⽐较之前,我们得先来了解下什么是AMD规范?什么是CMD规范?当然先申明⼀下,我个⼈也是总结下⽽已,也是⽹上看到的资料,⾃⼰总结下或者可以说整理下⽽已,供⼤家更深⼊的了解!因为我们都知道 AMD规范:是 RequireJS 在推⼴过程中对模块定义的规范化产出的,⽽CMD规范:是SeaJS 在推⼴过程中对模块定义的规范化产出的。

什么是CMD规范?在CMD中⼀个模块就是⼀个⽂件,如下代码所⽰://基本格式如:define(id, deps, factory)// ⽐如如下代码define('hello',['jQuery'],function(require, exports, module) {// 模块代码});define是⼀个全局函数,主要是⽤来定于模块的。

其中如上'hello'就是模块名称,['jquery']是依赖项,也可以依赖于多项可以如下写法['jquery','',''],分别⽤逗号隔开,其中上⾯的id(模块名称)和deps(被依赖项define(function(require, exports, module) {// 模块代码});那么如果我想在b.js代码⾥⾯要依赖于a.js的话,那么我可以直接这样写:define(function(require,exports,module){ var a = require('a')});但是注意:带有id 和 deps 是不属于CMD规范的。

所以在seaJS⾥⾯⼀般的写法是不带模块名称和依赖项的。

就是如上的代码格式。

下⾯看看 factory 在seajs⾥⾯ factory既可以是函数,对象或者字符串。

factory为对象字符串时候,表⽰该模块的接define({provinces: [{name: '上海',areas: ['浦东新区', '徐汇区']},{name: '江苏',cities: ['南京', '南通']}//.....]});假设这个⽂件名为china.js,那么如果某个模块需要这个数据,只需要:define(function(require,exports,module){ var china = require('./china');//在这⾥使⽤中国省市数据});当factory为函数时,表⽰该模块的构造⽅法,执⾏该构造⽅法,可以得到模块向外提供的接⼝。

G.984.2-200602 Amd1

G.984.2-200602 Amd1

I n t e r n a t i o n a l T e l e c o m m u n i c a t i o n U n i o n ITU-T G.984.2TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU Amendment 1(02/2006)SERIES G: TRANSMISSION SYSTEMS AND MEDIA, DIGITAL SYSTEMS AND NETWORKSDigital sections and digital line system – Optical line systems for local and access networksGigabit-capable Passive Optical Networks(G-PON): Physical Media Dependent (PMD) layer specificationAmendment 1: New Appendix III – Industry best practice for 2.488 Gbit/s downstream,1.244 Gbit/s upstream G-PONITU-T Recommendation G.984.2 (2003) – Amendment 1ITU-T G-SERIES RECOMMENDATIONSTRANSMISSION SYSTEMS AND MEDIA, DIGITAL SYSTEMS AND NETWORKSFor further details, please refer to the list of ITU-T Recommendations.ITU-T Recommendation G.984.2Gigabit-capable Passive Optical Networks (G-PON):Physical Media Dependent (PMD) layer specificationAmendment 1New Appendix III – Industry best practice for 2.488 Gbit/s downstream,1.244 Gbit/s upstream G-PONSummaryThis amendment adds a new appendix to ITU-T Rec. G.984.2 that establishes the industry best practice optical budgets for the G-PON system operating at 2.488 Gbit/s downstream, 1.244 Gbit/s upstream.SourceAmendment 1 to ITU-T Recommendation G.984.2 (2003) was agreed on 17 February 2006 by ITU-T Study Group 15 (2005-2008).KeywordsG-PON, optical.ITU-T Rec. G.984.2 (2003)/Amd.1 (02/2006) iFOREWORDThe International Telecommunication Union (ITU) is the United Nations specialized agency in the field of telecommunications. The ITU Telecommunication Standardization Sector (ITU-T) is a permanent organ of ITU. ITU-T is responsible for studying technical, operating and tariff questions and issuing Recommendations on them with a view to standardizing telecommunications on a worldwide basis.The World Telecommunication Standardization Assembly (WTSA), which meets every four years, establishes the topics for study by the ITU-T study groups which, in turn, produce Recommendations on these topics.The approval of ITU-T Recommendations is covered by the procedure laid down in WTSA Resolution 1.In some areas of information technology which fall within ITU-T's purview, the necessary standards are prepared on a collaborative basis with ISO and IEC.NOTEIn this Recommendation, the expression "Administration" is used for conciseness to indicate both a telecommunication administration and a recognized operating agency.Compliance with this Recommendation is voluntary. However, the Recommendation may contain certain mandatory provisions (to ensure e.g. interoperability or applicability) and compliance with the Recommendation is achieved when all of these mandatory provisions are met. The words "shall" or some other obligatory language such as "must" and the negative equivalents are used to express requirements. The use of such words does not suggest that compliance with the Recommendation is required of any party.INTELLECTUAL PROPERTY RIGHTSITU draws attention to the possibility that the practice or implementation of this Recommendation may involve the use of a claimed Intellectual Property Right. ITU takes no position concerning the evidence, validity or applicability of claimed Intellectual Property Rights, whether asserted by ITU members or others outside of the Recommendation development process.As of the date of approval of this Recommendation, ITU had not received notice of intellectual property, protected by patents, which may be required to implement this Recommendation. However, implementors are cautioned that this may not represent the latest information and are therefore strongly urged to consult the TSB patent database.© ITU 2006All rights reserved. No part of this publication may be reproduced, by any means whatsoever, without the prior written permission of ITU.ii ITU-T Rec. G.984.2 (2003)/Amd.1 (02/2006)CONTENTSPage New Appendix III – Industry best practice for 2.488 Gbit/s downstream,1.244 Gbit/s upstream G-PON (1)III.1 Introduction (1)III.2 System applications (1)III.3 Optical specifications (1)III.4 Link budget (2)ITU-T Rec. G.984.2 (2003)/Amd.1 (02/2006) iiiIntroductionThis amendment describes the recommended practical power budgets for systems described in the G.984 series that operate at the downstream rate of 2.488 Gbit/s and upstream rate of 1.244 Gbit/s. These budgets are optional extensions of the Recommendation, and reflect the observed practical optimum values for this particular system.iv ITU-T Rec. G.984.2 (2003)/Amd.1 (02/2006)ITU-T Recommendation G.984.2Gigabit-capable Passive Optical Networks (G-PON):Physical Media Dependent (PMD) layer specificationAmendment 1New Appendix III – Industry best practice for 2.488 Gbit/s downstream,1.244 Gbit/s upstream G-PONIII.1 IntroductionThe widespread interest in the 2.4 Gbit/s downstream, 1.2 Gbit/s upstream G-PON system has provided increased visibility into the feasibility of loss budgets for this system. This appendix captures the industry best practices for this rate combination.The notable variations from the loss budgets found elsewhere in this Recommendation include: •overall loss budgets midway between class B and class C;•different value of optical path penalties;•the OLT must support FEC in the downstream.These variations can provide increased capabilities for operation of G-PON systems. Therefore, the budgets contained in this appendix are recommended over and above all others in this Recommendation for the 2.4/1.2 Gbit/s rate PON.III.2 System applicationsThere are currently two major applications for the G-PON system. The first is a full-service system with a video overlay. The second is a digital-only system without a video overlay. These two applications are diagrammed in Figure III.1.Figure III.1/G.984.2 – G-PON applicationsIII.3 Optical specificationsThe optical specifications for the OLT and ONU optics are given in Table III.1. This table refers to power levels measured at the interface points shown in Figure III.1, i.e., both types a (Video overlay) and b (Digital-only) systems. Specifically, any WDM filters external to the OLT or ONU equipment are considered part of the ODN. These specifications are meant to augment similarITU-T Rec. G.984.2 (2003)/Amd.1 (02/2006) 1specifications found in Table 2 in the main body of the Recommendation. All other specifications found elsewhere in the table still apply.The ONU sensitivity can be achieved either using an APD without FEC, or a PIN with FEC. The choice is a matter of ONU implementation. The APD solution is seen as an immediately available option, while the PIN with FEC solution is a longer-term option that depends on the introduction of higher performance receiver circuitry. The OLT must support FEC in the downstream by having the capability of calculating and transmitting the FEC parity bytes in the downstream signal. The OLT equipment must also have the ability to activate or deactivate the downstream FEC feature by operations system command. The ONU can optionally support FEC decoding in the downstream, and in any specific instance the ONU can use the FEC parity at its own discretion.The optical penalty does not include any Raman impairment in the downstream wavelength. Any penalty due to this effect must be accounted for out of the link budget. However, in any system with appreciable Raman effect will also have a significant length of fibre. Because of the loss differential between 1490 nm and 1310 nm, it is anticipated that the Raman impairment will be compensated by the lower fibre loss at 1490 nm.Table III.1/G.984.2 – Optical power levels for the 2.4 Gbit/s downstream,1.2 Gbit/s upstream systemIII.4 Link budgetThe link budget is given in Table III.2. This budget covers all optical components between the OLT and ONU, including non-integrated WDM filters for the multiplex of video overlays and other enhancement band services, and must include any Raman impairment from the overlay signal.Table III.2/G.984.2 – Loss budgets for the G-PON system2ITU-T Rec. G.984.2 (2003)/Amd.1 (02/2006)In comparison, the B-PON class B+ budgets recommended in ITU-T Rec. G.983.3/Amd.2 are shown in Table III.3. The G-PON budget is similar to the Video Overlay system in that it supports a 13-dB minimum loss, and it is similar to the digital-only budget in that it is symmetric and it supports a 28-dB maximum loss. It is theoretically possible that a PON that complies with the B-PON B+ budgets might not comply with the G-PON budget; however, such cases should be very rare in the actual deployed base of PONs. Therefore, the G-PON budget should be compatible with practically all deployed PONs.Table III.3/G.984.2 – Loss budgets for the B-PON G.983.3/Amd.2 systemsITU-T Rec. G.984.2 (2003)/Amd.1 (02/2006) 3Printed in SwitzerlandGeneva, 2006。

面试指南」JS模块化、组件化、工程化相关的15道面试题

面试指南」JS模块化、组件化、工程化相关的15道面试题

⾯试指南」JS模块化、组件化、⼯程化相关的15道⾯试题JS 模块化、组件化、⼯程化相关的 15 道⾯试题1.什么是模块化?2.简述模块化的发展历程?3.AMD、CMD、CommonJS 与 ES6 模块化的区别?4.它们是如何使⽤的?5.export 是什么?6.module.export、export 与 export defalut 有什么区别?7.什么是组件化?8.组件化的原则是什么?9.全局组件与局部组件的区别?10.如何注册⼀个全局组件,并使⽤它?11.局部组件⼜是如何注册并使⽤的?12.如何封装⼀个⾼复⽤的 Vue 前端组件?13.什么是前端⼯程化思想?14.⼯程化可以解决什么问题?15.是如何处理这些问题的?问:1.什么是模块化?答:将 JS 分割成不同职责的 JS,解耦功能,来⽤于解决全局变量污染、变量冲突、代码冗余、依赖关系难以维护等问题的⼀种 JS 管理思想,这就是模块化的过程。

问:2.简述模块化的发展历程?答:模块化的发展主要从最初的⽆模块化,发展到闭包式的 IIFE ⽴即执⾏解决模块化,到后来的 CommonJS、 AMD、CMD,直到 ES6 模块化规范的出现。

// jQuery风格的匿名⾃执⾏(function(window) {//代码window.jQuery = window.$ = jQuery; //通过给window添加属性⽽暴漏到全局})(window);问:3.AMD、CMD、CommonJS 与 ES6 模块化的区别?答:CommonJS 是 NodeJs 的⼀种模块同步加载规范,⼀个⽂件即是⼀个模块,使⽤时直接 require(),即可,但是不适⽤于客户端,因为加载模块的时候有可能出现‘假死’状况,必须等模块请求成功,加载完毕才可以执⾏调⽤的模块。

但是在服务期不存在这种状况。

AMD (Asynchronous Module Definition):异步模块加载机制。

js模块化编程之彻底弄懂CommonJS和AMDCMD!

js模块化编程之彻底弄懂CommonJS和AMDCMD!

js模块化编程之彻底弄懂CommonJS和AMDCMD!先回答我:为什么模块很重要?答:因为有了模块,我们就可以更⽅便地使⽤别⼈的代码,想要什么功能,就加载什么模块。

但是,这样做有⼀个前提,那就是⼤家必须以同样的⽅式编写模块,否则你有你的写法,我有我的写法,岂不是乱了套!于是下⾯三个模块规范出来了,这篇⽂章也出来了(拼出来的 {捂脸笑})。

JS中的模块规范(CommonJS,AMD,CMD),如果你听过js模块化这个东西,那么你就应该听过或CommonJS或AMD甚⾄是CMD这些规范咯,我也听过,但之前也真的是听听⽽已。

现在就看看吧,这些规范到底是啥东西,⼲嘛的。

本⽂包括这三个规范的来源及对应的产物的原理。

⼀、CommonJS1.⼀开始⼤家都认为JS是辣鸡,没什么⽤,官⽅定义的API只能构建基于浏览器的应⽤程序,逗我呢,这太狭隘了吧(⽤了个⾼端词,嘎嘎),CommonJS就按耐不住了,CommonJS API定义很多普通应⽤程序(主要指⾮浏览器的应⽤)使⽤的API,从⽽填补了这个空⽩。

它的终极⽬标是提供⼀个类似Python,Ruby和Java标准库。

这样的话,开发者可以使⽤CommonJS API编写应⽤程序,然后这些应⽤可以运⾏在不同的JavaScript解释器和不同的主机环境中。

在兼容CommonJS的系统中,你可以使⽤JavaScript开发以下程序:(1).服务器端JavaScript应⽤程序(2).命令⾏⼯具(3).图形界⾯应⽤程序(4).混合应⽤程序(如,Titanium或Adobe AIR)2009年,美国程序员Ryan Dahl创造了项⽬,将javascript语⾔⽤于服务器端编程。

这标志"Javascript模块化编程"正式诞⽣。

因为⽼实说,在浏览器环境下,没有模块也不是特别⼤的问题,毕竟⽹页程序的复杂性有限;但是在服务器端,⼀定要有模块,与操作系统和其他应⽤程序互动,否则根本没法编程。

AS_NZS_4665.1-2005_Amdt_1-2009

AS_NZS_4665.1-2005_Amdt_1-2009

AS/NZS 4665.1/Amdt 1/2009-02-27STANDARDS AUSTRALIA/STANDARDS NEW ZEALANDAmendment No. 1toAS/NZS 4665.1:2005Performance of external power suppliesPart 1: Test method and energy performance markREVISED TEXTThe 2005 edition of AS/NZS 4665.1 is amended as follows; the amendments should be inserted in the appropriate places.SUMMARY: This Amendment applies to the Preface, Clauses 1.1 and 1.3 and Appendices A, B and C. Published on 27 February 2009.Approved for publication in New Zealand on behalf of the Standards Council of New Zealand on 29 January 2009PrefaceIn the seventh paragraph, delete the second sentence and replace with the following: R egulatory authorities have advised that it is intended to mandate Part 2 of the Standard (AS/NZS 4665.2:2005) in regulations in Australia and New Zealand no earlier than 1 December 2008, except for marking requirements, which are intended to be mandated no earlier than 1 April 2009.Clause 1.1Add a new fourth paragraph as follows:Power supplies within the scope of AS/NZS 4879 or IEC 61347.2.13 are excluded from the scope of this Standard.Clause 1.3.3Replace ‘r.m.s.’ with ‘average’.Clause 1.3.8Add a new Clause 1.3.8 as follows:1.3.8 Family of models—Non user selectable output voltageA range of non user selectable single output models based on common technically equivalent components (typically switchmode), but each model may have a different output voltage. They may be sold under different brand names or model numbers or both. Each member of the family is included on a single test report and has the same energy performance mark, but may have a different output voltage.Clause 1.3.9Add a new Clause 1.3.9 as follows:1.3.9 Multi-switch model—User selectable output voltageA model with a single output that provides a range of user selectable output voltages. They may be sold under different brand names or model numbers or both. Test reports may AMDT No. 1 FEB2009 AMDT No. 1 FEB 2009AMDT No. 1 FEB2009AMDT No. 1 FEB 2009AMDT No. 1 FEB 2009e d t o M r s i d n e y y a n g o n 7 M a r c h 2009. P e r s o n a l u s e l i c e n c e o n l y . S t o r a g e , d i s t r i b u t i o n o r u s e o n n e t w o r k p r o h i b i t e d .Clauses 1.3.8 to 1.3.15Renumber Clauses 1.3.8 to 1.3.15 as Clauses 1.3.10 to 1.3.17 respectively.Clause 1.3.18Add a new Clause 1.3.18 as follows: 1.3.18 Single model(s)One or more models using technically equivalent components with identical performance specifications having the same output voltage. They may be sold under different brand names or model numbers or both. Test reports may include one or more models having the same energy performance mark.Clauses 1.3.16 and 1.3.17Renumber Clauses 1.3.16 and 1.3.17 as Clauses 1.3.19 and 1.3.20 respectively.Paragraph A1Add new third and fourth paragraphs as follows:External power supplies, for Mark V only, with an input power greater than or equal to 100 W shall have a true power factor of 0.9 or greater at 100% of rated load when tested at 115 V, 60 Hz.Products tested for compliance with Mark V at both 115 V and 230 V shall meet the power factor requirement when tested at 115 V, but not when tested at 230 V.AMDT No. 1 FEB2009AMDT No. 1 FEB 2009 AMDT No. 1 FEB2009AMDT No. 1 FEB 2009 e d t o M r s i d n e y y a n g o n 7 M a r c h 2009. P e r s o n a l u s e l i c e n c e o n l y . S t o r a g e , d i s t r i b u t i o n o r u s e o n n e t w o r k p r o h i b i t e d .Table A1Delete the Table and replace with the following:TABLE A1ENERGY PERFORMANCE REQUIREMENTS FOR EACH NUMERALNo load power consumptionrequirementsActive mode efficiency requirementsNameplate output power No load powerNameplate output power Mark(P no ) WW(P no ) WOutput specificationAverage active modeefficiencyI Used if it does not meet any of the following criteria 0 to <1 All ≥0.39 × P noII0 to <10 10 to ≤250 ≤0.75 ≤1.0 1 to <49 All ≥0.107 × L n (P no ) + 0.39 0 to 1All ≥0.490 × P no>1 to 49 All ≥0.090 × L n (P no ) + 0.490 to a maximum of 0.840 III 0 to <10 10 to ≤250≤0.5 ≤0.75>49 to 250 All ≥0.840 0 to 1All ≥0.500 × P no>1 to 51 All ≥0.090 × L n (P no ) + 0.500 to a maximum of 0.850 IV0 to <10 10 to ≤250≤0.5 ≤0.5>51 to 250All≥0.850AC-AC AC-DCOutput voltage<6 V andoutput current ≥0.550 A ≥0.497 × P no + 0.067 0 to 1Other models ≥0.480 × P no + 0.140 Output voltage <6 V andoutput current ≥0.550 A ≥0.0750 × L n (P no ) + 0.561 0 to <50≤0.5 ≤0.3>1 to 49Other models ≥0.0626 × L n (P no ) + 0.622Output voltage <6 V andoutput current ≥0.550 A ≥0.860 V50 to ≤250 ≤0.5 ≤0.5 >49 to 250Other models≥0.870VI – X Reserved for future useLEGEND:P no = nameplate output power of the EUT L n = the natural logarithm (base e)AMDT No. 1 FEB 2009e d t o M r s i d n e y y a n g o n 7 M a r c h 2009. P e r s o n a l u s e l i c e n c e o n l y . S t o r a g e , d i s t r i b u t i o n o r u s e o n n e t w o r k p r o h i b i t e d .Paragraph A21 Insert a new Clause heading before the first paragraph as follows:A2.1 General2 Delete the Note and replace with the following:NOTE: Numerals VI to X are reserved for future use.3 Insert the following after Figure A1:A2.2 Single performance mark when tested at 115 V a.c., 230 V a.c. and240 V a.c. or has a single input voltage If the external power supply complies with the requirements of a single performance mark at both 115 V a.c. and 230 V a.c. or has a single input voltage, then the mark can be as shown in Figure A1. If only one mark is applied, then it shall be the lowest mark attained when tested at 115 V a.c. and 230 V a.c. A2.3 Dual markingIf the external power supply meets different energy performance for different a.c. supply voltages, then the external power supply may voluntarily be marked with its performance mark qualified by voltage at which it applies, with the appropriate voltage marked immediately beside the mark. Figure A2 provides an example of dual marking, where the external power supply meets performance Mark IV at 115 V a.c.and Mark III at 230 V a.c.FIGURE A2 EXAMPLE OF DUAL MARKINGA2.4 P erformance mark for models capable of multiple input voltages whentested at 230 V a.c. only If the external power supply is capable of multiple input voltages, but is tested and complies with the above requirements at 230 V a.c. only, then the mark shall bequalified with ‘230’ as per the examples in Figure A3.FIGURE A3 EXAMPLES FOR 230 V a.c. COMPLIANCE ONLYAMDT No. 1 FEB 2009e d t o M r s i d n e y y a n g o n 7 M a r c h 2009. P e r s o n a l u s e l i c e n c e o n l y . S t o r a g e , d i s t r i b u t i o n o r u s e o n n e t w o r k p r o h i b i t e d .A2.5 P erformance mark for models capable of multiple input voltages whentested at 115 V a.c. only If the external power supply is capable of multiple input voltages, but is tested and complies with the above requirements at 115 V a.c. only, then the mark shall bequalified with ‘115’ as per the examples in Figure A4.FIGURE A4 EXAMPLES FOR 115 V a.c. COMPLIANCE ONLYAMDT No. 1 FEB 2009e d t o M r s i d n e y y a n g o n 7 M a r c h 2009. P e r s o n a l u s e l i c e n c e o n l y . S t o r a g e , d i s t r i b u t i o n o r u s e o n n e t w o r k p r o h i b i t e d .Figure B1Delete Figure B1 and replace with the following:Does the EPS convert mains a.c.input voltage into one ELV output of a single voltage or user selectable voltage?Is the EPS in a housing that is separate from the end-use product it is intended to power?Does the EPS charge a battery?YESYESDo the batteries or battery pack physically attach directly to the EPS independently of the end-use product they power and with no interveningdevice?NODoes the EPS have a battery chemistry or type selector switch AND indicator light or state of charge meter?Does NOT meet the definition of an EPSDoes NOT meet the definition of an EPSMeets the definition ofan EPSYESNONOYESYESStar tNONOFIGURE B1 FLOWCHART FOR DEFINITION OF SINGLE OUTPUT EXTERNALPOWER SUPPLYAMDT No. 1 FEB 2009e d t o M r s i d n e y y a n g o n 7 M a r c h 2009. P e r s o n a l u s e l i c e n c e o n l y . S t o r a g e , d i s t r i b u t i o n o r u s e o n n e t w o r k p r o h i b i t e d .Appendix CDelete Appendix C and replace with the following:APPENDIX CSAMPLE TEST REPORT(Informative)SINGLE OUTPUT EXTERNAL POWER SUPPLY TEST REPORTNameplate input voltageNameplate output voltageNameplate output currentNameplate output watts/VA230 V a.c. 5.0 1.0 5.0 115 V a.c. 5.0 1.0 5.0LAB INFORMATIONTest laboratory name XYZ Test Centre Test laboratory address 1 South St S ydney, N S W 2000 Country Australia Test technician(s) Joe Bloggs Date measured 14 July 2005 Test Standard used AS/NZS 4665.1:2005TEST INSTRUMENTSMake/Model Measurement Calibration date XYZ Model 1No Load 22 April 2005 ABC Model 2 Active Output 21 April 2005CONNECTIONS OR MODIFICATIONS TO THE INPUT AND/OR OUTPUT CORD a.c. input typeAS/NZS 3112 integrated plug Input cord length (mm) Not applicable—integrated plug Output cord length (mm) 1750Output plug typeSingle pin type Modification to connectors for testing NoneTEST SETUPTest report number 000123Manufacturer name Brand X Model ABC CountryChina Input power switchNot present Product powered (if known) Not known Output type d.c.Design typeNon user selectable output voltageNameplate input specifications 100 V – 240 V 50 Hz – 60 HzNameplate input current0.5 A – 0.3 AAMDT No. 1 FEB 2009e d t o M r s i d n e y y a n g o n 7 M a r c h 2009. P e r s o n a l u s e l i c e n c e o n l y . S t o r a g e , d i s t r i b u t i o n o r u s e o n n e t w o r k p r o h i b i t e d .75%50%25%5%0%25%50%75%100%Actual fraction of output current4567832100%25%50%75%100%Input and output power vs Output current Actual fraction of output currentP o w e r (W )InputOutputInput vs Output power0.01.02.03.04.05.06.07.08.0Output power (W)I n p u t p o w e r (W )NOTE: Repeat the following table for minimum and maximum output voltage if applicable.No loadActive power valuesPercent of nameplate current 0% 25% 50% 75% 100% Average Output current (A) 0 0.248 0.498 0.747 1.001 — Output voltage (V) 5.07 5.024 5.003 4.981 4.959 — Output power (W) 0 1.244 2.492 3.721 4.966 — a.c. input current (A) 0.019 0.048 0.070 0.092 0.115 — a.c. input voltage (V) 114.9 114.9 114.9 114.9 114.9 — a.c. input power (W) 0.839 2.621 4.136 5.708 7.390 — Total harmonic distortion (THD ) 88.75% 86.91% 84.99% 83.29% 81.64% — True power factor 0.394 0.477 0.513 0.539 0.561 0.497 Power consumed by EUT (W) 0.839 1.377 1.644 1.987 2.425 — Efficiency — 47.46% 60.25% 65.19% 67.19% 60.02%FIGURE C1 MEASURED AND CALCULATED DATA AT 115 V 60 HzNo. 1 FEB 2009e d t o M r s i d n e y y a n g o n 7 M a r c h 2009. P e r s o n a l u s e l i c e n c e o n l y . S t o r a g e , d i s t r i b u t i o n o r u s e o n n e t w o r k p r o h i b i t e d .75%50%25%5%0%25%50%75%100%Actual fraction of output current4567832100%25%50%75%100%Input and output power vs Output currentActual fraction of output currentP o w e r (W )InputOutputInput vs Output power0.01.02.03.04.05.06.07.08.0Output power (W)I n p u t p o w e r (W )NOTE: Repeat the following table for minimum and maximum output voltage if applicable.No loadActive power values Percent of nameplate current 0% 25% 50% 75% 100% Average Output current (A) 0 0.248 0.498 0.749 1.000 — Output voltage (V) 5.06 5.021 4.999 4.978 4.957 — Output power (W) 0 1.244 2.487 3.729 4.957 — a.c. input current (A) 0.018 0.041 0.052 0.064 0.076 — a.c. input voltage (V) 229.9 229.9 229.9 229.9 229.9 — a.c. input power (W) 1.360 3.703 4.983 6.395 7.927 — Total harmonic distortion (THD ) 86.49% 89.84% 89.48% 88.94% 88.30% — True power factor 0.324 0.396 0.417 0.435 0.451 0.405 Power consumed by EUT (W) 1.360 2.459 2.459 2.666 2.970 — Efficiency — 33.60% 49.92% 58.31% 62.53% 51.09%FIGURE C2 MEASURED AND CALCULATED DATA AT 230 V 50 HzNo. 1 FEB 2009e d t o M r s i d n e y y a n g o n 7 M a r c h 2009. P e r s o n a l u s e l i c e n c e o n l y . S t o r a g e , d i s t r i b u t i o n o r u s e o n n e t w o r k p r o h i b i t e d .。

前端模块化,AMD与CMD的区别

前端模块化,AMD与CMD的区别

最近在研究cmd和amd,在网上看到一篇不错的文章,整理下看看。

在JavaScript发展初期就是为了实现简单的页面交互逻辑,寥寥数语即可;如今CPU、浏览器性能得到了极大的提升,很多页面逻辑迁移到了客户端(表单验证等),随着web2.0时代的到来,Ajax技术得到广泛应用,jQuery等前端库层出不穷,前端代码日益膨胀这时候JavaScript作为嵌入式的脚本语言的定位动摇了,JavaScript却没有为组织代码提供任何明显帮助,甚至没有类的概念,更不用说模块(module)了,JavaScript极其简单的代码组织规范不足以驾驭如此庞大规模的代码模块既然JavaScript不能handle如此大规模的代码,我们可以借鉴一下其它语言是怎么处理大规模程序设计的,在Java中有一个重要带概念——package,逻辑上相关的代码组织到同一个包内,包内是一个相对独立的王国,不用担心命名冲突什么的,那么外部如果使用呢?直接import对应的package即可import java.util.ArrayList;遗憾的是JavaScript在设计时定位原因,没有提供类似的功能,开发者需要模拟出类似的功能,来隔离、组织复杂的JavaScript代码,我们称为模块化。

一个模块就是实现特定功能的文件,有了模块,我们就可以更方便地使用别人的代码,想要什么功能,就加载什么模块。

模块开发需要遵循一定的规范,各行其是就都乱套了规范形成的过程是痛苦的,前端的先驱在刀耕火种、茹毛饮血的阶段开始,发展到现在初具规模,简单了解一下这段不凡的历程函数封装我们在讲函数的时候提到,函数一个功能就是实现特定逻辑的一组语句打包,而且JavaScript的作用域就是基于函数的,所以把函数作为模块化的第一步是很自然的事情,在一个文件里面编写几个相关函数就是最开始的模块了function fn1(){statement}function fn2(){statement}∙1∙2∙3∙4∙5∙6∙7这样在需要的以后夹在函数所在文件,调用函数就可以了这种做法的缺点很明显:污染了全局变量,无法保证不与其他模块发生变量名冲突,而且模块成员之间没什么关系。

AMD64 架构编程手册说明书

AMD64 架构编程手册说明书
Ad源自anced Micro Devices
[AMD Public Use]
© 2013 – 2023 Advanced Micro Devices Inc. All rights reserved.
The information contained herein is for informational purposes only, and is subject to change without notice. While every precaution has been taken in the preparation of this document, it may contain technical inaccuracies, omissions and typographical errors, and AMD is under no obligation to update or otherwise correct this information. Advanced Micro Devices, Inc. makes no representations or warranties with respect to the accuracy or completeness of the contents of this document, and assumes no liability of any kind, including the implied warranties of noninfringement, merchantability or fitness for particular purposes, with respect to the operation or use of AMD hardware, software or other products described herein. No license, including implied or arising by estoppel, to any intellectual property rights is granted by this document. Terms and limitations applicable to the purchase or use of AMD’s products are as set forth in a signed agreement between the parties or in AMD's Standard Terms and Conditions of Sale. Any unauthorized copying, alteration, distribution, transmission, performance, display or other use of this material is prohibited. Trademarks AMD, the AMD Arrow logo, and combinations thereof, and 3DNow! are trademarks of Advanced Micro Devices, Inc. Other product names used in this publication are for identification purposes only and may be trademarks of their respective companies. MMX is a trademark and Pentium is a registered trademark of Intel Corporation.

ES6,CommonJS,AMD,CMD,UMD模块化规范介绍及使用

ES6,CommonJS,AMD,CMD,UMD模块化规范介绍及使用

ES6,CommonJS,AMD,CMD,UMD模块化规范介绍及使⽤前⾔在项⽬开发过程中,引⼊模块有时使⽤require(),有时使⽤import…from..,导出模块有时⽤export或export default,⼀直会这么使⽤,但是没有太在意区别,以及它们分别遵循的是哪个模块规范。

接下来就直接介绍⼏种模块的使⽤。

具体内容⼀、模块概念介绍模块通常是指编程语⾔所提供的代码组织机制,利⽤此机制可将程序拆解为独⽴且通⽤的代码单元;所谓模块化主要是解决代码分割、作⽤域隔离、模块之间的依赖管理以及发布到⽣产环境的⾃动化打包与处理等多⽅⾯;模块规范主要是进⾏模块加载,⼀个单独的⽂件也算是⼀个模块,⼀个模块就是⼀个单独的作⽤域,不会污染全局作⽤域;⼀个模块就是⼀个对其他模块暴露⾃⼰的属性或者⽅法的⽂件。

⼆、模块的优点(1)可维护性。

因为模块是独⽴的,⼀个设计良好的模块会让外⾯的代码对⾃⼰的依赖越少越好,这样⾃⼰就可以独⽴去更新和改进。

(2)命名空间。

在 JavaScript ⾥⾯,如果⼀个变量在最顶级的函数之外声明,它就直接变成全局可⽤。

因此,常常不⼩⼼出现命名冲突的情况。

使⽤模块化开发来封装变量,可以避免污染全局环境。

(3)重⽤代码。

有时从之前写过的项⽬中拷贝代码到新的项⽬,这没有问题,但是更好的⽅法是,通过模块引⽤的⽅式,来避免重复的代码库。

三、ES6、CommonJS、AMD、CMD、UMD模块介绍(1)ES6模块(Module)ES6的模块⾃动采⽤严格模式,不管是否在模块头部加上"use strict";严格模式主要有以下这些限制:变量必须声明后再使⽤函数的参数不能有同名属性,否则报错不能使⽤with语句不能对只读属性赋值,否则报错不能使⽤前缀0表⽰⼋进制数,否则报错不能删除不可删除的属性,否则报错不能删除变量delete prop,会报错,只能删除属性delete global[prop]eval不会在它的外层作⽤域引⼊变量eval和arguments不能被重新赋值arguments不会⾃动反映函数参数的变化不能使⽤arguments.callee不能使⽤arguments.caller禁⽌this指向全局对象不能使⽤fn.caller和fn.arguments获取函数调⽤的堆栈增加了保留字(⽐如protected、static和interface)•导出模块 export作为⼀个模块,可以选择性地给其他模块暴露⾃⼰的属性和⽅法,供其他模块使⽤1//profile.js2 export var firstName = "wang";3 export var lastName = "qin";4 export var born = "1996";5//等价于6var firstName = "wang";7var lastName = "qin";8var born = "1996";9 export {firstName,lastName,born}1、通常情况下,export输出的变量就是本来的名字,但是可以使⽤as关键字对输出的变量进⾏重命名1function v1(){}2function v2(){}34 export{5 v1 as stream1,6 v2 as stream2,7 v2 as streamLatestVersion8 };9//使⽤as关键字,重命名函数v1和v2的对外接⼝;重命名之后,v2可以⽤不同的名字输出2次2、需要特别注意的是,export命令规定的是对外的接⼝,必须与模块内部的变量建⽴⼀⼀对应关系1//注意:以下2种写法报错是因为没有提供对外的接⼝;第1种写法直接输出1;2//第2种写法通过变量m,还是直接输出1,1只是⼀个值,不是对外接⼝;34//报错5 export 1;67//报错8var m = 1;9 export m;1011//以下3种写法都是正确的,规定了对外的接⼝m;其他脚本通过访问这个接⼝,可以取到1;12//实质就是在接⼝名与模块内部变量之间建⽴了⼀⼀对应关系;13//⽅法⼀14 export var m = 1;15//⽅法⼆16var m = 1;17 export {m};18//⽅法三19var n = 1;20 export {n as m};3、export命令和import命令可以出现在模块的任何位置,只要处于模块顶层就可以。

AMD 快速参考指南说明书

AMD 快速参考指南说明书

ü
ü
ü
ü
ü
ü
ü
ü
G.8251
OTU-1
166.6286
ü
ü
ü
ü
ü
ü
ü
ü
ü
ü
ü
ü
ü
ü
G.8251
OTU-2 (10.709225 Gb/s)
167.3316, 669.3266
ü
ü
ü
ü
ü
ü
ü
ü
OIF-CEI
OTU-4 (11.180997 Gb/s)
174.7031
ü
ü
ü
ü
ü
ü
ü
ü
OIF
SFI-5
195.3125
/TCG
FPGA Families
Oscillators
Clock Generators
Jitter Attenuators
Network Synchronizers
7-Series Ultrascale Ultrascale + VC-801, VC-806, VC-709 (1) VC-711, VC-708 VC-830 ZL3025x, ZL3026x (1) SM803 (1) SM806 ZL30270/1 (sampling stage) ZL30253, ZL30256 (1) ZL30272/3/4 ZL3067x, ZL3077x, ZL3069x, ZL3079x (1) ZL3063x, ZL3073x
ü
ü
ü
ü
ü
ü
ü
ü
ü
ü
ü
ü
ü
ü
SFF-8431

amd规范

amd规范

amd规范AMD规范是指美国AMD公司所制定的一种计算机处理器的规格标准。

AMD(Advanced Micro Devices Inc.)是一家成立于1969年的美国半导体公司,其主要业务是设计和制造微处理器、图形处理器和嵌入式系统等产品。

AMD规范是为了确保AMD的处理器能够在各种计算机系统中正常运行而制定的。

AMD规范主要包括以下几个方面:1.处理器架构:AMD规范中定义了处理器的内部结构和功能,包括多核心架构、运算单元、缓存体系结构等。

这些规范旨在提供处理器的性能和功耗之间的平衡,并确保处理器在不同的应用场景下都能够高效运行。

2.处理器插槽:AMD规范定义了处理器的物理插槽和连接接口,以确保处理器能够和主板正确连接并传递数据。

这些规范是为了确保处理器和主板之间的兼容性,以便用户可以方便地升级和更换处理器。

3.电源管理:AMD规范中包含了处理器的电源管理要求,以确保处理器在不同电源模式下都能够正常工作。

这些规范包括功耗控制、温度控制和电压调节等,旨在提高处理器的功耗效率和稳定性。

4.性能参数:AMD规范中还定义了处理器的性能参数,包括频率、缓存大小、主频、指令集支持等。

这些性能参数是用来描述处理器的性能水平和能力的,可以用来评估不同处理器之间的差异。

5.安全特性:AMD规范中也包含了处理器的安全要求,以确保处理器在使用过程中能够保护用户的隐私和数据安全。

这些规范包括加密和解密功能、虚拟化支持、硬件保护等,旨在提高处理器的安全性和可靠性。

AMD规范的制定旨在为计算机制造商、系统集成商和软件开发人员提供一个统一的标准,以确保AMD的处理器能够在不同的计算机系统中正常运行。

通过遵循AMD规范,用户可以获得更好的兼容性、性能和安全性,同时也方便了硬件和软件的开发和升级。

requirejs的用法(二)

requirejs的用法(二)

requirejs的⽤法(⼆)这个系列的和,介绍了Javascript模块原型和理论概念,今天介绍如何将它们⽤于实战。

我采⽤的是⼀个⾮常流⾏的库。

⼀、为什么要⽤require.js?最早的时候,所有Javascript代码都写在⼀个⽂件⾥⾯,只要加载这⼀个⽂件就够了。

后来,代码越来越多,⼀个⽂件不够了,必须分成多个⽂件,依次加载。

下⾯的⽹页代码,相信很多⼈都见过。

<script src="1.js"></script> <script src="2.js"></script> <script src="3.js"></script> <script src="4.js"></script> <script src="5.js"></script> <script src="6.js"></script>这段代码依次加载多个js⽂件。

这样的写法有很⼤的缺点。

⾸先,加载的时候,浏览器会停⽌⽹页渲染,加载⽂件越多,⽹页失去响应的时间就会越长;其次,由于js⽂件之间存在依赖关系,因此必须严格保证加载顺序(⽐如上例的1.js要在2.js的前⾯),依赖性最⼤的模块⼀定要放到最后加载,当依赖关系很复杂的时候,代码的编写和维护都会变得困难。

require.js的诞⽣,就是为了解决这两个问题: (1)实现js⽂件的异步加载,避免⽹页失去响应; (2)管理模块之间的依赖性,便于代码的编写和维护。

⼆、require.js的加载使⽤require.js的第⼀步,是先去官⽅⽹站最新版本。

下载后,假定把它放在js⼦⽬录下⾯,就可以加载了。

<script src="js/require.js"></script>有⼈可能会想到,加载这个⽂件,也可能造成⽹页失去响应。

RequireJS全面讲解

RequireJS全面讲解

RequireJS 入门指南如今最常用的JavaScript库之一是RequireJS。

最近我参与的每个项目,都用到了RequireJS,或者是我向它们推荐了增加RequireJS。

在这篇文章中,我将描述RequireJS 是什么,以及它的一些基础场景。

异步模块定义(AMD)谈起RequireJS,你无法绕过提及JavaScript模块是什么,以及AMD是什么。

JavaScript模块只是遵循SRP(Single Responsibility Principle单一职责原则)的代码段,它暴露了一个公开的API。

在现今JavaScript开发中,你可以在模块中封装许多功能,而且在大多数项目中,每个模块都有其自己的文件。

这使得JavaScript开发者日子有点难过,因为它们需要持续不断的关注模块之间的依赖性,按照一个特定的顺序加载这些模块,否则运行时将会放生错误。

当你要加载JavaScript模块时,就会使用script标签。

为了加载依赖的模块,你就要先加载被依赖的,之后再加载依赖的。

使用script标签时,你需要按照此特定顺序安排它们的加载,而且脚本的加载是同步的。

可以使用async和defer关键字使得加载异步,但可能因此在加载过程中丢失加载的顺序。

另一个选择是将所有的脚本捆绑打包在一起,但在捆绑的时候你仍然需要把它们按照正确的顺序排序。

AMD就是这样一种对模块的定义,使模块和它的依赖可以被异步的加载,但又按照正确的顺序。

CommonJS, 是对通用的JavaScript模式的标准化尝试,它包含有AMD 定义,我建议你在继续本文之前先读一下。

在ECMAScript 6这个下一版本JavaScript 规范中,有关于输出,输入以及模块的规范定义,这些将成为JavaScript语言的一部分,而且这不会太久。

这也是关于RequireJS我们想说的东西。

RequireJS?你使用Visual Studio也可以通过Nuget获取。

amd+cpu命名规则

amd+cpu命名规则

amd+cpu命名规则
AMD的CPU命名规则通常包括以下几个部分:
1. 产品系列代号:AMD会为每个产品系列选择一个代号,比如Ryzen系列的代号是“Summit Ridge”、“Picasso”、“Vermeer”等。

2. 产品序号:AMD会给每个CPU设定一个序号,用数字表示该产品在其所属系列中的顺序,比如Ryzen 5 3600。

3. 核心数量:AMD会在产品名称中标明该CPU的核心数量,比如Ryzen 5 3600有6个核心。

4. 线程数量:AMD会在产品名称中标明该CPU的线程数量,比如Ryzen 5 3600有12个线程。

5. 频率:AMD会在产品名称中标明该CPU的主频,比如Ryzen 5 3600的主频为3.6GHz。

6. 代表性数字:AMD有时会在产品名称中加入一些数字,用以表示该产品在性能上的相对水平,比如Ryzen 7 3700X相较于Ryzen 7 3700的性能更高。

需要注意的是,AMD的CPU命名规则可能在不同产品系列中略有差异,以上只是一般性规则的概述。

TOGAF-AMD方法论输入输出要素

TOGAF-AMD方法论输入输出要素

架构工作要求书 能力评估 沟通计划 组织模型 数据/应用原则 架构工作说明书 架构愿景、存储库 起草架构定义文件:详细B基线和目标业 务架构、概括性的CD基线和目标架构 起草需求规范,差距分析结果、技术需 求、业务架构路线图
更新架构工作说明书
Байду номын сангаас
组织模型 架构原则 架构框架 初始架构存储库 原则、目标、驱动的申 明 工作要求书 架构治理框架
、战略驱动
作要求书和干系人的关注点,基于插件
差距分析
库识别选定架构路线图
架构路线图
参考模型、视角、工具 基线业务架构 目标业务架构 差距分析 候选路线图 化解全景影响 利益干系人审查 确定业务架构 创建架构定义文件
参考模型、视角、工具 基线数据/应用架构 目标数据/应用架构 差距分析 候选路线图 化解全景影响 利益干系人审查 确定数据/应用架构 创建架构定义文件
经确认的数据/应用原则 起草架构定义文件,及更新:详细基线 数据/应用架构、目标数据/应用架构、 视角及对应的干系人关注点数据/应用架 构视图 架构需求规范及更新:差距分析、数据/ 应用互动需求、技术需求、技术架构约 束、更新的业务需求、更新应用需求、
业务架构路线图
数据/应用架构路线图
D
E
F
G
H
目的
变更需求 需求影响评估 识别ADM阶段 终版包括需求全面影响
批准的工作说明书 原则、目标、驱动细化说明 架构原则 能力评估 裁剪后的架构愿景包括:细化的干系人 的需求,BCD基线和目标架构、沟通计 划、充实存储库
更新架构工作说明书 确认的业务原则、目标、驱动 更新架构原则 起草架构定义文件,及更新:详细基线 业务架构、目标业务架构、视角及对应 的干系人关注点视图 架构需求规范及更新:差距分析、技术 需求、业务需求、
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

AMD规范1. AMD的由来前端技术虽然在不断发展之中,却一直没有质的飞跃。

除了已有的各大著名框架,比如Dojo,JQuery,ExtJs等等,很多公司也都有着自己的前端开发框架。

这些框架的使用效率以及开发质量在很大程度上都取决于开发者对其的熟悉程度,以及对JavaScript的熟悉程度,这也是为什么很多公司的技术带头人都喜欢开发一个自己的框架。

开发一个自己会用的框架并不难,但开发一个大家都喜欢的框架却很难。

从一个框架迁移到一个新的框架,开发者很有可能还会按照原有框架的思维去思考和解决问题。

这其中的一个重要原因就是JavaScript本身的灵活性:框架没办法绝对的约束你的行为,一件事情总可以用多种途径去实现,所以我们只能在方法学上去引导正确的实施方法。

庆幸的是,在这个层面上的软件方法学研究,一直有人在去不断的尝试和改进,CommonJS就是其中的一个重要组织。

他们提出了许多新的JavaScri pt架构方案和标准,希望能为前端开发提供银蛋,提供统一的指引。

AMD规范就是其中比较著名一个,全称是Asynchronous Module Definition,即异步模块加载机制。

从它的规范描述页面看,AMD很短也很简单,但它却完整描述了模块的定义,依赖关系,引用关系以及加载机制。

从它被requireJS,NodeJs,Dojo,JQuery使用也可以看出它具有很大的价值,没错,JQue ry近期也采用了AMD规范。

在这篇文章中,我们就将介绍AMD的性质,用法,优势以及应用场景。

从AMD中我们也能学习到如何在更高层面去设计自己的前端应用。

2. AMD是什么作为一个规范,只需定义其语法API,而不关心其实现。

AMD规范简单到只有一个API,即define函数:define([module-name?], [array-of-dependencies?], [module-factory-or-object]);其中:∙module-name: 模块标识,可以省略。

∙array-of-dependencies: 所依赖的模块,可以省略。

∙module-factory-or-object: 模块的实现,或者一个JavaScript对象。

从中可以看到,第一个参数和第二个参数都是可以省略的,第三个参数则是模块的具体实现本身。

后面将介绍在不同的应用场景下,他们会使用不同的参数组合。

从这个define函数AMD中的A:Asynchronous,我们也不难想到define函数具有的另外一个性质,异步性。

当define函数执行时,它首先会异步的去调用第二个参数中列出的依赖模块,当所有的模块被载入完成之后,如果第三个参数是一个回调函数则执行,然后告诉系统模块可用,也就通知了依赖于自己的模块自己已经可用。

如果对应到dojo1.6之前的实现,那么在功能上可以有如下对应关系:∙module-name: dojo.provide∙dependencies: dojo.requiremodule-factory: dojo.declare不同的是,在加载依赖项时,AMD用的是异步,而dojo.require是同步。

异步和同步的区别显而易见,前者不会阻塞浏览器,有更好的性能和灵活性。

而对于NodeJs这样的服务器端AMD,则模块载入无需阻塞服务器进程,同样提高了性能。

3. AMD实例:如何定义一个模块下面代码定义了一个alpha模块,并且依赖于内置的require,exports模块,以及外部的beta模块。

可以看到,第三个参数是回调函数,可以直接使用依赖的模块,他们按依赖声明顺序作为参数提供给回调函数。

这里的require函数让你能够随时去依赖一个模块,即取得模块的引用,从而即使模块没有作为参数定义,也能够被使用;exports是定义的alpha 模块的实体,在其上定义的任何属性和方法也就是alpha模块的属性和方法。

通过exports.verb = ...就是为alpha模块定义了一个verb方法。

例子中是简单调用了模块beta的verb方法。

define("alpha", ["require", "exports", "beta"], function (require, ex ports, beta) {exports.verb = function() {return beta.verb();//或者:return require("beta").verb();}});4. 匿名模块define 方法允许你省略第一个参数,这样就定义了一个匿名模块,这时候模块文件的文件名就是模块标识。

如果这个模块文件放在a.js中,那么a就是模块名。

可以在依赖项中用"a"来依赖于这个匿名模块。

这带来一个好处,就是模块是高度可重用的。

你拿来一个匿名模块,随便放在一个位置就可以使用它,模块名就是它的文件路径。

这也很好的符合了DRY(Don't Repeat Yourself)原则。

下面的代码就定义了一个依赖于alpha模块的匿名模块:define(["alpha"], function (alpha) {return {verb: function(){return alpha.verb() + 2;}};});5. 仅有一个参数的define前面提到,define的前两个参数都是可以省略的。

第三个参数有两种情况,一种是一个JavaScript对象,另一种是一个函数。

如果是一个对象,那么它可能是一个包含方法具有功能的一个对象;也有可能是仅提供数据。

后者和JSO N-P非常类似,因此AMD也可以认为包含了一个完整的JSON-P实现。

模块演变为一个简单的数据对象,这样的数据对象是高度可用的,而且因为是静态对象,它也是CDN友好的,可以提高JSON-P的性能。

考虑一个提供中国省市对应关系的JavaScript对象,如果以传统JSON-P的形式提供给客户端,它必须提供一个callback函数名,根据这个函数名动态生成返回数据,这使得标准JSON-P数据一定不是CDN 友好的。

但如果用AMD,这个数据文件就是如下的形式:define({provinces: [{name: '上海',areas: ['浦东新区', '徐汇区']},{name: '江苏',cities: ['南京', '南通']}//.....]});假设这个文件名为china.js,那么如果某个模块需要这个数据,只需要:define(['china', function(china){//在这里使用中国省市数据});通过这种方式,这个模块是真正高度可复用的,无论是用远程的,还是Copy到本地项目,都节约了开发时间和维护时间。

如果参数是一个函数,其用途之一是快速开发实现。

适用于较小型的应用,你无需提前关注自己需要什么模块,自己给谁用。

在函数中,可以随时require自己需要的模块。

例如:define(function(){var p = require('china');//使用china这个模块});即你省略了模块名,以及自己需要依赖的模块。

这不意味着你无需依赖于其他模块,而是可以让你在需要的时候去require这些模块。

define方法在执行的时候,会调用函数的toString方法,并扫描其中的re quire调用,提前帮助你载入这些模块,载入完成之后再执行。

这使得快速开发成为可能。

需要注意的一点是,Opera不能很好的支持函数的toString方法,因此,在浏览器中它的适用性并不是很强。

但如果你是通过build工具打包所有的JavaScript文件,这将不是问题,构建工具会帮助你扫描require并强制载入依赖的模块。

6. Dojo中的AMDDojo 在三月初正式发布了1.6版本,其中一个重要的变化就是引入了AMD机制,取代了原来的dojo.p rovide和dojo.require方法。

但是现在仍然保持了向后兼容性,你仍然可以用dojo.provide和dojo.r equire来定义和加载模块。

需要注意的是:在Dojo 1.6 中,针对AMD 的重构仍然属于一个过渡期的改动, 用户自己开发的AMD 模块还不能被Dojo 的加载器和Build 系统支持 . 1.6 中现有的编译系统对AMD的支持还非常局限。

如果你自己开发了AMD 格式的模块,并且你仍然在使用默认的Doj o 同步模块加载器,那么你必须严格遵循Dojo 模块的格式( 包括换行的格式) 来保证你自己的模块能够成功编译。

总结起来有以下三点:∙用传统的方法(dojo.require()/dojo.provide()) –这些模块,只能被Dojo 同步加载器加载,但可以被Dojo 编译系统(Build System )正确的编译∙用Dojo 同步加载器来加载AMD 格式(define ())模块–这些模块可以被正常的加载,并且可以被其他兼容AMD 格式的加载器加载 . 现在虽然Dojo1.6 还没有正式支持这种用法,但在目前的Dojo1.6 编译系统中,是可以正常工作的 . ( 前提是你必须严格遵循Dojo 模块定义的代码规范)∙使用第三方加载器来加载AMD 格式(define ())模块–模块可以被正常加载,并且可以被其他加载器所使用 . 这些模块可以使用RequireJS 或Backdraft 提供的编译系统正常编译,但是Dojo 还没有正式的测试过和其他加载器的兼容性 .以Calendar为例,用define方法来定义这个模块:define("dijit/Calendar",["dojo", "dijit", "text!dijit/templates/Calendar.html", "dojo/cldr/supplemental", "dojo/date", "dojo/date/locale","dijit/_Widget", "dijit/_Templated", "dijit/_CssStateMixin", "dijit/form/DropDownButton"],function(dojo, dijit) {dojo.declare("dijit.Calendar",[dijit._Widget, dijit._Templated, dijit._CssStateMixin], {...});return dijit.Calendar;});可以看到,模块标识就是模块文件的路径,模块本身一般都是dojo.declare定义的类。

相关文档
最新文档