本教程的先前版本由Justin Ellingwood和Namo编写 介绍 虚拟专用网络或 VPN 允许您在流量通过不受信任的网络(例如咖啡店、会议或机场的网络)时安全地加密流量。 Internet Key Exchange v2或 IKEv2 是一种允许在服务器和客户端之间建立直接 IPSec 隧道的协议。在 IKEv2 VPN 实施中,IPSec 为网络流量提供加密。IKEv2 在某些平台(OS X 10.11+、iOS 9.1+ 和 Windows 10)上原生支持,无需额外的应用程序,它可以非常顺利地处理客户端问题。 在本教程中,您将在 Ubuntu 20.04 服务器上使用StrongSwan设置 IKEv2 VPN服务器。然后,您将学习如何使用 Windows、macOS、Ubuntu、iOS 和 Android 客户端连接到它。 先决条件 要完成本教程,您需要: 按照Ubuntu 20.04 初始服务器设置指南配置的一台 Ubuntu 20.04 服务器,包括sudo非 root 用户和防火墙。 步骤 1 — 安装 StrongSwan 首先,我们将安装 StrongSwan,这是一个开源 IPSec 守护程序,我们将其配置为我们的 VPN ..
Category : 教程系列
介绍 验证器用于确保表单中的值满足某些要求。它们可用于Angular 应用程序中的模板驱动表单或响应式表单。 有几种内置的验证喜欢required,email,pattern,和minLength。还可以开发自定义验证器来解决内置验证器未处理的功能。 例如,电话号码验证器将包含一个输入字段,除非该值是十位数长,否则不会被视为有效。 以下是电话号码输入字段的屏幕截图,该字段提供了一个九位数长的无效号码: 这是一个电话号码输入字段的屏幕截图,该字段提供了一个十位数长的有效号码: 在本教程中,您将为 Angular 应用程序中的电话号码输入字段构建一个自定义验证器。 先决条件 要完成本教程,您需要: Node.js 安装在本地,您可以按照如何安装 Node.js 和创建本地开发环境来完成。 对设置 Angular 项目有一定的了解。 本教程已通过 Node v15.2.1、npmv6.14.8、@angular/corev11.0.0 和@angular/formsv11.0.0 验证。 设置项目 出于本教程的目的,您将从使用@angular/cli. npx @angular/cli new angular-custom-validation-example –style=css –routing=false –skip-tests 注意:或者,您可以全局安装 @angular/cli. 这将配置一个新的 Angular 项目,其样式设置为“CSS”(与“Sass”、Less 或“Stylus”相反),没有路由,并跳过测试。 导航到新创建的项目目录: cd angular-custom-validation-example 此时,您将拥有一个新的 Angular 项目。 在模板驱动的表单中使用验证器 指令用于模板驱动表单中的验证。对于此示例,您将phone-number-validator使用@angular/cli. 首先,打开终端并使用@angular/cli作为开发依赖项安装的包来生成新指令: ./node_modules/@angular/cli/bin/ng generate directive phone-number-validator 这将创建phone-number-validator.directive.ts和phone-number-validator.directive.spec.ts。它还将添加PhoneNumberValidatorDirective到app.module.ts. 接下来,phone-number-validator.directive.ts在您的代码编辑器中打开。添加Validator,AbstractControl和NG_VALIDATORS: src/app/phone-number-validator.directive.ts ..
介绍 Velero是 Kubernetes 集群的便捷备份工具,可将 Kubernetes 对象压缩并备份到对象存储。它还使用您的云提供商的块存储快照功能为您的集群的 Persistent Volume 拍摄快照,然后可以将您的集群的对象和 Persistent Volume 恢复到以前的状态。 该DigitalOcean Velero插件可以让你用DigitalOcean块存储到快照您持久卷,和空间来备份你的Kubernetes对象。在 DigitalOcean 上运行 Kubernetes 集群时,这允许您快速备份集群的状态并在灾难发生时恢复它。 在本教程中,我们将velero在本地机器上设置和配置命令行工具,并将服务器组件部署到我们的 Kubernetes 集群中。然后,我们将部署一个使用 Persistent Volume 进行日志记录的示例 Nginx 应用程序,然后模拟灾难恢复场景。 先决条件 在开始本教程之前,您应该准备好以下内容: 在本地计算机上: 该kubectl命令行工具,配置为连接到群集。您可以kubectl在官方 Kubernetes 文档 中阅读有关安装和配置的更多信息。 该git命令行实用程序。您可以git在 Git 入门 中了解如何安装。 在您的 DigitalOcean 帐户中: 甲DigitalOcean Kubernetes群集或群集Kubernetes(版本1.7.5上DigitalOcean液滴或更高版本)。 在集群内部运行的 DNS 服务器。如果您使用的是 DigitalOcean Kubernetes,则默认情况下它正在运行。要了解有关配置 Kubernetes DNS 服务的更多信息,请参阅Kuberentes 官方文档中的自定义 DNS 服务。 DigitalOcean Space ..
介绍 React Navigation是用于在React Native应用程序中进行路由和导航的流行库。 该库有助于解决在多个屏幕之间导航并在它们之间共享数据的问题。 在本教程结束时,您将拥有一个基本的社交网络。它将显示用户拥有的连接数,并提供一种与其他朋友联系的方式。您将使用此示例应用程序探索如何使用 浏览移动应用程序屏幕react-navigation。 先决条件 要完成本教程,您需要: Node.js 的本地开发环境。遵循如何安装 Node.js 并创建本地开发环境。 熟悉设置环境以创建新的 React Native 项目并使用 iOS 或 Android 模拟器可能会有所帮助。 注意:如果您react-navigation过去使用过,您可能会遇到一些差异。您可以查阅有关从 3.x迁移和从 4.x 迁移的指南的文档。 本教程已通过 Node v14.7.0、npmv6.14.7、reactv16.13.1、react-nativev0.63.2、@react-navigation/nativev5.7.3 和@react-navigation/stackv5.9.0 验证。 第 1 步 – 创建一个新的 React Native 应用程序 首先,通过在终端中输入以下命令来创建一个新的 React Native 应用程序: npx react-native init MySocialNetwork –version 0.63.2 然后,导航到新目录: cd MySocialNetwork 并启动 iOS 应用程序: npm ..
介绍 Git 等版本控制系统对于现代软件开发最佳实践至关重要。版本控制允许您在源代码级别跟踪您的软件。您可以跟踪更改、恢复到之前的阶段以及分支以创建文件和目录的替代版本。 许多软件项目的文件都保存在 Git 存储库中,GitHub、GitLab 和 Bitbucket 等平台有助于促进软件开发项目的共享和协作。 在本指南中,我们将介绍如何在 Ubuntu 20.04 服务器上安装和配置 Git。我们将介绍如何以两种不同的方式安装软件:通过内置包管理器和通过源。根据您的特定需求,这些方法中的每一种都有自己的好处。 先决条件 您将需要具有非 root 超级用户帐户的 Ubuntu 20.04 服务器。 要进行设置,您可以按照我们的 Ubuntu 20.04 初始服务器设置指南进行操作。 设置好服务器和用户后,您就可以开始了。 使用默认包安装 Git 如果您想使用 Git 快速启动和运行,如果您更喜欢广泛使用的稳定版本,或者您不想寻找最新的可用功能,那么使用默认包安装的选项是最好的选择。如果您正在寻找最新版本,您应该跳转到有关从源安装的部分。 Git 可能已经安装在您的 Ubuntu 20.04 服务器中。您可以使用以下命令在您的服务器上确认这种情况: git –version 如果您收到类似于以下内容的输出,则表示已安装 Git。 Outputgit version 2.25.1 如果您是这种情况,那么您可以继续设置 Git,或者如果您需要更新的版本,您可以阅读下一节关于如何从源安装。 但是,如果您没有得到 Git 版本号的输出,您可以使用 Ubuntu 默认包管理器 APT 安装它。 首先,使用 apt 包管理工具更新本地包索引。 ..
作者选择Electronic Frontier Foundation Inc接受捐赠,作为Write for DOnations计划的一部分。 介绍 Linux 服务器通常通过连接到OpenSSH服务器使用 SSH 进行远程管理,OpenSSH服务器是 Ubuntu、Debian、CentOS、FreeBSD 和大多数其他基于 Linux/BSD 的系统中使用的默认 SSH 服务器软件。 OpenSSH 服务器是 SSH 的服务器端,也称为 SSH 守护进程或sshd. 您可以使用 OpenSSH 客户端(ssh命令)连接到 OpenSSH 服务器。您可以在SSH Essentials:使用 SSH 服务器、客户端和密钥 中了解有关 SSH 客户端-服务器模型的更多信息。正确保护您的 OpenSSH 服务器非常重要,因为它充当前门或进入服务器的入口。 在本教程中,您将通过使用不同的配置选项来强化 OpenSSH 服务器,以确保对服务器的远程访问尽可能安全。 先决条件 要完成本教程,您需要: 按照 Ubuntu 18.04 的初始服务器设置(包括 sudo 非 root 用户)设置的 Ubuntu 18.04 服务器。 准备好后,以非 root 用户身份登录到您的服务器开始。 ..
介绍 在Structured Query Language 中,通常称为SQL,DELETE语句是用户可用的最强大的操作之一。顾名思义,DELETE操作不可逆地从数据库表中删除一行或多行数据。作为数据管理的一个基本方面,SQL 用户了解DELETE语句的工作方式非常重要。 本指南将介绍如何使用 SQL 的DELETE语法从一个或多个表中删除数据。它还将解释 SQL 如何处理DELETE与外键约束冲突的操作。 先决条件 为了遵循本指南,您需要一台运行某种类型的使用 SQL 的关系数据库管理系统 (RDBMS) 的计算机。本指南中的说明和示例已使用以下环境进行验证: 运行 Ubuntu 20.04 的服务器,具有管理权限的非 root 用户和使用 UFW 配置的防火墙,如我们的 Ubuntu 20.04 初始服务器设置指南中所述。 在服务器上安装并保护 MySQL,如如何在 Ubuntu 20.04 上安装 MySQL 中所述。本指南已使用非 root MySQL 用户进行验证,该用户使用步骤 3中描述的过程创建。 注意:请注意,许多 RDBMS 使用自己独特的 SQL 实现。尽管本教程中概述的命令适用于大多数 RDBMS,但如果您在 MySQL 以外的系统上测试它们,则确切的语法或输出可能会有所不同。 您还需要一个加载了一些示例数据的数据库和表,您可以使用它们来练习删除数据。我们鼓励您阅读以下连接到 MySQL 和设置示例数据库部分,详细了解如何创建本指南将在整个示例中使用的数据库和两个表。 连接到 MySQL 并设置示例数据库 如果您的 SQL ..
介绍 React 的最新 alpha 版本引入了一个名为Hooks的新概念。钩子被引入 React 来解决常见问题。但是,它们主要用作类的替代方法。使用 Hooks,您可以创建使用状态和生命周期方法的功能组件。 Hooks 目前在 React v16.7.0-alpha 中可用。没有删除课程的计划。Hooks 提供了另一种编写 React 的方法。 鉴于 Hooks 仍然是新的,许多开发人员希望在他们现有的 React 应用程序或新应用程序中应用这个概念。在这篇文章中,您将探索使用 React Hooks 将 React 类组件转换为函数式组件的五种方法。 先决条件 要完成本教程,您需要: 熟悉 JavaScript。您可以查看如何在 JavaScript 中编码系列以了解更多信息并开始使用。 熟悉反应。您可以查看我们的How To Code in React.js系列以获取帮助您入门的指南。 不需要本地开发,但提供了CodeSandbox示例以供进一步实验。 第 1 步——理解没有状态或生命周期方法的类 让我们从一个既没有状态也没有生命周期组件的 React 类开始: ExampleClassComponent.js import React, { Component } from ‘react’; class App extends ..
本教程的早期版本由Melissa Anderson编写。 介绍 MongoDB,也称为Mongo,是许多现代 Web 应用程序中使用的开源文档数据库。它被归类为NoSQL 数据库,因为它不依赖于传统的基于表的关系数据库结构。 相反,它使用具有动态模式的类似 JSON 的文档,这意味着与关系数据库不同,MongoDB 在向数据库添加数据之前不需要预定义的模式。您可以随时根据需要随时更改架构,而无需使用更新的架构设置新数据库。 在本教程中,您将在 CentOS 8 服务器上安装 MongoDB,对其进行测试,并了解如何将其作为systemd服务进行管理。 先决条件 要完成本教程,您需要一台运行 CentOS 8 的服务器。该服务器应具有具有管理权限的非 root 用户和配置为firewalld. 要进行设置,请遵循我们的 CentOS 8 初始服务器设置指南。 第 1 步 – 安装 MongoDB 在标准 CentOS 存储库中没有可用的官方 MongoDB 包。为了在您的服务器上安装 Mongo,您需要添加一个指向 MongoDB 官方存储库的存储库文件。您的包管理器将在搜索包时读取此文件,并能够使用它来安装 Mongo 及其任何依赖项。 在本指南中,我们将使用 DNF 包管理器安装 Mongo,因此您需要将存储库文件添加到/etc/yum.repos.d/目录中。.repo在搜索包源时,DNF 会检查此目录中以后缀结尾的所有文件。 您可以使用vi——默认安装在 CentOS 系统上的广泛使用的文本编辑器——来创建存储库文件,但vi对于没有使用它的用户来说可能有点不直观。作为替代方案,我们建议nano使用标准 CentOS 软件库提供的更加用户友好的编辑器。 要nano使用 DNF安装,请运行以下命令: ..
作为Write for DOnations计划的一部分,作者选择了免费和开源基金来接受捐赠。 介绍 随着开发人员工具迁移到云端,云 IDE(集成开发环境)平台的创建和采用正在增长。云 IDE 允许开发团队之间实时协作,在统一的开发环境中工作,最大限度地减少不兼容性并提高生产力。可以通过 Web 浏览器访问,各种类型的现代设备都可以使用云 IDE。 code-server是在远程服务器上运行的Microsoft Visual Studio Code,可直接从浏览器访问。Visual Studio Code 是一个现代代码编辑器,具有集成的 Git 支持、代码调试器、智能自动完成以及可自定义和可扩展的功能。这意味着您可以使用运行不同操作系统的各种设备,并始终拥有一致的开发环境。 在本教程中,您将在 CentOS 7 机器上设置代码服务器云 IDE 平台并将其公开在您的域中,并使用免费的Let’s Encrypt TLS 证书进行保护。最后,您将在 CentOS 7 服务器上运行 Microsoft Visual Studio Code,在您的域中可用并受密码保护。 先决条件 一台运行 CentOS 7 的服务器,具有至少 2GB RAM、root 访问权限和 sudo 非 root 帐户。您可以按照此初始服务器设置指南进行设置。 您的服务器上安装了 Nginx。有关如何执行此操作的指南,请参阅如何在 CentOS 7 上安装 Nginx。 托管代码服务器的完全注册域名,指向您的服务器。本教程将贯穿始终。你可以购买一个域名Namecheap,免费获得一个在Freenom,或使用你选择的域名注册商。对于 ..