Linux下Makefile的生成之路
一、流程介绍 autoscan:通过扫描源代码来搜寻普通的可移植性问题,比如检查编译器,库,头文件等,生成文件configure.scan,它是configure.ac的一个雏形; aclocal:根据已经安装的宏,用户定义宏和acinclude.m4文件中的宏将configure.ac ...
Read more
Yum源的优先级配置之yum-priorities
一、简介 Linux 发行版比较多,同时还有很多个人或组织维护了某些特定用途的安装/升级源。Yum Priorities 插件可以用来强制保护源。它通过给各个源设定不同的优先级,使得系统管理员可以将某些源设定为最高优先级,从而保证系统的稳定性。 二、yum-priorities 2.1、安装 ...
Read more
转-高效的多维空间点索引算法 GeoHash和GoogleS2
引子 每天我们晚上加班回家,可能都会用到滴滴或者共享单车。打开 app 会看到如下的界面: app 界面上会显示出自己附近一个范围内可用的出租车或者共享单车。假设地图上会显示以自己为圆心,5公里为半径,这个范围内的车。如何实现呢?最直观的想法就是去数据库里面查表,计算并查询车距离用户小于等于5公 ...
Read more
RAID技术的对比解析
D. A. Patterson 教授等人于1988年首次在论文 A Case of Redundant Array of Inexpensive Disks 中提出了RAID概念,即廉价冗余磁盘阵列( Redundant Array of Inexpensive Disks )。 RAID 的基本思 ...
Read more
BaseX编码规则解析
一、Base16 1.1、编码规则: Base16编码使用16个ASCII可打印字符(数字0-9和字母A-F)对任意字节数据进行编码。 获取输入字符串每个字节的二进制值(输入的非ASCII字符,使用UTF-8字符集); 将获得的二进制值串联进来; 按照4比特为一组进行切分(8比特数据 ...
Read more
rsync指令的使用与算法解析 - 每周指令
一、简介 rsync命令是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。rsync使用所谓的rsync算法来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。 rsync是一个功能非常强大的工具,其命令也有很多功能 ...
Read more
转/译-Dynamo:Amazon的高可用键值存储
译者序 本文翻译自 2007 年 Amazon 的分布式存储经典论文:Dynamo: Amazon’s Highly Available Key-value Store (PDF)。 标题直译为:《Dynamo:Amazon 的高可用键值仓库(存储)》。 对排版做了一些调整,以更适合 web 阅读 ...
Read more
Docker多阶段构建的理解与使用
一、简介 在构建镜像的过程中可能会区分为编译镜像以及运行镜像,我们在编译环境中进行二进制运行文件的构建编译工作,然后将运行文件放置在运行环境中构建体积较小的运行镜像,在这个过程中,我们可能会使用到多阶段构。 在Docker的17.05及更高的版本中支持了多阶段构建的方式,多阶段构建的方式极大的减小 ...
Read more
ssh的高级用法 - ProxyCommand
一、简介 OpenSSH的客户端有一个 ProxyCommand 的选项,用于 SSH 客户端与服务器之间的隧道通信(tunneling)。所谓的隧道技术,也称代理技术,是网络通信技术的一个普遍概念,就是把一条信道建立于另外一条信道之上。 SSH 会话基于一个 TCP 连接,如果我们把连接的两个端 ...
Read more
nc指令的使用与源码解析 - 每周指令
一、简介 nc的全称为Netcat,是一款拥有多种功能的 CLI 工具,可以在网络上进行读/写以及重定向数据等操作,被誉为是网络界的瑞士军刀。它被设计成可以被脚本或其他程序调用的可靠的后端工具。同时由于它能创建任意所需的连接,因此它是一个非常好用的网络工具,它的主要用途为: 文件传输:由于是直接 ...
Read more