Category : 教程系列

介绍 Yarn是由 Facebook 开发的新的开源 JavaScript 包管理器。Yarn 与npm注册表完全兼容,可以与 一起工作npm,但它的目标是成为更安全、更可靠和更可靠的替代方案。 npm对于新项目或当前项目,您可以用 Yarn替换整个工作流程,只需极少的努力。Yarn 中的依赖项保存在yarn.lock应该签入源代码管理的文件中,但该文件本身仅适用于 Yarn,不应进行编辑。这里足以让您开始使用 Yarn。 安装 Yarn 包管理器 有几种方法可以安装 Yarn。具有讽刺意味的是,您可以通过npm以下方式安装它: npm install -g yarn 如果你还没有npm安装,你也可以用一个简单的 bash 脚本安装: curl -o- -L https://yarnpkg.com/install.sh | bash 在 Windows 上,您可以在此处获取安装程序文件。 测试您的纱线安装 运行此命令以查看 Yarn 是否已正确安装或查看您是否拥有最新版本: yarn –version 初始化纱线项目 要初始化一个新项目,请运行yarn init: yarn init 安装 Yarn 依赖项 以下是从 package.json 文件(相当于npm install)安装所有依赖项的方法: yarn 管理纱线依赖性 让我们lodash用于大多数示例: ..

Read more

自由软件是通过自由软件基金会批准的许可证发布的任何程序,允许用户查看、修改和共享源代码。 与开源一样,自由软件的目标是扩大开发人员使用软件的自由,并遏制专有软件许可证的传播。了解更多关于自由软件基金会的理念。 有关自由软件运动的深入解释,请查看 DigitalOcean 的关于自由软件和开源软件之间的区别..

Read more

作者选择Creative Commons接受捐赠,作为Write for DOnations计划的一部分。 介绍 在本教程中,您将学习如何使用JSX描述元素。JSX 是一种抽象,它允许您在JavaScript代码中编写类似 HTML 的语法,并使您能够构建看起来像标准 HTML 标记的 React 组件。JSX 是React元素的模板语言,因此是 React 将呈现到您的应用程序中的任何标记的基础。 由于 JSX 使您还可以在标记中编写 JavaScript,因此您将能够利用 JavaScript 函数和方法,包括数组映射和条件的短路评估。 作为本教程的一部分,您将直接在标记中捕获按钮上的单击事件,并在语法与标准 HTML(例如 CSS 类)不完全匹配时捕获实例。在本教程结束时,您将拥有一个工作应用程序,该应用程序使用各种 JSX 功能来显示具有内置点击侦听器的元素列表。这是 React 应用程序中的常见模式,您将在学习框架的过程中经常使用。您还可以将标准 HTML 元素与 JavaScript 混合使用,以了解 React 如何让您能够创建小的、可重用的代码段。 先决条件 你需要一个运行Node.js的开发环境;本教程在 Node.js 版本 10.19.0 和 npm 版本 6.13.4 上进行了测试。要在 macOS 或 Ubuntu 18.04 上安装它,请按照如何在 macOS 上安装 Node.js 和创建本地开发环境或如何在 ..

Read more

该系列的一部分: 如何编写 Ansible Playbooks Ansible 是一种现代配置管理工具,不需要在远程节点上使用代理软件,仅使用 SSH 和 Python 在托管服务器上进行通信和执行命令。本系列将带您了解可用于编写服务器自动化剧本的主要 Ansible 功能。最后,我们将看到一个实际示例,说明如何创建剧本以自动设置远程 Nginx Web 服务器并向其部署静态 HTML 网站。 Playbooks 使用 YAML 格式来定义一个或多个play。play 是一组有序的任务,它们以某种方式排列以实现流程自动化,例如设置 Web 服务器或将应用程序部署到生产中。 在剧本文件中,播放被定义为一个 YAML 列表。典型的游戏开始于确定哪些主机是该特定设置的目标。这是通过hosts指令完成的。 将hosts指令设置为all是一个常见的选择,因为您可以通过运行ansible-playbook带有-l参数的命令来限制执行时播放的目标。这允许您在不同的服务器或组上运行相同的剧本,而无需每次更改剧本文件。 首先在您的主文件夹中创建一个新目录,您可以在其中保存练习手册。首先,确保您位于 Ubuntu 用户的主目录中。从那里,创建一个名为的目录ansible-practice,然后使用以下cd命令导航到该目录: cd ~ mkdir ansible-practice cd ansible-practice 如果您遵循了所有先决条件,您应该已经有一个有效的清单文件。您现在可以将该文件复制到新ansible-practice目录中。例如,如果您ansible在主文件夹的目录中创建了测试清单文件,则可以使用以下命令将该文件复制到新目录: cp ~/ansible/inventory ~/ansible-practice/inventory 接下来,创建一个新的剧本文件: nano playbook-01.yml 以下 playbook 定义all了给定库存中的 play 定位主机。它包含一个打印调试消息的任务。 注意:我们将在本系列的下一部分中了解有关任务的更多信息。 将以下内容添加到您的playbook-01.yml文件中: ~/ansible-practice/playbook-01.yml — – hosts: ..

