- 博客(189)
- 资源 (14)
- 收藏
- 关注
原创 HTML锚与链接
A元素锚与链接的区别锚(anchor)和链接(link)都是a元素,唯一不同的是有没有href attribute。在Firefox35,Chrome41中,只要a元素有name这个attribute,不管name有没有值,都是锚。但在IE中,如果name没有值,又没有href,则既不是锚也不是链接。在所有浏览器中,只要a元素有href属性,不管有没有值,都是链接。锚的创建与作用锚的作用是当URL
2015-04-17 17:58:28
5409
原创 快速回忆正则表达式
这不是入门级文章,但如果你对正则表达式有了解,或使用过,也许能帮助你快速回忆。阅读此文需要你之前使用过正则表达式或者有些了解,因为我没有写很多的例子。总结正则表达式,只是因为个人在几年的积累之后,想通俗简单的概述正则表达式是什么,能做什么。网上有很多关于正则表达式,但总感觉专业术语太多,读起来太拗口或绕弯子。最后两小节来自正则表达式30分钟入门教程,有部分修缮。正则表达式字符串由两种基本字符组成:
2015-04-12 18:34:50
3423
原创 M2Eclipse Plugin Execution Not Covered
M2Eclipse 0.12和早期版本会执行eclipse中Maven创建生命周期的部分周期,而且会基于MavenProject的执行后状态重新配置Eclipse项目。这些过程由goals控制,而这些goals有些配置在workspace级别,有些在project/.settings中。问题是这种方式并不是对所有的项目都有效,因此我们不得不需要刷新或更新依赖关系,更新配置和重新创建,使项目达到一个
2015-04-08 10:44:48
3556
原创 详解HttpURLConnection
请求响应流程设置连接参数的方法setAllowUserInteractionsetDoInputsetDoOutputsetIfModifiedSincesetUseCachessetDefaultAllowUserInteractionsetDefaultUseCaches设置请求头或响应头HTTP请求允许一个key带多个用逗号分开的values,但是HttpURLConnection只提供了单
2015-01-29 10:21:54
189698
16
原创 JSP页面,响应和请求编码全解
JSP页面编码Page character encoding指的是JSP文件和Tag文件本身的编码格式。如果web.xml中元素中配置了,页面上page指令的pageEncoding属性必须和web.xml中元素中的元素指定的page-encoding一致,否则会导致转换错误。也就是说配置和pageEncoding属性其实是等价的。如果page指令没有pageEncoding属性和配置,但有con
2015-01-04 16:08:25
6519
原创 HTTP URL最大长度
HTTP RFC2616协议没有规定URL的最大长度,但规定服务器如果不能处理太长的URL,就得返回414状态码(Request-URI Too Long)。HTTP RFC2616协议指出,某些旧的客户端或代理,可能无法处理超过255个字节的URI。既然HTTP协议没有规定URL的最大长度,那么URL的最大长度与用户的浏览器有关,同时和服务器能够处理的最大长度URL有关。站点地图协议(sitem
2014-12-11 14:53:13
42456
原创 HTTP Cache如何计算Age
这里的Age指的是响应头Age,下面内容有部分翻译,也有部分自己的理解,欢迎讨论。我们用now表示当前主机的当前时间,用request_time表示缓存发起请求的时间,用response_time表示缓存收到响应的时间。HTTP/1.1要求源服务器的每一个响应都包含一个Date头信息,表示这个响应被源服务器创建的时间,我们用date_value表示这个Date头的值。HTTP/1.1使用Age响应
2014-11-13 13:45:02
7969
原创 JavaScript类继承实现之一
网上各博客论坛出现了很多JavaScript的类继承方法,浏览了一些,不是没注释,就是没有运行效果,于是自己写了个简洁易懂的版本,附带测试代码在最下面。刚不小心删除了该文章,因此重新补上,另外加强了示例。(function() { Function.prototype.extend = function(baseClass) { // this is a
2014-11-06 15:43:54
2503
1
转载 HTML图形字符集
使用方法:这些字符属于unicode字符集,所以,你的文档需要声明为UTF-8;下面符号列表的后面有两列编号,它们并不太一样,第一列是用于HTML的,你需要在前面加上&#符号; 例如:⇠第二列可以用于CSS文件中,但是需要用反斜杠\转义; 例如:\8672第二列也可以用于JavaScript,和CSS用法一样,不过要用\u来转义。需要注意的是:有的字符在不同
2014-11-05 14:58:33
2035
原创 makefile入门
Makefile语法规则在Makefile中,规则的顺序是很重要的,因为,Makefile中只应该有一个最终目标,其它的目标都是被这个目标所连带出来的,所以一定要让make知道你的最终目标是什么。一般来说,定义在Makefile中的目标可能会有很多,但是第一条规则中的目标将被确立为最终的目标。如果第一条规则中的目标有很多个,那么,第一个目标会成为最终的目标。make所完成的也就是这个目
2014-09-18 15:44:55
3293
原创 package.json字段全解
Name必须字段。小提示:l 不要在name中包含js, node字样;l 这个名字最终会是URL的一部分,命令行的参数,目录名,所以不能以点号或下划线开头;l 这个名字可能在require()方法中被调用,所以应该尽可能短;Version必须字段。Description可选字段,必须是字符串。npm search的时候会用到。Keywords可选
2014-09-15 16:30:49
94156
原创 深入解析DataTable如何过滤
此DataTable指的是SpryMedia专为HTML Table设计和开发的页面插件,官方站点是:http://legacy.datatables.net/index。关于oSettings.aiDisplayMaster, oSettings.aiDisplay与oSettings.aoData无论是从JSON中获取的行数据,还是从DOM元素中获取的行数据,在表初始化之后,皆存储
2014-07-03 15:49:09
15510
原创 适配器模式
适配器模式定义保留现有类所提供的服务,通过适配器,将一个类的接口转换成客户希望的另一个接口,使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。有了适配器,客户不再直接调用现有类的服务,而是调用适配器的通用服务。至于如何组织现有类的服务,则客户不用关心,完全由适配器自己去完成。对象适配器模式类图l Client:客户,调用适配器Adatpor的用户;
2014-03-25 14:07:33
1637
原创 RequireJS
AMD异步模块定义(AMD)的整体目的是提供模块化的JavaScript解决方案。关键概念模块定义define( module_id /* optional */ , ["foo", "bar"] /* dependencies,optional */, function (foo, bar) {})["foo","bar"]是module依赖的其他模块
2014-03-20 14:52:17
11670
原创 命令模式
定义在软件系统中,“行为请求者”与“行为实现者”通常是紧耦合,即行为请求者直接调用行为实现者。这种紧耦合情况下,如果要对行为进行:记录、撤销/重做、事务等处理,非常苦难,因为很可能需要修改实现者的代码。通过传送命令的方式将行为请求者与行为实现者解耦,这就是命令模式。类结构图Command:定义命令的接口,一般就是声明execute方法;ConcreteComma
2014-03-11 13:55:09
1804
原创 Builder模式
Builder模式定义生成器模式也称为建造者模式。生成器模式的意图在于将一个复杂的构建过程和产品相分离,使得同样的构建过程可以创建不同的产品。在软件设计中,有时候面临着一个非常复杂的对象的创建工作。这个复杂的对象通常可以分成几个较小的部分,由各个子对象组合出这个复杂对象的过程相对来说比较稳定,但是子对象的创建过程各不相同并且可能面临变化。好在这个复杂对象的组装过程是不变的,因此可以
2014-02-28 15:31:16
1665
原创 组合模式
定义将对象以树形结构组织起来,以达成“部分-整体” 的层次结构,使得客户端对单个对象和组合对象的使用具有一致性。组合体内这些对象都有共同接口,当组合体一个对象的方法被调用执行时,Composite将遍历(Iterator)整个树形结构,寻找同样包含这个方法的对象并实现调用执行。可以用牵一动百来形容。比如连锁店,连锁店在各个大地区一般都有一个总店。你在A店(总店)办了会员卡,在B店(分店
2014-02-28 15:03:30
1886
1
原创 Java的Service Provider Interface(SPI)
SPI是Java 1.5新添加的一个内置标准,允许不同的开发者去实现某个特定的服务。一个Service就是一套著名的接口或抽象类,而Service Provider是这个Service的一个特定实现类。Service Provider按Service接口分类,同一个Service只能有一个实现类被注册。因为在实际中,Service都是单例的。如果同时注册了多了,后面的Service Prov
2014-01-09 22:16:10
4226
原创 Log4j 2 XML 配置
如果你在使用XML配置Log4j,当你在查看Apache官网时你一定会很奇怪,为什么会有两种不同的风格,分别使用了不同的元素。
2013-10-22 23:19:19
8253
翻译 Tomcat类加载器
所有的类加载器都继承自java.lang.ClassLoader。在java环境中,类加载器是按父子节点安排的。通常情况下,某个类加载器被请求加载某个类或资源时,首先是把这个请求反馈给父的类加载器,让父的类加载器去寻找;如果父的加载器没有找到然后才是自己找。Web应用程序的类加载器则与java环境中的加载过程有点不同。以Tomcat为例: Bootstrap
2013-10-17 16:58:57
2560
原创 Servlet的生命周期与并发处理
对于单个servlet来说,其生命周期相当简单:请求来临时,servlet容器根据请求路径匹配对应的servlet定义,调用构造函数实例化servlet。实例化之后,再调用servlet的init()方法进行初始化;如果初始化成功,就调用servlet的service()方法处理请求。请求处理完后,servlet的destroy()方法被调用。根据API的说明,只有当servelt的init方
2013-10-11 14:45:32
5874
原创 DataTable在支持滚动时的实现方式与遗留问题
这里的DataTable指的是http://www.datatables.net/的DataTable工具。DataTable在实现时,一共使用了两种方式:l 支持水平或垂直滚动;l 不支持水平或垂直滚动;这两种方式的实现方式是完全不同的。后一种不支持滚动的DataTable,数据和列标题都是在同一个HTML Table元素中。这种永远也不会出现标题列和数据列对不齐的问题。
2013-10-10 16:56:10
15984
1
原创 Geronimo3.0中配置默认的security
在Geronimo服务器中,基本的安全配置分成两个插件: j2ee-security和server-security-config。其中jaac provider和keystore manager在j2ee-security中,这部分通常是不需要改的。非常有可能需要改变的在server-secrity-config中。RealmsGeronimo有四种不同类型的securityreal
2013-08-12 22:54:51
2497
原创 Maven POM入门
Super POM(project object model)Maven内置了一个默认的POM(不在项目中,因此不可见),每一个project都会继承自这个默认的POM,因此叫Super POM。除非在项目的配置(POM)中显式的修改,否则使用默认的配置。不同的Maven版本,默认的POM也不一样,遇到问题则需要自己检查。最小的POM一个project就是一个artifact,pr
2013-06-25 15:32:42
10107
原创 War包
war是一个JAR文件,其内容包含: JSP页面,JavaServlet,Java classes,XML文件,标签库,静态页面以及其它组成(constitute)Web应用程序的资源。结构特征 一个web.xml文件; 所有的JAR文件放在/WEB-INF/lib目录中;所有的.class文件放在/WEB-INF/classes目录中。META-INF这个目录直接放在war中,与
2013-05-24 23:45:58
14667
原创 XML Schema(XSD)
XML Schema只是XMLSchema语言当中的一种。因为容易与XML相混淆,有些人叫WXS(W3C XML Schema),有些人叫XSD(XMLSchema Definition)。XML Schema就是写一套规则来约束一个XML文档必须遵循的规范。但与其它Schema不同的是,XSD还会验证数据类型(datatypes)。验证后的这些反馈信息集对于XML文件处理软件来说非常有用,不
2013-04-18 19:21:44
2522
原创 三种Web语义化框架的比较
将要描述的三种We语义化技术分别是RDFa、Microformat和Microdata,除了RDFa比较繁锁,而且主要是为XML文档服务,Microformat和Microdata都更适合HTML。Microformat和Microdata各有优缺点。Microformat在于重用现在的属性和元素,而microdata则是通过在元素上添加4个属性来完成了。资源描述框架-in-attribute
2013-04-14 17:48:03
3963
翻译 在HTML5中如何提高网站前端性能
1. 用web storage替换cookiesCookie最大的问题是每次都会跟在请求后面。在HTML5中,用sessionStorage和localStorage把用户数据直接在客户端,这样可以减少HTTP请求的数据量。而且Web storage还提供了API来操作数据,不像cookie,还得自己写。 // if localStorage is present, use th
2013-04-11 15:31:32
3274
原创 初步认识Backbone.js
作为一个轻量级MVC框架,如果是与后端交互比较频繁的站点使用这个框架,其效果是很显著的。从我个人角度而言,这个框架适合微博这类的实时性比较强并且牵扯用户信息比较多的网站,据说豆瓣的阿尔法城也是用这个框架做的。如果从它的原理出发,我觉得是模仿或抄袭了ActionScript的PureMVC框架,但又有自己的特点,因为它融合了HTML DOM的特征,这点从它视图的events中可以看出。框架应
2013-03-13 00:31:04
2731
原创 获取元素在body中的绝对位置
原理: body的offsetParent返回的是null。/** * Get element's absolute coordinate in body */window.getAbsCoordinates=function(e){ var pos = {top: 0, left: 0}; while(e){ pos.left += e.
2013-03-12 15:58:24
3270
转载 大多数重构可以避免
这篇文章的内容其实是我一直想说的,郭昂写的即全又现实。领导都怕重构的,其实也没并要一开始就大刀阔斧的重构,一般来说可以在实现新功能时就一边重构一边做新的功能。慢慢的,那些旧的过时的代码自然也会被淘汰的。郭昂在前后两家公司的工作中,主持和经历十余次重构,涉及代码和架构。在他看来,如果不做重构,任代码随意膨胀,就会产生糟糕的架构,其恶劣影响包括:首先是开发效率的降低,在糟糕架构下加进新
2013-03-12 14:11:57
1490
原创 offsetHeight, clientHeight与scrollHeight的区别
在网上搜了一下,结论非常笼统,讲IE从不讲版本,因此自己做了测试并上传结论。以下结论皆是在标准模式下测试通过的,没有测试quirk模式。clientHeight大部分浏览器对 clientHeight 都没有什么异议,都认为是内容可视区域的高度,也就是说页面浏览器中可以看到内容的这个区域的高度,即然是指可看到内容的区域,滚动条不算在内。但要注意padding是算在内。其计算方式
2013-03-05 16:26:00
33547
转载 IE6 Cookie丢失问题
今天特意花了1个多小时查找虚机中IE6Cookie丢失问题,与传说中的20Key限制描述吻合当然这是经过不断的观察和测试后得出的结论,感谢我亲爱的同事吧!,仅IE6存在这个问题,其它浏览器没有关系同域下,写入多于18个Cookie的Key后,会像栈一样,先进先出,即第19个Cookie写入成功,第1个Cookie会被自动Remove代码较简单,知道问题产生的原因后解决办法也无所谓了,不
2013-02-20 16:40:58
1890
原创 WEB Storage
目前标准的有sessionStorage和localStorage。sessionStorage在浏览器打开期间,页面会话是持续存在的,哪怕页面重新加载(reload)或页面还原(restore)。只要是同一个站点的页面,不管打开多少个窗口,它们之间都共享同一个sessionStorage。之所以有sessionStorage,是因为cookie在session数据存储方面做的不到位,
2013-02-18 17:47:04
2413
原创 jQuery插件 SlabText的实现原理
这个算法是针对英文文本而言的。第一步:初始计算初始计算将需要用到3个常量来约束初始计算的结果。第一个是字体单个字符的平均长宽比。因为字符的高度容易获取,一行的字数也容易获取,难的是一行中每个字符的宽度。实现:1、假设某种字体的平均长度比为.44518217(每种字体它的平均字符长度比通常是不一样的)。实现:2、字符的高度其实就是字体大小,也就是font-size
2013-01-14 16:48:29
1721
原创 为什么jQuery是用toString来判断数据类型,而不是typeof或instanceof
// Numberstypeof37 === 'number';typeof3.14 === 'number';typeofMath.LN2 === 'number';typeofInfinity === 'number';typeofNaN === 'number';// Despite being "Not-A-Number"typeofNumber(1) === 'number'
2013-01-10 11:41:46
15634
原创 JavaScript严格模式
Strict mode是JavaScript1.8.5引进的技术,但还没有浏览器确实可靠的实现了严格模式,所以使用时要小心并且多测试。Strict mode可以应用于整个脚本,也可以适合于单个函数。激活strict mode整个脚本在其它所有语句前,放置”use strict”;单个函数把”use strict;放置在函数体的最前面。严格模式中的变化把mistake
2012-12-21 15:43:18
1676
原创 前端开发所应该知道的HTTP
HTTP Message一共只有两种HTTPmessages:HTTP-message = Request | Response ; HTTP/1.1 messagesMessage的格式如下:generic-message = start-line *(message-header CRLF) CRLF
2012-12-20 18:00:19
1793
原创 闭包
数学数学中,对一个集合的成员进行某种运算,生成的结果仍然是这个集合中的成员,则该集合被称为在某个运算下闭合。例如,实数在减法下闭合,但自然数不行:自然数3和7的减法3-7的结果不是自然数。类似的,一个集体被称为在某些运算的搜集下闭合,如果它在每个运算(前面提及的某些运算中的每个)下独立闭合。闭包性质:一个集合在某个运算或某些运算的搜集下闭合,则称为满足闭包性质。计算机科学闭
2012-12-18 14:44:17
1323
原创 px,pt, em, percent的区别
px就是像素,与屏幕的分辨率有关;而pt就是point(磅),是印刷行业常用单位,等于1/72英寸。先看下面一个例子:文字72px文字72pt文字96px在网页中,1px=0.75pt,也就是说12pt=16px。在网上有些文章中中会提到DPI(或PPI)这个东西,DPI就是指每英寸的像素个数,如96DPI就是指每英寸有96个像素。在Window XP系统中,这是一个默认的DP
2012-12-06 16:36:08
4526
注册表大全(最优注册表学习教材)
2008-12-28
HIbernateSynchronizer
2009-02-22
J2SE 1.5 API CHM
2016-01-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