- 博客(15)
- 资源 (16)
- 收藏
- 关注
原创 C++ Cheat Sheet (keep updating ...)
有一阵子没有关注C++了,随着年纪增长记忆力下降,感觉需要一个小抄记录些C++的知识可以随时查阅,碰到什么值得记录知识点就记录在这里,时不时更新下这个文档。
2017-12-31 11:50:13
731
原创 Epoll的一些事情
Epoll出现使得Linux平台上C10K迎刃而解。这里不说epoll的使用,man/google一下即可,只关注三个微小的方面:线程安全,触发机制以及客户端断开。
2017-12-31 11:47:26
652
原创 C++11 Memory Model
Herb Sutter在一次对C++11内存模型的演讲中提到C++11的内存模型,让C++有了标准独立于编译器和平台线程库和标准的多线程内存控制方式。
2017-12-31 11:42:32
1366
原创 分布式原理与工程 —— Quorum机制
Quorum机制是一种分布式系统中常用的,用来保证数据冗余和最终一致性的投票算法 其主要数学思想来源于鸽巢原理1。Quorum机制定义我们普遍使用副本(Replication)技术来保证一致的性能和高可用性2,Quorum是一种简单有效的管理副本的机制,我们先建立如下定以([2]中也有描述): N = 存储数据副本的节点的数量 W = 更新成功所需的副本更新成功的数量 R = 一次
2017-12-31 11:41:12
602
翻译 [译]Eventually-Consistent - Revisited
译者注:这是AWS CTO Werner Vogels写的一致性模型的经典文章在其博客All Things Distributed上亦有发布。
2017-12-31 11:29:13
469
原创 Learning-Design-and-Coding-From-LevelDB (keep updating)
LevelDB is a fast key-value storage library written at Google by Jeff Dean that provides an ordered mapping from string keys to string values. We could learn design and coding from the source code.概述in
2017-12-31 11:23:40
240
原创 LeetCode with C++ and Java and little Scala (持续更新)
LeetCode的题目非常是碎片化时间来做,而且可以尝试最新的C++标准和多种语言, 正好要学习Java,就C++和Java两种语言来做题,如果碰到方便用immutable方式的题目就再用Scala做一下。
2017-12-31 11:10:52
599
原创 由一段代码来深入理解C语言宏
直接上代码吧,就5行:#define QUOTEME_(x) #x#define QUOTE(x) QUOTEME_(x)#define LOG_DEBUG(fmt, ...) \ write_log(log::DEBUG, "["__FILE__ ":" QUOTE(__LINE__)"] " fmt, ##__VA_ARGS__这一段代码有几个宏的相关技巧(下
2014-12-29 20:19:38
1138
原创 RAII 想到AutoLock,Mutex类和C++11中的unique_lock
RAII(Resource Acquisition Is Initialization)
2014-11-05 09:31:01
1517
原创 leveldb源码解析1——内存管理类Arena
leveldb的介绍这里不多说了,Jeff Dean其人:http://research.google.com/people/jeff/index.html,Google大规模分布式平台Bigtable和MapReduce主要设计和实现者。
2014-09-14 20:50:53
1816
原创 使用mmap和posix semaphores做进程间通信与同步
为什么要使用mmap进行IPC呢,个人总结有三点:接口简单好用多进程操作同一文件的时候使用mmap维护一下读写信息的meta数据非常方便方便在非亲属进程间同步时使用为什么要用posix semaphore进程同步呢,个人总结有三点:接口简单好用效率高,在Linux3.2.0开销只有0.41个Clock(而XSI semaphore有7.33)方便在非亲属进程间同步时使用
2014-09-13 23:41:38
1974
原创 一个简单实用的log类
自己写一些小代码的时候总是用fprintf来写log,感觉这样不太科学,还是写一个通用的简单带log level的log类,以后就拿来复用吧。这个类实现了非常简单的功能:如果指定了log文件path和name创建一个log文件,并将各种level的写入文件中,否则都打印到屏幕,其使用方式也和printf一样,比如log.msg("xxx%d %s", xx,xxx)。代码://------
2014-08-25 21:43:01
1674
原创 C++简洁实现线程安全单例类
关于单例模式这里不再多说了,网上很多例子。这里实现一个很通用的,线程安全的单例类,具体应用场景如:线程池的任务队列,epoll事件框架类等。
2014-07-30 00:34:26
1327
具体数学(英文版与中文版)
2011-11-12
Visual C++2008入门经典
2010-11-24
UNIX环境高级编程(英文版)
2010-09-21
TCP-IP详解 卷3part5
2010-09-18
TCP-IP详解 卷3part4
2010-09-18
TCP-IP详解 卷3part3
2010-09-18
TCP-IP详解 卷3part2
2010-09-18
TCP-IP详解 卷3part1
2010-09-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人