什么是 Trie Tree? 在计算机科学中,trie,又称前缀树或字典樹,是一种有序树,用于保存关联数组,其中的键通常是字符串。与二叉查找树不同,键不是直接保
Go 语言中 `init()` 函数的初始化顺序
背景介绍 如果你的项目中有一些需要初始化,而这些初始化又是通过 init() 来执行的,但是 init() 里面有一些相互依赖,你如何保证你的执行是可行的呢? 可能出现的问
50+ 数据结构和算法面试题
背景介绍 有许多计算机科学专业毕业生和程序员在 Uber 和 Netflix 等初创公司申请编程,编码和软件开发职位; 亚马逊,微软 和谷歌 等大型组织; 像 Infosys 或 Luxsoft 这样的服务型
Redis 中的 key 和 value 大小限制以及性能分析
Redis 键 Redis key 是二进制安全的,这意味着您可以使用任何二进制序列作为 key,从 “foo” 这样的字符串到 JPEG 文件的内容,空字符串也是有效 key。 关于 key 的
Go 语言中值 receiver 和指针 receiver 的对比(收集的一些资料)
困惑 定义结构方法时的常见困境,你的方法接收器应该使用指针接收器还是值接收器? 1 2 3 4 5 type T struct { a int } func (tv T) Mv(a int) int { return 0 } // value receiver func (tp *T) Mp(f float32) float32 {
MySQL 连接数增长的命令详解
MySQL 命令查看 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 show full processlist; # `show processlist` 命令查询了当前操作 MySQL 数据库的所有运行着的线程,发现 `xxxx` 数据库的好
TiDB Hackathon 2018 之天真贝叶斯学习机
TiDB Hackathon 2018 学习到不少东西,希望明年再来。 注:待补充内容我将会补充到博客中。 简述 “pd ctl 天真学习机” 具体做法:用 naive bayes 模型来根据系统指标和人的 pd ctl 调
如何在 phabricator 中添加或更新 js 或 CSS 文件资源?
参考资料:Adding New CSS and JS 目前这篇 wiki 文档还没有中文翻译,大家可以权当是我对此的翻译加自己的实践总结吧。 给 phabricator 添加新的 CSS 和 JS 文件 解释如何向 Phabricator
Go test 详解
注:部分内容参考网络上的文章,如有侵权,请告知。 Go test 的测试用例形式 测试用例有四种形式: TestXxxx(t *testing.T) // 基本测试用例 BenchmarkXxxx(b *testing.B) // 压力测试的测试用例 Example_Xxx() // 测试控制
给 Phabricator 增加 Lets Encrypt 证书
安装步骤 参考其他文档 错误处理 配置 letsencrypt 之后,报错: 1 2 2018/11/13 03:27:34 [emerg] 1#1: BIO_new_file("/etc/letsencrypt/ xxx/cert.pem") failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/etc/letsencrypt/xxx/cert.pem','r') error:2006D080:BIO routines:BIO_new_file:no such file) nginx: [emerg] BIO_new_file("/etc/letsencrypt/xxx/cert.pem") failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/etc/letsencrypt/xxx/cert.pem','r') error:2006D080:BIO routines:BIO_new_file:no such file) 原因是因为是你的 pem 需要进