[ajax; Atlas] Atlas 实现机制浅析[1] #
与 .NET 和 Java 平台下其它 AJAX 框架相比,Altas 最大的亮点就在于与 ASP.NET 现有机制的无缝融合。通过 VS.NET 集成开发环境,使用者可以在对 js 和 AJAX 不甚了解的情况下,以非常自然的方式使用到最先进的技术。此外直接在 js 一级提供 WebService 的调用支持,也大大降低了对 ws 技术的使用门槛。而 ASP.NET 中一直引以为豪的数据绑定等技术,也可以在 Altas 中无缝得到支持,让现有投资能够最大限度得到保护。从这些意义上来说,虽然 Altas 在 AJAX 理念上没有太多突破,但不失为一个强大且实用的 AJAX 框架,非常符合 MS 在技术运用上的一贯原则。
[ajax; Atlas] Atlas 实现机制浅析[2] #
首先,页面在定义时可以根据逻辑被分成若干个更新区域,通过 标签直接定义。其次,Altas 将接管 ASP.NET 客户端的顶级 Post Back 用 form,并针对局部重绘模式加入特定的参数。然后,Altas 将接管 ASP.NET 服务器端的页面重绘方法。如果是在局部重绘模式下,则对客户端请求进行解析,并判断需要对那些区域进行重绘。可以通过在 UpdatePanel 中指定重绘条件,来避免不必要的重绘操作。最后,重绘的结果会被封装成 XML 脚本,通过异步的 XMLHTTP 方式传递会客户端。客户端 Altas 引擎对返回内容进行解析后,更新到页面的相应控件上。
[javascript; JSON; ajax] JSON #
格式定义非常简单,就是通过一组键值对来定义一个对象。在javascript中,你可以直接将这种格式的数据赋值给一个变量,然后通过键名取值。相对于使用xml来作为数据交换格式,如果要在javascript里使用,首先需要创建一个DOMParser,然后通过DOM接口访问节点对象,非常繁琐,更不用说不同浏览器的实现中DOMParser的实现和DOM接口都有诸多不同。为什么大量的AJAX应用中宁可直接返回一个HTML片断而不是直接把XML交给javascript处理,一个主要原因就是处理XML的过程比较复杂。JSON最重要的贡献就是简化了解析数据的过程。
[.NET开发] 将博客园程序从Visual Studio 2003迁移到Visual Studio 2005的尝试 #
目前我们可以通过VS 2005 Web Application Project Preview手动将VS 2003 Web项目升级到VS 2005 Web Application Project。Scott Guthrie专门写了一篇文章告诉你如何进行这样的升级:Upgrading VS 2003 Web Projects to be VS 2005 Web Application Projects。我就是按照这篇文章成功完成了升级,并且升级后编译成功。
王选之后,不会再有王选。从科学到技术再到企业,王选用方正完成了他的科学商业化尝试。在这个过程中,王选有着充分的自知之明。他说:“他是有企业家头脑的科学家。但不是企业家。我个人更类似英特尔第一任创业者诺亦斯,我希望肖建国能成为方正研究院的格鲁夫,成为管理型的领导者。”
AJAX依靠服务器作为中介来分发和处理请求。为了完成这项工作,.net封装类依赖于客户端的请求对象,而xmlHttpRequest对象被大部分的浏览器支持,因此使用这个对象是一个不错的解决方案。因为封装的目的是隐藏xmlHttpRequest的实现,故我们不讨论他的实现细节。封装类是通过在.net的方法上增加AJAX属性标记来实现的,一旦被标记,AJAX创建客户端的javascript函数(这类似于客户端编写的javascript函数),并使用xmlhttprequest创建服务器代理,这个代理映射客户端的函数到服务器的处理函数。
[ajax; 计算机图书] Ajax 书评(Review) #
Ajax 是个新技术? 新名词? 还是又一个技术泡沫。答案取决于那些真正使用Ajax架构/技术的人,而对于从来不知道Ajax的人来说,一定希望看得一本介绍Ajax的书
[yahoo; 开源] 开源世界再添新兵雅虎发布UI和设计模式 #
雅虎UI库是一用JavaScript语言写的一套工具与组件集,主要用于应用DOM脚本、HTML和AJAX等技术编译富接口Web程序。通过优化和改善开发人员在浏览器框架里的接口,UI库工具可以有效地实现程序的富客户端特性。而UI库组件可以仅仅用几行代码与CSS文件就可以在网页上创建可视化而且具有交互性功能的用户接口单元。
[ajax; 测试] AJAX and Unit Testing #
I've decided to write a little two part introduction into unit testing your AJAX applications with JSUnit. AJAX applications now are adding a new complexity into our development lives. Introducing business logic into our presentation tier. It is now not enough to write some adhoc javascript form validation functions that work most of the time. You now need to take accountability for your javascript code as it can affect your business logic on the server side.
据说写程序的现在都自称民工,其实远没有那么惨,IT仍然是最好的产业之一吧,只不过给老板干活,个性不能发挥而已。但到了开源界,可以暂时忘却这五斗米的追求,大力张扬一下个性;或者本来就在牛牛大公司高就,也并不愁吃穿,已经在追求文化的那一层次,自然也要体现些特别之处才行。创新是好事,比来回抄是天壤之别;但我也感觉有些东西抄一些也可以吧,没有必要磨不开面子啊。
[sql_server] 大数据量下的数据库日期操作问题 #
奇怪了,第三条语句执行起来飞快,虽然问题是曲线解决了,可这又是为什么?难道和索引的排序次序有关?欢迎大家讨论。
[软件工程; 测试] BUG,规范,断言和调试 #
遗憾的是,现在的程序员经常把发现BUG的责任推给测试人员——“不用担心,测试人员会发现所有BUG的,这是他们的工作”。实际上,测试人员并没有开发人员的条件,他们不可能进行源代码级别的调试,很大程度上只能靠运气——没错,是靠运气,如果一个BUG很容易被发现,程序员不太可能自己没有发现它——来发现BUG。
[.NET开发] .NET Pet Shop 4: Migrating an ASP.NET 1.1 Application to 2.0 #
思归:MSDN推出了.NET Pet Shop 4,是基于ASP.NET 2.0的,该版本有了一个全新的用户界面。由于采用了Master Pages,Membership,以及Profile,表现层的编码量减少了25%,数据层的编码量减少了36%。他们利用了Project Conversion Wizard把项目从ASP.NET 1.1移植到了ASP.NET 2.0,然后做了以下改动:1。用System.Transactions代替了原来的Serviced Components提供的事务功能2。用强类型的范型集合代替了原来的弱类型集合3。采用ASP.NET 2.0 Membership来做认证和授权 4。创建了针对Oracle 10g的Custom ASP.NET 2.0 Membership Provider5。利用ASP.NET 2.0的Custom Oracle 和 SQL Server Profile Providers 做用户状态管理,包括购物车等6。采用了Master Pages,取代了原来的用户控件,来实现统一的界面效果7。使用了ASP.NET 2.0 Wizard控件实现check-out 8。使用了SqlCacheDependency来实现数据库层次的缓存更新(cache invalidation)功能9。使用了消息队列来实现异时订单处理
The .NET Pet Shop application is designed to show the best practices for building enterprise, n-tier .NET 2.0 applications that may need to support a variety of database platforms and deployment scenarios.
[.NET开发; ajax] Building an 'AJAX' ProgressBar in Atlas #
Someone on the Atlas forums was interested in an Atlas progress bar. So, I went ahead and wrote a basic, client-side Atlas progress bar.
2.0是个新玩意,至少是观念上的——从内容、模式到对已有技术的重新组合应用,乃至超小型团队、超小型应用的开发方法。让我们先撇开重量级和轻量级之争,且不管确定的需求和文档的重要性,做一回离经叛道的开发者(很酷?);不同于企业应用,甚至不算一个有明确目标的系统;我们只有一些小小的想法,如何快速实现、立即推出、并根据用户反馈迅速而频繁地改进,才是我们要解决的问题。
最近折腾毕业论文,搞得人没心情写blog了。于是觉得不如把毕业论文里的东西贴出来当blog算了。这里主要介绍了我自己的中文分词算法,我觉得它比现在开源代码比较多的中文匹配法要好多了。这里的内容没有任何背景知识啥的,毕竟论文里的背景知道我也是从网上粘贴的,呵呵!因此这篇文章的内容可能适合做搜索引擎的人。
更多技术动态,请访问我的365Key(RSS),你可以通过365Key订阅。