Category : 教程系列

介绍 在某些结构化查询语言(SQL)语句中,WHERE子句可用于限制给定操作将影响的行。他们通过定义每行必须满足才能受到影响的特定条件(称为搜索条件)来实现这一点。搜索条件由一个或多个谓词或计算结果为“真”、“假”或“未知”的特殊表达式组成,并且操作仅影响WHERE子句中每个谓词计算结果为“真”的那些行。 SQL 允许用户通过提供各种不同类型的谓词来检索粒度结果集,每种谓词都使用特定的运算符来评估行。本指南将概述两种类型的谓词:使用BETWEEN运算符的范围谓词和使用运算符的集合谓词IN。 尽管本指南将专门在其示例中使用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,包括 PostgreSQL 和 SQLite,但如果您在 MySQL 以外的系统上测试它们,则确切的语法或输出可能会有所不同。 连接到 MySQL 并设置示例数据库 如果您的 SQL 数据库系统在远程服务器上运行,请从本地计算机通过 ..

Read more

介绍 链接标签 ( <link>) 描述了链接资源的关系。它通常用于插入外部 CSS 文件。让我们看看如何。 先决条件 HTML5 的一般知识。要全面了解 HTML5 标记语言,请浏览我们的系列“如何用 HTML 构建网站”。 使用<link>标签 要在 HTML 中插入外部 CSS 文件,请像这样使用 <link> 标签。记得在文档的 <head> 部分添加这个标签: <link rel=’stylesheet’ href=’style.css’ type=’text/css’ media=’all’> 该media属性是可选的,它将样式表的范围缩小到某些设备。以下是可能的值:all、aural、braille、handled、projection、print、screen、tty 和 tv。 结论 该<link>标签是HTML的一个重要特征。 要更全面地了解 HTML5 标记语言,请浏览我们的系列,如何用 HTML 构�..

Read more

作者选择/dev/color接受捐赠,作为Write for DOnations计划的一部分。 介绍 Gatsby是一个React框架,允许您创建静态和无服务器应用程序。Gatsby 网站与传统网站不同,因为它们通常部署在内容交付网络 (CDN) 上并且与内容无关。从 CDN 部署的优势在于延迟更小,网站通常可以更快地提供给客户端。 Gatsby 通常被描述为内容网格。内容网格意味着作为用户,您可以从各种来源(例如WordPress站点、CSV 文件和各种外部 API)提取数据;因此,盖茨比是数据不可知论者。这与 WordPress 和Drupal等传统内容管理系统 (CMS) 不同,后者的数据通常来自单一来源——数据库。在 Gatsby 上构建应用程序时,您不必担心维护和配置数据库。此外,当您使用 Gatsby 时,您可以构建一个以速度和灵活性着称的框架。 这些无服务器网站也称为JAMStack。在 JAMStack 架构中,仍然涉及服务器,但开发人员不需要提供或维护服务器。一些开发人员将无服务器视为一种理想的特性,因为他们可以将更多的注意力集中在应用程序的业务逻辑上。例如,如果他们正在创建电子商务商店,他们可以专注于与创建和销售产品直接相关的代码。JAMStack 可帮助开发人员快速开发比传统 CMS 框架更安全、性能更高且部署成本更低的网站。 在本教程中,您将: 安装 Gatsby Starter 默认模板。 修改gatsby config. 运行开发服务器并在本地查看 Gatsby 站点。 简要介绍 JSX 和 Gatsby 的图像优化功能。 在本教程结束时,您将能够创建和修改 Gatsby 站点。您将启动并运行您的第一个 Gatsby 电子商务网站。请记住,您将在本地计算机上创建此站点,并且不会部署它。 先决条件 您的计算机上安装了Node.js版本 10.16.0。要在 macOS 或 Ubuntu 18.04 ..

Read more

介绍 用户在第一次使用 Linux 机器时遇到的一个问题是如何找到他们正在寻找的文件。 本指南将介绍如何使用恰当命名的find命令。这将帮助您使用各种过滤器和参数搜索 VPS 上的文件。我们还将简要介绍该locate命令,该命令可用于以不同方式搜索文件。 按名称查找 搜索文件最明显的方法是按名称。 要按名称查找文件,请键入: find -name “query” 这将区分大小写,这意味着搜索与搜索file不同File。 要按名称查找文件,但忽略查询的大小写,请键入: find -iname “query” 如果要查找不符合特定模式的所有文件,可以使用-not或反转搜索!。如果使用!,则必须对字符进行转义,以便 bash 不会在 find 起作用之前尝试解释它: find -not -name “query_to_avoid” 或者 find \! -name “query_to_avoid” 按类型查找 您可以使用-type参数指定要查找的文件类型。它是这样工作的: find -type type_descriptor query 您可以用来指定文件类型的一些最常见的描述符如下: f : 普通文件 d:目录 l : 符号链接 c : 字符设备 b : 块设备 例如,如果我们想查找系统上的所有字符设备,我们可以发出以下命令: find / ..

