这是关于饭团的第0篇文章。相当于饭团系列博客的预览版。欢迎关注饭团项目~ PS:作者水平有限,博客偏科普性质,P7+的大神还请赐教。
所谓“工欲善其事,必先利其器”。经过多次项目实践,对项目开发工具使用的一些工具有些心得,想和大家分享交流下。这里不讨论使用技巧,如何使用还请大家自行摸索。
项目开发流程
因为园子里还有不少刚毕业的,没有机会进入一线的互联网公司。所以我先介绍下一个项目开发过程。从我到美团,我们组新成立了两个项目。一个是美团KTV,一个就是我们的小小项目:P。期间其它组成立了美团早餐和一个现在没有对外公开的项目。所以对项目开发有一定了解。
我就直接说我做的项目吧,比较熟悉。三个月前,领导找到我和其他五个人,“因为美团新上任的领导比较看重运营,所以需要搞一个活动运营平台。”我带一个实习生做后端,另一个后端同学做指导。前端有一个主力和一个替补。前端的领导对整个项目负责。我们花了大概一周就做出个简单的活动发布系统。这个相当于园子里新同学写的小程序。唯一的目标是跑起来。这当然是激动人心的阶段。工作内容包括产品设计、页面设计、前后端接口设计、数据库设计、后端逻辑设计、前后端编程实现和代码测试。
跑起来后大家一致感叹,以后不能在一个分支上开发。。。因为代码合并的时候经常冲突。因为以前没有相关经验。所以学习和制定了Git分支管理,代码开发、测试和部署的流程。为后续的功能添加,修复Bug省了不少事。学习API设计规范后,我重新设计和实现了API。
上面项目,实际上只是在线下环境跑起来了。成熟的项目至少需要三个运行环境。一个线下开发,一个线上测试,一个线上运行。所以需要修改程序,根据不同环境自动调整配置。这其实是一个比较复杂的工作。比如线上环境需要把前端静态文件加md5后辍,发到CDN服务器。
后面,美团的美周刊活动开始入驻。我们开始考虑监控的问题。因为需要直接处理用户请求,还需要添加缓存。因为是分布式系统,缓存出现了个bug,挺尴尬。另外需要给美周刊PC端(另一个部门)的服务器提供服务调用,所以还需要实现RPC服务。(因为这些很多依赖美团基础服务,但是我努力在饭团项目中实现它们。期待:P )
再后来,开始搬移美团的上传系统和名店抢购等专题活动。为了适应这个需求,我对项目进行了一个大手术:把原来的单一项目拆分成多模块项目。(饭团项目开始就做成多模块吧