摘要:
楔子 我们以一个可管理百万节点集群的心跳服务作为实战案例,看看所有高性能服务的设计思路。 首先解释下什么是心跳服务。集群中的节点如果宕机,那么管理服务必须及时发现,并做相应的容灾处理,比如将宕机节点的业务迁移到新的虚拟机上等等。怎么做到及时发现呢?可以要求每个节点定时上报心跳包,考虑到网络报文的延迟 阅读全文
摘要:
楔子 Python 有一个第三方模块:psutil,专门用来获取操作系统以及硬件相关的信息,比如:CPU、磁盘、网络、内存等等。 首先我们要安装,直接 pip install psutil 即可,安装之后来看看它的用法。 CPU 相关 获取 CPU 的逻辑核心数量 import psutil pri 阅读全文
摘要:
楔子 相信在使用 pandas 的时候都遇到过如下情况,当我们打印一个列数或行数比较多的 DataFrame 时,该 DataFrame 不会全部显示,中间一部分会用省略号代替,举个栗子: 由于行数比较多,默认情况下不会全部显示,而是只显示一部分;至于列也是同理,只不过我们这里的列不多,因此全部显示 阅读全文
摘要:
pyfiglet 是一个专门用来生成艺术字的模块,只支持英文。 from pyfiglet import Figlet f = Figlet() print(f.renderText("hanser")) """ _ | |__ __ _ _ __ ___ ___ _ __ | '_ \ / _` 阅读全文
摘要:
xpinyin 可以用来将汉字转换成拼音。 from xpinyin import Pinyin # 实例化Pinyin这个类 p = Pinyin() # 传入汉字,直接返回拼音 print(p.get_pinyin("古明地觉")) # gu-ming-di-jue # 默认拼音之间是以"-"进 阅读全文
摘要:
我们以前想生成随机字符串的时候,会使用 uuid,比如: import uuid print(uuid.uuid4()) # 56981b16-0dde-477e-9f07-e46a76d01d2c 但是这个生成的 uuid 太长了,于是便有了 shortuuid。 import shortuuid 阅读全文
摘要:
楔子 记得 MySQL 吗?如果在 MySQL 命令行查询的话,会以如下的形式进行展示。 同理,prettytable 就是用来将数据按照上述形式进行输出的,我们来看一下用法。 添加表头、添加行、添加列 类似于数据库中的表,有表头、或者说字段名,以及每一行的内容。 from prettytable 阅读全文
摘要:
fuzzywuzzy 是用来计算两个字符串之间的相似度的,它是依据Levenshtein Distance算法来进行计算的。 Levenshtein Distance 算法,又叫 Edit Distance 算法,是指两个字符串之间,由一个转成另一个所需的最少编辑操作次数。许可的编辑操作包括将一个字 阅读全文
摘要:
楔子 context 是 Go 在 1.7 版本的时候引入的标准库,从名字也知道是和 "上下文" 相关,不过准确的说应该是 goroutine 的上下文,它包含了 goroutine 的运行状态、环境等信息。context 主要是用来在 goroutine 之间传递上下文信息,包括:取消信号、超时时 阅读全文
摘要:
楔子 使用pandas做数据处理的第一步就是读取数据,数据源可以来自于各种地方,csv文件便是其中之一。而读取csv文件,pandas也提供了非常强力的支持,参数有四五十个。这些参数中,有的很容易被忽略,但是在实际工作中却用处很大。比如: 文件读取时设置某些列为时间类型 导入文件, 含有重复列 过滤 阅读全文