介绍 在结构化查询语言(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 ..
Category : 教程系列
作者选择联合国基金会接受捐赠,作为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 地址的 ..
介绍 在本文中,您将了解最新升级 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 已解析时返回: ..
介绍 在某些结构化查询语言(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 并设置示例数据库 ..
介绍 许多软件都需要 Java 和 JVM(Java 的虚拟机),包括Tomcat、Jetty、Glassfish、Cassandra和Jenkins。 在本指南中,您将使用apt. 您将安装 OpenJDK 以及 Oracle 的官方 JDK。然后,您将选择要用于项目的版本。完成后,您将能够使用 JDK 开发软件或使用 Java Runtime 运行软件。 先决条件 要学习本教程,您需要: 按照 Ubuntu 20.04 初始服务器设置指南教程设置了一台 Ubuntu 20.04 服务器,包括 sudo 非 root 用户和防火墙。 安装默认的 JRE/JDK 安装 Java 的最简单选择是使用 Ubuntu 打包的版本。默认情况下,Ubuntu 20.04 包含 Open JDK 11,它是 JRE 和 JDK 的开源变体。 要安装这个版本,首先更新包索引: sudo apt update 接下来,检查是否已经安装了 Java: java -version ..
JavaScript(也称为“javascript”或 JS)是一种高级、基于原型的动态脚本语言,用于创建交互式网页和应用程序。 其灵活性和前端和后端功能使 JavaScript 成为一种流行的编程语言。JavaScript 的一些有用功能包括将值存储在变量中、对字符串执行操作以及触发或处理发生在DOM中的事件。 要了解有关 JavaScript 的更多信息,请访问本教程系列“如何在 JavaScript 中编码”。 可以在我们的JavaScript 页面上找到完整的资�..
介绍 Chart.js是一种使用 HTML5<canvas>元素创建干净图表的强大方法。使用 Vue 的data()对象,可以存储数据并在需要时对其进行操作以更改图形。 在本文中,您将在示例 Vue 项目中使用 Chart.js 来显示有关太阳系中行星的信息。 先决条件 要完成本教程,您需要: Node.js 安装在本地,您可以按照如何安装 Node.js 和创建本地开发环境来完成。 熟悉设置 Vue.js 项目和使用 Vue.js 组件可能会有所帮助。 本教程已通过 Node v15.11.0、npmv7.6.1、vuev2.6.11 和 Chart.js v2.9.4 验证。 步骤 1 — 设置项目 为了快速设置项目,本文将推荐使用@vue/cli. 注意:本文将采取使用的方式npx来避免全局安装@vue/cli; npx @vue/cli create vue-chartjs-example –default 导航到新创建的项目目录; cd vue-async-computed-example Chart.js 可以通过npm以下命令安装: npm install [email protected] 此时,您将拥有一个支持 Chart.js 的新 Vue 项目。 第 2 步 ..
介绍 在本教程中,我们将研究著名的提升机制在 JavaScript 中是如何发生的。在我们深入研究之前,让我们先了解一下什么是提升。 提升是一种 JavaScript 机制,其中变量和函数声明在代码执行之前移动到其作用域的顶部。 不可避免地,这意味着无论函数和变量在哪里声明,无论它们的作用域是全局的还是局部的,它们都会被移动到其作用域的顶部。 然而,值得注意的是,提升机制只会移动声明。任务留在原地。 如果您曾经想知道为什么可以在将函数写入代码之前调用它们,那么请继续阅读! 未定义 vs ReferenceError 在我们认真开始之前,让我们先讨论几件事情。 console.log(typeof variable); // Output: undefined 这使我们想到了第一个注意点: 在 JavaScript 中,未声明的变量在执行时被赋值为 undefined 并且也是 undefined 类型。 我们的第二点是: console.log(variable); // Output: ReferenceError: variable is not defined 在 JavaScript 中,尝试访问以前未声明的变量时会引发 ReferenceError。 由于提升,JavaScript 在处理变量时的行为变得微妙。我们将在后续章节中深入探讨这一点。 提升变量 以下是 JavaScript 生命周期,并指示变量声明和初始化发生的顺序。 然而,由于 JavaScript 允许我们同时声明和初始化我们的变量,这是最常用的模式: var a = 100; 然而重要的是要记住,在后台,JavaScript 虔诚地声明然后初始化我们的变量。 ..
介绍 如果您已经在本地环境中构建了一个静态网站,下一步是决定如何将其发布到网络上。发布站点的一种方法是通过 DigitalOcean App Platform将其部署为应用程序,这允许开发人员直接将代码发布到 DigitalOcean 服务器,而无需担心底层基础架构。App Platform为您的前三个静态站点提供免费托管。 在本教程中,您将使用来自 GitHub 存储库的 App Platform 部署静态网站。接下来,您应该将您的网站文件托管在您拥有的 GitHub 存储库中。如果您需要在 GitHub 存储库中托管文件和创建 GitHub 帐户的说明,请访问我们更深入的教程如何使用 DigitalOcean App Platform 将静态网站部署到云。在本教程结束时,您应该拥有一个已发布的网站,并了解如何使用 App Platform 从 GitHub 存储库将网站部署到云端。 先决条件 一个 GitHub 帐户。 您拥有的 GitHub 存储库中静态网站的文件。您也可以克隆我们的示例静态网站存储库以进行测试。 用于注册 DigitalOcean 云服务的信用卡或 Paypal 帐户。您无需为前三个站点付费。 步骤 1 — 创建您的 DigitalOcean 帐户 要创建 DigitalOcean 帐户,请访问注册页面并从以下选项中进行选择: 输入电子邮件地址和密码 使用 Google 单点登录 使用 ..
作为Write for DOnations计划的一部分,作者选择了免费和开源基金来接受捐赠。 介绍 就其本身而言,Kubernetes不提供持续集成和部署功能。虽然这些概念在较小的项目中通常并不普遍,但托管和更新部署的大型团队发现设置此类流程要容易得多,以减少手动耗时的任务,而是专注于开发正在部署的软件。维护 Kubernetes 持续交付的一种方法是GitOps。 GitOps将托管应用程序的 Git 存储库和 Kubernetes 清单视为有关部署的中心事实来源。它允许通过使用存储库分支来实现分离的部署环境,使您能够在任何集群上快速重现当前或过去的任何配置状态,并且由于 Git 版本控制使回滚变得微不足道。清单始终安全、同步且易于访问。可以根据外部因素(通常是持续集成系统)审核、允许或拒绝对清单或应用程序的修改。自动化从推送代码到将其部署在集群上的过程可以大大提高生产力并增强开发人员体验,同时使部署始终与中央代码库保持一致。 Flux是一种开源工具,可促进 Kubernetes 的 GitOps 持续交付方法。Flux 允许通过监控配置的 Git 存储库并在更改可用时自动应用更改来自动将应用程序和配置部署到您的集群。它可以应用Kustomize清单(它提供了一种简单的方法来选择性地动态修补常用 Kubernetes 清单的部分),以及监视 Helm 图表发布。您还可以将其配置为通过 Slack、Discord、Microsoft Teams 或任何其他支持 Webhook 的服务来接收通知。Webhooks 提供了一种通知应用程序或服务发生在其他地方的事件并提供其描述的方法。 在本教程中,您将安装 Flux 并使用它为podinfo应用程序设置持续交付到您的 DigitalOcean Kubernetes 集群。podinfo是一个应用程序,提供有关其运行环境的详细信息。您将podinfo在GitHub帐户上托管包含Flux 配置的存储库。您将设置 Flux 来监视应用程序存储库,自动应用更改,并使用 webhook 在 Slack 上通知您。最后,您对受监控存储库所做的所有更改都将迅速传播到您的集群。 先决条件 要完成本教程,您需要: 一个 DigitalOcean Kubernetes 集群,您的连接配置被配置为kubectl默认值。创建集群时,有关如何配置的说明kubectl显示在“连接到集群”步骤下。要了解如何在 DigitalOcean 上创建 Kubernetes 集群,请参阅Kubernetes ..