04 2014 档案

变量参数
摘要:1. $ 变量替换操作符,只有在变量被申明,赋值,unset或exported或者是在变量代表一个signal的时候,变量才会以本来的面目出现在脚本里,变量在被赋值的时候,可能需要使用"=",read状态或者是循环的头部,在""中还是会发生变量替换,这叫全引用,也叫强引用2. 引用一个变量将保留其中... 阅读全文

posted @ 2014-04-25 11:22 kangbry

数据库切片
摘要:~ 阅读全文

posted @ 2014-04-23 17:59 kangbry

特殊符号
摘要:1. # a 注释,行首以#开头为注释(#!除外)b也可以出现在特定的参数替换结构或者是数字常量表达式中echo ${PATH#*:}, 2#112. ; 命令分隔符,可以用来一行写多个命令 3. ;; 制止case选项4. . a .命令等价source命令 它是一个bash的内建命令 b 作为文... 阅读全文

posted @ 2014-04-22 11:46 kangbry

c++基础知识点
摘要:1,vector,list,deque的实现。 vector是一块连续内存,当空间不足了会再分配。 list是双向链表。 map封装红黑树 deque是双端队列可在头和尾部插入、删除元素。2,红黑树特性 a. 节点不是red 就是black b. root为black c. 所有的leaf为bla... 阅读全文

posted @ 2014-04-17 23:57 kangbry

mysql知识
摘要:1.mysql定义 mysql为关系型数据库(Relational Database Management System), 这种所谓的"关系型"可以理解为"表格"的概念, 一个关系型数据库由一个或数个表格组成 1. 表头(header): 每一列的名称; 2. 列(row): 具有相同数据类... 阅读全文

posted @ 2014-04-17 20:36 kangbry

游戏算法
摘要:四叉树算法 四叉树索引的基本思想是将地理空间递归划分为不同层次的树结构。它将已知范围的空间等分成四个相等的子空间,如此递归下去,直至树的层次达到一定深度或者满足某种要求后停止分割。四叉树的结构比较简单,并且当空间数据对象分布比较均匀时,具有比较高的空间数据插入和查询效率,因此四叉树是GIS中常用的空... 阅读全文

posted @ 2014-04-13 20:27 kangbry

查找算法
摘要:1. 顺序查找: 在一个已知无(或有序)序队列中找出与给定关键字相同的数的具体位置。 算法如下: 1. 让关键字与队列中的数从第后一个开始逐个比较,直到找出与给定关键字相同的数为止,它的缺点是效率低下。2. 折半查找: 从表中间开始查找目标元素。如果找到一致元素,则查找成功。如果中间元素比目标元素小... 阅读全文

posted @ 2014-04-13 20:25 kangbry

