librelist archives

« back to archive

Bamboo最近的改进

Bamboo最近的改进

From:
道哥
Date:
2011-07-24 @ 09:33
2011年7月24日
 
这几天在调试一个快速分享(文字、文件)的web工具。做的过程中,发现bamboo的一些问题,及时做了修正。现把修正点罗列如下:
upload 
模块做了些改进,主要是把工程目录中的media链接给删掉了(原因是压缩解压的时候,会出现警告),因此,原来那种使用相对路径的做法就失效了,现在需 
要获得目录所在的绝对路径,因此,用到了monserver_dir这个路径。针对这个问题,将原来的path,分成了disk_path和 
url_path两种,分别对应磁盘上的文件绝对路径和给客户看到的url路径。目前已经调试通过;
在model.lua中,把queryset的生成器独立出来了,现在把queryset视为一个独立的对象类型来看了;
对 redis的封装zset.lua中,add函数,计算score的方法是最后一个元素的score+1,而原来的是此zset中的元素的个数加1,原来
这种算法,就会出现一个问题,当我加一个,然后又删除最前头一个的时候(比如,始终保持5个),会发现,score总保持同一个数(比如说6),而这,并 
不是我们想要的结果,我们想要的是新加入的score是自然增长的;
已经确认了slice()和getForeign()中的切片是按index下标来的,而不是score,这点要清楚咯,上次都差点弄糊涂了;
目前Model:slice(), Model:all()函数,都会生成query set;而getForeign()函数,生成的是一个list;
去掉了Form:parse运算里,生成的 params中的__session属性。因为没必要,还可能会造成编码上的一些复杂;
把应用目录中的media符号链接去掉了,因此,命令中的创建链接这一行也去掉了;
把lglib中oop的机制稍微改变了一 
点,在使用extend方法执行类继承的时候,会在子类中创建一个变量_parent,记录到父类的引用。而在使用new函数执行创建类的实例的时候,不 
再创建_parent引用以及new, 
extend二个函数(拦截功能)。之前的拦截功能现在放入new函数和extend函数中进行判断(rawget函数起大作用了);
清理了Object对象,去掉了parent,abstractMethod, 
maskedMethod三个函数。改进了isInstance和isClass函数的判断机制;
暂时就这些,很多东西没有记录在git log里面,所以,这篇文档也当是一个changelog了吧。


--
Nothing is impossible.