自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

macchan的专栏

简简单单,热爱技术。

  • 博客(15)
  • 资源 (16)
  • 收藏
  • 关注

原创 C++ Cheat Sheet (keep updating ...)

有一阵子没有关注C++了,随着年纪增长记忆力下降,感觉需要一个小抄记录些C++的知识可以随时查阅,碰到什么值得记录知识点就记录在这里,时不时更新下这个文档。

2017-12-31 11:50:13 644

原创 Epoll的一些事情

Epoll出现使得Linux平台上C10K迎刃而解。这里不说epoll的使用,man/google一下即可,只关注三个微小的方面:线程安全,触发机制以及客户端断开。

2017-12-31 11:47:26 429

原创 C++11 Memory Model

Herb Sutter在一次对C++11内存模型的演讲中提到C++11的内存模型,让C++有了标准独立于编译器和平台线程库和标准的多线程内存控制方式。

2017-12-31 11:42:32 1297

原创 分布式原理与工程 —— Quorum机制

Quorum机制是一种分布式系统中常用的,用来保证数据冗余和最终一致性的投票算法 其主要数学思想来源于鸽巢原理1。Quorum机制定义我们普遍使用副本(Replication)技术来保证一致的性能和高可用性2,Quorum是一种简单有效的管理副本的机制,我们先建立如下定以([2]中也有描述): N = 存储数据副本的节点的数量 W = 更新成功所需的副本更新成功的数量 R = 一次

2017-12-31 11:41:12 511

翻译 [译]Eventually-Consistent - Revisited

译者注:这是AWS CTO Werner Vogels写的一致性模型的经典文章在其博客All Things Distributed上亦有发布。

2017-12-31 11:29:13 423

原创 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 196

原创 LeetCode with C++ and Java and little Scala (持续更新)

LeetCode的题目非常是碎片化时间来做,而且可以尝试最新的C++标准和多种语言, 正好要学习Java,就C++和Java两种语言来做题,如果碰到方便用immutable方式的题目就再用Scala做一下。

2017-12-31 11:10:52 535

原创 由一段代码来深入理解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 1082

原创 RAII 想到AutoLock,Mutex类和C++11中的unique_lock

RAII(Resource Acquisition Is Initialization)

2014-11-05 09:31:01 1465

原创 leveldb源码解析1——内存管理类Arena

leveldb的介绍这里不多说了,Jeff Dean其人:http://research.google.com/people/jeff/index.html,Google大规模分布式平台Bigtable和MapReduce主要设计和实现者。

2014-09-14 20:50:53 1756

原创 使用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 1827

原创 一个简单实用的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 1622

原创 intptr_t详解

看leveldb代码时候发现inptr_t居然不知道是啥,

2014-08-20 09:46:03 27028 1

原创 变长数据结构及其应用

在介绍编程数组之前先说一个应用场景,

2014-08-16 21:29:40 771

原创 C++简洁实现线程安全单例类

关于单例模式这里不再多说了,网上很多例子。这里实现一个很通用的,线程安全的单例类,具体应用场景如:线程池的任务队列,epoll事件框架类等。

2014-07-30 00:34:26 1249 2

具体数学(英文版与中文版)

这本书很经典,是研究计算机系统,特别是计算机编程不可缺少的书,给出了很多编程的思想和算法。虽然书中介绍的都是数学知识,但是算法是软件的灵魂,而数学是算法的基础,而且这本书所介绍的数学知识是你从事编程中必须具备的。 一开始看很难,但是研究一段时间,你会发现真的提高你的编程能力,磨练你的编程思维。比如很多实际问题,你可能通过编程解决它有点迷惑,但是这本书教你如何把一个实际问题一步步演化为数学模型,然后通过计算机解决它。

2011-11-12

简明python教程(中文+英文)

想要进入python的自由天空吗,看了这个之后你就会快速入门了。 不用纠结每个细节,先总体理解这个语言特性。

2011-09-17

程序员面试宝典

最近要找工作了,有志于从事软件行业的人们可以看看这本程序员面试宝典,在面试中会用到。

2011-09-16

算法导论答案 中文版

算法导论答案中文版,虽然有两章没有,但是凑合着用吧。

2011-05-09

unix shell 范例精讲

学习unix shell script的好东西

2011-05-09

Visual C++2008入门经典

