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

1. 关于我

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

1.1. 联系方式

Python.LeoJay AT gmail DOT com

1.2. 能力自述

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

2. 计划.日志

2.1. Twisted

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

翻译了两页Twisted的Howto:

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

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

2.2. LeoJayFS

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

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

2.2.1. 文件名长短无限

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

2.2.2. 文件大小无限

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

2.2.3. 任意指定SMTP服务器

GMail Drive shell extension有一点不好,一定要用gmail的发邮件, 可是,我还有一个邮箱,发邮件比gmail快多了,只是容量太小,为什么我不可以用这个邮箱来发邮件呢?

2.2.4. 底层用POP3协议

不要用libgmail之类的库,这样的话,只能用gmail了,我想做成只要有支持POP3的邮箱就行了。这样就可以通用了。

POP3服务器要支持UIDL跟TOP两个指令

2.2.5. email格式

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

email格式:

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

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

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

2.2.6. 数据库

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

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

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

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

头大了……

2.2.7. Twisted

想做这个LeoJayFS已经想了很久了。之所以一直没有开始做,就是没有找好一个好的网络库,现在看到Twisted应该正是我想要找的。

现在在学习中,等Twisted熟练了之后,我就要开始做这个LeoJayFS了。HOHO……

3. 反馈

欢迎大家说三道四哪

last edited 2005-07-23 02:30:35 by LeoJay