对emlog的小调整
博客一直积着几个小问题没有解决,上周一并处理掉了。现在写出来,也许某些点会对大家有所帮助。
大概是40多天前,我开始了Enterprise Framework的书写工作。这是一个致力于用最少的代码完成最多的事,同时维持一个较好的“简便—性能”平衡的框架项目,也是我首个使用GitHub托管的开源项目。在几分钟前我向GitHub提交了第28个commit后,我才真的觉得它可以投入实际应用了。我大部分时间是在本地使用APMServ集成环境进行的代码测试,它确实很好用——但是却并不能代表全平台。这意味着,它可能会有着一些问题。
在之前(得益于Git版本控制,可以查询到是在半个月前)我写睿云引擎以支持云平台,在SAE上做实例测试时,便发现了挺多问题。代码部署完毕后,第一个打击人的大问题就是HTTP 500错误。经过一番核查,我竟然在源码中找到了一句非法的语句,但是修改后仍然是没有输出、必要文件包含不正常的状态。在多次使用XHProf调试无果后,便暂时放弃了。
今天所说到的使用Enterprise框架的第一个应用,是FOP的配套应用——查询系统。经过一周的本地开发,我终于决定将其与VA China整合,调试、修改并部署代码后——仍然还是各种错误,包括HTTP 500,无输出等。这让我感到深深的不安:看起来不仅仅只是分布式环境下不能正常使用,只是将Apache换成了Nginx都可以引起这种严重的后果。这样的情况是与项目的设计理念相悖的。当然,经过一番调试后,问题终于解决了。
昨天被某货呼叫说VA China下载中心中下载内容点击后出现下载百度云管家客户端的情况。毫无疑问——又坑了。VA China下载中心调用了我VPS上的直连接口进行分流,既然那边坑了,那么肯定使用了相同代码的ANN也坑了。事不宜迟,各种常用开发工具伺候,拿到代码,开工调试。
第一步:访问一个下载页面,分析js变化。结论:dlink中混入了大量百度云管家客户端的下载链接,原匹配无效;但云管家客户端的expire time是10000小时,而真实文件为8小时。
继昨日解决FSD在Linux运行之后,今天又被问到Perl的安装——想得到这与FSD有关:FSDBase需要Perl的支持。不得不佩服fsdbase的作者,几个文件每个都是2000 lines+的代码量,果断不看(本来就没接触过perl)。看到fsdbase目录下有个setup.sh,打开看看,在末尾发现了一小段提示,意为使用者需要在crontab中添加运行fsdbase的脚本,每分钟执行一次。事已至此,基本上就能明白fsdbase的原理了,和想象中的基本一致,也和拐总以前透露的方法差不多。这样一来,心里就有底了。接下来当然是使用php写一个差不多功能的东西,一来是帮助他人,二来是试试之前的epdb到底是否好使,三来也算是完成两三年来没能做到给fsd统计在线时间的心愿吧。