当前位置:文档之家› 学习Flex和BlazeDS的十三个理由

学习Flex和BlazeDS的十三个理由

学习Flex和BlazeDS的十三个理由
学习Flex和BlazeDS的十三个理由

本文列述了13个Java程序员应当学习Flex和BlazeDS的理由,讨论了为什么Flex结合BlazeDS是开发RIA的最佳组合之一。无论是高度交互的网站还是以Java为后端的企业应用,这项组合都是最佳选择之一。更重要的是,这项组合能同时为开发员和企业带来高回报(ROI)。

在阐述Java程序员应当学习BlazeDS的13条理由时,我以一个假想的苏打分派系统来展示如何让已有的Java程序转变为RIA应用。通过这个例子,我同时还会讲解到BlazeDS在已有Java应用或新建Java应用中的多种不同用法。

理由一:开源

Flex软件开发工具箱(SDK)的核心是个开源框架,专门用来开发、维护那些在不同浏览器、不同操作系统下界面都相同的RIA应用。Flex发布采用的是Mozilla公共许可证(Mozilla Public License)。编译后的Flex应用在Adobe Flash平台下运行。

BlazeDS是连接Flex和Java的索桥,是项针对远程调用和消息传递的开源技术。在Java应用服务器上,它以servlet的形式存在,因此可以在任何标准Java网络应用中运用它。BlazeDS以LGPL(Lesser GNU Public License)公共许可证书发布。在发布BlazeDS的同时,Adobe还公布了AMF(ActionScript Message Format)规格说明,BlazeDS、Java和Flex客户端间以这种简洁的二进制格式实现通信。

理由二:完善的社区支持

Flex社区非常活跃,社区贡献了大量项目。https://www.doczj.com/doc/054610385.html,,这个配以社区新闻的Adobe站点几乎每天都有新的社区贡献;Yahoo!上的Flex用户组的成员也已经超过了11000。

再比如Google Code上的Flexlib项目,已经提交了大量的开源UI组件。Swiz和Mate项目贡献了优化事件处理的框架;还有Gorilla Logic贡献了自动化UI测试的Flex Monkeym项目。

理由三:带来广阔的就业前景

据Adobe的Flex―传道士‖——James Ward看来,Flex高级开发员的市场需求非常大,学习Flex能让你拥有极具市场竞争力的开发技能。

理由四:更高的业务效益回报

总体上,开发企业web应用不是个轻松的活,这基本上是众所周知的事实。Flex和BlazeDS提供的不仅仅是功能强大的开发工具,而且开发技术本身相对也非常简单。开发效率可以得到大幅度的提升,产品因此可以很快推向市场。Flex和Flash带来的用户体验也相对更有魅力,对增加流量、提高用户转化率(conversion rate)很有帮助。

很经典的一个例子是Borders连锁书店。他们最近发布了带有―魔法书架‖的新网站,这个网站采用Flash

接口来模拟书籍借阅的过程。Borders 发现这一模拟借阅非常明显地提到了用户转换率:―借助这个Flash 驱动的接口,用户可以浏览书籍、DVD和CD的封面,用户转换率比其他没有此项功能的网站高出62%‖。理由五:Flex是第一个专门为创建UI而设计的语言

大部分语言都不是在第一时间设计其对UI的支持。Java中Swing包的实现刚好是个很好的证明。也就是这个原因,很多像捆绑数据这样的简单动作在Swing当中的实现就非常痛苦。用Swing最大的问题在于,要想提高开发效率就必须要对其API了如指掌。

Flex刚好相反,它是专门为创建web UI而设计的。正如Bruce Eckel所说,Flex是第一个针对UI开发的领域特定语言(DSL)。用Flex构建UI比其它诸如JSP、JSF、Swing等技术简便得多。语言本身糅合

了数据绑定、事件处理、控件布局以及其它一些UI常用开发技巧,就算对语言没有深刻的理解也不会影响开发效率。

理由六:编程风格近似于Java

你可以继续使用现有的Java开发工具来开发Flex应用。当然也可以采用SDK中携带的免费命令行工具,Adobe Flex Builder(一个Eclipse插件),或最近的IntelliJ IDEA 8。

Flex提供的是一个有状态环境,在这个环境中,数据从客户端加载。这种编程模式更像是开发桌面客户端而非HTML编程,这种风格对于用过Java Swing编程的开发员来说应该是相当熟悉。

Flex是MXML(类似XML的UI标记语言)和Adobe ActionScript(面向对象的解析语言)的结合体。鉴于这种结合方式,Flex编程与Java非常相似,因为两者用的都是熟知的面向对象的概念。

最理想的开发环境是把Flex应用创建在web部署文件夹下。这样一来,每次更新应用之后都不需要重新部署,只要在浏览器下刷新一下就可以了。用Flex和BlazeDS开发后,开发效率绝对比之前有很大的提升。

理由七:BlazeDS可以在任何Java应用服务器上运行

BlazeDS目前已发布了多个版本,其中的turnkey版本还包含了为BlazeDS配置的Apache Tomcat。本文中,我用的是二进制发布版本,其中含有一个WAR用来展示如何把应用部署到各种应用服务器上去。不用这个WAR的话,你也可以从中提取JAR文件放到自己的项目中去。关于安装BlazeDS的各种选项内容,可以参见BlazeDS的wiki。

