[jQuery] DOM操作

1. DOM操作分类1.1 DOM CoreDOM Core不专属于JavaScript,任何支持DOM的程序设计语言都可以使用。JavaScript中的getElementById()、getElemetsByTagName()、getAttribute()和setAttribute()等方法,都是DOM Core的组成部分。1.2 HTML DOM在使用JavaScript和DOM为HTML文

原创 推荐 点赞0 阅读977 收藏0 评论0 2013-08-10

[XSS] 51CTO博客IE6跨站漏洞解析

在编辑旧的博文时,发现新版编辑器插入特定HTML代码不能正确显示。比如“<script type="text/javascript" src="test.js"></script>”或者“<link rel="stylesheet" type="text/css" href="t

原创 点赞1 阅读716 收藏0 评论0 2013-07-23

[jQuery] 选择器

1. 基本选择器基本选择器是jQuery中最常用的选择器,也是最简单的选择器,它通过元素id、class和标签名等来查找DOM元素。如下表:选择器描述返回示例#id根据给定的id匹配一个元素。单个元素$("#myID").class根据给定的类名匹配元素。集合元素$(".myClass")element根据给定的元素名匹配元素。集合元素$("div

原创 点赞0 阅读542 收藏0 评论0 2013-07-03

[jQuery] 基础知识

1. jQuery简介jQuery是继prototype之后又一个优秀的JavaScript库,是一个由John Resig创建于2006年的开源项目,现在的jQuery团队主要包括核心库、UI和插件等开发人员以及推广和网站设计维护人员。jQuery凭借简洁的语法和跨平台的兼容性,极大地简化了JavaScript开发人员遍历HTML文档、操作DOM、处理事件、执行动画和开发Ajax的操作。2. j

原创 点赞0 阅读418 收藏0 评论0 2013-06-02

[Ruby] 单元测试

1. Test::Unit框架Test::Unit框架基本上是将3个功能包装到一个整洁的包中:1) 它提供了一种表示单个测试的方式。2) 它提供了一个框架来组织测试。3) 它提供了灵活的方式来调用测试。Test::Unit提供一系列断言来达到与if语句相同的目标,虽然存在许多不同风格的断言,但是它们基本上都遵循相同的模式,例如:require 'test/unit' Cl

原创 点赞0 阅读1977 收藏0 评论0 2013-05-19

[Ruby] 线程和进程

1. 创建线程可以使用Thread.new调用来创建新线程,为它提供一个含有将要在新线程中运行的block,例如:require 'net/http' pages = %w(www.baidu.com www.google.com) threads = [] for page_to_fetch in&n

原创 点赞1 阅读3772 收藏0 评论2 2013-05-13

[Ruby] 基本输入和输出

1. 文件打开和关闭Ruby定义了一个IO基类来处理输入和输出。类File和BasicSocket都是该基类的子类。IO对象是Ruby程序和某些外部资源之间的一个双向通道。可以使用File.new创建一个新的文件对象,例如:file = File.new('testfile', 'r') file.close根据打开模式,可以创建一个用

原创 点赞0 阅读972 收藏0 评论0 2013-04-21

[Node] 重要外部模块

1. ExpressExpress(Node的MVC框架)是使用最广泛的Node模块,它吸取了Ruby的Sinatra框架的精髓,并提供了许多功能。Express使用路由定义的页面处理器来工作。路由可以是一个简单的路径,也可以比较复杂,例如:var express = require('express'); var app =&nb

原创 点赞0 阅读633 收藏0 评论0 2013-04-13

[Node] 数据访问

1. NoSQL和文档1.1 CouchDBCouchDB提供了JavaScript环境下基于MVCC的文档存储。在CouchDB里添加或修改文档时,整个数据集都会保存到存储上,并且把老版本标记为过时的。每当创建一个完整的新版本时,都会写入到连续的内存中。CouchDB的一大优点是,它的API全都是HTTP接口。因此我们可以直接对数据库操作,而不需要借助于其他客户端,例如:var htt

原创 点赞0 阅读1270 收藏0 评论0 2013-04-10

[Node] 工具类API

1. 加密1.1 HashingNode的加密算法是以OpenSSL库为基础的,所以需要在编译Node的时候指定添加OpenSSL支持,才能使用加密算法。要在Node里使用哈希,需要调用工厂方法crypto.createHash()来创建一个Hash对象。它会返回指定哈希算法的Hash新实例,几个常见的算法有:md5、sha1、sha256、sha512、ripemd160。在哈希中使用数据时,可

原创 点赞0 阅读395 收藏0 评论0 2013-04-07

[Node] 核心API

