Category : 教程系列

cursor用于在特定元素上更改鼠标光标。这在 Web 应用程序中特别有用,在这些应用程序中除了单击之外还可以完成不同的任务。这显然只在有指点设备时才有效: .in-progress { cursor: progress; } 可用光标 如果您使用的是台式机/笔记本电脑,请将鼠标悬停在以下内容上以查看可用的不同光标: 通用/默认光标 汽车 默认 没有任何 链接光标 指针 滚动光标 全卷 状态光标 上下文菜单 帮助 等待 进步 选择光标 十字准线 细胞 文本 竖排文本 拖放光标 别名 复制 移动 没有下降 不允许 缩放光标 放大 缩小 抓取光标 抓 抓取 调整光标大小 调整大小 调整大小 调整大小 调整大小 s-调整大小 调整大小 sw-resize w-resize 调整大小 调整大小 调整大小 nwse-调整大小 颜色调整 行调整大小 ..

Read more

布尔值是一种数据类型,它只有两个可能值之一:真或假。布尔值代表与数学逻辑分支相关的真值,它为计算机科学中的算法提供信息。在编程中,布尔值用于进行比较和控制程序的流程。 有关布尔值的更多资源,请访问: 理解 Python 3 中的布尔逻辑 理解 Go 中的布尔逻辑 我们的开发相关教程、问题和其他教育资源的完整列表可以在我们的开发标签页�..

Read more

大数据是组织、处理和从大型数据集中收集见解所需的非传统策略和技术的总称。许多用户和组织正在为某些类型的工作负载转向大数据,并使用它来补充他们现有的分析和业务工具。这一领域的技术提供了不同的选择,用于将数据插入系统、存储、分析和处理数据,就像数据可视化的情况一样。 更多大数据资源,请访问: 大数据概念和术语介绍 Hadoop、Storm、Samza、Spark 和 Flink:大数据框架比较 我们的大数据相关教程、问题和其他教育资源的完整列表可以在我们的大数据标签页面�..

Read more

作者选择Creative Commons接受捐赠,作为Write for DOnations计划的一部分。 介绍 在React开发中,Web应用程序编程接口(API) 是单页应用程序 (SPA)设计不可或缺的一部分。API 是应用程序以编程方式与服务器通信以向用户提供实时数据并保存用户更改的主要方式。在 React 应用程序中,您将使用 API 加载用户首选项、显示用户信息、获取配置或安全信息以及保存应用程序状态更改。 在本教程中,您将使用useEffect和useStateHooks 在示例应用程序中获取和显示信息,使用JSON 服务器作为本地 API 进行测试。您将在组件首次安装时加载信息并使用 API 保存客户输入。您还将在用户进行更改时刷新数据,并了解如何在卸载组件时忽略 API 请求。在本教程结束时,您将能够将您的 React 应用程序连接到各种 API,并且您将能够发送和接收实时数据。 先决条件 你需要一个运行Node.js的开发环境;本教程在 Node.js 版本 10.22.0 和 npm 版本 6.14.6 上进行了测试。要在 macOS 或 Ubuntu 18.04 上安装它,请按照如何在 macOS 上安装 Node.js 和创建本地开发环境或如何在 Ubuntu 18.04 上安装 Node.js 的使用 PPA 安装部分中的步骤进行操作。 使用Create React App设置的 React ..

Read more

介绍 学习调试是开发人员的一项基本技能,因为它使他们能够在开发过程中有效地修复错误。在集成开发人员环境(IDE)之外使用 JavaScript 时,了解如何使用调试工具可能并不总是很明显。 本教程将介绍如何使用 Google Chrome DevTools 以及流行的文本编辑器Visual Studio Code (VS Code)调试 JavaScript 。 先决条件 要完成本教程,您将需要以下内容: 您的计算机上安装了最新版本的Google Chrome。 你的机器上安装了最新版本的Visual Studio Code。 Node.js 安装在本地,您可以按照如何安装 Node.js 和创建本地开发环境来完成。 对于本教程,您可以将这些课程应用到您自己的一个可以在 Node 服务器上运行的 JavaScript 项目中,但如果您愿意,也可以选择使用示例应用程序。 步骤 1 — 创建示例应用程序(可选) 如果您没有要遵循的 JavaScript 项目,则可以完成此步骤以创建Quick Chat项目。 您可以使用GIT中克隆的Design-and-Build-a-Chat-Application-with-Socket.io回购。或者,您可以下载 zip 文件并解压缩内容。 注意:如果您需要在系统上安装 Git,请参阅Git 入门。 出于本教程的目的,您将使用第 8 部分中的代码。花点时间熟悉一下您希望应用程序如何工作。 首先导航到项目目录并进入part-8目录: cd Design-and-Build-a-Chat-Application-with-Socket.io cd part-8 接下来,为项目安装 npm ..

