diff --git "a/Day91-100/91.\345\233\242\351\230\237\351\241\271\347\233\256\345\274\200\345\217\221\347\232\204\351\227\256\351\242\230\345\222\214\350\247\243\345\206\263\346\226\271\346\241\210.md" "b/Day91-100/91.\345\233\242\351\230\237\351\241\271\347\233\256\345\274\200\345\217\221\347\232\204\351\227\256\351\242\230\345\222\214\350\247\243\345\206\263\346\226\271\346\241\210.md"
index 428382d659f79ba13941e65f02f33943eb6cab07..4c1e45b0d00f24eea3f961f5d6851cfe128390ae 100644
--- "a/Day91-100/91.\345\233\242\351\230\237\351\241\271\347\233\256\345\274\200\345\217\221\347\232\204\351\227\256\351\242\230\345\222\214\350\247\243\345\206\263\346\226\271\346\241\210.md"
+++ "b/Day91-100/91.\345\233\242\351\230\237\351\241\271\347\233\256\345\274\200\345\217\221\347\232\204\351\227\256\351\242\230\345\222\214\350\247\243\345\206\263\346\226\271\346\241\210.md"
@@ -577,9 +577,7 @@ tar -xvf ZenTaoPMS.pro8.5.2.zbox_64.tar
![](./res/jenkins_new_project.png)
-持续集成对于编译型语言的意义更大,对于Python这样的解释型语言,更多的时候是用于对接版本控制系统触发自动化测试并产生相应的报告。类似的功能也可以通过在Git服务上配置**Webhook**来完成,码云甚至可以直接对接[钉钉开放平台]()使用钉钉机器人来向项目相关人员发送即时消息。Gitlab也对CI和CD(持续交付)提供了支持,具体内容请大家参考[《GitLab CI/CD基础教程》]()。
-
-
+持续集成对于编译型语言的意义更大,对于Python这样的解释型语言,更多的时候是用于对接版本控制系统触发自动化测试并产生相应的报告,类似的功能也可以通过配置**Webhook**来完成。如果要通过Docker这样的虚拟化容器进行项目打包部署或者通过K8S进行容器管理,可以在持续集成平台安装对应的插件来支持这些功能。码云甚至可以直接对接[钉钉开放平台]()使用钉钉机器人来向项目相关人员发送即时消息。Gitlab也对CI和CD(持续交付)提供了支持,具体内容请大家参考[《GitLab CI/CD基础教程》]()。
> **说明**:
>
diff --git "a/Day91-100/95.\344\275\277\347\224\250Django\345\274\200\345\217\221\345\225\206\344\270\232\351\241\271\347\233\256.md" "b/Day91-100/95.\344\275\277\347\224\250Django\345\274\200\345\217\221\345\225\206\344\270\232\351\241\271\347\233\256.md"
index e1a796f5f64577b51588ceebaad2efc9de9b84b0..9e1a8afecb5a73f20ab45d9b361e954bb177cd01 100644
--- "a/Day91-100/95.\344\275\277\347\224\250Django\345\274\200\345\217\221\345\225\206\344\270\232\351\241\271\347\233\256.md"
+++ "b/Day91-100/95.\344\275\277\347\224\250Django\345\274\200\345\217\221\345\225\206\344\270\232\351\241\271\347\233\256.md"
@@ -675,7 +675,7 @@ class MyMiddleware(object):
```
```Python
-class MyMiddleware(object):
+class MyMiddleware:
def __init__(self):
pass
@@ -2475,6 +2475,6 @@ TOTAL 267 176 34%
[mysqld]
slow_query_log=ON
slow_query_log_file=/usr/local/mysql/data/slow.log
- long_query_time=1。
+ long_query_time=1
```
diff --git "a/Day91-100/98.\351\241\271\347\233\256\351\203\250\347\275\262\344\270\212\347\272\277\345\222\214\346\200\247\350\203\275\350\260\203\344\274\230.md" "b/Day91-100/98.\351\241\271\347\233\256\351\203\250\347\275\262\344\270\212\347\272\277\345\222\214\346\200\247\350\203\275\350\260\203\344\274\230.md"
index 2e84476a410e74e8ee1c2556dc0515f386147b3a..8b189627d41b3d955bb0faaf6974e11ecd8ef805 100644
--- "a/Day91-100/98.\351\241\271\347\233\256\351\203\250\347\275\262\344\270\212\347\272\277\345\222\214\346\200\247\350\203\275\350\260\203\344\274\230.md"
+++ "b/Day91-100/98.\351\241\271\347\233\256\351\203\250\347\275\262\344\270\212\347\272\277\345\222\214\346\200\247\350\203\275\350\260\203\344\274\230.md"
@@ -831,21 +831,21 @@ class MasterSlaveRouter(object):
1. 常用开源软件。
- | 功能 | 开源方案 |
- | ------------------- | ------------------------- |
- | 版本控制工具 | Git、Mercurial、SVN |
- | 缺陷管理 | Redmine、Mantis |
- | 负载均衡 | Nginx、LVS、HAProxy |
- | 邮件服务 | Postfix、Sendmail |
- | HTTP服务 | Nginx、Apache |
- | 消息队列 | RabbitMQ、ZeroMQ、Redis |
- | 文件系统 | FastDFS |
- | 基于位置服务(LBS) | MongoDB、Redis |
- | 监控服务 | Nagios、Zabbix |
- | 关系型数据库 | MySQL、PostgreSQL |
- | 非关系型数据库 | MongoDB、Redis、Cassandra |
- | 搜索引擎 | ElasticSearch、Solr |
- | 缓存服务 | Mamcached、Redis |
+ | 功能 | 开源方案 |
+ | ------------------- | ------------------------------- |
+ | 版本控制工具 | Git、Mercurial、SVN |
+ | 缺陷管理 | Redmine、Mantis |
+ | 负载均衡 | Nginx、LVS、HAProxy |
+ | 邮件服务 | Postfix、Sendmail |
+ | HTTP服务 | Nginx、Apache |
+ | 消息队列 | RabbitMQ、ZeroMQ、Redis、Kafka |
+ | 文件系统 | FastDFS |
+ | 基于位置服务(LBS) | MongoDB、Redis |
+ | 监控服务 | Nagios、Zabbix |
+ | 关系型数据库 | MySQL、PostgreSQL |
+ | 非关系型数据库 | MongoDB、Redis、Cassandra、TiDB |
+ | 搜索引擎 | ElasticSearch、Solr |
+ | 缓存服务 | Mamcached、Redis |
2. 常用云服务。
diff --git a/README.md b/README.md
index 2ae29d0cffe391986d26c3b1b3b9e74d8fd6da61..1152790b0ccd82ce85762c29494f39f2176a8244 100644
--- a/README.md
+++ b/README.md
@@ -461,16 +461,19 @@
- 经典过程模型(瀑布模型)
- 可行性分析(研究做还是不做),输出《可行性分析报告》。
- 需求分析(研究做什么),输出《需求规格说明书》和产品界面原型图。
- - 概要设计和详细设计,输出概念模型图、物理模型图、类图、时序图等。
+ - 概要设计和详细设计,输出概念模型图(ER图)、物理模型图、类图、时序图等。
- 编码 / 测试。
- 上线 / 维护。
+
+ 瀑布模型最大的缺点是无法拥抱需求变化,整套流程结束后才能看到产品,团队士气低落。
- 敏捷开发(Scrum)- 产品所有者、Scrum Master、研发人员 - Sprint
- 产品的Backlog(用户故事、产品原型)。
- 计划会议(评估和预算)。
- 日常开发(站立会议、番茄工作法、结对编程、测试先行、代码重构……)。
- 修复bug(问题描述、重现步骤、测试人员、被指派人)。
- - 评审会议(Showcase)。
- - 回顾会议(当前周期做得好和不好的地方)。
+ - 发布版本。
+ - 评审会议(Showcase,用户需要参与)。
+ - 回顾会议(对当前迭代周期做一个总结)。
> 补充:敏捷软件开发宣言
>
@@ -487,7 +490,7 @@
> 敏捷团队通常人数为8-10人。
- > 工作量估算:将开发任务量化,包括原型、Logo设计、UI设计、前端开发等,尽量把每个工作分解到最小任务量,最小任务量标准为工作时间不能超过两天,然后估算总体项目时间。把每个任务都贴在白板上面,白板上分三部分:to do(待完成)、in progress(进行中)和done(已完成)。
+ > 工作量估算:将开发任务量化,包括原型、Logo设计、UI设计、前端开发等,尽量把每个工作分解到最小任务量,最小任务量标准为工作时间不能超过两天,然后估算总体项目时间。把每个任务都贴在看板上面,看板上分三部分:to do(待完成)、in progress(进行中)和done(已完成)。
2. 项目团队组建
@@ -515,7 +518,7 @@
- 敏捷闭环工具:[禅道](https://www.zentao.net/)、[JIRA](https://www.atlassian.com/software/jira/features)
- 持续集成:[Jenkins](https://jenkins.io/)、[Travis-CI](https://travis-ci.org/)
- 请参考[《团队项目开发》](Day91-100/团队项目开发.md)。
+ 请参考[《团队项目开发的问题和解决方案》](Day91-100/91.团队项目开发的问题和解决方案.md)。
##### 项目选题和理解业务