使用Go语言实现 pping

大家好,我是鸟窝。

在前一篇“pping:被动式ping,计算网络时延”一篇中,我给大家介绍了 pping 这个工具的原理和使用方法。这篇文章中,我将使用 Go 语言实现 pping 工具。

阅读全文

让 Rob Pike 或者字节跳动的同学实现一个红黑树

红黑树(英语:Red–black tree)是一种自平衡二叉查找树,是在计算机科学中用到的一种数据结构。它在1972年由鲁道夫·贝尔发明,被称为“对称二叉B树”,它现代的名字源于利奥尼达斯·J·吉巴斯和罗伯特·塞奇威克于1978年写的一篇论文。红黑树的结构复杂,以至于有些个别公司拿它当做面试题现场实现,但它的操作有着良好的最坏情况运行时间,并且在实践中高效:它可以在O(log^n)时间内完成查找、插入和删除。

阅读全文

Sqids: 简短唯一ID生成器

Sqids(发音为squids, 鱿鱼)是一个开源库,允许您从数字中生成简短的唯一且看起来随机的标识符, 而且这些ID是URL安全的,你可以同时编码几个数字, 也可以剔除常见的脏话或者政治敏感的单词。你可以把它想象成一个十进制到十六进制的转换器,但它还具备一些额外的功能。
比如:https://example.com/Lqj8a0

先前它叫做Hashids, 但是由于商标问题,我不得不更改名称。Sqids是Short Quick Unique Identifiers的缩写。

阅读全文