2024年8月26日

将 MySQL 数据库从一台服务器复制到另一台远程服务器

通常,您可以运行 mysqldump 来创建数据库副本和备份,如下所示: $ mysqldump -u user -p db-name > db-name.out 使用 sftp/ssh 将 db-name.out 文件复制到远程 MySQL 服务器: $ scp db-name.out user@remote.box.com:/backup 在远程服务器上恢复数据库(通过 ssh 登录): $ mysql -u user -p db-name < db-name.out 或 $ mysql -u user -p 'password' db-name < db-name.out 如何将 MySQL 数据库从一台计算机/服务器复制到另一台? 简而言之,您可以使用 ssh 或 mysql 客户端将数据库从一台计算机/服务器复制到另一台计算机/服务器。 您可以使用 mysqldump 和 mysql 命令一…
2024年8月26日

如何在 Jekyll 中控制 URL 和链接

介绍 Jekyll 是一个静态网站生成器,它提供了内容管理系统 (CMS) 的一些优点,同时避免了此类数据库驱动网站带来的性能和安全问题。它具有“博客感知”功能,具有处理按日期组织的内容的特殊功能,尽管它的用途不仅限于博客网站。Jekyll 非常适合需要离线工作、喜欢使用轻量级编辑器而不是 Web 表单来维护内容以及希望使用版本控制来跟踪其网站更改的人。 在本教程中,我们将重点介绍 Jekyll 如何处理 URL 和链接,因为更改 URL 会破坏其他人与我们页面的链接,以及我们自己网站内容中的链接。URL 对于人们如何查找和使用网站至关重要,在首次发布网站之前值得考虑。 我们将了解 Jekyll 默认如何创建 URL,并展示如何更改单个文件或整个网站的模式。然后,我们将了解如何链接到内容中的页面。最后,我们将对网站进行测试。 先决条件 要学习本教程,您…
2024年8月26日

您的第一个自定义元素

