- 博客(239)
- 资源 (2)
- 收藏
- 关注
转载 linux进程间通讯的几种方式的特点和优缺点,和适用场合。
转自http://blog.csdn.net/love_gaohz/article/details/66366611.# 管道( pipe ):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。# 有名管道 (named pipe) : 有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信。# 信号量
2014-03-01 16:00:49
753
原创 后台开发
linux和os:netstat :显示网络状态 http://www.cnblogs.com/ggjucheng/archive/2012/01/08/2316661.htmltcpdump:主要是截获通过本机网络接口的数据,用以分析。能够截获当前所有通过本机网卡的数据包。它拥有灵活的过滤机制,可以确保得到想要的数据。http://www.cnblogs.com/ggjucheng/
2014-03-01 15:34:11
853
原创 N皇后(位运算)
Follow up for N-Queens problem.Now, instead outputting board configurations, return the total number of distinct solutions.class Solution { //http://www.matrix67.com/blog/archives/266pub
2014-02-25 00:02:03
713
原创 TCP四种定时器
TCP使用四种定时器(Timer,也称为“计时器”):重传计时器:Retransmission Timer坚持计时器:Persistent Timer保活计时器:Keeplive Timer时间等待计时器:Time_Wait Timer。 (1)重传计时器:重传定时器:为了控制丢失的报文段或丢弃的报文段,也就是对报文段确认的等待时间。当TCP发送报文段时,就创建
2014-02-14 19:46:14
487
转载 一个经验
http://www.cnblogs.com/iddmx/archive/2013/04/27/3048097.html酱油一般的笔试,然后接到了面试通知(22 日晚上接到,24 日早晨一面),临阵磨枪的准备了以下内容: 排序(详见我的博文:浅谈排序http://www.cnblogs.com/iddmx/archive/2013/01/05/2845774.ht
2014-02-09 22:58:05
606
转载 编程之美2.21(只考加法的面试题)
转自http://blog.csdn.net/yutianzuijin/article/details/10300067 网上存在很多对该问题的解答,但是很多解答都有错误,比较正确的是http://blog.csdn.net/lyso1/article/details/5399146,但是问题解法较为复杂,在此将从另一个思路对问题进行解答,很大程度简化了算法正确性的证明。-----
2014-01-24 16:32:11
624
转载 不用乘法计算幂
JOJ 2042是一个程序理解题,其中给出了一段奇妙的计算x^3的程序。它的原理如下:量由上可知,幂函数的增加量第次加6,其初始值为1.所以,就可以把程序写成这样来计算立方:int f(x) { int c = 0, d = 1, e = 6; while(x--) { c += d; d
2014-01-24 16:13:33
1241
转载 关于序列的“最”系列
http://www.ahathinking.com/archives/tag/%E6%9C%80%E5%A4%A7%E5%AD%90%E6%95%B0%E7%BB%84%E5%92%8C
2014-01-24 14:13:53
571
转载 求最远点对
问题(编程之美)给定平面上N个点的坐标,找出距离最远的两个点。分析类似于“最近点对问题”,这个问题也可以用枚举的方法求解,时间复杂度O(n^2)。“寻找最近点对”是用到分治策略降低复杂度,而“寻找最远点对”可利用几何性质。注意到:对于平面上有n个点,这一对最远点必然存在于这n个点所构成的一个凸包上(证明略),那么可以排除大量点,如下图所示:在得到凸包以后,可以只在顶
2014-01-24 11:47:38
1615
原创 求最近点对
见weiss与编程之美// 分治算法求最近点对#include#include#includeusing namespace std;struct point{ double x , y;}p[100005];int a[100005]; //保存筛选的坐标点的索引int cmpx(const point &a , const point &b){ retu
2014-01-24 11:39:31
537
转载 gdb回溯调试
使用调试器时最常用的功能就是step, next, continue,这几个调试命令都是“往下执行”的, 但是很多时候会有这种需求:你在调试的过程中多跳过了几步而错过中间过程,这时候不得不重头调试一遍,非常麻烦。而GDB从7.0版本开始支持反向调试功能,也就是允许你倒退着运行程序,或者说撤销程序执行的步骤从而会到以前的状态。 直观地来看,加入你正在使用GDB7.0以上版本的调试器并
2014-01-14 13:04:16
1029
原创 结构体对齐问题
有8字节类型时候要注意下,如double,long long ,gcc会把8字节类型按4字节对齐,而mingw32-gcc按8字节来对齐http://stackoverflow.com/questions/20353757/why-are-the-values-returned-by-sizeof-compiler-dependent其实这东西本来就没有肯定答案,依赖于体系结构、编译器
2014-01-13 20:17:47
521
原创 mapreduce
We want to count all the books in the library. You count up shelf #1, I count up shelf #2. That’s map. The more people we get, the faster it goes.Now we get together and add our individual counts. T
2014-01-11 21:11:39
482
原创 linux 多线程面试题
http://blog.csdn.net/lanyan822/article/details/7586845http://blog.csdn.net/lanyan822/article/details/7587972http://blog.csdn.net/morewindows/article/details/7392749
2014-01-11 20:31:41
680
转载 跨越千年的RSA算法
转自http://www.matrix67.com/blog/archives/5100数论,数学中的皇冠,最纯粹的数学。早在古希腊时代,人们就开始痴迷地研究数字,沉浸于这个几乎没有任何实用价值的思维游戏中。直到计算机诞生之后,几千年来的数论研究成果突然有了实际的应用,这个过程可以说是最为激动人心的数学话题之一。最近我在《程序员》杂志上连载了《跨越千年的 RSA 算法》,但受篇幅限制,只有
2014-01-10 19:44:34
877
原创 P、NP、NPC、NP-hard问题
http://yang19890314.blog.51cto.com/1620466/1160588http://www.matrix67.com/blog/archives/105
2014-01-10 17:27:29
614
转载 谷歌技术“三宝”之GFS
http://blog.csdn.net/opennaive/article/details/7483523题记:初学分布式文件系统,写篇博客加深点印象。GFS的特点是使用一堆廉价的商用计算机支撑大规模数据处理。虽然"The Google File System " 是03年发表的老文章了,但现在仍被广泛讨论,其对后来的分布式文件系统设计具有指导意义。然而,作者在设计GFS时,
2014-01-06 22:02:10
903
转载 谷歌技术“三宝”之MapReduce
转自http://blog.csdn.net/opennaive/article/details/7514146江湖传说永流传:谷歌技术有"三宝",GFS、MapReduce和大表(BigTable)!谷歌在03到06年间连续发表了三篇很有影响力的文章,分别是03年SOSP的GFS,04年OSDI的MapReduce,和06年OSDI的BigTable。SOSP和OSDI都是操作系
2014-01-06 22:00:08
685
转载 谷歌技术“三宝”之BigTable
转自http://blog.csdn.net/opennaive/article/details/75325892006年的OSDI有两篇google的论文,分别是BigTable和Chubby。Chubby是一个分布式锁服务,基于Paxos算法;BigTable是一个用于管理结构化数据的分布式存储系统,构建在GFS、Chubby、SSTable等google技术之上。相当多的google
2014-01-06 21:58:36
771
原创 谷歌三大技术中文版
这三篇论文翻译质量相当高,三位译者作出了非常了不起的、实实在在的贡献,真是应该好好感谢他们!MapReduce:http://blog.csdn.net/active1001/archive/2007/07/02/1675920.aspxGFS:http://blog.csdn.net/xuleicsu/archive/2005/11/10/526386.aspxB
2014-01-06 21:52:06
551
转载 高性能服务器开发(链接)
高性能服务器必须考虑的4个方面:1 数据拷贝2 内存管理3 进程/线程上下文切换4 锁争用说明:以下文章中会包含一些研究服务器性能的链接,这些链接也是非常重要的文档,本文不再列出,查看下面的文章内容时,可点击文章里面的链接访问。影响服务器性能的TCP选项:TCP_CORK,TCP_NODELAYhttp://bbs.net130.com/showthread
2014-01-06 21:11:55
705
转载 epoll源码结构分析
要理解epoll,最关键的就是它的结构设计,所以这里先从epoll的结构出发,请看下面一副简化的结构及联系图:先介绍一下图中涉及到的各种结构体:先说明一下epitem结构体是什么,顾名思义,即为epollitem,epoll的基本单元,下面分别介绍一下几个主要的变量的含义:struct list_head rdllink,或者取名为ready
2014-01-06 20:55:33
647
转载 Epoll在LT和ET模式下的读写方式
转自http://www.ccvita.com/515.html在一个非阻塞的socket上调用read/write函数, 返回EAGAIN或者EWOULDBLOCK(注: EAGAIN就是EWOULDBLOCK)从字面上看, 意思是:EAGAIN: 再试一次,EWOULDBLOCK: 如果这是一个阻塞socket, 操作将被block,perror输出: Resource tempo
2014-01-06 20:12:30
573
转载 epoll详解
转自http://blog.chinaunix.net/uid-24517549-id-4051156.html什么是epollepoll是什么?按照man手册的说法:是为处理大批量句柄而作了改进的poll。当然,这不是2.6内核才有的,它是在2.5.44内核中被引进的(epoll(4) is a new API introduced in Linux kernel 2.5.44)
2014-01-06 19:59:03
766
原创 Linux常用命令
这些是比较基础的Linux命令集,每个都有使用的示例,可以在用的时候做参考,玩过LAMP组合的朋友肯定知道,有时候生疏了想一个命令想不起来是很痛苦的。个人其实玩的也不多,只不过在玩自己的博客、论坛等小站时会参考一下。这些命令主要是为了收藏备用。系统信息arch 显示机器的处理器架构(1)uname -m 显示机器的处理器架构(2)uname -r 显示正在使用的内核
2014-01-06 17:27:47
569
转载 libevent使用经验
最近一个项目中需要提供一个简单的采用http post协议的服务,开发语言是C++,考虑到各种因素,最终决定直接采用libevent,一方面比较熟悉,另一方面也可能复用其提供的定期事件回调,不然自己编写一个类似Reactor的框架花费太大。下面是一些关于libevent的介绍文章:官方网站:http://libevent.org/官方手册:http://www.wangaf
2014-01-06 16:58:52
752
转载 libevent的使用
转自http://www.cnblogs.com/cnspace/archive/2011/07/19/2110891.html这篇文章介绍下libevent在socket异步编程中的应用。在一些对性能要求较高的网络应用程序中,为了防止程序阻塞在socket I/O操作上造成程序性能的下降,需要使用异步编程,即程序准备好读写的函数(或接口)并向系统注册,然后在需要的时候只向系统提交读写的请
2014-01-06 16:56:53
588
原创 offsetof与container_of宏
#include #define offset(s,m) (size_t)&(((s*)0)->m)typedef struct{ char c; int a;}s;int main(){ printf("%u %u\n",offset(s,c),offset(s,a)); return 0;}大量存在于linux内核中!!!
2014-01-06 16:28:05
664
转载 c语言实现封装,继承和多态
封装c语言使用的struct没有访问控制,任何程序都能访问struct的成员。为了隐藏struct里的成员名称和位置,可以将具体的struct定义放在.c文件中,而在头文件中增加一个指向该结构体的指针。因为无法得知指针类型的具体定义,对这个私有结构体成员的访问只能通过提供的set()和get()函数。下面是头文件test.h的定义:12345
2014-01-06 16:03:37
599
转载 C10K 問題和 Libevent 庫簡介
一.C10K的問題C10K的問題在上個世紀90年代就被提出來了。大概的意思是當用戶數超過1萬時,很多設計不良好的網絡服務程序性能都將急劇下降、甚至癱瘓。並且,這個問題並不能通過升級硬件設備解決,是操作系統固有的問題,也就是說,如果你的服務器最高能支撐1000個並發,儘管你升級了計算能力高一倍的 cpu,內存再翻一番,硬盤轉速在快一倍,也無法支撐2000個並發。經典的網絡編程模型有4
2014-01-06 15:20:50
687
翻译 高性能服务器架构
本文将与你分享我多年来在服务器开发方面的一些经验。对于这里所说的服务器,更精确的定义应该是每秒处理大量离散消息或者请求的服务程序,网络服务器更符合这种情况,但并非所有的网络程序都是严格意义上的服务器。使用“高性能请求处理程序”是一个很糟糕的标题,为了叙述起来简单,下面将简称为“服务器”。 本文不会涉及到多任务应用程序,在单个程序里同时处理多个任务现在已经很常见。比如你的浏览器可能就在做一
2014-01-06 15:07:21
620
原创 负载均衡问题
http://zh.wikipedia.org/wiki/%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1_(%E8%AE%A1%E7%AE%97%E6%9C%BA)http://www.cnblogs.com/and/p/3366400.htmlhttp://blog.csdn.net/gaoshusheng007/article/details/144485
2014-01-06 15:01:57
556
转载 gcc编译静态库、动态库
转自http://blog.csdn.net/ctthuangcheng/article/details/8550096今天,一个同事编译静态库,我也趁此机会在温习一下,先google一下,然后在自己实验。 首先,在网上抄个例子,内容如下1:建静态库/* hellos.h */#ifndef _HELLO_S_H#define _HELLO_S_H
2014-01-05 23:32:57
662
转载 epoll介绍及程序实例
转自http://blog.csdn.net/sparkliang/article/details/4770655Linux Epoll介绍和程序实例1. Epoll是何方神圣?Epoll可是当前在Linux下开发大规模并发网络程序的热门人选,Epoll 在Linux2.6内核中正式引入,和select相似,其实都I/O多路复用技术而已,并没有什么神秘的。其实在Linux下设计并发
2014-01-02 22:20:17
603
原创 排序算法
一、直接插入排序void insertion_sort(int a[],const int start,const int end){ int tmp; int i,j; for(i = start + 1;i < end;i++) { tmp = a[i]; for(j = i - 1; j >= start &&
2014-01-02 13:53:57
609
原创 VIM常用
1 光标移动fx :前行向后移动光标到x字母(按f键后按要查找的字符x),光标到x处,用;重复上一个f命令tx :光标到x前Fx/Tx :与小写的相同使用,方向相反w :光标移到下一个单词b :光标移到上一个单词) :光标移到下一个句子( :光标移到上一个句子ctrl + f : 向下翻页ctrl + b :向上翻页ctrl
2014-01-01 19:14:32
521
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