最近更新

mongo孤儿数据

主要介绍什么是孤儿数据,以及孤儿数据的产生,另外还有为什么孤儿数据会被查询到,并对查询的结果产生影响。

python old school和new school用法

python2.1(包括2.1)之前的版本只存在旧式类(old school class),python2.2版本之后便出现了新式类new school class。 旧式类生成的时候是没有继承任何类,新式类则继承了object类。python2的类如果没有继承object,那么该类则是旧式类,继承了object...

bully算法

Bully算法是一种协调者(主节点)竞选算法,主要思想是集群中的每个成员都可以声明它是主节点并通知其他节点。其他节点可以选择接受这个声明或者拒绝并进入主节点竞争。被其他所有节点接受的节点才能成为主节点。节点按照一些属性(比如进程ID)来判断应该接受谁胜出。Mongo早期的版本便是采用bully进行主节点选取。

paxos一致性算法

在分布式的环境下,保持状态数据的一致性非常重要,目前的分布式系统大多采用最终一致性算法。其中比较有名的便是paxos。比如mongo,

c++ tinyxml使用

主要介绍tinyxml的使用、优缺点.以及源码阅读。

c++ tinyxml使用

主要介绍tinyxml的使用、优缺点.以及源码阅读。

红黑树

二叉搜索树可以快速定位一个给定关键字的数据项,可以快速插入和删除数据。二叉树存在一个问题,如果插入的数据是正序或者逆序的数据,二叉搜索树的执行会变慢,因为有序的二叉树是非平衡的,此时的二叉树类似与链表。 红黑树,基于二叉搜索树,二叉搜索树可以快速地找到一个给定的关键字的数据项,并且可以快速地插入和删除数据项。以较...

python descriptor用法

初学python的时候,以为python的代码块结束以缩进来控制即可。随着深入学习,发现了python可以支持跟shell一样以end来结束代码

nginx负载均衡

nginx的负载均衡功能很早之前就听说了,一直没有部署使用该功能。在项目中分析程序打印的日志,根据相似度将日志归类。由于相似度的计算对精度要求不高,只是简单的分类,这个是后话(后续的博客会更新相似度计算的方法)。分析出结果之后要以一个比较直观的方式显示给程序看,所以考虑到数据可视化,就使用百度的框架echats来...

sed命令

sed指令, 流编辑器,文本处理中非常中的工具.与正则表达式完美配合使用,功能非常强大。执行时,把当前处理的行存储在临时缓冲区中,称为”模式空间”(pattern pace),sed命令处理缓冲区中的内容,处理完成后把缓冲区中的内容输出到屏幕上。接着处理下一行,不断循环,直至文件结束。文件内容并没有改变,除非重定...

awk命令

用于在linux/unix下对文本和数据进行处理。数据可以来自标准输入(stdin)、一个或多个文件,或其它命令的输出。它支持用户自定义函数和动态正则表达式等先进功能,是linux/unix下的一个强大编程工具。它在命令行中使用,但更多是作为脚本来使用。awk有很多内建的功能,比如数组、函数等,这是它和C语言的相...

python用shell的end结束代码块

初学python的时候,以为python的代码块结束以缩进来控制即可。随着深入学习,发现了python可以支持跟shell一样以end来结束代码

itertools模块

itertools模块在python中处理可迭代的对象很方便。