I++ Club
  • 首页
  • 归档
  • 分类
  • 标签
  • 关于
mongo 源码阅读感悟(一)

mongo 源码阅读感悟(一)

其实开头的这一篇不完全是阅读 mongo 时的感悟,也包括了我在 leveldb 中学到的技巧。看过 leveldb 的应该都知道,这份代码的注释不算清楚,文档也少,阅读体验不算好,需要 C++ 开发者有足够的经验。因此有些东西我到了mongo才真正了解它们的作用。也是十分惭愧。 最近在阅读 mongo/bson 的源码,我试图去实现一个 bson,在造轮子的过程中学习他们的编程技巧,事
2016-06-12
未分类
#C++ #mongo
读 leveldb 的感悟 :Cache的设计

读 leveldb 的感悟 :Cache的设计

leveldb允许Cache(一个缓冲区的抽象)作为一个Option,用户可以自定义它的实现。具体来说就是这样: 1234class Options { ... Cache *block_cache;}; 这是一个难度较高的设计需求。 表面上按照逻辑,首先我们定义好Cache的接口,用户可以自行设置Cache的实现,leveldb默认用自己的 ShardedLRU
2016-05-05
未分类
#C++ #LevelDB
C++ 的三种实现接口的方式

C++ 的三种实现接口的方式

传统 interface想要实现 interface,在绝大多数 OOP 语言中,会被认为只有一种。如 java 和 C# 的 interface specifier,C++ 的 pure virtual function。通常接口类中强制的不能拥有实现,继承接口的子类至少享有两个名字,一个是自身定义的命名,一个是接口名。通常子类转父类(up-cast)在编译期(compile-time)决定,父
2016-03-11
未分类
#C++
Swift之AnyClass与动态类型

Swift之AnyClass与动态类型

这次写一下关于Swift中AnyClass的使用以及动态类型的实例化和使用场景 AnyClass与AnyObjectSwift中,任何自定义的对象都是AnyObject的子类,类似于Java的Object类(但注意,这和Objective-C的NSObject不同,后者在Swift中是专门的UIKit或者AppKit框架里面定义的类型,而非语言所规定的类型) AnyClassThe prot
2015-12-26
未分类
#Swift
我对C++的编程思考

我对C++的编程思考

我最近想要这样一个分享平台:它既可以作为我的笔记工具,记录一些文字不太多又不太少的技术知识,又可以作为一个社交平台让别人认识我,让我可以装逼。微博限制字数,朋友圈也不太合适,于是我还是在博客里开一个以后可能会继续更新的文章。现在 I++ 里的博文只有我在做 C++ 的分享,以后如果有人做同样的事情,甚至写了同名的文章,那就可能要给这整个博客做点修改了,比如在博客的 timeline 上加上作者头像
2015-12-23
未分类
#C++
React-Native -- 下一代UI开发思维

React-Native -- 下一代UI开发思维

React 与状态React.js自从Facebook一推出,就受到Web前端工程师的强烈推崇。虽说曾经火过一时的Angular.js颠覆了前端的工程,但是React更多颠覆的,是下一代UI编程的思维。 传统UI编程,基本很多地方都需要将数据来源,绑定到对应的UI对象,比如用户点击了一个操作,更改了名称,那么你需要更新执行一个回调函数来处理点击操作,并且把新的数据更新原有的UI对象的属性,比如大概
2015-11-05
未分类
#React-Native #IOS #Javascript #Swift
Random Binary Search Tree - Treap

Random Binary Search Tree - Treap

BST插入顺序与平衡性众所周知,二查搜索树(BST)的搜索、插入、删除的复杂度等于树高,所以平衡度越高,越接近$ O(nlogn) $,越有序越退化为$ O(n) $ …………………… 对于左侧的BST来说,只有唯一的构造序列:$ <1,2,\dots,14> $ 但对于右侧的BST,可以存在21964800种不同序列 也就是说,随即插入序列到二叉树所形成的平衡度,将大于部分有序插
2015-11-03
未分类
#数据结构
1…4567

搜索

Hexo Fluid