- 博客(92)
- 资源 (8)
- 收藏
- 关注
转载 Automake 使用手册
转自:http://blog.youkuaiyun.com/romandion/article/details/1688234
2014-06-27 10:04:09
4659
原创 <心跳连接一>关于信号有关的APUE和SIGALRM信号实例
1 信号基本原理和函数接口(1)APUE一书中第10章信号该章节详细讲解了unix系统信号相关的内容,下面这篇文章很好的总结了本章的知识概要,原文链接:http://blog.youkuaiyun.com/atfield/article/details/1532506每小节知识实例参见《APUE》第十章p233~285.(2)信号的“未决”和“阻塞”原文链接:http://blog
2014-01-23 17:34:57
1428
转载 C++虚函数表的解析
原文链接:http://blog.youkuaiyun.com/haoel/article/details/1948051/C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,R
2014-01-13 10:25:58
830
转载 《转自知乎》12306能否外包给IBM等大数据行业牛x的企业?回答很犀利
原文链接:http://www.zhihu.com/question/22451397涉及到新技术:x86/Linux分布式内存集群系统12306首秀被骂的狗血喷头后铁道部找来IBM、阿里巴巴等大企业要解决方案,给出的条件是资金管够但是问题得解决。几大企业最后都拒绝了。12306开始自己尝试解决问题。他们发现市面上可以买到的成套解决方案都不足以应付春运购票负载,所以只能自己改进已有
2014-01-09 21:25:14
2831
转载 【c#界面和后台c++通信】跨平台数据通信的选择:Google ProtoBuf
本项目的windows客户端界面使用的是C# Winform界面编程简单实现,主要实现的是登录和设置两个界面。由于该界面不是最后的需求,合作方可能有大的改动,只是简单地实现客户端 的功能。为了使得界面和后台运行程序的完全解耦和,选择gooleProtobuf的数据通信格式,用Socket封装设置请求,界面和后台进行通信。 以下非原创,由本人进行摘录。引用:http://blog.
2013-12-30 16:04:56
5818
转载 C#中字符数组,字节数组和string之间的转化
原文链接:http://hi.baidu.com/endyli/item/7bf074945de35e1f934f41fe来源:NDC(NetworkDiskClient)的界面和后台程序之间用Socket通信,发送命令。环境:界面:C# winform 后台:Vc++,消息通知 网络通信,C#是通过网络字节流进行传输的,传输内容是有报文头的Protobu
2013-12-30 10:14:57
18580
转载 架构设计:生产者/消费者模式 第6页:环形缓冲区的实现
原文链接:http://blog.youkuaiyun.com/caisini_vc/article/details/5599561正文:◇判断“空”和“满” 上述的操作并不复杂,不过有一个小小的麻烦:空环和满环的时候,R和W都指向同一个位置!这样就无法判断到底是“空”还是“满”。大体上有两种方法可以解决该问题。 办法1:始终保持一个元素不用
2013-12-23 21:12:53
1012
转载 架构设计:生产者/消费者模式 第5页:环形缓冲区
原文链接:http://blog.youkuaiyun.com/caisini_vc/article/details/5599537正文:[3]:环形缓冲区 前一个帖子提及了队列缓冲区可能存在的性能问题及解决方法:环形缓冲区。今天就专门来描述一下这个话题。 为了防止有人给咱扣上“过度设计”的大帽子,事先声明一下:只有当存储空间的分配/释放非常频繁并且确实产生了明显的
2013-12-23 21:12:08
803
转载 架构设计:生产者/消费者模式 第4页:注意事项
原文链接: http://blog.youkuaiyun.com/caisini_vc/article/details/5599529正文:顺便补充几个注意事项,大伙儿留意一下: 1、对stdio进行读写操作是以阻塞方式进行。比如管道中没有数据,消费者进程的读操作就会一直停在哪儿,直到管道中重新有数据。 2、由于stdio内部带有自己的缓冲区(这缓冲区和管道
2013-12-23 21:11:09
771
转载 架构设计:生产者/消费者模式 第3页:队列缓冲区
原文链接: http://blog.youkuaiyun.com/caisini_vc/article/details/5599520正文:[2]:队列缓冲区 经过前面两个帖子的铺垫,今天终于开始聊一些具体的编程技术了。由于不同的缓冲区类型、不同的并发场景对于具体的技术实现有较大的影响。为了深入浅出、便 于大伙儿理解,咱们先来介绍最传统、最常见的方式。也就是单个生产者对应单个消费
2013-12-23 21:10:23
956
转载 架构设计:生产者/消费者模式 第2页:如何确定数据单元
原文链接: http://blog.youkuaiyun.com/caisini_vc/article/details/5599511费了这么多口水,希望原先不太了解生产者/消费者模式的同学能够明白它是怎么一回事。然后在下一个帖子中,我们来说说如何确定数据单元。 另外,为了方便阅读,把本系列帖子的目录整理如下: 1、如何确定数据单元 2、队列缓冲区
2013-12-23 21:09:35
747
转载 架构设计:生产者/消费者模式 第1页:“生产者/消费者模式”介绍
原文链接: http://blog.youkuaiyun.com/caisini_vc/article/details/5599493正文:★简介 在实际的软件开发过程中,经常会碰到如下场景:某个模块负责产生数据,这些数据由另一个模块来负责处理(此处的模块是广义的,可以是类、函数、线程、进程等)。产生数据的模块,就形象地称为生产者;而处理数据的模块,就称为消费者。
2013-12-23 21:08:21
795
转载 关于sqrt函数的效率跟踪
原文链接:http://diducoder.com/sotry-about-sqrt.html偶尔在网上看到的,原作者很有追寻探索的精神,与君共勉。我们平时经常会有一些数据运算的操作,需要调用sqrt,exp,abs等函数,那么时候你有没有想过:这个些函数系统是如何实现的?就拿最常用的sqrt函数来说吧,系统怎么来实现这个经常调用的函数呢?虽然有可能你平时没有想过这
2013-12-23 17:49:32
1289
转载 界面库RingSDK和金山开源KUI界面
做一个客户端软件的时候,一直在找真正开源和免费的界面库。根据查找的经历,推介两个界面库。得首先感谢各位高手的奉献精神。 1,RingSDK。这是一个高手根据自己编程经验总结的一个界面库。SVN 下载地址:svn://svnhost.cn/RingSDK相关介绍:http://blog.youkuaiyun.com/ringphone/article/de
2013-12-10 09:56:25
9855
转载 编程面试的10大算法概念汇总
原文链接 http://blog.jobbole.com/52144/以下是在编程面试中排名前10的算法相关的概念,我会通过一些简单的例子来阐述这些概念。由于完全掌握这些概念需要更多的努力,因此这份列表只是作为一个介绍。本文将从Java的角度看问题,包含下面的这些概念:1. 字符串2. 链表3. 树4. 图5. 排序6. 递归 vs. 迭代7.
2013-12-03 21:21:04
999
转载 淘宝应对双"11"的技术架构分析
原文链接:http://blog.youkuaiyun.com/jinhill/article/details/16371117淘宝应对双"11"的技术架构分析 双“11”最热门的话题是TB ,最近正好和阿里的一个朋友聊淘宝的技术架构,发现很多有意思的地方,分享一下他们的解析资料:淘宝海量数据产品技术架构数据产品的一个最大特点是数据的非实时写入,正因为如此,我们可
2013-11-28 11:55:58
1456
转载 Winddows 消息队列原理和编程实例
原文链接:http://www.vckbase.com/index.php/wv/1593在Cstore中,客户端程序中各线程间的通信机制采用的是windows消息队列。本文主要包括以下内容:1、简单理解Windows的消息2、通过一个简单的Win32程序理解Windows消息3、通过几个Win32程序实例进一步深入理解Windows消息4、队列消息和非队列消息5、
2013-11-14 10:32:29
6923
转载 大规模数据处理利器:BloomFilter
在Cstore中,SU运用的是延迟回收机制,根据定时启动独立线程,遍历MU的所有文件夹,将每个存在的文件的index做BloomFilter写入NFS中,SU从NFS中取得文件存在位图,根据标记位若是为0,则表明该文件已经删除,(MU的机制是将存在的文件都将BloomFilter的位置为1)对相应的文件做删除操作(同时删除文件表和文件)。下面为具体BloomFilter的原理:原文
2013-11-11 21:15:22
930
原创 SHA1和MD5加密算法对文件加密
Sha1和MD5算法多用于对下载文件进行检验,对计算出来的哈希值与公布的哈希值对比对,相同,则表明文件下载正确。在 Linux 下如何计算这两种哈希值呢,基本上所有的 Linux 发行版都内置了这两个命令,比如要校检的文件命为 download.iso: 1. 计算文件的 MD5 - md5sum # md5sum download.iso b9555cc19156522
2013-11-08 10:29:58
2504
转载 Source Monitor的使用
原文链接:http://chenuaizhang2008.blog.163.com/blog/static/7276357201273103658976/C语言度量值(C Metrics)前面讲了那么多,还没提到代码度量的核心内容——度量值。下面以C语言度量值为例,看看SourceMonitor都给我们反馈了哪些信息。总行数(Lines):包括空行在内的
2013-11-07 13:56:07
3205
转载 Epoll实现原理解析
原文链接:http://blog.chinaunix.net/uid-20792262-id-2909847.html1. 功能介绍 epoll与select/poll不同的一点是,它是由一组系统调用组成。 int epoll_create(int size); int epoll_ctl(int epfd, int op, int fd, str
2013-11-07 13:47:55
1770
转载 事件触发机制:Poll,Select和Epoll实现原理分析
Poll和Select和Epoll都是事件触发机制,当等待的事件发生就触发进行处理,多用于linux实现的服务器对客户端连接的处理。Poll和Select都是这样的机制:可以阻塞地同时探测一组支持非阻塞的IO设备,是否有事件发生(如可读,可写,有高优先级的错误输出,出现错误等等),直至某一个设备触发了事件或者超过了指定的等待时间——也就是它们的职责不是做IO,而是帮助调用者寻找当前就绪的设备。
2013-11-07 13:36:05
10821
1
转载 关于C++重载赋值运算符"="的讨论
原文地址:http://www.vckbase.com/index.php/wv/219[问题的提出]:在很多书籍和文章中,很多次提到在对赋值操作符(=)进行重载的时候,要返回对目的(调用)对象实例(*this)的引用。其中不免有这样的论断:一定要返回对调用对象的引用;返回对调用实例对象的引用是为了实现链式连续赋值。这里说明两个问题:第一,是否重载赋
2013-10-29 16:09:31
2488
转载 EPOLL实现原理和应用实例
高性能的网络服务器需要同时并发处理大量的客户端,而采用以前的那种对每个连接使用一个分开的线程或进程方法效率不高,因为处理大量客户端的时候, 资源的使用及进程上下文的切换将会影响服务器的性能。一个可替代的方法是在一个单一的线程中使用非阻塞的I/O(non-blocking I/O)。 这篇文章主要介绍linux下的epoll(7)方法,其有着良好的就绪事件通知机制。我们将会使用
2013-10-25 11:15:00
1817
转载 linux资源限制函数:getrlimit,setrlimit函数(设置文件打开数)
问题来源:在代理服务器的压力测试时,发生的“too many open files”getrlimit,setrlimit函数 getrlimit允许一个进程查询所受的的系统限制.这些系统限制通过一对硬/软限制对来指定。当一个软限制被超过时,进程还可以继续,当然这取决于限 制的类型,同时一个信号会发送给进程。另一方面,进程不可以超过它的硬限制。软限制值可以被进程设置
2013-10-15 10:08:54
2040
转载 剖析 epoll ET/LT 触发方式的性能差异误解(定性分析)
平时大家使用 epoll 时都知道其事件触发模式有默认的 level-trigger 模式和通过 EPOLLET 启用的 edge-trigger 模式两种。从 epoll 发展历史来看,它刚诞生时只有 edge-trigger 模式,后来因容易产生 race-cond 且不易被开发者理解,又增加了 level-trigger 模式并作为默认处理方式。二者的差异在于 level-trigg
2013-05-21 21:48:45
732
转载 TCP3次握手和4次挥手具体状态
转自:http://blog.youkuaiyun.com/kasagawa/article/details/6978890
2013-05-21 17:31:00
1316
转载 手把手教你把Vim改装成IDE
原文章的博主实在是很牛逼啊,源地址:http://blog.youkuaiyun.com/wooin/article/details/1858917值得细细学习,提高编码的效率。
2012-08-16 11:25:00
1383
转载 Linux网络编程socket错误分析
源地址:http://blog.youkuaiyun.com/uestc_huan/article/details/5863614Linux网络编程socket错误分析 socket错误码: EINTR: 4阻塞的操作被取消阻塞的调用打断。如设置了发送接收超时,就会遇到这种错误。只能针对阻塞模式的socket。读,写阻塞的socket时,-1返回,错误号为INTR。另外
2012-07-18 17:01:53
2753
转载 PC-lint安装与集成(检查Unix环境代码)(一)
From:http://hi.baidu.com/zhangzongg/blog/item/0fd0f3d9e87874e377c6383b.htmlPC-LINT简介 PC-Lint是C/C++软件代码静态分析工具,你可以把它看作是一种更加严格的编译器。它不仅可以检查出一般的语法错误,还可以检查出那些虽然符合语法要求但不易发现的潜在错误。 C语言的灵活性带来了代码效率的提升,但
2012-04-26 10:06:48
4946
转载 Vim快捷命令集合
来源::http://www.cnblogs.com/xianqingzh/archive/2011/04/27/2030292.html
2012-04-25 21:51:04
735
转载 GDB具体调试命令
来源:http://blog.21ic.com/user1/2177/archives/2006/28496.html在GDB中运行程序--------当以gdb 方式启动gdb后,gdb会在PATH路径和当前目录中搜索的源文件。如要确认gdb是否读到源文件,可使用l或list命令,看看gdb是否能列出源代 码。在gdb中,运行程序使用r或是run命令。程序的运行,你有
2012-04-19 19:49:37
768
1
转载 GDB--Linux调试工具
一、初始化输入gdb进入gdb调试环境。或者直接输入gdb + progfile来加载文件。注意该文件是使用gcc(或g++)编译得到的。为了使 gdb 正常工作, 必须使你的程序在编译时包含调试信息,编译时必须使用-g参数来。或者进入gdb环境后,通过命令file + progfile来加载需要调试的可执行文件文件。查看源代码:list [函数名][行数]设置
2012-04-19 19:47:09
865
原创 不同系统中回车符‘/r’和换行符'/n'的区别
Unix系统里,每行结尾只有“”,即“/n”,ASCII码为ox0A;Windows系统里面,每行结尾是“”,即“/r/n”;Mac系统里,每行结尾是“”,即'/r',ASCII码为ox0D。 一个直接后果是,Unix/Mac系统下的文件在Windows里打开的话,所有文字会变成一行;而Windows里的文件在Unix/Mac下打开的话,在每行的结尾可能会多出一个^M符号。
2012-04-05 10:54:45
1503
转载 Linux 有用的某些命令,可以作为手册查询
About Shell-----------Q1.用户登录到Linux机器,系统会启动login子程序处理用户登录请求,如何自动设置用户环境变量?比如 PATH,CVS_RSH等等编辑/etc/profile 和 $HOME/.bash_profile $HOME/.bash_login $HOME/.profile当退出登录时,shell会执行 ~/.bash_logou
2012-03-28 21:42:17
2085
转载 unix网络编程中的包裹函数
以下是unix网络编程中的包裹函数,同样适用与windows 编程:Writen 和Readn 等等/* include readn */#include "unp.h"ssize_t /* Read "n" bytes from a descriptor. */readn(int fd, void *vptr, size_t n){ size_t n
2012-03-27 16:16:41
1642
转载 网络字节序与主机字节序
不同的CPU有不同的字节序类型 这些字节序是指整数在内存中保存的顺序 这个叫做主机序 最常见的有两种1. Little endian:将低序字节存储在起始地址2. Big endian:将高序字节存储在起始地址LE little-endian 最符合人的思维的字节序 地址低位存储值的低位 地址高位存储值的高位 怎么讲是最符合人的思维的字节序,是因为从人的第一观感来说 低位值小,
2012-03-26 10:14:39
632
转载 Chord算法
虽然网上搜索CHord,一搜一大堆,但大多讲得不太清楚明白。今天发现一篇blog,图文并茂,逻辑清楚且易懂,特意转载收藏。作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/P2P的一个常见问题是如何高效的定位节点,也就是说,一个节点怎样高效的知道在网络中的哪个节点包含它所寻找的数据,如下图:对此,有三种比较典
2012-03-20 17:46:30
19372
1
原创 一个简单的网络应用——面部拍照软件
这是在ETI的第3个工作——给一个政府卫生署的公众殓房做一个给尸体面部拍照的软件,用于家属辨认。需求:对尸体的面部拍照,并保存在指定的位置。分析:设计一个直观简捷的操作页面,分为:摄像头显示画面,摄像头角度控制,拍照按钮三个方面。 由于选择使用的摄像头为AXISP5510型号,自带可访问的服务器,提供编程操作的借口,所以可直接使用API抓取摄像的图像和对摄像头进行
2012-03-15 10:43:15
1475
NetBeans富客户端编程权威教程.rar
2012-02-15
Google分布式三大经典论文_中文版
2012-02-15
Windows常用dos命令大全
2012-02-15
Java编写的创建一个幂次方的文件夹目录树
2012-02-15
几种电梯运行模式的比较及应用
2010-07-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人