Category : 教程系列

介绍 Hacktoberfest 是为期一个月的开源软件庆祝活动,由 DigitalOcean 运营并向我们全球社区的所有人开放。要参与,您需要在 10 月份向公共 GitHub 存储库提交四个质量拉取请求。完成挑战后,您将获得特别奖品,包括一件独家 Hacktoberfest T 恤。 您可以在 10 月 1 日至 10 月 31 日之间的任何时间注册,我们鼓励您与其他开发人员和 Hacktoberfest 爱好者联系,参加从 9 月开始的虚拟活动和信息会议。 在本教程中,我们将向您介绍 Git(您将用于提交拉取请求的版本控制系统)和 GitHub(我们将用于跟踪您的进度的存储库托管服务)。在本教程结束时,您将准备好提交您的第一个拉取请求,并且将顺利参加 Hacktoberfest! 版本控制 在我们开始 Git 和 GitHub 之前,让我们先谈谈版本控制。当开发人员一起处理一个项目时,他们通常需要在相同的代码库上工作。在他们工作时,每个开发人员都需要了解其他开发人员所做的更改,以免重复工作或在已经完成的工作上编写代码。 版本控制系统用作代码的保存程序,它为项目分配一个版本并跟踪随着时间的推移对项目中每个文件所做的更改。通过这种方式,开发人员可以通过签入最新版本来共同处理项目,以便在处理他们的项目代码部分之前查看所做的更改。 Git 和 GitHub Git 是一种用于管理各种规模的开发人员项目的版本控制系统,由 Linux 的创建者 Linus Torvalds 于 2005 年创建,旨在帮助开发人员以快速、高效且廉价的方式贡献代码和共享代码修订版。Git 使开发人员能够编辑、共享和发布代码,促进协作和团队合作。 GitHub 是一种基于云的 git 存储库托管服务,允许开发人员获取他们在本地机器上编写的代码并与全世界共享。它提供了一种通过存储库或中央文件存储位置公开共享本地计算机上的版本跟踪项目的方法,并且根据项目的可用性(它可以是公共或私有存储库),其他开发人员可以将项目下载到编辑代码、提供见解等。 要开始使用 GitHub,您可以在GitHub ..

Read more

作者选择了COVID-19 救济基金来接受捐赠,作为Write for DOnations计划的一部分。 介绍 Kubernetes及其支持的微服务架构可以创建非常高效且可扩展的系统。但是当这些微服务之一出现性能问题时就会出现问题。通常,我们首先注意到面向客户的服务的响应时间越来越长。问题可能出在其中一项后端服务上,也可能出在超出其最佳容量的数据库。为了发现问题的根源,我们需要实现分布式跟踪。 Jaeger 是分布式跟踪解决方案,毕业于云原生计算基金会孵化项目。它具有用于可视化跟踪的令人愉悦的 UI、用于收集跟踪的Jaeger sidecar以及其他几个组件。像 Jaeger 这样的分布式跟踪系统让我们可以跟踪每个客户生成事件的生命周期,并查看每个服务如何处理该事件。 在本教程中,我们将一个非常小的分布式应用程序部署到 Kubernetes 集群,并在我们的代码中使用睡眠函数模拟性能滞后。为了找到这个问题的根本原因并跟踪每个事件,我们将使用Jaeger。启用跟踪后,我们将看到它在观察服务行为和查明问题方面的有效性。 先决条件 在开始之前,您将需要以下工具和帐户: Kubernetes 1.15+ 集群,将您的连接配置设置为kubectl默认值。要在 DigitalOcean 上创建 Kubernetes 集群,请阅读我们的Kubernetes 快速入门。要连接到集群,请阅读如何连接到 DigitalOcean Kubernetes 集群。 安装了 Docker。按照我们关于如何安装和使用 Docker 的教程获取说明。Docker 的网站提供了其他操作系统(如 macOS 和 Windows)的安装说明。 Docker Hub 上用于存储 Docker 映像的帐户。 kubectl安装在本地机器上并配置为连接到集群的命令行工具。您可以kubectl 在官方文档中阅读有关安装的更多信息,或者按照本教程开始使用 Kubernetes:备忘kubectl单。 curl安装在本地计算机上的命令行实用程序。您可以curl使用操作系统内置的包管理器进行安装。 步骤 1 — 构建示例应用程序 为了测试 Jaeger 的跟踪能力,我们将构建和部署一个示例应用程序sammy-jaeger,它使用两种服务:一种用于前端,一种用于后端。我们将使用Python和Flask 微框架构建。 我们的应用程序将是一个命中计数器,每次调用前端时其值都会增加。为了模拟性能问题,我们将编写一个随机睡眠函数,该函数在前端向GET后端发送请求时执行。在这一步中,我们将构建和部署该应用程序。在以下步骤中,我们会将应用程序部署到 Kubernetes,安装 ..

