远离底层

要为actools添加用户收藏功能。按照原来的开发方法的话,要完成这个功能大约是2~3天的时间,不过我并不急于开发出这个功能,而且受到以下事件的影响:

  • bilibili.us强势开张,证件齐全还提供rss,而acfun的管理现状让人担忧,不想随意地投入精力到里面;
  • 本地的开发和调试环境,包括eclipse PHP、LAMP等最近才配置好,在配置好之前,无法实现增量开发,导致开发动力下降;
  • 在思考OO的过程中不断产生疑问,对现有的代码感到不满,并花费了大量时间去修改;
  • 发现了一些奇怪的php语法(例如@和&),然后受到打击停滞不前;
  • 毫无压力,喜欢就做一下,不喜欢就玩一下。

于是一拖再拖。作为一个业余得不能再业余的web编程人士,我试图通过看别人的优秀设计来获得长进;我深知不可能看几篇速成就能成为经常鄙视别人和被人鄙视的砖家,不过我也不计划成为那样的人,去和别人争论效率啊思想啊什么的,只要能过自己心里认为过得去就行而目前的设计方法连自己都看不下去,所以才会有动力去研究,去思考。

目前的情况就是,我不敢轻易地从底层的东西开始写,而打算在一个足够开放的轻量级框架下拼凑他人写好的代码;拼凑不只是简单的c&p,我还是有把握拓展他人的代码使其和现有框架接合的,但总体来说,除了独特的功能例如fetch之外,通常的工作例如用户管理和一般的数据库操作,我都希望尽可能用别人的东西,因为,例如数据库查询,我只能想出『传递sql返回查询结果』这种级别的封装,从思想上就很难做到Active Record级别的考虑。

于是远离底层。

基于CI框架的ac娘工具

http://actools.tk/

终于完成了,基于CI框架的php版的ac娘工具,功能和原来的python版是一样的。

开发心得:

  1. php的array有一个好处:有各种各样的array操作函数。在查阅到这些函数的之前,我的大部分精力都花在研究如何处理数据结构上了。
  2. 写这个程序使我对MVC的认识加深了很多。在写search功能的时候其实还没有很好地区分开来,以至于代码非常的混乱;到了写fetch的时候就已经区分得很凌厉了,写出来的代码看着非常的自豪XD。
  3. 与python版相比,php版降低了查询数据库的次数(得益于array操作);不过在试图放在一个免费空间上运行的时候,似乎会由于SQL语句执行时间过长而无法运行fetch功能。发生这件事后,我修改了一个SQL语句,尽可能减少查询的规模。
  4. php的错误竟然不能直接try-catch,还要定义一个handler来将其抛出,不知道是出于什么考虑。像数组越界这样的错误,为什么只是给出Notice呢?我觉得足以使得整个程序crash了。

最终把ac娘工具也放在博客的空间了;原先为它准备的一个加拿大免费空间空闲出来了,弄成twitter站传教用好了。

.tk域名挺不错的,我搜了一下,有36w个中文站搜索结果,太可怕了,记得co.cc被人拿来钓网监钓得整个域名被封杀,希望.tk能够一直安然无恙。

果然还是要php化

heliohost又挂了,尽管对于免费空间我们不能够期待太多,不过放在上面的ac娘工具变得不稳定,而且域名又不美观,促使我考虑为它寻找绑定一个免费的二级域名,外加一个稳定点的免费空间。

在寻找的过程中,我惊讶地发现,原来heliohost确实很强大,支持python+mysqldb,这种程度的配置原来不是每个free host都支持的!我找到了vps-hosting.ca,打算搬过去的时候才发现,python cgi中居然没有MySQLdb模块。

于是我想,能运行当前的ac娘工具的环境真是少之又少,heliohost是一个很不错的新技术实验平台(估计因此而经常当掉)。无论如何,为了让它到处可用,继续我的CI化ac娘工具的计划。

推上有人介绍一个网站,可以加密字符串:http://fliptitle.com/