利用Xdebug分析PHP程序,找出性能瓶颈[原创]
[ 2007-6-28 10:17 | by 张宴 ]
[文章作者:张宴 本文版本:v1.0 最后修改:2007.06.28 转载请注明出处:http://blog.zyan.cc]
经济学中有一条著名的80-20定律,引用到编程中,就是:80%的性能瓶颈是由20%的代码引起的。借助PHP的XDebug扩展,可以有效地找出这20%的代码。
一、安装配置
1、下载PHP的XDebug扩展,网址:http://xdebug.org/
2、在Linux下编译安装XDebug
注:/usr/local/php/lib/php/extensions/no-debug-non-zts-20020429/不同的PHP版本路径不同,也不一定要放在该路径,可以在zend_extension_ts中自行指定xdebug.so所在位置。
经济学中有一条著名的80-20定律,引用到编程中,就是:80%的性能瓶颈是由20%的代码引起的。借助PHP的XDebug扩展,可以有效地找出这20%的代码。
一、安装配置
1、下载PHP的XDebug扩展,网址:http://xdebug.org/
2、在Linux下编译安装XDebug
引用
tar -xzf xdebug-2.0.0RC3.gz
cd xdebug-2.0.0RC3
/usr/local/php/bin/phpize
./configure --enable-xdebug
cp modules/xdebug.so /usr/local/php/lib/php/extensions/no-debug-non-zts-20020429/
cd xdebug-2.0.0RC3
/usr/local/php/bin/phpize
./configure --enable-xdebug
cp modules/xdebug.so /usr/local/php/lib/php/extensions/no-debug-non-zts-20020429/
注:/usr/local/php/lib/php/extensions/no-debug-non-zts-20020429/不同的PHP版本路径不同,也不一定要放在该路径,可以在zend_extension_ts中自行指定xdebug.so所在位置。
软件测试用例(Test Case)设计
[ 2007-6-26 18:02 | by 张宴 ]
上周,我重写了一个视频接口程序,这周准备写个测试用例文档,按照该文档对该程序进行测试。测试用例(Test Case)是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。
关于测试用例的设计,我在网上找到了一组不错的文章,贴上链接:
一、测试用例设计白皮书--测试用例基本概念
二、测试用例设计白皮书--等价类划分方法
三、测试用例设计白皮书--边界值分析方法
四、测试用例设计白皮书--错误推测方法
五、测试用例设计白皮书--因果图方法
六、测试用例设计白皮书--判定表驱动分析方法
七、测试用例设计白皮书--正交实验设计方法
八、测试用例设计白皮书--功能图分析方法
九、测试用例设计白皮书--场景设计方发
十、测试用例设计白皮书--测试用例设计综合策略
关于测试用例的设计,我在网上找到了一组不错的文章,贴上链接:
一、测试用例设计白皮书--测试用例基本概念
二、测试用例设计白皮书--等价类划分方法
三、测试用例设计白皮书--边界值分析方法
四、测试用例设计白皮书--错误推测方法
五、测试用例设计白皮书--因果图方法
六、测试用例设计白皮书--判定表驱动分析方法
七、测试用例设计白皮书--正交实验设计方法
八、测试用例设计白皮书--功能图分析方法
九、测试用例设计白皮书--场景设计方发
十、测试用例设计白皮书--测试用例设计综合策略
告别,学生时代……[原创]
[ 2007-6-23 20:10 | by 张宴 ]
2007年6月16日晚8点50分,我和GF乘坐538路公交匆匆地离开了学校南三门,前往武昌火车站。车开动的那一刻,GF双手捂住脸,哭了……。此去,不知何年何月才会重回武汉。生活四年的中南民族大学,再见!
2007年6月18日,星期一,回到新浪,和同事们的一番拥抱之后,重新投入到了工作中。此时,告别了学生时代,此刻,人生历史的新篇章揭开帷幕……
(以上DV来自民大新闻网-第四届毕业生论坛)
2007年6月18日,星期一,回到新浪,和同事们的一番拥抱之后,重新投入到了工作中。此时,告别了学生时代,此刻,人生历史的新篇章揭开帷幕……
(以上DV来自民大新闻网-第四届毕业生论坛)
PHP XML Library:一个不错的PHP XML操作类
[ 2007-6-19 19:08 | by 张宴 ]
今天在PHP4环境下重新写一个接口程序,需要大量分析解析XML,PHP的xml_parse_into_struct()函数不能直接生成便于使用的数组,而SimpleXML扩展在PHP5中才支持,于是逛逛搜索引擎,在老外的网站上找到了一个不错的PHP XML操作类。
一、用法举例:
1、将XML文件解释成便于使用的数组:
一、用法举例:
1、将XML文件解释成便于使用的数组:
江风低吟离别歌[原创]
[ 2007-6-15 23:29 | by 张宴 ]
毕业,倒计时……[原创]
[ 2007-6-14 23:42 | by 张宴 ]
今天上午,我参加完了校医院组织的毕业生体检,完成了毕业流程中需要自行办理的最后手续。我决定6月17日返回北京,18日(下周一)回到阔别1个月之久的新浪重新开始工作。由于毕业证、派遣证6月28日才能领取,我准备写个委托书,交给室友代为领取,然后邮寄给我。
下午,我将大学四年的书籍、衣物等东西进行了整理,所有的专业课本只留下一本《国际贸易实务》和一本《会计学》所为纪念,其余的都准备卖了。再见了,我的“国际经济与贸易”专业。
校园内的毕业生跳蚤市场十分火热,我和GF也去卖了一下不准备带走的东西,感受那种属于大四所独有的气氛。“这个背包多少钱?”→“3元。”→“两元卖不卖?”→“OK,成交。”,经过一下午的超级廉价交易,收入将近有50元,还不错。只是,这种贱卖商品的机会也许再也不会拥有了。
用照片,记忆那瞬间……
下午,我将大学四年的书籍、衣物等东西进行了整理,所有的专业课本只留下一本《国际贸易实务》和一本《会计学》所为纪念,其余的都准备卖了。再见了,我的“国际经济与贸易”专业。
校园内的毕业生跳蚤市场十分火热,我和GF也去卖了一下不准备带走的东西,感受那种属于大四所独有的气氛。“这个背包多少钱?”→“3元。”→“两元卖不卖?”→“OK,成交。”,经过一下午的超级廉价交易,收入将近有50元,还不错。只是,这种贱卖商品的机会也许再也不会拥有了。
用照片,记忆那瞬间……
PHP中常用的字符串函数[转载]
[ 2007-6-13 16:24 | by 张宴 ]
PHP中的字符串操作功能是比较多的,重要的有以下这些:
(1)echo,print,printf,sprintf
前两个函数是输出字符串.字符串中如果有变量名则被替换成其值. 后两个函数类似于C的同名函数.
(1)echo,print,printf,sprintf
前两个函数是输出字符串.字符串中如果有变量名则被替换成其值. 后两个函数类似于C的同名函数.
一场耗时长久的毕业论文答辩[原创]
[ 2007-6-3 23:58 | by 张宴 ]
6月3日的毕业论文答辩真是一场“耗时长久的大战”啊,原定计划的是每15分钟完成一位同学的答辩,而实际上每一轮答辩都将近花了40多分钟,害我从早上一直等到晚上。答辩现场共四位老师,每位老师各指导有8个学生。XX教授总是挑学生论文的格式、结构、参考文献等毛病,把其他老师指导的论文批得一无是处,结果每一轮答辩都会引起老师之间互相争论,于是,老师之间的争论成为了答辩过程中不是环节的环节。
晚上8点,终于轮到我上场了:首先,我按照流程上台陈述了自己论文的选题理由、主要内容、创新点。我知道我在说这些的时候,没老师会认真听,他们正在看我论文找毛病,准备刁难我呢。我的论文探讨的是腾讯Q币、新浪U币、百度币等网络虚拟货币,紧扣互联网和电子商务,炒作“网络虚拟货币”这个新概念。除我导师之外的其他三位老师显然心里准备不足,对网络虚拟货币很朦胧,结果我轻松地PK掉了两位年轻老师。这时,轮到XX教授上场了,他避开自身的弱势,发挥自己的优势,紧紧抓住我论文中的法律问题部分不放。这时,我的论文导师说了句:“网络交易过程中遇到的法律问题和缺陷,有时候可以用技术来弥补”。然后,我乘机向XX教授说了一大堆技术问题,他一脸茫然,估计是听不懂,最后点点头让我通过了。一个字,爽。
答辩完成,匆匆地赶往桥楼参加中南民大新闻网2003级同学的毕业聚餐。毕业,青春散场了……
晚上8点,终于轮到我上场了:首先,我按照流程上台陈述了自己论文的选题理由、主要内容、创新点。我知道我在说这些的时候,没老师会认真听,他们正在看我论文找毛病,准备刁难我呢。我的论文探讨的是腾讯Q币、新浪U币、百度币等网络虚拟货币,紧扣互联网和电子商务,炒作“网络虚拟货币”这个新概念。除我导师之外的其他三位老师显然心里准备不足,对网络虚拟货币很朦胧,结果我轻松地PK掉了两位年轻老师。这时,轮到XX教授上场了,他避开自身的弱势,发挥自己的优势,紧紧抓住我论文中的法律问题部分不放。这时,我的论文导师说了句:“网络交易过程中遇到的法律问题和缺陷,有时候可以用技术来弥补”。然后,我乘机向XX教授说了一大堆技术问题,他一脸茫然,估计是听不懂,最后点点头让我通过了。一个字,爽。
答辩完成,匆匆地赶往桥楼参加中南民大新闻网2003级同学的毕业聚餐。毕业,青春散场了……
民大第四届毕业生论坛之后,答学弟问[原创]
[ 2007-6-2 23:29 | by 张宴 ]
6月1日晚参加了校党委宣传部、党委学工部、招生就业处主办,民大在线承办的第四届毕业生论坛。后来,有学弟发电子邮件给我,说有一些困惑想询问一下我。他提出的问题很有现实意义,我决定将他的提问和我的回答分享出来。我的回答代表我个人的观点,仅供参考:
答:①非计算机专业。虽然我对计算机从小就感兴趣,但是因为我2003年参加的是“3+X文科综合”高考,而各大学的计算机类专业只招理科生,于是我在填报志愿时选择了现在的所学专业──国际经济与贸易。
②时间多。我所学的国贸专业偏重文科,所以给我自学计算机技术的时间相对比较多。
③无师资,靠自学。我从未参加过任何的计算机培训班,也未听过计算机专业的课程,偶尔有计算机届牛人举办的讲座,我会去听听。选择后者,是因为我喜欢倾听别人解决问题的一种思想和理念,而非解决问题的详细步骤。
④自学,最重要的是实践和积累。写得程序多了,遇到的问题也多了,查找的资料也多了,解决问题经验也多了,学到的知识技能也多了,技术水平也就在日积月累中提高了。
答:克服困难和挫折,我首先靠的是自己长期以来坚持的一种信念:“我相信我能够,然后我能够做到。”另外,每当做一件事情之前,我会考虑到它最坏的结果,以及在这种情况下我该怎么办。所以,每当遇到坎坷困境时,我都早有心里准备,不会垂头丧气。如果不能改变环境,就去适应它,或者选择另外的道路去到达目的地。
引用
1、您不是机算计专业的,计算机水平却不亚于该专业的。可否分享一下你自学成才的经验:
①机算计专业 | 非计算机专业;②时间多 | 时间少;③有师资 | 无;④听课+自学 | 自学。
①机算计专业 | 非计算机专业;②时间多 | 时间少;③有师资 | 无;④听课+自学 | 自学。
答:①非计算机专业。虽然我对计算机从小就感兴趣,但是因为我2003年参加的是“3+X文科综合”高考,而各大学的计算机类专业只招理科生,于是我在填报志愿时选择了现在的所学专业──国际经济与贸易。
②时间多。我所学的国贸专业偏重文科,所以给我自学计算机技术的时间相对比较多。
③无师资,靠自学。我从未参加过任何的计算机培训班,也未听过计算机专业的课程,偶尔有计算机届牛人举办的讲座,我会去听听。选择后者,是因为我喜欢倾听别人解决问题的一种思想和理念,而非解决问题的详细步骤。
④自学,最重要的是实践和积累。写得程序多了,遇到的问题也多了,查找的资料也多了,解决问题经验也多了,学到的知识技能也多了,技术水平也就在日积月累中提高了。
引用
2、您在自学计算机的过程中也会遇到一些困难和挫折吧,可否分享一下有哪些?以及您是怎样克服的?
答:克服困难和挫折,我首先靠的是自己长期以来坚持的一种信念:“我相信我能够,然后我能够做到。”另外,每当做一件事情之前,我会考虑到它最坏的结果,以及在这种情况下我该怎么办。所以,每当遇到坎坷困境时,我都早有心里准备,不会垂头丧气。如果不能改变环境,就去适应它,或者选择另外的道路去到达目的地。
今日关键字:毕业合影、论文、基金[原创]
[ 2007-5-29 23:44 | by 张宴 ]
上午8点,我们中南民族大学经济学院2003级毕业生照了毕业合影。
10点半,我去指导老师办公室交了毕业论文的第三稿,老师让我回去将摘要修改一下,就可以定稿了,答辩时间定在6月3日。
下午,我和GF去工商银行将大一入学时学校统一办的工商银行牡丹卡销户。我的武汉招商银行一卡通中还剩几百元钱,我在招商银行网站(http://www.cmbchina.com)为这张卡开通了“银基通”,申购了“开放式基金”。基金是一种中长期投资,其稳定性要比股票高,至于跌涨,我就不去关心了,毕竟我只是买几百元的基金玩玩。
有关基金信息的财经网站:
1、入门篇:新浪财经-开放式基金投资宝典(http://finance.sina.com.cn/fund/focus/baodian/index.shtml)
2、新浪财经-基金(http://finance.sina.com.cn/fund/index.shtml)
3、和讯-基金(http://funds.money.hexun.com/)
4、和讯-基金数据(http://funds.money.hexun.com/fundsdata/)
5、金融界-基金频道(http://fund.jrj.com.cn/fund/)
10点半,我去指导老师办公室交了毕业论文的第三稿,老师让我回去将摘要修改一下,就可以定稿了,答辩时间定在6月3日。
下午,我和GF去工商银行将大一入学时学校统一办的工商银行牡丹卡销户。我的武汉招商银行一卡通中还剩几百元钱,我在招商银行网站(http://www.cmbchina.com)为这张卡开通了“银基通”,申购了“开放式基金”。基金是一种中长期投资,其稳定性要比股票高,至于跌涨,我就不去关心了,毕竟我只是买几百元的基金玩玩。
有关基金信息的财经网站:
1、入门篇:新浪财经-开放式基金投资宝典(http://finance.sina.com.cn/fund/focus/baodian/index.shtml)
2、新浪财经-基金(http://finance.sina.com.cn/fund/index.shtml)
3、和讯-基金(http://funds.money.hexun.com/)
4、和讯-基金数据(http://funds.money.hexun.com/fundsdata/)
5、金融界-基金频道(http://fund.jrj.com.cn/fund/)
2006/2007欧洲冠军杯决赛──AC米兰:利物浦
[ 2007-5-24 14:45 | by 张宴 ]
MySQL数据库故障解决──修复损坏的表[原创]
[ 2007-5-23 22:41 | by 张宴 ]
昨天,校党委宣传部的W老师打电话向我寻求帮助,说中南民大论坛MySQL数据库发生故障,他们试图用5月7日的数据库备份去恢复,但没有成功。我晚上回宿舍后,登录到民大论坛服务器上一看,原来是论坛MySQL数据库的一张MySQL表损坏。根据我的经验,成功修复MySQL损坏表的概率是90%,根本没有必要急着去用旧的数据库备份去恢复,何况备份又不及时,5月7日到发生故障的5月22日,意味着要丢失15天的数据啊。
我修复了5月22日的数据库,故障发生之前的数据没有丢失。方法很简单,四步即可搞定。
①、用root帐号从命令行登录MySQL:
mysql -u root -p
②、输入root帐号的密码。
③、选定数据库名(本例中的数据库名为studentmis):
use studentmis;
④、修复损坏的表(本例中要修复的表为smis_user_student):
repair table smis_user_student;
我修复了5月22日的数据库,故障发生之前的数据没有丢失。方法很简单,四步即可搞定。
①、用root帐号从命令行登录MySQL:
mysql -u root -p
②、输入root帐号的密码。
③、选定数据库名(本例中的数据库名为studentmis):
use studentmis;
④、修复损坏的表(本例中要修复的表为smis_user_student):
repair table smis_user_student;
写在22岁生日之后[原创]
[ 2007-5-21 12:07 | by 张宴 ]
中国网络视频发展史上一次里程碑式的强强联手
[ 2007-5-18 06:40 | by 张宴 ]
新浪与中国电信之间,一项涉及到我所在部门──的合作昨天正式对外公布。新浪的视频内容资源+电信的网络带宽资源,形成了一种强有力的优势互补。播客等形式的视频分享网站,对网络带宽的要求很高,需要支付给基础电信运营商高额的带宽租赁费用。新浪与中国电信达成合作,将节省播客的高额带宽成本,再加上新浪和中国电信互联星空的用户群基础,从而间接形成了对其他视频分享网站的竞争优势。可惜我离开北京回学校弄毕业论文去了,不能亲眼目睹新闻发布会。
新浪科技讯 2007年5月17日,新浪与中国电信联合召开新闻发布会,正式宣布双方在播客业务上结为全面合作伙伴关系,将以联合品牌“新浪-互联星空播客”的全新形象跟网民见面。今后,网民不仅将体验到速度更流畅、内容更丰富的播客平台,而且无论在新浪网,还是互联星空网站都可使用播客的全部服务。
在视频分享领域,基础电信运营商与门户网站的全面合作,在国内尚属首例。双方合作后,新浪将负责新浪-互联星空播客的运营,中国电信将提供新浪-互联星空播客运营所需的网络资源。此次新浪与中国电信在播客产品上的全面合作,不仅是新浪在网络视频平台建设方面的重大举措,也是中国电信整合互联网资源的有益尝试,成为中国网络视频发展史上的又一里程碑。一方面,中国电信的带宽优势将大大提升播客视频的浏览速度,实现播客用户体验的一次飞跃性发展;另一方面,新浪强大用户基础和内容资源则使中国电信轻松完成网络视频分享平台的建构,成为中国电信互联星空无可替代的内容资源。
播客的核心价值在于音视频互动和分享,对于网民而言,除了内容的丰富生动之外,音视频的浏览速度快慢直接影响用户体验,因此,高投入的网络硬件需求成为播客发展的关键因素。新浪与中国电信合作将大大提升播客音视频的浏览速度,使画面更加清晰流畅,为广大网友提供更优质快捷、更人性化的网络视频服务,让网民真正享受播客“自娱众乐”的乐趣。
附:“新浪、中国电信”播客产品合作专题(http://tech.sina.com.cn/focus/sina_dx_V/index.shtml)
新浪科技讯 2007年5月17日,新浪与中国电信联合召开新闻发布会,正式宣布双方在播客业务上结为全面合作伙伴关系,将以联合品牌“新浪-互联星空播客”的全新形象跟网民见面。今后,网民不仅将体验到速度更流畅、内容更丰富的播客平台,而且无论在新浪网,还是互联星空网站都可使用播客的全部服务。
在视频分享领域,基础电信运营商与门户网站的全面合作,在国内尚属首例。双方合作后,新浪将负责新浪-互联星空播客的运营,中国电信将提供新浪-互联星空播客运营所需的网络资源。此次新浪与中国电信在播客产品上的全面合作,不仅是新浪在网络视频平台建设方面的重大举措,也是中国电信整合互联网资源的有益尝试,成为中国网络视频发展史上的又一里程碑。一方面,中国电信的带宽优势将大大提升播客视频的浏览速度,实现播客用户体验的一次飞跃性发展;另一方面,新浪强大用户基础和内容资源则使中国电信轻松完成网络视频分享平台的建构,成为中国电信互联星空无可替代的内容资源。
播客的核心价值在于音视频互动和分享,对于网民而言,除了内容的丰富生动之外,音视频的浏览速度快慢直接影响用户体验,因此,高投入的网络硬件需求成为播客发展的关键因素。新浪与中国电信合作将大大提升播客音视频的浏览速度,使画面更加清晰流畅,为广大网友提供更优质快捷、更人性化的网络视频服务,让网民真正享受播客“自娱众乐”的乐趣。
附:“新浪、中国电信”播客产品合作专题(http://tech.sina.com.cn/focus/sina_dx_V/index.shtml)
完成了毕业论文初稿[原创]
[ 2007-5-17 23:28 | by 张宴 ]
我花了三天时间,终于完成了毕业论文的初稿,论文选题内容为“电子商务小额支付中的网络虚拟货币”。我在今天下午5点将初稿交给了导师。导师对我的论文选题表示满意,然后指出了我论文中的不足,需要修改的内容。算算5月28日开始答辩,还有10天的时间完成论文二稿、三稿、开题报告表、任务书、各种表格、实习报告,这段时间够忙的了。
附:中南民族大学2007年本科学生毕业论文(设计)相关表格、文件.rar
附:中南民族大学2007年本科学生毕业论文(设计)相关表格、文件.rar