Fork me on GitHub
  2018年12月6日
摘要: 1. 传统算法:quorum NRW, 2pc, 3pc等 2. Paxos算法 论文:《paxos made simple》, 《The Part-Time Parliament》 微信已经基于paxos开发了一套组件: phxpaxos框架源码, 租约型paxos算法实现 https://git 阅读全文
posted @ 2018-12-06 17:14 coderkian 阅读(502) 评论(0) 推荐(0) 编辑
  2014年10月28日
摘要: lua是扩展性非常良好的语言,虽然核心非常精简,但是用户可以依靠lua库来实现大部分工作。除此之外,lua还可以通过与C函数相互调用来扩展程序功能。在C中嵌入lua脚本既可以让用户在不重新编译代码的情况下修改lua代码更新程序,也可以给用户提供一个自由定制的接口,这种方法遵循了机制与策略分离的原则。... 阅读全文
posted @ 2014-10-28 20:28 coderkian 阅读(13814) 评论(1) 推荐(0) 编辑
  2014年10月26日
摘要: 一,lua协程简介 协程(coroutine),意思就是协作的例程,最早由Melvin Conway在1963年提出并实现。跟主流程序语言中的线程不一样,线程属于侵入式组件,线程实现的系统称之为抢占式多任务系统,而协程实现的多任务系统成为协作式多任务系统。线程由于缺乏yield语义,所以运行过程中不... 阅读全文
posted @ 2014-10-26 21:56 coderkian 阅读(3422) 评论(0) 推荐(2) 编辑
  2014年10月25日
摘要: 一、 前言lua是一种非常轻量的动态类型语言,在1993年由由Roberto Ierusalimschy、Waldemar Celes 和 Luiz Henrique de Figueiredo等人发明,lua的设计目标是轻便地嵌入宿主语言,增强系统的可扩展性和可定制性。lua的源码只有两万余行,非... 阅读全文
posted @ 2014-10-25 23:33 coderkian 阅读(2026) 评论(0) 推荐(0) 编辑
  2014年9月15日
摘要: 单例模式是使用最广泛,也最简单的设计模式之一,作用是保证一个类只有一个实例。单例模式是对全局变量的一种改进,避免全局变量污染命名空间。因为以下几个原因,全局变量不能作为单例的实现方式:1. 不能保证只有一个全局变量2. 静态初始化时可能没有足够的信息创建对象3. c++中全局对象的构造顺序是未定义的... 阅读全文
posted @ 2014-09-15 21:41 coderkian 阅读(1267) 评论(2) 推荐(3) 编辑
  2014年9月11日
摘要: builder模式主要用于创建复杂对象,着重于复杂对象的内部构建。通过将构建过程与表示分离,同一个构建过程可以生产不同的外部表示。builder模式由导向器和生成器构成,导向器负责构建过程,生成器负责生产对象的外部表示。导向器包含有一个生成器,当需要更换对象表示时,只需要换一个生成器即可。上篇文章设... 阅读全文
posted @ 2014-09-11 21:27 coderkian 阅读(988) 评论(0) 推荐(0) 编辑
  2014年9月10日
摘要: 重新思考一下前两篇文章提到的芯片设计软件,factory method模式可以通过实例化 RoundFactory,RecFactory和TriFactory来分别实现 MaskRound, MaskRec和MaskTri对象,将在掩模上设计圆形,矩形和三角形的功能延迟到子类当中,不过 MaskRo... 阅读全文
posted @ 2014-09-10 21:49 coderkian 阅读(567) 评论(0) 推荐(0) 编辑
  2014年9月9日
摘要: prototype模式通过实例对象指定需要创建的类型,这与上一篇我们提到的factory method模式有本质不同,factory method模式是通过类的继承定义不同子类来达到创建不同类型对象的目的,属于类模式,prototype模式通过调用组合的对象成员生成不同类型的对象实例,属于对象模式。... 阅读全文
posted @ 2014-09-09 00:13 coderkian 阅读(993) 评论(0) 推荐(0) 编辑
  2014年9月4日
摘要: 设计模式一直是面向对象软件设计中最重要的一个领域,围绕设计模式讨论的话题也是数不胜数,其中GOF代表的23种设计模式更是经典之著。这个系列中我将会从自己的理解出发,阐述每种设计模式的思想,作用和利弊。一、 设计模式概念要讲解设计模式,必然先要说清楚两个问题,1.什么是设计模式?2.为什么需要设计模式... 阅读全文
posted @ 2014-09-04 21:25 coderkian 阅读(1159) 评论(2) 推荐(0) 编辑
  2014年8月21日
摘要: 本文主要分析g++ stl中哈希表的实现方法。stl中,除了以红黑树为底层存储结构的map和set,还有用哈希表实现的hash_map和hash_set。map和set的查询时间是对数级的,而hash_map和hash_set更快,可以达到常数级,不过哈希表需要更多内存空间,属于以空间换时间的用法,... 阅读全文
posted @ 2014-08-21 22:12 coderkian 阅读(2816) 评论(0) 推荐(1) 编辑


作者:coderkian
出处:http://www.cnblogs.com/coderkian/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。