分类
折腾不止 神奇的互联网

如何使用自己的域名搭建邮箱

最近@赵一霖同学正在折腾电子邮件服务器,因为他希望有一个名字叫 zhaoyilin 的邮箱地址。我们都知道,RFC 5322 中规定了电子邮箱地址的格式为 local-part@domain。然而许多常用的邮箱名称在大型的邮件服务商(比如后缀 @outlook.com 或者 @qq.com)已经被注册。一个曲线救国的方法是在互联网上注册自己的域名,并且使用类似 me@zhaoyilin.io 这样的邮箱地址。成功注册一个新域名后,我们便开始了自定义域名邮箱的配置之旅。

分类
基础知识 折腾不止

如何以创纪录的速度启动一个网站项目

你是否有搭建一个博客或其他类型网站的需求?得益于日益降低的硬件以及带宽方面的成本,如今我们可以通过非常低廉的价格从云服务提供商处购买按使用量计费的相关服务。本文通过简略的介绍使读者了解在互联网上构建一个博客或其他类型网站的基本步骤。

分类
程序设计艺术

LeetCode 137: Single Number II 解法介绍

LeetCode 问题 137 是一道有关位运算知识的题目。最佳解法可以使用 O(n) 的时间复杂度和常数的空间复杂度解决该问题。很遗憾关于本题目在中英文互联网中均没有一个很友好的解释,本文给出关于该问题的详细解释。

分类
Linux 业界构件

tmux:终端多路复用器

你是否考虑希望能在关闭终端窗口或 SSH 连接后,程序仍能在后台运行?是否希望在下次打开终端时仍能保留先前的状态上下文?或是希望和其他用户共享终端内容——以实现结对编程?终端多路复用器程序 tmux 能够解决你的上述困扰。

分类
Linux 业界构件

在 Ubuntu 20.04 上为 Nginx HTTP 服务器配置反向代理

反向代理(Reverse Proxy)技术用于解决客户端无法直接访问目标网站、或者目标网站需要向用户保持隐藏的情形。这种技术通过配置一台中间服务器作为反向代理服务器,以实现在客户端和目标网站间转发流量。内容分发网络(CDN)亦采用反向代理技术实现回源访问。

本文介绍在 Ubuntu 20.04 LTS 服务器上针对 Nginx HTTP 服务器进行反向代理配置的方法,并使用 Let’s Encrypt 的相关服务为前置服务器申请 HTTPS 证书,以增强其安全性。

分类
Linux 业界构件

在 Ubuntu 20.04 上为 Apache2 HTTP 服务器配置反向代理

反向代理(Reverse Proxy)技术用于解决客户端无法直接访问目标网站、或者目标网站需要向用户保持隐藏的情形。这种技术通过配置一台中间服务器作为反向代理服务器,以实现在客户端和目标网站间转发流量。内容分发网络(CDN)亦采用反向代理技术实现回源访问。

本文介绍在 Ubuntu 20.04 LTS 服务器上针对 Apache2 HTTP 服务器进行反向代理配置的方法,并使用 Let’s Encrypt 的相关服务为前置服务器申请 HTTPS 证书,以增强其安全性。

分类
Linux 业界构件 神奇的互联网

使用 Certbot 管理来自 Let’s Encrypt 的证书

作为新型的免费、开放、自动化的证书颁发机构,Let’s Encrypt 自 2015 年来为推动互联网 HTTPS 化做出了卓越的贡献。Certbot 是最流行的基于 Let’s Encrypt 的客户端,用于在服务器上简化 HTTPS(SSL/TLS)证书的申请流程。本文中,我们介绍通过 Certbot 客户端为网络服务器添加删除 HTTPS 证书、吊销证书,以及为已有证书添加新域名的操作。

分类
神奇的互联网 观点与视角

Let’s Encrypt 的前世今生

当你畅游网络时,你是否注意到访问大多数网站时浏览器地址栏中提示的 https:// 前缀以及“安全锁”图标呢?它们的出现表示你正在访问的网站采用了一种被称为“传输层安全”的技术,以增强你与这些网站连接时的保密性。

根据 2020 年初由 Google 发布的统计,用户使用 Chrome 浏览器在所有渠道访问的网站中有超过 80% 采用了传输层安全技术。然而仅仅在五年前,这个数字还不到一半。Let’s Encrypt 等新型证书颁发机构的出现为互联网安全方面的提升做出了卓越贡献。

Firefox 浏览器中的地址栏,可以看到盾牌、安全锁以及 https 字样的提示
当使用 Firefox 浏览器访问本站时,地址栏中的“安全锁”图标提示
分类
基础知识

计算机中的字节序

字节(Byte)是计算机内存中的最小可寻址单位。计算机对于较大的对象使用多个字节将其表示:在将这些字节存入内存中时,计算机必须决定以何种顺序存储这些数据;同样地,在网络中传输大对象时,多个字节的传输顺序也至关重要——这些彼此相连的计算机系统必须确立一种统一的多字节数据传输方式,才可能互相协作。

这种事先约定的对多字节数据的存储以及传输使用的顺序,被称为字节序(又称“端序”,Endianness)。理解字节序对构建较底层程序以及深入理解计算机系统有帮助。

分类
自然语言处理

利用语音合成标记语言(SSML)优化语音合成质量

语音合成标记语言(Speech Synthesis Markup Language,SSML)是用于控制语音合成中停顿、音量、音调、语速以及名词读法等因素的标记语言。这个由万维网联盟(W3C)以 XML 为基础进行标准化的语言受到许多在线语音合成服务的广泛支持:包括 Google Cloud、AWS、阿里云等服务商均提供了支持 SSML 的语音合成服务。相较以纯文本进行的文本到语音转换(TTS)任务,利用 SSML 能够更细粒度地控制语音的合成方式,从而优化语音合成质量。