代码改变世界

也谈观察者模式

2013-03-03 22:53 by 掸尘, 1405 阅读, 2 推荐, 收藏, 编辑
摘要:不是你写个class 就是面向对象,我基本是都是面向过程来书写class,只是like oo 非 is oo 。所以写出来的不伦不类,自己也都懒得看别说重构,只能重写。设计模式是面向对象层级较高的部分,属于面向对象的OOD(面向对象设计)。如果对面向对象分析与设计精通,那么读起来会产生共鸣甚至共振。如果是了解面向对象,读起来像白开水,没感觉。因为层级没达到,无法参悟。就像参禅一样。设计模式是遵循面向对象五大原则前提下,高手们给出典型问题的解决办法。设计模式不是重点,重点是那几大原则。 oh,say too long。最近在研究观察者模式,举一个简单的例子 : 猫大叫一生,所有的老鼠都跑了,.. 阅读全文

backbone 与 ajax

2013-02-21 17:21 by 掸尘, 6528 阅读, 1 推荐, 收藏, 编辑
摘要:前一段时间研究一下backbone.js 框架,之所以研究backbone 1.我们小组用的mvc 还是有点粗糙,写法只是形式上的。想找一个mvc 的框架 2.很多网友在用或提到过backbone.js。研究一段时间,发现资料很少,英文文档看起来费劲,搜索很多时候搜不到,搜到一些demo质量很低下,js大牛司徒正美居然说他很难维护,这些都深深打击了我脆弱和善良的小心灵。这几天又深深反省一下,既然这么人在用,就一定有他的优点!只有亲自研究过,才能知道优劣 。 我们这边的数据主要是ajax,backbone怎么发ajax 成为了重点。backbone.sync 这个名字很坑爹,sync 还以... 阅读全文

jquery 选择器的效率

2013-02-15 13:44 by 掸尘, 3799 阅读, 3 推荐, 收藏, 编辑
摘要:如果你没看过我上一篇的《jquery sizzle 选择器浅析》请你先看一下,因为这一篇是上一篇的后续。本人抛出个思考题,想抛砖引玉,砖是抛出了,玉始终没来,大概没抢到回程的火车票。本人上一篇说$('div img:eq(0)') 与 $('div img').first() 那个效率高,我只是推导后者较高,没有进行测试。所以通过测试证实一下。 搜了一下,发现firejspt 还不错,下载地址 http://code.google.com/p/firejspt/downloads/list, 为了效果明显。我把qq首页的html拿过来测试,在头部增加一下代码&l 阅读全文

jquery sizzle 选择器浅析

2013-02-06 14:27 by 掸尘, 5567 阅读, 3 推荐, 收藏, 编辑
摘要:I'm sorry!我用jquery的大概有一年了,只知道$(selector),其内部选择器的流程走向完全不清晰!于是看了jquery的源码,jquery用的选择器的引擎是sizzle,是jquery的作者另一开源项目,在github上面有,号称最快的dom选择器!不到2000行代码。 上面说了不是很精彩的开场白,我么来个 for example: $('.test') 在jquery的流程是怎么走的呢? 1.首先会做如下的判断/***关于 querySelectorAll函数 *返回当前文档中匹配一个特定选择器的所有的元素*var nodelist = elemen 阅读全文

js的单元测试

2013-02-01 23:31 by 掸尘, 4978 阅读, 3 推荐, 收藏, 编辑
摘要:最近在优化以前的项目,重写一些地方,由于这些数据都是从客户端行情获取,自己也没有做测试的习惯,运行的时候,数据一直出不来,也不报错,这就俺们神奇的客户端。没办法,一步一步还原调试,最后找出来了,一个函数的参数,我调用的时候,参数的首字母变成大写了。可能最近雾大,哥每天吸收太多,变痴呆了!还有一个地方value 写成val。于是决定用单元测试,汤姆大叔曾经提到过qunit,自己搜一下,原来是jquery团队开发的,所有jquery的代码均由其测试。 我自己看了一下,自己深深的爱上了他,只需引用两个文件就行了<link rel="stylesheet" href=&quo 阅读全文

jquery ready 分析

2013-01-14 15:39 by 掸尘, 3123 阅读, 2 推荐, 收藏, 编辑
摘要:最近看一些关于jquery ready 有人说他缓慢,有人说他快,说法不一。 于是自己深入研究一下。首先看了一下jquery 文档关于ready 的描述While JavaScript provides the load event for executing code when a page is rendered, this event does not get triggered until all assets such as images have been completely received. In most cases, the script can be run as so 阅读全文

如何阅读源码

2013-01-09 20:53 by 掸尘, 810 阅读, 0 推荐, 收藏, 编辑
摘要:不要指望有大神现场来带你,大神本来就很少而且很忙,研究优秀框架的源代码是提升的一种方式。如何阅读源代码就是一个问题。首先不管你喜不喜欢,阅读源码必须坚持,坚持不下来,什么样的阅读源码技巧都是枉然,因为这是时间的保证。下面是我总结一些的感悟1.先看手册的api,了解大致的构架2.不要一开始就想把所有的细节搞清楚,一口吃个胖子!而是每天研究一部分,由外向内,层层分解,一步一步调试!3.实在看不懂的可以查看别如何理解,或暂时放一下!4.做好读书笔记或写blog分享有人对对看源代码的人进行了分类1) 解决问题型这种类型的人通常是在工作学习中碰到了一个很费解或很棘手的问题,文档也看了,google也.. 阅读全文

zend view 追加css

2013-01-08 18:30 by 掸尘, 272 阅读, 1 推荐, 收藏, 编辑
摘要:今日没什么事,就整理一下以前的代码和看别人的代码,指标评测的项目的js文件都是写在js.ini 配置文件里面,但是css 却没有整理,今天看了一下手册,没找到,只有 headStyle 这个助手类,于是看了一下zend的源码,发现了 Zend_View_Helper_HeadLink 这个类就是在页面上追加link css!具体用法是1.在模板里面<?echo $this->headLink() ?>2.在控制器中$this->view->headLink()->appendStylesheet('css/global.css') 这样css 阅读全文

有关jquery live的效率的问题

2013-01-07 20:40 by 掸尘, 778 阅读, 3 推荐, 收藏, 编辑
摘要:我们有一次代码评审的会议上,说起live的影响效率的事情,众所周知它最直观的好处在于可以一直“监听”我们操作,对于新增的DOM节点也会有效,而不需要重新绑定。也许是因为这个“监听”让我自然的联想到他会不断的去绑定、判断,会造成性能问题,而我理所当然的认为这绝对他妈的浪费内存,而这一切在我看了一篇博文后,为自己理所当然而脸红!下面是某位大神的测试数据,我们来see see//环境:IE8。 工具:sIEve。 jQuery:1.42//普通方式:jQuery(function($){ var li = '<li><a href="#">test 阅读全文