存档

2009年1月 的存档

UltraEdit 14.20.1.1006注册码

2009年1月20日 admin 没有评论

昨天在网上找了好久,今天把注册码贴上来  ^_^

UltraEdit 专业版 14.20.1.1006
888888 FEKMA-KEOHD-NKEMQ-RPFNQ-LGHGO-QFIIA-SRJLX-OODVZ

UltraCompare Version 6.00.3.1002
conjssoft    KLFLP-PCPLH-LNOFK-QITH6-JEGHD-MJSQK-GPCJV-QPLKA

Popularity: 35% [?]

jQuery1.3 正式版发布

2009年1月16日 admin 没有评论

英文文档:http://docs.jquery.com/Release:jQuery_1.3

jQuery 1.3  经过几个Beta测试以后,今天正式发布了。

较之1.2.6,它做要有这样一些更新。

一、更为强大的选择器。

jQuery 1.3 的选择器较之以前的更为强健,更具备可扩展性,并且完全独立(虽然可扩展性会牺牲一些性能)

根据jQuery官方的说明文档,这本版本较之上一版本又提高了49%的性能。

性能提高图释

二、Live 事件
新版的jQ可以无缝将某一个事件绑定到现在后以后的所有元素上。这个问题其实之前的重复绑定问题,你是否还记得当你append()后的元素无法使用,迫不得已在bind一下或者是在代码上写onclick的尴尬?呵呵,live()出马,一个顶N啊!

比如以前是这样写的。

[-]?View Code JAVASCRIPT
$(document).ready(function(){
	$("p").bind("click", addF);
	function addF(){
		$(this).append("<p>hello</p>");
	}
});

那么现在我们就可以这样写了

[-]?View Code JAVASCRIPT
$(document).ready(function(){
    $("p").live("click", function(){
      $(this).append("<p>hello</p>");
    });
});

如果你想看更多的关于live和die请看下面的两个链接:
live:http://docs.jquery.com/Events/live
die:http://docs.jquery.com/Events/die

当然jQ肯定也不会忘记提一下我们的性能又提高啦(哈哈)

三、Event对象
主要是根据W3c规范,做了一个标准的对象。当然,因此有了一些变化。

四、注入效率的提升
插入的效率得到了提高,看来以后我们append等事情能更快了。
插入函数的效率得到了提高图释

五、重写了Offset()
据官方说跨浏览器更好了,速度更快了。
offset()图释

六、取消了浏览器监听
改成jQuery.support,具体看它下面跟的“Change”。。

对了,JQ现在用YUI压缩了,呵呵,还是YUI好。

下载链接:http://code.google.com/p/jqueryjs/downloads/detail?name=jquery-1.3.min.js&downloadBtn=%3CSPAN%3EDownload%3C%2FSPAN%3E

英文文档:http://docs.jquery.com/Release:jQuery_1.3

