通过 Let’s Encrypt 申请免费证书
Let's Encrypt 是一家免费提供 TLS 证书的证书颁发机构,简化了网站开启 HTTPS 加密的流程,从而为所有人构建更加安全的互联网。Let's Encrypt 项目由非营利组织互联网安全研究组发起。它的目标是让所有网站都能轻松实现 HTTPS 加密,保障用户数据的安全。通过 Let’s Encrypt,你可以为你的主域名、子域名,甚至泛域名配置安全证书,而且过程完全自动化,不需要手动申请和管理证书.
Let's Encrypt 是一家免费提供 TLS 证书的证书颁发机构,简化了网站开启 HTTPS 加密的流程,从而为所有人构建更加安全的互联网。Let's Encrypt 项目由非营利组织互联网安全研究组发起。它的目标是让所有网站都能轻松实现 HTTPS 加密,保障用户数据的安全。通过 Let’s Encrypt,你可以为你的主域名、子域名,甚至泛域名配置安全证书,而且过程完全自动化,不需要手动申请和管理证书.
互联网的通信安全,建立在 SSL/TLS
协议之上。本文简要介绍 SSL/TLS
协议的运行机制。文章的重点是设计思想和运行过程,不涉及具体的实现细节。如果想了解这方面的内容,请参阅 RFC 文档。
Trie 树(又叫 字典树 或 前缀树)是一种用于存储集合中字符串的数据结构,特别适合用于处理一些与字符串相关的问题,比如词典查找、字符串匹配和前缀匹配等。它的基本思想是将字符串的公共前缀共享出来,从而减少存储空间和加速查找过程。
你是否曾经面对 Vue 代码,却不知如何开始构建一个完整的项目?是否想要学习如何从零创建一个可维护且可扩展的 Vue 3 项目?本教程将手把手教你构建一个 Vue 3 项目,无论你是刚接触 Vue 的新手,还是希望系统掌握 Vue 3 项目搭建的开发者,都可以从本文中获得实战经验。
前几天在工作中遇到一个需求,需要将远程服务器上的 PostgreSQL 数据库迁移到本地环境用于测试开发。由于平时主要接触的是基本的 CRUD 操作,对数据库的导出/导入操作并不熟悉,导致在迁移过程中遇到了不少困难。好在经过反复尝试和排查,最终成功完成了数据迁移任务。现将这个过程记录下来,既作为个人技术积累,也希望能为遇到类似需求的同行提供参考。
CSP(Content Security Policy,内容安全策略)是一个 Web 安全标准,用于防止跨站脚本攻击(XSS)、数据注入和其他恶意攻击。通过指定哪些资源是允许加载的,CSP 能够帮助减少这些攻击的风险。
WeakMap 和 WeakSet 是 ES6 新增的两个对象,根据 MDN 文档上的说法,它们的键必须是对象,并且键是弱引用的,会被浏览器垃圾回收机制回收。那么到底什么是弱引用,在什么情况下会被回收呢?要搞清这个问题,我们需要先简单的了解一下浏览器的垃圾回收机制。
在所有面向对象的编程语言中,继承都是一个非常重要的特性,继承有很多优点,比如实现逻辑复用,减少重复代码,节省内存空间,利于整体维护等。在 JS 中,也可以实现继承,对于有基于类的语言开发经验的人来说,JS 的继承可能会让人有点困惑,因为 JS 本身不提供类继承的实现,虽然在 ES6 中引入了 class 关键字,但只是语法糖,JavaScript 继承实际上仍然是基于原型的,那么原型是什么,继承又是如何实现的,今天我们来详细探讨下。
在日常开发中,我们通常会使用 git 来管理我们的项目,并在开发过程中使用 commit 、 push 等命令提交和推送代码,如果我们想在每次提交时都执行代码检查,我们如何自动化的去完成这些任务呢?
经常在一些 Canvas 特效中看到光线飞过的效果,像流星一样拖着长长的尾迹,有时候光线还会沿着曲线运动,如下图的地图中,这种效果是如何实现的呢?今天我们来试着在 Canvas 中实现这种效果。
在之前的文章中,我们使用 JavaScript 创建一个单向链表。单向链表由节点组成,每个节点都有一个指向列表中下一个节点的指针。单向链表通常需要遍历整个链表进行操作,因此通常性能较差。提高链表性能的一种方法是在每个节点上添加第二个指针,指向链表中的前一个节点。节点既指向前一个节点又指向下一个节点的链表称为双向链表。
nginx 开启 gzip 压缩功能可以使网站的 css、js、html 等文件在传输时进行压缩,提高访问速度,进而优化 nginx 性能,节省流量,一般 gzip 压缩只针对文本文件,而图片视频这些很难再进行压缩的文件,因为压缩效果不好,则没有必要开启 gzip 压缩,如果想优化图片的访问性能,可以在本地压缩,并设置较长一点的生命周期让客户端缓存。
Linux 命令可以使用 shell、python、go 等语言开发,也可以使用 Node.js,今天介绍怎么使用 Node.js 开发一个简单的 Linux 命令。
在 Linux 系统中需要 root 权限执行命令,有两种方式可以做到,一种是使用 sudo
临时切获得 root 用户的权限,一种是使用 su
切换到 root 用户。
在做前端开发的时候,我们通常是启动一个 node server 方便调试代码,并且能够支持热更新,但后端提供的 api 接口往往在另一台服务器上,这时候,就需要用到代理(proxy)。
链表是一种数据结构,以线性方式存储多个值。链表中的每个值都包含在其自己的节点中,该对象包含数据以及指向列表中下一个节点的链接。链接是指向另一个节点对象的指针,如果没有下一个节点,链接指向 null。如果每个节点只有一个指向另一个节点的指针(最常称为 next ),则该列表被认为是单向链表(or just linked list),而如果每个节点有两个链接(通常是 previous 和 next),则它被认为是双向链表。在这篇文章中,我主要学习单向链表。
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux 或 Windows 操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
Emmet 的前身是大名鼎鼎的 Zen coding,它使用仿 CSS 选择器的语法来生成代码,大大提高了 HTML/CSS 代码编写的速度。
EventSource 是实现服务端推送的一个网络事件接口。EventSource 实例会与服务端创建一个持久化的连接,服务端以 text/event-stream
格式发送事件, 并且会一直保持开启直到被要求关闭。一旦连接开启,来自服务端传入的消息会以事件的形式分发至你代码中。如果接收消息中有一个事件字段,触发的事件与事件字段的值相同。如果没有事件字段存在,则将触发通用事件。