本书系编程语言先驱者Ivor Horton的经典之作,是C++编程方面最畅销的图书品种之一,不仅涵盖了Visual C++ 2008编程知识,还全面介绍了标准C++语言和C++/CLI。本书延续了Ivor Horton讲解编程语言的独特方法,从中读者可以学习Visual C++ 2008的基础知识,了解如何使用MFC进行本地ISO/ANSI C++ Windows应用程序开发以及如何使用Windows Forms进行C++/CLI Windows应用程序开发,并全面掌握在MFC和Windows Forms中访问数据源的技术。此外,本书各章后面的习题将有助于读者温故而知新,并尽快成为C++高效程序员。

2010-11-24

UNIX环境高级编程(英文版)

详细介绍了UNIX系统函数的用法,并用大量的代码和示例程序进行演示,对实际编程具有指导意义。全书共9章,内容包括:基本概念、基本文件I/O、高级文件I/0、终端I/O、进程与线程、基本进程间通信、高级进程间通信、网络技术与套接字,以及信号与定时器等。涉及POSIX、FreeBSD、Solaris、Linux等几大主流系统实现。每章末都给出一了些练习,一些是简单的程序设计问题,还有一些可以作为学期的UNIX程序设计项目。

2010-09-21

TCP-IP详解 卷3part5

第三卷的内容细节覆盖了当今TCP/IP编程人员和网络管理员必须熟练掌握的四个基本方面: T/TCP (TCP事务协议),这是对TCP的扩展,使客户--服务器间的事务传输更快更有效和更可靠; HTTP (超文本传送协议),这是飞速扩展中的万维网的基础; NNTP (网络新闻传送协议),这是Usennet新闻系统的基础; UNIX域协议,这是在UNIX实现中应用非常广泛的一套协议。 与前面两卷一样,本书有丰富的例子和实现的细节,他们都是4.4BSD-Lite中的网络代码。

2010-09-18

TCP-IP详解 卷3part4

第三卷的内容细节覆盖了当今TCP/IP编程人员和网络管理员必须熟练掌握的四个基本方面: T/TCP (TCP事务协议),这是对TCP的扩展,使客户--服务器间的事务传输更快更有效和更可靠; HTTP (超文本传送协议),这是飞速扩展中的万维网的基础; NNTP (网络新闻传送协议),这是Usennet新闻系统的基础; UNIX域协议,这是在UNIX实现中应用非常广泛的一套协议。 与前面两卷一样,本书有丰富的例子和实现的细节,他们都是4.4BSD-Lite中的网络代码。

2010-09-18

TCP-IP详解 卷3part3

第三卷的内容细节覆盖了当今TCP/IP编程人员和网络管理员必须熟练掌握的四个基本方面: T/TCP (TCP事务协议),这是对TCP的扩展,使客户--服务器间的事务传输更快更有效和更可靠; HTTP (超文本传送协议),这是飞速扩展中的万维网的基础; NNTP (网络新闻传送协议),这是Usennet新闻系统的基础; UNIX域协议,这是在UNIX实现中应用非常广泛的一套协议。 与前面两卷一样,本书有丰富的例子和实现的细节,他们都是4.4BSD-Lite中的网络代码。

2010-09-18

TCP-IP详解 卷3part2

第三卷的内容细节覆盖了当今TCP/IP编程人员和网络管理员必须熟练掌握的四个基本方面: T/TCP (TCP事务协议),这是对TCP的扩展,使客户--服务器间的事务传输更快更有效和更可靠; HTTP (超文本传送协议),这是飞速扩展中的万维网的基础; NNTP (网络新闻传送协议),这是Usennet新闻系统的基础; UNIX域协议,这是在UNIX实现中应用非常广泛的一套协议。 与前面两卷一样,本书有丰富的例子和实现的细节,他们都是4.4BSD-Lite中的网络代码。

2010-09-18

TCP-IP详解 卷3part1

第三卷的内容细节覆盖了当今TCP/IP编程人员和网络管理员必须熟练掌握的四个基本方面: T/TCP (TCP事务协议),这是对TCP的扩展,使客户--服务器间的事务传输更快更有效和更可靠; HTTP (超文本传送协议),这是飞速扩展中的万维网的基础; NNTP (网络新闻传送协议),这是Usennet新闻系统的基础; UNIX域协议,这是在UNIX实现中应用非常广泛的一套协议。 与前面两卷一样,本书有丰富的例子和实现的细节,他们都是4.4BSD-Lite中的网络代码。

2010-09-18

中科院信息工程学院招生简章

也许大家都不怎么熟悉这个新成立的招生机构,这是中科院信息工程学院的招生简章。

2009-05-19

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除