Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Day31-35/34-35.玩转Linux操作系统.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@

#### 分时系统和实时系统

分时系统是把处理器的运行时间分成很短的时间片,按时间片轮流把处理机分配给各联机作业使用。 若某个作业在分配给它的时间片内不能完成其计算,则该作业暂时中断,把处理机让给另一作业使用,等待下一轮调度时再继续其运行。由于计算机速度很快,作业运行轮转得很快,给每个用户的感觉是他独占了一台计算机。而每个用户可以通过自己的终端向系统发出各种操作控制命令,在充分的人机交互情况下,完成作业的运行。为了解决分时系统不能及时响应用户指令的情况,又出现了能够在在严格的时间范围内完成事件处理,及时响应随机外部事件的实时系统。
分时系统是把处理器的运行时间分成很短的时间片,按时间片轮流把处理机分配给各联机作业使用。 若某个作业在分配给它的时间片内不能完成其计算,则该作业暂时中断,把处理机让给另一作业使用,等待下一轮调度时再继续其运行。由于计算机速度很快,作业运行轮转得很快,给每个用户的感觉是他独占了一台计算机。而每个用户可以通过自己的终端向系统发出各种操作控制命令,在充分的人机交互情况下,完成作业的运行。为了解决分时系统不能及时响应用户指令的情况,又出现了能够在严格的时间范围内完成事件处理,及时响应随机外部事件的实时系统。

#### 通用操作系统

Expand Down
2 changes: 1 addition & 1 deletion Day36-45/37.SQL详解之DDL.md
Original file line number Diff line number Diff line change
Expand Up @@ -157,7 +157,7 @@ CONSTRAINT `uk_record_stu_cou` UNIQUE (`stu_id`, `cou_id`)
show engines\G
```

> **说明**:上面的 \G 是为了换一种输出方式,在命令行客户端中,如果表的字段很多一行显示不完,就会导致输出的内容看起来非常不舒服,使用 \G 可以将记录的每个列以独占整行的的方式输出,这种输出方式在命令行客户端中看起来会舒服很多。
> **说明**:上面的 \G 是为了换一种输出方式,在命令行客户端中,如果表的字段很多一行显示不完,就会导致输出的内容看起来非常不舒服,使用 \G 可以将记录的每个列以独占整行的方式输出,这种输出方式在命令行客户端中看起来会舒服很多。

```
*************************** 1. row ***************************
Expand Down
2 changes: 1 addition & 1 deletion Day36-45/40.SQL详解之DCL.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
## SQL详解之DCL

数据库服务器通常包含了非常重要的数据,可以通过访问控制来确保这些数据的安全,而 DCL 就是解决这一问题的,它可以为指定的用户授予访问权限或者从指定用户处召回指定的权限。DCL 对数据库管理员来说非常重要,因为用户权限的管理关系到数据库的安全。简单的说,我们可以通过 DCL 允许受信任的用户访问数据库,阻止不受信任的用户访问数据库,同时还可以通过 DCL 将每个访问者的的权限最小化(让访问者的权限刚刚够用)。
数据库服务器通常包含了非常重要的数据,可以通过访问控制来确保这些数据的安全,而 DCL 就是解决这一问题的,它可以为指定的用户授予访问权限或者从指定用户处召回指定的权限。DCL 对数据库管理员来说非常重要,因为用户权限的管理关系到数据库的安全。简单的说,我们可以通过 DCL 允许受信任的用户访问数据库,阻止不受信任的用户访问数据库,同时还可以通过 DCL 将每个访问者的权限最小化(让访问者的权限刚刚够用)。

### 创建用户

Expand Down
2 changes: 1 addition & 1 deletion Day81-90/88.神经网络模型.md
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ $$
\mathbf{a}^{[l]} = f \left( \mathbf{W}^{[l]} \mathbf{a}^{[l-1]} + \mathbf{b}^{[l]} \right)
$$

其中, $\small{\mathbf{W}^{[l]}}$ 是第 $\small{l}$ 层的权重矩阵, $\small{\mathbf{a}^{[l-1]}}$ 是是第 $\small{l - 1}$ 层的输出, $\small{\mathbf{b}^{[l]}}$ 是第 $\small{l}$ 层的偏置项, $\small{f}$ 是激活函数。神经网络最终的输出是通过最后一层的激活函数得到的,这个过程叫做前向传播(forward-propagation)。
其中, $\small{\mathbf{W}^{[l]}}$ 是第 $\small{l}$ 层的权重矩阵, $\small{\mathbf{a}^{[l-1]}}$ 是第 $\small{l - 1}$ 层的输出, $\small{\mathbf{b}^{[l]}}$ 是第 $\small{l}$ 层的偏置项, $\small{f}$ 是激活函数。神经网络最终的输出是通过最后一层的激活函数得到的,这个过程叫做前向传播(forward-propagation)。

对于神经网络模型来说,还有一个极其重要的操作就是通过计算损失函数相对于每个权重和偏置的梯度来更新神经网络的参数(权重和偏置),这一过程通常称为反向传播(back-propagation)。反向传播有两个要点,一个是损失函数,一个是梯度下降法,前者用于衡量预测值与真实值之间的差距,常用的损失函数有均方误差(回归任务)和交叉熵损失函数(分类任务),后者通过更新参数 $\small{\theta}$(权重和偏置),使得损失函数最小化,即:

Expand Down
2 changes: 1 addition & 1 deletion Day91-100/91.团队项目开发的问题和解决方案.md
Original file line number Diff line number Diff line change
Expand Up @@ -416,7 +416,7 @@ Git不像SVN那样一定需要中央服务器才能工作,上面我们演示

![](./res/git-flow.png)

在这种模式下,项目有两个长线分支,分别是`master`和`develop`,其他都是临时的的辅助分支,包括`feature`(开发特定功能的分支,开发结束后合并到`develop`)、`release`(从`develop`分离出来的为发布做准备的分支,发布结束后合并到`master`和`develop`)和`hotfix`(产品发布后出现问题时紧急建立的分支,直接从`master`分离,问题修复后合并到`master`并打上标签,同时还要合并到`develop`来避免将来的版本遗漏了这个修复工作,如果此时有正在发布中的`release`分支,还要合并到`release`分支)。具体的实施过程如下所示:
在这种模式下,项目有两个长线分支,分别是`master`和`develop`,其他都是临时的辅助分支,包括`feature`(开发特定功能的分支,开发结束后合并到`develop`)、`release`(从`develop`分离出来的为发布做准备的分支,发布结束后合并到`master`和`develop`)和`hotfix`(产品发布后出现问题时紧急建立的分支,直接从`master`分离,问题修复后合并到`master`并打上标签,同时还要合并到`develop`来避免将来的版本遗漏了这个修复工作,如果此时有正在发布中的`release`分支,还要合并到`release`分支)。具体的实施过程如下所示:

![](./res/git-flow-detail.png)

Expand Down
2 changes: 1 addition & 1 deletion 番外篇/Python容器使用小技巧.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ Python中提供了非常丰富的容器型数据类型,大家最为熟悉的
max(my_dict.items(), key=operator.itemgetter(1))
```

> **说明**:上面用到了`operator`模块的`itemgetter`函数,这个函数的的作用如下所示。在上面的代码中,`itemgetter`帮我们获取到了二元组中的第2个元素。
> **说明**:上面用到了`operator`模块的`itemgetter`函数,这个函数的作用如下所示。在上面的代码中,`itemgetter`帮我们获取到了二元组中的第2个元素。
>
> ```Python
> def itemgetter(*items):
Expand Down