‘Web-Ajax’ 分类的存档

最近开发一个项目使用了Ext2 Grid的GroupingView功能,本来认为非常好用,但是发现了一个问题:在设置了autoHeight的情况下连横向滚动条都不会显示出来了。大概看了看GridView的源代码,发现在里面有这么一段程序: 1 2 3 4 5 if(g.autoHeight){ this.scroller.dom.style.overflow = ‘visible’; }else{ //… } 就是因为这个’visible’,结果让滚动条都去见鬼了~ 为了fix这个问题,使用了一个非常ugly的方法,就是先让Grid自动调整高度(就是把autoHeight给设置上),然后在画完后,拿到当前的高度重新把autoHeight给设为false并且把高度设死。更重要的是要把那个’visible’给改为’auto’: 1 2 3 4 var size = grid.getSize(); grid.autoHeight = false; grid.view.scroller.dom.style.overflow = ‘auto’; // restore the overflow to ‘auto’. grid.setSize({width: size.width, height: size.height + 25}); 把这四句话加到Grid Store的’load’事件中执行就可以了。

2008年2月3日17:34 | 没有评论
分类: Web-Ajax
标签: ,

很早之前就在豆瓣上注册过了,不过没有在上头怎么花时间。今天突然很有心情体验一番。把自己目前能想起来的看过的书,看过的电影,听过的专辑往上面放。发现这是一个自我总结和自我了解的好方法。至少我是发现了我自己的一些feature(中文怎么说~~?Faint~)。 我是一个很主流的人。没有读过,看过,听过很另类的东西。(没有个性~?) 虽然我很喜欢progrmming,但是我看过很多很多闲书。(不务正业?) 我显然很喜欢科幻和魔幻。(但不喜欢中国人写的) 是个怀旧的人。书,电影,音乐都不追逐新潮,往往更喜欢旧的。 工作之后闲书看的明显少了。 是个能忍受孤单的人。可以一个人看书,看电影,听音乐,很长时间。 是个向往共同享受的人。很多电影都是更愿意多人一起看,也愿意与人共同交流读书心得。 也不知道为什么,我总是很喜欢很有特点的网站。经过今天的体验,我竟然也有了可以去豆瓣工作的念头~~~还是安心本职工作吧~~~ -________-

2007年6月21日23:47 | 没有评论
分类: Life, Web-Ajax

作为一个developer,我最不愿意fix的bug就是关于UI的了,因为: 很麻烦。fix一个逻辑上的bug很容易,改几句代码就可以了。但是改UI就麻烦了,要重新设计页面或者form,各个control搬搬地方还算是简单的,严重可能会增加/减少变量,导致修改底层程序。 没有挑战性。developer干活的一个追求就是要有挑战性。如果让我找一个算法的错误,那越复杂的我越有兴趣。但是改UI?就是简单的,我这么画,可以吗?要么这么画,可以吗?好无聊~ 漫长的时间。每个developer都知道,写一个没有UI(GUI)的程序可能要比写有UI的程序快n多倍。因为UI不是逻辑,不能快速简单地用代码来描述。 但是做UI却又很有意思: 一个小feature就会获得掌声。用户关心的是UI,而不是底层的逻辑实现。所以当有一个他们用得非常愉快的UI的feature的时候,他们会给你掌声,而不会管你底层做得如何。 作接近人的工作。当写一个底层应用的时候,你面对的是磁盘I/O,网络传输,数据库,内存。而当你做UI的时候,你面对的是人。 击败“奶油面包猫”。UI的问题就是争论的问题。谁能终结争论?用户用户用户。做一个东西出来,让用户看看吧,是成就感,还是失败感? 现在网络上有那么多网站,又有那么多类似的网站,我为什么要去一家网站,而不去另外一家?UI会成为决定性的因素的。当然,在中国,另外一个决定性因素就是GFW。

2006年11月13日17:04 | 7 条评论
分类: Web-Ajax
标签:

Aaron Hopkins是Google的一位工程师,今天看到了他的一篇技术文章:Optimizing page load time。非常有新意的描述了一些我们在开发WEB应用的时候可能会遇到的关于页面加载速度的问题和技巧。现在流行AJAX技术,已经比以前点一个link就要刷新整个页面,效率高多了。但如何才能更加榨取网络带宽,让自己的页面更快的响应用户的请求呢?这位大哥让我们考虑三个问题: IE, Firefox, Safari都是默认禁用HTTP pipelining的(仅有Opera是开启的)。没有pipelining意味着用户的每个请求都必须得到服务器的响应并且这个请求必须释放自己的HTTP连接下一个请求才能发出。这样就会导致平均为round-trip(ping)延时除以最多允许的连接数量的额外传输延时。而且如果服务器端禁用了HTTP keepalives,这样还需要做TCP三次握手,将引入多一倍的延时。 默认情况下,IE仅允许对于每个HTTP/1.1服务器站点有2个连接,并且最多只能有8个连接。Firefox有类似的限制。所以如果使用4个主机名(hostnames)来代替仅使用一个,那么在载入一个页面的时候将可以使用更多的连接。(4个主机名IP地址可以是相同的。) 大多数DSL或者其他Internet连接都是不对称的。比如1.5Mbits down/128Kbits up,6Mbit down/512Kbit up等等。一般下行和上行的速度比率为5:1到20:1。这意味着,用户发送数据所需要的时间相当于接受5~20倍大小的数据所用的时间。一个请求一般为500bytes,所以如果需要接收的数据为2.5k到10k,那么请求的时间将会占据很大的因素。这就是说,如果请求很多很小的对象(images, css, javascripts),那么用户的上行速率将会成为瓶颈(听起来很诡异吧~)。 当然,提出问题不是牛人,解决问题才是牛人: 开启服务器对于页面额外对象(images, css files, javascripts etc.)的HTTP keepalives支持。如果担心达到服务器的最大连接数,那就把keepalive的超时设为5~10秒。 使用更少的额外对象。整个站点引用相同的一个css文件,一个js文件等等。如果一个页面用到了太多的gif图片,考虑使用css优化来减少图片的使用。 如果用户将加载大量的没有本地缓存或者不能做本地缓存的对象,那么要考虑将这些对象平均地分布到4个主机名(hostname)上。一般来说可以使用户以四倍的速度来接受数据。比如:原来是http://static.example.com,那么建立4个主机名:static0.example.com, static1.example.com, static2.example.com, static3.example.com。 尽量使用本地缓存。为尽可能多的对象加入Expires header,可以不依靠浏览器来验证本地缓存的正确性,如果你改变了内容,可以改变文件的地址。这样,浏览器会认为它是不同的对象。 对于一些特殊的内容可以直接返回304(Not Modified)。 最小化请求的大小。永远不要为images等设置cookies。建议使用单独的主机名来存储这些静态对象。 最小化数据的大小。如果可能,对所有的HTML和XML数据进行gzip压缩。(如果试图压缩Javascript,你会发现IE4~IE6虽然声称支持压缩的javascript,但是如果你这么做,将会导致严重的错误。) 考虑使用一些特殊的手段减少网络延时,这个主要是指能分布式存储网站的内容,能动态的把用户redirect到离他自己相对近一些服务器上。 还有几点涉及到如何进行网络站点的带宽效率测试了,有兴趣的同学自己看文章吧。:) 这些Tips虽然有些是知道的,但是在一篇文章中这么专业集中的介绍真的是第一次看到。而且令我感动的是,这篇文章不长,用20分钟完全可以认真的看一遍,可以说是我看到的技术文章的典范了。(呵呵,我看到的也不多~)再说这文章的内容,确实有丰富的知识性,回答了我很多问题,这也是我很喜欢这篇文章的原因。毕竟涨经验值是件很愉快的事情。(前几天还在奇怪,为什么yahoo的图片都放在yimg.com上面,为什么很多网站都有个img.sitename.com和js.sitename.com呢~)

2006年11月3日23:54 | 2 条评论
分类: Web-Ajax
标签:

I love this sorting algorithms demo in Java Applet, so I tried to write a similar one in only javascript. I wrote this demo in a few hours, so it may be bugy and only contains ‘Bubble’ and ‘Quick Sort’ algorithms. Because of the DOM operations, this demo cannot treat as a serious, academical algorithms [...]

2006年10月12日23:10 | 没有评论
分类: Web-Ajax
标签:

有些书是可看可不看的,有些书是不能不看的,有些书是不能看的。《Javascript权威指南》就是作为Web开发人员不能不看的书。光看再版的次数就知道经典程度了。 Download Javascript中文论坛 *此下载只为研究和了解内容,并不试图代替正版书籍。如果侵犯了您的权力,请让我知道,我将立即删除下载连接。 Update: 删除了下载连接。这是一本非常好的书,大家买正版吧。(I deleted the download link, now it links to amazon. I must say sorry to David Flanagan. It’s really a great book. I hope every one buy a legal copy of this book.)

2006年10月9日23:47 | 14 条评论
分类: Book, Web-Ajax

最近很是郁闷,在公司和IE较劲,回到家还要研究如何让blog的theme在IE下正常显示,真是烦死了。IE6的问题如此之多竟然还有这么多人使用,不知道是微软的胜利,还是w3c标准的失败,或者是用户的无知和妥协。 其实在web2.0概念提出之前,可能IE6还是一个勉强合格的浏览器,毕竟可以正常显示大多数网页,但web2.0提出后,大量网页都使用了javascript和css,这就暴露了IE6的偷工减料。Javascript性能低下,DHTML处理的MemoryLeak,CSS标准的不支持,PNG图片的错误处理,等等,几乎任何一个都可以证明IE6是一个根本不应该成为产品的产品,它仅仅是一个微软为了争夺市场,派出的半成品。 但我最不能理解的就是,为什么微软不在IE6后出一个bugfix版本,而是保持了5年以上的时间没有本质的更新。这在任何一个IT产品来看几乎是不可能的,但微软做到了,这就是垄断吧。我们要感谢Firefox和Opera,如果没有他们,我们可能最终会放弃新兴的AJAX,会放弃使用标准的CSS。 在写这篇blog的时候,我在使用IE7,令人欣慰的是IE7修正了很多IE6的bug。我最终决定不再为IE6来修改我的theme了,I’m really tired with of IE6~ 如果感兴趣,可以在这里看到很多IE6的bug: http://www.positioniseverything.net/explorer.html。触目惊心~ 如果你也对IE6厌烦了,可以使用Firefox或者Opera,如果你是微软爱好者,还可以使用IE7。

2006年7月18日23:57 | 5 条评论
标签: