国庆项目训练营回放的时间轴及知识点分布(前两天)

大家好,我是Carrey,鱼皮国庆项目训练营虽然结束了,但是里面有很多通用的知识点,特别是如何做好项目负责人、项目架构师,项目文档规范,技术选型、系统设计等干货内容,为了方便看回放的小伙伴学习相关知识点,现将训练营直播回放的时间轴和知识点分布整理出来,这里是前两天的:

直播回放


  1. 阿里云盘: https://www.aliyundrive.com/s/wRSZY4ANQFC 提取码: 30we
  2. 百度网盘: https://pan.baidu.com/s/1akapbPse16-UqOVy3wR-zw 提取码: ciow


第一天:如何做好项目的负责人

时间轴和知识点


00:00:00~00:30:20 国庆训练营介绍(看回放的同学可以直接跳过)

00:30:21~00:32:00 搞项目前要考虑哪些事情?

  1. 要做什么项目
  2. 怎么去招人
  3. 怎么去权衡成本

00:30:21~00:45:30 立项:项目信息文档+立项时要思考的一些问题:

  1. 为什么想做?
  2. 项目能解决什么问题?有什么实际意义?
  3. 项目的核心亮点在哪里?
  4. 项目名称(中英文名、域名)

00:45:31~00:56:59 调研的重要性

  1. 市场上目前有没有同类的项目?有的话其他网站和你的网站有多相似?
  2. 你的网站相对于已有的网站有哪些优缺点?网站有哪些缺点,可以改进的地方?
  3. 竞品分析很重要(至少3个竞品)
  4. 完善好项目信息文档

00:57:00~01:07:58 需求分析

  1. 需求信息表
  2. 思考功能点(越细越好)
  3. 需求优先级 (p0->p3) p0核心,到p3优先级递减(p1最好有、p2可以有、p3可有可无,有更好)
  4. 需求进度
  5. 需求管理工具,比如tapd(企业用),表格(简洁清晰,小团队用)

01:07:59~01:33:01 组队

  1. 不要养成总想抱大腿的习惯,要有一些基础的技术
  2. 加入团队,描述自己的优势(想自己能给别人带来什么)
  3. (队长)招人:
  4. 找能力和技术匹配的
  5. 要知道自己缺什么,不要根据简历招人,要控制人数
  6. 清晰列举需求,文档很重要
  7. 队长要带领队员确认:
  8. 沟通协作方式(交流群、腾讯会议等)
  9. 团队文档沉淀方式(语雀等)
  10. 代码协作方式(Git、GitHub等)
  11. 确认分工和对接方式
  12. 建立好知识库,并给成员开设对应权限

01:33:01~01:49:55(结束) 提交国庆项目表单以及接下来的组队、计划等(看回放的同学不用看)


第二天:如何做好架构师

时间轴和知识点


00:00:00~00:06:53组队安排(看回放的同学直接跳过)

00:06:54~00:25:20 项目点评(看回放的同学直接跳过)

00:25:21~00:26:50 提出问题:如何做好架构师?

  1. 架构师的定义
  2. 技术负责人要做好哪些事情
  3. 技术选型
  4. 资源准备
  5. 系统设计
  6. 开发规范
  7. 需求排期

00:26:51~00:30:10 00:34:11~00:56:45 如何做好技术选型?

技术选型两步走

  1. 1、选
  2. 系统开发
  3. 前端、后端、上线的方式
  4. 工具链
  5. 开发、测试、上线工具
  6. 技术选型原则:
  7. 看人:团队对哪个技术最熟?有没有一个技术大佬
  8. 看需求:
  9. 项目的量级?大项目考虑扩展性(百万并发、消息队列、分库分表),小项目尽量简单
  10. 项目的功能?
  11. 尽量用热门技术
  12. 技术选型渠道
  13. 搜解决方案:掘金、GitHub、openbase(前端)
  14. 百度开发者搜索
  15. 星球内鱼皮对系统设计的回答
  16. 第三方平台(直播、短信、视频点播、第三方存储、OCR文字识别等)
  17. 数据库选型
  18. 思考数据量级
  19. 思考数据的应用场景(数据间联系等)
  20. 2、用
  21. 能在技术选型阶段确认的技术尽量提前确认,怎么确定技术可以用呢?
  22. 看文档确认版本号
  23. 先跑起来一个demo,跑起来没问题再确认技术选型

00:56:46~01:15:10 资源准备

资源包括:服务器、数据库、第三方服务(短信发送)、开发软件等

开发最省钱的方案:

  1. 服务器指标
  2. 带宽、内存、服务器CPU、硬盘
  3. 带宽计算:计算每秒访问的总资源大小(人数单位资源大小(比如打开一次网页的带宽消耗)) x 2
  4. 内存估算:本地开发时查看进程占用,或者在linux部署运行查看(top命令)
  5. 服务器CPU:核心数
  6. 硬盘大小、云数据库
  7. 团队资源文档/表

01:15:11~01:48:30 系统设计

只用语言、图描述系统,不写代码

系统设计:

  1. 功能模块图
  2. 分为哪些功能模块,功能模块图(类似流程图或者思维导图)
  3. 从整体到局部,从大到小,比如(用户前台,管理后台)-》(XX,XX。。)、(XX,XX。。)
  4. 功能间管理不大的可用思维导图
  5. 技术架构图
  6. 更加清晰地展示项目用到了哪些技术,便于后期扩展和改造,起到对项目宏观地指导意义
  7. 库表设计(关键)
  8. 对着需求表来
  9. 划分哪些库-每个项目一个库
  10. 划分哪些表-每个大的功能一个表
  11. 确定每个表有哪些字段
  12. 养成存储建表语句的习惯
  13. 表之间的关联关系(通过字段约定式关联)
  14. 反三范式
  15. 设计很重要,前期要确定字段,后期避免上线库加字段(可能会锁表,查询卡死)
  16. 必有的四件套字段
  17. id(int)、create_time(current_timestamp)、update_time(current_timestamp 并且加 on update current_timestamp)、isDelete(软删除,逻辑删除)
  18. 将设计清晰地记录下来
  19. 每个功能的实现逻辑
  20. 每个需求详细设计
  21. 结构怎么设计
  22. 流程越详细越好

01:48:31~02:08:23 开发规范(非常非常重要)

  1. 编码规范很重要,架构师维持编码规范的几种方式
  2. 人为约定(Alibaba Java开发手册等等)
  3. 工具:插件 后端idea的alibaba java coding guide 、checkstyle、前端的Eslint等
  4. 提交规范(隐私保护)
  5. 同一的提交记录,比如关联需求文档
  6. 忽略某些文件的提交,保护隐私,可用使用.gitignore

02:08:24~02:12:15 需求排期

  1. 先做需求评估和设计
  2. 排期稳一点,比预期时间多一些
  3. 预留时间改 bug
  4. 排期前预估和提出风险

02:12:15~02:16:59 组队安排+回答问题(看回放的同学跳过)


0个评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
CarreyWu
下载 APP