这是Read/WriteWeb 对2006年互联网发展趋势的总结。文中链接到其他一些深度讨论的文章。阅读全文>
发表于 @ 2006年12月25日 13:55:00|评论(loading...)|收藏
上面提供的几个解决思路在一定程度上也意味着更大的投入,并且这样的解决思路具备瓶颈,没有很好的扩展性,下面我从低成本、高性能和高扩张性的角度来说说我的一些经验。1、HTML静态化2、图片服务器分离3、数据库集群和库表散列4、缓存5、镜像6、负载均衡一个典型的使用负载均衡的策略就是,在软件或者硬件四层交换的基础上搭建squid集群,这种思路在很多大型网站包括搜索引擎上被采用,这样的架构低成本、高性能还有很强的扩张性,随时往架构里面增减节点都非常容易。阅读全文>
发表于 @ 2006年12月19日 15:16:00|评论(loading...)|收藏
2006年即将过去,这一年被广泛地看作是:在线投资新浪潮的一年;更新的web技术和技巧兴起和成长年;从未这样采用web能量的新商务模式的兴起(和衰落)的一年。根据SitePoint和Ektron这两家组织提供的调查报告,大家不妨跟随作者一起放眼遥望一下亮光周围的风景,也许你会听到自己的惊呼,请加入到对“未来”的预言中吧!尝试一下网络对趋势的影响力!阅读全文>
发表于 @ 2006年12月11日 19:38:00|评论(loading...)|收藏
文章主要关注于ASP.NET AJAX中经常会使用到,却不太被人关注的一些功能细节,以及需要避免的一些问题。例如“Batch calls are not always faster”等,也提到了浏览器的一些特性以及限制,例如“Browsers do not respond when more than two calls are in queue”,可以说这些都是开发ASP.NET AJAX乃至Web开发所必需了解的内容。文章中也提到了一些ASP.NET AJAX在使用时的一些技巧,例如在Web Service访问时利用Cache来提高效率,而且这可不是像之前CTP的官方文档上提到的简单方法那样“普通”,它是个真正经过挖掘与实践之后得到的结论。其余部分的也提到了客户端Function.createDelegate方法的使用(这个方法我一直很喜欢,呵呵),以及在访问Web Services时HTTP GET与HTTP POST直接的对比。
阅读全文>
发表于 @ 2006年12月04日 23:51:00|评论(loading...)|收藏
其实事实往往就是这样:现在用于比较的都是非常优秀的框架,这样的框架不太会做一些无用的事情。额外的代码,额外的数据传输应该都是有其目的的,因此单独比一个非常小,几乎不可能单独出现的Scenario往往还不够。我们还需要结合一些别的比较,例如功能的比较,或者在一个庞大,完整的Scenario下,不过这个比较就非常困难了。另外,比较太小的Scenario的结论往往也会有失偏颇,例如ASP.NET AJAX在任何“小功能”的比较时都会传输“大量”的脚本,但是这真的是劣势吗?在性能上请求一次JS时传输相差十几K真的会相差无几,何况除了第一次下载之外之后就会被缓存了。而且,优化PLT(Page Load Time)的一个Best Practice就是“尽量将所有的JS都存放在一个文件内一起下载”,这可以有效地提高性能和避免出现JS错误。因为重新发起一个Request的代价比下载代码的消耗要大不少,而且如果一个文件太小,甚至小于TCP/IP的一个Package,那么更加可谓得不偿失了。阅读全文>
发表于 @ 2006年11月27日 23:38:00|评论(loading...)|收藏
函数式编程是对阿隆左·丘奇理论的实践应用。但也并非全部 lambda 演算都被应用到了实践中,因为 lambda 演算不是被设计为在物理局限下工作的。因此,象面向对象的编程一样,函数式编程是一系列理念,而不是严格的教条。现在有很多种函数式编程语言,他们中的大多数以不同方式完成不同任务。在本文中我将就最广泛使用的源自函数式编程的思想作一解释,并将用Java语言举例。(的确,你可以用Java写出函数式的程序如果你有显著的受虐倾向)。在下面的小节中,我将会把Java作为一种函数式语言,并对其稍加修改使它成为一种可用的函数式语言。现在开始吧。阅读全文>
发表于 @ 2006年11月20日 13:19:00|评论(loading...)|收藏
下面是2个特别让我兴奋不已的Vista内置特性:.NET Framework 3.0 (包括崭新的Avalon,Indigo,Workflow 和 CardSpace 库) IIS 7.0(包括它对ASP.NET的紧密集成) 阅读全文>
发表于 @ 2006年11月13日 14:35:00|评论(loading...)|收藏
对于上面的流氓软件的方法一些驱动层下的反流氓软件工具又有点束手无策了。因为同是驱动程序相互拦截irp等于大家都无法操作,反流氓软件工具的删除irp会被拦截,或者删除函数会被替换。删除注册表函数会被替换。虽然驱动的加载有先后,但是无法保证能完全的删除流氓软件,从而出现了一些更顶级的反流氓软件,他直接发删除文件irp到文件系统.,删除注册表也直接发送到文件系统。这类流氓软件又能有效的完成了反流氓任务,但是根据我了解,这样的软件不多。现在火热的360安全卫士都还只是使用了笨办法,优先于驱动流氓软件启动,创建一个驱动流氓软件同设备名的设备,,使流氓驱动创建不成功。具我了解他优先于流氓驱动启动是把自己创建于PNP_TDI这个组下面,就是简单的ndis就能优先于360启动。如果前面的组,那360就束手无策了。所以对付这类流氓驱动只能用直接发irp到文件系统。 阅读全文>
发表于 @ 2006年11月06日 22:34:00|评论(loading...)|收藏
第一,记得设计的初衷是为了解决问题。不要理所当然的觉得别人的网站都是这么设计的,我就照搬过来就行。每个细节都可能存在问题,去发现它们吧,那些用户觉得困难的,不理解的,不必要的或者是有所忧虑和顾忌的,想办法化解他们。 第二,平衡。这里说的是两种平衡: 仅仅站在用户的角度是不够的。你是用户和公司中间的桥梁。一个例子:公司说要赚钱,多多上广告!用户说广告烦,我不要看!那你要做的是什么?当然是平衡。广告要上,而你的工作是去了解和研究用户如何才能忍受广告,接受广告,可以忍受多少:) 关于用户体验,可用性的理论,不要断章取义。简洁是好,于是所有的网站都要千篇一律么?你要展示什么不同于竞争对手的品牌,决定了你的界面是时尚的,前卫的,严谨的或者可爱的。Easy to learn是好,于是,到处都是注释和提示帮助信息么?高级用户会无法忍受的。注意各个因素之间的平衡,不要走极端。阅读全文>
发表于 @ 2006年10月30日 21:37:00|评论(loading...)|收藏
在这个Beta版本里,开发组做了不少变动。几个比较大的变动如下: 性能和下载文件大小的优化 Safari 浏览器支持 显著改进的调试支持 UpdatePanel的改进 客户端脚本库的许多改进 与其他AJAX库更好的兼容性源码修改许可阅读全文>
发表于 @ 2006年10月23日 01:29:00|评论(loading...)|收藏