基于云存储的Linux系统增强服务--终期总结

开篇:

两个月的时间眨眼就过去了,没有想到最后报名的我却能被导师选中,非常感谢我的导师罗磊老师。

这是我第一次真正接触到项目开发,在开发过程中也走了很多弯路,有看我代码的同学会发现我的项目被我分成了四个,这就是我走的几段弯路。在刚开始的时候,我是要写一个Linux平台下的通用网盘客户端,系统备份功能只是其中的一部分。在我实现完功能函数,开始写API的时候,罗老师及时发现并提醒我:备份才是重点,你应该利用系统已有的金山快盘 for UbuntuKylin进行开发。我只好暂时停止开发网盘客户端。按照罗老师的提示,学习Gnome桌面环境集成的备份服务Deja-dup,利用其后端duplicity和金山快盘开发了一个UbuntuKylin下的备用工具。相当于造了个功能与稳定性远不如原来的轮子。实现了后台定时备份和同步的功能。

虽然走了不少弯路,但终归还是找到正途了:在Deja-dup上下刀,直接在其上添加新的功能。这样就能利用系统原有的备份功能并保证程序稳定性了。于是:下源码、学Vala,在靠流量上网的环境下,我还是蛮拼的~~还有种XX天学会XX语言的感觉。然后就是while(1){读代码、写代码、测试、改代码};的生活了。

总结:

在这两个月里,完成的任务有:

  • 掌握了利用开放API以及OAuth进行编程的技术,这为接下来实现通用网盘客户端以及Deja-dup的深入改造奠定基础。
  • 利用GTK+、duplicity等开发了一个自动备份程序,虽然功能有点弱,不过加深了我对GTK程序的理解。
  • 基于Deja-dup,添加了一键添加文档、图片的选项,添加了使用金山快盘的选项,不过有点不符合原程序审美。
  • fork了Deja-dup,命名为Deja-dup-uk,略去打补丁的步骤。更专注于程序功能的实现,将金山快盘的选项改成符合原程序审美的方式,不过还有点小Bug,不过不影响功能。
存在的问题:
  • 备份位置中的快盘选项需要点击两次才能选中,这是由于代码中的快盘选项是通过继承本地文件夹实现的,导致在本地与快盘切换时需要判断两次
  • 在没有安装快盘 for UbuntuKylin 的系统中,可能会出现程序崩溃退出的现象,将在下次push时修正
  • 偶尔会出现待备份文件夹变成俩个的现象,不过不影响使用,重启程序即会消失
遇到的困难:
  • Deja-dup使用Vala语言开发,说实话,这门语言以前压根儿就没有听过,而且中文资料几乎没有。
  • 拿着别人的代码改,必须先得把程序的总体框架摸清楚,否则挺难下手的
  • ...
用到的技术:
  • JSON解析(使用cJSON库)
  • 网络编程(使用libcurl库)
  • GUI编程(使用GTK+3.0)
  • Linux下多线程编程
  • Linux下时钟编程
  • ...

计划:

虽然夏令营结束了,但是我会继续维护我的项目,跟踪上游版本变化,添加新的功能。我的计划如下:

  • 继续优化Deja-dup中一键添加的部分,提供更多可选项。
  • 更改Kuaipan后端部分代码,解决两次点击bug。
  • 根据Ubuntu One等工具为Deja-dup添加系统备份功能。
  • 使用FUSE开发支持多后端的网盘客户端,并为deja-dup提供网盘后端。
  • 剔除代码中关于Ubuntu one 后端部分
  • ...

上图:

无图无真相~~
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值