自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Always look out for number one.

Never stop fighting for the future!

  • 博客(184)
  • 资源 (10)
  • 收藏
  • 关注

翻译 linux mdadm raid阵列重建加速---bitmaps文件

原文地址:http://louwrentius.com/blog/2011/12/speeding-up-linux-mdadm-raid-array-rebuild-time-using-bitmaps/当一个磁盘fail或者从一个阵列中踢掉时,重建阵列需要花费相当的时间。在我的阵列上,重建一个磁盘就要5个小时。有没有办法减少重建的时间?甚至只用5秒钟?可以使用bitmaps文件,默

2013-04-13 15:37:52 3003

原创 linux 将标准输出重定向到本地缓存的实现

由于功能需要,编写了一个将标准输入保存到本地缓存再进行解析的功能:int libcli_execute_and_get_output(const char *cmdline, char *buf, size_t size){ int pipefd[2]; if (pipe(pipefd) == -1) { perror("pipe");

2013-04-11 14:55:16 2663 1

原创 linux 下调试动态库的问题

之前都没有调试过,直接在动态库函数中断点,都未能跟踪进入。找了一下问题,保证以下三个条件即可:1、所有文件编译时带-g      在生成so文件时带-g不行,记得在变量CFLAGS中加-g2、在拷贝so文件时改变属性时要注意     因为之前make install时默认调用的是 install -s ,把符号表去掉了。为了保存这点,可以在要链接的so文件上执行一下:nm xxx.

2013-04-10 11:26:48 1623 1

原创 samba进程

Samba由两个主要程序组成,它们是smbd和nmbd。这两个守护进程在服务器启动到停止期间持续运 行,功能各异。Smbd和nmbd使用的全部配置信息全都保存在smb.conf文件中。Smb.conf向smbd和nmbd两个守护进程说明输出什么 以便共享,共享输出给谁及如何进行输出。Samba提供了基于CIFS的四个服务:文件和打印服务、授权与被授权、名字解析、浏览服务。前两项服务由smbd提

2013-03-28 09:05:27 6868

转载 源代码license介绍

许多开发者和设计者希望把他们的作品作为开源项目共享,他们希望其他人能够利用和共享他们的代码。 而各种开源社区就是因为这个原因而充满活力。开源软件可以用于你能想象得到的任何应用程序,许多web设计人员使用开源软件作为开发基础(例如 WordPress,Drupal等等许多CMS系统都是开源的)。 但是许多开发者和设计者并没有对开源License有清楚的了解,不清楚当他们选择开发自己的

2013-03-21 13:24:19 2653

原创 linux内核之block层函数调用图

2013-03-08 21:31:49 1662

转载 Socket/TCP粘包、多包和少包, 断包

为什么TCP 会粘包   前几天,调试mina的TCP通信, 第一个协议包解析正常,第二个数据包不完整。为什么会这样吗,我们用mina这样通信框架,还会出现这种问题? 带者问题,我们先分析一下问题。  提到通信, 我们面临都通信协议,数据协议的选择。 通信协议我们可选择TCP/UDP:TCP(transport control protocol,传输控制协议)是面向连接

2013-02-21 15:38:16 883

原创 2013年学习计划

从2010年制定的计划到现在已经整整有三年的时间,在后面两年里再也没有制定过学习计划,再加上2010年换工作之后全部精力都投入新工作,之后就零零散散地按照10年列出的学习书目读了几本书。学如逆水行舟,不进则退。看到时间一点点流逝,于是心里在蕴酿着这个计划,今天终于把这个计划写在了本子上。2013年学习计划:1、佛学《认识佛教》、《四十二章经》、《金刚经》2、管理学和领导力《

2013-01-22 07:50:54 2037 3

原创 select VS epoll

Select、Poll与Epoll比较以下资料都是来自网上搜集整理。引用源详见文章末尾。 1        Select、Poll与Epoll简介Selectselect本质上是通过设置或者检查存放fd标志位的数据结构来进行下一步处理。这样所带来的缺点是:1 单个进程可监视的fd数量被限制 2 需要维护一个用来存放大量fd的数据结构,这样会使

2013-01-17 10:12:35 1072

转载 从技术到管理

从纯技术开发直到走上技术管理岗位,是开发人员职业生涯一起全新的飞跃。激情喷薄的同时,忐忑不安将也会变成你情绪的一部分。如何从管好自己变成管好别人?顺利转型是绕不过的话题。谁也不希望飞跃之后面临的是一次痛彻心扉的硬着陆。  在公司做技术团队管理有一年多的时间了,从刚开始的加班加到昏天黑地,到现在略略有些游刃有余的感觉。过程非常的不轻松,甚至经历了无数次的内心挣扎。团队最开始5个人,到今年已经有1

2013-01-16 11:13:02 1053 1

原创 windows驱动学习笔记

零零散散花了一个月的时间初步学习了windows驱动编程,接着开始要制定2013年的学习计划,即将步入另外一个学习战场,于是就将最近学习记录下来,也好将来再返回学习时有点基础。一、windows驱动安装1、到官方下载DDK安装,ex : 3790.1830.DDK2、目录简介       示例代码: 安装目录/src/general/event/sys      编译:buil

2013-01-13 21:44:03 4352

原创 STL学习笔记

1.     STL容器简介STL(Standard Template Library,标准模板库)从根本上说,是一些算法、容器的集合,STL可以让你重复运用既有的算法,而不必在环境类似的情况下再撰写相同的代码。STL算法是泛型的,不与任何特定数据结构或对象型别系缚在一起,但是却像为你量身定做的一样,有很高的效率。STL甚至是可扩充的,就像STL组件彼此之间可以相互配合运用一样,STL组件也可

2013-01-10 18:56:32 776

原创 自动动手写发包工具

自动动手写发包工具 为了测试服务器大量在线的性能,需要自己写机器人,模拟大量客户端在线的情况。第一步是创建帐号,第一个办法是直接在服务器后台用脚本创建帐号,另一个办法是模拟客户端发包。前者需要登录到服务器执行,后者可以在其他机器上执行,于是试着用后一种方法实现。 第一步,包含协议头文件,再用C++写一个简单的查询帐号封包。发包代码如下:  struct tagMsg&

2012-12-26 15:02:18 7763 1

转载 性能杀手:”潜伏”的memset

【memset性能陷进】memset是大家常用的函数,而且一般的编程书籍都会谆谆告诫大家:申请内存后要初始化,防止使用未经初始化的内存导致不可预知的结果,所以我们一般都会按照如下方式编写代码:char* buffer = (char*)malloc(1024);memset(buffer, 0x00, 1024); 代码看起来很标准,也很美观,但这里却隐藏着一个陷进:memse

2012-12-24 10:20:08 1039

转载 StarCraft开发:如何避免链表引起的游戏崩溃

原文地址 http://www.csdn.net/article/2012-09-21/2810207-avoid-linked-lists-crashStarCraft开发:如何避免链表引起的游戏崩溃摘要:本文是Patrick Wyatt讲解StarCraft开发经验的第二篇文章。本文中,作者给我们解答了上篇文章中遗留的问题——为什么很多人都不会正确地使用链表,并在本文中给出了详细的

2012-12-14 11:21:25 834

翻译 函数hook注意事项

函数hook,简单地说就是把目标函数替换我们的函数,用比较技术的语言描述就是:“(1) Target函数:要拦截的函数,通常为Windows的API。(2) Trampoline函数:Target函数的复制品。因为Detours将会改写Target函数,所以先把Target函数复制保存好,一方面仍然保存Target函数的过程调用语义,另一方面便于以后的恢复。(3) Detour函数

2012-12-04 15:57:29 1156

原创 多键比较函数的源码实现

在排序算法中,都会用到比较函数如下:template int Cmp(const void *a1, const void *a2){ T *t1 = (T*)a1; T *t2 = (T*)a2; return *t1 - *t2;}现在要求用对象中某个键值做比较,修改如下:template int CmpOneKey(const void *p1, const void *p2

2012-10-01 10:08:40 792 2

转载 性能调优攻略

关于性能优化这是一个比较大的话题,在《由12306.cn谈谈网站性能技术》中我从业务和设计上说过一些可用的技术以及那些技术的优缺点,今天,想从一些技术细节上谈谈性能优化,主要是一些代码级别的技术和方法。本文的东西是我的一些经验和知识,并不一定全对,希望大家指正和补充。       在开始这篇文章之前,大家可以移步去看一下酷壳以前发表的《代码优化概要》,这篇文章基本上告诉你——要进行优化,先得找

2012-09-19 11:03:26 1323

原创 运营日志

2012/08/25  服务器开始部署在外网,每天投入了10万Tips,很快出现有用户登录缓慢或登录不上的情况。解决:在接入层的debug版本中限制了最大连接数,将连接数调整。2012/08/25 在线人数直线上升,用户网络延迟明显加大。解决:立即添加了消息包数量分析,对大量的数据包进行优化和减少。2012/08/28 在CPU占用率比较低的情况下,用户网络延迟比较

2012-09-05 10:23:42 914

原创 类成员函数指针的定义和使用

普通函数指针的定义如下:typedef int (*Function)();今天应用需要写一个类成员函数的指针,类为CMonsterAI定义如下:typedef int (CMonsterAI::*Function_MoveType)();在类中保存函数指针数组class CMonsterAI{private: // 移动类型 int m_iMoveTyp

2012-08-31 13:19:37 821

转载 android下的系统Intent大全

1.从google搜索内容Intent intent = new Intent();intent.setAction(Intent.ACTION_WEB_SEARCH);intent.putExtra(SearchManager.QUERY,"searchString")startActivity(intent);2.浏览网页Uri uri = Uri.parse("h

2012-03-22 22:17:16 660

翻译 通过读代码学习软件架构设计

在客户端软件设计和开发过程中,选择一个合适的、一定程度可扩展的软件架构是非常重要的。我们在学校里或者一些“正统”技术书籍接触到的架构,往往偏理论化,例如UML、建模之类的,或者偏解决方案层面的架构,对于纯粹客户端的软件架构讨论得并不太多;介绍设计模式的书很多,但为了具体剖析某一种设计模式,往往把问题进行抽象简化或聚焦,这容易使读者不能方便的联系到实战,这样学习的效果也会打了折扣。

2012-03-19 09:38:24 2392

原创 C#可以写驱动程序吗?

驱动是机器代码级的,不需解释的。C#编译后的代码是解释级的,根本不能在驱动级工作,除非微软愿意将解释器搞到驱动级。市面上有所谓的.Net驱动程序开发,但不过是个幌子,还是用C/C++开发的,能不能用某种语言编写,取决于ddk编译器是否支持。目前微软提供的DDK编译器只支持汇编/C/C++。另外C#是CLR格式的,驱动还是PE格式的。

2012-03-02 07:47:23 2806

转载 Android 之 IntentFilter 详解

Intent是Android中的一大特色。类似于Windows中的消息。使用非常广泛。 应用程序的组件为了告诉Android自己能响应、处理哪些隐式Intent请求,可以声明一个甚至多个 Intent Filter。每个Intent Filter描述该组件所能响应Intent请求的能力——组件希望接收什么类型的请求行为,什么类型的请求数据。比如之前请求网页浏览器这个例子中,网 页浏

2012-02-19 17:19:05 594

原创 用Tcpdump定位服务器和客户端通信问题

注意:Tcpdump需要用root帐号登录一、应用场景1客户端发送过来的数据包,在服务器解开之后发现数据包不对?[root@IED_224_42_sles10_64]~>tcpdump -i eth1 port 8029 -Xtcpdump: verbose output suppressed, use -v or -vv for full protocol decodelis

2012-02-17 11:22:41 813

原创 服务器系统性能瓶颈和优化

问题:服务器为何极限压力1、采用简单Server模型2、接收query->计算->应用cache(读写文件)->返回结果3、返回结果数据量50KB-200KBCPU是否为瓶颈?方法一:#vmstat 1 查看idle值,看CPU是否为瓶颈方法二:#mpstat -P ALL 1方法三:top查看iowait小结:CPU利用率一、总CPU利

2012-02-15 11:30:28 1231

原创 不易觉察的程序BUG

不易觉察的程序BUG今天调试过程中发现了一个BUG,因为这种BUG具有一定的普遍性,所以记录下来。代码如下:// 添加状态int CBuffManager::AddBuff(int iThingID){ int iSlot = GetEmptySlot(); if (iSlot < 0) { TRACESVR("Bug : buff re

2012-02-07 16:27:44 981 1

转载 游戏服务器结构探讨

原文地址:http://blogold.chinaunix.net/u/1129/showart_397768.htmlhttp://bbs.gameres.com/showthread.asp?threadid=93775 有关游戏开发:游戏开发始终是个小项目,另外由于开发时间的限制,软件工程的思想和方法在游戏开发领域并不怎么受欢迎。从游戏开发团队的规模也能看出,基本上只能算小开

2011-12-20 15:30:15 1434

原创 linux 进程监控和自动重启的简单实现

目的:linux 下服务器程序会因为各种原因dump掉,就会影响用户使用,这里提供一个简单的进程监控和重启功能。实现原理:由定时任务crontab调用脚本,脚本用ps检查进程是否存在,如果不存在则重启并写入日志。1、crontab修改chen@IED_40_125_sles10sp1:~/CandyAT/Bin> crontab -e*/1 * * * * /home/chen/

2011-12-19 16:27:41 13990 1

原创 重构代码 --- 计算长函数工具的实现(附源代码)

长函数代表着腐化的代码,难以修改和扩展。在网上搜了竞没找到相关工具,于是就自己手动写了一个。计算函数行数,找出长函数,这样就可以开始重构代码了。 工具:fl.py说明:计算函数长度,目前只支持.c文件和.cpp文件,支持其他文件类型,只需将代码中.cpp改为对应的文件类型即可环境要求:安装Python 2.7使用方法: ./fl.py max_lengthrelative_

2011-12-12 16:45:40 1331 1

原创 一键搞定windows和linux之间文件传输

一键搞定windows和linux之间文件传输问题:在windows IDE下编写的代码要上传到linux服务器上编译,每次要用ssh把改动的代码手工传上去。解决方案一:直接在linux服务器上编写。不方便的地方在于重构代码时,还是在IDE下比较方便快捷,VA提供的功能在linux下还没有这么方便。解决方案二:在windows用samba连接到服务器,直接在上面编辑。用si还不错,用V

2011-12-12 11:07:14 799

原创 用alias简化linux下gdb 操作(实例)

经常需要调试应用程序,应用程序是特定的名字,每次都要gdb 然后一大堆参数,太麻烦了。本着微笑哥的名言:可以一次性搞定经常重复的事情,那就一次搞定。目标是使用debug命令就可以调试指定应用程序。步骤如下:1、到用户目录下cd2、编辑bashrc文件vi .bashrc3、添加debug命令 alias debug="gdb attach `ps fx | grep

2011-12-08 16:38:18 1037

转载 一个游戏程序员的学习资料

想 起写这篇文章是在看侯杰先生的《深入浅出MFC》时,突然觉得自己在大学这几年关于游戏编程方面还算是有些心得,因此写出这篇小文,介绍我眼中的游戏程序 员的书单与源代码参考。一则是作为自己今后两年学习目标的备忘录,二来没准对别人也有点参考价值。我的原则是只写自己研究过或准备研究的资料,所以内容无 疑会带上强烈的个人喜好色彩,比如对网络,数据库等重要方面完全没有涉及。因为自己主要对三维图形引擎,人

2011-11-22 18:50:12 987

原创 生活

用UML描述一个IT人经历的生活过程。

2011-03-17 13:41:00 506

原创 沟通技巧

<br />一般来说,培养自己的沟通能力应从两个方面努力:一是提高理解别人的能力;二是提高表达能力。具体来说,就是要做到以下几点: <br /><br /><br />第一,要仔细想想自己最有可能会在什么场合,与哪些人沟通 <br /><br />第二,需要客观地评价自己是否具有良好的沟通能力 <br /><br />请你就以下问题认真地问问自己: <br /><br />1.你真心相信沟通在组织中的重要性吗? <br /><br />2.在日常生活中,你在寻求沟通的机会吗? <br /><br />3.当

2011-03-17 13:21:00 780

转载 《蜗居》里唯一的真男人只有宋思明

《蜗居》的书早就看完了,处于对结局的恐惧一直不敢看电视,这几天实在经不住诱惑,看了电视剧。一个想法在脑海里渐渐清晰,那就是——只有宋思明才是《蜗居》里唯一的真男人。    我是80后,84年的,已婚。以前对出轨的男人那叫一个深恶痛绝,简直是人人得而诛之的那种痛恨。可是看了《蜗居》,我只觉得在这部戏里,唯一让人震撼的是宋思明。   再评论宋思明之前,先说说剧中另外两个男人——小贝和苏淳。小贝,当之无

2009-12-05 13:30:00 2226 3

原创 我的日记2008

2008-11-27这会成为过去的.不论是成功,失败,兴奋,痛楚. 生活不会因为环境改变而改变太多的,不会因为你讨厌的人消失了,或者某位朋友的到来改变太多.不要因为个人的喜好作为衡量另一个人的标准,学会与自己性格格格不入的人相处,学会去理解,接受和包容与自己不同性格生活习惯,人生观的人友好相处. 2008-10-20先看大方向,纵观全局.我只看存储的原理,从CDP到

2009-10-11 13:30:00 751

原创 你还会放风筝吗?

你还会放风筝吗?你知道怎么把风筝放得很高吗?你还记得小学课文上关于放风筝的故事吗?风筝在上空想着,要不是绳子拉着我,我一定可以飞得更高.然而当绳子断掉的时候,风筝却重重地摔在地上.小学在这门课的时候你想到了什么吗?20年后你重新读这篇课文的时候你又会想起什么呢?=========================================================

2008-04-05 11:29:00 876

原创 脚踏实地,一步一个脚印

心比天高,命却比那楼房高不了多少! 这是在里文丽说佟志的.刚从学校出来那伙,怀抱着多少梦想,一直想着如何去实现. 然而残酷的现实告诉我们这些幼小的心灵们, 我们从一开始就犯了幼稚的错误:以为光有理想就可以像做梦发大财那么容易. 我们有太多需要学习,需要改变的. 理想是要靠能力能实现的,一个人的能力决定了一个人能做多大的事情. 然而刚刚出来的时候大多是抱着梦想,而不抱着能力,抱着学习教科书的能力

2008-03-23 12:49:00 1449

原创 工作半年了,留迹

上班已经半年了,却一点也没感觉到长,仿佛只是过了个小假期一样.上班和在学校最大的不同是,上班是在社会上,让你每天都去想想最现实的问题,而在校园里,经常可以在图书馆里泡上一天,回宿舍再打一回游戏,然后痛痛快快地睡到中午.时间也好,社会也好,磨平了性格,磨平了心中的期望,剩下的就只有平凡和俗.平凡的人不能免俗,我也是,虽然心里承认得很不心甘情愿.小时候一起有这样的一个想法:有没有这样一

2008-01-26 14:26:00 881 1

Nutanix技术白皮书

超融合架构设计的鼻祖,分布式存储,企业级存储高级特性。

2017-11-30

存储技术原理分析_基Linux 2.6内核源代码.pdf

存储技术原理分析_基Linux 2.6内核源代码.pdf,存储技术原理必备书籍。

2017-11-23

Linux性能分析 -- sar

linux 性能 sar,分别于CPU、MM、IO、网络

2013-01-10

《QQ飞车》服务器端优化点滴

《QQ飞车》服务器端优化点滴,分析如何从用户数据持续优化和改进。

2013-01-06

提高 Linux 上 socket 性能 加速网络应用程序的 4 种方法

提高 Linux 上 socket 性能 加速网络应用程序的 4 种方法。修改socket参数和TCP/IP相关参数设置,从而适应各自业务提高网络性能。

2012-12-27

服务器后台性能及测试

服务器性能测试工具,性能测试理论和方法,建模和解决方案。

2012-12-27

python脚本用于xml解析的源代码

python脚本用于xml解析的源代码。自己写的,已经在部门内部应用。

2012-12-27

空空如也

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

TA关注的人

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