今天的收获不是很多,简单总结下
今天主要在改ldap项目bug,在改bug的时候,有几点想法,需要记录下来,备忘
1.出现问题后,不要想当然,要沉下心来分析问题的本质,假如同样的一个算法在几个类型中都通过了,只有一个类型没有通过,就要查这个类型与其他类型在使用此算法时有什么区别,可以从类型的基本属性上去分析
举例:在对ldap查询中曾有这样一个场景:
在邮件服务器管理端要对域、用户、邮件列表、联系人等列表进行管理,进行有条件的查询的时候,出现了一个问题,同样的模糊查询filter(&(objectClass=*)(键值=*key*))
在用户,邮件列表、联系人查询中都没问题,但在对域列表的查询过滤中就不起作用,分析本质,域的domainName属性匹配规则与mail、cn等的匹配规则不一样,缺少了个字符串匹配(SUBSTR caseIgnoreSubstringsMatch)导致不能进行模糊匹配
2.在遇到障碍时不要死脑筋一直扣,要记住一句话,条条大道通罗马,也许你换个角度思考一下,或者换个方式折中一下可能就把问题解决了
举例:在使用mysql into OUTFILE 命令导出内容到文件的时候遇到了问题,在内容存入mysql时将文件中的特殊字符进行了转义,导致导出到文件运行出错,当时是一个php程序,我是先从文件中导入到数据库,然后再从数据库中导出到服务器目录,想执行这个文件,结果出现了这个情况,期间为了解决这个问题,让我写了好多mysql正则,但是最终的结果还是失败了,后来分析其特点,我发现这个文件内容太多,各种特殊符号太多,导致控制很难,所以想了个折中的办法,先写了个简单的上传程序,然后把这个上传程序的代码导入到数据库,然后导出到服务器,访问这个文件,再把之前的文件通过这个文件上传到服务器,success。问题终于解决,停顿思考下……