Read more

介绍 模态是一种用户体验约定,用于将用户的注意力引导到他们需要阅读或与之交互的一段内容上。这些往往以小块内容的形式直接出现在用户的视野中,并带有某种背景,或者模糊或隐藏页面上的其余内容。如果用户希望返回该页面,他们必须参与该模式或可能将其关闭。 在本文中,您将学习如何使用 Vue.js 中的转换和插槽创建可重用的模态组件。 先决条件 要完成本教程,您需要: Node.js 安装在本地,您可以按照如何安装 Node.js 和创建本地开发环境来完成。 步骤 1 — 设置项目 您可以使用@vue/cli来创建一个新的 Vue.js 项目。 在终端窗口中,使用以下命令: npx @vue/cli create –default vue-modal-component-example 这将使用默认配置来创建 Vue.js 项目。 导航到新创建的项目目录: cd vue-modal-component-example 启动项目以验证没有错误。 npm run serve 如果您localhost:8080在 Web 浏览器中访问本地应用程序(通常位于),您将看到一条”Welcome to Your Vue.js App”消息。 设置好这个脚手架后,您可以开始处理模态组件。 第 2 步 – 创建模态组件 首先,在项目目录中,Modal.vue在src/components. 让我们从定义模板开始。您将需要 adiv作为背景阴影,adiv作为模态框,以及一些元素来定义其结构: src/components/Modal.vue <template> <div class=”modal-backdrop”> <div ..

Read more

该系列的一部分: 常见的 HAProxy 错误 本教程系列介绍了如何对您在使用HAProxy TCP 和 HTTP 代理服务器时可能遇到的一些最常见错误进行故障排除和修复。 本系列中的每个教程都包含对常见 HAProxy 配置、网络、文件系统或权限错误的描述。该系列首先概述了可用于对 HAProxy 进行故障排除的命令和日志文件。后续教程详细检查特定错误。 介绍 cannot bind socket当有另一个进程在侦听 HAProxy 配置使用的同一接口和 TCP 端口组合时,或者当 HAProxy 尝试使用未分配给网络接口的 IP 地址时,会生成HAProxy错误消息。这两种错误情况都源自底层操作系统的网络堆栈。 在第一种情况下,当有另一个进程已经在使用 HAProxy 尝试绑定的接口和端口时,Linux 上的底层错误是EADDRINUSE. 问题是在任何给定时间只能将单个进程绑定到 IP 地址和端口组合。 在第二种情况下,当 HAProxy 尝试使用未分配给系统接口的 IP 地址时,Linux 上的底层错误是EADDRNOTAVAIL. 这里的问题是无法使用操作系统不可用的地址创建 IP 套接字。 但是,这两个底层错误都会生成相同的 HAProxy 错误消息,因此对cannot bind socket错误进行故障排除需要检查 Linx 系统上当前使用的套接字和 IP 地址列表。 要检测cannot bind socket错误消息,您需要检查systemctl并journalctl输出以确定导致错误的 IP ..

Read more