Read more

介绍 双方setTimeout()并setInterval()都内置在设定的时间上的文档对象模型的全局对象安排任务的方法。setTimeout()在指定的延迟后调用传入的函数一次,而setInterval()在指定的时间连续调用一个。由于 JavaScript 是一种单线程语言,这两种方法都允许您的代码异步运行。 在本文中,您将了解如何在您的 JavaScript 项目中实现setTimeout()和setInterval()。 申请 setTimeout() 该setTimeout()方法接受两个参数:回调函数和以毫秒为单位的延迟,并调用该函数一次。 在您的index.js文件中,实现一个setTimeout()方法并传入一个匿名函数作为第一个参数,并传入一个以毫秒为单位的数字作为第二个参数: 索引.js setTimeout(() => { console.log(‘Hello World!’); }, 1000); 延迟1000毫秒(相当于一秒)后,控制台将打印出字符串Hello World!。 您还可以全局定义一个函数并将其setTimeout()作为第一个参数传入。 在您的index.js文件中,在全局空间中定义一个函数并在setTimeout()方法内传入函数标签: 索引.js function greeting() { console.log(‘Hello World!’); } setTimeout(greeting, 1000); 延迟一秒钟后,控制台将注销字符串Hello World!。 注意:您不应调用传入的函数setTimeout()。相反,插入函数标签作为第一个参数。 该setTimeout()方法可以采用额外的可选参数,并在指定的延迟后将这些参数传递给回调函数。在您的index.js文件中,将其他参数应用到您的setTimeout()方法中: 索引.js function animal(animalName, punctuation = ‘.’) { const name = animalName.charAt(0).toUpperCase() + animalName.slice(1); console.log(`${name}`${punctuation}); } setTimeout(animal, 2500, ‘shark’, ‘!’); ..

Read more

介绍 管理服务器的一个重要部分是监控网络连接。 有一些工具易于使用,但值得了解。在本指南中,我们将讨论如何使用称为traceroute诊断可能发生网络问题的工具的工具。 我们还将查看一个名为的实用程序mtr,它将 ping 和 traceroute 的大部分功能组合到一个界面中。 如何使用跟踪路由 traceroute是一个显示远程服务器路径的简单工具。这可以是从您尝试访问的网站到本地网络上的打印机的任何内容。 该traceroute程序默认安装在几乎每个 Linux 发行版上,因此您不需要安装它。 要调用它,我们只需要提供一个我们想要探索的网站或 IP 地址: traceroute google.com 您将收到类似于以下内容的输出: Outputtraceroute to google.com (173.194.38.137), 30 hops max, 60 byte packets 1 192.241.160.253 (192.241.160.253) 0.564 ms 0.539 ms 0.525 ms 2 192.241.164.241 (192.241.164.241) 0.487 ms 0.435 ms 0.461 ms 3 xe-3-0-6.ar2.nyc3.us.nlayer.net (69.31.95.133) 1.801 ms 1.802 ms 1.762 ..

Read more

