Leo Jay -- 一个对技术狂热的家伙

TableOfContents

关于我

小学毕业就开始学习电脑,学习编程。从此一发而不可收,只要是好的技术,我都感兴趣……

联系方式

Python.LeoJay AT gmail DOT com

能力自述

以前用C++多一些,Python的经验不多,努力中……

计划.日志

Twisted

嗯,Twisted确实是一个好东西。现在在琢磨这个。

翻译了两页Twisted的Howto:

[http://wiki.woodpecker.org.cn/moin/PyTwisted/TwistedUtilities/UsingDirdbm]

[http://wiki.woodpecker.org.cn/moin/PyTwisted/TwistedUtilities/UsingTelnetToManipulateaTwistedServer]

LeoJayFS

网上有一个GMail Drive shell extension,感觉很有新意。可是有几处不足,不能上传大于10M的文件,文件名长短有限制。

打算做一个LeoJayFS,跟GMail Drive shell extension类似,打算要做到以下几点:

文件名长短无限

嗯,也不能说是无限,至少255是要的

文件大小无限

至少20,30MB是要的,太大也没用,速度太慢了

底层用POP3协议

不要用libgmail之类的库,只要支持POP3的库就行了。要支持UIDL跟TOP两个指令的POP3

email格式

现在初步的打算是,如果文件大于512KB,就分成多封email,每一封512KB

email格式:

Subject: LeojayFS:[文件大小],[日期],[分几块],[第几块]
Content: 
        第一行,文件目录及文件名
        第二行,base64编码后的文件内容
        第三行,文件sha1数字摘要的base64

不过,第二行一整行都是文件的内容不知道可不可以这样做。我怕有一些POP3服务器不支持一行这么长。

第三行有没有必要呢?TCP/IP本身就可以验证数据的正确性了。

数据库

现在最头大的就是要不要用数据库了。

如果用数据库的话,程序会方便不少,把UIDL的结果保存一下,然后用TOP [email号] 1我就可以行到email所包含文件的信息(比方说这个email是哪一个文件啊,文件大小,文件日期等等)

这些信息可以保存到数据库,下一次再读取的时候,凡是UIDL字符串相同的email就用不着再去读取它的信息了。

可是,如果用数据库的话,用什么数据库好呢?mysql很好用,但是,对用户来说不方便,还要装个mysql。ACCESS很方便,但是,只能在windows底下用……

头大了……

反馈

欢迎大家说三道四哪