??xml version="1.0" encoding="utf-8" standalone="yes"?>色婷婷av在线,亚洲高清免费视频,偷偷www综合久久久久久久http://www.aygfsteel.com/hunteva/专注于Java EE企业U开?/description>zh-cnSat, 17 May 2025 01:10:09 GMTSat, 17 May 2025 01:10:09 GMT60N82 upgraded to S603.2 or yet ?http://www.aygfsteel.com/hunteva/archive/2008/07/23/N82_S60_v32.htmlKerwin WengKerwin WengWed, 23 Jul 2008 04:44:00 GMThttp://www.aygfsteel.com/hunteva/archive/2008/07/23/N82_S60_v32.htmlhttp://www.aygfsteel.com/hunteva/comments/216847.htmlhttp://www.aygfsteel.com/hunteva/archive/2008/07/23/N82_S60_v32.html#Feedback0http://www.aygfsteel.com/hunteva/comments/commentRss/216847.htmlhttp://www.aygfsteel.com/hunteva/services/trackbacks/216847.html
Baidu一?发现一大把人在说不能升U到S603.2,那不和Nokia的说法矛?Google一把Nokia software upgrade,扑ֈ一个自动更新程?br /> q上手机,可以自己帮你识别你的电话是否有最新Y件升U可?׃10多分钟就下蝲?14Mb的升U文?然后又花?分钟h成功,开机后感觉速度没有太大提升,反而铃声没有以前清脆了,我一Ƅ信铃C前听h高音非常不错,现在听有爆音?......马上试了下我自己开发的Widget,果然可以识别q提C安?装好了就和普通的Symbian Application一?不错,又有得玩?.......

但是׃一直没有查到S60的版本查看方?所以我始终不知道我到底是不是升U到?.2,如果有h知道,ȝ留言告诉一?br />


Kerwin Weng 2008-07-23 12:44 发表评论
]]>
Adobe AIR 初探http://www.aygfsteel.com/hunteva/archive/2007/11/05/adobe_air.htmlKerwin WengKerwin WengMon, 05 Nov 2007 12:39:00 GMThttp://www.aygfsteel.com/hunteva/archive/2007/11/05/adobe_air.htmlhttp://www.aygfsteel.com/hunteva/comments/158351.htmlhttp://www.aygfsteel.com/hunteva/archive/2007/11/05/adobe_air.html#Feedback7http://www.aygfsteel.com/hunteva/comments/commentRss/158351.htmlhttp://www.aygfsteel.com/hunteva/services/trackbacks/158351.html好像国内对Adobe的新产品AIR反应q不?我个用了下觉得其实用处还是很大的,于是我就抛砖引玉写一相关介l文章吧

AIR其实是一套框架和一个VM,它允许用hJavascript,HTML,CSS集成到统一的客L,在用h面运?避免了浏览器差异,q且实现了跨q_的通用?同时又对Javascript功能q行了很多扩?比如d本地盘文g,做跨域的q程讉K,使用多媒体文件等{?怿是flash的底层在支持),相对于两q前的Flex,AIR在RIA领域无疑又是一个跨?惌一?/span>以后我们可以用JS+HTML+CSS来写Zhttp的远E且防火墙安全的C/S应用?q是蛮爽?br /> Demo在这?http://labs.adobe.com/showcase/air/?promoid=BJXTF
用JS来写应用的文档在q里:http://livedocs.adobe.com/labs/air/1/devappshtml/


Adobe AIR出新版SDK?Z意料的是很多之前的Demo不能跑了,会出"parsing disallowed"
,原因是adobe换用了新的安全框?止掉了Javascript中某些可能对其框架做出安全威胁的API,比如说JSON的命?-eval