1. Events1.1 EventEmitter因为在浏览器中Event模型是绑定在DOM上的,所以Node创建了EventEmitter类来提供基础的事件功能。所有Node的事件功能围绕着EventEmitter,它通常不会直接调用。EventEmitter类提供了一系列方法,最主要的两个是on和emit。on方法为事件创建了监听器,例如:server.on('event',&

原创 点赞0 阅读318 收藏0 评论0 2013-04-06

[Node] 基础知识

1. Node特性Node的功能强大,它将JavaScript扩展到了更多领域,特别是后端网站服务器开发。它是对高性能V8引擎的封装,通过提供一系列优化的API类库,使V8在浏览器之外依然能高效运行。Node的一大特性是对高性能的追求。首先,V8采用了编译领域的一些最新技术,使代码运行效率能够接近C等底层语言。其次,Node利用了JavaScript的事件驱动特性来构建高度可扩展的服务器程序,它采

原创 点赞0 阅读437 收藏0 评论0 2013-04-05

[测试案例] 多线程的异常测试

1. 场景描述某邮件系统的黑盒测试。该系统主要由Java语言编写,包含一个主进程、十个邮件发送子线程和完成其他功能的若干子线程。每个邮件发送线程均会定时轮询内存缓存中的邮件队列,若队列不为空,则从中读取一条邮件数据,经过处理后调用邮件服务商的接口完成邮件的发送。单条邮件数据由一个JSON字符串构成,该字符串包含了所有邮件发送需要的相关信息。邮件发送线程在处理邮件数据前必须先对JSON字符串进行解析

原创 推荐 点赞2 阅读1023 收藏0 评论1 2013-03-18

[Ruby] 模块

1. 命名空间模块定义了一个命名空间,方法和常量可以在其中任意使用而不必担心被其他方法或常量干扰,例如:module Test   def Test.method()   end end模块常量的命名和类常量一样,都以大写字母开头,方法定义类似于类方法的定义。如果第三方的程序想要使用这些模块,可以简单地加载这两个文件,并引用它们的完整名称

原创 点赞0 阅读608 收藏0 评论0 2013-03-10

[Linux] sed编辑器

1. 语法sed工具从命令行所指定的文件或标准输入中获取输入流,除非明确指定输出目标,否则sed将把结果输出到标准输出。sed的命令行语法如下:sed [-n] program [file-list] sed [-n] -f program-file [file-list]参数program指命令行中的sed程序,参数progr

原创 点赞0 阅读359 收藏0 评论0 2013-03-02

[Linux] gawk模式处理语言

1. 语法gawk工具从命令行上指定的文件中或从标准输入获取输入,也可以与另一个程序进行交互或通过网络交换数据,除非将gawk的输出重定向,否则它将被送往标准输出。gawk命令行的语法如下:gawk [options] [program] [file-list] gawk [options] -f program-file [f

原创 点赞1 阅读390 收藏0 评论1 2013-02-02

[Linux] BASH程序设计

1. 控制结构1.1 if...thenif...then控制结构的语法如下:if test-command then   commands fiif 语句测试test-command返回的状态,并基于这个状态转移控制。if结构的结束由fi语句标记,例如:echo -n "Word 1: " read&nbs

原创 点赞0 阅读1110 收藏0 评论0 2013-01-27

[Ruby] 异常捕获

1. 异常类含有异常信息的数据包是Exception类、或其子类的一个对象。当需要引发异常时,可以使用某个内建的Exception类,或者创建自己的异常类。每个Exception都关联有一个消息字符串和栈回溯信息。如果定义自己的异常,可以添加额外的信息。当对操作系统的调用返回错误码时,会引发系统错误。Ruby得到这些错误,把每个错误包装到特定对象中,它们都是SystemCallError的子类,定

原创 推荐 点赞1 阅读2711 收藏0 评论1 2013-01-06

[Ruby] 表达式

1. 运算符表达式Ruby提供了基本的运算符集,也提供了几个独特的运算符。Ruby中的许多运算符是由方法调用来实现的。例如,当执行"a*b+c"时,实际上是请求a对象执行方法*,传入的参数是b。因为任何东西都是对象,而且可以重新定义实例方法,所以可以重新定义任何基本算术方法,例如:class Fixnum   def +(other) &

原创 点赞0 阅读553 收藏0 评论0 2012-12-28

[Ruby] 类型和方法

1. 标准类型1.1 数字Ruby支持整数和浮点数。整数可以是任何长度,一定范围内的整数在内部以二进制形式存储,它们是Fixnum类的对象,范围之外的整数存储在Bugnum类的对象中。Ruby会自动管理它们之间的来回转换。在书写整数时,可以使用一个可选的前导符号,可选的进制指示符(0b表示二进制,0表示八进制,0d表示十进制,0x表示十六进制),后面跟一趾符合适当进制的数字,下划线在数字串中被忽略

原创 推荐 点赞2 阅读1482 收藏0 评论2 2012-12-23

[Ruby] 类和容器

1. 类1.1 创建类在Ruby中创建一个类的例子如下:class Test   def initialize(name)     @name = name   end endinitialize是一个特殊的方法。当调用Test.new时,Ruby首先分配一些内存来保存未初始化的

原创 点赞0 阅读553 收藏0 评论0 2012-12-17

[Ruby] 基础知识

1. 面向对象1.1 对象Ruby是面向对象语言,所操作的每件东西都是对象,操作结果本身也是对象。在Ruby里,需要定义类来表示实体。类是状态和使用这些状态的方法的组合。一旦建立了类,通常要为每个类创建若干个实例。在Ruby中,通过调用构造函数来创建对象,标准的构造函数被称为new,例如:obj = MyClass.new()每个对象都有一个唯一的对象标识符,可以定义一些实例变

原创 点赞1 阅读683 收藏0 评论0 2012-12-10

[Linux] Bourne Again Shell

1. Shell基础1.1 初始化文件当启动shell,它将运行初始化文件,具体文件取决于该shell是一个登录shell还是一个非登录shell的交互式shell(如通过命令bash),又或者是一个非交互式shell(用来执行shell脚本)。登录shell或带"--login"选项的shell包含如下初始化文件:1) /etc/profile: shell首先执行/etc/

原创 点赞0 阅读1202 收藏0 评论0 2012-12-04

[Linux] vim编辑器

1. 创建和编辑1.1 启动vim使用vim命令可以启动vim,如下所示:该命令可以实现文件test.txt的编辑和创建,vim的界面如下:屏幕左端的代字符"~"表明文件的空行,当用户向空行添加文本行时,代字符就会消失。1.2 命令模式和输入模式vim有两个模式:命令模式和输入模式。当vim处于命令模式,可输入vim命令,如删除、退出。可以通过输入命令将vim切换到输入模式,在

原创 点赞0 阅读1465 收藏0 评论0 2012-11-22

[Linux] shell

1. 命令行1.1 语法命令行语法说明了行中各个元素的排列顺序和间隔方式。命令行上基本语法格式如下:command [arg1] [arg2]...[argn] RETURN命令行上采用一个或多个空格来隔开每个元素。其中,command为命令的名字,arg1到argn为命令参数,RETURN是终止命令的按键。命令行上,每一串不含空格字符的字符序列称为记号或字。参数是一

原创 点赞0 阅读560 收藏0 评论0 2012-11-11

[JavaScript] 错误处理

1. try-catchECMA-262第3版引入了try-catch语句,基本的语法如下所示:try { } catch(error) { }如果try块中的任何代码发生错误,就会立即执行catch块。此时,catch块会接收到一个包含错误信息的对象。即使不使用这个错误对象,也要起个名字,对象中包含的实际信息因浏览器而异,但共同的是一个保存错误消息的message属性,ECM

原创 推荐 点赞1 阅读537 收藏0 评论2 2012-11-05

[JavaScript] 表单脚本

1. 表单1.1 获得表单在HTML中,表单是由<form>元素来表示的,而在JavaScript中,表单对应的则是HTMLFormElement类型。HTMLFormElement继承了HTMLElement,因而与其他HTML元素具有相同的默认属性,此外,HTMLFormElement也有它自己独有的属性和方法:1) acceptCharset: 服务器能够处理的字符集。2) ac