作者选择了COVID-19 救济基金来接受捐赠,作为Write for DOnations计划的一部分。 介绍 开发Django应用程序可以是一种快速而干净的体验,因为它的方法灵活且可扩展。Django 还提供了各种面向安全的设置,可以帮助您无缝地为生产准备项目。但是,在生产部署方面,有多种方法可以进一步保护您的项目。通过分解设置来重构项目将使您能够根据环境轻松设置不同的配置。利用dotenv隐藏环境变量或机密设置将确保您不会发布任何可能危及项目的详细信息。 虽然实施这些不同的策略和功能一开始可能看起来很耗时,但开发实用的工作流程将使您能够在不影响安全性或生产力的情况下部署项目的版本。 在本教程中,您将通过实施和配置基于环境的设置dotenv、以及 Django 的内置安全设置,为 Django 开发利用面向安全的工作流。这些功能都相互补充,并将生成一个 Django 项目版本,该版本已准备好用于您可能采用的不同部署方法。 先决条件 在开始本指南之前,您需要具备以下条件: 一个预先存在的 Django 项目。如果您还没有设置,您可以使用我们的如何安装 Django 和设置开发环境教程进行设置。在本教程中,我们将使用本教程中的testsite项目作为示例。 这个Django 开发教程系列是熟悉 Django 文件结构及其核心设置的好方法。 注意:如果您使用的是现有的 Django 项目,您可能有不同的要求。本教程建议了一个特定的项目结构,但是,您也可以根据需要单独使用本教程的每个部分。 步骤 1 — 重构 Django 的设置 在这第一步中,您将首先将settings.py文件重新排列为特定于环境的配置。当您需要在不同环境(例如,开发和生产)之间移动项目时,这是一个很好的做法。这种安排将意味着针对不同环境的更少重新配置;相反,您将使用环境变量在配置之间切换,我们将在本教程后面讨论。 settings在项目的子目录中创建一个名为的新目录: mkdir testsite/testsite/settings (根据我们使用的先决条件testsite,但您可以在此处替换您的项目名称。) 该目录将替换您当前的settings.py配置文件;所有基于环境的设置都将位于此文件夹中包含的单独文件中。 在新settings文件夹中,创建三个 Python 文件: cd testsite/testsite/settings touch base.py development.py production.py 该development.py文件将包含您通常在开发过程中使用的设置。并且production.py将包含在生产服务器上使用的设置。您应该将它们分开,因为生产配置将使用在开发环境中不起作用的设置;例如,强制使用 HTTPS、添加标头和使用生产数据库。 该base.py设置文件将包含设置,development.py并production.py从继承。这是为了减少冗余并帮助保持您的代码更简洁。这些 Python 文件将替换settings.py,因此您现在将删除settings.py以避免混淆 ..

Read more

如何在 GitHub Workshop Kit 材料上提交你的第一个拉取请求 该研讨会工具包旨在帮助讲师指导没有版本控制背景或对开源项目做出贡献的观众,通过在大约 30 分钟内从头到尾提交拉取请求的步骤。参加者将在了解版本控制、开源、Git 和 GitHub 的情况下完成研讨会。 假设观众没有任何先前的编码经验。没有开源、Git 或 GitHub 经验的教师应该能够在首先查看材料后教授课程。 该研讨会套件的目的是为演讲者提供一套完整的资源,以主持关于版本控制和为开源项目做出贡献的研讨会。这包括: 幻灯片和演讲者笔记引导参与者建立他们的网站项目、动手练习和概念解释。 一个视频与提交pull请求,提示和版本控制的概念信息,并促进开源项目的实时编码演练。 一个演示存储库,允许参与者在研讨会中跟进时为开源项目做出贡献。 此研讨会工具包页面旨在帮助教师为研讨会做准备并为学习者提供一个起点。教师应将学习者指向此页面,以便他们可以访问幻灯片(其中包含有用的链接)。 如果需要,学习者可以通过阅读下面的介绍来准备研讨会,并确保他们在研讨会开始前准备好先决条件。 如果您有兴趣参加今年的 Hacktoberfest,这个研讨会是一个很好的起点!这个基于项目的研讨会将使用Cloud Haiku存储库作为模型向您介绍开源、版本控制、Git 和 GitHub 。一旦你学习了基础知识,你就会知道如何为开源项目做出贡献并在 GitHub 上提交拉取请求。在研讨会上不需要任何先前的编码经验。 当软件开发人员一起处理一个项目时,他们通常需要在相同的代码库上工作。在他们工作时,每个开发人员都需要知道其他人对代码进行了哪些更改,以免重复工作或编写代码覆盖已经完成的工作。Git 是一种用于管理各种规模的开发人员项目的版本控制系统,由 Linux 的创建者 Linus Torvalds 于 2005 年创建,旨在帮助开发人员以快速、高效且廉价的方式贡献代码并共享代码修订。Git 创建代码存储库以帮助开发人员为所有人编辑、共享和发布代码。GitHub 是一种基于云的 Git 存储库托管服务,允许开发人员获取他们在本地机器上编写的代码并与全世界共享。 使用 Git 和 GitHub,来自世界各地的开发人员可以在各种项目上进行协作——您经常访问的许多网站都是使用 GitHub 维护的。了解如何使用 Git 和 GitHub,并学习如何为开源项目做出贡献,将为新开发人员提供一个良好的开端,让他们获得加入整个软件工程社区所需的技能。 在本次研讨会中,我们将向您介绍 Git 和 GitHub、Hacktoberfest ..

Read more