Read more

作者选择了技术多样性基金来接受捐赠,作为Write for DOnations计划的一部分。 介绍 TypeScript是JavaScript的超集,它在构建时添加了可选的静态类型,从而减少了调试运行时错误。多年来,它已发展成为 JavaScript 的强大替代品。同时,Gatsby已成为创建静态网站的有用前端框架。TypeScript 的静态打字能力与像 Gatsby 这样的静态站点生成器配合得很好,而且 Gatsby 内置了对 TypeScript 编码的支持。 在本教程中,您将使用 Gatsby 的内置功能为 TypeScript 配置 Gatsby 项目。在本教程之后,您将学习如何将 TypeScript 集成到您的 Gatsby 项目中。 先决条件 您需要同时安装Node和npm才能运行开发环境并分别处理与 TypeScript 或 Gatsby 相关的包。本教程使用 Node.js 版本 14.17.2 和 npm 版本 6.14.13 进行了测试。要在 macOS 或 Ubuntu 18.04 上安装,请按照如何在 macOS 上安装 Node.js 和创建本地开发环境或如何在 Ubuntu 20.04 上安装 Node.js 的使用 PPA 安装部分中的步骤进行操作。 ..

Read more

介绍 在 Python 中使用for 循环和while 循环可以让您以高效的方式自动化和重复任务。 但有时,外部因素可能会影响您的程序运行方式。发生这种情况时,您可能希望程序完全退出循环,在继续之前跳过循环的一部分,或者忽略该外部因素。你可以做这些动作的使用break,continue和pass语句。 中断声明 在 Python 中,该break语句为您提供了在触发外部条件时退出循环的机会。您将把break语句放在循环语句下的代码块中,通常在条件if语句之后。 让我们看一个break在for循环中使用该语句的示例: number = 0 for number in range(10): if number == 5: break # break here print(‘Number is ‘ + str(number)) print(‘Out of loop’) 在这个小程序中,变量number被初始化为 0。然后for只要变量number小于 10,一个语句就构造循环。 在for循环中,有一条if语句表示如果变量number等于整数 5,则循环将中断。 循环内还有一个print()语句,它将随着循环的每次迭代执行,for直到循环中断,因为它在break语句之后。 为了知道何时退出循环,我们print()在for循环外包含了一个最终语句。 当我们运行此代码时,我们的输出将如下所示: OutputNumber is 0 Number is 1 Number is 2 Number is 3 ..

Read more

介绍 在结构化查询语言(SQL)语句中,WHERE子句限制给定操作将影响的行。他们通过定义特定条件(称为搜索条件)来实现这一点,每一行必须满足这些条件才能受到操作的影响。 本指南将介绍WHERE子句中使用的一般语法。它还将概述如何在单个WHERE子句中组合多个搜索条件谓词以更精细地过滤数据,以及如何使用NOT运算符排除而不是包含满足给定搜索条件的行。 尽管本指南将专门在其示例中使用SELECT语句,但此处解释的概念可用于许多 SQL 操作。事实上,WHERE子句的重要组成部分UPDATE和DELETE操作。 先决条件 为了遵循本指南,您需要一台运行某种类型的使用 SQL 的关系数据库管理系统 (RDBMS) 的计算机。本指南中的说明和示例已使用以下环境进行验证: 运行 Ubuntu 20.04 的服务器,具有管理权限的非 root 用户和使用 UFW 配置的防火墙,如我们的 Ubuntu 20.04 初始服务器设置指南中所述。 在服务器上安装并保护 MySQL,如如何在 Ubuntu 20.04 上安装 MySQL 中所述。本指南已使用新创建的用户进行验证,如步骤 3 中所述。 您还需要一个数据库,其中包含一些加载了示例数据的表,您可以使用这些表来练习编写包含WHERE子句的查询。我们鼓励您阅读以下连接到 MySQL 和设置示例数据库部分,详细了解如何连接到 MySQL 服务器并创建本指南示例中使用的测试数据库。 注意:请注意,许多 RDBMS 使用自己独特的 SQL 实现。尽管本教程中概述的命令适用于大多数 RDBMS,但如果您在 MySQL 以外的系统上测试它们,则确切的语法或输出可能会有所不同。 连接到 MySQL 并设置示例数据库 如果您的 SQL 数据库系统在远程服务器上运行,请从本地计算机通过 SSH 连接到您的服务器: ssh sammy@your_server_ip ..

