(2011-06-29 19:53)
首先分析php的异常流程,如图:
从图中可以看出,在try……Catch中的异常和错误很容易处理的(图中的第1块标记里)。但try……Catch之外的异常和错误(图中的第2块标记里)是本文要说的重点。
php为程序员提供了两个函数来处理Catch未扑捉到的异常和错误:
改变默认异常处理的函数:set_exception_handler(your_exception_function_name);
改变默认错误处理的函数:set_error_handler(your_error_function_name);
通过这两个函数可以用程序员自己写的函数取代默认的异常和错误处理函数。
为了少增加代码量,可以统一写一个错误类,然后让自定义的异常处理函数、错误处理函数和自定义的异常类、错误类都指向这个统一的错误类。
2011.07.08更新:有时候错误并非源自出错行号所在的行,
(2011-06-10 08:09)
编程字体的作用和经验百度一下吧!这里推荐两个:
10大最适合编程的字体…… 编程等宽字体
我也亲自测试了众多的等宽字体,没有一个十全十美的!没办法,自己动手丰衣足食……找了两款字体做基础多次修改,终于有了我的御用编程字体:
++++++++++++++++++++++++++++++++++++++++++++++++++++
微软雅黑&Lucida Sans Typewriter
++++++++++++++++++++++++++++++++++++++++++++++++++++
中文字体是微软雅黑,取自win7的6.02版。英文字体是Lucida Sans
Typewriter,取自java运行库里的。这两个加在一起就是我的御用编程字体?完全不是!
1.只是把Lucida Sans Typewriter中编程常用到的字符合并到微软雅黑中,完全不影响微软雅黑的表现力;
2.修改了三个字符01l,这三个字符极易和别的字符混淆;
3.调整了_和部分运算符的高度,使其同高易于识别;
4
因为做一个小工具的需要,写了这篇《关于二叉树的数据库存储与搜索》:
【关键词】
二叉树、存储、数据库、搜索、“节点线”模型、“遗传节点线”模型
【摘要】
本文采用特殊的数据库方式存储二叉树,避免了迭代搜索子树节点(或者计算子树节点数目)的方式。如果二叉树的深度小于计算机的并行计算位数,则一个sql语句就能获得任意节点的所有子节点,如果二叉树的深度大于或等于计算机的整数存储位数,则两个sql语句就能获得任意节点的所有子节点。
【正文】
1. 问题展示
2. 分析
2.1. 二叉树的表示:
2.2. 二叉树节点归宿的判断:
2.3. 二叉树节点边界的构造
2.4. 二叉树的“节点线”模型
3. 二叉树的子树搜索方案
4. 遗传学引入二叉树的子树搜索方案
5. 二叉树“遗传节点线”模型的数据库存储与搜索
5.1. 二叉树“遗传节点线”模型的mysql存储结构
5.2. &n
最近为php的效率问题伤透了脑经,选来选去,最后决定用Alternative PHP
Cache(APC),但直接使用的效果还是不理想,遂借鉴网上高手的做法,自己修改了一个现成的apc缓存类,用起来舒服多了,不敢独享:
=======================================
我的代码注释都被新浪博客给删除了,郁闷!
看来是时候另找新家了!
=======================================
首先说一下apc的配置
在php.ini中新增如下行:
extension=php_apc.dll
[apc]
apc.rfc1867 = On
apc.cache_by_default=On
apc.include_once_override = Off
apc.shm_segments = 1
apc.shm_size = 256M
apc.ttl = 64800
apc.user_ttl = 64800
apc.num_files_hint = 1024
apc.enable_cli = 1
apc.max_file_size=2M
apc.optimization=0
========================================
下面是我的php_apc缓存类:
<?php
class hy_apc {
protected $_prefix = 'hy.cache';
public function __con
为什么要用软件来左右自己?
——由软件ToDoList和EssentialPIM
Free引发的思考
曾经我也相信,优秀的软件+良好的软件习惯可以提高使用电脑的效率进而提高工作效率。也曾为寻找这样的软件和养成这样的习惯而花去了大量的时间。但最近,事情有一点点的改变:我在找个人信息处理软件中的任务管理软件,我找到了!并正在使用着,就是它——ToDoList和EssentialPIM
Free。如果你了解一下这两个软件,便会产生纠结——无法选择和舍弃,因为这两个软件都是最优秀的!
EssentialPIM
Free,我在两年前就开始用了,它能为你打理很多个人信息:任务、日程安排、备忘录、通讯录、电子邮件。因为我用别的电子邮件软件并把通讯录保存在电子邮件里,所用除了这两个外,EssentialPIM
Free的其它功能我都用过好长一段时间。她非常优秀的是把任务、日程安排和日历结合的非常好,看起来一目了然!不
Ken Rename是一个非常优秀的文件批量重命名软件。
Ken Rename原本有简体中文版,但那是由繁体中文直译过来的,非常生硬,一点也不习惯!
不能看到这样优秀的软件被曲解了,于是结合英文原版翻译成真正的简体中文版了。
Ken Rename主页:
http://www.portablefreeware.com/?id=1448&ts=1225637969
Ken Rename 0.88 简体中文版下载(我翻译的):
http://www.uushare.com/user/shalalal/file/2405837
2010年1月6日更新了简体中文翻译!
前段时间看到善用佳软推荐的keynote NF,很不错!
keynote NF是
免费的经典的树状笔记软件,支持纯文本、富文本、可插图,也可管理磁盘文件——用链接方式管理你的资料,这样你不必关心文件的物理位置,把精力集中到资料、笔记的分类管理上吧,功能很强大的说。
元旦这三天,将keynote NF
1.7.8.1完全翻译成简体中文了。(我完全不懂英文哈!我是以自己编写程序的经验+Google+灵格斯来翻译的,有翻译不当是很正常的呵——不要砸我^_^)
相关链接:
keynote NF主页:
http://code.google.com/p/keynote-nf/
keynote NF_1.7.8.1 简体中文版(自己翻译的完全版):
新近在网上找了一个3G的网络硬盘——
DBank数据银行并花了一天的时间把自己用的绝大多数软件都传了上去。她很好的地方是,如果你也注册了
DBank数据银行,我们就可以共享你想要共享的内容了,不必每个人都上传一大堆文件。
====================================
我的软件目录
====================================
360时间保护器V1.3b.zip
读《金刚经》
我读《金刚经》不求于佛,不迷信。有的人为了不迷信就不读《金刚经》——错了!要知道不知而信才叫迷信。若《金刚经》于佛法之外还有真意,又于读之时能与时俱进去除迷信思想,《金刚经》有何不可读!
经我试读来看,《金刚经》实与《皇帝内经》相通的!
四相为人第一
此四相为:我相、人相、众生相、寿者相。古人今人精解很多了,百度一下便可详细了解,我也是从中得到一定的启示,结合《皇帝内经》理解为:
人有两类,自然人和社会人。我们是社会人,为何这样判断,因为我们心中有一个是非标准,哪些是可以做的,哪些是不可以做的;哪些是可以说的,哪些是不可以说的;人应该是怎样活的……这些都是人们心中的标准,并且没有两人心中的标准是相同的。人往往善于用这个标准去衡量世间的一切!
我相,就是把现实中的我与心中的标准中的“我”作比较,这样的行为就印证了我的心中有了我相;
人相,这是与我相并列的另一面,换位思考,把别的生命体(注:也有作别人讲,但别的生命体可能更客观合理,也是樊语本义)与心中的“标准”作比较,这样
USB Safely Remove是一个可以将USB设备安全删除的系统工具,能够有效帮助您解决无法删除USB设备的困扰。
USB Safely
Remove是一个收费软件,网上有很多破解版,但有心的用户会发现,官方曾经举行了为期一周的免费赠送序列号活动,任何用户只需登陆活动页面,填写一个姓名和邮箱地址,即可免费获得USB
Safely Remove v4.1.5.806的序列号。官方免费注册信息没有功能和时间的限制,不支持升级!但这就足够了!
官方Safely Remove
v4.1.5.806原版在安装后会有乱码,要重新设置语言文件,还要在网上找免费注册码并输入。用起来不方便,尤其是新用户和一般的电脑用户!
这里推荐一个修改版的USB Safely Remove V4.1.5.806——已解决上面的问题。
USB Safely Remove V4.1.5.806修改版使用说明
(版权属于原作者,修改只为个使用方便,请勿传播)
0、基于原版制作的安装程序,和原版一样的方便——非破解、非绿色。
1、在原版的基础上加入官方免费注册信息——不用为破解而忧;
2、删除英文和简体中文之外的语言文件——精简至上;
3、自动设置软件界面为简体中文,避免了乱码——免去繁琐的设置;
4、去掉原版