自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(239)
  • 资源 (2)
  • 收藏
  • 关注

转载 string类实现

http://coolshell.cn/articles/10478.html

2014-03-01 16:51:02 489

转载 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

原创 完美hash

http://www.cnblogs.com/a180285/archive/2012/07/22/OPMPHF.html

2014-02-16 15:32:04 599

原创 udp打洞

http://zh.wikipedia.org/wiki/UDP%E6%89%93%E6%B4%9E

2014-02-15 00:41:48 482

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

原创 libevent学习

http://blog.csdn.net/sparkliang/article/category/660506

2014-01-06 15:35:14 480

转载 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

GCC中文手册

GCC中文手册

2014-01-14

2011腾讯技术类校园招聘笔试试题

2011腾讯技术类校园招聘笔试试题,不错的哦

2014-01-14

空空如也

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

TA关注的人

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