作者选择Creative Commons Corporation接受 100 美元的捐赠,作为Write for DOnations计划的一部分。 介绍 MongoDB,也称为Mongo,是现代 Web 应用程序中常用的免费开源 NoSQL 文档数据库。 在本教程中,您将安装 MongoDB,管理其服务,并可选择启用远程访问。 注意:在撰写本文时,本教程安装了 MongoDB 3.6版,这是默认 Ubuntu 存储库中可用的版本。但是,我们通常建议安装最新版本的 MongoDB —在撰写本文时为4.4版— 相反。如果您想安装最新版本的 MongoDB,我们鼓励您遵循本指南,了解如何从源代码在 Ubuntu 18.04 上安装 MongoDB。 先决条件 要学习本教程,您需要: 按照此初始服务器设置教程设置了一台 Ubuntu 18.04 服务器,包括 sudo 非 root 用户和防火墙。 第 1 步 – 安装 MongoDB Ubuntu 的官方软件包存储库包括 MongoDB,这意味着我们可以使用apt. 正如介绍中提到的,默认存储库中可用的版本不是最新的。要安装最新版本的 Mongo,请按照本教程进行操作。 首先,更新包列表以获得最新版本的存储库列表: sudo apt update 现在安装 MongoDB ..

Read more

作者选择Creative Commons接受捐赠,作为Write for DOnations计划的一部分。 介绍 DigitalOcean 的应用程序平台是一种平台即服务 (PaaS)产品,可让您从源存储库配置和部署应用程序。配置您的应用程序后,DigitalOcean 将在每次更改时构建和部署应用程序,从而以最少的配置为您提供完整的 Web 服务器和部署管道的好处。这是部署React应用程序的一种快速有效的方式,如果您使用 React 构建没有后端的站点,则可以使用App Platform 的免费层。 在本教程中,您将使用免费的Starter层将 React 应用程序部署到 DigitalOcean App Platform 。您将使用Create React App构建一个应用程序,将代码推送到GitHub存储库,然后将该应用程序配置为 DigitalOcean 应用程序。您将应用程序连接到您的源代码并将项目部署为一组静态文件。 在本教程结束时,您将能够配置一个 React 应用程序,以便在每次推送到 GitHub 存储库的主分支时自动部署。 先决条件 在你的本地机器上,你需要一个运行Node.js的开发环境;本教程在 Node.js 版本 10.22.0 和 npm 版本 6.14.6 上进行了测试。要在 macOS 或 Ubuntu 20.04 上安装它,请按照如何在 macOS 上安装 Node.js 和创建本地开发环境或如何在 Ubuntu 20.04 上安装 Node.js 的使用 ..

Read more

介绍 您可以构建动态且与 React 高度交互的单页应用程序 (SPA)。允许这样做的一个功能是条件渲染。 条件呈现是一个术语,用于描述在条件为真或为假时呈现不同用户界面 (UI) 标记的能力。在 React 中,它允许我们根据条件渲染不同的元素或组件。这个概念经常应用于以下场景: 从 API 呈现外部数据。 显示或隐藏元素。 切换应用程序功能。 实施权限级别。 处理身份验证和授权。 在本文中,您将研究在 React 应用程序中实现条件渲染的七种方法。 先决条件 要完成本教程,您需要: 了解 JavaScript 变量和函数。您可以查阅如何在 JavaScript 中编码系列以了解更多信息。 了解导入、导出和渲染 React 组件。您可以查看我们的“如何在 React.js 中编码”系列。 Node.js 安装在本地,您可以按照如何安装 Node.js 和创建本地开发环境来完成。 本教程已通过 Node v15.6.0、npm v7.4.0 和reactv17.0.1 验证。 设置示例项目 考虑一个需要用户登录的应用程序。如果用户已注销,它将显示一个登录按钮。如果用户已登录,它将显示一个注销按钮。 从使用create-react-app生成 React App 开始: npx create-react-app react-conditional-rendering-example 切换到新的项目目录: cd react-conditional-rendering-example 接下来,App.js在您的代码编辑器中打开该文件。并用以下代码行替换内容: ..

Read more