这里举一个简单的例子,比方说要在已有的一个简单的苏打调配系统中应用BlazeDS。你只要把JAR文件放到项目文件夹下,然后就可以在应用里直接用BlazeDS,可以部署到能够部署应用的任何地方。

在项目中添加BlazeDS,只需要完成下面两个步骤:

1. 解压缩BlazeDS WAR文件的内容:jar xvf blazeds.war。

2. 把JAR文件都拷贝到项目的lib文件夹下:cp -R WEB-INF/lib /sodaSample。

理由八:可以在已有Java应用中运用

比方说这个简单的苏打调配系统,假设你想要扩展这个已开发好的服务,让其它Flex应用可以远程调用。在现成的应用中配置BlazeDS的基本步骤有:

1. 修改WEB-INF/flex文件夹下的BlazeDS配置文件

2. 在该应用对应的web.xml文件里定义MessageBrokerServlet和session监听器

配置好BlazeDS之后,再把苏打调配服务添加到BlazeDS远程配置文件里,Flex客户就能远程调用了。这个过程通过在配置文件里定义一个目的地(destination)、一个或多个信道(channel)来传输数据。基本的AMF信道定义在services.xml文件里。下面这段配置在remoting-config.xml里定义了目的地(destination):

com.gorillalogic.sodaSample.SodaService

通过在远程调用配置文件里定义端点(endpoint),Flex客户端就可以调用任何一个基本的Java服务。要是想把Java数据模型也传送到Flex客户端的话,只要在ActionScript类中定义好两者间的映射:[Bindable]

[RemoteClass(alias="com.gorillalogic.sodaSample.SodaModel")]

这段代码告诉Flex,在远程调用的服务返回SodaModel的时候,把它映射到Flex的SodaModel。本例中的Flex客户端显示的就是如何调用这个Java服务。调用返回一个已经填写好预定信息的SodaModel:public function callSodaService():void {

var sodaType:String = type.text;

var sodaCount:int = parseInt(cnt.text);

var flag:Boolean = preOpen.selected;

remoteObject.getSoda(sodaType, sodaCount, flag);

}

private function resultHandler(event:ResultEvent):void {

var sodaModel:SodaModel = event.result as SodaModel;

}

Flex返回的结果是通用的result变量,可以直接映射到你的SodaModel。这里我就不深入讨论怎么实现映射了,但其中值得提到的是要在编译配置里声明services-config.xml路径,像这样:

-locale en_US

-services=/nsource/sodaSample/web/WEB-INF/flex/services-config.xml

-context-root /

如果不添加这个路径的话,你的Flex客户端就没发找到Java服务。同样的方式,你还能把一个对象从客户端传递回服务器端。比如,你可以把一个空的soda model发回服务器(审校注:原文这里写的是客户端,根据上下文判断这里应该是服务器端)。

理由九:可以通过Java来扩展和修改BlazeDS

假如你想添加特殊的日志来记录苏打调配服务被调用的情况,那么你可以扩展标准的Java适配器来添加日志功能。

首先,添加一个继承了JavaAdapter的Java类:

import flex.messaging.services.remoting.adapters.JavaAdapter.

