12 2012 档案

摘要:psql命令:\df,\do查看可以用的function和operators。1.逻辑操作符逻辑操作符:AND、OR、NOT 布尔值:TRUE、FLASE、NULL。NULL代表未知1、注意表达式的计算顺序,如select not true and false; -- false== select (not true) and false; -- false!= select not (true and false); -- trueselect not false or false and false; -- true== select (not false) or (false and f 阅读全文
posted @ 2012-12-28 16:39 lanse_yan 阅读(320) 评论(0) 推荐(0) 编辑
摘要:logger是一个shell命令,使用该命令可以调用linux的日志功能,并往日志文件中写入一行日志。日志的相关设置在/etc/syslog.conf(也可能是rsyslog.conf)中。关于rotate log的设置在/etc/logrotate.conf中。(相关内容可以参考http://blog.csdn.net/cjwid/article/details/1690101) 阅读全文
posted @ 2012-12-24 17:47 lanse_yan 阅读(190) 评论(0) 推荐(0) 编辑
摘要:1.作用链本质上是一共指向变量对象的指针列表,它只引用但不实际包含变量对象。2.闭包(有权访问另一函数作用域中的变量的函数,常见的形式就是在一个函数的内部创建另一个函数)会携带包含它的函数的作用域,因此会比其他函数占用更多的内存,建议少用闭包。3.闭包只能取得包含函数中的任何变量的最后一个值。个人觉得这一点刚好验证了第一点。正因为是引用,所以只会外部函数的变量对象中的最后的值。4.闭包中的this指的是window,argument是[].要想访问作用域总的argument对象,必须将该对象的引用保存到另一个闭包能够访问的变量中。5.闭包和匿名函数不是一个概念。6.闭包中的this通常指的是w 阅读全文
posted @ 2012-12-19 16:07 lanse_yan 阅读(165) 评论(0) 推荐(0) 编辑
摘要:psql命令:\df,\do查看可以用的function和operators。1.逻辑操作符 and or not2.比较操作符<>和!=是完全等价的,在分析阶段,!=被转换成<>a between x and y 等效于 a>=x and a<=y判断值是否为空,expression IS NULL或者expression ISNULL,不要写成expression = null,因为null是表示未知值,两个未知值是无法判断是否相等的。如果一定要这么用的话,可以配置postgresql.conf中的transform_null_equals,如果是ena 阅读全文
posted @ 2012-12-19 13:54 lanse_yan 阅读(288) 评论(0) 推荐(0) 编辑
摘要:原型链模式和组合继承模式的区别就在于:继承模式中调用了两次基类的构造函数,结果实例中的属性就屏蔽了原型中的同名属性(这样做可以避免各个实例共享的引用实例相互影响)。组合继承是javascript中最常用的继承模式。例如View Code 1 function Person(name){ 2 this.name = name; 3 this.colors = ["red","blue","white"]; 4 } 5 Person.prototype.sayName = function(){ 6 return this.name; 7 阅读全文
posted @ 2012-12-14 18:02 lanse_yan 阅读(188) 评论(0) 推荐(0) 编辑
摘要:1.整数类型smallint(int2) 2bytesinteger(int,int4) 4bytesbigint(int8) 8bytes2.任意精度数值numeric(precision,scale),用于精确的货币和科学计算。eg:23.5141,precision=6,scale-4如果指定,precision最大值为1000,如果numeric中没有指定precious,小数点前最多有131072个数字,小数点后最多有16383个数字。如果插入的数值大于(precision-scale)的平方值,会报错如果插入的数值的小数位数多余scale,则会四舍五入。numeric物理存储上类似 阅读全文
posted @ 2012-12-14 16:01 lanse_yan 阅读(4588) 评论(0) 推荐(0) 编辑
摘要:1.prototype前面在提到Function类型的属性提到了length和prototype,prototype属性是一个非常重要的属性。这个属性是一个指针,指向一个对象。该对象的用途是包含可以由特定类型的所有实例共享的属性和方法,即指向函数的原型对象。这个原型对象中有个一个constructor属性,指向prototype属性所在函数的指针。做如下测试:function Person(){}Person.prototype.name = "nick";alert(Person.prototype.constructor);结果输出的是Person的构造函数。也就是说P 阅读全文
posted @ 2012-12-13 16:17 lanse_yan 阅读(171) 评论(0) 推荐(0) 编辑
摘要:sql标识符和关键字必须以字母(a-z以及带变音符的字母和非拉丁字母)或下划线(_),其后的字母可以是字母,下划线,数字或美元符($)。$不是sq标准中的字母。系统使用不超过NAMEDATALEN-1个字节的标识符,更长的名字可以出现在command中,但是会被截断。默认情况下,NAMEDATALEN=64,所以标识符的最大长度是63bytes。可以通过修改文件src/include/pg_config_manual.h修改NAMEDATALEN。标识符和关键字大小写是不敏感的。还有一种标识符是:分隔符和引号。是由引号包围的任意字符组成的。分隔符也是一种标识符,不是一个关键字,所以" 阅读全文
posted @ 2012-12-13 13:11 lanse_yan 阅读(5926) 评论(0) 推荐(0) 编辑
摘要:众所周知,struts2中使用了大量的拦截器(即是传说中的interceptor),其中默认的拦截器可以参见struts2源码中的struts-default.xml文件,如下图可以看到,其中国际化使用的拦截器为com.opensymphony.xwork2.interceptor.I18nInterceptor,那么接下来分析一下I18nInterceptor这个类。一.属性I18nInterceptor有三个属性,分别为parameterName,requestOnlyParameterName,attributeName。parameterName:http request请求中的参数名 阅读全文
posted @ 2012-12-12 16:38 lanse_yan 阅读(3006) 评论(0) 推荐(0) 编辑
摘要:1.min()和max()方法用于确定一组值中的最小值和最大值。例如var max = Math.max(45,69,2);//max=69 var min = Math.min(45,69,2);//min =22.舍入方法(小数值舍入返回整数) Math.ceil():向上舍入 Math.floor():向下舍入 Math.round():四舍五入3.random()方法 Math.random()方法返回介于0和1之间的一个随机数,不包括0和1。利用此方法可以从某个整数范围内随机选择一个值:值=Math.floor(Math.random() * 可能值的总数 + 第一个可能的... 阅读全文
posted @ 2012-12-11 17:38 lanse_yan 阅读(188) 评论(0) 推荐(0) 编辑
摘要:搞清楚了java国际化程序的原理,现在理解struts中国际化就比较快了。个人感觉最重要的是要搞清楚资源文件的加载顺利,其实用法比较简单。struts2架构的web项目,locale是用户设置的browser语言来生成的。正常情况下和java国际化程序中寻找资源文件的顺序是一样的,只不过由于程序是运行在jvm上,web程序可以通过配置jvm来修改语言和地区。jvm 默认采用操作系统的语言国家设置 。假如使用的web server是GlassFish,通过修改<jvm-options>-Duser.language= -Duser.region= -Duser.variant= &l 阅读全文
posted @ 2012-12-11 15:15 lanse_yan 阅读(862) 评论(0) 推荐(0) 编辑
摘要:国际化又被称为I18N,因为国际化的英文是Internationalization,它以I开头,以N结尾,中间有18个字母。一个国际化的程序,当它运行在本地机器时,需要根据本地机器的语言和地区设置显示相应的字符,这个过程就叫做本地化(Localization),通常简称为:L10N 说到struts2中的国际化,不得不先提到java程序的国际化,因为struts2再怎么变化,也是将最基础的东西进行了封装,让用户用起来更方便。同时,封装也带来一个问题:当运用struts2中的国际化时出错了,无法调试,无法确定错误的位置。 1.java国际化程序 在java中编写国际化程序主要通过两个... 阅读全文
posted @ 2012-12-11 14:58 lanse_yan 阅读(685) 评论(1) 推荐(0) 编辑
摘要:Appendix A.PostgreSQL错误码转自http://lindows.iteye.com/blog/463593PostgreSQL服务器发出的所有消息都赋予了五个字符 的错误代码, 这些代码遵循 SQL 的"SQLSTATE"代码的习惯。需要知道发生了什么错误条件的应用通常应该测试错误代码, 而不是查看文本错误信息。这些错误 代码轻易不会随着PostgreSQL的版本更新而修改, 并且一般也不会随着错误信息的本地化而发生修改。 请注意有些,但不是全部,PostgreSQL生成的错误代码是由 SQL 标准定义的; 有些标准没有定义的错误条件是我们发明的或者是从其 阅读全文
posted @ 2012-12-06 18:25 lanse_yan 阅读(941) 评论(0) 推荐(0) 编辑
摘要:转自http://jeelee.iteye.com/blog/652003问题的提出:如果我们编译运行下面这个程序会看到什么?public class Test { public static void main(String args[]) { System.out.println(0.05 + 0.01); System.out.println(1.0 - 0.42); System.out.println(4.015 * 100); System.out.println(123.3 / 100); }}你没有看错!结果确... 阅读全文
posted @ 2012-12-05 15:31 lanse_yan 阅读(310) 评论(0) 推荐(0) 编辑
摘要:函数实际是对象,每个函数都是Function类型的实例,函数名实际上只是指向函数对象的指针,不会与某个函数绑定。1.定义方式 例如:函数声明:function sum(num1,num2){return num1 + num2;} 例如:函数表达式:var sum = function(num1,num2){return num1+num2}; 例如:构造函数:var sum = new Function("num1","num2","return num1 + num2");//不推荐,导致两次解析代码,影响性能。2.函数是对象,函 阅读全文
posted @ 2012-12-05 11:00 lanse_yan 阅读(1660) 评论(0) 推荐(0) 编辑
摘要:1.创建一个日期对象var now = new Date();var someDate = new Date(Date.parse("May 25,2004")) 与 var someDate = new Date("May 25,2004"))等价;2.Date类型的valueOf()方法,不返回字符串,返回日期的毫秒表示。因此,可以比较日期值大小。例如var date1 = new Date(2007,0,1);//2007-1-1var date2 = new Date(2007,1,1);//2007-2-1alert(date1 < da 阅读全文
posted @ 2012-12-04 09:47 lanse_yan 阅读(153) 评论(1) 推荐(0) 编辑