web项目 day01(一)

团队构建及项目管理

项目概览

社交类程序, 采⽤前后端分离结构, 主要包含以下模块:

  1. 个⼈模块
  2. 社交模块
  3. VIP 模块
  4. 异步任务模块
  5. Redis 缓存模块
  6. ⽇志模块、异常处理模块
  7. 短信模块、邮件模块
  8. 运维、部署、shell 脚本(常⽤ Linux 命令)
  9. 前端模块
  10. 其他

项目目标

  1. 了解真实项⽬的开发流程
  2. 掌握如何使⽤ Git 完成协作开发和代码管理
  3. 掌握 RESTful 的概念, 掌握前后端分离式的开发
  4. 掌握⽇志的使⽤
  5. 掌握缓存的使⽤
  6. 掌握 Redis 不同数据类型的⽤法
  7. 掌握 Celery 异步任务处理
  8. 掌握 Nginx 的配置, 及负载均衡的原理
  9. 了解分布式数据库及数据分⽚
  10. 掌握数据库关系建模, 及不使⽤外键如何构建关系
  11. 掌握服务器异常处理, 及报警处理
  12. 熟练掌握常⽤ Linux 命令, 以及初级 bash 脚本的开发
  13. 掌握线上服务器的安装、部署
  14. 理解进程、线程、协程的原理, 以及事件驱动、异步⾮阻塞等概念
  15. 对服务器架构、服务⾼可⽤等有⼀个初步认识

企业中的团队建制

  1. 管理层
    ⾼层:CEO、COO、CTO 等
    中层:各部⻔总监、经理
    基层:主程、Leader

  2. ⼈⼒部⻔
    制定⽤⼈制度, 负责⼈员的流⼊流出,员⼯关系,社保,公积⾦办理
    制定绩效考核制度, 审批薪酬表
    每个求职者都要经过⼈⼒⾯试

  3. ⾏政部⻔
    ⽇常办公、会议、活动管理
    内部物品、设备的预算和购置

  4. 财务部⻔
    资产管理、预算及成本管理、⻛险管控
    薪酬管理, 税务、财报管理
    市场部⻔/商务部⻔

  5. 运营部⻔
    公司产品的线上线下运营
    产品收⼊,产品新增⽤户,及⽼⽤户留存

  6. 研发部⻔

  • 项⽬经理
  • 产品研发
    产品⼈员
    ----产品经理 / 产品专员
    设计⼈员
    ----UI / UE
  • 技术研发
    技术总监/架构师
    前端开发
    ----HTML5 (3~4⼈)
    ----iOS (3~4⼈)
    ----Android (3~4⼈)
    后端开发
    ----Python / PHP / Java / Go (4~8⼈)
    ----运维(1~2⼈)
    ---- DBA
    测试
    ----⽩盒测试(通过代码测试代码)
    ----⿊盒测试 (1~2)

工作中的开发流程

  1. 产品⽴项
  2. 产品⼈员进⾏原型设计, 提出业务需求(产品原型及需求⽂档)
  3. 产品需求讨论会(确定⾥程碑,需求优先级)
  4. 设计⼈员进⾏ UI、原画等绘制⼯作
  5. 前端⼈员接收各种图形元素
  6. 前后端⼈员对接接⼝, 并编写接⼝⽂档
  7. 前后端同时开始开发
  8. 前后端联合调试
  9. 测试⼈员测试
  10. 版本发布,上线部署、服务重启

⼯作中的研发管理流程

  1. 敏捷开发(scrum)
  2. 任务跟踪,每⽇站会

项目阶段开发流程及要求

  1. 两⼈⼀组, 结组编程, 每组不要超过三⼈
  2. 每组选⼀⼈作为组⻓, 由组⻓在 Github 上创建⾃⼰的组和项⽬
  3. 组⻓分配任务, 各⾃开发⾃⼰的功能
  4. 开发过程中注意编码规范, ⼒求做到 “团队代码如同⼀⼈编写”
  5. 每个⼈为接到的功能创建⼀个独⽴的分⽀
  6. 开发、提交、审核、合并、上线

Git 命令回顾

在这里插入图片描述
init : 在本地创建⼀个新的库
clone : 从服务器克隆代码到本地 (将所有代码下载)
status : 查看当前代码库的状态
add : 将本地⽂件添加到暂存区
commit : 将代码提交到本地仓库
remote : 远程仓库管理
push : 将本地代码推送到远程仓库
pull : 将远程仓库的代码拉取到本地 (只更新与本地不⼀样的代码)
log : 查看提交历史
branch : 分⽀管理
checkout : 切换分⽀ / 代码回滚 / 代码还原
diff : 差异对⽐
merge : 合并分⽀
.gitignore : ⼀个特殊⽂件, ⽤来记录需要忽略哪些⽂件
ssh-key 的使⽤

GitHub Flow

  1. 版本控制及代码管理
  • 分⽀类型

master: 主⼲分⽀, 代码经过严格测试, 最稳定, 可以随时上线
develop: 开发分⽀, 合并了各个开发者最新完成的功能, 经过了初步测试, 没有明显 BUG
feature: 功能分⽀, 开发中的状态, 代码最不稳定, 开发完成后需要合并到 develop 分⽀

  • Pull Request: 拉取请求

开发者⾃⼰提交 Pull Request 通知团队成员来合并⾃⼰提交的代码。
通过此⽅式可以将合并过程暴露给团队成员, 让代码在合并之前可以被团队其他成员审
核, 保证代码质量。

  • Code Review: 代码审核

代码逻辑问题
算法问题
错误的使⽤⽅式
代码⻛格及规范化问题
学习其他⼈的优秀代码

  1. 分⽀管理流程

在这里插入图片描述

⼤型项⽬代码布局

  1. 概览
    在这里插入图片描述
  2. 布局详解
  • 通⽤的算法、功能放到 common ⽬录
  • 底层的功能放到 libs ⽬录
  • 独⽴脚本的放到 scripts ⽬录
  • 配置⽂件放到项⽬⽬录 或 config ⽬录
  • views .py 及 view_func()
  1. MVC 模式的 V 只负责视图处理, 逻辑属
  2. view_func 本身不适合写逻辑, view 是特
  3. 添加 logic .py ⽂件, ⽤来放置每个 app
  4. 函数构建应保持功能单⼀, ⼀个函数只做
  5. 复杂功能通过不同函数组合完成

项目初始化

$ mkdir swiper
$ cd swiper
$ cat > .gitignore << EOF
*.pyc
*.sqlite3
.idea
__pycache__
*.log
.venv
medias/*
EOF
$ python -m venv .venv
$ source .venv/bin/activate
$ pip install ipython django redis django-redis gevent gunicorn requests celery
$ pip freeze > requirements.txt
$ django-admin startproject swiper ./
$ git init
$ git add ./
$ git commit -m 'first commit'
$ git remote add origin git@github.com:yourname/demo.git
$ git push -u origin master
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值