代码改变世界

博客迁移到独立域名owenchen.net,此博客不再更新。

2014-01-02 09:21 by Owen Chen, 783 阅读, 0 推荐, 收藏, 编辑
摘要:博客已迁移到阿里云,自己搭的wordpress,可以有更多的灵活性。写点代码,放点示例,欢迎访问。owenchen.net 阅读全文

使用Yeoman快速启动AngularJS项目开发

2013-11-04 08:12 by Owen Chen, 5346 阅读, 0 推荐, 收藏, 编辑
摘要:本博客停止更新,请访问新个人博客:owenchen.net前言博客迁移到了BAE上,http://owenchen.net/,以后的文章会首发在自己的博客上,随后在博客园发布。很久没有写文章了,一是项目比较忙,二来自己在尝试一些互联网新的产品,以微信平台开发为主,看看能不能挣点零花钱以缓解目前的经济... 阅读全文

三种方式实现动态元素水平居中

2013-07-31 22:18 by Owen Chen, 5074 阅读, 0 推荐, 收藏, 编辑
摘要:用三种方式实现动态元素的水平居中。 阅读全文

使用中文输入法时对键盘事件的处理

2013-07-25 23:09 by Owen Chen, 18225 阅读, 4 推荐, 收藏, 编辑
摘要:最近很久没有更新博客了,不是没有东西写,而是没有时间写。公司项目上事情比较多,又在工会谋了份差事;家里房子装修,尽管有老爸盯着,但很多时候还是要自己跑来跑去。所以有时候有了写博客的想法,却老是坐不下来细细写。这些就算为自己这段时间的荒废找个小小的借口吧。其实最主要的问题还是在于自己对博客的定位。之前一直想每篇博客都尽量找到一些比较好的主题,写的比较详细,这样看起来比较专业。但是这样要求的话,每一篇就要花狠多时间准备,很多时间编写,无形中也给自己带来了很多压力。这也是久久没有动笔的一个主要原因。后来在看很多牛人的博客的时候,发现他们也经常放一些小的但是很有用的东西在博客上。都是平时开发的时候遇到 阅读全文

JavaScript事件代理和委托(Delegation)

2013-02-18 17:32 by Owen Chen, 38283 阅读, 10 推荐, 收藏, 编辑
摘要:在javasript中delegate这个词经常出现,看字面的意思,代理、委托。那么它究竟在什么样的情况下使用?它的原理又是什么?在各种框架中,也经常能看到delegate相关的接口。这些接口又有什么特殊的用法呢?这篇文章就主要介绍一下javascript delegate的用法和原理,以及Dojo,jQuery等框架中delegate的接口。JavaScript事件代理首先介绍一下JavaScript的事件代理。事件代理在JS世界中一个非常有用也很有趣的功能。当我们需要对很多元素添加事件的时候,可以通过将事件添加到它们的父节点而将事件委托给父节点来触发处理函数。这主要得益于浏览器的事件冒泡机 阅读全文

在Node.js上使用dojo库进行面向对象web应用开发

2013-01-26 19:39 by Owen Chen, 1873 阅读, 0 推荐, 收藏, 编辑
摘要:最近准备在一个项目上使用Node.js,摸索了一段时间之后基本能够运用起来。由于自己一直做的是JavaEE开发,所以比较习惯于使用面向对象的方式进行开发。而接触前端的第一个框架是Dojo,同样提供了面向对象编程的机制。所以就想着是否在后台node.js上通过加载Dojo库的一些纯javascript的模块来进行面向对象开发。google了之后的确发现了几篇介绍在Node上运行Dojo的文章,先贴在这里:一个是我们公司的Dojo部门的同事写的在 Node.js 上使用 Dojo,还有一篇是一个比较完整的介绍node.js和dojo结合的方案:node.js与dojo完美的融合-开发完全面向对象化 阅读全文

一个完整的基于Node.js web应用详解

2013-01-23 23:23 by Owen Chen, 19189 阅读, 1 推荐, 收藏, 编辑
摘要:本博客停止更新,请访问新个人博客:owenchen.duapp.com前言这篇文章所使用的例子是基于《node.js开发指南》这本书中的例子和源代码来做的。express从2.x到3.x引入了非常大的变化,很多模块都被独立出去,并且调用的接口也发生了很大的变化,所以原有的代码在express3.x上是不能运行的。在尝试的过程中,做了很多迁移的工作,同时将一些模块进行了一定的分离和整合,使得整个项目更加具有结构性和可扩展性。这里首先要推荐一下《node.js开发指南》这本书,想学习和使用Node.js的同学,这确实是一本非常全面的介绍Node.js的书籍,看完了之后,结合书中的例子代码,基本可以 阅读全文

在Sublime Text 2 中使用Git插件连接GitHub

2012-12-28 15:57 by Owen Chen, 15266 阅读, 1 推荐, 收藏, 编辑
摘要:本博客停止更新,请访问新个人博客:owenchen.duapp.com“工欲善其事,必先利其器。” 这是古人的教诲,也是一个高效率的工程师需要遵循的法则之一。从大学开始写java使用了JBuilder,Eclipse,后来写PHP用了Zend,写JavaScript的时候用了Aptana。这些都是非常优秀的IDE,在各自的语言和应用开发环境中给程序员们提供了极大的便利。而作为一个合格的程序员,也应该懂得选择合适的IDE针对不同的应用不同的语言进行开发。我一直以来都是使用Eclipse,对它也产生了极大的依赖,基本开发别的语言的时候都是找到相应的插件(Eclipse的插件确实强大,zend,ap 阅读全文

从Dojo1.6到Dojo1.8(三)—— Parser,Dijit,DojoX

2012-12-25 15:44 by Owen Chen, 2071 阅读, 2 推荐, 收藏, 编辑
摘要:前面两篇文章介绍了Dojo1.8的AMD以及Dojo core当中相关模块的变化。接下来我们介绍一下Dijit,Dojox这两个控件组件模块的变化。Parser在具体讲Dijit之前,我们先了解一下dojo/Parser模块,这个模块由原先dojo.parser转变而来。dojo对于控件的使用提供了编程式(programmatic)和声明式(declarative markup)两种方式。dojo/parser是用来翻译声明式的控件定义,并将它们渲染成控件的实例对象和控件相应的dom节点。对于dojo/parser的调用方式如下:require(["dojo/parser" 阅读全文

从Dojo1.6到Dojo1.8(二)—— 基本模块,事件,约定,DOM操作

2012-12-20 23:51 by Owen Chen, 2198 阅读, 0 推荐, 收藏, 编辑
摘要:上一篇文章介绍了Dojo1.8带来的整体上的变化,以及AMD机制带来的Dojo模块化的改变。这一篇文章将把中心放在dojo core的改变上。将从dojo base的几个基本模块lang,array,load等入手,再详细介绍一下Event,Advice,Topics,Promises,Requests等几个常用功能的变化。相信从上一篇的介绍,大家应该能够感觉到dojo在模块化上的变化,baseless是一个趋势,就是说一个模块仅仅依赖于它所要使用的模块,而非去加载一个dojo.js,其实里面有很多的类和方法都是没有被使用到的。从1.8开始,要尽量避免使用dojo.*,取而代之的将是很多个新的 阅读全文