Read more

作者选择联合国基金会接受捐赠,作为Write for DOnations计划的一部分。 介绍 JupyterLab是一个功能丰富的用户界面,它使用户(尤其是数据科学和人工智能领域的用户)能够轻松地执行任务。JupyterLab 环境提供了以生产力为中心的Jupyter Notebook重新设计。它引入了诸如内置 HTML 查看器和 CSV 查看器等工具,以及将 Jupyter Notebooks 的几个独立功能统一到同一屏幕上的功能。 在本教程中,您将在 Ubuntu 18.04 服务器上安装和设置 JupyterLab。您还将配置您的服务器,以便能够使用域名安全地从任何 Web 浏览器远程连接到 JupyterLab 实例。 先决条件 为了完成本教程,您需要: 一个 Ubuntu 18.04 服务器,具有sudo使用此初始服务器设置指南的特权的非 root 用户帐户。 在您的服务器上安装 Python Anaconda Distribution。您可以使用如何在 Ubuntu 18.04 上安装 Anaconda Python 发行版教程。 您有权编辑 DNS 记录的注册域名或子域。本教程将your_domain贯穿始终。您可以在购买域Namecheap,在得到一个免费域名Freenom,或与您选择的任何注册商注册一个新域名。 为您的域设置的以下 DNS 记录: your_domain指向您服务器的公共 IP 地址的 A 记录。 指向您服务器的公共 IP 地址的 ..

Read more

介绍 在本文中,您将了解最新升级 ES2020 中推出的新 JavaScript 功能。Nullish Coalescing 和 Optional Chain Operators 等功能有助于定义您的 JavaScript 语法,而 Dynamic Import 使您的代码保持模块化。 私有类变量 类包含可用于可重用模块的属性。如果您在各种文件中重用这些属性,您可能不希望所有内容都全局可用。 为了解决这个问题,私有类变量保留了在类中使用的属性和方法。属性和方法前面的哈希符号表示私有类变量。 class Message { #message = “Howdy”; greet() { console.log(this.#message); }; }; const greeting = new Message() greeting.greet() // Howdy console.log(greeting.#message) // #message is not defined 请注意,调用greet类外的方法会返回一个值。console.log将属性设为私有的A 会返回错误。 Promise.allSettled() 当您使用多个 Promise 时,尤其是当它们相互依赖时,记录每个进程以调试错误可能会很有用。 使用Promise.allSettled(),您可以创建一个新的 Promise,当作为参数传入的 Promise 已解析时返回: ..

Read more

介绍 在某些结构化查询语言(SQL)语句中,WHERE子句可用于限制给定操作将影响的行。他们通过定义每行必须满足才能受到影响的特定条件(称为搜索条件)来实现这一点。搜索条件由一个或多个谓词组成,这些谓词是计算结果为“真”、“假”或“未知”的特殊表达式,并且操作仅影响WHERE子句中每个谓词计算结果为“真”的那些行。 ” SQL 允许用户编写包含各种不同类型谓词的搜索条件,每个谓词都使用特定的运算符来评估行。本指南将概述两种类型的谓词及其使用的运算符:比较运算符和IS NULL运算符。 尽管本指南将专门在其示例中使用SELECT语句,但此处解释的概念可用于许多 SQL 操作。特别是,WHERE条款和他们的搜索条件的重要组成部分UPDATE和DELETE操作。 先决条件 为了遵循本指南,您需要一台运行某种类型的使用 SQL 的关系数据库管理系统 (RDBMS) 的计算机。本指南中的说明和示例已使用以下环境进行验证: 运行 Ubuntu 20.04 的服务器,具有管理权限的非 root 用户和使用 UFW 配置的防火墙,如我们的 Ubuntu 20.04 初始服务器设置指南中所述。 在服务器上安装并保护 MySQL,如如何在 Ubuntu 20.04 上安装 MySQL 中所述。本指南已使用新创建的用户进行验证,如步骤 3 中所述。 您还需要一个数据库,其中包含一些加载了示例数据的表,您可以使用这些表来练习使用比较和IS NULL运算符。我们鼓励您阅读以下连接到 MySQL 和设置示例数据库部分,详细了解如何连接到 MySQL 服务器并创建本指南示例中使用的测试数据库。 注意:请注意,许多 RDBMS 使用自己独特的 SQL 实现。尽管本教程中概述的命令适用于大多数 RDBMS,包括 PostgreSQL 和 SQLite,但如果您在 MySQL 以外的系统上测试它们,则确切的语法或输出可能会有所不同。 连接到 MySQL 并设置示例数据库 ..

Read more