public class TimingJavaAdapter extends JavaAdapter {

其次,重载invoke()方法:

public Object invoke(Message message) {

RemotingMessage remotingMessage = (RemotingMessage) message;

String operation = remotingMessage.getOperation();

String destination = remotingMessage.getDestination();

https://www.doczj.com/doc/054610385.html,("calling " + operation + " on destination " + destination);

Object data = super.invoke(message);

return data;

}

这个方法中,你可以看到调用之后的操作和调用的目的地(destination)。这种方法也能用来处理其它一些问题,比如记录向服务器发送调用需要多长时间。

理由十:HTML和JSP也能调用BlazeDS

从HTML和JSP也能调用BlazeDS,这种调用有几种不同的实现方式,比如通过Browser Manager或fflashVars f来实现。Flex应用能够读取由HTML页面设置的fflashVars f。

比方说你想要通过HTML页面来发送你的用户名和准备预定的苏打类型,你可以在HTML页面这样设置flashVars:

pluginspage='https://www.doczj.com/doc/054610385.html,/go/getflashplayer' height='100%'

width='100%' flashVars='username=ryan&type=coke'/>

然后,在Flex应用中,你可以通过读取应用参数来获取这些变量:

var username:String;

if (Application.application.parameters.hasOwnProperty("username")) { username = https://www.doczj.com/doc/054610385.html,ername;

}

理由十一:Flex和BlazeDS的数据传输性能远胜于其它Ajax解决方案

目前使用的远程过程调用(RPC)都默认选择AMF二进制协议。AMF是个开放的标准,而且相当快。James Ward曾举例比较过多种远程调用解决方案。尽管其它Ajax技术——比如Dojo——已经能够快速处理几百行的数据,但是用Flex和BlazeDS的话可以轻松搞定成千上万行。(请参考James Ward's census,可以了解下各种不同的RIA数据加载技术的测评。)

理由十二:Java客户端能够直接调用BlazeDS

最新发布的BlazeDS当中含有一个Java的AMF类,通过这个类,你可以在Java客户端直接调用BlazeDS 服务器。对于单元测试和加载测试来说,BlazeDS的这种调用方式非常实用。

理由十三:Spring下也能用

Adobe和Spring互相联手,尝试将双方项目集成起来。他们发布的第一个Spring–BlazeDS集成版本就向大家展示了他们的良苦用心。Spring Bean能够以远程服务的方式被调用,因此可以清除很多重复的配置文件。更多这方面的相关信息,可以参考该项目的主页。

结论

开源的BlazeDS创建在Java基础上,无论是对新的还是已有的Java服务器项目来说都是个很好的选择。Flex、BlazeDS技术能够提供高性能的远程通信,支持Flex和Java间的对象映射,因此是RIA开发的理想选择。Flex和BlazeDS的开发新手,如果曾经是Java开发员的话,会发现整个开发过程效率非常高,而且很容易掌握。

Flex加BlazeDS还是开发大型Java企业应用的理想选择。我们组开发的上个项目中,应用涉及到50多个不同的界面,而且服务器和客户端之间需要规律性地互传几千行的代码。这类应用几乎没法通过传统的Ajax技术来实现。但是在引入了Flex和BlazeDS之后,我们在年内就发布了第一个版本。看,这就是这对动态组合为你的应用开发项目带来的过人之处。

SOC学习心得

SoC学习心得 通过老师的精心教导,我对《SoC设计方法与实现》有了一些基本的了解。一个学期的学习使我对SoC技术的概念、特点、发展与未来的发展方向有一些理解。现将我的学习心得整理如下: 首先我了解了SoC的基本概念。从狭义角度讲,它是信息系统核心的芯片集成,是将系统关键部件集成在一块芯片上;从广义角度讲, SoC是一个微小型系统,如果说中央处理器(CPU)是大脑,那么SoC就是包括大脑、心脏、眼睛和手的系统。国内外学术界一般倾向将SoC定义为将微处理器、模拟IP核、数字IP核和存储器(或片外存储控制接口)集成在单一芯片上,它通常是客户定制的,或是面向特定用途的标准产品。SoC技术有很多的特点:半导体工艺技术的系统集成、软件系统和硬件系统的集成、SoC具有很多的优势,因而创造其产品价值与市场需求如:降低耗电量、减少体积、增加系统功能、提高速度、节省成本等集成电路的发展已有40年的历史,它一直遵循摩尔所指示的规律推进,现已进入深亚微米阶段。由于信息市场的需求和微电子自身的发展,引发了以微细加工(集成电路特征尺寸不断缩小)为主要特征的多种工艺集成技术和面向应用的系统级芯片的发展。随着半导体产业进入超深亚微米乃至纳米加工时代,在单一集成电路芯片上就可以实现一个复杂的电子系统,诸如手机芯片、数字电视芯片、DVD 芯片等。在未来几年内,上亿个晶体管、几千万个逻辑门都可望在单一芯片上实现。 SoC (System - on - Chip)设计技术始于20世纪90年代中期,随着半导体工艺技术的发展,IC设计者能够将愈来愈复杂的功能集成到单硅片上, SoC正是在集成电路( IC)向集成系统( IS)转变的大方向下产生的。1994年Motorola发布的FlexCore系统(用来制作基于68000和PowerPC的定制微处理器)和1995年LSILogic公司为Sony公司设计的SoC,可能是基于IP( IntellectualProperty)核完成SoC设计的最早报导。由于SoC可以充分利用已有的设计积累,显著地提高了ASIC的设计能力,因此发展非常迅速,引起了工业界和学术界的关注。 当前芯片设计业正面临着一系列的挑战,系统芯片SoC已经成为IC设计业界的焦点, SoC性能越来越强,规模越来越大。SoC芯片的规模一般远大于普通的ASIC,同时由于深亚微米工艺带来的设计困难等,使得SoC设计的复杂度大大提高。在SoC设计中,仿真与验证是SoC设计流程中最复杂、最耗时的环节,约占整个芯片开发周期的50%~80% ,采用先进的设计与仿真验证方法成为SoC设计成功的关键。SoC技术的发展趋势是基于SoC开发平台,基于平台的设计是一种可以达到最大程度系统重用的面向集成的设计方法,分享IP核开发与系统集成成果,不断重整价值链,在关注面积、延迟、功耗的基础上,向成品率、可靠性、EMI 噪声、成本、易用性等转移,使系统级集成能力快速发展。所谓SoC技术,是一种高度集成化、固件化的系统集成技术。使用SoC技术设计系统的核心思想,就是要把整个应用电子系统全部集成在一个芯片中。在使用SoC技术设计应用系统,除了那些无法集成的外部电路或机械部分以外,其他所有的系统电路全部集成在一起。 展望未来,我认为SOC的发展始终会沿着两个路径前进:产品和服务。从产品的角度来看,从SOC1.0到SOC2.0,实现了业务与安全的融合,符合整个IT管理需求、技术的发展大势。下一步,将会不断涌现面向业务的SOC2.0产品。随着客户需求的日益突出、业务系统的日益复杂,越来越多的企业和组织会部署SOC系统;从服务的角度看,SOC将成为MSSP (可管理安全服务提供商)的服务支撑平台,成为SaaS(软件即服务,安全即服务)的技术支撑平台,成为云计算、云安全的安全管理后台。所有用户体验到的安全服务都会由SOC 来进行总体支撑。一方面,SOC产品的业务理念和思路会渗透到SOC服务之中;另一方面,SOC服务水平与客户认知的提升也会促进SOC产品的发展与成熟。

as3.0学习笔记之绑定与组件生命周期

学习笔记 1.Flex数据绑定的四种方式—2013.5.9 一、"{}"绑定表达式 Flex开发中,"{}"绑定表达式的应用是最为常见的,简单、方便。好比https://www.doczj.com/doc/054610385.html, 中的"<%%>"一样的功效。这里我就简单介绍下,在Flex下怎么使用"{}"绑定表达式来绑定数据。如有这样一个简单的需求,我们定义一个变量,通过"{}"绑定表达式将变量的值绑定到文本框或是按扭等类似的UI组件上,变量定义如下: 简洁、简单、方便且适用。OK,已经学到手了,那下面继续看看另一种绑定使用方式--绑定方法返回值。例如需要将一个方法的返回值通过"{}"绑定表达式进行Flex数据绑定,让其在UI组件上呈现该怎么做呢?如下方法定义: Private function BindText():String{Return “OK” ;} 如上便完成了对方法的绑定,既将BindText()方法的值绑定在了Label组件上。 二、[Bindable]绑定符号 [Bindable]绑定符号在上面就已经出现过了,他的使用和作用也很容易掌握。如上示例,我们的目的是将定义的变量值绑定在UI组件上,如果要实现这个功能,直接将定义的变量通过"{}"绑定表达式进行Flex数据绑定是不能完成功能的,我们必须为所定义的变量标记[Bindable]。在Flex中,只有标记有[Bindable]的数据源才能进行Flex数据绑定(函数除外,上面示例中也证实了这一点),当然也可以是其他的数据源(xml,数据库,文件等不同地方不同类型的数据源)。 1、[Bindable]标签用于函数时,只能在setter和getter方式定义的函数前使用,这种绑定称之为函数级绑定。 2、[Bindable]标签用于公有类时,这个类的所有公共变量,setter和getter方式定义的函数都可以用于绑定。这种绑定称为对象级绑定。 三、标签 标签也是使用非常频繁的Flex数据绑定方式。到底怎么个用法呢?下面以两个小示例使用不同的数据源来进行Flex数据绑定演示。首先用

flex个人总结

Flex笔记 RIA(Rich Internet Applications) 1.Flex用到的2种语言:MXML 和actionScript ,由于flash player 只支持actionScript3.0和actionScript 2.0,所以MXML会编译成actionScript类; 2.MXML内部嵌入actionSript,实例: 这句话的意思是把其作为内容引用,比如< > &在xml中都有特殊的用法; 3.ActionScript3.0的语言运算符: ①算术用于各类数值的运算:+ 加,- 减,* 乘,/ 除,% 求余,++ 自增,-- 自减 ②逻辑运算:&& 与,|| 或,!非 ③关系运算符:> 大于,< 小于,== 等于,>= 大于等于,<= 小于等于,!=不等于 ④位运算符:& 位与,| 位或,~ 位非,^ 位异或, << 左移, >> 右移 ⑤特殊运算符:()括号,[] 小标,取XML 的属性值”@“ ⑥赋值运算符:简单赋值=;复合算术赋值符:+= ,-=,*=,/=,%=;复合位运算赋值:&=,|=,^=,>>=,<<= ⑦条件运算符: ? ⑧逗号运算符用于把若干表达式组合成一个表达式,运算符为”,“ 4.Flex中的数字类型:int ,Number, uint Number: 在ActionScript3.0中,Number数据类型可以表示整数、无符号整数和浮点数。但是,为了尽可能提高性能,应将Number数据类型仅用于浮点数,或者用于int和uint 类型可以存储的、大于32位的整数值。要存储浮点数,数字中应包括一个小数点。如果您省略了小数点,数字将存储为整数。 Int:Flex数据类型中int数据类型在内部存储为32位整数,它包含一组介于-2,147,483,648(-231)和2,147,483,647(231-1)之间的整数(包括-2,147,483,648和2,147,483,647)。早期的ActionScript版本仅提供Number数据类型,该数据类型既可用于整数又可用于浮点数。在ActionScript3.0中,现在可以访问32位带符号整数和无符号整数的低位机器类型。如果您的变量将不会使用浮点数,那么,使用int数据类型来代替Number 数据类型应会更快更高效。 对于小于int的最小值或大于int的最大值的整数值,应使用Number数据类型。Number 数据类型可以处理-9,007,199,254,740,992和9,007,199,254,740,992(53位整数值)之间的值。int数据类型的变量的默认值是0。 Uint:uint数据类型在内部存储为32位无符号整数,它包含一组介于0和4,294,967,295(232-1)之间的整数(包括0和4,294,967,295)。uint数据类型可用于要求非负整数的特殊情形。例

生理学重点词汇..

生理学重点词汇 A 暗适应Dark adaptation 暗视觉Scotopic vision B 被动转运Passive transport 白细胞Leukocyte 背侧呼吸组dorsal respiratory group 搏功Stroke work 变力作用Inotropic action 变时作用Chronotropic action 变传导作用Dromtropic action 比顺应性Specific compliance 补吸气量Inspiratoryreserve volume 补呼气量Expiratory reserve volume 不完全强直收缩Incomplete tetanus 不感蒸发(不显汗)Insensible perpiration 编码(作用)Encoding 边缘系统Babinski’s sign 巴彬斯基征Limbic system α波阻断α-boock C 出胞Exocytosis 出血时间Bleeding time 刺激Stimulus 超常期Supranormal period 超极化Hyperpolarization 超速驱动压抑Overdrive suppression 初长度Initial length 促红细胞生成素Erythropoietin,EPO 促胰液素Secretin 促甲状腺激素Thyroid stimulating hormone,TSH 促甲状腺激素释放激素Thyrotropin-releaxing hormone,TRH 促性腺激素释放激素Gonadotropin-releasing hormone,GnRH 促肾上腺皮质激素释放激素Corticotropin-releasing hormone,CRH 促肾上腺皮质激素Adrenocorticotropin,ACTH 促阿片-黑素细胞皮质素原(阿黑皮素原)Pro-opiomelanocrtin,POMC 长度-张力曲线Length-tension curve

easyUI学习笔记

esayUI 前端开发:企业中java工程师,大多不擅于HTML+CSS 网页布局设计,门户网站(由前端工程师设计),企业内部应用软件(java工程师,选择前端UI框架ExtJS 、Flex 、Easy UI ) ---------------------- Easy UI 学习成本非常低 easyui 最新版本1.3.4,bos开发使用1.3.2版本 ExtJS 2.x 免费,3.x 开始收费 Easy ui 1.2.3版本开始收费 问题:为什么你不用ExtJS ? easy ui 学习成本低,很容易在项目中集成使用,ExtJS 学习成本高昂 EasyUI+tutorial.CHM 官方demo例子 jQuery_EasyUI.doc demo例子 EasyUI-API+1.3.2.chm 中文api jquery.EasyUI-1.3.1+API.chm 英文api jquery-easyui-1.3.2.zip 框架开发包 目录结构分析 demo 示例 locale 国际化信息文件(默认英文提示信息)

plugins 框架功能js文件 src 源码 themes 主题样式 自带5套主题,icons 图标文件 easyloader.js 核心加载器(加载plugins 功能js) jquery-1.8.0.min.js jquery开发js文件 jquery.easyui.min.js easy ui 框架功能js合集 jquery.easyui.min.js == easyloader.js + plugins/* 1.如何在页面中使用easy ui ? 引入四个文件 2、学习使用easy ui 布局功能 layout 布局控件使用 将body、div 分成东西南北中,五个部分

北部
Options->Viewer。 解决方法:须把pdf转换为版本为9的swf,才能让它在Flexpaper中显示。那么如何转换为9的呢?我自己是使用cmd命令行工具来手工转换的.只须在命令行添加 "-s flashversion=9"这句,就可以转换为9的版本啦. 4.运行官方的DEMO及Flexpaper的用法 打开刚刚下载好的Flexpaper文件夹,打开里面的例子index.html, (1)运行官方的例子,不能加载任何的.swf(包括例子中的swf)(如果能正常显示的话,请跳过这一步)

软件测试原则及方法学习笔记

1、软件测试的原则 软件测试从不同的角度出发会派生出两种不同的测试原则,从用户的角度出发,就是希望通过软件测试能充分暴露软件中存在的问题和缺陷,从而考虑是否可以接受该产品,从开发者的角度出发,就是希望测试能表明软件产品不存在错误,已经正确地实现了用户的需求,确立人们对软件质量的信心。 测试的原则就是从用户和开发者的角度出发进行软件产品测试的,通过测试,可以为用户提供放心的产品,并对优秀的产品进行认证。 为了达到上述的原则,那么需要注意以下几点: 1.应当把“尽早和不断的测试”作为开发者的座右铭 2.程序员应该避免检查自己的程序,测试工作应该由独立的专业的软件测试机构来完成。 3.设计测试用例时应该考虑到合法的输入和不合法的输入以及各种边界条件,特殊情况下要制造极端状态和意外状态,比如网络异常中断、电源断电等情况。 4.一定要注意测试中的错误集中发生现象,这和程序员的编程水平和习惯有很大的关系。 5.对测试错误结果一定要有一个确认的过程,一般有A测试出来的错误,一定要有一个B来确认,严重的错误可以召开评审会进行讨论和分析。 6.制定严格的测试计划,并把测试时间安排的尽量宽松,不要希望在极短的时间内完成一个高水平的测试。 7.回归测试的关联性一定要引起充分的注意,修改一个错误而引起更多的错误出现的现象并不少见。 8.妥善保存一切测试过程文档,意义是不言而喻的,测试的重现性往往要靠测试文档 在测试实施之前,软件测试工程师必须确定将要采用的测试策略和测试方法,并以此为依据制定详细的测试案例。而一个好的测试策略和

测试方法必将给软件测试带来事半功倍的效果,它可以充分利用有限的人力和物力资源,高效率、高质量地完成测试。 那么,究竟如何才能确定一个好的测试策略和测试方法呢,一般来说,在确定测试方法时,应该遵循以下原则: 第一,要根据程序的重要性和一旦发生故障将造成的损失来确定它的测试等级和测试重点; 第二,要认真研究测试策略,以便能使用尽可能少的测试用例,发现尽可能多的程序错误,因为一次完整的软件测试过后,如果程序中遗留的错误过多并且很严重,则表明本次测试是失败的,是不足的,而测试不足意味着让用户承担隐藏错误带来的危险,同时反过来说如果过度测试则又会浪费许多宝贵的资源。我们需要在这两点上进行权衡,找到一个最佳平衡点。 测试依据: 《GB/T 25000.51-2010 软件工程 软件产品质量要求与评价(SQuaRE)商业现货(COTS)软件产品的质量要求和测试细则》

学习笔记-Financial Implementation

2014/11/23(qq邮箱,Miao19920321) 辅助分类账的最后一个层面——调整: The adjustments can be manual adjustments or automated adjustments from Subledger Accounting. This type of ledger must share the same chart of accounts, accounting calendar/period type combination, and currency as the associated primary ledger. To obtain a complete secondary accounting representation that includes both the transactional data and the adjustments, use ledger sets to combine the adjustments-only secondary ledger with the primary ledger when running reports.(不懂???) 2014/11/24 Define Accounting Setup (建立分类账) Primary ledger 主要分类账 Secondary ledger 辅助分类账 Prerequisite 前提 COA (Reference: Oracle Applications Flexfields Guide, Oracle General Ledger User Guide) 1、会计日历定义 2、子分类账会计方法 Checklist 步骤 1、会计科目结构:分配法人-主要分类账属性-辅助分类账属性-报告币种 2、分配平衡段到法人主体上-分配平衡段到分类账上-定义子分类账会计选项 3、分配和定义业务实体到主要分类账上 4、定义公司间会计科目 5、定义内部公司间规则 6、定义辅助分类账 子分类账会计方法 如果你不想使用标准应计和标准现金的会计方法,你需要在子分类账会计方法中定义新的子分类账会计方法去整合来自各个来源的数据。

flex学习笔记3HttpService

Flex学习笔记3之HttpService与DataGrid 1.Flex中对于通过HttpService来进行数据通信进行了良好的封装。 2.下面用一个例子来解释Flex中对于HttpService是如何应用的。 3.Demo4 注意:这里的employees.xml只是模拟一个远程客户端调用的过程。 文件内容如下:

5.下面启用Flex的debug模式来执行调试。程序调试界面 发现了原来在FlexDemo4.mxml文件

Result下面发现了Flex已经读取了employees.xml的所有内容 备注:实质上是将xml的信息存放到了一个集合中。 6.补充:将xml结果输出到DataGrid中 将会用到这个标签 执行程序后的结果。

7.小结 (1)ObjectProxy类 继承自Proxy- Object 该类提供跟踪对此代理管理的项目进行的更改的功能。任意数量的对象都可通过使用addEventListener()方法“侦听”对该对象的更改。 于此同时employeesService其实是这个类mx.rpc.http.mxml.HTTPService (2)HttpService类 在MXML 文件中使用标签代表HTTPService 对象。当调用HTTPService 对象的send()方法时,将发出对指定URL 的HTTP 请求,并且返回HTTP 响应。可以选择向指定URL 传递参数。如果没有使用基于服务器的代理服务,则只能使用HTTP GET 或POST 方法。如果将useProxy 属性设置为true 并使用基于服务器的代理服务,则还可以使用HTTP HEAD、OPTIONS、TRACE 和DELETE 方法。 (3)ArrayCollection类 ArrayCollection 类是将Array 公开为集合的封装类,可使用ICollectionView或IList接口的方法和属性进行访问和处理。对ArrayCollection 实例进行操作会修改数据源;例如,如果对ArrayCollection 使用removeItemAt()方法,就会删除基础Array 中的项目。

最新java程序员试用期总结范文

java程序员试用期总结范文 Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。今天第一范文网小编给大家为您整理了java程序员试用期工作总结,希望对大家有所帮助。 #java程序员试用期工作总结范文一# 尊敬的领导: 我于201X年7月4日进入公司,根据公司的需要,加入了_X部,加入了_X项目组,目前担任java程序员一职。到今天2个月试用期已满,根据公司的规章制度,现申请转为公司正式员工。 软件开发是我大学以来的志向,公司给了我这个机会,让我的梦想得以实现,这也是我职业生涯的一个起点,我十分珍惜。初到公司我曾担心自己不知道该怎么与项目组的同事沟通,担心不知道怎么做好工作,但是项目组的前辈们都很亲切,也很耐心的教导我,解答我的疑问,以及他们团结向上的精神,让我很快的熟悉了工作,融入了项目组。通过两个月的不断学习,在项目开发中的不断锻炼以及同事、领导的帮助,我已逐渐融入这个大家庭,个人的工作技能也有了明显的提升,虽然仍有不足,但是收获了不少,我感觉自己成长了,也逐渐成熟了。现将工作情况简要总结如下: 1.我主要在系统软件事业部进行软件开发和熟悉公司业务流程,初来乍到,对公司还有很多不熟悉的地方,但是在领导和同事的耐心指导下,使我在较短的时间内适应了公司的工作环境,也熟悉了公司

的部分业务流程。 2.熟悉了公司现有项目主要使用的技术及开发框架,能迅速上手开发。 3.通过参与_X系统、_X系统两个项目的开发,现已能独立完成领导交付的任务。 4.项目基本流程、业务种类,有了相关的掌握与了解。 5.按时按量的自己给自己分配当天应当完成的任务,保证项目的进度。 在这两个月的学习和工作中,我一直严格要求自己,遵循公司的规章制度,认真完成领导布置的每一项任务,遇到的问题虚心的向项目组的前辈们学习、请教,不断的提高、充实自己。开发过程中出现的一些问题,前辈们会耐心的指出和指导我修改,这些经历让我不断成熟,处理问题时考虑得更全面,避免类似情况的再次发生。在此我要特地感谢部门的领导和同事们对我的指引和帮助,感谢他们对我工作上失误的提醒和指正。 经过这两个月,我已经能独立进行开发任务,按时按质的完成分配的工作任务,当然还有许多不足,开发的经验仍有待提高,编写代码的简洁性和完整性也需要进一步增强,需要不断的继续学习以提高自己的工作能力。 总之,这两个月来我学到了很多,感悟了很多。看到公司的迅速发展,看到部门的同事越来越多,我深深地感到骄傲和自豪,也更加迫切的希望以一名正式员工的身份在这里工作,实现自己的奋斗目标,体

Libnids学习笔记

Libnids学习笔记 一、Libnids概述 Libnids(Library Network Intrusion Detection System)是网络入侵检测开发的专业编程接口,实现了网络入侵检测系统的基本框架,提供了一些基本的功能。Libnids是基于Libpcap和Libnet而开发的,其主要功能包括捕获网络数据包、IP碎片重组、TCP数据流重组以及端口扫面攻击检测和异常数据包检测等。 二、Libnids安装 Libnids需要支持库Libpcap和Libnet,此外,编译过程还需要byacc、flex 和glib(2.2+)。在CentOS 6.5下安装Libnids的步骤: 1.安装byacc、flex和glib # yum install byacc # yum install flex # yum -y install glib2-devel 2.安装Libpcap开发包 # tar –xzvf libpcap-x.y.z.tar.gz # ./configure # make # make install 3.安装Libnet开发包 # tar –xzvf libnet-x.y.z.tar.gz # ./configure # make # make install 4.安装Libnids开发包 # tar –xzvf libnids.x.y.tar.gz # ./configure # make # make install

三、Libnids编程模型 在Linux下使用libnids开发应用程序,源文件中需要包含头文件nids.h,并且拥有libnids库libnids.a或libnids.so.x.x。程序的main函数通常采用以下结构:main() { 与libnids无关的程序私有过程 设置libnids参数(可选) 初始化libnids,if (!nids_init()) 失败处理 注册libnids回调函数 运行libnids,nids_run() } 四、Libnids编译 libnids 1.24版本下,使用到的开发包是libnids、libpcap、libnet、libgthread-2.0和libnsl,它们的库名分别为nids、pcap、net、gthread-2.0和nsl。 在Linux下使用gcc链接编译时,要注意先后顺序,越是底层库,位置越后,因此的编译命令如下: # gcc x.c -o x -lnids -lpcap -lnet -lgthread-2.0 -lnsl 五、Libnids状态 Libnids中TCP连接的状态主要有如下6种: #define NIDS_JUST_EST 1:表示TCP连接刚刚建立,在此状态下可以通过连接参数(IP地址、端口号等)决定是否对此TCP连接后来的数据进行分析,并且可以指定接收数据的类型(共四种,分别是给客户端、给服务器以及给二者的带外数据); #define NIDS_DATA 2:表示新的TCP数据已到达,数据存储在tcp_stream 的half_stream结构中; #define NIDS_CLOSE 3:表示TCP连接正常关闭; #define NIDS_RESET 4:表示TCP连接被重置关闭; #define NIDS_TIMED_OUT 5:表示由于超时TCP连接被关闭; #define NIDS_EXITING 6:表示Libnids正在退出,在此状态下可以最后一次使用存储在half_stream结构中的数据。

122个常用词根笔记版初级

122个常用词根(初级) 1、ag = do ,act 做,动agent agency 2、agri = field 田地,农田agri 也作agro agr agriculture 3、ann = year 年(ann也作enn)anniversary annual 4、audi=hear 听(audi也作audit)audience 5、bell=war战争rebel 6、brev=brief short短abbreviate 7、ced=go行走(ced也作ceed,cess)precede exceed 8、cept=take 拿,取except intercept 9、cid,cis=cut,kill 切,杀decide incise 10、circ=ring环,圆circus circle 11、claim,clam=cry,shout 喊叫exclaim acclaim 12、clar=clear 清楚,明白declare clarify 13、clud=close,shut关闭(clud也作clus)exclude include 14、cogn=know知道cognize recognize 15、cord=heart心cordial concord 16、corpor=body (corpor也作corp)corporation corpse 17、cred=believe,trust 相信,信任credible incredible 18、cruc=cross十字crucial 19、cur=care关心,挂念,注意security 20、cur,curs,cour,ccurs=run跑cure current 21、dent=tooth牙齿dentist 22、di=day日diary

03分子对接docking

单击此处编辑母版标题样式
? ? ? ? ?
Structural base drug Design: 单击此处编辑母版文本样式 Molecular Docking
第二级 第三级 第四级 第五级
吕炜 创腾科技公司

计算机辅助药物设计方法分类
? 基于配体的药物设计策略 -- QSAR -- 药效团 ? 基于受体的药物设计策略 -- 分子对接 -- 全新药物设计 单击此处编辑母版副标题样式 -- 分子动力学
单击此处编辑母版标题样式

Structure-Based Drug Design
? ? ? ? SBDD:计算机辅助药物设计中最庞大最活跃的研究领域 SBDD:本质是正确评价靶标与配体之间的相互作用 SBDD工具:分子对接 SBDD应用
– 化合物优化 – 机理研究
单击此处编辑母版标题样式 – 高通量虚拟筛选
单击此处编辑母版副标题样式

什么是分子对接?
单击此处编辑母版标题样式
单击此处编辑母版副标题样式

分子对接能用来干什么?
单击此处编辑母版标题样式
单击此处编辑母版副标题样式
1.研究配体-受体复合物的结 合模式 2. 预测受体-配体的结合能力
3. 指导先导化合物的合成改 造和优化 4. 寻找和发现新的先导化合 物

MM-PBSA Scoring应用于Chk1抑制剂正确结合模式的发现
单击此处编辑母版标题样式
单击此处编辑母版副标题样式
ΔΔG= 10.7 Kcal/mol (ε=2) ΔΔG=1.4 Kcal/mol (ε=2)

flex弹性布局学习笔记

Flex弹性布局笔记 1.Flex 布局是什么? 任何一个容器都可以指定为Flex 布局。 .box{ display: flex;} 行内元素也可以使用Flex 布局。 .box{ display: inline-flex;} Webkit 内核的浏览器,必须加上-webkit前缀。 .box{ display: -webkit-flex;/* Safari */ display: flex;} 注意,设为Flex 布局以后,子元素的float、clear和vertical-align 属性将失效。

2.基本概念: 3.容器的属性: 以下6个属性设置在容器上。 ?flex-direction ?flex-wrap ?flex-flow ?justify-content ?align-items ?align-content 3.1 flex-direction属性

3.2 flex-wrap属性

3.3 flex-flow 3.4 justify-content属性 justify-content属性定义了项目在主轴上的对齐方式。

.box { justify-content: flex-start | flex-end | center | space-between | space-around;} 3.5 align-items属性

align-items属性定义项目在交叉轴上如何对齐。 .box { align-items: flex-start | flex-end | center | baseline | stretch;}

flash builder 学习笔记

【flash builder 学习笔记字符串】 1、连接字符串 "+"操作符连接字符串 var example : String = "This" + "work"; //结果为"Thiswork" var first:int=24; var second:int=42; var result:String=first+second; // 编译器报错;因为此时编译器不知道是两个数字型变量相加,还是两个字符串相连. var result2:String=String(first)+String(second); //结果显示为"2442" 2、字符串中使用引号 (1)var example:String = ‘he said ,"Y es."'; //字符串是使用"或'来封闭的, 使用'封闭就可以在其中使用" (2)var example: String="he said,\"Yes\""; //使用了专一字符" \ " 3、转义字符 新行符\n Tab符\t 回退符\b 制表符\f 回车符\r 4、搜索匹配字符串 (1)顺序搜索匹配字符串函数indexOf 字符串名.indexOf(要搜索的字符串,开始的下标) var example:String="This String contains the word cool twice.V ery cool."; var index:int = example.indexOf("cool"); //词语句找到第一个cool 后返回下标后就退出 //要找到全部cool 需改为下面语句 var index : int = -1;

FLEX学习心得

FLEX学习心得 1,开发webgame你所要具备的 一、数据结构、设计模式、框架应用、良好的OO思想。 二、对socket/amf/remoting/shareobject/webservice等了解 三、各开源库(PV3d,Box2d等),但一般做策略型webgame不太需要,策略型webgame关注的是第一点 如果想做做小游戏,可看 make thing move之后看AdvancED_ActionScript 3.0 2,基于socket连接的安全沙箱问题的处理 https://www.doczj.com/doc/054610385.html,/xuxiangwin/archive/2009/07/07/4324218.aspx 大概就这个,但是我这里始终不行,有待后续补充 补充:https://www.doczj.com/doc/054610385.html,/club/thread-6471-1-5.html 3,FLEX解析XML的2种方式。有表情 https://www.doczj.com/doc/054610385.html,/blog/381820 4,FLEX控件样式和控件的使用 1).不知道控件有什么样式设置?看它:https://www.doczj.com/doc/054610385.html,/flex3/consulting/styleexpl orer/Flex3StyleExplorer.html 2).有控件不知道怎么用?看它:https://www.doczj.com/doc/054610385.html,/flex3/componentexplorer/explorer. html 5,FLEX中文例子 https://www.doczj.com/doc/054610385.html,/ 6,AIR的创建发布安装教程 https://www.doczj.com/doc/054610385.html,/AIR/thread-2727-1-1.aspx 7,Adobe AIR 迷你教程-- 监测网络状态,离线/在线应用程序的实现 https://www.doczj.com/doc/054610385.html,/Share/thread-2731-1-1.aspx 8,FLEX 45°视角游戏地图编辑器 https://www.doczj.com/doc/054610385.html,/club/thread-3334-1-1.html 9,RGP游戏基础45地图寻路和地图切换完整例子 https://www.doczj.com/doc/054610385.html,/club/viewthread.php?tid=2286&page=1#pid6532

相关主题
文本预览