摘要: 最近又受了了蛊惑开始看ember.js。还是MVC还是事件驱动。用来用去发现也并没有帮助我一看代码就能很快明白其中逻辑。总觉得少了点什么。我开始从头审视我究竟希望代码是什么样的。于是有了以下几点。1.MVC带来的好处是数据与视图的绑定。相当于声明了一个数据变化与视图变化的关系,这一点在代码上也能很清楚地提现出来,需要继续利用。2.使用MVC时比较烦人的情况是视图间相互的关联。子视图之间应该是相互不可知的,这样才能尽量解耦。因此需要一个全局事件来进行通信。3.不要再期望直接看懂代码!!!编程中实际缺少的页面效果和代码设计的关联图。我要努力尝试一下,怎么样画一下这个图。 阅读全文
posted @ 2012-06-07 11:56 侯振宇 阅读(590) 评论(0) 推荐(0) 编辑
摘要: 1.underscore源码最外层使用 "(function(){}).call(this)" 的形式包装,如果指定了非window的this对象,则underscore对象会注册到这个对象中。2.“_”一开始被定义为一个返回新实例的函数。结合另一些操作让“_”对象不仅能当对象用,还能当函数用。3.为什么undersocre在循环里要用 "result[result.length] = value" 这种方式来保存结果,而不用数组的push???4.backbone代码使用(function( factory ){ if (typeof define = 阅读全文
posted @ 2012-06-07 11:15 侯振宇 阅读(298) 评论(0) 推荐(0) 编辑
摘要: 1."[]"称为字符集合,表示的是括号内的任意字符,注意是多选一。2。"a-z"这种形式叫做字符区间,只要是再ASCII中的字符就可以用。如果首字符再表中的出现的地方晚于为尾字符出现的地方,则模式失效。3.十六进制前缀"\x"和八进制前缀"\0"返回的是ASCII中的对应位数的字符。4.字符集和中的"."或者"+"会自动转义,可以不加"\"。5."*"、"{}"和"+"贪婪型的,会从头匹配尽量多的 阅读全文
posted @ 2012-06-04 21:09 侯振宇 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 这两天在用appcan做手机应用,非常纠结。就原因做一下总结和备忘:1.产品设计足够了,技术设计还不够。中途换了一次框架,没有考虑到换框架的兼容性。2.过于依赖调试工具,设计和写代码时的大局观不够。3.时间管理做得不够,又陷入了埋头编程的陷阱。关于appcan,以下记录几点:1.使用它的ui不如使用jquery mobile。它的基本上是抄袭的jquery mobile,还抄得很烂。甚至可以考虑自己写,毕竟是使用html5,只要对页面编程够熟就行。2.它的数据库操作是异步的,但是回调函数都注册到同一个全局对象中,导致两个查询同时执行时后一个回调会覆盖之前的,因此只能人工地将所有查询串行的。3. 阅读全文
posted @ 2012-06-04 09:34 侯振宇 阅读(352) 评论(0) 推荐(0) 编辑
摘要: 以下只能说是我的个人开发的感悟。从做网站到现在做WEB端的应用,我度过了三个时期:一、使用框架来搭建自己需要的系统。一开始是大框架如drupal(这里我更倾向于称drupal是框架而不是cms),后来觉得过于笨重。于是改用codeignitor等小框架。二、不再完全使用框架的MVC。而是用框架做服务端数据接口,只提供纯数据,由前端进行逻辑处理和渲染。三、前端从简单的“分模块,渲染与逻辑混合”,到“分模块,面向页面元素的MVC”,再到“分模块,事件驱动的,面向切面的MVC”(稍后详述)。为什么会有这三个时期的转变,实际上很大程度是由我对开发过程的希望驱使的。这些希望是这样的:当需求确定好以后,首 阅读全文
posted @ 2012-06-01 14:28 侯振宇 阅读(537) 评论(2) 推荐(0) 编辑
摘要: 最近的code jam中用到了百度王集鹄大侠开发的ace-engine。用了一下ace-event和ace-template。非常好用,这里介绍一下。ace-event实际上是一个浏览器事件的代理。我们首先来看一个简单例子。你的页面上有一个登陆按钮,按下去以后按钮演示要变,同时弹出登陆对话框。还有一个普通的链接,不需要变化样式,点击同样要出现对话框。我们在实现功能的时候可能会这样做:1.声明弹出对话框的函数。2.给按钮的绑定click事件,先改变样式,再调用对话框函数。3.阻止链接的默认行为,调用对话框函数。这种做法的缺点是:1.逻辑与样式混合,当页面效果复杂了以后代码会混乱。2.页面元素如果 阅读全文
posted @ 2012-05-29 09:41 侯振宇 阅读(653) 评论(0) 推荐(0) 编辑
摘要: 1.javascript 现在泛指按照 ECMAscript Edtion 3 实现的语言。spiderMonkey是 javascript在Mozilla开源项目中的名称。2.javascript的执行分为“语法分析期”和“运行期”。有些看起来正确的代码却不能通过语法分析。如function test(){ //code here}();3."var x=3"中的"="是语法分隔符,具有二义性。这一点还是需要将javascript执行分为两个时期来理解。4.两个引用之间如果等值(==),则一定全等(===)。5.“表达式”、“语句”、“表达式语句”是三 阅读全文
posted @ 2012-05-22 10:13 侯振宇 阅读(541) 评论(7) 推荐(2) 编辑
摘要: 前言最近在几个spa的项目中都使用前后端完全分离,后端只提供数据接口的方式。慢慢总结了一套前端的通用框架。这个框架没有语法限制,没有特别的规则,可接任何语言的后台。一切以快速开发为准则。技术总览技术上来说,使用seajs做模块调度。核心模块有:jquery、jquery-ui、backbone(一个前端MVC框架)、less(一个是css能用变量等编程特性来编写的js库)。已经包括的可用模块有:contextMenu(jquery右键菜单插件)、bootstrap(来自twitter的通用的css和js库)、uploadify(jquery文件上传插件)、qtip(jquery提示插件)。后续 阅读全文
posted @ 2012-04-17 20:14 侯振宇 阅读(7580) 评论(18) 推荐(6) 编辑
摘要: 总体来说盛大云的配置和阿里云差不多。值得一提的是官方提供的centos安装完后,再安装官网apache会出现缺失库的提示。建议安装nginx。论坛有教程。如果使用的是windows,则可能出现安装wamp继承环境不成功,建议使用coreAMP。web配置好一定记得在云主机的控制面板里面左下侧的“安全组”里把需要的端口打开,比如80。否则外网访问不成功。 阅读全文
posted @ 2012-04-12 17:51 侯振宇 阅读(514) 评论(0) 推荐(0) 编辑
摘要: 最近开发的站点使用的阿里云的弹性计算A套餐。使用官方的论坛的一键安装包安装了nginx+php+mysql。要注意的是脚本会提示选择服务器脚本,但是不会选择php版本,默认是5.2.7。由于用到了5.3以上的新特性,比如json_encode支持中文(5.3以下不支持),所以想更改,看了以下install.sh,直接把里面的一个叫php变量的由2改成3就行了,安装包里是已经有5.3的包的。安装好以后将codeigniter 2.2的框架移植过去以后出现了502错误。找了很久,最后在stackflow上看到要确认一下php-fpm的进程是否在。用' ps as | grep php 阅读全文
posted @ 2012-03-04 01:16 侯振宇 阅读(2998) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示