04 2022 档案
摘要:总结 很多人认为 Redis 是单线程,这个描述是不准确的。准确来说 Redis 只有在处理**「客户端请求」**比如接收客户端请求、解析请求和进行数据读写等操作时,是单线程的。但整个 Redis Server 并不是单线程的,还有后台线程,比如文件关闭、AOF 同步写和惰性删除在辅助处理一些工作。
阅读全文
摘要:核心技巧:找到coding上的宏观调度 zigzag打印矩阵 public class ZigZagPrintMatrix { public static void printMatrixZigZag(int[][] matrix) { int tR = 0; int tC = 0; int dR
阅读全文
摘要:索引目的 索引的目的在于提高查询效率,可以类比字典索引。 索引原理 通过不断的缩小想要获得数据的范围来筛选出最终想要的结果,同时把随机的事件变成顺序的事件 数据库实现比较复杂,数据保存在磁盘上,而为了提高性能,每次又可以把部分数据读入内存来计算,因为访问磁盘的成本大概是访问内存的十万倍左右 磁盘IO
阅读全文
摘要:打表找规律 某个面试题,输入参数类型简单,并且只有一个实际参数 要求的返回值类型也简单,并且只有一个 用暴力方法,把输入参数对应的返回值,打印出来看看,进而优化code 小虎去买苹果,商店只提供两种类型的塑料袋,每种类型都有任意数量。 1)能装下6个苹果的袋子 2)能装下8个苹果的袋子 小虎
阅读全文
摘要:提交频率 什么时候进行 commit 最好? 只要对项目进行了修改,一通过测试就立即 commit。比如修复完一个 bug、开发完一个小功能,或者开发完一个完整的功能,测试通过后就提交。 规定一个时间,定期提交。这里建议代码下班前固定提交一次,并且要确保本地未提交的代码,延期不超过 1 天。这样,如
阅读全文
摘要:项目开发时,一个好的 Commit Message 至关重要: 可以使自己或者其他开发人员能够清晰地知道每个 commit 的变更内容,方便快速浏览变更历史,比如可以直接略过文档类型或者格式化类型的代码变更。 可以基于这些 Commit Message 进行过滤查找,比如只查找某个版本新增的功能:g
阅读全文
摘要:项目非编码类规范 非编码类规范,主要包括开源规范、文档规范、版本规范、Commit 规范和发布规范。 编码类规范,则主要包括目录规范、代码规范、接口规范、日志规范和错误码规范。 开源规范 开源项目的代码,除了要遵守上面所说的编码类规范和非编码类规范之外,还要遵守下面几个规范。 第一,开源项目,应该有
阅读全文
摘要:配置yum源 sudo tee /etc/yum.repos.d/mongodb-org-4.4.repo<<'EOF' [mongodb-org-4.0] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$re
阅读全文
摘要:备份 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 设置阿里云 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun
阅读全文
摘要:NeoVim 是基于 Vim 的一个 fork 分支,它主要解决了 Vim8 之前版本中的异步执行、开发模式等问题,对 Vim 的兼容性很好。同时对 vim 的代码进行了大量地清理和重构,去掉了对老旧系统的支持,添加了新的特性。 虽然 Vim8 后来也新增了异步执行等特性,在使用层面两者差异不大,但
阅读全文
摘要:编译的时候报错需要g++ 解决方法: yum install gcc-c++
阅读全文
摘要:解决方法: yum install autoconf automake libtool 再重新执行
阅读全文
摘要:执行git clone的时候出现报错 git: 'remote-http' is not a git command. See 'git --help' 解决 yum install libcurl-devel yum install curl-devel 再将git进行重新编译,即可解决
阅读全文
摘要:进行源码编译的时候报错 cache.h:21:18: fatal error: zlib.h: No such file or directory #include <zlib.h> ^ compilation terminated. make: *** [fuzz-commit-graph.o]
阅读全文