作者选择Open Internet/Free Speech Fund接受捐赠,作为Write for DOnations计划的一部分。 介绍 Ampache是一个开源音乐流媒体服务器,允许您在自己的服务器上托管和管理您的数字音乐收藏。Ampache 可以将您的音乐流式传输到您的计算机、智能手机、平板电脑或智能电视。这意味着您不必在要用来收听音乐的设备上保留多个音乐副本。使用 Ampache,您可以使用 Ampache 的 Web 界面在您的服务器上管理您的收藏,并在任何地方收听。 在本教程中,您将安装和配置为您的 Ampache 实例提供服务的 Apache 网络服务器和 PHP。然后,您将创建一个 MySQL 数据库,Ampache 将使用该数据库来存储其所有操作信息。最后,您将上传您的音乐收藏,以便您可以开始流式传输您的音乐。 先决条件 在开始本指南之前,您需要具备以下条件: 通过遵循Ubuntu 18.04教程的初始服务器设置来设置一台 Ubuntu 18.04 服务器,包括非 root 的 sudo 用户。 Apache、MySQL 和 PHP 安装在您的服务器上,如如何在 Ubuntu 18.04 上安装 Linux、Apache、MySQL、PHP (LAMP) 堆栈中所示。 配置为指向您的服务器的域名。您可以通过参考域和 DNS指南了解如何将域指向 DigitalOcean Droplets 。 第 1 步 – 安装 Ampache ..
Category : 教程系列
该系列的一部分: 如何使用 CSS 构建网站 本教程是使用 CSS创建和自定义此网站的系列的一部分,CSS 是一种用于控制网站呈现的样式表语言。您可以按照整个系列重新创建演示网站并熟悉 CSS 或将此处描述的方法用于其他 CSS 网站项目。 在继续之前,我们建议您了解一些 HTML 知识,HTML 是用于在 Web 浏览器中显示文档的标准标记语言。如果您不熟悉 HTML,可以在开始本系列之前先阅读我们如何使用 HTML 构建网站系列的前十个教程。 介绍 在本教程中,您将使用 HTML 表和 CSS 类重新创建演示网站的“教育”部分和“技能”部分(或第五部分)。如果您希望个性化您的网站,请随意将 Sammy 的信息换成您自己的信息。您在此处使用的方法可以应用于其他 CSS/HTML 网站项目。 要构建这些部分,您将创建一个 CSS 类,该类为两个可以并排放置在网页上的大小相等的内容框设置样式。然后,您将在每个框内添加一个表格,您将在其中添加文本内容。 先决条件 要遵循本教程,请确保您已按照本系列如何设置 CSS 和 HTML 练习项目中的上一个教程中的说明设置必要的文件和文件夹。 创建和样式化两个相同大小的表 首先,将以下代码片段复制并粘贴到styles.css文件底部: 样式文件 . . . /* Fifth section */ .column-2a { float: left; width: 45%; ..
NoSQL 是一个术语,通常用于描述使用非关系数据模型的任何数据库管理系统。下表列出了几个 NoSQL 数据模型,并重点介绍了一些实现它们的流行开源数据库,但请注意,这并不是一个完整的列表: 操作数据库模型 示例 DBMS 键值存储 Redis、内存缓存数据库 列式数据库 卡桑德拉,Apache HBase 文件存储 MongoDB、Couchbase、Elasticsearch 图数据库 东方数据库,Neo4j 这些不同的数据模型可以提供比关系数据库强加的刚性结构更大的灵活性。由于其灵活性,NoSQL 数据库在存储半结构化和非结构化数据方面享有盛誉,而不是关系数据库所需的规范化结构化数据。由于 NoSQL 数据库没有预定义的模式,因此通常由开发人员或数据库管理员来定义应如何以对其应用程序最有意义的方式组织和访问数据。 有关 NoSQL 的更多教育资源,请访问: NoSQL 数据库管理系统和模型的比较 如何安装 MongoDB 如何安装和保护 Redis 如何在 Ubuntu 20.04 上安装和配置 Neo4j 可以在我们的NoSQL 标签页面上找到我们关于 NoSQL 的教育资源的完�..
作者选择Open Sourcing Mental Illness Ltd接受捐赠,作为Write for DOnations计划的一部分。 介绍 字符串是一个或多个字符的序列,可能由字母、数字或符号组成。所有书面交流都是由字符串组成的。因此,它们是任何编程语言的基础。 在本文中,您将学习如何创建和查看字符串的输出、如何使用转义序列、如何连接字符串、如何在变量中存储字符串以及在 PHP 中使用引号、撇号和换行符的规则. 单引号和双引号字符串 您可以在 PHP 中通过用单引号或双引号括起一系列字符来创建字符串。PHP 实际上会以不同的方式解释以下字符串: ‘This is a string in single quotes.’ “This is a string in double quotes.” 在输出之前,双引号字符串将评估和解析字符串中的任何变量或转义序列。单引号字符串将完全按照指定输出每个字符。单引号字符串的例外是单引号(以及需要时的反斜杠)。 如果您echo在 PHP中使用此字符串: ‘Sammy says: “This string\’s in single quotes.” It required a backslash (\) before the apostrophes (\\\’), but do not use (\”) ..
本教程的早期版本由Melissa Anderson编写。 介绍 MongoDB,也称为Mongo,是许多现代 Web 应用程序中使用的开源文档数据库。它被归类为NoSQL 数据库,因为它不依赖于传统的基于表的关系数据库结构。相反,它使用具有动态模式的类似 JSON 的文档。 MongoDB 默认不启用身份验证,这意味着任何有权访问安装数据库的服务器的用户都可以不受限制地添加和删除数据。为了保护此漏洞,本教程将引导您创建管理用户并启用身份验证。然后,您将进行测试以确认只有该管理用户有权访问数据库。 先决条件 要完成本教程,您将需要以下内容: 运行 Ubuntu 18.04 的服务器。此服务器应具有非 root 管理用户和使用 UFW 配置的防火墙。按照我们针对 Ubuntu 18.04 的初始服务器设置指南进行设置。 MongoDB 安装在您的服务器上。本教程使用 MongoDB 版本4.4进行了验证,但它通常也适用于旧版本的 MongoDB。要在您的服务器上安装 Mongo,请按照我们关于如何在 Ubuntu 18.04 上安装 MongoDB 的教程进行操作。 第 1 步 – 添加管理用户 自3.0版本发布以来,MongoDB 守护进程被配置为仅接受来自本地 Unix 套接字的连接,并且不会自动向更广泛的 Internet 开放。但是,默认情况下仍禁用身份验证。这意味着可以访问安装了 MongoDB 的服务器的任何用户也可以完全访问数据库。 作为保护此漏洞的第一步,您将创建一个管理用户。稍后,您将启用身份验证并以此管理用户身份连接以访问数据库。 要添加管理用户,您必须首先连接到 Mongo shell。因为身份验证被禁用,您可以使用该mongo命令执行此操作,而无需任何其他选项: mongo Mongo shell ..
Next.js是构建在 React 之上的独一无二的框架。它可以让你建立快速反应的应用程序,因为自带的功能,像图像优化,零配置,增量产生静电,文件系统路径,代码分裂和捆绑等。 Next.js 部署的独特之处在于它允许您以几种不同的方式部署: 静态导出:您可以为您的站点创建所有 HTML 页面。通过生成所有 HTML 页面,您可以提供静态文件,从而保证整个站点的快速体验。如果您的页面较少并且不担心将页面导出为 HTML 的构建时间,那么这是一个很好的解决方案。 自定义服务器:您可以部署一个节点服务器,它将动态生成页面或提供静态页面。在较大的站点中,创建每个页面的静态导出可能是一个耗时的过程。当您有数千个页面并且不想在静态导出期间等待很长的构建时间时,动态方法非常有用。 对于大型站点,静态导出可能不是最佳解决方案。对于拥有数千个页面的网站(如电子商务网站或大型博客),静态导出可能需要很长时间。Node.js 自定义服务器可让您进行静态增量再生。您可以即时生成页面,而不是一次生成整个站点的 HTML。这是有益的,因为您不必等待构建/导出整个站点;您可以在用户访问每个页面时生成它。 在本教程中,您将使用静态导出和自定义服务器将 Next.js 应用程序部署到 DigitalOcean 的应用程序平台。App Platform 是一种平台即服务 (PaaS),可让您从 GitHub 存储库部署应用程序。 先决条件 要完成本教程,您需要: 一个DigitalOcean帐户才能使用应用程序平台。 一个GitHub帐户,以便您可以推送您的存储库并将您的帐户连接到 DigitalOcean。 Node.js 的本地开发环境。遵循如何安装 Node.js 并创建本地开发环境。 文本编辑器,如Visual Studio Code或Atom。 熟悉 JavaScript。您可以查看如何在 JavaScript 中编码系列以了解更多信息。 创建一个基本的 Next.js 应用程序 您需要将 Next.js 应用程序部署到 App Platform,因此在此步骤中,您将使用create-next-app 创建一个应用程序,该 CLI 工具用于生成新的入门 Next.js 应用程序。您还可以在DigitalOcean ..
Firebase是一款出色的后端解决方案,适用于想要在应用中使用身份验证、数据库、云功能、广告和无数其他功能的任何人。 在本文中,您将使用Flutter为 iOS 和 Android 平台创建一个 Firebase 项目。 先决条件 要完成本教程,您需要: 使用 Firebase 的 Google 帐户。 为 iOS 开发将需要 XCode。 下载并安装Flutter。 下载并安装Android Studio和Visual Studio Code。 建议为您的代码编辑器安装插件: Flutter和Dart为 Android Studio 安装的插件。 Flutter 为 Visual Studio Code 安装的扩展。 本教程通过 Flutter v2.0.6、Android SDK v31.0.2、Android Studio v4.1 验证。 创建一个新的 Flutter 项目 本教程将需要创建一个示例 Flutter 应用程序。 为 Flutter 设置环境后,您可以运行以下命令来创建新应用程序: flutter create flutterfirebaseexample ..
爱他们或恨他们,现代网页设计中的动画可能会继续存在。与 jQuery 的辉煌时代不同,React 开箱即用并没有提供任何机制来执行此类动画。当然你可以做一点 CSS 魔法来为元素设置动画,但是如果想要将一组元素变形为另一组元素怎么办?什么是react-morph发挥作用。 react-morph是一个小型 JavaScript 库,它提供了一个<ReactMorph>组件,该组件利用渲染道具在您的 React 应用程序中轻松创建变形效果。 入门 在我们开始之前,我们需要react-morph使用npm或添加到我们的项目中yarn: # via npm $ npm install –save react-morph # via yarn $ yarn add react-morph 请务必react-morph在您的项目中包含您想要使用它的任何地方: import ReactMorph from “react-morph”; 陷阱 在我们深入研究 之前react-morph,我想谈谈这个库的注意事项或“陷阱”。 首先,像大多数开源产品一样,它是一项正在进行的工作。不过,很多事情都在进行中。哎呀,即使是 React 也是 😉 Next,react-morph对空白非常敏感,因为它可以为元素引入额外的间距并摆脱变形动画。您可能需要将元素设置为display: inline-block或将所有内容包装在另一个元素中。 如前所述,额外的间距可能会导致问题,因此诸如边距之类的东西也会让您感到悲伤。确保在过渡中匹配两个元素的边距,或者简单地用另一个元素包裹起来。 列表项引入了类似的问题,应用list-style: none应该会有所帮助。 如果事情仍然表现得很奇怪,您可能需要添加一些占位符元素以避免额外的失真。 一般来说,动画很难做到恰到好处,所以我认为这些小怪癖中的任何一个都不应该让你离开这个库。 用法 的使用react-morph非常简单。 Using<ReactMorph>公开了一系列属性,我们可以使用这些属性来标记不同的过渡状态 ( fromand to)、动画补间 ( fadeInand ..
介绍 自动完成是一个常见的现代功能。当用户与输入字段交互时,他们会收到与他们输入的内容相关的建议值列表。 在本文中,您将学习如何使用 制作自动完成组件v-model,如何使用键修饰符处理事件,以及如何为异步请求做好准备。 先决条件 要完成本教程,您需要: Node.js 安装在本地,您可以按照如何安装 Node.js 和创建本地开发环境来完成。 熟悉设置 Vue.js 项目和使用 Vue.js 组件可能会有所帮助。 本教程已通过 Node v15.3.0、npmv6.14.9 和vuev2.6.11 验证。 步骤 1 — 设置项目 出于本教程的目的,您将从使用@vue/cli. npx @vue/cli create vue-autocomplete-component-example –default 这将使用默认配置配置一个新的 Vue 项目:Vue 2, babel, eslint。 导航到新创建的项目目录: cd vue-autocomplete-component-example 现在,您可以使用代码编辑器创建新的自动完成组件。这将是一个带有模板、脚本和样式的单文件 Vue 组件。 为了构建自动完成组件,您的模板至少需要两件事:输入和列表。 src/components/SearchAutocomplete.vue <template> <div class=”autocomplete”> <input type=”text” /> <ul class=”autocomplete-results” > <li class=”autocomplete-result” ..
介绍 这是一个备忘单,您可以将其用作npm和Yarn命令的方便参考。 有关 npm 的更全面概述,请浏览我们的教程How To Use Node.js Modules with npm 和 package.json 。 npm 与 Yarn npm和Yarn之间有很多相似之处。Yarn(2016 年发布)从npm(2010年)中汲取了大量灵感。 另一方面,当您发现自己同时使用这两个包管理器时,它们的相似性可能会导致混淆和小错误。 以下是保持两个 CLI 直截了当的有用参考: 命令 新产品经理 纱 安装依赖 npm install yarn 安装包 npm install [package] yarn add [package] 安装开发包 npm install –save-dev [package] yarn add –dev [package] 卸载包 npm uninstall [package] yarn remove [package] 卸载开发包 npm ..