Adobe的官方解释是在AIR2止掉了cMevalq种动态代码加载技术在其Application sandbox中的q行,解决办法是把你有eval的应用移到Browse sandbox中执?所谓的Browse sandbox意思是你的应用主页面是通过application.xml中配|的栚w面来用iframe引入?在iframe引入的页面中你就可以做eval,而把其他如跨域查询等AIR提供的高UAPI操作攑ֈ栚w面中d,然后通过一个parent/childSandboxBridge来做互相引用和传递数据的桥梁,
但是同时你在iframe中的js也不能直接用AIR所提供的一些高UAPI,比如air.trace().原文的解释在q里 ,Adobe甚至q写了一?a target="_blank">文章来鼓吹这U方式其实更W合设计模式--栚w面负责数据传?iframe面负责业务逻辑.但是无论如何q篇文章作ؓBrowse sandbox的入门来讲还是很值得l读?br />
于是l合自己当前的实际需?我写了一个批量查询airasia.com机票的小工具,因ؓairasia从来都是打广告说从多久到多久,从那里飞到那里才几块MYR?/span>! 是q个"?字相当关?.....直接造成每次我去查的时候发现因?已经快满??所以h格和qx的一?甚至更高,听同事说他们都是先一天一天去查看哪天便宜p快预?太辛苦了?那我要查2007-11-05?008-01-31日的机票要花多少旉?而且不查到最后一天还不知道是不是最便宜?嘲笑他们原始之后我就军_自己写个工具来查

所以我写的W一个AIR应用是q个AirAsiaTicketsSearch,可以扚w查询某个旉D去和某个时间段回的所有机?q且把机h格用jQuery.tablesortl排序出?q且用jQuery.tablesort.page做了分页(说句题外?jQuery的tablesort实很强?但是在排?1,280.00 CNY"q种数据的时候还是有问题).另外开发环境值得一?无论是eclipse+aptana或者aptana standalone都一L,aptana是一个Eclipse的RCP,关键是aptana真的是很好用的工?目前不仅支持AIR,而且q支持开发Apple iPhone的应?只是专业版要收费.....

后面l出截图,
l果发现昨天q有295.99的机?C今天涨?49.99?_-!




Kerwin Weng 2007-11-05 20:39 发表评论
]]>
关于Javascript闭包学习http://www.aygfsteel.com/hunteva/archive/2007/10/18/153854.htmlKerwin WengKerwin WengThu, 18 Oct 2007 05:28:00 GMThttp://www.aygfsteel.com/hunteva/archive/2007/10/18/153854.htmlhttp://www.aygfsteel.com/hunteva/comments/153854.htmlhttp://www.aygfsteel.com/hunteva/archive/2007/10/18/153854.html#Feedback14http://www.aygfsteel.com/hunteva/comments/commentRss/153854.htmlhttp://www.aygfsteel.com/hunteva/services/trackbacks/153854.html
l果今天l于看到一?em>Morris Johns的文?用了不到5分钟把闭包是什么讲的清清楚?比如文章中有一句话:
In JavaScript, if you use the function keyword inside another function, you are creating a closure.

妈的,q有比这更简单的解释?Z么那些国内所谓的牛h是写不U^实的?非要浪费自己和别h的时间讲一堆貌似Q云的定义,我觉得他们真的该思考下自己写技术文章的目的,是ؓ了在传递知?q是在满q虚荣,如果是后?直接在Tag中注?自慰?,免得费大家的时?

在后面的文章?作者列举了很多生动的例?每个例子后面的解释都非常q_,没有MZ表现自己能力的华丽辞?通过他的例子,我很快理解的闭包的特?可以用来做什?前后不到30分钟,回想我几个月前光是找合适的解释找了近一个小?

当我寚w包的特点已经谙熟于心?作者再开始讲一些抽象的定义,让h感觉没有一炚w?如作者自q?
If everything seems completely unclear then the best thing to do is to play with the examples. Reading an explanation is much harder than understanding examples. My explanations of closures and stack-frames etc are not technically correct - they are gross simplifications intended to help understanding. Once the basic idea is grokked, you can pick up the details later.

最后给出那文章的地址,怿不懂闭包的h也能像我一样很快就理解,同时也希望大家看完后别忘了别t实实写技术文章的态度
http://www.javascriptkit.com/javatutors/closures.shtml