守护进程
摘要:守护进程: 也就是通常说的Daemon进程,是Linux中的后台服务进程。它是一个生存期较长的进程,通常独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件.它可以在Linux系统启动时从启动脚本/etc/rc.d中启动,可以由作业规划进程crond启动,还可以由用户终端(通常是shell... 阅读全文

posted @ 2014-04-13 20:23 kangbry

tcp 三次握手/四次挥手/状态变迁
摘要:http://blog.chinaunix.net/uid-22312037-id-3575121.html1 序号: seq 序号 用来标识从TCP源端向目的端发送的字节流,发起方发送数据时对此进行标记2 确认序号: ack序号, 只有ack标志位为1时, 确认序列号才有效 ack = seq +... 阅读全文

posted @ 2014-04-13 20:22 kangbry

排序算法
摘要:1并归排序: 将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个有序的子序列,再把有序的子序列合并为整体有序序列。算法如下: 第一步:申请空间,使其大小为两个已经排序序列之和,该空间用来存放合并后的序列 第二步:设定两个指针,最初位置分别为两个已经排序序列的起始位置 第三步:比... 阅读全文

posted @ 2014-04-12 00:23 kangbry

服务器基本知识
摘要:一 负载均衡负载均衡是由多台服务器以对称的方式组成一个服务器集合,每台服务器都具有等价的地位,都可以单独对外提供服务而无须其他服务器的辅助。通过某种负载分担技术,将外部发送来的请求均匀分配到对称结构中的某一台服务器上,而接收到请求的服务器独立地回应客户的请求。均衡负载能够平均分配客户请求到服务器列阵,籍此提供快速获取重要数据,解决大量并发访问服务问题。 两种含义:1 单个重负载的运算分担到多台节点设备上做并行处理,每个节点设备处理结束后,将结果汇总,返回给用户,系统处理能力得到大幅度提高,这就是常说的集群(clustering)技术。2 大量的并发访问或数据流量分担到多台节点设备上分别处理,减 阅读全文

posted @ 2014-04-09 10:24 kangbry

认识leveldb
摘要:Level DB是典型的Log-Structured-Merge Tree的实现,它通过延迟写入以及Write Log Ahead技术来加速数据的写入并保障数据的安全。LevelDB的每个数据文件(sstable)中的记录都是按照Key的顺序进行排序的,但是随机写入时,key的到来是无序的,因此难以将记录插入到其排序位置。于是需要它采取一种延迟写入的方式,批量攒集一定量的数据,将它们在内存中排好序,一次性写入到磁盘中。但是这期间一旦系统断电或其他异常,则可能导致数据丢失,因此需要将数据先写入到log的文件中,这样便将随机写转化为追加写入,对于磁盘性能会有很大提升,如果进程发生中断,重启后可以根 阅读全文

posted @ 2014-04-08 11:04 kangbry

Reactor和Proactor
摘要:http://www.cnblogs.com/dawen/archive/2011/05/18/2050358.html两种I/O多路复用模式:Reactor和Proactor一般地,I/O多路复用机制都依赖于一个事件多路分离器(Event Demultiplexer)。分离器对象可将来自事件源的I/O事件分离出来,并分发到对应的read/write事件处理器(Event Handler)。开发人员预先注册需要处理的事件及其事件处理器(或回调函数);事件分离器负责将请求事件传递给事件处理器。两个与事件分离器有关的模式是Reactor和Proactor。Reactor模式采用同步IO,而Proa 阅读全文

posted @ 2014-04-02 22:09 kangbry

libevent学习 事件主循环
摘要:libevent的事件主循环主要通过event_base_loop()函数完成 开始 -> 如果发现系统时间被向后调整,校正系统时间 -> 根据timer heap中event的最小超时事件计算系统i/o demultiplexer的最大等待时间 -> 更新last wait time 清空time cache -> 调用i/o demultiplexer等待就绪的i/o events -> 检查signal的激活标,如果被设置,则检测激活signal event,并把event插入到激活链表中 -> 将就绪的i/o event插入到激活链表中 -> 阅读全文

posted @ 2014-04-02 21:53 kangbry

libevent学习 事件流程
摘要:使用libevent设置定时器1 首先应用程序准备并初始化event,设置好事件类型和回调函数 a. evet_init() 初始化libevent库 相当于初始化一个Reactor实例 b. event_set()设置回调函数和关注的事件 c event_base_set() 设置event从属的event_base2 向libevent添加该事件event,对于定时事件,libevent使用小根堆管理,key为超时时间,对于信号量和i/o事件,libevent将其放入到等待链表中,是一个双向链表结构 a event_add 添加事件 相当于Reactor::register_handler 阅读全文

posted @ 2014-04-02 21:33 kangbry

libevent学习 Reactor模式
摘要:Reactor逆置了事件处理流程, 应用程序需要提供相应接口注册到Reactor上,如果相应的事件发生,Reactor将主动调用应用程序注册的接口Reactor模型框架组件:事件源,Reactor框架,多路复用机制和事件处理程序事件源: linux是文件描述符 windows是socket或者handle,统称句柄集, 程序在指定句柄上注册关心的事件event demultiplexer -- 事件多路分发机制:由操作系统提供的i/o多路复用机制,比如select和epoll.程序首先将关心的句柄及其事件注册到event demultiplexer上,当有事件到达时,event demulti 阅读全文

posted @ 2014-04-02 20:33 kangbry

导航