Read more

作为Write for DOnations计划的一部分,作者选择了免费和开源基金来接受捐赠。 介绍 一个码头工人的注册表是名为泊坞图像,这是集装箱应用的行业标准的存储和内容传送系统。与公共镜像相比,私有 Docker 注册表允许您在团队或组织内安全地共享您的镜像,具有更大的灵活性和控制力。通过将私有 Docker 注册表直接托管在 Kubernetes 集群中,您可以获得更高的速度、更低的延迟和更好的可用性,同时控制注册表。 底层注册表存储被委托给外部驱动程序。默认存储系统是本地文件系统,但您可以将其替换为基于云的存储驱动程序。DigitalOcean Spaces是一种兼容 S3 的对象存储,专为需要可扩展、简单且经济实惠的方式来存储和服务海量数据的开发人员团队和企业而设计,非常适合存储 Docker 镜像。内置CDN网络,可以大大减少频繁访问图片时的延迟。 在本教程中,您将使用Helm将私有 Docker 注册表部署到DigitalOcean Kubernetes集群,由 DigitalOcean Spaces 备份以存储数据。您将为指定的空间创建 API 密钥,使用自定义配置将 Docker 注册表安装到您的集群,配置 Kubernetes 以对其进行正确的身份验证,并通过在集群上运行示例部署来测试它。在本教程结束时,您将在 DigitalOcean Kubernetes 集群上安装一个安全的私有 Docker 注册表。 先决条件 在开始本教程之前,您需要: Docker 安装在您将访问集群的机器上。对于 Ubuntu 18.04,请访问如何在 Ubuntu 18.04 上安装和使用 Docker。您只需要完成第 1步和第 2 步。否则,请访问 Docker 的网站以获取其他发行版。 Docker Hub 上的一个帐户,用于存储您将在本教程中创建的 Docker 映像。 ..

Read more

介绍 在设计 SQL 数据库时,可能会出现希望对可以添加到表中某些列的数据进行限制的情况。SQL 通过使用约束使这成为可能。对列或表应用约束后,任何向列或表添加不符合约束的数据的尝试都将失败。 不同的 SQL 实现有自己独特的处理约束的方式。本指南概述了许多数据库管理系统用于管理约束的语法,在整个示例中都使用 MySQL。 先决条件 为了遵循本指南,您需要一台运行某种类型的使用 SQL 的关系数据库管理系统 (RDBMS) 的计算机。本指南中的说明和示例已使用以下环境进行验证: 运行 Ubuntu 20.04 的服务器,具有管理权限的非 root 用户和使用 UFW 配置的防火墙,如我们的 Ubuntu 20.04 初始服务器设置指南中所述。 在服务器上安装并保护 MySQL,如如何在 Ubuntu 20.04 上安装 MySQL 中所述。本指南已使用新创建的用户进行验证,如步骤 3 中所述。 注意:请注意,许多 RDBMS 使用自己独特的 SQL 实现。尽管本教程中概述的命令适用于大多数 RDBMS,但如果您在 MySQL 以外的系统上测试它们,则确切的语法或输出可能会有所不同。 对 SQL 约束是什么以及它们如何起作用有一个大致的了解也将很有帮助。有关此概念的概述,您可以参考我们关于了解 SQL 约束的文章。 您还需要一个可用于练习创建带有约束的表的数据库。如果您没有这样的测试数据库,请参阅以下连接到 MySQL 和设置示例数据库部分,以了解有关如何创建数据库的详细信息。 连接和设置示例数据库 如果您的 SQL 数据库系统在远程服务器上运行,请从本地计算机通过 ..

Read more

Node.js 是一个基于 Chrome 的 V8 JavaScript 引擎构建的 JavaScript 运行时。它允许程序员创建快速、可扩展的后端 JavaScript 应用程序。Node.js 的异步和事件驱动特性使其非常适合创建可以同时处理多个连接的应用程序,这是 Web 服务器和其他后端应用程序的常见任务。 通过在前端和后端利用 JavaScript,开发可以更加一致,并且可以在相同的开发环境中设计全栈 Web 应用程序。 有关 Node.js 的更多信息,请参阅以下资源: 如何在 Ubuntu 20.04 上安装 Node.js 如何在 Node.js 中编写和运行你的第一个程序 我们的node-js标签页包含指向 Node.js 教程、技术讲座、问答�..

Read more