介绍 与自我管理的数据库相比,托管数据库具有许多优势,包括自动更新、简化的扩展和高可用性。如果您刚开始使用托管数据库,那么执行某些任务(例如连接到数据库)的最佳方式可能不是不言而喻的。 本指南概述了如何在 Ubuntu 18.04 服务器上为各种数据库管理系统 (DBMS)(包括PostgreSQL、MySQL、Redis和MongoDB)安装客户端程序。它还将解释如何使用这些程序连接到托管数据库实例。 注意:本指南中概述的说明已使用DigitalOcean 托管数据库进行了测试,但它们通常适用于来自任何云提供商的托管数据库。但是,如果您在连接到其他提供商提供的数据库时遇到问题,您应该查阅他们的文档以获得帮助。 先决条件 要按照本指南中的详细说明进行操作,您需要: 访问运行 Ubuntu 18.04 的服务器。此服务器应具有具有管理权限的非 root 用户和配置为ufw. 要进行设置,请按照我们的 Ubuntu 18.04 初始服务器设置指南进行操作。 托管数据库实例。本教程提供有关如何连接到各种数据库管理系统的说明,特别是 PostgreSQL、MySQL、Redis 和 MongoDB。要配置 DigitalOcean 托管数据库,请查看我们为您选择的 DBMS 提供的文档: PostgreSQL MySQL Redis MongoDB 具备这些先决条件后,跳转到与您的数据库管理系统 (DBMS) 相符的任何部分。 连接到托管 PostgreSQL 数据库 要连接到托管的 PostgreSQL 数据库,您可以使用psqlPostgres 的标准命令行客户端。它是开源的,由 PostgreSQL Development Group 维护,通常在您安装 PostgreSQL 服务器时包含在内。 您可以安装psql通过安装本身postgresql-client与APT包,但如果你从Ubuntu默认18.04仓库安装它,它会安装版本10的psql,而PostgreSQL最新的主要版本为13。一些托管数据库提供程序为您希望数据库使用的 PostgreSQL 版本提供了各种选项。在撰写本文时,DigitalOcean为其托管 PostgreSQL 数据库提供了10到13版本。 通常,您仍然可以使用psql与数据库版本不匹配的版本。但是,如果您的版本psql比 ..

Read more

网站上的字体很容易成为浏览器在能够以最终外观和形式显示页面之前必须下载的总包大小的很大一部分。另外,我们需要担心各种事情,比如臭名昭著的无样式文本(FOUT)Flash。不过,可以说,由于font-display 属性,整个问题的一部分已经得到解决。 除此之外,在网站上找到的文本几乎总是最重要的部分,因此我们不希望文本看起来不正确或难以阅读。一个精明的网页设计师应该怎么做才能同时满足性能和外观? 一种解决方案是实际上诉诸于使用已安装在用户设备上的字体。在过去,这不是一个非常优雅的解决方案,因为一些流行的系统没有内置漂亮的字体。然而,现在情况有所不同,每个主要操作系统都附带了一种外观和阅读都很好的无衬线系统字体。 因此,技巧就变成了提供所有这些默认系统字体名称作为应该使用系统字体的元素的font-family属性的值。然后浏览器将使用它可以在当前系统上找到的第一个。请记住,这也意味着文本会根据正在阅读的系统而有所不同。然而,这不一定是一件坏事,因为文本对于正在阅读的操作系统来说是原生的。 无衬线系统字体堆栈 不用多说,这是这个网站上使用的系统字体堆栈的版本: body { font-family: -apple-system, BlinkMacSystemFont, “Segoe UI”, Roboto, Oxygen-Sans, Ubuntu, Cantarell, “Helvetica Neue”, sans-serif; } 该堆栈与 WordPress 使用的堆栈相同,到目前为止,对于 Alligator.io 上的内容一直运行良好。在这个站点上,标题使用Recursive 变量字体更加华丽,但内容本身使用系统字体。 如果您好奇,以下是这些字体/关键字的细分: -apple-system和BlinkMacSystemFont:关键字用于指代 Apple 设备上的系统字体,通常是San Francisco或 Helvetica Neue,具体取决于操作系统的版本。在一些较新的浏览器上,关键字system-ui现在可用于完成这两个关键字的工作。 Segoe UI:在 Windows 系统上使用。 Roboto:Android 设备的系统字体。 Oxygen-Sans:使用 KDE 的 Linux 系统。 Ubuntu : Ubuntu Linux Cantarell:使用 Gnome(Ubuntu 除外)的 Linux 系统。 ..

Read more