提交 ad980610 编写于 作者: W wizardforcel

2022-01-28 23:17:13

上级 3ff0f74a
......@@ -16,7 +16,7 @@ $ gzip filename # It will create filename.gz
gzip [arguments] [filename]
```
Gzip 不同于zip,因为 gzip 不同于 zip,不能一次压缩多个文件。它一次只能压缩一个文件,如果您有多个文件,那么您要么必须为多个文件运行命令,要么可以在 Linux 中使用 tar 或 zip 命令捆绑它们,然后用 gzip 压缩它。
Gzip 不同于 zip,因为 gzip 不同于 zip,不能一次压缩多个文件。它一次只能压缩一个文件,如果您有多个文件,那么您要么必须为多个文件运行命令,要么可以在 Linux 中使用 tar 或 zip 命令捆绑它们,然后用 gzip 压缩它。
`gzip`命令通常用于压缩文本和档案等常规文件。不建议压缩媒体文件,如视频、音频、pdf 和其他可执行文件,因为它们已经被压缩。任何进一步的压缩都会损坏数据。
......
......@@ -5,7 +5,7 @@
在 Linux 中,要列出一个目录或子目录的所有文件,我们可以使用`ls`命令。这是每个 Linux 用户最常用的命令。我们将通过可用的选项和示例详细了解该命令。
* 如果我们使用`ls` 命令而没有任何参数的话它列出了当前工作目录中的文件和目录。
* `ls` 命令在 EFI(可扩展固件接口)Shell中也有。
* `ls` 命令在 EFI(可扩展固件接口)Shell 中也有。
* 在其他环境中,如 DOS(磁盘操作系统)和微软视窗,类似的功能由`dir` (目录)命令提供。
* `ls` 命令的输出是有色的,而`dir` 命令是有色的。
......
# 在 Ubuntu 上安装和使用PIP
# 在 Ubuntu 上安装和使用 PIP
> 原文:<https://www.studytonight.com/linux-guide/installing-and-using-pip-on-ubuntu>
......
......@@ -4,11 +4,11 @@
![Install Visual Studio Code on Debian 10](img/b552e3d917e88e896696d65f01f41bea.png)
今天,我们介绍**如何在 Debian 10** 巴斯特上安装 VSCode或更新现有 VS 代码;Visual Studio Code 是由**微软**创建的开源跨平台代码编辑器。Visual Studio 提供内置调试帮助、Git 集成控件、语法突出显示、代码完成、集成终端、代码重构和代码片段。
今天,我们介绍**如何在 Debian 10** 巴斯特上安装 VSCode 或更新现有 VS 代码;Visual Studio Code 是由**微软**创建的开源跨平台代码编辑器。Visual Studio 提供内置调试帮助、Git 集成控件、语法突出显示、代码完成、集成终端、代码重构和代码片段。
在 Debian 10 上安装 **Visual Studio Code** 的最快且推荐的方法是激活 VS Code 仓库,并使用命令行安装 VS Code 包。
本指南描述了在 **Debian 10 Buster 上安装 VSCode编辑器。**更新 Debian 10 上的 VS 代码
本指南描述了在 **Debian 10 Buster 上安装 VSCode 编辑器。**更新 Debian 10 上的 VS 代码
## 前提
......@@ -16,7 +16,7 @@
### 在 Debian 10 上安装 VSCode
**Debian** 10 系统上安装 VSCode的最快和推荐的方法是激活 VS 代码仓库,并使用命令行安装 VS 代码包:
**Debian** 10 系统上安装 VSCode 的最快和推荐的方法是激活 VS 代码仓库,并使用命令行安装 VS 代码包:
首先更新包索引并通过键入以下命令安装**依赖项**:
......@@ -33,7 +33,7 @@ curl -SSL https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
该命令将产生一个**输出** OK。
### 将 VSCode仓库添加到您的系统中:
### 将 VSCode 仓库添加到您的系统中:
```
sudo add-apt-repository "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main"
......
......@@ -56,7 +56,7 @@ more /etc/passwd
* 用户主目录-对于某些用户,该目录可以为空。
* 登录Shell(默认值为`/bin/bash`)。
* 登录 Shell(默认值为`/bin/bash`)。
![/ETC/PASSWD FILE CONTENT](img/4fe813525291c6da471c14664b751410.png)
......
# 什么是ElasticSearch?
# 什么是 ElasticSearch?
> 原文:<https://www.studytonight.com/elasticsearch/what-is-elasticsearch>
如果让一群开发人员从一个[传统的 RDBMS](https://www.studytonight.com/dbms/rdbms-concept.php) 中搜索匹配一些文本来查找一些数据,初学者会在 SQL 查询中使用 [LIKE 子句,稍微热情一点的开发人员可能会编写一个](https://www.studytonight.com/dbms/like-clause.php) [PL/SQL 过程](https://www.studytonight.com/plsql/plsql-procedure-and-function),或者有人甚至会选择所有的数据,放入一个数据结构中,然后应用一些[搜索算法](https://www.studytonight.com/data-structures/binary-search-algorithm),这样的技术还有很多。但是随着数据量的增长,所有这些都将慢慢地失去作用。一旦数据达到百万行的数量级,可能需要几秒钟才能成功对数据执行文本搜索。
为了快速存储和搜索(全文搜索)大量的半结构化或非结构化数据,我们可以使用ElasticSearch服务。
为了快速存储和搜索(全文搜索)大量的半结构化或非结构化数据,我们可以使用 ElasticSearch 服务。
Elasticsearch 不是数据库,而是**分布式搜索引擎服务**,用于以 JSON 对象(文档)的形式存储数据,进行超快速的全文搜索,可扩展性很高,即使是初学者也非常容易使用。
......@@ -12,39 +12,39 @@ Elasticsearch 附带一个**简单但复杂的 API** ,可用于执行各种操
您可以在您的 Windows 笔记本电脑、MacOS、任何 Linux 机器上安装 Elasticsearch,也可以将其**部署在集群中的多个物理或虚拟服务器上**
ElasticSearch即服务可以使用 docker 映像安装在 Docker 上,并且可以在 Kubernetes 环境中运行。
ElasticSearch 即服务可以使用 docker 映像安装在 Docker 上,并且可以在 Kubernetes 环境中运行。
## 为什么我们需要ElasticSearch?
## 为什么我们需要 ElasticSearch?
正如本教程介绍中提到的, **RDBMS 在查询海量数据**以获取结果方面有所欠缺,这在数据量不断增长的今天是一个有效的用例。
例如,任何电子商务网站都很容易列出成千上万种产品,每个客户在购买任何东西之前,都要搜索它,如果搜索需要时间,在大多数情况下,用户会去其他电子商务网站。因此,拥有一个快速搜索系统,已经成为拯救企业的必要条件。
从本质上来说,关系数据库管理系统将数据分布在标准化的表中,这为数据提供了适当的结构,但是很难搜索到任何东西。因此,软件行业慢慢向 NoSQL 转移,ElasticSearch也以 NoSQL 为基地。
从本质上来说,关系数据库管理系统将数据分布在标准化的表中,这为数据提供了适当的结构,但是很难搜索到任何东西。因此,软件行业慢慢向 NoSQL 转移,ElasticSearch 也以 NoSQL 为基地。
Elasticsearch 提供了一种查询语言 [Query DSL](https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl.html#query-dsl) (领域特定语言),可以用来查询存储的数据。
## 理解ElasticSearch
## 理解 ElasticSearch
Elasticsearch 服务是分布式的,这意味着它部署在一个集群中,多个节点运行在不同的物理或虚拟服务器上。虽然我们也可以运行单个节点设置。让我们试着用相当简单的语言来理解这一切意味着什么。
ElasticSearch集群是指运行在不同物理或虚拟机上的一组ElasticSearch节点。当我们设置ElasticSearch集群时,一个节点被分配为主节点,用于对集群进行配置更改,集群中的其他节点知道哪个是主节点。
ElasticSearch 集群是指运行在不同物理或虚拟机上的一组 ElasticSearch 节点。当我们设置 ElasticSearch 集群时,一个节点被分配为主节点,用于对集群进行配置更改,集群中的其他节点知道哪个是主节点。
我们可以通过发出 HTTP 请求,使用 REST API 与任何节点进行通信,而在内部,每个节点都通过传输层进行通信。
下面我们有一个简单的图表来解释一个简单的ElasticSearch服务集群。
下面我们有一个简单的图表来解释一个简单的 ElasticSearch 服务集群。
![Elasticsearch cluster and nodes](img/5d78365f1dfb81beb809f5bf8b975ff9.png)
ElasticSearch集群的默认名称是**ElasticSearch**。我们可以在运行ElasticSearch时指定初始启动的节点数量,也可以在**配置/ElasticSearch. yml** 文件中指定物理或虚拟服务器的 IP 地址,您也可以在其中找到所有其他配置。
ElasticSearch 集群的默认名称是**ElasticSearch**。我们可以在运行 ElasticSearch 时指定初始启动的节点数量,也可以在**配置/ElasticSearch. yml** 文件中指定物理或虚拟服务器的 IP 地址,您也可以在其中找到所有其他配置。
以下是ElasticSearch服务的主要逻辑单元:
以下是 ElasticSearch 服务的主要逻辑单元:
**集群** -ElasticSearch集群由一个或多个节点组成,并可通过其集群名称进行识别。
**集群** -ElasticSearch 集群由一个或多个节点组成,并可通过其集群名称进行识别。
**节点** -单个ElasticSearch实例。在大多数环境中,每个节点都运行在单独的机箱或虚拟机上。
**节点** -单个 ElasticSearch 实例。在大多数环境中,每个节点都运行在单独的机箱或虚拟机上。
**索引** -在 Elasticsearch 中,索引是文档的集合。你可以理解它,就像一个表是为关系数据库管理系统准备的,同样,我们在ElasticSearch中有索引。
**索引** -在 Elasticsearch 中,索引是文档的集合。你可以理解它,就像一个表是为关系数据库管理系统准备的,同样,我们在 ElasticSearch 中有索引。
**碎片** -正如已经讨论过的,Elasticsearch 是一个分布式搜索引擎,因此索引通常被分成更小的单元,称为碎片,分布在多个节点上。
......@@ -54,11 +54,11 @@ ElasticSearch集群的默认名称是**ElasticSearch**。我们可以在运行El
## 弹性研究的应用
当我们使用 Kubernetes 在云上移动企业软件时,我第一次与ElasticSearch相遇,我们有一个用例,将每个 docker 容器中的日志聚合到一个数据存储引擎中,从该引擎中可以在一些用户界面上显示日志。显然,我们使用ElasticSearch来存储日志,并使用 Kibana(同一公司的另一款产品)作为可视化的用户界面。
当我们使用 Kubernetes 在云上移动企业软件时,我第一次与 ElasticSearch 相遇,我们有一个用例,将每个 docker 容器中的日志聚合到一个数据存储引擎中,从该引擎中可以在一些用户界面上显示日志。显然,我们使用 ElasticSearch 来存储日志,并使用 Kibana(同一公司的另一款产品)作为可视化的用户界面。
但这是ElasticSearch的一个非常特殊的用例,但也是一个流行的用例。
但这是 ElasticSearch 的一个非常特殊的用例,但也是一个流行的用例。
以下是ElasticSearch可以使用的一些主要用例,它将获得成功。
以下是 ElasticSearch 可以使用的一些主要用例,它将获得成功。
* 应用或网站搜索有大量数据的社交网站或有大量产品目录的电子商务网站等。
......@@ -72,7 +72,7 @@ ElasticSearch集群的默认名称是**ElasticSearch**。我们可以在运行El
* 和各种其他形式的分析,收集实时数据,然后进行分析。
## 支持ElasticSearch的编程语言
## 支持 ElasticSearch 的编程语言
它支持许多编程语言,但官方客户端提供以下编程语言:
......
# Docker基础
\ No newline at end of file
# Docker 基础
\ No newline at end of file
# 容器和Docker介绍
# 容器和 Docker 介绍
> 原文:<https://www.studytonight.com/docker/introduction-to-containers-and-docker>
......@@ -46,7 +46,7 @@ Docker 使用 **docker 图像**来运行容器内的进程。稍后我们将详
![Docker Engine client-server architecture components](img/5bf6b8608104bca6d6a4b81ac4768c3a.png)
**命令行界面**使用**应用编程接口****Docker守护程序**进程交互。docker 守护程序负责创建和管理 docker 对象,如容器、映像、网络和卷。我们将在接下来的教程中了解所有这些 docker 对象。
**命令行界面**使用**应用编程接口****Docker 守护程序**进程交互。docker 守护程序负责创建和管理 docker 对象,如容器、映像、网络和卷。我们将在接下来的教程中了解所有这些 docker 对象。
## 为什么要用 Docker?
......@@ -70,7 +70,7 @@ Docker 使用 **docker 图像**来运行容器内的进程。稍后我们将详
当我们在本地机器上开发完一些应用,并且必须在生产中部署这些应用时,我们会面临很多环境设置问题。但是如果您正在使用 docker,您可以定义容器设置的步骤,docker 将确保每次无论您在哪里运行它,环境都以相同的方式进行设置。
### 4.Docker容器是松散耦合的
### 4.Docker 容器是松散耦合的
容器是一个自给自足的单元,具有自己的资源配额、自己的网络设置等,这使得它完全封装,从而使系统管理员更容易在不影响其他容器的情况下替换或升级一个容器。
......
......@@ -70,15 +70,15 @@ Docker 版本 19.03.1
docker 工具箱包含以下内容:
* **Docker机器**运行`docker-machine`命令
* **Docker 机器**运行`docker-machine`命令
* **Docker引擎**用于运行`docker`命令
* **Docker 引擎**用于运行`docker`命令
* **Docker编写**运行`docker-compose`命令
* **Docker 编写**运行`docker-compose`命令
* **Kitematic** ,Docker 图形用户界面
* 预配置用于 **Docker 命令行**环境的Shell
* 预配置用于 **Docker 命令行**环境的 Shell
* **Oracle VirtualBox**
......
......@@ -2,7 +2,7 @@
Docker 提供了一个桌面应用,非常容易在 Mac 操作系统上安装和运行。就像我们在 windows 10 上安装 docker 桌面应用和老版本的 docker 工具箱一样。同样,最新的 docker 桌面应用适用于 Mac OS,而**适用于旧版本的 Mac OS**我们将不得不设置 **docker 工具箱**来运行 Docker。
## Docker电脑系统要求
## Docker 电脑系统要求
你应该让你的 Mac OS 运行不早于 2010 年的硬件**,因为 docker 桌面应用将需要英特尔对**内存管理单元(MMU)虚拟化**的硬件支持,包括**扩展页表(EPT)** 和**无限制模式**。**
......@@ -12,7 +12,7 @@ Docker 提供了一个桌面应用,非常容易在 Mac 操作系统上安装
## 在 Mac OS 上安装 docker
[Docker中心-Docker桌面下载**Docker. dmg** 文件。](https://hub.docker.com/editions/community/docker-ce-desktop-mac/)
[Docker 中心-Docker 桌面下载**Docker. dmg** 文件。](https://hub.docker.com/editions/community/docker-ce-desktop-mac/)
点击下载的 docker.dmg 文件到**打开并挂载**。打开后,您将看到以下弹出窗口:
......@@ -34,11 +34,11 @@ Docker 提供了一个桌面应用,非常容易在 Mac 操作系统上安装
点击**确定**,并提供您的系统密码继续。
一旦Docker开始工作,你会看到**鲸鱼图标出现在顶部导航栏**中,你可以点击它查看更多Docker相关选项。
一旦 Docker 开始工作,你会看到**鲸鱼图标出现在顶部导航栏**中,你可以点击它查看更多 Docker 相关选项。
![start docker on mac OS](img/4069dead907f512780f8a72c8ec173fc.png)
要验证Docker是否已成功启动,**在终端运行以下命令**:
要验证 Docker 是否已成功启动,**在终端运行以下命令**:
```
docker --version
......
......@@ -2,7 +2,7 @@
> 原文:<https://www.studytonight.com/docker/docker-hello-world-app>
在 docker 中运行 hello world 应用示例非常简单,您可以在不编写一行代码的情况下完成。我们只需要`docker run`命令。在本教程中,我们将学习如何**从**Docker中心**下载Docker图像**,然后运行该Docker图像来启动[Docker容器](https://www.studytonight.com/docker/introduction-to-containers-and-docker)
在 docker 中运行 hello world 应用示例非常简单,您可以在不编写一行代码的情况下完成。我们只需要`docker run`命令。在本教程中,我们将学习如何**从**Docker 中心**下载 Docker 图像**,然后运行该 Docker 图像来启动[Docker 容器](https://www.studytonight.com/docker/introduction-to-containers-and-docker)
因此,在本教程中,我们将主要使用 docker pull 和 docker run 命令。别担心,我们会在接下来的教程中介绍这些命令。
......@@ -114,7 +114,7 @@ docker.io/library/hello-world:latest
这将下载 docker 映像,并将其本地存储在您的机器上。在上面的输出中,它表示图像已经是最新的,因为在此之前我运行了`docker run hello-world`命令,并且下载了 hello-world docker 图像。
不要担心什么是 **Docker Hub** 或者什么是 **Docker images** ,我们将在接下来的教程中了解它们。只是给大家简单介绍一下,Docker Hub 是一个在线平台,开发者可以上传自己的 Docker 图片,供任何人下载使用。因此,你**将需要一个互联网连接来下载你好世界Docker图像**
不要担心什么是 **Docker Hub** 或者什么是 **Docker images** ,我们将在接下来的教程中了解它们。只是给大家简单介绍一下,Docker Hub 是一个在线平台,开发者可以上传自己的 Docker 图片,供任何人下载使用。因此,你**将需要一个互联网连接来下载你好世界 Docker 图像**
因此,在本教程中,我们在 docker 中运行了一个简单的 hello-world 应用,并使用了两个命令,`docker run``docker pull`。在下一个教程中,我们将学习如何使用 Docker Hub,然后我们将开始学习各种 Docker 命令。
......
......@@ -36,7 +36,7 @@
2. 不再整合流程。
3. 许多糟糕的代码味道& bugs 可以在开发过程的早期阶段减少。
4. 频繁的部署过程更容易、更快。
5. 通过使用像Jenkins(早期被称为哈德逊)和巡航控制这样的工具,很容易实现这个过程。
5. 通过使用像 Jenkins(早期被称为哈德逊)和巡航控制这样的工具,很容易实现这个过程。
* * *
......
# Jenkins集成服务器
# Jenkins 集成服务器
> 原文:<https://www.studytonight.com/jenkins/jenkins-integration-server>
在前一章中,我们研究了“持续集成”的概念。为了为启用了配置项的项目创建环境,需要一个工具。于是,Jenkins投入了行动。Jenkins 是一个开源工具,用于实现持续集成。
在前一章中,我们研究了“持续集成”的概念。为了为启用了配置项的项目创建环境,需要一个工具。于是,Jenkins 投入了行动。Jenkins 是一个开源工具,用于实现持续集成。
由于甲骨文公司的一些问题,Jenkins项目从哈德逊开始。Jenkins 基本上是一个运行在 servlet 容器中的基于服务器的系统,这个容器就是 apache tomcat。它支持许多工具,如 Git、SVN、Mercurial 和 Clearcase。Jenkins最初是由一个名为“T2”的开发人员创办的。
由于甲骨文公司的一些问题,Jenkins 项目从哈德逊开始。Jenkins 基本上是一个运行在 servlet 容器中的基于服务器的系统,这个容器就是 apache tomcat。它支持许多工具,如 Git、SVN、Mercurial 和 Clearcase。Jenkins 最初是由一个名为“T2”的开发人员创办的。
* * *
## Jenkins是做什么的?
## Jenkins 是做什么的?
Jenkins的主要工作是执行基于触发器配置的步骤列表。以下是Jenkins触发时执行的步骤/任务列表:
Jenkins 的主要工作是执行基于触发器配置的步骤列表。以下是 Jenkins 触发时执行的步骤/任务列表:
1. 执行代码编译&用 ANT、Maven 或 Gradle 构建软件。
2. 运行内部 shell 脚本
......@@ -22,16 +22,16 @@ Jenkins的主要工作是执行基于触发器配置的步骤列表。以下是J
* * *
### Jenkins关注什么?
### Jenkins 关注什么?
Jenkins主要关注 2 项重要活动:
Jenkins 主要关注 2 项重要活动:
1. **软件的持续构建:**只不过是创建一个持续的集成环境
2. **监视外部作业的执行:**这监视定义的作业- CRON 作业。
* * *
### Jenkins的特点
### Jenkins 的特点
1. 易于安装和配置。
2. 构建细节的永久链接可读 URL。
......@@ -44,13 +44,13 @@ Jenkins主要关注 2 项重要活动:
* * *
### Jenkins最佳实践
### Jenkins 最佳实践
以下是与Jenkins合作时的一些最佳实践:
以下是与 Jenkins 合作时的一些最佳实践:
1. 始终确保Jenkins-用户身份验证的安全。
1. 始终确保 Jenkins-用户身份验证的安全。
2. 使用文件指纹来管理依赖关系。
3.Jenkins与 JIRA 这样的问题跟踪系统整合在一起。
3. Jenkins 与 JIRA 这样的问题跟踪系统整合在一起。
4. 始终配置 Jenkins 以生成趋势报告。
5. 在磁盘空间较多的分区空间上安装 Jenkins。
6. 为维护和开发项目设置不同的作业。
......
# 如何配置Jenkins构建服务器
# 如何配置 Jenkins 构建服务器
> 原文:<https://www.studytonight.com/jenkins/configuring-jenkins>
......@@ -8,9 +8,9 @@
* * *
## Jenkins设置
## Jenkins 设置
1. 从 https://jenkins-ci.org/下载最新的Jenkins战报。向右上方点击链接最新和最大的下载最新的战争文件。
1. 从 https://jenkins-ci.org/下载最新的 Jenkins 战报。向右上方点击链接最新和最大的下载最新的战争文件。
2. 在我们机器的本地网络服务器中部署 **Jenkins.war** 文件。例如雄猫
3. Start the server and open the browser and hit the URL [http://localhost:8080/jenkins](http://localhost:8080/jenkins)
......
# 如何在Jenkins配置 JDK
# 如何在 Jenkins 配置 JDK
> 原文:<https://www.studytonight.com/jenkins/configuring-jdk-in-jenkins>
在前一章中,我们学习了如何配置 Jenkins 并启动服务器,并查看其 GUI 了解其他基本配置。本章将学习如何在Jenkins配置 JDK。由于 Jenkins 通常用于构建和部署 java 应用,因此它为 Java 应用提供了出色的特性。
在前一章中,我们学习了如何配置 Jenkins 并启动服务器,并查看其 GUI 了解其他基本配置。本章将学习如何在 Jenkins 配置 JDK。由于 Jenkins 通常用于构建和部署 java 应用,因此它为 Java 应用提供了出色的特性。
默认情况下,Jenkins 将使用从系统路径中找到的 java 版本。这就是Jenkins号本身运行的情况。但是,可能存在需要配置多个版本的 JDK 的情况。考虑一下,在生产系统中,应用可能在 JDK 5 上运行,在某些质量保证平台中,可能需要更高版本的 JDK,以便执行某些特定的测试,例如性能问题。
默认情况下,Jenkins 将使用从系统路径中找到的 java 版本。这就是 Jenkins 号本身运行的情况。但是,可能存在需要配置多个版本的 JDK 的情况。考虑一下,在生产系统中,应用可能在 JDK 5 上运行,在某些质量保证平台中,可能需要更高版本的 JDK,以便执行某些特定的测试,例如性能问题。
作为一种最佳实践,使用与生产环境中使用的版本接近的 java 版本来构建应用总是明智的。因为,在 JDK 5 下开发的应用可以很容易地与 JDK 6 一起运行,但反过来,失败的几率可能总是很高。
......@@ -12,9 +12,9 @@ Jenkins 提供了一个很好的特性来配置多个 JVM,以克服上面提
* * *
## 在Jenkins配置 JDK
## 在 Jenkins 配置 JDK
以下是在Jenkins配置 JDK 应遵循的步骤:
以下是在 Jenkins 配置 JDK 应遵循的步骤:
1. 将 Jenkins.war 部署到 tomcat 服务器中并启动服务器。
* From the home page, click on the link **Manage Jenkins** and click on **Configure System** as shown below :
......
# 保护Jenkins
\ No newline at end of file
# 保护 Jenkins
\ No newline at end of file
# 保护Jenkins构建服务器
# 保护 Jenkins 构建服务器
> 原文:<https://www.studytonight.com/jenkins/securing-jenkins>
这里需要理解的最基本的事情是确保Jenkins的安全,因为它是开放的。任何人都可以使用该网址访问Jenkins,并在Jenkins执行各种可用的任务。因此,这需要得到保证。作为最佳实践,建议始终保护 Jenkins,然后配置全局安全性。最好的方法是通过配置到我们自己的本地数据库来使用 Jenkins。
这里需要理解的最基本的事情是确保 Jenkins 的安全,因为它是开放的。任何人都可以使用该网址访问 Jenkins,并在 Jenkins 执行各种可用的任务。因此,这需要得到保证。作为最佳实践,建议始终保护 Jenkins,然后配置全局安全性。最好的方法是通过配置到我们自己的本地数据库来使用 Jenkins。
以下是保护Jenkins应遵循的步骤:
以下是保护 Jenkins 应遵循的步骤:
1. 部署 **Jenkins.war** 并启动服务器。
2. 打开Jenkins主页,点击**管理Jenkins**
2. 打开 Jenkins 主页,点击**管理 Jenkins**
3. In the **Manage Jenkins** page, click on **Setup Security** button.
![Securing Jenkins Server](img/43f0b79339bb32d73e02c187864c2d5e.png)
......@@ -28,7 +28,7 @@
![Securing Jenkins Server](img/463e156e5670575e0f5157cc2f81f018.png)
* 现在点击**管理Jenkins** &选择**配置全球安全**。在安全领域部分,取消选择<u>允许用户注册</u>选项。这将确保在您的许可下无法创建新用户。* Now, we need to configure the authentication for the accounts. The 2 best options preferred are **Matrix-based security** & **Project-base project authorization strategy**. This enables you to set per user for the actions which they can perform. Here, I have considered **Matrix-based security**
* 现在点击**管理 Jenkins** &选择**配置全球安全**。在安全领域部分,取消选择<u>允许用户注册</u>选项。这将确保在您的许可下无法创建新用户。* Now, we need to configure the authentication for the accounts. The 2 best options preferred are **Matrix-based security** & **Project-base project authorization strategy**. This enables you to set per user for the actions which they can perform. Here, I have considered **Matrix-based security**
![Securing Jenkins Server](img/0851ff1e5ddead482a7c8c4bcb2f8b39.png)
......
# 在Jenkins配置构建系统
# 在 Jenkins 配置构建系统
> 原文:<https://www.studytonight.com/jenkins/configuring-build-system>
......@@ -26,7 +26,7 @@
## Jenkins:配置构建触发器
Jenkins证明了触发构建的多种选择。以下都是一样的:
Jenkins 证明了触发构建的多种选择。以下都是一样的:
* 每当生成快照依赖项时生成
* 远程触发构建(例如,从脚本)
......
# Jenkins管理
\ No newline at end of file
# Jenkins 管理
\ No newline at end of file
# Jenkins插件管理
# Jenkins 插件管理
> 原文:<https://www.studytonight.com/jenkins/plugin-management>
Jenkins 是这样一个方便的工具,可以通过添加额外的插件来轻松扩展,以适应更多的功能。例如,包括 Git 作为配置管理选项,JUnit 插件等。这可以通过选择选项**管理Jenkins-管理插件**来轻松完成,如下所示。
Jenkins 是这样一个方便的工具,可以通过添加额外的插件来轻松扩展,以适应更多的功能。例如,包括 Git 作为配置管理选项,JUnit 插件等。这可以通过选择选项**管理 Jenkins-管理插件**来轻松完成,如下所示。
![Plugin Management](img/3f5b62393a56dea5863a5f64a85ddad2.png)
从管理Jenkins屏幕点击**管理插件**。这将进入列出所有可用插件的页面。单击可用选项卡,从可用插件列表中选择需要安装的插件。例如,选择如下图所示的 Github 插件,点击页面底部的<u>不重启安装</u>按钮。这将下载 github 插件,并安装在Jenkins。
从管理 Jenkins 屏幕点击**管理插件**。这将进入列出所有可用插件的页面。单击可用选项卡,从可用插件列表中选择需要安装的插件。例如,选择如下图所示的 Github 插件,点击页面底部的<u>不重启安装</u>按钮。这将下载 github 插件,并安装在 Jenkins。
![Plugin Management](img/5ac83fd347d3d71b7ff422da2e75c265.png)
......
# 在Jenkins服务器中设置作业
# 在 Jenkins 服务器中设置作业
> 原文:<https://www.studytonight.com/jenkins/setting-up-job>
在Jenkins,任何项目的构建都是由 JOBs 处理的。因此,为了构建一个项目,总是需要创建一个作业。这可以很容易地完成,如下所示:
Jenkins,任何项目的构建都是由 JOBs 处理的。因此,为了构建一个项目,总是需要创建一个作业。这可以很容易地完成,如下所示:
从 Jenkins 主页点击**新项目**,只需输入项目名称,选择 **Maven 项目**,点击【确定】。
......
# Jenkins服务器中的备份管理
# Jenkins 服务器中的备份管理
> 原文:<https://www.studytonight.com/jenkins/backup-management>
众所周知,Jenkins总是需要一些磁盘空间来执行构建作业并将其归档。这是通过使用 JENKINS_HOME 进行配置的。只要需要,就可以配置此路径。
众所周知,Jenkins 总是需要一些磁盘空间来执行构建作业并将其归档。这是通过使用 JENKINS_HOME 进行配置的。只要需要,就可以配置此路径。
* * *
......@@ -26,7 +26,7 @@
由于 Jenkins 可以通过使用几个插件得到极大的扩展,因此 Jenkins 中出现了一个可以用于备份管理的插件- **ThinBackup** 插件。该插件备份作业特定的配置文件。
Jenkins主页,点击**管理Jenkins**,在下一页点击**管理插件**
Jenkins 主页,点击**管理 Jenkins**,在下一页点击**管理插件**
![ThinBackup Plugin](img/d7ee971bd85bc90a834126d7967a64b2.png)
......@@ -34,7 +34,7 @@
![ThinBackup Plugin](img/5fae885e680537e49a39aacb9ab0d704.png)
只要重启Jenkins就能看到插件成功安装。从主页,点击**管理Jenkins**链接,在下一页,从列表中如果可以发现 ThinBackup 插件安装。只要点击相同的,下面的页面就会显示出来。
只要重启 Jenkins 就能看到插件成功安装。从主页,点击**管理 Jenkins**链接,在下一页,从列表中如果可以发现 ThinBackup 插件安装。只要点击相同的,下面的页面就会显示出来。
![ThinBackup Plugin](img/fffd257c1110c30f1cdc131682143e87.png)
......
......@@ -10,7 +10,7 @@
**开发人员:**负责创建和维护产品的人员。
**产品Backlog:**一个项目的潜在特性或变化的不断发展的列表。
**产品 Backlog:**一个项目的潜在特性或变化的不断发展的列表。
**产品负责人:**帮助团队定义产品的人。
......
......@@ -12,7 +12,7 @@ Scrum 是一个轻量级的框架,它可以非常灵活、高效和强大,
在 Scrum 团队中,PO 总是对工作进行排序,并确保团队成员清楚地了解请求的细节,但这只是他们工作的一部分。他们也每天与利益相关者互动。
PO 与团队互动是不够的,他们还必须与业务环境中发生的所有变化保持一致。因此,采购订单是产品愿景的守护者。他或她定义并管理要完成的工作的Backlog以及这些工作项目的优先级。
PO 与团队互动是不够的,他们还必须与业务环境中发生的所有变化保持一致。因此,采购订单是产品愿景的守护者。他或她定义并管理要完成的工作的 Backlog 以及这些工作项目的优先级。
### Scrum 大师
......
......@@ -4,7 +4,7 @@
我们已经讨论了主题和特性作为工作分组。这些都是非常有用的结构,可以帮助我们组织起来,但是对于团队来说,它们仍然太大了,无法在很短的时间内完成工作并交付价值。用户故事是可以快速交付的工作的战术层面。同时,它们也不会小到没有价值。
团队中的任何人都可以写用户故事,但通常是 PO。作为客户的利益相关者和代表,他们的职责是确保Backlog中的所有内容都为客户增加价值,因此他们通常编写用户故事。
团队中的任何人都可以写用户故事,但通常是 PO。作为客户的利益相关者和代表,他们的职责是确保 Backlog 中的所有内容都为客户增加价值,因此他们通常编写用户故事。
### 创建用户故事时需要记住的要点
......
......@@ -8,9 +8,9 @@
这些验收标准可以在计划 scrum 时设定,也可以由产品所有者设定。
接下来,您的产品负责人需要对Backlog进行优先排序。这就是所谓的**Backlog整理**。这仅仅意味着故事是按价值顺序连续排序的。故事的结果越有价值,它在Backlog中的优先级就越高。
接下来,您的产品负责人需要对 Backlog 进行优先排序。这就是所谓的**Backlog 整理**。这仅仅意味着故事是按价值顺序连续排序的。故事的结果越有价值,它在 Backlog 中的优先级就越高。
最后,你需要建立你的**Sprint持续时间**。Scrum 说你的Sprint可以是一到四周的长度,更倾向于较短的时间尺度。
最后,你需要建立你的**Sprint 持续时间**。Scrum 说你的 Sprint 可以是一到四周的长度,更倾向于较短的时间尺度。
### Scrum 中的故事和评估
......
......@@ -6,7 +6,7 @@ Scrum 也有路线图和发布计划的工具。我们在路线图和发布计
如果我们举一个为送餐服务创建一个移动应用的例子,有太多的组件需要我们去处理。从下订单到付款和交货跟踪,我们需要决定处理此事的最佳订单。所以我们将从 App 设计和下单系统开始,稍后我们将转向支付系统,这是第三方集成,也是任何业务最重要的特征。像 Scrum 中的其他东西一样,这是一个指导方针,而不是规则。
路线图被认为是在每次Sprint结束时更新的。在整个Sprint过程中,团队将不断学习新东西,撰写新故事。所以路线图应该是一份有意义的文件。这只是一个指南,但它会帮助你专注于完成项目。
路线图被认为是在每次 Sprint 结束时更新的。在整个 Sprint 过程中,团队将不断学习新东西,撰写新故事。所以路线图应该是一份有意义的文件。这只是一个指南,但它会帮助你专注于完成项目。
* * *
......@@ -14,17 +14,17 @@ Scrum 也有路线图和发布计划的工具。我们在路线图和发布计
一旦你完成了这个,你就可以围绕你创建的主题时间线来组织你的故事。这是您创建发布计划的方式。
发布计划是下一层细节。这是一个高层次的计划,旨在将路线图与Sprint阶段联系起来。它提供了我们如何交付的可见性。
发布计划是下一层细节。这是一个高层次的计划,旨在将路线图与 Sprint 阶段联系起来。它提供了我们如何交付的可见性。
在 Scrum 中,你必须在每一次**Sprint**结束时完成功能齐全的故事。但是,您不需要在每次Sprint结束时向涉众发布它们。这意味着你可以在两到三次Sprint中完成所有的工作,然后一起发布组合结果。您将使用您的故事点来帮助您的团队决定他们在每次Sprint中可以做什么。一旦你的团队在一起一段时间,他们会达到一个稳定的速度。
在 Scrum 中,你必须在每一次**Sprint**结束时完成功能齐全的故事。但是,您不需要在每次 Sprint 结束时向涉众发布它们。这意味着你可以在两到三次 Sprint 中完成所有的工作,然后一起发布组合结果。您将使用您的故事点来帮助您的团队决定他们在每次 Sprint 中可以做什么。一旦你的团队在一起一段时间,他们会达到一个稳定的速度。
#### 什么是 Scrum Sprint?
Sprint是一个时间框架,不超过一个月,在此期间完成一个项目或子项目。最常见的Sprint是 2 到 3 周的时间。一次Sprint完成后,下一次Sprint立即开始。
Sprint 是一个时间框架,不超过一个月,在此期间完成一个项目或子项目。最常见的 Sprint 是 2 到 3 周的时间。一次 Sprint 完成后,下一次 Sprint 立即开始。
Sprint计划期间,故事、史诗被创建,并且在正在进行的Sprint期间,没有任何可能影响Sprint目标的改变。
Sprint 计划期间,故事、史诗被创建,并且在正在进行的 Sprint 期间,没有任何可能影响 Sprint 目标的改变。
每一次Sprint都以一次**Sprint计划会议**开始,在每年春季结束时,召开一次**Sprint评审会议**,由产品负责人评审已提交的任务是否完成。此外,还可以召开**回顾会议**,回顾上一次Sprint中面临的问题,并在接下来的Sprint中加以改进。
每一次 Sprint 都以一次**Sprint 计划会议**开始,在每年春季结束时,召开一次**Sprint 评审会议**,由产品负责人评审已提交的任务是否完成。此外,还可以召开**回顾会议**,回顾上一次 Sprint 中面临的问题,并在接下来的 Sprint 中加以改进。
* * *
......
# Sprint预计划
# Sprint 预计划
> 原文:<https://www.studytonight.com/scrum-framework/sprint-preplanning>
Sprint Planning 的主要议程是让 Sprint 的执行更加有效。
为了提供正确的先决条件,需要在Sprint预计划期间采取以下行动:
为了提供正确的先决条件,需要在 Sprint 预计划期间采取以下行动:
* 澄清验收标准。一个故事必须有资格被标记为“完成”的标准。
* 提供对用户故事的估计,帮助产品负责人确定Backlog中的优先级。
* 将高优先级用户故事分解成适合Sprint的块。
* 提供对用户故事的估计,帮助产品负责人确定 Backlog 中的优先级。
* 将高优先级用户故事分解成适合 Sprint 的块。
* 考虑对团队中关键资源的依赖以及每个团队的工作量。
* * *
......@@ -35,7 +35,7 @@ Sprint Planning 的主要议程是让 Sprint 的执行更加有效。
这些依赖是指两个或更多的用户故事是相互依赖的,没有另一个就无法完成。理想情况下,团队应该寻找打破所有连接的方法,或者寻找将交织在一起的依赖关系转化为简单依赖关系的方法。处理这些跨 Scrum 团队的依赖关系是与 Scrum 团队一起工作的 PO(产品所有者)的重要职责。
产品所有者和 Scrum 开发团队需要将注意力集中在当前版本的高优先级故事上。这就是为什么Sprint预计划是有效Sprint计划的重要一步。
产品所有者和 Scrum 开发团队需要将注意力集中在当前版本的高优先级故事上。这就是为什么 Sprint 预计划是有效 Sprint 计划的重要一步。
* * *
......
# 实际Sprint计划的 Scrum 准备
# 实际 Sprint 计划的 Scrum 准备
> 原文:<https://www.studytonight.com/scrum-framework/actual-sprint-planning>
充分的Sprint计划实际上是由所有团队成员完成的。团队代表在整个团队中承担工作是不合理的。
充分的 Sprint 计划实际上是由所有团队成员完成的。团队代表在整个团队中承担工作是不合理的。
**Sprint规划要点**
**Sprint 规划要点**
* 团队代表应该准备Sprint计划。
* 如果多个 scrum 团队在处理同一个产品Backlog,他们必须聚集在一起,一起参与 sprint 计划。
* 团队代表应该准备 Sprint 计划。
* 如果多个 scrum 团队在处理同一个产品 Backlog,他们必须聚集在一起,一起参与 sprint 计划。
使用优先化的Backlog,采购订单按顺序向团队呈现最高价值的案例。目的是团队中的每个人都充分理解故事的意图和故事的具体接受标准。对于所有的用户故事,解释 *done* 的定义也是有帮助的。
使用优先化的 Backlog,采购订单按顺序向团队呈现最高价值的案例。目的是团队中的每个人都充分理解故事的意图和故事的具体接受标准。对于所有的用户故事,解释 *done* 的定义也是有帮助的。
每一次Sprint都从一次**Sprint计划会议**开始,包括两次会议-**什么会议****如何会议**。在“什么”会议中,团队从 Scrum Backlog中挑选用户故事,他们将处理这些故事。而且,在“如何”会议中,挑选出的用户故事被进一步分解成具有设定优先级和故事点的小任务。
每一次 Sprint 都从一次**Sprint 计划会议**开始,包括两次会议-**什么会议****如何会议**。在“什么”会议中,团队从 Scrum Backlog 中挑选用户故事,他们将处理这些故事。而且,在“如何”会议中,挑选出的用户故事被进一步分解成具有设定优先级和故事点的小任务。
### 规划的前半部分-决定要实现什么
#### 回顾Sprint目标
#### 回顾 Sprint 目标
Scrum 会议代表将展示项目的高水平愿景。产品所有者确定Sprint的目标,并证明它将如何向产品交付价值。
Scrum 会议代表将展示项目的高水平愿景。产品所有者确定 Sprint 的目标,并证明它将如何向产品交付价值。
#### 查看产品Backlog
#### 查看产品 Backlog
Sprint计划会议之前,产品负责人将重新安排用户故事,并优先考虑这些故事。
Sprint 计划会议之前,产品负责人将重新安排用户故事,并优先考虑这些故事。
在 Sprint 计划期间,PO 向团队呈现最高优先级的用户故事。利益相关者将对用户故事给出反馈。故事可能会根据利益相关者的反馈而改变。
......@@ -29,15 +29,15 @@ Scrum 会议代表将展示项目的高水平愿景。产品所有者确定Sprin
在计划的后半部分,团队决定如何完成工作。
#### 创建Backlog
#### 创建 Backlog
PO 与团队一起回顾优先级最高的故事,并决定他们在每次Sprint中能做多少。每个人都应该在这个计划中投入自己的工作。如果有人不能提交,PO 和团队需要一起改变Sprint的形状,直到每个人都能提交。Sprint 计划是 scrum 中一个关键的协作努力。
PO 与团队一起回顾优先级最高的故事,并决定他们在每次 Sprint 中能做多少。每个人都应该在这个计划中投入自己的工作。如果有人不能提交,PO 和团队需要一起改变 Sprint 的形状,直到每个人都能提交。Sprint 计划是 scrum 中一个关键的协作努力。
#### 更新发布计划
一旦团队致力于用户故事,产品负责人将重新审视用户故事到 Sprints 的发布计划映射。利用当前的信息、团队在前一次Sprint中完成的故事、从当前Sprint的产品Backlog中取出的故事,产品所有者更新发布计划。
一旦团队致力于用户故事,产品负责人将重新审视用户故事到 Sprints 的发布计划映射。利用当前的信息、团队在前一次 Sprint 中完成的故事、从当前 Sprint 的产品 Backlog 中取出的故事,产品所有者更新发布计划。
Scrum 非常重视承诺这一步。每个人的承诺对实现你的Sprint目标非常重要。从评审Sprint目标到更新发布计划,每一步都必须认真执行。
Scrum 非常重视承诺这一步。每个人的承诺对实现你的 Sprint 目标非常重要。从评审 Sprint 目标到更新发布计划,每一步都必须认真执行。
![Actual Sprint Planning](img/2dfc4f0e44bdd5355466b6843f352d6c.png)
......
......@@ -4,19 +4,19 @@
如果项目很关键,你的涉众问团队事情进展如何是很常见的。这很好,因为人们对项目的结果很投入。但是,如果只有一些团队成员对事情的进展有全面的了解,这可能会分散团队的注意力。
Scrum 通过发布**信息辐射器**来解决这些挑战。信息辐射器是你在团队网站上发布的任何东西,它帮助每个人理解你在做什么以及进展如何。遵循这种方法让涉众知道项目中发生了什么是一个很好的实践。它显示了Sprint阶段承诺的故事、任务及其当前状态,以及已经完成的任务。
Scrum 通过发布**信息辐射器**来解决这些挑战。信息辐射器是你在团队网站上发布的任何东西,它帮助每个人理解你在做什么以及进展如何。遵循这种方法让涉众知道项目中发生了什么是一个很好的实践。它显示了 Sprint 阶段承诺的故事、任务及其当前状态,以及已经完成的任务。
分享进度信息的另一个主要工具是Sprint**燃烧图**。团队使用这个图表来衡量他们在Sprint中的表现。在任务板告诉你任务完成情况的地方,它没有告诉你与你在Sprint阶段的情况相比如何。烧毁就可以了。
分享进度信息的另一个主要工具是 Sprint**燃烧图**。团队使用这个图表来衡量他们在 Sprint 中的表现。在任务板告诉你任务完成情况的地方,它没有告诉你与你在 Sprint 阶段的情况相比如何。烧毁就可以了。
### 烧毁图表
典型的消耗图表从左上方到右下方以一条直线开始,显示Sprint的消耗率。消耗图上的线或列可以用来表示从团队在Sprint计划中承诺的工作开始,每天Sprint中实际剩余的努力点的数量。随着工作的完成,这些列应该变得更短,直到它们达到零。
典型的消耗图表从左上方到右下方以一条直线开始,显示 Sprint 的消耗率。消耗图上的线或列可以用来表示从团队在 Sprint 计划中承诺的工作开始,每天 Sprint 中实际剩余的努力点的数量。随着工作的完成,这些列应该变得更短,直到它们达到零。
下面你会发现一个非常简单的燃烧图:
![Burn Down Chart](img/a06f4590c6a9682fdcbf12a14d9f8a9c.png)
这里的绿色直线代表理想的燃烧速率。Sprint的每一天,都在努力完成所有的任务。
这里的绿色直线代表理想的燃烧速率。Sprint 的每一天,都在努力完成所有的任务。
带圆圈的橙色线条,代表实际烧毁。当实际烧损高于 Idea 烧损线时,意味着团队会错过完成日期,需要增加更多的人来增加速度。
......
# Scrum 中的Backlog
# Scrum 中的 Backlog
> 原文:<https://www.studytonight.com/scrum-framework/backlogs-in-scrum>
在 Scrum 方法论中,术语 **Backlog** 是一个包含项目所需功能的简短描述的优先列表。
利益相关者希望确保他们从您的项目中获得他们需要的东西。在整个项目中保持正确优先级的一个关键方面是对产品Backlog的不断细化。这意味着采购订单正在与利益相关方开会,以了解需要什么。随着业务需求和需求的变化,他们不断地转移工作。
利益相关者希望确保他们从您的项目中获得他们需要的东西。在整个项目中保持正确优先级的一个关键方面是对产品 Backlog 的不断细化。这意味着采购订单正在与利益相关方开会,以了解需要什么。随着业务需求和需求的变化,他们不断地转移工作。
在整个项目中,随着新特性和故事的发现和添加,您的Backlog在不断变化。其他故事正在被改变,甚至可能被删除。
在整个项目中,随着新特性和故事的发现和添加,您的 Backlog 在不断变化。其他故事正在被改变,甚至可能被删除。
随着新故事的发现,产品负责人会为每个故事制定细节和验收标准。但是每次Sprint至少一次,整个团队必须聚集在一起,看看有什么新项目出现。这通常是一个 30 到 60 分钟的**Backlog整理会议**。它通常发生在Sprint的中点附近。产品负责人向团队朗读新故事,团队询问任何遗漏的细节。
随着新故事的发现,产品负责人会为每个故事制定细节和验收标准。但是每次 Sprint 至少一次,整个团队必须聚集在一起,看看有什么新项目出现。这通常是一个 30 到 60 分钟的**Backlog 整理会议**。它通常发生在 Sprint 的中点附近。产品负责人向团队朗读新故事,团队询问任何遗漏的细节。
### 产品所有者对Backlog的责任
### 产品所有者对 Backlog 的责任
1. 如果团队需要任何澄清,应对他们的新故事。
2. 设置Backlog的优先级。
2. 设置 Backlog 的优先级。
3. 允许 Scrum 团队在项目的整个生命周期中适应不断变化的业务需求。
4.Sprint阶段与团队互动。
4. Sprint 阶段与团队互动。
5. 毫不拖延地填补需求中的空白。
scrum 团队的产品负责人就像一辆车的司机。为了让车辆平稳运行并完成旅程,驾驶员必须工作良好,并提供车辆所需的任何东西,无论是燃料还是修理。
......
# 在Sprint中完成故事
# 在 Sprint 中完成故事
> 原文:<https://www.studytonight.com/scrum-framework/getting-stories-done>
在 Scrum 中,团队非常认真地对待他们的Sprint承诺。他们每天都在努力合作,完成他们的故事。
在 Scrum 中,团队非常认真地对待他们的 Sprint 承诺。他们每天都在努力合作,完成他们的故事。
请记住,在 Scrum 中, **done** 表示符合验收标准的可用产品。因为这是目标,团队一直在开发和测试,以确保整个故事符合验收标准。
......@@ -21,7 +21,7 @@
### 日常协作
与您的团队和产品负责人合作,并理解您正在处理的每个故事的 **done** 的定义。协作是团队在当前Sprint中取得进展所必需的。
与您的团队和产品负责人合作,并理解您正在处理的每个故事的 **done** 的定义。协作是团队在当前 Sprint 中取得进展所必需的。
### 专注并完成
......@@ -29,13 +29,13 @@
### 尺寸
测量是成功Sprint的另一种方式。每天在燃尽表上追踪你的进度。
测量是成功 Sprint 的另一种方式。每天在燃尽表上追踪你的进度。
当团队完成任务时,Scrum Master 会跟踪已经完成的工作,并使用燃耗图向团队展示他们是否正在完成Sprint的承诺。
当团队完成任务时,Scrum Master 会跟踪已经完成的工作,并使用燃耗图向团队展示他们是否正在完成 Sprint 的承诺。
最常见的敏捷度量是**速度**。这仅仅是一个团队每次Sprint从他们的Backlog中完成的分数。
最常见的敏捷度量是**速度**。这仅仅是一个团队每次 Sprint 从他们的 Backlog 中完成的分数。
团队承认他们的进步,并密切关注即将发生的事情。这种协作有助于团队保持对整个项目的意识。它让团队专注于大局,同时在每一次Sprint中交付可用的产品。
团队承认他们的进步,并密切关注即将发生的事情。这种协作有助于团队保持对整个项目的意识。它让团队专注于大局,同时在每一次 Sprint 中交付可用的产品。
* * *
......
......@@ -2,19 +2,19 @@
> 原文:<https://www.studytonight.com/scrum-framework/demo-team-work>
在 Scrum 中,我们努力在每一次Sprint的最后交付一个有效的产品。但如果没人知道又有什么意义呢?Scrum 对此的回答是**演示**
在 Scrum 中,我们努力在每一次 Sprint 的最后交付一个有效的产品。但如果没人知道又有什么意义呢?Scrum 对此的回答是**演示**
如您所知,采购订单负责接受或拒绝已交付的产品。他们接受的任何东西都可以展示给更多的观众。请记住,采购订单作为其他利益相关方的代表对他们负责,以确保他们得到他们想要的。
这就是**传统瀑布设计****敏捷的 Scrum 方法论**的区别。在瀑布模型中,一旦项目完成,我们就知道涉众的反馈,但是在敏捷模型中,在每次Sprint的最后,需要演示来获得涉众的反馈。
这就是**传统瀑布设计****敏捷的 Scrum 方法论**的区别。在瀑布模型中,一旦项目完成,我们就知道涉众的反馈,但是在敏捷模型中,在每次 Sprint 的最后,需要演示来获得涉众的反馈。
演示是采购订单和团队如何确保利益相关方对我们交付的内容感到满意。演示对于 Scrum 团队来说是一个强大的仪式。演示在团队和利益相关者之间建立信任。这是团队获得直接反馈的绝佳机会。
利益相关者可以亲眼看到代表他们所做的工作。他们向团队提供反馈,既有对所做工作的赞扬,也有对变化的建议,也称为新故事。采购订单将捕获这些,并在演示后开始添加细节,并为他们的Backlog设置新的故事。有时,涉众会看到一些已经展示的东西,并决定他们根本不想要它。完全没关系。
利益相关者可以亲眼看到代表他们所做的工作。他们向团队提供反馈,既有对所做工作的赞扬,也有对变化的建议,也称为新故事。采购订单将捕获这些,并在演示后开始添加细节,并为他们的 Backlog 设置新的故事。有时,涉众会看到一些已经展示的东西,并决定他们根本不想要它。完全没关系。
演示的另一个优点是让涉众知道谁在做他们的项目。他们可以亲眼看到每个团队成员为每一次Sprint所带来的技能和奉献。这是一个在团队和利益相关者之间建立关系的机会。这种可见性为利益相关者提供了一个更广泛、更平衡的视角来看待创造他们的产品所需要的东西。
演示的另一个优点是让涉众知道谁在做他们的项目。他们可以亲眼看到每个团队成员为每一次 Sprint 所带来的技能和奉献。这是一个在团队和利益相关者之间建立关系的机会。这种可见性为利益相关者提供了一个更广泛、更平衡的视角来看待创造他们的产品所需要的东西。
此外,涉众将看到团队接收反馈并适应其不断变化的需求的意愿。最后,演示展示了最终目标的整体进展。每次Sprint后,您的采购订单将使您的产品路线图和发布计划保持最新。这是你向利益相关者展示它们的地方。您的团队正在带领利益相关者一起踏上旅程。利益相关者还可以对每个计划发布的时间和内容提供反馈。
此外,涉众将看到团队接收反馈并适应其不断变化的需求的意愿。最后,演示展示了最终目标的整体进展。每次 Sprint 后,您的采购订单将使您的产品路线图和发布计划保持最新。这是你向利益相关者展示它们的地方。您的团队正在带领利益相关者一起踏上旅程。利益相关者还可以对每个计划发布的时间和内容提供反馈。
**注意:**请确保您定期演示,以保持您的产品和利益相关方紧密一致。
......
......@@ -4,7 +4,7 @@
对于 scrum 团队来说,每一次 sprint 都 100%关注涉众和最终用户的需求,但是敏捷背后的原则是团队需要定期反思如何更有效,并相应地调整他们的行为。
在 scrum 中,这个原则已经形成**团队回顾**,简称**回顾**。这是每一次Sprint的重点不在产品上,而在团队本身的时候。
在 scrum 中,这个原则已经形成**团队回顾**,简称**回顾**。这是每一次 Sprint 的重点不在产品上,而在团队本身的时候。
因为重点是团队和团队过程,Scrum 大师促进了这个仪式。为了有一个成功的复古,你必须有一个安全的环境。因此,这是一次闭门会议。团队必须知道只有专门的团队成员将出席,并且团队规范将被遵守。这种安全感对于确保坦诚评估团队合作方式所需的公开对话至关重要。
......
......@@ -4,12 +4,12 @@
就像传统项目一样,scrum 项目也会时不时地遇到麻烦。以下是一些特定于 Scrum 的技术,用于查找项目的潜在问题:
* **未达到目标:**持续检查已完成的工作是否与计划相匹配,在Sprint阶段结束时,您没有任何剩余的功能添加到产品Backlog中。这就是著名的**雪耕**。这类似于第一次Sprint的结束和第二次Sprint的开始,此时您正在修改评估以匹配团队生产力。但是,如果这种情况在每次Sprint结束时继续发生,您必须召集团队讨论并理解为什么会发生这种情况,并采取适当的行动。
* **未达到目标:**持续检查已完成的工作是否与计划相匹配,在 Sprint 阶段结束时,您没有任何剩余的功能添加到产品 Backlog 中。这就是著名的**雪耕**。这类似于第一次 Sprint 的结束和第二次 Sprint 的开始,此时您正在修改评估以匹配团队生产力。但是,如果这种情况在每次 Sprint 结束时继续发生,您必须召集团队讨论并理解为什么会发生这种情况,并采取适当的行动。
* **沟通不畅导致产品错误:**问题的另一个值得注意的指标是团队经常生产某个特性的片段并将其扔掉。这可能是因为开发的功能被证明是低优先级的,不是必需的或不正确的,或者需要根据收到的新信息进行修改。这些问题的主要原因通常与业务代表没有提出正确的问题来理解业务问题有关。或者客户不理解您试图构建什么,或者您没有关于真实业务需求的准确信息。
如果您认为这些都是可能的,那么您应该与客户一起进行产品审查,以了解问题的根本原因。
根据客户在评审期间的输入,您应该适当地修改产品Backlog。
根据客户在评审期间的输入,您应该适当地修改产品 Backlog。
避免麻烦的另一个重点项目是仔细观察*团队出席会议的情况*。你的核心团队成员是否都出席并参与了日常团队会议和后续活动?一个人偶尔精神或身体上的缺席可能有合理的原因,但反复缺席可能是问题的迹象。
......
......@@ -8,11 +8,11 @@
基于所有必需的特性都已经实现的条件,您已经达到了项目中的这一点。
由于你已经在这个项目上花费了时间和资金,在结束这个项目之前,你还有一些额外的事情要考虑。您需要查看Backlog清单,并与业务部门合作,以了解剩余功能的重要性。此外,您还需要了解企业是否希望实现新功能。
由于你已经在这个项目上花费了时间和资金,在结束这个项目之前,你还有一些额外的事情要考虑。您需要查看 Backlog 清单,并与业务部门合作,以了解剩余功能的重要性。此外,您还需要了解企业是否希望实现新功能。
如果Backlog特性集很重要,并且有额外的新特性需要考虑,那么如果能够获得资金,就有可能保证一个新项目。如果Backlog包含较低优先级的特性,则可能不会启动新项目。
如果 Backlog 特性集很重要,并且有额外的新特性需要考虑,那么如果能够获得资金,就有可能保证一个新项目。如果 Backlog 包含较低优先级的特性,则可能不会启动新项目。
在这种情况下,需要将Backlog转移给能够实现这些更改的人。企业可能想采取的另一种方法是,让我们拭目以待。如果Backlog很重要,但他们现在没有很多新功能,那么企业可能需要等待几个月来确定新功能是否出现,新项目是否有保证。无论如何,将Backlog清单还给企业是非常重要的,这样他们就可以维护该清单,直到做出未来的决定。
在这种情况下,需要将 Backlog 转移给能够实现这些更改的人。企业可能想采取的另一种方法是,让我们拭目以待。如果 Backlog 很重要,但他们现在没有很多新功能,那么企业可能需要等待几个月来确定新功能是否出现,新项目是否有保证。无论如何,将 Backlog 清单还给企业是非常重要的,这样他们就可以维护该清单,直到做出未来的决定。
您可以关注项目的整体有效性,而不是项目开始以来发生的所有细节,并可以反思您作为个人和企业所做的改进。
......
# 你好世界Drools程序
# 你好世界 Drools 程序
> 原文:<https://www.studytonight.com/drools/hello-world-program>
......@@ -8,7 +8,7 @@
![How to create Drools Runtime](img/7b67fa8cb43b2d3d8040dc22d3ef4c3c.png)
选择**Drools项目**。给这个项目起一个合适的名字。例如:**第一个Drools程序**
选择**Drools 项目**。给这个项目起一个合适的名字。例如:**第一个 Drools 程序**
下一个屏幕显示选择一些文件,你想要在你的第一个 drools 项目。
......
......@@ -14,7 +14,7 @@
4. **进口对账单:**进口对账单也类似`Java`。所有的 FACTS 类和任何助手类都需要被导入,这样规则才能起作用。例如:上例中的`com.sample.DroolsTest.Message;`
* **规则定义:**规则定义由一些特定于`keywords`Drools组成。帖子中你已经添加了插件,你可以看到 drools 特定的红色关键字。在上面的例子中,**然后结束规则**是不同的关键字。
* **规则定义:**规则定义由一些特定于`keywords` Drools 组成。帖子中你已经添加了插件,你可以看到 drools 特定的红色关键字。在上面的例子中,**然后结束规则**是不同的关键字。
**规则**关键字后面必须跟一个逻辑规则名。
......
# Drools程序示例
# Drools 程序示例
> 原文:<https://www.studytonight.com/drools/sample-drools-program>
这里我们有一个 zip 文件中的示例 Drools 程序,在前面的课程中也有解释。
点击下载: [**样本Drools Zip**](resource/SampleDrools.zip)
点击下载: [**样本 Drools Zip**](resource/SampleDrools.zip)
* * *
\ No newline at end of file
......@@ -2,7 +2,7 @@
> 原文:<https://www.studytonight.com/drools/debug-drools-project>
有不同的方法来`debug`一个Drools的项目。
有不同的方法来`debug`一个 Drools 的项目。
在本教程中,我们将学习需要编写一个实用程序类来让您知道哪些规则被触发或激发。
......
# Maven插件
# Maven 插件
> 原文:<https://www.studytonight.com/maven/maven-plugins>
......
......@@ -84,17 +84,17 @@
* * *
## 使用Jenkins服务器构建自动化
## 使用 Jenkins 服务器构建自动化
[**Jenkins Server**](/jenkins/)(*点击查看完整 Jenkins 教程* i >)是一款持续集成工具。使用 Jenkins 构建可以自动化,测试构建的健康状态,还可以管理多个构建。这是一个方便的工具,很容易下载,也很容易设置。
### 设置Jenkins服务器
### 设置 Jenkins 服务器
* 从以下链接下载最新的 Jenkins . war:[http://jenkins-ci.org/T3】](http://jenkins-ci.org/)
![Installing Jenkins Server](img/da0019f40ca5980c2a7247f1c075287c.png)
* 在我们机器的本地网络服务器上部署Jenkins. war 文件。例如雄猫
* 在我们机器的本地网络服务器上部署 Jenkins. war 文件。例如雄猫
* 启动服务器,打开浏览器,点击网址**http://localhost:8080/Jenkins**
![Setting up Jenkins Server and Automating Maven Build](img/30921872bbff60c6756bf32de9b4bf09.png)
......@@ -115,7 +115,7 @@
![Setting up Jenkins Server and Automating Maven Build](img/22bf6c4d069d654f157fdc2ee1f5fdba.png)
现在在Jenkins创建了一个项目/工作。如下图所示:
现在在 Jenkins 创建了一个项目/工作。如下图所示:
![Setting up Jenkins Server and Automating Maven Build](img/9d84611f462aa638fe7f798351092042.png)
......
# 使用 Maven 模板创建Web 应用
# 使用 Maven 模板创建 Web 应用
> 原文:<https://www.studytonight.com/maven/maven-web-application>
......@@ -68,7 +68,7 @@ mvn archetype:generate -DgroupId=com.sample.webproject -DartifactId=SampleWebApp
* * *
### 构建和部署Web 应用
### 构建和部署 Web 应用
只需打开命令提示符,导航到 web app 的根文件夹,发出命令`mvn clean package`。该命令将编译、测试并生成项目的 war 文件。
......
......@@ -12,7 +12,7 @@ Ruby 是一种动态的开源编程语言,注重简单性和生产力,它有
* * *
## Ruby的特性
## Ruby 的特性
1. **面向对象:**Ruby 中的每一个值都是一个对象,甚至是最原始的东西,比如字符串、数字,甚至是真假。所以,Ruby 是一种纯面向对象的语言。每个对象都有一个类,每个类都有一个超类。
2. **动态:** Ruby 是一种非常动态的编程语言。Ruby 程序不像 C 或 Java 程序那样编译。程序中的所有东西都是由运行时的代码构建的。程序也可以在运行时修改自己的定义。
......
# 使用Ruby交互式Shell
# 使用 Ruby 交互式 Shell
> 原文:<https://www.studytonight.com/ruby/using-the-ruby-shell>
......@@ -65,7 +65,7 @@ end
* * *
## Ruby脚本
## Ruby 脚本
我们将从文本编辑器而不是命令提示符运行 ruby。您可以使用任何文本编辑器,如*记事本**记事本++**崇高**括号*。Ruby 脚本有。rb 分机。所以,你必须保存扩展名为`.rb`的文件。现在,在您的编辑器中输入以下代码,并以任何带有`.rb`扩展名的名称保存它:
......
......@@ -2,7 +2,7 @@
> 原文:<https://www.studytonight.com/ruby/comments-in-ruby>
`Comments``Ruby`中不可执行的语句。`Comments`隐藏在**Ruby解释器**中,因此这些行被忽略。它们用于增加程序的可读性。我们可以在程序的任何地方写注释,除了在**变量**里面,因为 **Ruby 解释器**认为它是一个**字符串**
`Comments``Ruby`中不可执行的语句。`Comments`隐藏在**Ruby 解释器**中,因此这些行被忽略。它们用于增加程序的可读性。我们可以在程序的任何地方写注释,除了在**变量**里面,因为 **Ruby 解释器**认为它是一个**字符串**
* * *
......
# Ruby中的保留字/关键字
# Ruby 中的保留字/关键字
> 原文:<https://www.studytonight.com/ruby/reserved-keywords-in-ruby>
......
# Ruby杂项表达式
# Ruby 杂项表达式
> 原文:<https://www.studytonight.com/ruby/miscellaneous-expressions-in-ruby>
......
# Ruby字符串数据类型
# Ruby 字符串数据类型
> 原文:<https://www.studytonight.com/ruby/strings-in-ruby>
可以使用`single quotes``double quotes`Ruby中形成弦。
可以使用`single quotes``double quotes` Ruby 中形成弦。
引号内的任何字符如**数字****字母****符号**均为`Strings`
......
......@@ -2,7 +2,7 @@
> 原文:<https://www.studytonight.com/ruby/push-and-pop-in-ruby>
在这一课中,我们将学习更多关于数组的知识,更多的方法使`add``remove`元素往返于数组。打开交互式 ruby Shell并键入:
在这一课中,我们将学习更多关于数组的知识,更多的方法使`add``remove`元素往返于数组。打开交互式 ruby Shell 并键入:
```
sample = [ ]
......
# Ruby方法
# Ruby 方法
> 原文:<https://www.studytonight.com/ruby/methods-in-ruby>
......
# Ruby类
# Ruby
> 原文:<https://www.studytonight.com/ruby/class-in-ruby>
......@@ -32,7 +32,7 @@ The reason the last value is nil is because the class BasicObject has no supercl
## 在 Ruby 中创建对象
使用方法`new`创建Ruby中的`Objects``new`法属类**类**
使用方法`new`创建 Ruby 中的`Objects``new`法属类**类**
```
obj1 = Shape.new
......
# Ruby异常处理
# Ruby 异常处理
> 原文:<https://www.studytonight.com/ruby/exception-handling-in-ruby>
......
# Ruby文件处理
# Ruby 文件处理
> 原文:<https://www.studytonight.com/ruby/file-handling-in-ruby>
......
# 使用Unity引擎的游戏设计
# 使用 Unity 引擎的游戏设计
> 原文:<https://www.studytonight.com/game-development-in-2D/introduction>
......@@ -40,7 +40,7 @@ Unity 以其简单易懂的界面很快成为了人们开始游戏制作的首
所以,受够了历史和看似明目张胆的广告,让我们咬紧牙关。要获取最新版本的 Unity,只需前往位于[unity3d.com](https://unity3d.com/)的 Unity 网站
打开网页后,点击按钮**获得Unity**
打开网页后,点击按钮**获得 Unity**
![Get Unity from Unity3D website](img/a6c41001499cc9017ae56b2a3569a927.png)
......
# 安装Unity3D 游戏引擎
# 安装 Unity3D 游戏引擎
> 原文:<https://www.studytonight.com/3d-game-engineering-with-unity/installing-game-engine>
游戏开发需要使用一个IDE和一两种编程语言。这个IDE将是你开发游戏项目的游戏引擎。在本教程中,我们将学习如何安装/设置并使用 **Unity 游戏引擎**将其用作您的游戏开发环境。
游戏开发需要使用一个 IDE 和一两种编程语言。这个 IDE 将是你开发游戏项目的游戏引擎。在本教程中,我们将学习如何安装/设置并使用 **Unity 游戏引擎**将其用作您的游戏开发环境。
## 为窗口设置Unity3D 环境
## 为窗口设置 Unity3D 环境
要使用Unity3D,您必须从Unity的官方网站下载安装程序。为此,只需遵循给定的步骤。
要使用 Unity3D,您必须从 Unity 的官方网站下载安装程序。为此,只需遵循给定的步骤。
1. 从链接下载并安装Unity编辑器:[unity3d.com/get-unity/download/archive](https://unity3d.com/get-unity/download/archive)
1. 从链接下载并安装 Unity 编辑器:[unity3d.com/get-unity/download/archive](https://unity3d.com/get-unity/download/archive)
![Installing Unity3D Game Engine on Windows](img/f3999e96e6788b3bd469880ed5c715d7.png)
......@@ -28,9 +28,9 @@
在下面显示的截图中,一些复选框是:
1. 用于Unity的 Microsoft Visual Studio 工具(是必需的)。
1. 用于 Unity 的 Microsoft Visual Studio 工具(是必需的)。
2. Windows 构建支持(如果你也计划制作基于 Windows 手机的游戏)。
3. 安卓构建支持(如果您计划使用Unity3D 制作基于安卓的游戏)。
3. 安卓构建支持(如果您计划使用 Unity3D 制作基于安卓的游戏)。
4. 休息,保留默认选中的复选框。
![Installing Unity3D Game Engine on Windows](img/e29eb0721cfe4eb6602539d03e8da903.png)
......@@ -45,7 +45,7 @@
#### 使用下载助手安装
1. 从链接下载苹果电脑的**Unity安装程序**文件:[unity3d.com/get-unity/download/archive](https://unity3d.com/get-unity/download/archive)
1. 从链接下载苹果电脑的**Unity 安装程序**文件:[unity3d.com/get-unity/download/archive](https://unity3d.com/get-unity/download/archive)
![Installing Unity3D Game Engine on macOS X](img/e75489b41f59744a5440263ce9664381.png)
......@@ -53,7 +53,7 @@
![Installing Unity3D Game Engine on macOS X](img/c8b0314dde6a003db1600ee11bc28420.png)
双击Unity下载助手图标开始安装。
双击 Unity 下载助手图标开始安装。
5. 同意条款和条件,点击**继续**。然后你会被要求选择要安装的软件包,坚持默认的,如果你是初学者。
......@@ -63,9 +63,9 @@
### 使用命令行安装 Unity
1. 从链接下载苹果电脑的**Unity编辑器**文件:[unity3d.com/get-unity/download/archive](https://unity3d.com/get-unity/download/archive)
1. 从链接下载苹果电脑的**Unity 编辑器**文件:[unity3d.com/get-unity/download/archive](https://unity3d.com/get-unity/download/archive)
2. 单独的Unity编辑器作为`.pkg`文件提供,您可以使用命令行安装。
2. 单独的 Unity 编辑器作为`.pkg`文件提供,您可以使用命令行安装。
3. 这将被安装到指定目标卷上的文件夹*/应用/Unity*中。首先键入以下命令-
......@@ -97,7 +97,7 @@
基于 Unity 的游戏开发者也可以从素材商店获得素材。只需遵循下面给出的链接:
参观:[Unity素材店](https://docs.unity3d.com/Manual/AssetStorePublishing.html)
参观:[Unity 素材店](https://docs.unity3d.com/Manual/AssetStorePublishing.html)
* * *
......
......@@ -67,7 +67,7 @@ Unity 是目前全世界开发者使用的最流行的游戏引擎,这是有
这是 Unity 编辑器中最重要的窗口。在左侧,它将包含操纵场景视图的主要工具以及其中包含的对象。
**播放****暂停****步进控制**也将在该窗口中可用。您还可以使用右侧的按钮和Unity帐户访问Unity云服务,以及**可见性**菜单&编辑器布局菜单,该菜单将为编辑器窗口提供一些交替布局。
**播放****暂停****步进控制**也将在该窗口中可用。您还可以使用右侧的按钮和 Unity 帐户访问 Unity 云服务,以及**可见性**菜单&编辑器布局菜单,该菜单将为编辑器窗口提供一些交替布局。
![The Toolbar Windows of Unity](img/79eaa9c5dee4d57c972f8d74f3268957.png)
......
......@@ -2,11 +2,11 @@
> 原文:<https://www.studytonight.com/3d-game-engineering-with-unity/elements-of-unity3d>
有一组元素(或组件)共同组成了一个游戏,使用Unity引擎开发。这些元素在使游戏具有互动性以及增加能够生动表达游戏目标的功能方面发挥着重要作用。让我们讨论一下这些元素及其功能。
有一组元素(或组件)共同组成了一个游戏,使用 Unity 引擎开发。这些元素在使游戏具有互动性以及增加能够生动表达游戏目标的功能方面发挥着重要作用。让我们讨论一下这些元素及其功能。
## 素材
素材是可以在游戏或项目中实现的项目项的表示。素材可以是从Unity外部导入的文件,如 3D 模型、音频和声音文件、图像(jpeg、gif、png 等)、纹理或Unity支持的任何其他文件类型。还有一个可以在 Unity 中生成的素材类型集合。
素材是可以在游戏或项目中实现的项目项的表示。素材可以是从 Unity 外部导入的文件,如 3D 模型、音频和声音文件、图像(jpeg、gif、png 等)、纹理或 Unity 支持的任何其他文件类型。还有一个可以在 Unity 中生成的素材类型集合。
![Assets](img/02d6404535031580390e809f891134dd.png)
......@@ -40,7 +40,7 @@ Unity 中的项目是一个文件夹或位置,它保存着你完整的游戏
## 成分
组件是基本的构建模块,即游戏中对象及其活动的具体细节。它们充当每个游戏对象的功能块。默认情况下,每个游戏对象都有一个自动设置的**变换组件**,因为它规定了游戏对象在Unity环境中的位置,以及如何旋转和缩放。
组件是基本的构建模块,即游戏中对象及其活动的具体细节。它们充当每个游戏对象的功能块。默认情况下,每个游戏对象都有一个自动设置的**变换组件**,因为它规定了游戏对象在 Unity 环境中的位置,以及如何旋转和缩放。
* * *
......
# 使用Unity3D创建第一个项目
# 使用 Unity3D 创建第一个项目
> 原文:<https://www.studytonight.com/game-development-in-2D/hello-unity>
......
# 在Unity3D 中添加和管理素材
# 在 Unity3D 中添加和管理素材
> 原文:<https://www.studytonight.com/game-development-in-2D/adding-and-managing-assets>
......@@ -50,7 +50,7 @@
大多数戏剧通常是分场景的。可能会有这样一个场景:一片黑暗的森林,有巨大的树木,一个湖,周围有仙女。城堡内部可能还有另一个场景,到处都是黄金铺成的,天花板上挂着吊灯。我接下来要说的是,在一部剧中有不同的场景,舞台上的物体可能不同,甚至可能相同(人们可以使用山中或矿井附近的岩石的相同切口)
Unity只是**一个巨大的舞台剧**。Unity中的一切都发生在场景中。你的游戏的标题屏幕将是一个场景,结束信用将是一个场景,你的游戏将发生在一个屏幕(或其中几个),见鬼,甚至你的选项菜单将是一个场景。Unity 中的每一个场景都是用物体制作的,很像常规舞台剧中的一切。你在舞台表演场景中安排硬纸板剪贴,而你在 Unity 场景中安排音频源、光源、播放器、相机和地图。
Unity 只是**一个巨大的舞台剧**。Unity 中的一切都发生在场景中。你的游戏的标题屏幕将是一个场景,结束信用将是一个场景,你的游戏将发生在一个屏幕(或其中几个),见鬼,甚至你的选项菜单将是一个场景。Unity 中的每一个场景都是用物体制作的,很像常规舞台剧中的一切。你在舞台表演场景中安排硬纸板剪贴,而你在 Unity 场景中安排音频源、光源、播放器、相机和地图。
戏剧中的演员通常有剧本,告诉他们在戏剧中的任何给定时间应该做什么、表演什么和说什么。我们也可以称演员为对象,对吗?毕竟人类也是物体。类似地,Unity 场景中的一些或所有对象可能都有脚本,告诉他们做什么,什么时候做。制作这些脚本,包括编写代码(通常是`C# ``JavaScript`)并将它们附加到您希望代码影响的对象上。例如,如果我们的场景中有一艘宇宙飞船,我们会写一段代码,用箭头键移动它。我们会将这段代码保存为一个脚本,然后将该脚本附加到作为您的宇宙飞船的对象上(请记住,Unity 场景中的所有东西在某种程度上都是一个对象)。
......
# 理解Unity3D刚体
# 理解 Unity3D 刚体
> 原文:<https://www.studytonight.com/game-development-in-2D/rigid-bodies>
......
......@@ -4,7 +4,7 @@
碰撞是 Unity 理解两个刚体之间,实际上是两个游戏物体之间的物理相互作用的方式。在现实生活中,当我们说两个物体相撞时,我们的意思是它们在物理上相互接触。
Unity中,碰撞不是由刚体本身定义的,而是由一个名为**碰撞 r2D** 的新组件定义的。碰撞器 2 是定义一个**区域**的组件,在该区域中游戏对象之间发生碰撞交互。简单来说,碰撞器就是游戏物体相对于其他游戏物体的固定区域**。我们强调它们是区域的事实,因为不是所有碰撞器的形状都完全像定义它们的游戏对象。事实上,对于高度详细的模型和精灵,大多数开发人员使用基本形状,使**近似**形状。**
Unity 中,碰撞不是由刚体本身定义的,而是由一个名为**碰撞 r2D** 的新组件定义的。碰撞器 2 是定义一个**区域**的组件,在该区域中游戏对象之间发生碰撞交互。简单来说,碰撞器就是游戏物体相对于其他游戏物体的固定区域**。我们强调它们是区域的事实,因为不是所有碰撞器的形状都完全像定义它们的游戏对象。事实上,对于高度详细的模型和精灵,大多数开发人员使用基本形状,使**近似**形状。**
**![Handling Collisions of GameObject using Colliders](img/6efa545a6725fb3167d7c41bec706a14.png)
......@@ -60,7 +60,7 @@
![Handling Collisions of GameObject using Colliders](img/71f79cc55d428e39bb2edf16f7855445.png)
如果您打开该菜单(通过单击三角形),您将看到禁用(或冻结,Unity称之为)对象移动和旋转的选项。勾选**冻结旋转 Z** 框,就可以开始了。但还是不太令人满意。两个对撞机之间有一个很大的空间间隙,由于对撞区域的盒子形状,你无法移动。
如果您打开该菜单(通过单击三角形),您将看到禁用(或冻结,Unity 称之为)对象移动和旋转的选项。勾选**冻结旋转 Z** 框,就可以开始了。但还是不太令人满意。两个对撞机之间有一个很大的空间间隙,由于对撞区域的盒子形状,你无法移动。
![Handling Collisions of GameObject using Colliders](img/3c91988e744558465cb5adec1ce6b559.png)
......
# Unity:使用Prefab在运行时创建游戏对象
# Unity:使用 Prefab 在运行时创建游戏对象
> 原文:<https://www.studytonight.com/game-development-in-2D/basic-fundamentals-of-game-objects>
......@@ -16,7 +16,7 @@
## 理解预设和实例化
好吧,所以`Prefab`这个词看起来有点吓人,不是吗?别担心,不是,事实上,它是游戏设计师实时创建**游戏对象**时最好的朋友之一。那么到底什么是预制构件呢?嗯,一个Prefab实际上是一个特定游戏对象的蓝图或模板。我们知道一开始理解起来有点混乱,所以让我们举一个非常基本的例子。
好吧,所以`Prefab`这个词看起来有点吓人,不是吗?别担心,不是,事实上,它是游戏设计师实时创建**游戏对象**时最好的朋友之一。那么到底什么是预制构件呢?嗯,一个 Prefab 实际上是一个特定游戏对象的蓝图或模板。我们知道一开始理解起来有点混乱,所以让我们举一个非常基本的例子。
想象一下,我们正在制作一个基本的太空射击游戏,小家伙,这是一个敌方角色。
......@@ -38,7 +38,7 @@
* * *
## 运行时使用Prefab生成游戏对象
## 运行时使用 Prefab 生成游戏对象
让我们利用这个。我们将从一个非常简单的练习开始,每次按空格键时*生成一个框。首先,让我们创建一个**spaowner**。现在我们真的不需要一个空间所有者来拥有图形,只需要一个**空的**游戏对象就可以了。所以,你要做的就是在层次中右键点击,点击**创建空**。*
......@@ -60,7 +60,7 @@
现在,还记得你刚开始的时候是怎么把石凡星加入场景的吗?您将精灵从**素材**拖到了**层级**
创建一个**预制**是这个过程的逆过程。您将现有游戏对象从**层级**拖动到**素材**。然后,Unity 会在您拖到的文件夹中生成该游戏对象的预设。因此,既然我们想制作一个盒子的模板,我们就把盒子精灵从层次结构拖到我们的Prefab文件夹中。
创建一个**预制**是这个过程的逆过程。您将现有游戏对象从**层级**拖动到**素材**。然后,Unity 会在您拖到的文件夹中生成该游戏对象的预设。因此,既然我们想制作一个盒子的模板,我们就把盒子精灵从层次结构拖到我们的 Prefab 文件夹中。
![Basic Fundamentals of GameObjects](img/7d8e1cac9a57e099961afc45fee97673.png)
......
# Unity:Prefab实例化,使其移动并设置速度
# Unity:Prefab 实例化,使其移动并设置速度
> 原文:<https://www.studytonight.com/game-development-in-2D/more-complicated-instantiation>
......
# Unity的父子游戏对象
# Unity 的父子游戏对象
> 原文:<https://www.studytonight.com/game-development-in-2D/parenting-game-objects>
......
# Unity:用CollisionEnter检测碰撞
# Unity:用 CollisionEnter 检测碰撞
> 原文:<https://www.studytonight.com/game-development-in-2D/detecting-collisions>
......
......@@ -6,13 +6,13 @@
* * *
## Unity中的导航和寻路
## Unity 中的导航和寻路
你有没有想过游戏中各种各样的 NPC(不可玩的角色)是如何在游戏世界中移动的,避开物体,甚至有时会避开你,结果只是从你身后弹出来吓你一跳。这是如何如此现实地做到的?这些所谓的机器人如何决定他们应该走哪条路,避免哪条路?
在 Unity 中,这个奇迹(一旦你知道它是如何工作的,就不会这么多了)是使用**导航网格**实现的。
**导航网格****导航网格**Unity**导航和路径寻找系统**的一部分。导航系统允许你使用从你的**场景**几何图形中自动创建的导航网格来创建可以在游戏世界中智能移动的角色。动态障碍允许你在运行时改变角色的导航,而离网链接允许你建立特定的动作,比如开门或从壁架上跳下来。
**导航网格****导航网格** Unity **导航和路径寻找系统**的一部分。导航系统允许你使用从你的**场景**几何图形中自动创建的导航网格来创建可以在游戏世界中智能移动的角色。动态障碍允许你在运行时改变角色的导航,而离网链接允许你建立特定的动作,比如开门或从壁架上跳下来。
![Navigation Using Mash](img/bd93fe53ecffe9def87c39f340d45728.png)
......@@ -61,7 +61,7 @@ Unity**导航网**系统由以下部分组成:
### 烘烤导航网
烘焙?导航网是一种蛋糕吗?良好的....在某种程度上,是的。请参阅,导航网格由Unity引擎计算和生成。这个计算和生成导航网格的过程被称为烘焙。
烘焙?导航网是一种蛋糕吗?良好的....在某种程度上,是的。请参阅,导航网格由 Unity 引擎计算和生成。这个计算和生成导航网格的过程被称为烘焙。
所以我们现在需要做的是烘烤我们的 **NavMesh**
......
# Unity中的场景处理
# Unity 中的场景处理
> 原文:<https://www.studytonight.com/game-development-in-2D/scene-handling>
......@@ -6,11 +6,11 @@
假设你有一个游戏,它的世界由两部分组成:一个城市和一个森林。这里我们可以说这个世界可以定义为两个场景(虽然对于大型游戏来说可能不是这样),一个是城市场景,一个是森林场景。
引用Unity手册:
引用 Unity 手册:
> *场景包含你游戏的对象。它们可以用来创建主菜单、单个级别和其他任何东西。将每个唯一的场景文件视为一个唯一的级别。在每个场景中,你将放置你的环境、障碍和装饰,本质上是设计和构建你的游戏。*
在最新的几个更新中,Unity已经开始使用一个新的库来访问场景并在它们之间遍历。这个库叫做场景管理。
在最新的几个更新中,Unity 已经开始使用一个新的库来访问场景并在它们之间遍历。这个库叫做场景管理。
要使用这个库,我们必须首先包含它。我们通过写作做到这一点
......
......@@ -86,7 +86,7 @@
现在你有了移动的门,我们的问题是让它们按照我们的意愿移动。为此,我们必须了解动画师及其实际工作。
就像上面提到的,动画师负责将一个动画状态转移到另一个动画状态。举个例子,想象你在玩一个第一人称射击游戏,比如 PUBG 或者 CS: GO。这里如果你只按 W,玩家角色走路或者慢跑,但是只要一按 shift 配合 W 键,玩家就无缝爆发出Sprint。这种从“行走状态”到“Sprint状态”的转变,正是动画师所关心的。
就像上面提到的,动画师负责将一个动画状态转移到另一个动画状态。举个例子,想象你在玩一个第一人称射击游戏,比如 PUBG 或者 CS: GO。这里如果你只按 W,玩家角色走路或者慢跑,但是只要一按 shift 配合 W 键,玩家就无缝爆发出 Sprint。这种从“行走状态”到“Sprint 状态”的转变,正是动画师所关心的。
回到我们的门口,如果我们打开动画师,我们会看到各种彩色的盒子,上面写着“进入”、“任何状态”、“退出”等。这些是各种动画状态。
......
# 在Unity3D 中更改场景
# 在 Unity3D 中更改场景
> 原文:<https://www.studytonight.com/game-development-in-2D/changing-scene>
......@@ -103,11 +103,11 @@ public class SceneChanger : MonoBehaviour
现在对**“场景 2”**进行同样的操作,但输入**“场景 1”**作为输入,并相应地更改场景 2 中的文本(自己动手)。
现在将场景添加到**文件菜单**中的**构建设置**中。这样做是必要的,因为没有这种Unity就不会承认场景,它们之间也不会发生任何转变。
现在将场景添加到**文件菜单**中的**构建设置**中。这样做是必要的,因为没有这种 Unity 就不会承认场景,它们之间也不会发生任何转变。
当你按下播放键。点击按钮将导致场景改变。
注意:我们没有像在模拟中那样设置退出功能(在Unity中播放场景),退出动作被忽略。然而,在游戏的真实构建中,我们可以使用应用 exit()退出。
注意:我们没有像在模拟中那样设置退出功能(在 Unity 中播放场景),退出动作被忽略。然而,在游戏的真实构建中,我们可以使用应用 exit()退出。
* * *
......
......@@ -139,7 +139,7 @@ public class FireballBehaviour : MonoBehaviour
}</rigidbody2d>
```
等一下!你在`Start()`方法中加入了`fireballBody.velocity`代码,而不是`Update()`方法。为了理解这一点,让我们举个例子。想象一下,你妈妈让你换厨房的灯泡。你说“当然,我会做的”,然后你再做(或者不做,就像我们大多数人一样)。现在想象一下,不管你是否换灯泡,你妈妈都会要求你在你的余生里每秒 60 次更换灯泡*。有点可怕,不是吗?我们在这里做着完全相同的事情,在Unity。如果我们在 Start()方法中设置速度,我们只是告诉游戏改变一次速度,然后继续前进。*
等一下!你在`Start()`方法中加入了`fireballBody.velocity`代码,而不是`Update()`方法。为了理解这一点,让我们举个例子。想象一下,你妈妈让你换厨房的灯泡。你说“当然,我会做的”,然后你再做(或者不做,就像我们大多数人一样)。现在想象一下,不管你是否换灯泡,你妈妈都会要求你在你的余生里每秒 60 次更换灯泡*。有点可怕,不是吗?我们在这里做着完全相同的事情,在 Unity。如果我们在 Start()方法中设置速度,我们只是告诉游戏改变一次速度,然后继续前进。*
*但是,如果我们在 Update()方法中编写相同的代码,我们只会一次又一次地要求 Unity 将刚体的速度设置为我们定义的值。因为我们的价值观暂时不会改变,我们不一定要告诉脚本为已经完成的事情赋值。
......
# 了解Unity3D 画布
# 了解 Unity3D 画布
> 原文:<https://www.studytonight.com/game-development-in-2D/the-canvas>
......@@ -10,7 +10,7 @@ Unity 中的画布不是一个大画板放在一个木架上。画布实际上
* * *
## Unity3D画布和用户界面元素
## Unity3D 画布和用户界面元素
UI 元素是什么形式*暂停菜单**主菜单*、HUDs 或*平视显示器**计分器*等等。在本教程中,我们将讨论一下画布是如何工作的,在下一个教程中,我们将继续在游戏中添加我们自己的用户界面元素。
......
......@@ -32,7 +32,7 @@
### Unity3D:了解画布大小
画布为什么这么大?你看,Unity的长度是以**单位**计量的。这些单位是横跨整个游戏世界的小方块。画布使用默认的比例因子`1 UI pixel = 1 Unit`,这意味着画布在场景编辑器中实际上是`800`单位长。
画布为什么这么大?你看,Unity 的长度是以**单位**计量的。这些单位是横跨整个游戏世界的小方块。画布使用默认的比例因子`1 UI pixel = 1 Unit`,这意味着画布在场景编辑器中实际上是`800`单位长。
![Default canvas size in Unity3D](img/1f7edae768bbbd884278e0fbcd27d09c.png)
......@@ -40,7 +40,7 @@
* * *
### Unity3D画布:格式化文本用户界面元素
### Unity3D 画布:格式化文本用户界面元素
![Adding Text UI Elements to canvas Unity3D](img/0d12adf14e17f26686cc8c2a200d712d.png)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册