山东大学 软件学院 2021年春季创新项目实训 个人总结

Posted 平原上的维克多

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了山东大学 软件学院 2021年春季创新项目实训 个人总结相关的知识,希望对你有一定的参考价值。

本次创新项目实训自三月开始,终于在今天的答辩之后告一段落,下文对这段工作作简要总结。

说实话,一开始seafile项目并非我心目中的最佳选题,原因在于个人在这方面并没有技术积累。面对一个充满不确定性的选题,寒假并没有花多少时间思考和准备,直到队长给出seafile开发团队的github地址之后才上去作了简单浏览。

开始研究seahub以及seafile-server的时候,我才发现,源代码的规模过于庞大,以至于我像是个误入迷宫的孩子,迷失在了github的目录下。

我从未面对这样复杂的工程,在它面前,以往的课程设计只能称为玩具。

我们的工作建立在seafile基础之上,而团队成员之间并没有按照前后端分工,因此每个人都必须理解seahub(交互界面前后端)和seafile-server(文件后端)的交互,并在此基础上进行改进以完成需求。第一次团队会议时,队长询问大家是否了解seafile-server与seahub交互,我们面面相觑。现在看来,那时候连RPC基本概念都不清楚的我能顺利完成项目着实不易。

正式投入时间到项目中去是在队长提出大家每天都要在群里汇报当日进度之后,经过前两年的组队,我对团队协作的效果始终持有怀疑,故而在心里很是认可这样的项目管理方法。尽管工程难度很大,投入工作之后心里反而没有多少恐惧,因为清楚地知道,我必须顺利完成需求,否则就得接受朝九晚五的一整个七月作为代价。

我从seafile-server开始研究,发现其中包含了各种语言,python, c++乃至go,于是翻了翻目录草草地留了印象就结束了。
后面是searpc——用于seahub与seafile-server通信的远程系统调用机制,这部分源码分成了两部分,一部分用python实现,另一部分用C++实现,二者在功能上是重叠的,读完这部分源码我对交互方式大致有个概念。
开始阅读seahub源码时,我并没有使用过django,而seahub是一个django项目,因此我匆匆看了入门教程。接下来又发现前端页面全部使用react编写,于是又跑去入门了react,说是入门,其实只是简单了解其设计思想,能够定位到页面上各个部件的源代码位置。

这时已经接近中期答辩,我们本规划在中期答辩时各自交付一个需求。不幸的是,邻近中期答辩之时,两位队友先后退出开发。大家那个时候都认识到了项目的规模和难度。而我虽然没有实质的开发进度,却也把seahub和seafile-server理解了个七七八八,并在本地完成了Moss接口的测试。最终我们带着队长完成的office插件参加了中期答辩。

回去后,被进度压得喘不过气的我抛下了项目。直到五月中旬,我们意识到项目交付的时间邻近了。这时候我重新回去启动docker中的环境却发现seahub无法成功启动了,坐在四区四楼试了两天错的我挺着压抑的心情跑去实验室找队长求教,最后发现是我把docker命令用错了。于是我在实验室清理出一个工位将电脑搬了过去,事实证明,这是一个无比明智的选择。这个时候队长已经完成多个需求了,之后的开发过程中遇到的各种弱智问题基本都能靠无脑问队长解决。而对于技术路线的一些猜测也在与队长的交流中得到了验证。

搬进实验室后,我基本每天都能投入大块时间进行项目的开发,某几日甚至忙到没有时间吃饭,午饭和晚饭靠下午三四点的一顿外卖匆匆解决。幸运的是,后续的开发并没有遇到太大的障碍。

回头看这段日子,不知不觉中,收获到的是宝贵的项目经历以及一名软件工程专业的学生该有的自信。

以上是关于山东大学 软件学院 2021年春季创新项目实训 个人总结的主要内容,如果未能解决你的问题,请参考以下文章

个人项目东北大学软件学院2020级2021年夏季实训项目——东软颐养社区系统

华中农业大学2021年春季学期软件工程B课程HZAU_plugin小组第五周汇报

华中农业大学2021年春季学期软件工程B课程HZAU_plugin小组第七周介绍

华中农业大学2021年春季学期软件工程B课程HZAU_plugin小组第九周汇报

2016年大学生研究性学习和创新性实验计划项目 我的项目 :二维码数据反馈系统 第四周作业

山东大学 软件学院 2021-2022 春季学期 《大数据安全》期末考题