BaseX编码规则解析
Base16、Base32、Base64 等其他的 BaseX 编码并不是一种加密方式,它们只是一种编码手段,我们可以借助一些在线的编解码工具还原成明文,因此这类编码方式不适合用于数据加密,但是我们可以使用这种编码很方便的进行数据传输与存储,因此这类编码的使用十分广泛。 一、Base161.1、编码规则:Base16编码使用16个ASCII可打印字符(数字0-9和字母A-F)对任意字节数据进行编码 ...

Ngxin的限流方式
一、简介Nginx的限流的实现,可以保证高并发场景下的服务的可用性,控制网络以及CPU/内存负载,极端场景下还可以减小暴力破解对系统的危害性。Nginx本身自带了几个限流模块 : 对客户端的限流模块: ngx_http_limit_conn_module:按照连接数限流,限制单个IP的并发连接数; ngx_http_limit_req_module:按照请求速率限流,使用漏桶的方式限 ...

rsync指令的使用与算法解析 - 每周指令
rsync命令是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。rsync使用所谓的rsync算法来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。 rsync是一个功能非常强大的工具,其命令也有很多功能特色选项,我们下面就对它的选项一一进行分析说明。 一、参数解析-v, --verbose 详细模式输出。-q, ...

译 - The rsync algorithm
《The rsync algorithm》这篇发表于 1996 年的论文中介绍了一种名为 rsync 的增量同步算法,它能够快速地将两个文件夹中的内容同步。该算法利用了文件的局部性和差异性,通过计算文件的弱校验和和块校验和来确定文件的相似性,并进行增量同步。该算法具有高效性、可靠性和安全性等优点,在实际应用中被广泛使用。 0、摘要This report presents an algori ...

转/译-Dynamo:Amazon的高可用键值存储
本文翻译自 2007 年 Amazon 的分布式存储经典论文:《Dynamo: Amazon’s Highly Available Key-value Store》),直译为 《Dynamo:Amazon 的高可用键值存储》,这里对排版做了一些调整,以更适合 web 阅读。 Dynamo 是 Amazon 的高可用分布式键值存储(key/value storage)系统。这篇论文发表 的 ...

正向/反向/透明代理服务器对比
一、正向代理正向代理是一个位于客户端和目标服务器之间的服务器,为了从目标服务器取得内容,客户端需要向代理服务器发送一个请求并指定目标服务器,然后代理服务器向目标服务器转交请求并将获得的内容返回给客户端。 1.1、特点 用户无法直接访问目标服务器; 客户端明确知道自己访问的是代理服务器; 隐藏真实的客户端IP; 1.2、使用场景 为防火墙(局域网)内的客户端提供访问互联网的途径; 客户端的鉴权; ...

Docker多阶段构建的理解与使用
在构建镜像的过程中可能会区分为编译镜像以及运行镜像,我们在编译环境中进行二进制运行文件的构建编译工作,然后将运行文件放置在运行环境中构建体积较小的运行镜像,在这个过程中,我们可能会使用到多阶段构建。 一、简介在Docker的17.05及更高的版本中支持了多阶段构建的方式,多阶段构建的方式极大的减小了需要阶段性构建的复杂度。官方介绍 - multistage-build 二、多阶段构建的前后对比2. ...

Git使用技巧
一、分支管理二、提交日志管理 批量替换历史提交日志的用户名和邮箱信息 git filter-branch -f --env-filter 'OLD_NAME="old_name"OLD_EMAIL="old@mail.com"CORRECT_NAME="new_name"CORRECT_EMAIL="new@mail ...

ssh的高级用法 - ProxyCommand
一、简介OpenSSH的客户端有一个 ProxyCommand 的选项,用于 SSH 客户端与服务器之间的隧道通信(tunneling)。所谓的隧道技术,也称代理技术,是网络通信技术的一个普遍概念,就是把一条信道建立于另外一条信道之上。 SSH 会话基于一个 TCP 连接,如果我们把连接的两个端口各自的出口(也即入口)进行截获,就可以用其它的信道来传输。而且 SSH 仍然认为它用的是和另一端连接一 ...

nc指令的使用与源码解析 - 每周指令
nc的全称为Netcat,是一款拥有多种功能的 CLI 工具,可以在网络上进行读/写以及重定向数据等操作,被誉为是网络界的瑞士军刀。它被设计成可以被脚本或其他程序调用的可靠的后端工具。同时由于它能创建任意所需的连接,因此它是一个非常好用的网络工具,它的主要用途为: 文件传输:由于是直接建立TCP连接发送数据流,因此使用nc传输文件是不安全的,但是速度很快; 端口扫描:可用于批量扫描指定 ...