该系列的一部分: 如何使用 HTML 构建网站 本教程系列将指导您使用 HTML(用于在 Web 浏览器中显示文档的标准标记语言)创建和进一步自定义该网站。不需要有任何编码经验,但如果您想重新创建演示网站,我们建议您从本系列的开头开始。 在本系列结束时,您应该有一个准备好部署到云的网站,并且基本熟悉 HTML。了解如何编写 HTML 将为学习其他前端 Web 开发技能(例如 CSS 和 JavaScript)奠定坚实的基础。 本教程将引导您完成向网页添加超链接的步骤。 可以使用锚链接元素将超链接添加到文本或图像中<a>。该<a>标签要求的属性href,它是用来指定目的地的链接。该<a>元素的使用方式如下: <a href=”www.DestinationLink.com”>The text you want to link</a> 尝试将下面的代码片段添加到您的“index.html”文件中,并使用真实链接更改示例突出显示的文本,例如https://digitalocean.com/community: <a href=”https://www.digitalocean.com/community”>The text you want to link</a> (如果您没有关注本系列教程,您可以index.html在我们的教程设置您的 HTML 项目中查看设置文件的说明。保存文件并将其加载到您的浏览器中。 您应该会收到如下输出: 您还可以通过用 <a> 元素包装图像元素来链接图像,如下所示: <a href=”https://www.digitalocean.com/community”>The text you want to link <img src=”https://html.sammy-codes.com/images/small-profile.jpeg”> </a> 尝试在浏览器中测试代码片段以检查它是否有效。您现在应该了解如何为网页上的文本和图像添加�..
Category : 教程系列
作为Write for DOnations计划的一部分,作者选择了免费和开源基金来接受捐赠。 介绍 Discord是一个聊天应用程序,它允许全球数百万用户在称为公会或服务器的社区中进行在线消息和语音聊天。Discord 还提供了广泛的 API,开发人员可以使用它来构建强大的 Discord 机器人。机器人可以执行各种操作,例如向服务器发送消息、向用户发送 DM、管理服务器以及在语音聊天中播放音频。这使开发人员可以制作强大的机器人,其中包括高级、复杂的功能,例如审核工具甚至游戏。例如,实用机器人Dyno为数以百万计的公会提供服务,并包含有用的功能,例如垃圾邮件防护、音乐播放器和其他实用功能。学习如何创建 Discord 机器人可以让您实现许多可能性,每天都有成千上万的人与之互动。 在本教程中,您将使用Node.js和Discord.js库从头开始构建一个 Discord 机器人,它允许用户直接与 Discord API 交互。您将为 Discord 机器人设置配置文件,为机器人获取身份验证令牌,并对机器人进行编程,使其能够处理来自用户的带参数的命令。 先决条件 在开始之前,您将需要以下内容: Node.js 安装在您的开发机器上。要在 macOS 或 Ubuntu 18.04 上安装它,请按照如何在 macOS 上安装 Node.js 和创建本地开发环境或如何在 Ubuntu 18.04 上安装 Node.js 的使用 PPA 安装部分中的步骤进行操作。 您选择的任何文本编辑器,例如Visual Studio Code、Atom、Sublime或Nano。 一个免费的 Discord 帐户,带有经过验证的电子邮件帐户和一个免费的 Discord 服务器,您将用来测试您的 Discord 机器人。 步骤 1 — 设置 Discord ..
介绍 IRB 是 Interactive Ruby 的缩写,是一种无需创建文件即可快速探索 Ruby 编程语言和测试代码的方法。IRB 是Read-Eval-Print Loop或REPL,这是许多现代编程语言提供的工具。要使用它,您需要启动irb可执行文件并在提示符下键入您的 Ruby 代码。IRB 评估您键入的代码并显示结果。 通过 IRB,您可以访问 Ruby 的所有内置功能,以及您安装的任何库或 gem。此外,您可以配置 IRB 以保存您的命令历史记录,甚至可以启用代码的自动完成功能。 在本教程中,您将使用 IRB 运行一些代码、检查其输出、引入外部库并自定义您的 IRB 会话。 启动和停止 IRB 如果您安装了Ruby,您将拥有 IRB。您可以在任何安装了 Ruby 的计算机上通过irb从命令行界面执行命令来启动它。 irb 您将收到 IRB 提示: IRB sessionirb(main):001:0> 该提示表明您正在运行 IRB,并且您执行的任何内容都将在main上下文中运行,这是 Ruby 程序的顶级默认上下文。它还显示一个行号。 注意:如果您已经使用 RVM 安装了 Ruby,您的提示可能看起来略有不同,而是显示版本号: IRB session from RVM2.4.0 :001 > 要获得本教程中显示的提示,请使用 irb –prompt inf-ruby. ..
本教程的先前版本由Hazel Virdó 编写 介绍 MySQL是一个开源数据库管理系统,通常作为流行的LAMP(Linux、Apache、MySQL、PHP/Python/Perl)堆栈的一部分安装。它实现了关系模型并使用结构化查询语言(也称为 SQL)来管理其数据。 本教程将介绍如何8.0在 Ubuntu 20.04 服务器上安装 MySQL 版本。通过完成它,您将拥有一个可用于构建下一个网站或应用程序的工作关系数据库。 先决条件 要学习本教程,您需要: 一台 Ubuntu 20.04 服务器,具有非 root 管理用户和使用 UFW 配置的防火墙。要进行设置,请按照我们针对 Ubuntu 20.04 的初始服务器设置指南进行操作。 第 1 步 – 安装 MySQL 在 Ubuntu 20.04 上,您可以使用 APT 包存储库安装 MySQL。在撰写本文时,默认 Ubuntu 存储库中可用的 MySQL 版本为8.0.19版。 要安装它,如果您最近没有更新服务器上的包索引: sudo apt update 然后安装mysql-server包: sudo apt install mysql-server 这将安装 MySQL,但不会提示您设置密码或进行任何其他配置更改。因为这会使您的 MySQL 安装不安全,所以我们将在接下来解决这个问题。 ..
作者选择了COVID-19 救济基金来接受捐赠,作为Write for DOnations计划的一部分。 介绍 现代 Web 应用程序与其他服务器通信以完成任务是很常见的。例如,允许您在线购买图书的 Web 应用程序可能涉及客户订单服务器、图书库存服务器和支付服务器之间的通信。在此设计中,不同的服务通过 Web API 进行通信——标准格式允许您以编程方式发送和接收数据。在Node.js应用程序中,您可以通过发出 HTTP 请求与 Web API 进行通信。 Node.js 捆绑了一个http和 一个https模块。这些模块具有创建 HTTP 服务器的功能,以便 Node.js 程序可以响应 HTTP 请求。他们还可以向其他服务器发出 HTTP 请求。这一关键功能使 Node.js 程序员能够使用 Node.js 创建现代的、API 驱动的 Web 应用程序。由于它是核心模块,因此您无需安装任何库即可使用它。 在本教程中,您将使用该https模块向JSON Placeholder发出 HTTP 请求,这是一个用于测试目的的假REST API。您将首先发出GET请求,即接收数据的标准 HTTP 请求。然后,您将查看自定义请求的方法,例如添加标头。最后,您将发出POST、PUT和DELETE请求,以便您可以修改外部服务器中的数据。 先决条件 本教程要求您安装了 Node.js。安装后,您将能够访问https本教程中使用的模块。本教程使用 Node.js 版本 10.19.0。要在 macOS 或 Ubuntu 18.04 上安装 Node.js,请按照如何在 ..
介绍 本文将向您展示如何向 HTML 添加注释。 先决条件 HTML5 的一般知识。要全面了解 HTML5 标记语言,请浏览我们的系列“如何用 HTML 构建网站”。 在 HTML 中添加注释 这是您在 HTML 中创建评论的方式: <!– I’m a comment! –> 在第二个示例中,我们使用 HTML 注释来注释掉一些标记: <!– Look, a shark! <p>Sammy</p> –> 结论 创建注释是编写 HTML 的一个重要元素。 要更全面地了解 HTML5 标记语言,请浏览我们的系列,如何用 HTML 构�..
介绍 在 Kubernetes 集群上运行多个服务和应用程序时,集中的集群级日志堆栈可以帮助您快速整理和分析 Pod 产生的大量日志数据。一种流行的集中记录的解决方案是Ë lasticsearch,˚F luentd和ķ ibana(EFK)堆栈。 Elasticsearch是一个实时、分布式和可扩展的搜索引擎,支持全文和结构化搜索以及分析。它通常用于索引和搜索大量日志数据,但也可用于搜索许多不同类型的文档。 Elasticsearch 通常与Kibana一起部署,Kibana是 Elasticsearch的强大数据可视化前端和仪表板。Kibana 允许您通过 Web 界面探索您的 Elasticsearch 日志数据,并构建仪表板和查询以快速回答问题并深入了解您的 Kubernetes 应用程序。 在本教程中,我们将使用Fluentd收集、转换日志数据并将其传送到 Elasticsearch 后端。Fluentd 是一个流行的开源数据收集器,我们将在我们的 Kubernetes 节点上设置它来跟踪容器日志文件、过滤和转换日志数据,并将其传送到 Elasticsearch 集群,在那里它会被索引和存储。 我们将首先配置和启动一个可扩展的 Elasticsearch 集群,然后创建 Kibana Kubernetes 服务和部署。最后,我们将 Fluentd 设置为 DaemonSet,以便它在每个 Kubernetes 工作节点上运行。 先决条件 在您开始阅读本指南之前,请确保您已准备好以下内容: 启用了基于角色的访问控制 (RBAC) 的 Kubernetes 1.10+ 集群 确保您的集群有足够的资源来推出 EFK 堆栈,如果没有,请通过添加工作节点来扩展您的集群。我们将部署一个 3 Pod Elasticsearch 集群(如有必要,您可以将其缩减为 1),以及一个 ..
作者选择了COVID-19 救济基金来接受捐赠,作为Write for DOnations计划的一部分。 介绍 Gmail 和 Google Apps 电子邮件的一个鲜为人知的功能是 Google 的便携式 SMTP 服务器。您不必在DigitalOcean Droplet或Kubernetes Cluster上管理您自己的外发邮件服务器,您可以使用您希望发送电子邮件的任何脚本或程序来配置 Google 的 SMTP 服务器设置。您只需要 (i) 免费的 Gmail 帐户,或 (ii) 付费的 G Suite 帐户。 好处 您可以选择让 Google 存储您通过其 SMTP 服务器发送的电子邮件并将其编入索引,因此您发送的所有电子邮件都可以在 Google 的服务器上进行搜索和备份。如果您也选择使用 Gmail 或 G Suite 帐户接收收到的电子邮件,那么您可以将所有电子邮件放在一个方便的地方。此外,由于 Google 的 SMTP 服务器不使用 port 25,您将降低 ISP 阻止您的电子邮件或将其标记为垃圾邮件的可能性。 设置 Google 的 SMTP 服务器需要身份验证,因此在您的邮件客户端或应用程序中设置它的方法如下: ..
介绍 对于短request的req对象的一半request,并response循环检查从客户端调用,使HTTP请求,并处理传入的数据是否在字符串或JSON对象。 在本文中,您将了解reqExpress 中的对象。 先决条件 要阅读本文,您需要: 建议对 Node.js 有一个大致的了解,但不是必需的。要了解有关 Node.js 的更多信息,请查看我们的如何在 Node.js 中编码系列。 HTTP 请求的一般知识。 管理客户端数据 Express服务器通过接收来自客户端的数据req的:对象在三个实例req.params,req.query和req.body对象。 该req.params对象根据 URL 中指定的参数捕获数据。在您的index.js文件中,GET使用以下参数实现请求’/:userid’: 索引.js // GET https://example.com/user/1 app.get(‘/:userid’, (req, res) => { console.log(req.params.userid) // “1” }) 该req.params对象告诉 Express 通过参数 输出用户 id 的结果’/:userid’。在这里,带有指定参数的GET请求以https://example.com/user/1id 登录到控制台”1″。 要访问 URL 查询字符串,请将req.query对象应用于搜索、过滤和排序数据。在您的index.js文件中,包含GET对路由的请求’/search’: 索引.js // GET https://example.com/search?keyword=great-white app.get(‘/search’, (req, res) => { console.log(req.query.keyword) // “great-white” ..
作为Write for DOnations计划的一部分,作者选择了技术教育基金来接受捐赠。 介绍 一个服务网是一个专门的基础设施层,帮助管理员处理服务到服务的通信。这些服务网格提供了许多强大的工具,可以使您的系统更安全、更可靠、更可见。 例如,像Linkerd这样的服务网格可以自动加密连接、处理请求重试和超时、提供成功率和延迟等遥测信息等。 在本教程中,您将在Kubernetes集群中安装 Linkerd 服务网格,部署示例应用程序,然后浏览 Linkerd 的仪表板。有一些这方面的信息仪表盘自己熟悉后,您将配置Linkerd执行timeout和retry特定Kubernetes荚政策。 或者,考虑探索DigitalOcean 的一键 Linkerd/Kubernetes 安装选项。 先决条件 Kubernetes 1.12+ 集群。在本教程中,设置将使用具有三个节点的DigitalOcean Kubernetes集群,但您可以使用另一种方法自由创建集群。 kubectl安装在开发服务器上并配置为连接到集群的命令行工具。您可以kubectl在其官方文档中阅读有关安装的更多信息。 第 1 步 – 部署应用程序 要查看 Linkerd 的运行情况,您需要在集群中运行一个应用程序。在此步骤中,您将部署称为应用程序emojivoto,其中Linkerd团队为此创建。 在此存储库中,您可以看到组成应用程序的四个服务的代码,以及将用于在 Kubernetes 集群中部署这些服务的清单文件。 首先,在本地保存这个清单文件: curl https://run.linkerd.io/emojivoto.yml –output manifest.yaml 您正在使用curl获取文件,然后传递–output选项以告诉它您要将文件保存在哪里。在这种情况下,您正在创建一个名为manifest.yaml. 为了更好地了解此文件将完成的任务,请cat使用您喜欢的编辑器检查其内容或将其打开: cat manifest.yaml | less 按SPACE翻阅指令。您将看到manifest.yaml正在创建一个名为 Kubernetes 命名空间的命名空间emojivoto,与此应用程序相关的所有内容都将在其中运行,以及一些 KubernetesDeployments和Services. 接下来,在您的 Kubernetes 集群中应用此清单: kubectl apply -f manifest.yaml 同样,你用kubectl ..