介绍 创建新的 Ubuntu 18.04 服务器后,您应该执行一些配置步骤作为初始服务器设置的一部分,以提高安全性并便于以后管理。 本指南将引导您完成一些您应该尽早完成的过程,以便在继续安装和配置任何软件或服务之前为您的新服务器奠定坚实的基础。 步骤 1 — 以 Root 用户身份登录 新安装的服务器通常只设置一个root帐户,这是您第一次登录服务器时使用的帐户。 在根用户的是,具有十分广阔的权限的管理用户。由于root帐户具有更高的权限,因此不鼓励您定期使用它。这是因为root帐户固有的部分能力是能够进行非常具有破坏性的更改,即使是意外更改也是如此。出于这个原因,推荐的做法是设置一个普通系统用户并授予该用户sudo权限,以便它可以运行具有某些限制的管理命令。在下一步中,您将设置这样一个用户。 首先,您需要登录到您的服务器。确保您知道服务器的公共 IP 地址。要进行身份验证,您需要帐户的密码或root用户帐户的 SSH 私钥,以防您在服务器内设置了用于身份验证的 SSH 密钥。如果您还没有登录到您的服务器,您可能需要遵循我们关于如何使用 SSH 连接到您的 Droplet 的指南,其中详细介绍了此过程。 如果您尚未连接到服务器,请继续以root用户身份使用以下命令登录。请务必将命令的突出显示部分替换为您服务器的公共 IP 地址: ssh root@your_server_ip 如果出现有关主机真实性的警告,请接受。如果您使用密码验证,请提供您的root密码以登录。或者,如果您使用受密码保护的 SSH 密钥,您可能会在每次会话第一次使用密钥时提示输入密码。此外,如果这是您第一次使用密码登录服务器,系统可能还会提示您更改root密码。 在下一步中,您将设置一个具有降低权限的新系统用户帐户,并将此用户配置为通过sudo. 步骤 2 — 创建新用户 以root身份登录后,您可以创建一个新用户,从现在起将成为您的常规系统用户。 以下示例创建了一个名为sammy的新用户,但您应该将其替换为您选择的用户名: adduser sammy 您将被问到几个问题,首先是帐户密码。 输入一个强密码,并可以根据需要填写任何附加信息。这不是必需的,您可以点击ENTER任何您想跳过的字段。 在下一步中,您将sudo为该用户设置权限。这将允许用户以root用户身份通过sudo程序执行管理任务。 步骤 3 — 授予管理权限 您现在拥有一个具有常规权限的新用户帐户。但是,有时您需要执行管理任务,例如管理服务器、编辑配置文件或重新启动服务器。 为了避免退出您的普通用户并以root帐户重新登录,您可以为您的普通帐户设置所谓的“超级用户”或root权限。这将允许您的普通用户通过在每个命令前加上单词前缀来运行具有管理权限的命令sudo。 要将这些权限添加到您的新用户,您需要将新用户添加到sudo组。默认情况下,在 Ubuntu 18.04 上,允许属于sudo组的用户使用该sudo命令。 ..

Read more

作者选择Electronic Frontier Foundation Inc接受捐赠,作为Write for DOnations计划的一部分。 介绍 Linux 服务器通常通过连接到OpenSSH服务器使用 SSH 进行远程管理,OpenSSH服务器是 Ubuntu、Debian、CentOS、FreeBSD 和大多数其他基于 Linux/BSD 的系统中使用的默认 SSH 服务器软件。为保护 SSH 的服务器端方面投入了大量精力,因为 SSH 充当进入您的服务器的入口。 但是,考虑客户端(例如 OpenSSH 客户端)的安全性也很重要。 OpenSSH 客户端是 SSH 的“客户端”端,也称为ssh命令。您可以在SSH Essentials:使用 SSH 服务器、客户端和密钥 中了解有关 SSH 客户端-服务器模型的更多信息。 在服务器端强化 SSH 时,主要目标是让恶意行为者更难访问您的服务器。但是,客户端的强化非常不同,因为您正在努力防御和保护您的 SSH 连接和客户端免受各种不同的威胁,包括: 网络上的攻击者,称为“中间人”攻击。 受到攻击或恶意的服务器发送格式错误的数据包、恶意控制序列或大量数据以使您的客户端过载。 人为错误,例如错误输入服务器地址或配置值。 在本教程中,您将强化 OpenSSH 客户端,以帮助确保传出 SSH 连接尽可能安全。 先决条件 要完成本教程,您需要: 您用作 SSH 客户端的设备,例如: 您的个人电脑 SSH “跳转主机”或“堡垒主机” ..

Read more