上一页 1 2 3 4 5 6 ··· 17 下一页
摘要: 第一节、B树、B+树、B*树 1.前言: 动态查找树主要有:二叉查找树(Binary Search Tree),平衡二叉查找树(Balanced Binary Search Tree),红黑树(Red-Black Tree ),B-tree/B+-tree/ B*-tree (B~Tree)。前三者是典型的二叉查找树结构,其查找的时间复杂度O(log2N)与树的深度相关,那么降低树的深度自然会... 阅读全文
posted @ 2011-09-28 10:44 napoleon_liu 阅读(763) 评论(1) 推荐(0) 编辑
摘要: 日志保证了数据的持久性和事务的原子性。可以简单的认为日志是一个不断追加日志记录的文件。单条日志记录是一段二进制缓冲区。 下面是本文会使用到的几条通用的日志记录: 标示trasaction的开始 标示transcatoin成功提交,所有对数据的修改都已经成功。由于cache的存在,在日志中看到COMMIT并不一定意味着 数据的修改都已经持久化。日志的目的就是保证所有COMMIT的事务... 阅读全文
posted @ 2011-09-28 09:43 napoleon_liu 阅读(523) 评论(0) 推荐(0) 编辑
摘要: 1 事务的ACID 事务是保证数据库从一个一致性的状态永久地变成另外一个一致性状态的根本,其中,ACID是事务的基本特性。 A是Atomicity,原子性。一个事务往往涉及到许多的子操作,原子性则保证这些子操作要么都做,要么都不做,而不至于出现事务的部分操作成功,而另外一部分操作没有成功。如果事务在执行的过程中发生错误,那么数据库将回滚到事务发生之前的状态。比如银行的转账服务,这个事务... 阅读全文
posted @ 2011-09-28 09:39 napoleon_liu 阅读(240) 评论(0) 推荐(0) 编辑
摘要: C++开发 cgi, 经常需要输出xml格式的数据。借鉴个to_json.hpp的库, 实现了个to_xml库, 可以方便输出xml数据。使用范例:#include "to_xml.hpp"#include <stdio.h>struct A{ int a; struct B { int i; std::string name; std::vector<std::string> other; DEF_TO_XML_MEM3(B, i, name, other) }; std::vector<int> b; B c; std::string 阅读全文
posted @ 2011-09-20 23:43 napoleon_liu 阅读(1722) 评论(1) 推荐(1) 编辑
摘要: C++开发 cgi, 经常需要输出json格式的数据。有些数据有重复的元素,每次写这些东西既容易出错,又繁琐。 在查看msgpack这个序列化库代码的时候,受到启发,写了个to_json.hpp的库,可以方便输出json数据。使用范例:#include "to_json.hpp"#include <stdio.h>struct A{ int a; struct B { int i; std::string name; std::vector<std::string> other; DEF_TO_JSON_MEM3(i, name, other) }; 阅读全文
posted @ 2011-09-20 11:25 napoleon_liu 阅读(3313) 评论(2) 推荐(2) 编辑
摘要: PumpManual Pump User's Manual Updated Nov 1, 2010 by w...@google.com The Problem Our Solution Highlights Examples Constructs Grammar Code Real E... 阅读全文
posted @ 2011-09-20 10:36 napoleon_liu 阅读(368) 评论(0) 推荐(0) 编辑
摘要: 现在许多开放源代码的程序都会附带有 configure 脚本。这种脚本的用途之一是自动进行对目标新系统的猜测过程。在过去,程序会附带一个 Makefile 文件,这个文件中有 6 个不同的编译标记和选项,但只会用到一个,其余全部注释掉,并且会有一个注解,告诉您“为您的系统选择合适的标记”。如果配置选项更复杂,可能还会有一个名为 config.h 的长长的 C 头文件,其中包含一些要设置的标记,这依... 阅读全文
posted @ 2011-09-17 12:01 napoleon_liu 阅读(286) 评论(0) 推荐(0) 编辑
摘要: 现象 1 压力测试过程中,发现被测对象性能不够理想,具体表现为: 进程的系统态CPU消耗20,用户态CPU消耗10,系统idle大约70 2 用ps -o majflt,minflt -C program命令查看,发现majflt每秒增量为0,而minflt每秒增量大于10000。 初步分析 majflt代表major fault,中文名叫大错误,minflt代表minor ... 阅读全文
posted @ 2011-09-03 16:21 napoleon_liu 阅读(267) 评论(0) 推荐(0) 编辑
摘要: Web上的用户登录功能应该是最基本的功能了,可是在我看过一些站点的用户登录功能后,我觉得很有必要写一篇文章教大家怎么来做用户登录功能。下面的文章告诉大家这个功能可能并没有你所想像的那么简单,这是一个关系到用户安全的功能,希望大家能从下面的文章中能知道什么样的方法才是一个好的用户登录功能。以下内容,转载时请保持原文一致,并请注明作者和出处。 用户名和口令 首先,我们先来说说用户名和口令的事。这并... 阅读全文
posted @ 2011-09-01 14:56 napoleon_liu 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 一:基本术语 防火墙 防火墙限制了私网与公网的通信,它主要是将(防火墙)认为未经授权的的包丢弃,防火墙只是检验包的数据,并不修改数据包中的IP地址和TCP/UDP端口信息。 网络地址转换(NAT) 当有数据包通过时,网络地址转换器不仅检查包的信息,还要将包头中的IP地址和端口信息进行修改。以使得处于NAT之后的机器共享几个仅有的公网IP地址(通常是一个)。网络地址转换器主要有两种类型. P2P应用... 阅读全文
posted @ 2011-08-15 16:40 napoleon_liu 阅读(330) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 17 下一页