- 博客(34)
- 资源 (1)
- 收藏
- 关注
原创 本博客已停止更新,搬家至博客园,sorry...
<br />新的地址请访问: http://www.cnblogs.com/eric6/ 谢谢~
2011-02-22 22:08:00 1450
原创 【小结】JavaScript函数定义的一些注意事项
1. 函数声明的同时JS引擎还定义了一个与函数名同名的变量,我们在调用这个函数的时候实际上是在使用这个变量,且它可以在函数声明之前调用。2. 函数表达式,此时将匿名函数赋值给了一变量,此变量需在定义后使用。3. 函数表达式(with函数名),这种用法最好避免,此时非IE浏览器中该函数名只在内部可用。4. 用Function构造函数定义,这种方式效率低,每次执行函数的时候,其函数体都会被解析一次。此外这样声明的函数是不会继承当前声明位置的作用域,它默认只会拥有全局作用域...
2011-01-14 14:03:00 1236
原创 Time flies... 小结下2010
总的来说,我的2010就是浮躁的一年,浮躁之余留下的东西并不多。1. 要时刻关注相关的信息动态,以免错失机会。就拿找工作来说,对于应届毕业生来说其实是有优势的,因为这个时候有许多校园招聘,这能够以相对较低的门槛进入一家大公司。可我却错过了。。。2. 关于找工作。最好应该事先定好几家公司,充分了解、认准目标后再行动,而不是盲目的投简历,以免发生我的悲剧,一家看似看专业的公司,进去才发现不但公司技术水平很次,并且很不人性化。3. 自己的财物要很小心的看护好。我大四的时候在学校附近的一家小公司上班,月
2011-01-14 09:50:00 1076
原创 有一种很奇怪的精神叫“加班”...?
很久都没有写文章了,如果博客是个园子,现在肯定杂草丛生了。。。 最近工作很忙,一直在加班,其实说实话也没有忙到没时间学习、没时间写博客,但就是这么奇怪,感觉自从毕业后就变懒了,对技术的追求也没有原来那么热情了,“逆水行舟,不进则退”这道理我当然也懂,可就是觉得有心无力。。。 但很奇怪的是对工作我还是很认真的,再大的难题也都能一一解决,即使加班一直是无偿的,可还是很拼命。于是我想,为什么不把自己学习的时候看作是在加班呢,如果能拿出加班一半的干劲来学习,现状肯定会大大改善,自身的学习带来的价值是毋庸置疑的。
2010-12-11 18:04:00 1160
转载 PHP工程师面临的成长瓶颈
作为Web开发中应用最广泛的语言之一,PHP有着大量的粉丝,那么你是一名优秀的程序员吗?在进行自我修炼的同时,你是否想过面对各种各样的问题,我该如何突破自身的瓶颈,以便更好的发展呢?本文作者会给您一些不错的建议,希望对您有所帮助。
2010-10-21 10:14:00 1673
原创 Xdebug + Eclipse 单步跟踪调试PHP代码
工具介绍:1. XdebugXdebug是一个开放源代码的PHP程序调试器(即一个Debug工具),相当强大,它可以用来跟踪,调试和分析PHP程序的运行状况。Xdebug现在的最新版本是Xdebug 2.1.0, 下载页面是 http://xdebug.org/download.php,注意页面中下载链接有多个(如下图),要根据自己的计算机位数以及PHP版本来选择,搞清楚自己的PHP的版本以及是否线程安全(通过phpinfo函数查看),PHP5.3版本的用户还要知道自己的PHP是由哪种编译器编译的以
2010-10-10 21:30:00 26119 2
原创 PHP的iconv()函数遇到的错误: Detected an illegal character in input string ...
用iconv()转换一个输出字符编码不支持的字符时,如iconv('UTF-8', 'GB2312', '囧'),会遇到这样的错误提示:Notice: iconv() [function.iconv]: Detected an illegal character in input string ...因为GB2312表示的是简体中文,不支持像"囧"之类的更为复杂的汉字以及一些特殊字符,这当然会报错了,解决办法有两种:1. 扩大输出字符编码的范围...
2010-09-21 18:14:00 30539
原创 PHP静态方法的几个注意事项
1. 即使类中的方法并未用static声明,但其未使用到可改变的类成员变量,在外部仍可用操作符::来调用;2. 以静态方式(用::操作符)调用的方法中$this的取值是由调用时的上下文决定的!而不是定义他的类!!例如以下的代码...
2010-09-20 12:19:00 1399
原创 【小结】面向对象设计的几个基本原则
最近在看《大话设计模式》,现将书里看到的一些面向对象设计的原则小结下~单一职责原则就一个类而言,应该仅有一个引起它变化的原因;例子:手机的过多功能违反了单一职责原则;如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力。这种耦合会导致脆弱的设计,当变化发生时,设计会遭受到意想不到的破坏;软件设计真正要做的许多内容,就是发现职责并把那些职责相互分离。要去判断是否应该分离出类来,也不难,那就是如果你能够想到多于一个的动机去改变一个类,
2010-09-19 10:44:00 1528
原创 【小结】PHP之文档注释规范PHPDoc
良好的文档注释不但能使代码易于维护,而且可以通过phpDocumentor等文档生成工具生成项目手册,以便于查阅。此外PHP的弱类型特征更应该引起我们对文档注释的重视!本文简单的介绍下PHPDoc文档注释,以及常用的一些标签。1. 文档注释并不只是用来注释整个文件的,在元素前面声明之后,它可以和该特定的程序元素相关联,例如类、函数、常量、变量、方法等等,以/**开头、*/结束,注意注释与相关联的程序元素间不能有空行;2. 常用的标签...
2010-09-16 17:08:00 7843 2
原创 iFrame应用实例讲解——页面无需刷新的异步文件上传!
说到iframe,现在用它的人是越来越少了,并且很多人都相信它应该被AJAX所取代,的确如此,因为AJAX太出色了。不过有一种情况的实现我还是选择了iframe,这就是本文要说的文件的异步上传,感兴趣的可以试试,如果用原生的AJAX来实现应该是要复杂的多。先来给初学者补补基础知识:1. 在iframe标签一般会指定其name特性以于标识;2. 在form表单中通过action(目标地址)和target(目标窗口,默认为_self)来确定提交的目的地...
2010-09-06 14:39:00 13403 2
原创 【小结】Essential PHP Security - PHP安全基础 (学习小结)
Essential PHP Security - PHP安全基础 译文地址:http://bbs.phpchina.com/viewthread.php?tid=31921. 深度防范原则的必要性,坚持过滤输入,即使是数据库里的数据;2. 降低敏感数据的暴露频率;3. 如果开启了register_globals,任何使用未初始化变量的行为就意味着安全漏洞;4. 网站上线后,要关闭display_errors、打开log_errors,也可通过set_error_handler()定制自己的
2010-09-06 10:32:00 1573
原创 JavaScript 模态窗口的使用及传值:window.showModalDialog 和window.showModalessDialog
JavaScript 的window 对象提供的两个方法,用于新建一个(非)模态窗口,这是一个很朴素的窗口,虽然难看但却相当方便实用。方便之处在于往打开的新窗口中传数据,且在关闭了窗口后,原来的窗口也能轻易地接收到返回的数据。window.showModalDialog 和window.showModalessDialog 的区别仅仅是前者打开的是模态窗口,而后者打开的是非模态窗口,两个函数的用法是一模一样的(模态指它始终处在最前端,在关闭它之前无法对父窗口进行操作)。window.showModa
2010-08-31 16:33:00 6616
原创 Zend Framework 与Smarty 的完美整合!
废话就不说了,思路是这样的:1. 先把smarty 类库引入项目目录中,建立好smarty 所需要的一些目录(编译目录、缓存目录等);2. 在library 目录下新建一个文件Templater.php,这个文件中的Templater 类即是采用smarty 后的新的视图类,它继承自Zend_View_Abstract,注意在这个类中要根据smarty 的操作规则重写Zend_View_Abstract 的一些方法,这样的话,在控制器中我们还是使用Zend_View_Abstract 的视图操作方式
2010-08-30 10:58:00 4574
原创 JSON 的标准:双引号而非单引号!
大家知道PHP 版本自从5.2.0 之后添加了两个支持json 的函数,分别是json_encode 和json_decode,其中json_decode 函数是把json 字符串转换为json 对象,如上例所示。但上面的例子的输出却为null,即转换失败了。这究竟是为什么呢,baidu 了一下,有人说是PHP 的这两个函数对json 的支持不够完全导致的,解决办法是把单引号改成双引号就行了,可这真的是PHP 的一个失误吗?...
2010-08-26 17:37:00 34623 4
原创 【小结】WordPress 代码高度显示插件SyntaxHighlighter Evolved 的优缺点小结
今天想为新建的wordpress 博客安装个代码高亮显示的插件,在网上一搜发现确实有不少,几经比较和测试之后最终选择了SyntaxHighlighter Evolved。另外Syntax Highlighter and Code Colorizer 也是不错的,不过当插入像这样的特殊标签还是要手动转义,我是觉得很麻烦,最终只好放弃。。。以下是我总结的 SyntaxHighlighter Evolved 的一些优缺点:优点:不需要手动转义特殊代码、后台配有强大的定制面板;缺点:在Firefox下发表时
2010-08-23 16:08:00 2968
原创 JavaScript 实用效果 - 导航区域跟随窗口滚动!
我们经常可以看到这样的页面,页面的主体部分采用左右布局,靠左的为导航,靠右的为页面主要内容。而当左边的导航高度不够、而右边的内容很多时,页面往下拉会发现左边空出了一大块,导致主体内容显得窄小且页面整体不对称,如下图:解决的办法之一是在窗口滚动时,左边的区域也跟着一起移动,这不但解决了上述问题,也一定程度上地增强了用户体验,因为此时用户能够随时地导航到其他页面而不需要回到页面顶部...
2010-08-20 12:23:00 5295
原创 【总结】回车换行符/r/n 的区别与来历,原来如此。。
有看过《辛德勒的名单》的朋友应该记得有这么个场景,当时辛德勒想招一个打字员,一个胖胖的妇女前来面试,打字飞快。不知道大家有没有注意,她每打完一行都要手动将打字机的针头移回至行首,然后再移至下一行继续,这其实就是“回车(carriage Return)、换行(Next line)”的来历,很形象吧。此外在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打10个字符。但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正好可以打两个字符。要是在这0.2
2010-08-11 10:46:00 1628
原创 【小结】jQuery 对复选框checkbox 值的获取
1 2 31. 获取第一个选中的value 值: $('input[name="test"]:checked').val() ...2. 获取每一个选中的值(貌似只能通过遍历?): $('input[name="test"]').each(function(){ if (this.checked) $(this).val() ... });
2010-08-10 18:03:00 987
原创 PHP调用Oracle存储过程时的错误:ORA-06502: PL/SQL: numeric or value error: character string buffer too small
刚刚试着用PHP 的oci8 函数集去调用一个存储过程时总是查询失败且返回以下错误,很是郁闷。。ORA-06502: PL/SQL: numeric or value error: character string buffer too small后来发现是在使用oci_bind_by_name() 函数时没有为绑定的输出变量预先分配好存储的缓冲区大小,例如:
2010-08-10 15:44:00 4500
原创 Apocalypse ?
好几天了,日历上的备注空空如也,什么事都没做。。。明知道已经落在计划后面了,却仍是有心无力。周末有大量的空闲时间,本是学习的大好时光,但却没一次好好利用过,总是会找一些理由让自己堕落。。。今天又起晚了,闹钟响的时候我其实是清醒的,可这时惰性又跑出来跟我说:再睡一小会儿没关系的。就这么一小句话就把我击溃了。。。在梦境里,我仍旧睡在床上,但眼前却是豁然开朗,房间的墙不见了,我看到的是深圳繁忙的清晨,到处是赶去上班的人群。突然一个画面抢占了我的眼球...
2010-08-09 11:06:00 789
原创 JavaScript 实现的客户端表格排序
Javascript 表格排序, 参考至《JavaScript高级程序设计》一书, 点击表头即可进行排序, 再次点击反向排序, 对字符串格式的第一次为正向排序, 对整型, 浮点型以及日期型的格式第一次点击为逆向排序, 这样更符合人们的习惯, 还对特殊的数据结构(这里是图片)进行了排序, 是通过设置td 的value 属性并对其值进行排序实现的, 效果如下:
2010-08-06 22:40:00 1043
转载 【转】退而求其次的选择1:使用IFrame发送请求《深入理解Ajax:基于JavaScript的RIA开发 》
IFrames为异步调用提供了一个合适的传输途径,因为它们可以在不使整个页面重新装载的基础上载入新内容,而新的IFrame元素则可以通过JavaScript创建。IFrame最好的属性之一是表单可以将其作为目标,从而只需重载IFrame而不用对整个页面进行重载;该方法可以通过POST类型请求将大量数据发送给服务器。在使用IFrame作为传输方法时,其中的一个难点是载入的页面必须是HTML格式的,并且在载入完成时,需要通过JavaScript的onload事件句柄来告诉其父文档。这就使得基于 IFra
2010-08-06 22:00:00 4405
原创 【小结】SPL 自动加载(from《PHP高级程序设计 模式、框架与测试》)
SPL 的自动加载是PHP5.1.2 之后推出的一个可以用于取代魔术方法__aotuload() 的一标准类库,这可以用于解决以下问题:当拥有一个大规模的应用程序,其中包含了库或者多个不同的较小的应用程序,那么每个应用程序可能都希望声明一个__autoload() 函数去查找它的文件。而问题在于,在全局范围内简单地声明两个__autoload() 函数会产生重复声明的错误。接下来看下它的用法...
2010-08-03 07:19:00 1789
原创 Zend Framework 的一个bug, 居然不能设置数据库读取时的字符编码...
今天在用Zend Framework 1.9.8 的时候,发现页面输出的总是乱码,数据库的字段编码、文件编码、HTML输出编码都统一为了utf-8,居然还会出现乱码,相当晕。。。通过排查发现是从数据库中读数据的时候出现了乱码,但是我已经按照ZF的方式在配置文件application.ini 中添加了语句resources.db.charset = utf8 却还是不行,于是我试着在Model 里面加入语句die(var_export(self::$_defaultDb->getConfig())) 进行
2010-07-30 17:04:00 1189
原创 【总结】PHP关于VC9和VC6以及Thread Safe和Non Thread Safe版本的选择
刚刚去下载Xdebug 时发现windows 下有很多版本,而这些版本是要根据自己的PHP 版本来选择的,有VC6、VC9、Thread Safe 以及Non Thread Safe。百度了一下,发现是这样的:1. VC6 与VC9 是编译环境的不同产生的,从PHP5.3.0 开始(之前全都是VC6),PHP 分了VC6 和VC9 的区别(仅限于windows 环境)VC6 版本是...
2010-07-28 12:54:00 2595
原创 【小结】初学Zend_Db_Table Relationships
挣扎了一天,用是会用了,只是不知道这样实现究竟有没有必要。。。废话不多说,这里有三张表:文章表、文章分类表以及文章内容表,文章表通过分类id来关联分类信息、通过文章id来关联文章的内容,现在是想通过文章id把文章的信息读取出来,包括文章的分类名称以及文章内容。以下是创建这三张表的SQL语句:
2010-07-26 17:17:00 1257
原创 火狐下setting a property that has only a getter 的错误, 真是诡异...
刚刚遇到了个很诡异的问题,有一段看似没有错误的js代码硬是在火狐下会报个“setting a property that has only a getter”错误,而在其他浏览器下却可以正常运行,代码大概是这样的:
2010-07-22 10:25:00 4004
原创 【小结】Apache 多个站点的配置
目的是要使得在同一服务器中可以通过不同的域名访问各自指定的目录,例如blog.ericliu.net 可以访问博客版块、bbs.ericliu.net 可以访问论坛版块等等(不限于二级域名)1. 在httpd.conf文件中确保语句Include conf/extra/httpd-vhosts.conf 没有被注释掉,这是引入外部的虚拟站点的配置文件2. 在httpd-vhosts.conf 文件中加入虚拟站点的声明语句,可添加多个,例如
2010-07-20 12:31:00 815
原创 【总结】Zend Framework-当web服务器不支持mod_rewrite时页面地址的写法
最近在用Zend Framework 搭建网站时发现了如下两个问题:1. 当web 服务器不支持mod_rewrite 时怎么办呢,在网上百度了一下发现只要访问时url 跟上'index.php'就又可以正常访问了2. 当url 后面跟着'index.php'时通过视图助手BaseUrl 获取到的网站基地址也会含有'index.php',这样一来就css、js 以及图片等文件的引入就会出问题这样一来可知,当web 服务器不支持mod_rewrite 时页面的链接地址是必须要带有'in
2010-07-09 21:01:00 1143
原创 【小结】Zend Framework Quick Start 之Create A Layout
Layout 可以看作是整个网站的布局模板(site-wide view script),为所有页面共用,在这里添加了html 的标签结构所有页面也就有了,并且使得所有的页面都可以具有相同的布局(相同的头部和尾部),因为大多数网站都有自己固定的布局、风格以及头部和尾部,这省去了很多麻烦事...
2010-06-13 15:34:00 1352
原创 【小结】在httpd.conf 中配置VirtualHost
通过在Apache 的配置文件中httpd.conf 配置VirtualHost,可以使访问定向到特定的目录下,以下是在ZF 手册的quickstart 中看到的,记录下。。。在httpd.conf 文件的末尾添加VirtualHost 的声明语句,保存然后重启Apache ...
2010-06-09 11:08:00 8895 1
转载 【转】JavaScript - 用事件代理监听一系列元素
JavaScript - 事件代理window.onload = function() { var resources = document.getElementById('nav'); resources.onclick = handler; //添加监听函数 function handler(e) { var oEvent = window.event || e; //获取事件对象 var x = oEvent.srcElement || o
2010-06-08 17:32:00 1035
原创 【小结】利用zf Command Line Tool 建立项目结构
今天开始决定好好地学习下Zend Framwork, 省得一直无所事事... 刚刚用zf Command Line Tool 建立好了项目结构, 现记录下:1. 下载最新版的Zend Framework, 我这里用的是1.10.52. 将解压之后的library/Zend 目录复制到你的include_path 路径下 ...
2010-06-08 14:55:00 1606
(电子书)Zen Cart E-Commerce Application Development
2010-04-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人