js自定义消息机制研究学习(一) ——看百度搜索输入提示js自定义消息机制研究学习(二)——做一些改动,定制自己的消息机制js自定义消息机制研究学习(三)——插件化我们js开发js自定义消息机制研究学习(四)之杂七杂八(写了几篇《js自定义消息机制研究学习》后,有网友询问iframe之间的消息调用,列出一些邮件摘录。文章最后附有我写的一个简单示例)邮件摘录一:iframe通信机制关于iframe的通信也许我的实践不是最佳实践,我知道yahoo在这方面的研究是比较深入的,当初ajax兴起之时,yahoo邮箱是基于大量的iframe完成的。但是我没有研究过,你可以看看他们的代码。我这里的ifram Read More
(这是一个虚构的例子,请忽略事务)首先,我们来看一个简化单据修改的例子,单据数据表结构如下:1. MOrder(id,remark,createtime)id:单号createtime:创建时间2. MOrderDetail (MOrderid,pku,qty)MOrderid:单号pku:商品编号qty:数量面对这个简单的需求,我们有第一版的SQLView Code update MOrder set remark=@remarkwhere id=@iddelete from MOrderDetailwhere MOrderid=@idinsert into MOrderDetail va. Read More
终于要写完了~~^_^,期间给同事做了一次培训,写一次,讲一次的好处是,再次加深了自己对于消息、事件以及观察者模式的理解。对我来说,讲清楚比写代码要难上很多。这里分享一些与消息机制相关的一些杂七杂八的内容。一、可测试的代码早些时候,我向锐同学描述我的js程序结构,他问了我一个问题:你的js代码可测么?我蒙了~虽然一直关注敏捷,一直也向往测试驱动开发,但还从没想过js代码的可测试(当然,也有测试,但基本上整测加局部测试),没有想过js的测试驱动。当时,我迟疑了一会,才说应该是可测的。写完上一篇文章(原谅我,觉得太简单,直接写的,忘了测试驱动),回头看了看,还好,基于消息的代码确实可以做到可测。比 Read More
前两篇js自定义消息机制研究学习(一) ——看百度搜索输入提示js自定义消息机制研究学习(二)——做一些改动,定制自己的消息机制研究了一些基础的自定义消息机制,对一些简单的开发已经足够。现在我们来尝试面对一些稍微复杂一些的架构设计。首先,增加了一个插件模式:plugsvar plugs=(function(){ function addPlugs(name,plug) { var __plugs=this.__plugs=this.__plugs || {}; if(name && plug) { __plugs[name]={ installed:false, instanc Read More
上一篇 js自定义消息机制研究学习(一) ——看百度搜索输入提示简单研究了一下百度首页的代码。今天我来尝试修改一下代码,以使它更适合我们实际的研发情况。首先,我们修改一下代码,让它可读性稍微好一点。(原代码参考上文)monitor.jsvar monitor= (function(){ function bind(b){ var queue = this.__MSG_QS__; if (!queue[b]) { queue[b] = [] } for (var a = 1, X = arguments.length, Y; a < X; a++) { queue[b].push(argu Read More
js自定义轻量级消息机制研究学习(一) 百度输入提示代码 Read More
学习并尝试敏捷以来,目前是第三个团队。第一个团队,在一个小公司,我负责公司两个开发团队之一。那是第一次带队开发,没有什么项目管理经验,在强大的开发压力下,有一段时间把自己搞的焦头烂额:团队成员比较清闲,因为他们没能力解决复杂的问题,我自己天天忙死累活。痛定思痛的开始研究项目管理,尝试了一些传统的管理方式,很不给力,然后就接触到极限编程、敏捷开发。首次的敏捷尝试,给了我很多惊喜。我们对一个旧系统进行了较大的升级改造(累积了数年的一个面条式程序,可以想象它的糟糕程度)在这次开发过程中,我们尝试了结对编程、测试驱动、立会、回顾总结等等一些敏捷的方式方法。这是一次非常有益的尝试,我们顺利完成升级,减少 Read More
要做富客户端,一般的选择如下:1. ajax,这个比较流行,丰富的js库使用ajax构建富客户端变的容易2. flash,或者说flex。flex丰富的ui表现,对于界面美化来说不错。在条件容许的情况下,是一个相当有吸引力的选择。3. silverlight,这个的缺陷就是装机量太少,不过对于内部ERP系统来说,可以强制安装。4. java applet,怎么说呢,这个应用不多见,同样需要客户安装java环境。我们选择了ajax作为富客户端得实现方式。为什么选择ajax?1.flash需要更长的培训周期,这点是由团队成员组成决定的,相对于flash,js已经是web开发工程师基本掌握的技能。说 Read More