写在前面的话
本来年初申请了独立部落格的,也更了几篇文章。无奈,域名需要备案balabala,想想都觉得麻烦,干脆就弃掉,又重新回到了这里。
---------------------------------------------------------------------------------------------
掐指一算,工作已经有一个多月啦。可再想想,发现这段时间也没做什么,完全没有融入到团队的那种感觉。
刚进公司那会儿,大概是刚好新产品急着要上线,导师也没时间带的缘故,安排我们看代码。(没有文档没有注释,纯干看,后来断断续续有安排小组的同学们来讲项目代码的总体架构以及一些细节实现等等东西,不过是杯水车薪,毕竟不懂的东西太多,而导师又忙,也不好总去打扰,于是时间就这么浪费过去了……
大概过了一周多,导师安排我去做版本管理相关的事,说起来并不复杂,就是意图在后台提供git或svn服务器,在客户端调用再相关的API完成更新(主要是一些小资源
导师首先推荐git,说平时在用svn时发现BUG太多。于是我开始着手去折腾libgit2,先是在vs环境下让libgit2可以跑起来,这前前后后折腾了将近一周的时间(汗……)。然后试图调用clone及pull的API,结果发现,目前libgit2还不支持pull,只好又转到了svn。
吸取之前的教训,这次首先调研了一下svn提供的接口,发现完全能够满足需求,但是编译的依赖库太多,移植太困难了。于是又想着是不是可以自己实现git的pull接口,又纠结了几天的时间,发现不靠谱,还是用现有的svn吧。
于是开始在mac os下折腾svn,依赖库多也就算了,还对库的版本有要求,简直整到吐血。折腾一周的时间,把svn装好,同时写好了测试代码,实现checkout和update两点功能。
接下来,导师想模拟测试一下大规模用户并发操作时的效率,于是我又变身运维小弟,部署svn+apache+nginx,由于之前完全是零经验,导致搭建整个测试环境都用了将近一周的时间,当然期间导师想法也在不断改变,工作也不可能一蹴而就。
最终总算是搭好了测试环境,效果不算太好,但准备将就着用了。所以今天(已经是昨天了)开始把测试代码做个封装,给客户端使用。结果发现,我测试代码使用的是动态库,拿到客户端是没办法使用的,只能使用静态库。(呃啊……) 当时编译svn的时候生成了静态库可以直接拿来用,但是依赖库apr没有(因为不是自己编译的),只好又重新编译apr。然后呢,由于版本兼容性太差,导致之前编译好的svn不能用了,只好再次重新svn。
就在这个时候,电脑死机进不去系统了。(渣电脑装黑苹果总是出bug,摊手)只能明天到公司再找运维组的同学帮忙了。
哎,这中间走过太多弯路,有不少的经验教训值得总结,时间也不早了,先洗洗睡了,有时间再好好总结一下。