| TR069协议简明教程
TR069协议简明教程 1.为什么需要TR069 随着VoIP、IPTV等越来越多IP终端设备的普及(尤其在家庭中的普及),大量设备的配置和维护变得越来越困难,大大提高了网络产品运营商的成本,传统的基于SNMP的网管系统面对众多的终端设备时显得力不从心,限制了宽带接入市场的发展速度和规模。TR069定义了一套全新的网管体系结构,包括“管理模型”,“交互接口”,“管理参数”,在很大程度上减少了网络产品的运维成本。 2.什么是TR069协议 TR069是数字用户线(DSL)论坛(已改名为Broadband Forum)制定的一个面向终端设备的网管协议,称为“用户终端设备广域网管理协议(CWMP)”,DSL论坛的文档编号为TR069。 3.TR069协议发展现状 自2004年5月DSL论坛推出该协议以来,各大运营商纷纷部署基于TR069的终端设备。但从协议的发展情况看,TR069仍然处于不断完善的过程中。 4.TR069协议网络架构 ACS为自动配置服务器,负责对终端设备CPE进行管理。ACS与CPE间的接口为南向接口,ACS与管理系统间的接口为北向接口。TR069协议主要定义了南向接口。
5.TR069的实现(协议栈) (1)TR069协议基于TCP层; (2)ACS与CPE间的消息传输使用HTTP1.1,ACS为HTTP服务器,CPE为HTTP 客户端; (3)消息的具体内容使用SOAP包进行封装,SOAP包是一个包含SOAP Head(SOAP 头)和SOAP Body(SOAP体)组成的XML文档
(4)ACS的管理方法就是对CPE上的管理函数进行远程调用,因此需要向CPE传输要调用的函数名及参数,这些内容包含在SOAP体中。ACS并不直接对设备本身的接口进行调用,ACS所使用的函数为TR069的标准函数(称作TR-069 RPC Methods),CPE需要通过一个设备上的中间层解析出RPC方法,再由这个中间层调用设备自身的接口,这个中间层就是TR069 Agent。 (5)使用SSL/TLS并不强制要求,确保CPE和ACS之间基于证书的鉴权—————————————— CPE/ACS Management App —————————————— RPC Method —————————————— SOAP —————————————— HTTP 1.1 —————————————— SSL3.0 orTLS1.0 —————————————— TCP/IP —————————————— 6.TR069协议的RPC函数(或称RPC方法) 如上所述ACS与CPE之间通过TR069协议特有的RPC方法进行互操作。 CPE函数由ACS调用,用来对CPE进行管理如:设置CPE参数、获取CPE参数、硬件升级、重启设备等; ACS函数由CPE调用,用来向ACS上报状态信息,请求硬件镜像文件下载(用来升级硬件)等等。
XML Schema(XSD)简明教程
目录
第 1 讲:简介 ..................................................................................................................... 2 第 2 讲:如何使用 .............................................................................................................. 3 第 3 讲:根元素.................................................................................................................. 5 第 4 讲:XSD 简易元素....................................................................................................... 6 第 5 讲:XSD 属性.............................................................................................................. 8 第 6 讲:XSD 限定 / Facets ................................................................................................. 9 第 7 讲:XSD 复合元素..................................................................................................... 16 第 8 讲:XSD 复合空元素 ................................................................................................. 20 第 9 讲:XSD 复合类型 - 仅含元素 .................................................................................. 21 第 10 讲:仅含文本复合元素 ............................................................................................ 22 第 11 讲:带有混合内容的复合类型.................................................................................. 24 第 12 讲:复合类型指示器................................................................................................ 25 第 13 讲:XSD 元素................................................................................................. 32 第 14 讲:XSD 元素.................................................................................... 34 第 15 讲:XSD 元素替换(Element Substitution) .............................................................. 37 第 16 讲:XSD 实例 .......................................................................................................... 39 第 17 讲:字符串数据类型................................................................................................ 48 第 18 讲:日期及时间数据类型(Date and Time Data Types)............................................. 51 第 19 讲:数值数据类型(Numeric Data Types) ................................................................ 56 第 20 讲:杂项数据类型(Miscellaneous Data Types) ........................................................ 58
xml简明教程
---------------------------------------------------------------------------- ---- 什么是XML元素? XML是一种标识语言,一组用来创建描述数据的语法标签的规则集。一个XML元素是由开 始标签、结束标签以及标签之间的数据构成的。开始和结束标签用来描述标签之间的数据。标签之间的数据被认为是元素的值。例如,在下面一个XML元素的例子中,元素"di rector"的值是"Ed Wood"。 Ed Wood 元素名("director")允许你把"Ed Wood"这个值标出来,这样你就能把这些数据同另外 类似的数据区分开来。例如,有可能另一个元素的值也是"Ed Wood"。 Ed Wood 由于每个元素都有不同的标签名,所以你能很容易把上面两个元素的值区别开来。如果 从语义上没有办法把数据标出来,两个有同样值的元素会混淆起来。 属性 一个元素可以包含一个或多个属性,属性是一个由“=”隔开的名称值,如: Westfield 在上面的例子中,ZIP="01085"是元素的一个属性。属性用来给一个元素添加附加的、次要的信息,通常是元信息,属性还可以使用缺省值,而元素却不能这样做。元素 的每一个属性可以以任意顺序进行说明,但仅能说明一次。 此外,XML标签对大小写敏感,因此以下这三个是不同的元素。 第2课:处理XML文档 ---------------------------------------------------------------------------- ---- 什么是XML文档? 一个基本的XML文档就是一个XML元素,它可以嵌套XML元素。例如,下面的XML元素“bo oks”就是一个有效的XML文档。 The Great Shark Hunt Hunter S.Thompson 处理指导 构建一个基本的XML文档需要记住关键的四点: 所有元素必须有结束标签; 所有元素必须正确的嵌套(不允许交迭元素); 所有特征值必须加引号; 每一个文档都必须有一个唯一的第一元素和根节点。
Spring MVC 简明教程
Spring框架从创建伊始就致力于为复杂问题提供强大的、非侵入性的解决方案。Spring 2.0当中为缩减XML配置文件数量引入定制命名空间功能,从此它便深深植根于核心Spring框架(aop、context、jee、jms、 lang、tx和util命名空间)、Spring Portfolio项目(例如Spring Security)和非Spring项目中(例如CXF)。 Spring 2.5推出了一整套注解,作为基于XML的配置的替换方案。注解可用于Spring管理对象的自动发现、依赖注入、生命周期方法、Web层配置和单元/集成测试。 探索Spring 2.5中引入的注解技术系列文章由三部分组成,本文是其中的第二篇,它主要讲述了Web层中的注解支持。最后一篇文章将着重介绍可用于集成和测试的其它特性。 这个系列文章的第一部分论述了Java注解(annotation)是如何代替XML来配置Spring管理对象和依赖注入的。我们再用一个例子回顾一下: @Controller public class ClinicController { private final Clinic clinic; @Autowired public ClinicController(Clinic clinic) { this.clinic = clinic; } ... @Controller表明ClinicController是Web层组件,@Autowired请求一个被依赖注入的Clinic实例。这个例子只需要少量的XML语句就能使容器识别两个注解,并限定组件的扫描范围: 这对Web层可谓是个福音,因为在这层Spring的XML配置文件已日益臃肿,甚至可能还不如层下的配置来得有用。控制器掌握着许多属性,例如视图名称、表单对象名称和验证器类型,这些多是关乎配置的,甚少关于依赖注入的。通过bean定义继承,或者避免配置变化不是很频繁的属性,也可以有效的管理类似的配置。不过以我的经验,很多开发人员都不会这样做,结果就是XML文件总比实际需要的要庞大。不过 @Controller和@Autowired对Web层的配置会产生积极的作用。
4.0.3系统简明汉化教程三、MNS里的default.xml文件的修改
和前面几个教程一样打开此文件,路径为system/customize/MNS/ 一、找到- en_US
改为- zh_CN
二、找到- EE, MMM d, yyyy
这是时间显示方式,我们一般都习惯年月日时间,所以可修改为 - yyyy, MMM d, EE
当然你习惯国外的时间格式就不用改了 三、找到- EE, MMM d
这个修改和第二步一样,自己决定 四、找到 - Handwriting
这个表示输入法默认另一种输入方式是手写,如果你
习惯拼音就把Handwriting改为PinYin即可。 五、找到 - English;Spanish;
把;Spanish;删掉,我们不用西班牙文,要它没用 六、找到 - bokeh_grid_preview.jpg
- bokeh.jpg
- bokeh_preview.jpg
这个就是设置系统壁纸了,比如你想把你自己喜欢的壁纸设为系统壁纸就可以在这一段里面增加,例如我自己有一张喜欢的壁纸,我命名为fuck.jpg,那么就按
FindBugs简明教程
FindBugs 简明教程 前言: 本文重点在FindBugs的入门使用 相关的介绍内容请看本文后面的推荐链接 FindBugs的使用入门 下面将介绍2种方式利用FindBugs去自检代码 第一种适用于Eclipse下开发的应用程序 第二种适用于Framework层的局部代码 准备方面 a.FingBugs Eclipse plug-in b.FindBugs tools with Swing Interface https://www.sodocs.net/doc/5e18443809.html,/findbugs/findbugs-1.3.9.zip?download 1.使用步骤 2.1Eclipse下安装FindBugs plug-in 1)点击Install New Software 进行安装 2)点击Add之后在弹出的地址框中填入FindBugs Plug-in的地址 3)将FindBugs Feature勾选并点击Next 4)猛点Next 5)勾选accept 并点击Finish 6)Waiting… 7)点击OK 8)安装成功后提示重启Eclipse,点击Restart Now 2.2Eclipse下使用FindBugs, 在此使用ApiDemo为例 1)右键点击工程,点击FindBugs 2)FindBugs分析完成后自动跳转到Bug Explorer. 点击一个Bug自动定位到代 码行,然后点击代码行最左端的”Bugs”,在Properties中显示该Bug的详 细情况建议修改的方式等等(自动生成的R文件相关的可略过)
3)点击Windows->Preferences->Java->FindBugs 可配置FindBugs自检规则 4)自检完成后可将FindBugs结果以xml的形式保存下来作为凭证 2.3利用FindBugs tool自检(适用于局部代码自检例如framework修改的代码在此举 例) 1)下载FindBugstools with Swing Interface 并解压 点进bin下的findbugs.bat 2) 将待检代码文件及对应的class文件准备好并导入并点击完成 这里拿AbsListView.java举例 将out\target\common\obj\JAVA_LIBRARIES\framework_intermediates\classes.jar 中有关AbsListView的class都拿出来包括内部类 3)根据分析结果定位到代码进行修改下面有相关的Bug行数及方法名及变量名 2.4运用Findbugs 命令行的方式检查指定的类或者jar 命令行常用命令: $FINDBUGS_HOME $/bin/findbugs -textui [options…] Options:-low (Report all bugs) -medium (Report medium and high priority bug. This is the default setting.) -high (Report only high priority bugs.) -xml (Produce the bug reports as XML) -help (displays help information for the FindBugs command line user interface) 利用基本基本命令去检查会在命令行中打印每个Bug的信息以行为单位 使用了-xml 参数后打印的是xml报告可以将其导入Fingbugs plug-in或者Swing GUI中查看使用命令行的时候为了方便查看及保存可以把结果重定向到文本中 FindBugs推荐资料 IBM-FindBugs详细说明 FindBugs官网 Baidu百科FindBugs
关于ASP文献综述
基于.NET平台的电力设备管理系统 1前言 电力建设是国民经济发展中一项重要、复杂的系统工程。近年来国家一直投入巨资进行的大规模城乡电网改造,无疑显示出了电网建设的重要性,随着电力建设的飞速发展和电力体制改革的不断深入,传统的管理模式和管理方法越来越凸现出其自身的诸多弊端,其中电力设备的管理作为电力系统运行的重要环节,它的发展与现代化对整个电力的发展起着至关重要的作用,但是,由于电力设备数量多、分布地域广、受自然环境和人为因素影响的机会比较多,因此在运行管理工作中存在许多困难。 基于.NET平台的电力设备管理系统是适应当前电力行业设备管理和生产管理需要的信息系统,从而起到充分发挥现有各种信息资源的作用,达到管理行为规范化、管理制度流程化、管理结果信息化,管理手段现代化的最终目的。 2主题 https://www.sodocs.net/doc/5e18443809.html,平台概述 ASP指Active Server Pages(动态服务器页面)。https://www.sodocs.net/doc/5e18443809.html,是新一代Web应用程序开发平台,它为用户提供了完整的可视化开发环境,它利用普通语言CLR运行时(Common Language Runtime)在服务器后端为用户提供建立强大的企业级Web应用服务的编程框架。 ASP.NET是建立在.NET Frame之上,使用Visual Basic、C#这样模块化程序设计语言。它要第一次使用时进行编译,之后的执行不需要重新编译就可以直接运行,所以速度和效率比ASP提高很多。同时它还具有代码的可重用性、可维护性和代码量相对较少等诸多优点。ASP.NET不仅仅是下一版本的Active Senver Page(ASP);它是统一的Web开发平台,用来提供开发人员快速生成企业级web 应用程序,所需的服务ASP.NET的语法在很大程度上与ASP兼容。由于ASP本身的局限性使得系统有一些不可克服的缺陷,而采取了ASP.NET技术的系统性能上有了很大的改善:1)ASP.NET页面只需要一次编译后不需要重新编译,直到该页面被修改或WEB应用 程序重新启动,极大提升多次访问时的速度;2)ASP.NET通过ADO.NET 提供的DataGrid等数据库元件可以直接和数据库联系;3)ASP.NET采取“code —behind”方式编写代码使得代码易于编写,结构更清晰,降低了系统的开发与维护的复杂度和费用。同时它还提供一种新的编程模型和结构,用于生成更安全,可伸缩和稳定的应用程序。
MusicXML简明教程
MusicXML简明教程 1MusicXML简介 MusicXML(Music Extensible Markup Language 音乐扩展标记语言)是一个开放的基于XML的音乐符号文件格式,用于进行音乐交换和音乐分发。MusicXML旨在创建一个通用的普通西方音乐记谱格式。 1.1MusicXML形成背景 不同音乐软件之间的文件的交互存在困难。之前仅有的通用交换格式——MIDI,并不能完全满足音乐软件对做谱的需求。为了克服MIDI在记谱上的的局限,在MusicXML前相继出现了NIFF(Notation Interchange File Format音乐符号交换文件格式)、SMDL(Standard Musical Document Language标准音乐文件语言)。前者用图像的形式呈现音乐数据,在记谱数据上优于MIDI,但是在音乐表现和分析运用上劣于MIDI;后者过于复杂,且从未被进行商业实现。因此一直以来未曾找到适用于音乐交换和分发的音乐格式。MuxicXML的诞生解决了这些问题。 1.2MusicXML特点 MusicXML具有以下一些特点: ●支持17世纪以来的西方音乐记谱法 ●基于标准XML技术 ●目前支持的软件超过140种 ●支持记谱、分析、信息检索、表现实现 ●基于两个学院派音乐格式:MuseData、Humdrum ●对各种音乐应用软件,不是最优,但是是最充足最合适的音乐格式 1.3MusicXML优势 对基于Web的音乐记谱,MusicXML有其独特的优势。XML格式对Web,Web数据库,元数据和信息检索都能提供有效的支持,因此MusicXML具有高度的互联网友好性。
Velocity简明教程1
一、简介 Velocity是一个基于java的模板引擎(template engine)。它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象。 当Velocity应用于web开发时,界面设计人员可以和java程序开发人员同步开发一个遵循MVC架构的web站点,也就是说,页面设计人员可以只关注页面的显示效果,而由java程序开发人员关注业务逻辑编码。Velocity将java代码从web页面中分离出来,这样为web站点的长期维护提供了便利,同时也为我们在JSP和PHP之外又提供了一种可选的方案。 Velocity的能力远不止web站点开发这个领域,例如,它可以从模板(template)产生SQL和PostScript、XML,它也可以被当作一个独立工具来产生源代码和报告,或者作为其他系统的集成组件使用。Velocity 也可以为Turbine web开发架构提供模板服务(template service)。Velocity+Turbine提供一个模板服务的方式允许一个web应用以一个真正的MVC模型进行开发。 二、基本语法 1 总括 1.1 "#"用来标识Velocity 的脚本语句,包括#set、#if 、#else、#end、#foreach、#end、#iinclude、#parse、 1.3 "{}"用来明确标识Velocity 变量。比如在页面中,页面中有一个$someonename,此时,Velocity 将把someonename 作为变量名,若我们程序是想在someone 这个变量的后面紧接着显示name 字符,则上面的标签应该改成${someone}name。 1.4 "!"用来强制把不存在的变量显示为空白。如当页面中包含$msg,如果msg 对象有值,将显示msg 的值,如果不存在msg 对象同,则在页面中将显示$msg 字符。这是我们不希望的,为了把不存在的变量或变量值为null 的对象显示为空白,则只需要在变量名前加一个“!”号即可。如:$!msgd 1 变量 1.1 变量的定义 Veloctiy是一种弱类型的语言,语法结构非常简单,但在jetspeed却非常实用。因为是一种弱类型语言,所以不用定义变量的类型,编译器根据赋值的类型自动进行判断,定义的关键字为set,set前要加#,变量名前必须加$,第一个字符必须为字母。变量可以包含的字符有以下内容:alphabetic (a .. z, A .. Z),numeric (0 .. 9),hyphen ("-"),underscore ("_")。 当使用#set指令时,括在双引号中的字面字符串(string literal)将解析和重新解释,但是,当string literal 被封装在单引号内时,它将不被解析。上面这个特性可以通过修改velocity.properties文件的stringliterals.interpolate = false的值来改变上面的特性是否有效。
FLASH调用XML数据简明教程
FLASH调用XML数据简明教程 简介:在FLASH中如何调用XML数据,该教程做了实例型的讲解,内容基础,讲解清晰…… 一、建立XML对象: var myXML = new XML(); 二、引用XML文件: myXML.load("data.xml"); 三、忽略空格: myXML.ignoreWhite = true;//默认的为false 四、处理XML对象的函数: myXML.onLoad = function(success) { statements; } 五、data.XML文件的内容 xiaoshandong xiaoshandong3 六、返回值实例 1、myXML.childNodes[0]将返回: xiaoshandong xiaoshandong3 2、myXML.childNodes[0].nodeName将返回:data1 3、myXML.childNodes[0].childNodes[0].name将返回:imagebear 4、myXML.childNodes[0].childNodes[0]将返回:
【Eventghost简明教程】
【Eventghost简明教程】HP MCE遥控器怎么控制XBMC 修改前的定义文件地址:https://www.sodocs.net/doc/5e18443809.html,/3652262.html 修改后的定义文件地址:https://www.sodocs.net/doc/5e18443809.html,/3652265.html Eventghost下载地址:https://www.sodocs.net/doc/5e18443809.html,/3587392.html 做个简单教程,估计大家会跟我一样对Eventghost有简单了解。以我解决HP MCE遥控器怎么控制XBMC为例。首先声明此HP MCE遥控器是我在淘宝以30大洋买的。上图: 事实证明并不是真正的MCE遥控器。既然不是就不能用MCE插件。不过我们发现很多遥控器其实是模拟键盘操作的,也就是每个按钮对应的是一个按键或一组组合按键,如CTRL+P等。 非常感谢32楼提供了Vista-XBMC的Eventghost定义文件,但是这个文件是基于MCE 插件开发的。通过Eventghost打开Vista XBMC.Eml这个文件时我们会发现,其实Eventghost 应该是这个原理:插件是遥控器或程序的定义文件,通过插件的各项定义与程序的定义相匹配我们就能控制程序。比如这个文件中Plugin:Microsoft MCE Remote是MCE遥控器的插件,Plugin:XBMC则是XBMC的插件,Eventghost则是两个插件之间的桥梁。对于不是真正MCE 遥控器的HP遥控器,我们只要将按钮对应的按键与XBMC插件定义匹配即可。也就是用Plugin:Keyboard插件替代Plugin:Microsoft MCE Remote。 以下是操作步骤: 1、通过Eventghost(我用的版本是0.3.6.1487,最新的rc版本不支持后退键)打开下载vista xbmc.xml文件
java-context-param简明教程
java-context-param简明教程 1.加载顺序 分别对应方法: contextInitialized(ServletContextEvent sce) -》init(FilterConfig config) -》init() throws ServletException 都是在tomcat容器启动之前完成的 必须充分理解这一句话: 2.相关源码 SysListener.java package com; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; public class SysListener implements ServletContextListener { public void contextDestroyed(ServletContextEvent sce) { //用于在容器关闭时,操作 System.out.println("SysListener contextDestroyed"); } //用于在容器开启时,操作 public void contextInitialized(ServletContextEvent sce) {
String rootpath = sce.getServletContext().getRealPath("/"); System.out.println("-------------rootPath:"+rootpath); if (rootpath != null) { rootpath = rootpath.replaceAll("\\\\", "/"); } else { rootpath = "/"; } if (!rootpath.endsWith("/")) { rootpath = rootpath + "/"; } System.out.println("Application Run Path:"+rootpath); String urlrewrtie = sce.getServletContext().getInitParameter("urlrewrite"); boolean burlrewrtie = false; if (urlrewrtie != null) { burlrewrtie = Boolean.parseBoolean(urlrewrtie); } System.out.println("Use cluster:"+sce.getServletContext().getInitParameter("cluster")); System.out.println("Use servletmapping:"+sce.getServletContext().getInitParameter("servletmapping")); System.out.println("Use poststoragemode:"+sce.getServletContext().getInitParameter("poststoragemode")); System.out.println("Use Urlrewrite:"+urlrewrtie); } } Testcontextparam.java package com; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.ServletConfig; import java.io.IOException; /**
EXE4j教程
exe4j使用教程 对于作Java桌面应用来说,比较烦人的就是安装部署问题,客户端是否安装有jre、jre版本问题、jre去哪下载、如何用jre启动你的Java应用?不要说刚接触电脑的人,就算是比较熟悉电脑,如果没有接触过Java,面对一个Java应用,如何在Windows下启动它,估计都会折腾半天。如果不是因为这个问题,Java 在我的眼里算是最完美的语言了,也是我最喜爱的语言。 所以我认为这个是导致Java桌面应用被一些人所讨厌的最大原因,Java的优势是“一次编写,随处运行”,跨平台特性确实很好,但并不是每个人都需要或都想要跨平台,而且有时候JVM平台或版本问题也会造成“一次编写,到处测试”的尴尬。 最好的方式莫过于带着JRE,让用户轻松点击就能运行。下面我们来解决这样的问题,有什么好的建议或方法请其他朋友多多指教或补充! 针对windows平台,让用户一键式安装,双击使用, 使用工具exe4j + Inno Setup, 这两个工具都可以在网上找到,不熟悉的可以多搜搜,使用起来也不难。 带着JRE运行,JRE的大小应该是最让人头疼的,我默认安装的jre6大小达到80M,而程序只有200-300k左右,感觉非常不合理,分发与网络传输过程也会大受影响!为了解决这个问题我一直在网络上搜索“瘦身版”的JRE,无意中搜到了Beansoft老师介绍的一篇关于迷你JRE的文章,相关的JRE下载后解压约14M左右,试用了一下,相对于我的应用缺少了一些类文件,关于部分xml 操作类,及swing桌面应用框架相关连的部分类也找不到,最后借鉴了一下,自己把一个完整的JRE从80M瘦到了38M,去除了很多不需要的类文件,当然,如果耐心一点还可以再瘦下去,再抽掉一些类文件。 在这个基础上再配合Inno Setup这个安装包制作工具,最后把整个程序从40M压到了8M,下面看看关于整个操作过程,关于JRE的瘦身有些烦琐就不写了,而且SUN的JRE瘦身计划也在进行,相信很快会有更小的瘦身版JRE推出,自己没有必要再去费神。 下面是我的一个完整的Java程序—— MyLoading
Django绝对简明教程
目录 1.序言 2.辅助工具 3.View 函数 1.直接输出 2.泛型视图 1.渲染模板 2.重定向到另一URL 3.复杂视图概览 4.显示+分页object_list 5.细节视图object_detail 6.日期显示最近 4.Url 1.匹配参数 2.常用正则式 3.命名变量 4.指定参数 5.include URL 配置5.模版 1.传入参数 2.调用对象的方法 3.插入变量 4.块语句 1.if 2.ifequal/ifnotequal 3.for 4.include 5.注释 6.使用模板文件5.过滤器 1.date 2.escape /linebreaks 3.addslashed 4.length 6.Model 数据库 张沈鹏电子科技大学生物医学工程/计算机科学与技术 你看到的此文档,可能不是最新的, 欢迎访问我的Blog 了解最新的变化.也欢迎加入我的Google 讨论群,讨论一切关于 C++,STL,Boost, XML,CSS,Javascript,XUL Python,Django 的问题 from django.http import HttpResponse import datetime #View 函数的第一个参数总是HttpRequest 对象 #offset 是一个string ,值由url 正则表达式匹配而得。def hours_ahead(request,offset): offset =int(offset)
dt=datetime.datetime.now()+datetime.timedelta(hours=offset) html="In%s hour(s),it will be%s."%(offset,dt) return HttpResponse(html) (r'^foo/(?P\d+)/$','direct_to_template',{'template': 'foo_detail.html'}), #如果url对应的是None则返回410HTTP(不可用)错误 ('^foo/(?p\d+)/$','redirect_to',{'url':'/bar/%(id)s/'}),
TR069简明教程
1.为什么需要TR069 随着VoIP、IPTV等越来越多IP终端设备的普及(尤其在家庭中的普及),大量设备的配置和维护变得越来越困难,大大提高了网络产品运营商的成本,传统的基于SNMP的网管系统面对众多的终端设备时显得力不从心,限制了宽带接入市场的发展速度和规模。TR069定义了一套全新的网管体系结构,包括“管理模型”,“交互接口”,“管理参数”,在很大程度上减少了网络产品的运为成本。 2.什么是TR069协议 TR069是数字用户线(DSL)论坛(已改名为Bro adband Fo rum)制定的一个面向终端设备的网管协议,称为“用户终端设备广域网管理协议(CWMP)”,DSL论坛的文档编号为TR069。 3.TR069协议发展现状 自2004年5月DSL论坛推出该协议以来,各大运营商纷纷部署基于TR069的终端设备。但从协议的发展情况看,TR069仍然处于不断完善的过程中。 4.TR069协议网络架构 ACS为自动配置服务器,负责对终端设备CPE进行管理。ACS与CPE间的接口为南向接口,ACS与管理系统间的接口为北向接口。TR069协议主要定义了南向接口。
5.TR069的实现(协议栈) (1)TR069协议基于TCP层; (2)ACS与CPE间的消息传输使用HTTP1.1,ACS为HTTP服务器,CPE为HTTP客户端; (3)消息的具体内容使用SOAP包进行封装,SOAP包是一个包含SOAP Head(SOAP头)和SOAP Body(SOAP体)组成的XML文档
(4)ACS的管理方法就是对CPE上的管理函数进行远程调用,因此需要向CPE传输要调用的函数名及参数,这些内容包含在SOAP体中。ACS并不直接对设备本身的接口进行调用,ACS所使用的函数为TR069的标准函数(称作TR-069 RPC Methods),CPE需要通过一个设备上的中间层解析出RP C方法,再由这个中间层调用设备自身的接口,这个中间层就是TR069 Agent。 (5)使用SSL/TLS并不强制要求,确保CPE和ACS之间基于证书的鉴权 —————————————— CPE/ACS Management App —————————————— RPC Method —————————————— SOAP —————————————— HTTP 1.1 —————————————— SSL3.0 o rTLS1.0 —————————————— TCP/IP ——————————————
EndNote_9__简明教程_中文版
EndNote 9.0简明教程 一、简介 EndNote是一款用于海量文献管理和批量参考文献管理的工具软件,自问世起就成为科研界的必备武器。在前EndNote时代,文献复习阶段从各大数据库中搜集到的文献往往千头万绪、或重复或遗漏,难以管理,阅读所作的笔记则分散各处,难以高效地进行有机整合。到写论文时,大量的文献引用往往复杂异常,尤其修改时,牵一发而动全身。这些难题,EndNote可以凭一己之力,彻底解决。 学校里目前盛行的依然是EndNote 9.0,而功能更为强大的V10.0正版需要$100,显然不宜在我们中间推广。故本文以V9.0为主要介绍对象。它的安装对大家并不构成问题,只需要注意这类中文支持功能较弱的软件,安装路径最好纯由英文字母和数字构成。 打开EndNote 9.0,其界面如图1.1所示。“Reference Library”窗口显示文献的各个条项,单击条项名称(如"Author")按钮,所有记录就将按该条目顺序/逆序排列。预览窗口显示被选中文献的简单信息(图1.1中的预览格式是默认的"Annotated",在下拉菜单中还有其他的格式)。“显示/隐藏Preview”按钮则用于切换预览窗口的显/隐属性。 图1.1 EndNote 9.0 基本界面 下面根据我们的专业特点和需要,结合我使用EndNote的一些心得,介绍这个软件的基本操作。
二、建立和编辑Enl文献图书馆 EndNote数据库称为Reference Library,以*.enl格式存储,其中的数据存储于同名文件夹*.Data中。本文所举例子中的Library包括单记录图书馆“acedemic.enl”和数据文件夹“acedemic.Data”。 (1)新建enl File-->New,或者单击工具栏第一个按钮"New Library",都可以新建一个空白图书馆。 (2)打开既有enl File-->Open-->Open Libray,或者单击工具栏第二个按钮"Open Library...",都可以打开一个既有的enl图书馆。 (3)新建记录 Reference-->New Reference,或者在"Reference Library"窗口中右键-->"New Reference",都可以手动添加新记录。 (4)编辑记录 "Reference Library"窗口中双击选中的记录,或者右键"Edit References",都可以进行编辑。 编辑记录界面如图2.1所示。一般需要用到的条项包括Author、Year、Title、Journal、V olume、Issue、Pages、Keywords、Abstract,读书笔记记录在Note中,如果有全文pdf,可以将其链接添加到Link to PDF,并将附件链接到Image中,如果文摘是从网上数据库下载的,URL中可记录其出处。其余条项相对用得不多。 图2.1 EndNote记录编辑窗口 1) Author:每个作者列一行,格式可以是Ziaei, J. E.,Ziaei, J E,J E Ziaei,或者标准全