Kerwin Weng 2007-10-18 13:28 发表评论
]]>
用Javascript模拟Java的Sethttp://www.aygfsteel.com/hunteva/archive/2007/10/12/152282.htmlKerwin WengKerwin WengFri, 12 Oct 2007 03:46:00 GMThttp://www.aygfsteel.com/hunteva/archive/2007/10/12/152282.htmlhttp://www.aygfsteel.com/hunteva/comments/152282.htmlhttp://www.aygfsteel.com/hunteva/archive/2007/10/12/152282.html#Feedback2http://www.aygfsteel.com/hunteva/comments/commentRss/152282.htmlhttp://www.aygfsteel.com/hunteva/services/trackbacks/152282.html
目前惛_可以实现的方?

add(o);
addAll(array)
contain(o);
getQint);
getAll();
sort(comparator); //传进ȝ是一个fn,q没有写例子....
size();
remove();
reverse();


基本数据l构是两个数l?一个是index数组,数组下标q箋,用来存放W二个数l的下标,另一个是存放对象的数l?不连l?下标是对象的id或者对象中其他M可以转换成唯一Integer的Field(Set也要求放q去的对象必要有hashCode?不然没法区别W一个和W二?

实现的API:
function Collection(){
    this.chain=new Array();
    this.table=new Array();
}
Collection.prototype.get=function(i){
    return this.table[this.chain[i]];
}
Collection.prototype.add=function(o){
    this.table[o.id]=o;
    this.chain.push(o.id);
}
Collection.prototype.addAll=function(array){
    for(var _i=0;_i<array.length;_i++){
        this.add(array[_i]);
    }
}
Collection.prototype.contain=function(o){
    if(this.table[o.id]){
        return true;
    }else{
        return false;
    }
}
Collection.prototype.getAll=function(){
    tempList=new Array();
    for(var _i=0;_i<this.chain.length;_i++){
        tempList.push(this.table[this.chain[_i]]);
    }
    return tempList;
}
Collection.prototype.sort=function(comparator){
    this.chain.sort(comparator);
}
Collection.prototype.remove=function(o){
    var _var = this.chain;
    for(var _i=0;i<this.chain.length;i++){
        if(this.table[this.chain[_i]].id==o.id){
            this.table[this.chain[_i]]=null;
            this.chain.splice(_i,1);
            return;
        }
    }
}
Collection.prototype.size=function(){
    return this.chain.length;
}
Collection.prototype.reverse=function(){
    this.chain.reverse();
}
目前q有一个addAllҎ也是暂时没有惛_有什么不用遍历的好的实现

前同事提供了一U完全和Set一L实现,效率满高
function Map(){
    this.obj = {};
    this.count = 0;
}

Map.prototype.put = function(key, value){
    var oldValue = this.obj[key];
    if(oldValue == undefined){
        this.count++;
    }
    this.obj[key] = value;
    return oldValue;
}

Map.prototype.get = function(key){
    return this.obj[key];
}

Map.prototype.remove = function(key){
    var oldValue = this.obj[key];
    if(oldValue != undefined){
        this.count--;
        delete this.obj[key];
    }
    return oldValue;
}

Map.prototype.size = function(){
    return this.count;
}

function Set(getKey){
    this.map = new Map();
    this.getKey = getKey;
}

Set.prototype.add = function(value){
    var key = this.getKey(value);
    this.map.put(key, value);
}

Set.prototype.remove = function(value){
    var key = this.getKey(value);
    this.map.remove(key);
}
Set.protorype.getAll=function(){
    tempArray=new Array();
    for(var i in this.obj){
       tempArray.push(i);
    }
    return tempArray;
}

Set.prototype.size = function(){
    return this.map.size();
}

q有一个朋友的实现和我最初的差不?但是removeҎ相当有创?用正则表辑ּ来删?br /> Collection.prototype.remove=function(o){
    var _var = this.chain;
    this.table[o.id]=null;
    var re = new RegExp("(^["+o.id+"]$)|(^["+o.id+"][,])|([,]["+o.id+"]$)","g");
    var s = "["+this.chain.toString().replace(re,"").replace(","+o.id+",",",")+"]";
    this.chain=eval(s)
}

有h回复说需要添加做验证,我觉得不必了,如果d的值和之前的一样就直接替换好了,如果希望不被replace,直接在添加新对象之前用contain判断一ơ就可以?毕竟在我的实C已不是完全在模拟Set?目前更們֐于设计一个更高效和强大的集合c?br />


Kerwin Weng 2007-10-12 11:46 发表评论
]]>
AJAXq有另一条\,不用XHR也可以无h从serverside拿数据更新页?q可以克服XHR不能跨域问题http://www.aygfsteel.com/hunteva/archive/2007/06/13/DSSO.htmlKerwin WengKerwin WengWed, 13 Jun 2007 15:06:00 GMThttp://www.aygfsteel.com/hunteva/archive/2007/06/13/DSSO.htmlhttp://www.aygfsteel.com/hunteva/comments/124185.htmlhttp://www.aygfsteel.com/hunteva/archive/2007/06/13/DSSO.html#Feedback7http://www.aygfsteel.com/hunteva/comments/commentRss/124185.htmlhttp://www.aygfsteel.com/hunteva/services/trackbacks/124185.html使用AJAX不可以跨域一直是一个麻烦的问题,
最q做AJAX框架时发CU方?不仅可以跨域,而且相比XHR可以省去很多解析XML的步?
后来居然发现GoogleMap的API在?非常惊喜,赶快分n一?br>
test.html
<html>
<title>Dynamic Script Object</title>
<head/>
<body>
 <div id="jsArea">
  <script id="js" src=testa.js></script>
 </div>
 <br>
 <input type="button" value="test" onclick="testSrc()">