原创 点赞0 阅读356 收藏0 评论0 2012-10-29

[JavaScript] 事件

1. 事件流1.1 javascript事件javascript与HTML之间的交互是通过事件实现的。事件就是文档或浏览器窗口中发生的一些特定的交互瞬间。可以使用侦听器来处理事件,以便事件发生时执行相应的代码。事件流描述的是从页面中接收事件的顺序,IE的事件流是冒泡流,而Netscape Communicator的事件流是事件捕获流。1.2 事件冒泡IE的事件流叫做事件冒泡,即事件开始时由最具体的

原创 点赞0 阅读711 收藏0 评论0 2012-10-23

[Linux] 文件系统

1. 文件目录1.1 分层文件系统分层结构如家族的组织结构,一对夫妇可能有一个或多个孩子,而每个孩子又可能有更多孩子,该分层结构称为家族树。Linux文件系统也称为树,由一系列相互关联的文件组成。在标准的Linux系统上,每个用户都有一个自己的目录,在此目录下,用户可以建立多个子目录,子目录下又可建立子目录。对于文件树,向上是指靠近根,向下是指远离根,相连的两个目录,靠近根的称为父目录,远离根的称

原创 点赞0 阅读343 收藏0 评论0 2012-10-18

[Linux] 命令行工具

1. 基本工具1.1 特殊字符shell的特殊字符有:&、;、|、*、?、'、"、`、[、]、(、)、$、<、>、{、}、^、#、/、\、%、!、~、+。要将这些具有特殊含义的字符当作普通字符使用,可对它们转义使用,在特殊字符前加反斜杠" \ "即可。要将连续的两个或多个特殊字符转义,必须在每个字符前加一个反斜杠。转义删除字符(CONTRO

原创 点赞0 阅读898 收藏0 评论0 2012-10-11
写文章