Leo Jay -- 一个对技术狂热的家伙
关于我
小学毕业就开始学习电脑,学习编程。从此一发而不可收,只要是好的技术,我都感兴趣……
联系方式
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底下用……
头大了……
反馈
欢迎大家说三道四哪