介绍 vue-router是 Vue.js 的优秀路由解决方案,但需要额外的配置来更新页面标题和路由更改的元数据。有时您会希望浏览器的标题在页面更改时更改。对于 SEO(搜索引擎优化),您不会希望每个搜索结果或指向您网站的链接都为所有路线显示“主页”。 在本文中,您将学习如何自己添加此功能。您将构建一个示例 Vue 应用程序,其中包含可自定义的页面标题和有关路由更改的元数据。 先决条件 要完成本教程,您需要: Node.js 安装在本地,您可以按照如何安装 Node.js 和创建本地开发环境来完成。 本教程已通过 Node v14.6.0、npm v6.14.7、Vue.js v2.6.11、vue-routerv3.2.0 和@vue/cliv4.4.6 验证。 第 1 步 – 创建一个 Vue 项目并安装依赖项 让我们创建一个全新的 Vue 项目。 首先,打开你的终端并使用vue-cli创建一个 Vue 项目: npx @vue/[email protected] create –inlinePreset='{ “useConfigFiles”: false, “plugins”: { “@vue/cli-plugin-babel”: {}, “@vue/cli-plugin-eslint”: { “config”: “base”, “lintOn”: [“save”] } }, “router”: true, “routerHistoryMode”: ..

Read more

作者选择开放互联网/言论自由基金接受捐赠,作为Write for DOnations计划的一部分。 介绍 作为系统管理员,了解基础架构和服务的当前状态是最佳实践。理想情况下,您希望在用户之前注意到故障磁盘或应用程序停机时间。Checkmk等监控工具可以帮助管理员检测这些问题并维护健康的服务器。 通常,监控软件可以跟踪服务器的硬件、正常运行时间和服务状态,并且可以在出现问题时发出警报。在一个非常基本的场景中,如果任何服务出现故障,监控系统会提醒您。在更强大的情况下,通知会在出现任何可疑迹象后不久发出,例如内存使用量增加或 TCP 连接数量异常。 有许多监控解决方案提供不同程度的复杂性和功能集,包括免费的和商业的。在许多情况下,这些工具的安装、配置和管理是困难和耗时的。 然而,Checkmk是一种既健壮又易于安装的监控解决方案。它是一个独立的软件包,将Nagios(一种流行的开源警报服务)与用于收集、监控和绘制数据的附加组件相结合。它还带有 Checkmk 的 Web 界面——一个综合性的工具,可以解决 Nagios 的许多缺点。它为许多 Linux 发行版提供了一个用户友好的仪表板、一个功能齐全的通知系统和一个易于安装的监控代理存储库。如果没有 Checkmk 的 Web 界面,我们将不得不为不同的任务使用不同的视图,并且在不诉诸大量文件修改的情况下配置所有这些功能是不可能的。 在本指南中,我们将在 Ubuntu 18.04 服务器上设置 Checkmk 并监控两个独立的主机。我们将监控 Ubuntu 服务器本身以及单独的 CentOS 7 服务器,但我们可以使用相同的方法将任意数量的额外主机添加到我们的监控配置中。 先决条件 一台 Ubuntu 18.04 服务器,具有 sudo 权限的普通非 root 用户。您可以按照此初始服务器设置教程学习如何准备您的服务器。 一台拥有 sudo 权限的普通非 root 用户的 CentOS 7 服务器。要准备此服务器,您可以按照此初始服务器设置教程进行操作。 步骤 1 — 在 Ubuntu ..

Read more

Python 是一种灵活的编程语言,它优先考虑代码的清晰度和可读性。Python 是许多软件开发用例的不错选择,通常用于脚本编写、自动化、数据分析、机器学习和后端开发。流行的库和框架包括Django、Flask、 NumPy 和 scikit-learn。 Python 于 1991 年首次发布。其名称的灵感来自英国喜剧团体 Monty Python,因为开发团队的使命是创建一种使用起来很有趣的语言。Python 3 是该语言的最新版本,被认为是 Python 的未来。 如果您对学习 Python 感兴趣,对于初学者和有经验的开发人员来说,它都是一个不错的选择。在下方,您可以找到许多可帮助您入门的资源: 学习如何编写你的第一个“Hello, World!” 用 Python 编写程序。 免费下载我们的How To Code in Python一书,在数字阅读器上阅读,或在线关注我们的How To Code in Python系列。 在服务器上安装Anaconda Python Distribution以支持管理 Python 版本和包。 如需更多资源,请查看我们在Python 标签下的完整教育材�..

Read more