</body>
</html>
<script>
//author:Kerwin.Weng
//mail:hunteva@163.com
 function testSrc(){
  var jsObj = document.getElementById("js");
  var body = jsObj.parentNode;
  body.removeChild(jsObj);
  jsObj = null;
  var newJS=document.createElement("script");
  newJS.id = "js";
  newJS.src = "testb.js";
  body.appendChild(newJS);
  jsArea.innerHTML="Asynchronous"
 }
 var jsArea = document.getElementById("jsArea");
</script>

testa.js
document.write("This is A");

testb.js
setTimeout(function(){jsArea.innerHTML="This is B,now imagine i'm a servlet";},100)

试l果表明可以在不h面的情况下更新jsArea中的内容,如果我们把testb.js换成一个servlet会怎么?br>那不是可以在serverside直接写数据或functionlclient用了?完全不需要XHR来中?省去了不麻?而且q可以实现跨域访?br>
但是有两点要注意,testb.js用document.write没有作用,如果不用setTimeout,会直接让我的IE7和IE6crush,具体原因不明,有牛人知道请告诉?br>目前在FF2.0.0.4/Opera9.2/IE7/IE6下测试通过.

׃找了好久都不知道q种方式的官方名U?q且很明显这不Asynchronous JavaScript and XML,q里qXML和XmlHttp的媄子都没有,
所以ؓ了称呼方便我暂时叫它DSSO(DynamicSwitchScriptObject),当然q不是我发明?Google不知道用了多久了,如果你知道准的名字请麻烦告知我

现在我们比较下AJAX和DSSO的特?
AJAX DSSO
跨域讉K 不支?/td> 支持
异步操作 支持 支持(body.appendChild后不需要等到完成才会l?当然完整的异步访问需要另外的pattern来支?
数据载体 XML或JSON或TEXT 可以直接由server写成Javascript
操作复杂?/td> 需要解析XML或JSON 可以直接使用

目前暂时惛_q么多可以比?期待大家的讨?

Kerwin Weng 2007-06-13 23:06 发表评论
]]>
վ֩ģ壺 Ԫ| | | | ʯ| | | ػʵ| ƽ| | Ĭ| | | ƽ| | Ѩ| ʯɽ| ʡ| | Դ| ˮ| | ͸| IJ| ѳ| Ƥ| | | | ֱ| | | | | ¡| | | ֽ| | ɽ| |