2009-1-14,jQuery 1.3发布正式版,尽管之前版本的jQ已经让我们感受到了诸多便利,但是1.3还是给了我们额外的惊喜。
大家可以参考jQuery对于这个版本发布的官方文档:http://docs.jquery.com/Release:jQuery_1.3
在官方的文档里你可以看到更详细的数据,不过在本篇里你可以看到更细节的分析。
==Sizzle,独立的css选择器引擎==
jQuery在之前的版本里已经逐渐酝酿出css选择器模块的独立。因为Sizzle的独立性,jQuery和Dojo开发组也有意通过Sizzle来开展长期合作(也就是共享部分代码)。
Sizzle也兼容之前版本的jQuery,那些依赖于低版本的jQuery的代码并无重写之忧。
Sizzle在最常见的使用场景中,也有了不同程度的性能提高。(什么是最常见使用的场景呢?可以参考http://ejohn.org/blog/selectors-that-people-actually-use/)
==Live,持久化事件绑定==
通常我们在使用jQuery的过程中,新构造的DOMElement也需要重新完成其事件绑定的逻辑。而jQuery 1.3 里的live函数可以让我们用类似于css behavior的方式来为未来要产生的DOMElement绑定事件。(当然你要拿它当css用,也无妨)
随之对应的,解除这种持久化事件绑定的方式可以用die来完成。
在sizzle.js的源码开头的几行,我们可以看到实现的思路。
document.addEventListener(”DOMAttrModified”, invalidate, false);
document.addEventListener(”DOMNodeInserted”, invalidate, false);
document.addEventListener(”DOMNodeRemoved”, invalidate, false);
==Event对象重封装==
jQuery.Event的主要功能被封装。(jQ有分拆IPO的倾向)
==html注入重写==
性能大幅提高(about 6x faster overall)。
还提供了新用法$(”<script/>”) 以代替$(document.createElement(”script”))
==Offset重写==
性能大幅提高(almost 3x jump)
==jQuery.support,浏览器识别==
jQuery.browser是用useragent来识别浏览器,新增的jQuery.support以js的功能来识别浏览器。
==更新==
jQuery UI and the Validation plugin会同步更新。
如果你有依赖低版本的jQuery的代码的话,请阅读potentially-breaking changes
==Downloading==
jQuery Minified (18kb Gzipped)
jQuery Regular (114kb)
也可以用 http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js for a quickly-loading jQuery
==不兼容的Changes==
[@attr]不再需要写@了。(个人感觉这是一个很坏的change)
使用trigger( event, [data] )触发的事件现在会造成冒泡。(言下之意就是以前不会,以前没在意这个细节)
ready()不会等待所有的.css文件下载完毕才执行。(页面上的css引用要写在js前面了)
isFunction被简化。
(原来 !!fn && typeof fn != “string” && !fn.nodeName && fn.constructor != Array && /^[\s[]?function/.test( fn + “” )
现在 toString.call(obj) === “[object Function]” ,有很多你想不到的东西的typeof会是”Function”)
逗号选择器的顺序有可能改变(因为Browsers that support querySelectorAll (Safari, Firefox 3.1+, Opera 10+, IE 8+),而它们返回的顺序和jQuery现有逻辑不同)
trigger 和 triggerHandler 原来提供的data形参可以接受一个数组,现在必须是类似于options的对象
(原来按以下对象属性的数组也可以被接受,{type: type,target: elem,preventDefault: function(){},stopPropagation: function(){},timeStamp: now()})
“extra”函数被去除(原来就没有写进文档里),如果trigger 和 triggerHandler 里data参数里提供了多余的成员,如{fa:function(){},fb:function(){},fc:function(){},type: type,target: elem,preventDefault: function(){},stopPropagation: function(){},timeStamp: now()},如果该成员isFunction的话,也会随trigger 和 triggerHandler被执行。
interal jQuery.event.trigger不再返回最后一个hander的返回值,只返回true or false(需要的话可以用jQuery.Event 来作为返回值的句柄)
需要在标准模式下运行jQuery,因为有一些函数在quirks mode运行不正确(Safari下甚至如此重要的一些选择器函数都会出错)
==增强特性==
(FEATURES)
===Core===
New queueing methods which you can use to manage existing queues (such as the animation queue) or construct new ones to manage completely separate workflows.(不是很理解有什么个特法)
jQuery 实例对象新增了两个属性selector and .context 。(以唤回你在构造这些对象时的记忆,jQuery( expression, context ) )
===Selector===
新增支持 复杂的not表达式。如 $(”:not(a, b)”) and $(”:not(div a)”)
not表达式其实是反向选择器,老实说我觉得这是一个很重要的特性
===Attributes===
jQuery实例对象新增成员函数toggleClass( String class, Boolean switch )
===Traversing===
jQuery实例对象新增成员函数 .closest( selector ) 以定位位置最接近的符合selector的ancestor element(祖先元素)。(会递归匹配parentNode,我原以为parent( [expr] ) 是做这个用的,后来发现parent( [expr] )只是很直白的选出以expr构造出的jQuery实例对象或者jQuery实例对象this的parentNode)
jQuery实例对象成员函数is()可以支持复杂选择器
===Manipulation===
$(”<script/>”)相当于原来的$(document.createElement(”script”)),前面介绍过了
===CSS===
Offset 重写了,性能提高,前面介绍过了
===Events===
Live Events
jQuery Event Object
.trigger()冒泡
(前面都介绍过了)
===Effects===
.hide() and .show() 重写,性能提高。
animate更加平滑,因为原来只控制width, height,opacity,现在连margin and padding控制了
未提供duration参数的animate调用不会有渐变,而是直接被同步化(因为原来animate的渐变都是异步的)的设为最终值
.toggle( Boolean switch ) 所有类似于toggle的函数(如toggleClass)都增加了switch这个参数支持,把toggle类的对象分为正反两种状态的话(如采用和不 采用,显示和隐藏),if(switch)则为正状态,反之亦然。
参考下面的代码:
var flip = 0;
$(”button”).click(function () {
$(”p”).toggle( flip++ % 2 == 0 );
});
原来无switch参数的时候相当于总是( flip++ % 2 == 0 ),现在我们可以自己控制了。
这是一个很好的新增特性。
jQuery.fx.off=true用来禁止所有animate
===Ajax===
jQuery.ajax( options )
options新增了{Function(data, type) dataFilter},可以用来在jQuery.ajax返回data前再处理一下data(比如过滤)
options新增了{Function() xhr},以xhr返回值作为XMLHttpRequest对象。这是一个很有用的增强,在跨域ajax时,一种做法是制造一个假的XMLHttpRequest。
load( url, [data], [callback] )的参数data可以是String了
===Utilities===
新增了jQuery.isArray( obj )函数
===Internals===
不再使用ua来作为识别浏览器的判断
YUI Compressor作为默认jQuery压缩工具
jQuery不再使用.constructor and instanceof(Will help to give jQuery better cross-frame support.)
==TESTING==
brabra
==PERFORMANCE==
css选择器,delegate过滤器,DOM修改操作(尤其是插入),.offset(),.hide()/.show() 都获得了不同程度的性能改进

Popularity: 33% [?]

分类: JavaScript 标签:

微软决定废弃两个框架

2009年1月4日 admin 没有评论

真是令我大失所望啊 ,LINQ

一个是Linq to SQL

废弃的理由是无法兼容微软自己的sql产品,linq只是在.net语言基础上衍生出来的查询范式,在linq to sql设计上提供不了对所有类型和sql控制符的映射。

不过至少它还会坚持到.net 4.0以及visual studio 2010.

另一个是Connected Services

这个蛮有野心的框架终于因为无法渗透到特定领域,没有商业上的支持而告终。Exchange, SharePoint, Communications Server,Customer Care Framework还是作为微软的call center的核心产品存在。这也是经济不景气和微软的行业定向性差的写实。

Popularity: 29% [?]

MySql预处理语句

2009年1月1日 admin 没有评论

现在博客用的是PHP的WORDPRESS,感觉还可以,但是还是想用SSH重新开发一套,呵呵, 郁闷啊,上次用MYSQL 的存储过程生成的数据库弄丢了,连SQL语句都没有了,重装了系统,什么都没了,今天下决心写在博客上。

先看下面的语句:

SET @A = ‘SELECT 2+2′;
PREPARE STMT1 FROM @A;
EXECUTE STMT1;
DEALLOCATE PREPARE STMT1;

预处理的SQL 速度快很多,呵呵,接着对上面的语句进行解释:

1,在预处理语句中,自定义的变量不需要声明,这点在SQL SERVER 和ORACLE里面不行,例如:SET @A=’SELECT 123+254′.

2,PREPARE STMT1 FROM @A; 这句话是说 把@A 这个语句 赋值给 STMT1

3,EXECUTE STMT1;  执行STMT1语句,如果有参数的话 加 USING 和参数名,

例如:
PREPARE STMT2 FROM ‘SELECT ?+?’ ;
SET @A=3;
SET@B=8;
EXECUTE STMT2 USING @A,@B;

Popularity: 26% [?]