整个暑假后一个月才有时间,前半个月我有些事情要做,所以不管是组队还是开始做大项目,都算是非常晚的。大项目到今天还是没有做完,现在就只剩下那么几天了,我都很担心能不能做出来。
真的是没想到一个马上就要大三的学生,只会算竞和一点点工程经验,在基本不了解什么后端的情况下,居然能够在这一个月之内学会并且使用了辅助的消息队列、redis以及Gorm,当做框架使用的Hertz、Kitex,以及两门语言,Go、IDL(protobuf和thrift),来制作一个分布式的大项目。
青训营的整个课程不是像课堂里面老师那样子给你讲来讲去,结果课下也不给你机会练习,而是从头到尾都非常非常强调实践,青训营的课更多的像是一个大范围的指导,而不是说讲各种各样的细枝末节。可能企业里面新来的实习生也是这么学习的吧。
我印象最深的事情就是将Hertz和kitex连到一起用。因为我对自己要求还算比较高的,所以希望这一个大项目可以把绝大部分技术全部用上。虽然用了这两个框架,但是要求自己,首先要用他们的生存器生成代码,然后整个项目的目录结构要准确清晰,最后还要整个服务能够被自动地发现。为了做到这些,我阅读了Hertz和Kitex的官方例子,比如notedemo、tiktok等(使用了etcd等技术),我还去github上参考一些别人做的项目,尤其是Freecar这个项目。他把所有东西都用上了,虽然到现在我发现他这个项目确实有些值得诟病的地方,但确实是能够带我入门的项目。
这一次也算是首次组队和别人共同开发项目,以前我也有一个项目是我一个人完成的,没有与其他任何人合作,所以怎么和别人共同编写代码是一个很大的问题。这一次青训营,我还顺便吧git用熟了。
这次学习中,我系统的了解了大公司里面是用哪一些技术,如何用这些技术,让我这个一直都感觉对于后端无从下手的人(因为没有分布式的环境,学校里谁会给你一堆服务器用?),终于迈出了第一步。
临近青训营的尾声,我们将会努力把大项目剩下的东西全部做完,力争打造一款不错的抖音服务器!
未来我将会花更多心思在优化上,包括数据库查询优化、缓存优化等,成为一名优秀的后端工程师!