- 博客(356)
- 资源 (17)
- 收藏
- 关注
原创 人活着要珍惜自己,朋友.......
人的困难也许不在于处境的险恶 而是从一个环境向另一个环境的前进过程。人是一种群体动物,都害怕心灵的孤独-人需要共享幸福分担痛苦。 这也许是每个人都要恋爱都要交很多朋友的原因吧。当一个人在向目标挺进中,他往往要长时间“享受”孤独,那种困境就像是一个人被困在风雨交加的夜举目四望只有黑暗 只有前进。就像《士兵突击》里的许三多。他一下连队对就被分在那个“天沧沧,野茫茫,草原旁驻训场,全体班长的坟墓,所
2011-01-08 23:02:00 1462 2
转载 我为什么选择go语言
这里,我并不打算引起语言争论的口水仗,我并不是什么大牛,对语言的造诣也不深,只是想通过自己实际的经历,来说说为什么我在项目中选择go。其他语言的经历C++在接触go之前,我已经有多年的c++开发经验。主要用在游戏服务端引擎开发以及P2P上面,那可是一段痛并快乐的时期,以至于我看到任何的程序钉子问题都觉得可以用c++这把锤子给敲定。但是对于互联网项目开发来说,除非你的团队整体的c++
2014-09-17 17:23:10 1963
转载 我的编程语言经历
Alan Perlis 说过:“一种不改变你编程的思维方式的语言,不值得去学。”,虽然写了这么多年程序,用了这么多的语言,但我自认还没悟道编程语言如何改变我的思维方式。几天前,我需要用python来为 ledisdb 写一个客户端,我突然发现,对于c++,go这种语言,我如果需要实现一个功能,首先想到的是问题是代码应该怎么写。但是当我使用python的时候,我首先考虑的问题是在哪里去找一个
2014-09-17 17:21:52 2063
转载 static和extern的使用
1、修饰局部变量 static修饰局部变量,该局部变量便存放在静态数据区,其生命周期一直持续到整个程序执行结束,但作用域仍限于该语句块。 特别注意的是,用static修饰局部变量后,该变量只在初次运行时进行初始化工作,且只进行一次。 程序执行结果为: 2 3 对于静态局部变量如果没有进行初始化的话,对于整形变量系统会自动对其赋
2014-07-31 13:42:30 890
转载 MTPutty 保存设置
先load你指定的ip然后选择左侧目录中的windows->translation 再在右侧选择utf-8编码选中后,点击左侧目录中的session,回到首页面,点击 save 保存 然后open就行了.在 mtputty中新添加时选择刚才保存的那个绘画添加上相应的端口用户名密码就行了如果是想修改mtputty中已经添加过会话,这样右键你像改动的会话
2014-07-28 09:25:41 10400
转载 inserter、back_inserter、front_inserter
分别返回三种类型的iterator:insert_iterator,back_insert_iterator,front_insert_iterator。这三种iterator被设计成允许不同的算法重写elements(例如copy方法)去替代插入操作。
2014-07-04 10:52:58 690
转载 set_union的几个例子
问题:将多个集合合并成没有交集的集合。 给定一个字符串的集合,格式如:{aaabbbccc},{bbbddd},{eeefff},{ggg},{dddhhh}要求将其中交集不为空的集合合并,要求合并完成后的集合之间无交集,例如上例应输出{aaabbbcccdddhhh},{eeefff},{ggg}。 (1)请描述你解决这个问题的思路; (2)请给出主要的处理流程,算法,以及算法
2014-07-04 10:51:09 784
转载 整数哈希介绍
为什么要整数哈希 很多时候,可以直接用整数作为键,比如QQ号码,手机号码,但这些号码的分布性不是均匀的(比如高位的变化更少,低位变化更多)。 分布均匀指的是每位为0或1的概率都是一样的。理论基础整数哈希的目标 1. 函数要是可逆的(1对1的映射) 2. 雪崩效应(输入中1bit的变化 影响 输出中1/4 到 1/2的bits变化)可逆操作
2014-05-23 11:07:33 1413
转载 面向接口编程实例篇
问题的提出定义:现在我们要开发一个应用,模拟移动存储设备的读写,即计算机与U盘、MP3、移动硬盘等设备进行数据交换。上下文(环境):已知要实现U盘、MP3播放器、移动硬盘三种移动存储设备,要求计算机能同这三种设备进行数据交换,并且以后可能会有新的第三方的移动存储设备,所以计算机必须有扩展性,能与目前未知而以后可能会出现的存储设备进行数据交换。各个存储设备间读、写的实现方法不同,U盘和移
2014-05-23 09:26:35 1670
转载 那些年·我们读过的专业书籍
有的书带着我们走进一个全新的世界,有的书解答了我们心中久蓄的疑惑,有的书让我们眼前一亮兴奋不已,有的书令我们回味无穷终生难忘。作为计算机专业的人,相信大家一定看过不少经典的专业书籍。这里我们列举一下,那些年,我们读过的专业书籍。(*部分书籍我还没有读过,就不盲目做评论了,以免误导大家)1. C++《C++ Primer》:C++经典,入门必读,几乎涵盖C++所有特性。
2014-04-17 10:18:03 1181
转载 篮子、水果和鸡蛋——关于C++的模板偏特化和萃取编程技法
最近在读《STL源码剖析》。读这本书的时候发现自己的C++的知识其实是非常匮乏的。 从大学的C++教材上学到一些C++基本的语法、内存管理、继承、多态等方面的基础知识。这些只是是一棵大树的根。而读STL的源码和侯捷的解析的时候,发现C++还有很多丰富的细节和技巧。这些是大树上的枝叶。学习C++,不仅要学习根,也要学习枝叶,这样才能让大树茂盛起来。虽然C++语法一些用法较为晦涩,但读完这些代码之后觉
2014-04-17 09:57:39 1331
转载 linux后台开发必看书
系统编程类《UNIX环境高级编程》W.Richard Stevens:非常经典的书。虽然初学者就可以看,但是事实上它是《Unix NetworkPrograming》的一本辅助资料。国内的翻译的《UNIX环境高级编程》的水平不怎么样,现在有影印版,直接读英文比读中文来得容易。《Unix网络编程卷二》Unix网络编程卷第二卷没有涉及网络的东西,主要讲进程间通讯和Posix线程。网络编程类
2014-04-17 09:56:47 1004
转载 国外程序员推荐:每个程序员都应读的书
如果能时光倒流,回到过去,作为一个开发人员,你可以告诉自己在职业生涯初期应该读一本,你会选择哪本书呢?我希望这个书单列表内容丰富,可以涵盖很多东西。”很多程序员响应,他们在推荐时也写下自己的评语。以前就有国内网友介绍这个程序员书单,不过都是推荐数 Top 10的书。其实除了前10本之外,推荐数前30左右的书籍都算经典,伯乐在线整理编译这个问答贴,同时摘译部分推荐人的评语。下面就按照各本书的推荐
2014-04-17 09:53:41 1195
转载 Linux tcpdump命令详解
简介用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。 tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。 实用命令实例默认启动tcpdump
2014-04-01 14:56:18 1577
转载 c++运算符重载总结
c++的一大特性就是重载(overload),通过重载可以把功能相似的几个函数合为一个,使得程序更加简洁、高效。在c++中不止函数可以重载,运算符也可以重载。由于一般数据类型间的运算符没有重载的必要,所以运算符重载主要是面向对象之间的。1.一般运算符重载在进行对象之间的运算时,程序会调用与运算符相对应的函数进行处理,所以运算符重载有两种方式:成员函数和友元函数。成员函数的形式比较简单,就是
2014-03-22 11:54:27 958
转载 Awk 与 运算符
awk 作为文本处理优秀工具之一,它有自己丰富的运算符,可分为:算术运算符,赋值运算符,关系运算符,逻辑预算法,正则运算符。一、运算符介绍运算符描述赋值运算符= += -= *= /= %= ^= 赋值语句逻辑运算符||逻辑或&&逻辑与
2014-03-05 18:05:43 1247
转载 shell 循环实现
循环语句:Bash Shell中主要提供了三种循环方式:for、while和until。一、for循环 for循环的运作方式,是讲串行的元素意义取出,依序放入指定的变量中,然后重复执行含括的命令区域(在do和done 之间),直到所有元素取尽为止。 其中,串行是一些字符串的组合,彼此用$IFS所定义的分隔符(如空格符)隔开,这些字符串称为字段。for的语法结构如下:
2014-03-05 17:12:38 1033
转载 shell之Awk
AWK一、awk基础知识1、awk格式awk 选项 '命令体' file1,file2...选项:-F 指定分隔符,默认是空格或者tab制表符命令体:读前处理:BEGIN{命令...}------->页眉所有行处理:{命令...}------->内容读后处理:END{命令...}------->页脚例如: awk -F: 'BEGIN{...
2014-03-05 17:06:43 947
原创 awk语法解析及实例
(1) awk视文本文件为文本数据库 awk将文本文件的每一行看作为一个记录,将每一行中每一个被空白符分割开的部分看作一个字段 (2) awk语法结构分析 awk [-F ERE] [-vassignment] ...program[argument ...] awk [-F ERE] –f progfile ... [-v assignment]...[a
2014-02-25 14:29:05 832
转载 linux端口状态查看相关命令总结
1netstat命令用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况-a 显示一个所有的有效连接信息列表(包括已建立的连接,也包括监听连接请求的那些连接)-n 显示所有已建立的有效连接-t tcp协议-u udp协议-l 查询正在监听的程序-p 显示正在使用socket的程序识别码和程序名称例如:netstat -nt
2014-02-11 18:17:08 3433
转载 Wireshark捕捉与显示过滤器语法详解
捕捉过滤器是数据经过的第一层过滤器,它用于控制捕捉数据的数量,以避免产生过大的日志文件。显示过滤器是一种更为强大(复杂)的过滤器。它允许您在日志文件中迅速准确地找到所需要的记录。 捕捉过滤器的语法与其它使用Lipcap(Linux)或者Winpcap(Windows)库开发的软件一样,比如著名的TCPdump。捕捉过滤器必须在开始捕捉前设置完毕,这一点跟显示过滤器是不同的。 设置捕
2014-01-15 12:09:25 6429
转载 Vim的分屏功能
本篇文章主要教你如何使用 Vim 分屏功能。 分屏启动Vim使用大写的O参数来垂直分屏。vim -On file1 file2 ...使用小写的o参数来水平分屏。vim -on file1 file2 ...注释: n是数字,表示分成几个屏。关闭分屏 关闭当前窗口。Ctrl+W c关闭当前窗口,如果只剩最后一个了,则退出Vim。Ctr
2013-11-26 17:05:55 724
转载 VIM下,在文件及目录中查找字符串的方法 (vimgrep)
以前用editplus的时候,有一个在文件中查找的功能,可以在所有打开的文件中查找字符串,也可以在某一个目录及它的子目录中查找.那么在VIM中是否也有相关的功能呢?答案当然是肯定的.VIM中有个类似grep的命令,叫做vimgrep,语法如下::vimgrep /{pattern}/[g][j] {file} ... 简单来讲,就是在路径和文件命符合{file}的所有文件
2013-11-26 17:05:10 1227
转载 linux后台运行命令
后台运行脚本 monitor.sh & --shell终端断掉脚本就停止运行了nohup command & --不挂断的执行程序setsid command & --关闭shell终端,命令继续后台运行 (monitor.sh &) --关闭shell终端,命令继续后台运行disown -h %
2013-11-15 12:21:02 985
原创 二叉树非递归遍历
#include #include #define MAXSIZE 30typedef struct TreeNode { char data;//节点元素 struct TreeNode* lChlid,*rChild;//左右子树指针}*PTreeNode;/*采用递归的方式 前序遍历建立二叉树*/PTreeNode CreateTree(Tree
2013-05-15 14:13:10 779
原创 分布式系统介绍(持续更新)
分布式系统介绍目 录1 修改记录...12 概要...23 分布式计算...3 1 概要本文主要对大规模分布式系统的发展进行梳理,以加深理解。 2 分布式计算 随着计算机技术的发展和信息爆炸时代的来临,人们对数据计算的需求越来越高,特别是海量数据的科学计算。传统的单机受到计算速度、容量
2013-02-17 14:19:29 1126
转载 C++ 与 字符编码格式
ASCII码是表示字符的基本编码,由于它是8位字节编码,只能表示256个字符。事实上在早期,ASCII是7位,英文的主要字符都小于128,后来扩展到8位,用大于128的编码表示特殊图形标记。当计算机进入中国后,面临汉字表示的问题,汉字的数目远大于256,于是中国制订GB2312编码。GB2312是一个兼容7位ASCII的变长字节编码格式。所谓变长是指英文字符仍然使用单字节表示,而中文使用双字
2012-12-10 11:55:45 5464
转载 localtime 和 localtime_r .
#include #include #include #include using namespace std;int main(int argc, char *argv[]){ time_t tNow =time(NULL); time_t tEnd = tNow + 1800; //注意下面两行的区别 struct tm*
2012-08-13 18:05:34 8003
原创 TCP/IP 学习笔记
1 拥塞避免算法 名称解释: 报文段--- TCP一次传输所发送的一定长度的字节段。 TCP的滑动窗口机制,作为接收方管理发送方发送数据量的手段,以防止接收方的接收缓冲区因为满而溢出。拥塞窗口(cwnd),接收端通知窗口(rwnd),慢启动阀值(ssthresh),慢启动的特征:1 cwnd被初始化为一个数据包大小
2012-08-07 22:08:59 2394
转载 Semaphore 使用
Semaphore是另一个同步问题机制,不论是Event或Mutex,其他Process在执WaitForSingleObject时,就看当时的物件是Signal或UnSignal而决定是否等待,而Semaphore也相同,但是它要变成Signal /UnSignal的状态,却有些不同,它是提供一个计数值,它允许在这个计数值之内,任何执行到WaitForSingleObject的Thr
2012-06-20 10:36:53 740
转载 Mutex的使用
使用互斥量Mutex主要将用到四个函数。下面是这些函数的原型和使用说明。第一个 CreateMutex函数功能:创建互斥量(注意与事件Event的创建函数对比)函数原型:HANDLECreateMutex( LPSECURITY_ATTRIBUTESlpMutexAttributes, BOOLbInitialOwner, LPCTSTRlpName
2012-06-19 17:57:37 992
原创 Ping 127.0.0.1 与Ping 本机地址
背景知识:数据能传到以太网上就说明数据到了网卡,如果数据没有出以太网驱动程序那它肯定没有到网卡。 ip输出函数先检查地址是不是环回地址: 1. 如果是环回地址,直接交给环回驱动程序处理,返回ip输入函数 2. 如果不是环回地址,检查是不是广播地址或者多播地址,如果是数据报复制一份传给环回接口,然后送到以太网上。 3. 如果不是广播或者多播地址,才检查
2012-06-17 20:11:32 2078
转载 传输层 和网络层的区别
在协议栈中,传输层位于网络层之上,传输层协议为不同主机上运行的进程提供逻辑通信,而网络层协议为不同主机提供逻辑通信。这个区别很微妙,但是却非常重要。让我们用一家人作为类比来说明一下这个区别。 设想一下有两所房子,一个位于东海岸而另一个位于西海岸,每所房子里都住着12个小孩。东海岸的房子里的小孩和西海岸房子里的小孩是堂兄妹。两所房子里的孩子喜欢互相通信——每个孩子每周都给每一个堂兄妹写一封
2012-06-17 15:50:01 7905 1
原创 SOCK_RAW 与 SOCK_STREAM 、SOCK_DGRAM 区别
TCP/IP 四层模型:其中 SOCK_STREAM、SOCK_DGRAM 工作在传输层,SOCK_RAW 工作在网络层。SOCK_RAW 可以 处理ICMP、IGMP等网络报文、特殊的IPv4报文、可以通过IP_HDRINCL套接字选项由用户构造IP头。
2012-06-17 10:11:37 10495
转载 采用IOCP模型开发SOCKET服务端设计思路
1、设计模式; IO收发线程与EMPLOY任务线程必须分离设计,否则如果只考虑IO线程来处理所有事情的话,一旦出现某个业务接口运行较慢,势必造成对IO网络的堵塞,那么这样的后台服务又有什么用呢? EMPLOY任务线程指派算法,要看具体业务来定,如果所有业务实现数据传输量大小差不多,反应时间长短都差不多的话,可以采取平均顺序分配的方式,否则可以按照业务具体调用来指派某一个
2012-06-17 09:45:11 1614
转载 什么是带外数据?
带外数据(out—of—band data),有时也称为加速数据(expedited data), 是指连接双方中的一方发生重要事情,想要迅速地通知对方。 这种通知在已经排队等待发送的任何“普通”(有时称为“带内”)数据之前发送。 带外数据设计为比普通数据有更高的优先级。
2012-06-17 09:40:56 990
转载 SO_LINGER
setsockopt 设置 SO_LINGER 选项 此选项指定函数close对面向连接的协议如何操作(如TCP)。内核缺省close操作是立即返回,如果有数据残留在套接口缓冲区中则系统将试着将这些数据发送给对方。SO_LINGER选项用来改变此缺省设置。使用如下结构:struct linger { int l_onoff; /* 0 = off, nozer
2012-06-17 09:38:03 1056
排序算法实现
2014-07-03
网络编程必备 TCP/ IP 详解
2009-11-04
C++Builder.5.编程实例与技巧
2009-05-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人