那么,您有兴趣了解 Web 组件并创建自己的自定义 HTML 标签吗?在这篇文章中,我们将探讨基本语法和概念,让您开始涉足自定义元素和Shadow DOM。 我们将创造一个愚蠢的<我的标题>自定义元素,简单地标记出样式标题。不是很有用,但它有助于演示一些初始概念。 入门 首先,我们将创建一个单独的 JavaScript 文件,其中包含有关自定义元素的所有内容:其样式规则、其标记、ES6 类定义,最后注册自定义元素。在我们想要使用自定义元素的 HTML 文件中,我们所要做的就是包含该 JavaScript 文件,然后我们就可以开始在页面上使用新标签了。 为了达到更好的效果,我们将所有内容都包装在一个IIFE中: 我的标题.js (function() { // the good stuff goes here })(); 现在让我们为自定义元素定义一个类…
2024年8月26日

自定义元素的 Polyfill 和转译

我们介绍了使用 Web 组件规范创建自定义元素的基础知识,但最后我们暗示我们的简单自定义元素尚未投入生产,因为使用了新的 JavaScript 特性,而且自定义元素和Shadow DOM尚未得到所有流行浏览器的支持。 在这篇文章中,我们将快速介绍转换自定义元素代码以与 ES5 兼容并包含必要的 Web 组件 polyfill 的步骤。 转译 您的自定义元素代码将包含 ES6 类,并且可能还包含字符串文字和箭头函数。这些功能在编写时非常有用,但必须使用Babel等工具对代码进行转译,以便它可以在仅理解 ES5 代码的浏览器中运行。我们将继续使用babel-cli和babel-preset-es2015预设就是这样做的。 如果你的项目没有包名.json文件尚未创建,继续使用 npm 或Yarn创建一个。这将允许您安装必要的软件包。: $ npm init # or,…
2024年8月26日

使用插槽和命名插槽组合自定义元素

使用Shadow DOM,我们可以创建 Web 组件,这些组件是组件内部和自定义元素用户在创作时提供的元素的组合。这与使用以下任一方法类似:选项或者选择组原生元素选择元素。这种组合是通过一种称为插槽这里我们将介绍如何在自定义元素中使用插槽和命名插槽来实现有趣的组合。 您的第一个有槽内容 允许自定义元素的用户添加自己的标记和元素作为元素的一部分,就像使用投币口组件模板中的元素。 下面是一个哑自定义元素的示例,它仅充当使用该元素时添加的内容的样式外壳: 我的信息框.js (function() { const template = document.createElement('template'); template.innerHTML = ` <style> :host { display: block; contain: content; te…
2024年8月26日

RxJS 中的简单错误处理

创建复杂的可观察管道固然很好,但如何有效地处理其中的错误呢?让我们在这里回顾一下抓住,最后,重试和重试时间操作符。 观察者的错误回调 最基本的是,观察者使用错误回调来接收可观察流中任何未处理的错误。例如,这里我们的可观察对象失败,错误消息打印到控制台: const obs$ = Rx.Observable .interval(500) .map(value => { if (value > 3) { throw new Error('too high!'); } else { return value; } }); obs$.subscribe(value => { console.log(value); }, err => { console.error('Oops:', err.message); }, () => { console.log(`We're d…
2024年8月26日

Linux 命令基础:7 个进程管理命令

假设您是第一次探索 Linux 命令行或进入 Linux 管理。在这种情况下,了解如何使用终端并完成基本任务的底层理解至关重要。为了帮助您掌握这些概念,请查看我之前的两篇文章: 10 个让你在终端上入门的命令 另外 10 个用于操作文件的命令 但是,如果您对这些概念感到满意,我们将在本文中进一步提高您的 Linux 知识。我们将研究进程及其管理方法。 那么,进程到底是什么? 在 Linux 中,进程是程序的任何活动(正在运行)实例。但什么是程序?好吧,从技术上讲,程序是存储在机器上的可执行文件。每次运行程序时,您都会创建一个进程。从根本上讲,这很容易管理,这就是我们今天要研究的内容。 入门所需 我建议你在你最喜欢的虚拟机上继续操作。这样,你可以尝试并失败而不会产生任何后果(这绝对是熟悉终端的最佳方式)。 在本演示中,我将启动睡眠过程 500 秒。这种方…
2024年8月26日

我最喜欢的 8 个实用 Linux 命令

我清楚地记得我第一次接触 Linux 的情景。当时我是一名技术培训师。我的经验、课程和认证都围绕着 Mac OS X 和 Windows Server。公司老板给整个培训部门发了一封电子邮件,要求有人开始研究 Linux。我是唯一站出来的培训师。几周后,我试图在教室后面的一台电脑上安装一个 Linux 发行版。那时候,如果显示器的垂直刷新率设置错误,就会出现“烟雾错误”等。我尝试了好几次才完成安装,但最终,机器启动了,我用我的名字和密码登录,bash 提示符闪现在我面前。 我不知道任何命令。 有时,Linux 新手只需要几件事就可以开始使用。我们都必须学习基本命令,例如、、、、ls等等。但是,下一步是了解那些会对您的系统管理员生活产生实际影响的命令。我在下面收集了我最喜欢的几个命令。其中大多数都是非常基本的命令,但有效地使用它们ifconf…
2024年8月26日

如何管理你的 Linux 命令历史记录

您可能知道使用上下箭头键滚动浏览 Bash 历史记录,但您是否知道 Bash 历史记录不仅仅是重复命令?故事远不止这些。或者,历史应该远不止这些吗?无论如何,history 命令是那些功能强大且至少在基本层面上值得了解的晦涩命令之一。本文将揭开 Bash 历史记录的神秘面纱,使其成为一个更友好的系统管理工具。 背景 在 Bash 中,命令历史记录存储在.bash_history主目录中的文件 ( ) 中。前导 (.) 使文件在正常视图中隐藏。要查看它,请发出命令ls -a。 $ ls -a . .. .bash_history .bash_logout .bash_profile .bashrc 您可以像操作任何其他纯 ASCII 文本文件一样操作 .bash_history 文件。 您需要了解的三个相关环境变量是 HISTFILE、HISTFILESIZE 和 HISTSIZE…
2024年8月26日

如何读取和打印 $PATH Shell 变量

我是 Unix / Linux 新用户,我想打印 $PATH 变量的当前值。如何从 shell 提示符中读取 $PATH? 要读取或打印任何 shell 变量值,请使用包含 $PATH 变量的 echo 命令或 printf 命令。 table.tutorialrequirements { width: 100%; height: 100%; font-size: 15px; } table.tutorialrequirements td, table.tutorialrequirements th { padding: 5px 5px; } table.tutorialrequirements tr:nth-child(even) { background: #f7f7f7; } table.tutorialrequirements thead { background: #f7f7f7; } table…