- 博客(149)
- 资源 (24)
- 收藏
- 关注
转载 CentOS安装配置Samba
非常好用的centos配置samba例子 本文的场景是虚拟机运行CentOS6.5,本机是Win7,现欲把CentOS上的一个文件夹共享出来,Win的机器可以读写。 Samba与window连接需要使用NetBIOS协议,请确认你的Win7系统已经安装了NetBIOS协议。 组成Samba运行的有两个服务,一个是SMB,另一个是NMB;
2016-02-04 15:02:36
395
转载 Notepad++
3.4. Notepad++的正则表达式替换和替换 第 3 章 Notepad++的功能详解 3.4. Notepad++的正则表达式替换和替换下面就来详细介绍Notepad++中关于正则表达式的部分,主要是查找和替换。对于替换功能,一般的文本编辑器,都具有此功能,但是对于高级的正则表达式替换,则很多都不支持。而此
2016-01-22 10:29:24
500
原创 ultraedit
文件的 ULTRADEDIT 进行的 文本 处理 %^( {"* ^) " ," ^1",{"查找每行 第一个匹配字符 并且替换
2015-09-10 11:33:21
416
原创 tcp紧急数据发送
static inline void tcp_push(struct sock *sk, int flags, int mss_now, int nonagle){ if (tcp_send_head(sk)) { struct tcp_sock *tp = tcp_sk(sk); if (!(flags &
2015-08-07 16:04:15
486
原创 查栈破坏的方法
对于栈破坏,对很多程序员来说是一种幽灵,它的产生的core文件的,每一次的不停变化,就像一个高手杀手一样,你破案的时候,前后的线索的都发生的了变化,每一次的觉得正常的,但是core了甚至发在在malloc 、free的地方。这一有一道好的用的方法。// [ranqd Add] 返回地址效验宏 #define CALL_CHECK_BEGIN(n) \unsigned long r
2015-07-24 14:54:35
1131
2
原创 TCP处理主要开销
高速的网络TCP 通常受限 发送主机 与 接收主机, 而不是网络设备或协议本身的实现。TCP的处理的主要开销 分为中断操作、数据复制和协议处理。1:中断操作2:数据复制3:协议处理TCP的处理机制的优化技术
2015-07-16 20:01:29
1825
原创 centos samba 安装
本文的目的主要用来说明如何在CentOS6.5的环境下配置出一个简单可用的samba服务,并且可以通过windows对其文件进行访问安装相关软件yum install samba samba-client samba-commo chkconfig smb on chkconfig nmb on 如果有防火墙的 需要对防火墙进行修改 对路由表做如下操作ip
2015-07-09 09:57:23
118
原创 Centos6.5下Samba的简单配置
本文的目的主要用来说明如何在CentOS6.5的环境下配置出一个简单可用的samba服务,并且可以通过windows对其文件进行访问安装相关软件 yum install samba samba-client samba-commo
2015-07-09 09:53:17
153
原创 天龙寻路算法分析
#include "stdafx.h"//-----------------------------------------------------------------------------// Game Server , Route Module//-----------------------------------------------------------------------
2015-06-29 15:10:49
264
原创 lua 点跟冒号的区别
定义的时候冒号默认接收self参数调用的时候冒号默认传递调用者自己为参数而句号要显示传递或接收self参数-- 例如:句号定义,需要显示传递或接收[plain] view plaincopya = { x = 1 } function a.fun(self) print(self.x) end
2015-06-03 21:46:56
497
转载 fcntl+pthread_rwlock制作的支持多进程多线程混合的互斥锁
之前在做DB服务器 的时候多线程 读写共享内存由于某些平台 phtread_rwlock_ 系列是不支持进程间共享的属性, 而 fcntl() 的文件记录锁又不安全用作线程之间互斥,是所以在多进程和多线程混合混合的服务器模型中, 互斥锁一般只能用信号灯或信号量机制, 但这都只有一种状态而没有共享锁(读)和独占锁(写)的区分, 对于多读少写的情况不太舒服.下面贴的代码是的实测平
2015-05-28 09:23:25
846
原创 多线程负载均衡
说起load balance,一般比较容易想到的是大型服务在多个replica之间的load balance、和kernal的load balance。前者一般只是在流量入口做一下流量分配,逻辑相对简单;而后者则比较复杂,需要不断发现正在运行的各个进程之间的imbalance,然后通过将进程在CPU之间进行迁移,使得各个CPU都被充分利用起来。而本文想要讨论的load balance有别于
2015-05-22 09:41:51
4073
原创 LUA字符串分割方法性能比较
function lua_string_split(s, p)local rt = {}string.gsub(s, '[^'..p..']+', function(w) table.insert(rt, w) end )return rtendfunction split(str,splitor)if(splitor==ni
2015-05-20 14:03:39
2075
转载 查看linux服务器硬盘IO读写负载
最近一台linux服务器出现异常,系统反映很慢,相应的应用程序也无法反映,而且还出现死机的情况,经过几天的观察了解,发现服务器压力很大,主要的压力来自硬盘的IO访问已经达到100% 为了方便各位和自己今后遇到此类问题能尽快解决,我这里将查看linux服务器硬盘IO访问负荷的方法同大家一起分享: 首先 、用top命令查看 top - 16:15:05 up 6 days, 6:25
2015-05-07 08:57:29
574
转载 网络游戏前端服务器的需求和设计
转载 http://www.cnblogs.com/Hybird3D/archive/2012/02/04/2337652.html上一篇主要谈了一些基本理念,本篇将谈谈我个人总结的一些IOCP编程技巧。 网络游戏前端服务器的需求和设计 首先介绍一下这个服务器的技术背景。在分布式网络游戏服务器中,前端连接服务器是一种很常见的设计。他的职责主要有:
2015-04-30 23:17:05
969
转载 static_cast,dynamic_cast,reinterpret_cast和const_cast的区别详解
以下是对static_cast,dynamic_cast,reinterpret_cast和const_cast之间的区别进行了详细的介绍,需要的朋友可以过来参考下C-style cast举例: int i; double d; i = (int) d;上面的代码就是本来为double类型的d,通过(int)d将其转换成整形值,并将该值赋给整形变量i (注意d本
2015-04-29 00:24:08
428
转载 C++笔试常见题目
分类: IT职场C++笔试常见题目网上流传的一份常见C++笔试题目汇总,供各位有找工作需要的同学参考之用,因为原文较长,遂采用连载形式,预计需要连载15期左右,有耐心的同学就请一直跟下去吧,相信一定会有所收获。提前说明一点,题目来在网络,答案仅供参考,如有同学觉得哪道题目有异议,欢迎讨论! 1.是不是一个父类写了一个virtual 函数,如果子类覆盖它的函数不加
2015-04-28 22:19:25
393
转载 请定义一个宏,比较两个数的a、b的大小,不能使用大于、小于、if语句
方法一:[cpp] view plaincopyprint?#define max(a,b) ((((long)((a)-(b)))&0x80000000)?(b):(a)) 若a>b,则a-b的二进制最高位为0,与上任何数还是0,所以大数为a;否则,a-b为负数,最高位为1,与上0x80000000(最高位为1
2015-04-28 15:47:34
482
原创 C语言字符串反转函数
找工作前写了篇blog说要做些常见的笔试面试题,像单链表反转啊字符串反转啊之类的题目,但是只写了一篇单链表反转就没再继续写下去,因为觉得实在没什么好写的,不过都是一些简单的指针操作罢了,但是还是有很多新手问这个问题,而且我在腾讯二面的时候也被要求实现这个函数,那我也写一篇blog介绍一下字符串反转吧。 C语言中所谓的字符串不过是字符数组,后跟一个0x00字符标识结尾,所以反转起来很容易,
2015-04-27 23:39:52
625
转载 n的阶乘(n!)末尾零(0)的个数
1000乘以999乘以998乘以997...3乘以2乘以乘以1的末尾连续有多少个零?把从 1000 到 1 这些所有的数,只要是5的倍数的,一律分解成含因子5为止。例如 10 = 2 * 5 15 = 3 * 525 = 5 * 550 = 2 * 25 = 2 * 5 * 5100 = 4 * 25 = 4 * 5 * 5105 = 21 * 5125 = 5
2015-04-27 23:33:18
1017
转载 关于自己写linux c++的网络服务的tps上限的一次不严格的测试
测试机: amd 两核心 ,客户端与服务端都在本机上跑。网络层:A类epoll线程处理accept的被动连接;B类epoll线程处理connect的主动连接;C类epoll线程把A或B类epoll线程得到的连接分配到某个线程,专门处理send和recv操作;D类线程池处理C类抛出来的数据,处理完之后,再投递到C类线程做send操作。用ab测试短连接ab -n
2015-04-27 23:08:03
661
转载 linux下测试磁盘的读写IO速度
有时候我们在做维护的时候,总会遇到类似于IO特别高,但不能判定是IO瓶颈还是软件参数设置不当导致热盘的问题.这时候通常希望能知道磁盘的读写速度,来进行下一步的决策.下面是两种测试方法:(1)使用hdparm命令这是一个是用来获取ATA/IDE硬盘的参数的命令,是由早期Linux IDE驱动的开发和维护人员 Mark Lord开发编写的( hdparm has been writte
2015-04-27 22:23:22
343
转载 如何实现一个malloc2
阅读目录2.1.1 虚拟内存地址与物理内存地址2.1.2 页与地址构成2.1.3 内存页与磁盘页2.2.1 内存排布2.2.2 Heap内存模型2.2.3 brk与sbrk2.2.4 资源限制与rlimit3.2.1 数据结构3.2.2 寻找合适的block3.2.3 开辟新的block3.2.4 分裂block3.2.5 malloc的实现3.2.6 calloc的实现3.2.7 fre
2015-04-22 16:02:33
587
转载 如何实现一个malloc
任何一个用过或学过C的人对malloc都不会陌生。大家都知道malloc可以分配一段连续的内存空间,并且在不再使用时可以通过free释放掉。但是,许多程序员对malloc背后的事情并不熟悉,许多人甚至把malloc当做操作系统所提供的系统调用或C的关键字。实际上,malloc只是C的标准库中提供的一个普通函数,而且实现malloc的基本思想并不复杂,任何一个对C和操作系统有些许了解的程序员都可以很
2015-04-17 16:18:42
386
原创 双缓冲消息队列-减少锁竞争
络应用服务器端, 为了性能和防止阻塞, 经常会把逻辑处理和I/O处理分离:I/O网络线程处理I/O事件: 数据包的接收和发送, 连接的建立和维护等.逻辑线程要对收到的数据包进行逻辑处理.通常网络线程和逻辑线程之间是通过数据包队列来交换信息, 简单来说就是一个生产者-消费者模式.这个队列是多个线程在共享访问必须加锁, 意味着每次访问都要加锁。如何更好的如何减少锁竞争次数呢 ?
2015-04-15 17:57:36
461
转载 nginx spinlock 自旋锁的实现
两个问题, 1) spinlock的实现原理是? a. 在用户态尝试竞争一个共享资源. 如果竞争不到, 则不断尝试竞争. 但是不借助内核提供的mutex等变量机制. 因为涉及到内核,就意味这效率低下. b. 要想在用户态实现竞争一个共享资源, 必须借助cpu提供的原子操作指令. 如果是SMP多cpu,还需要lock指令锁总线. c. 为了避免在长时间竞争却一直得不到
2015-04-15 16:06:49
455
转载 Linux 的多线程编程的高效开发经验
本文中我们针对 Linux 上多线程编程的主要特性总结出 5 条经验,用以改善 Linux 多线程编程的习惯和避免其中的开发陷阱。在本文中,我们穿插一些 Windows 的编程用例用以对比 Linux 特性,以加深读者印象。4 评论:杨 奕 (yangyish@cn.ibm.com), 软件工程师, IBM贺 皓 (haohe@cn.ibm.com),
2015-04-14 15:16:45
415
转载 linux 2.6 互斥锁的实现-源码分析
1. 首先介绍一下互斥锁所使用的数据结构:struct mutex { 引用计数器 1: 所可以利用。 小于等于0:该锁已被获取,需要等待 atomic_t count; 自旋锁类型,保证多cpu下,对等待队列访问是安全的。 spinlock_t wait_lock; 等待队列,如果该锁被获取,任务将挂在此队列上,等待调度。 struct li
2015-04-14 15:09:04
345
原创 malloc linux实现
转载: http://blog.csdn.net/zdl1016/article/details/8696514这里分析linux 0.11内核源码中, 给内核使用的malloc函数(注意,是给内核使用的,不是给应用程序使用的,不是glibc)直接上图:解释: 这个图只举例bucket_size=16的桶列表. 第一个桶描述符中的buf中的obj已经大
2015-04-06 19:59:10
456
转载 spin_lock浅析
今天我们详细了解一下spin_lock在内核中代码实现,我们总共分析四个项目: 1.spinlock_t的定义分析:首先来看一下spinlock_t的定义:typedef struct { raw_spinlock_t raw_lock;#if defined(CONFIG_PREEMPT) &&defined(CONFIG_SMP) unsig
2015-04-05 13:59:48
730
转载 从头到尾彻底解析Hash表算法 - fff8965
作者:July、wuliming、pkuoliver说明:本文分为三部分内容, 第一部分为一道百度面试题Top K算法的详解;第二部分为关于Hash表算法的详细阐述;第三部分为打造一个最快的Hash表算法。第一部分:Top K 算法详解问题描述(百度面试题):搜索引擎会通过日志文件把用户每次检索使用的所有检索串都记录下来,每个查询串的长度为1-255字节。假设目前
2015-04-04 22:23:57
477
原创 拷贝构造函数问题所在
class Rect{public: Rect() // 构造函数,p指向堆中分配的一空间 { p = new int(100); } ~Rect() // 析构函数,释放动态分配的空间 { if(p != NULL) {//构造函数析构了两次
2015-04-04 18:41:47
349
转载 IOCP完成端口模型Client——》Server
调试时的::OutputDebugString("something!");需要用DebugView查看,可以到:http://www.onlinedown.net/soft/62573.htm下载,呵呵///Server [cpp] view plaincopy///////////////////////////
2015-03-30 00:43:44
1018
转载 了解 TCP 系统调用序列
从内核到应用程序级别的函数调用序列TCP/IP 编程接口提供各种系统调用,以帮助您有效地使用该协议。TCP 堆栈代码数量繁多,深入到内核级别的完整调用序列可以帮助您了解 TCP 堆栈。在本文中,将回顾和学习关于 TCP 调用序列的详细信息,其中包括对 FreeBSD 的引用,以及在用户级进行系统调用后在 TCP 堆栈中发生的重要函数调用。评论:Bindu A
2015-03-29 13:07:21
539
原创 tcp定时器
1:建立链接定时器定时器在发送syn报文段建立一条新连接是启动。如果没有在75s收到响应,连接建立将中断。2:重传定时器定时器在tcp发送数据时设定。如果定时器已超时而对端的确定还没到达,tcp将重传数据,重传定时器的值是动态计算,取决于tcp为该链接测量的往返时间和该报文段已经被重传的次数。3:延迟ack定时器定时器在tcp收到必须被确定但是无需马上发
2015-03-28 23:10:10
439
原创 linux 下大量TIME_WAIT 的处理
Linux下高并发的Squid服务器,TCP TIME_WAIT套接字数量经常达到两、三万,服务器很容易被拖死。通过修改Linux内核参数,可以减少服务器的IME_WAIT套接字数量。 vi /etc/sysctl.conf 增加以下几行:net.ipv4.tcp_fin_timeout = 30net.ipv4.tcp_keepalive_time = 1200net.ipv4.tcp_sy
2015-03-27 23:42:45
431
原创 阻塞机制下的recv小结
recv是socket编程中最常用的函数之一,在阻塞状态的recv有时候会返回不同的值,而对于错误值也有相应的错误码,分别对应不同的状态,下面是我针对常见的几种网络状态的简单总结。 首先阻塞接收的recv有时候会返回0,这仅在socket被正常关闭时才会发生。 而当拔掉设备网线的时候,recv并不会发生变化,仍然阻塞,如果在这个拔网线阶段,socket被关掉了,后果可能
2015-03-27 23:31:59
439
原创 去腾讯数据中心后台面试
去的时候才知道自己不合适,是一个架构师的职位 也是T3-3的级别,做完了笔试题目, 感觉还行,我没有仔细做。面试官跟我聊那些笔试题目做错了,很仔细。问我做过设计过什么分布式架构。
2015-03-24 21:36:23
898
jpegoptim 图片压缩利器
2020-11-14
内存泄漏代码实现
2015-04-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