自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 收藏
  • 关注

原创 linux自带的dd工具进行磁盘性能分析及网络速度分析

读速度:dd if=sum.txt of=/dev/null bs=32k count=10000,比如结果显示为6GB/s写速度:dd if=/dev/zero of=sum.txt bs=32k count=100000,比如结果显示为2GB/sPing 对方的ip地址 ,比如显示结果是1毫秒级别,还是10ms级别Traceroute和tcpTracer...

2019-07-06 15:29:03 377

原创 python脚本在linux进行mysql分析:tcpdump,tcp,连接

import time,osf=open("mysqldump.log","a+")for i in range(10000): os.system("tcpdump -i lo -s 0 port 3306 -w mysql"+str(i)+".cap") time.sleep(1) f.write(str(time.strftime("%Y-%m-%d %H:%M:%...

2019-07-06 15:26:59 253

原创 测试磁盘写入性能的纳秒级耗时

#include <stdio.h>#include "string.h"#include <string>#include <vector>#include <iostream>#include <sstream>#include <time.h>#include <unistd.h>#incl...

2019-07-06 13:59:28 3365

转载 PlSql 登陆报错或报空白框的问题

是环境变量的问题。我的电脑---右键----属性-----高级-----环境变量-----系统变量中,添加名称为:oracle_home值为:D:\oracle\product\10.2.0\db_1 (你自己的oracle_home路径)。最后的问题有原因是程序路径名“括号”问题。比如要连接的程序存放在c:/abc(def)/program/目录下,调试运行会出现ORA-06413。把路径名称中...

2018-05-03 09:00:55 3404

转载 app 服务端接口restful

https://www.cnblogs.com/zhouguowei/p/5264775.html

2018-01-22 22:54:06 1238

原创 使用脚本语言 简简单单做C/C++单元测试(之二)

具体来说:ctypes模块中有三种不同的动态链接库加载方式:cdll, windll, oledll。不同之处在于链接库中的函数所遵循的函数调用方式(calling convention)以及返回方式有所不同。cdll用于加载遵循cdecl标准函数调用约定的链接库。windll则用于加载遵循stdcall调用约定的动态链接库。oledll与windll完全相同,只是会默认其载入的函数会统一返回一个

2013-01-03 18:37:17 1564 1

原创 使用脚本语言 简简单单做C/C++单元测试(之一)

先介绍基本概念:单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。对于单元测试中单元的含义,一般来说,要根据实际情况去判定其具体含义,如C语言中单元指一个函数,Java里单元指一个类,图形化的软件中可以指一个窗口或一个菜单等。总的来说,单元就是人为规定的最小的被测功能模块。单元测试是在软件开发过程中要进行的最低级别的测试活动,软件的独立单元将在与程序的其他部分相隔离

2013-01-02 19:17:30 2159

原创 python字符串替换方法和注意事项

方法有两种:last_date = “1/2/3”   目标为"123"之一:repalce date =last_date.replace('/','')  之二:rep = re.compile("/")date = p.sub('', last_date) 注意事项是:一定不要转义,否则函数不会生效。 这个问题我查了半个小时,希望大家不

2012-07-10 00:29:24 1060

原创 当system或者批处理或者计划任务需要调用其他exe时失败的解决方法(window和linux)

当system或者批处理或者计划任务需要调用其他exe时失败的解决方法(window和linux):     这种失败一般都和配置文件ini等有关,当调用者A,调用其他exe,B时,假如他们不在同一个路径目录下,那么一般情况下都是会失败的,解决方法是:执行B时,先切换到B的目录下,再执行B程序,但是批处理或者脚本是只认行数,不认命令数,就是在这一句话里面如果同时有两个命令,他也不认,即使使用管

2012-07-08 23:03:56 1441

原创 VS 2005 VS2008 VS2010 设置断点,在调试时产生断点错位怎么解决

问题如下: 1.错误代码报错行数错位 2.debug动态跟踪错位 3.Release跟踪错位 4.断点设置自动被跳转可能的原因有三种:第一:代码和dll或者exe不一致;第二:数组等越界导致内存乱了; 第三:0D0A 改为了0D少了0A或者中文注释打乱了VS对0D0A的定位 方法一:最方便的方法是静态编译看看是不是第三个原因,首先VS

2012-06-14 23:48:06 10253 3

转载 关于 TCP 并发连接的几个思考题与试验

陈硕 (giantchen AT gmail)blog.csdn.net/Solstice前几天我在新浪微博上出了两道有关 TCP 的思考题,引发了一场讨论 http://weibo.com/1701018393/eCuxDrta0Nn 。第一道初级题目是:有一台机器,它有一个 IP,上面运行了一个 TCP 服务程序,程序只侦听一个端口,问:从理论上讲(只考虑 TCP/IP 这

2012-06-05 14:05:29 771

原创 弓---引申的生活状态

真正有力的弓,平时都是松松夸夸的,在需要的时刻爆发出真正的力量;而墙上挂的弓,看起来很好看,很有力量,其实它只是样品,只是摆设,不能用的,早已失去了韧劲;

2012-05-30 21:15:10 399

原创 每天任务的高效管理办法

|紧急|                                        ||                      1                |                       2|                                        ||---------------------------------------

2012-05-11 21:56:10 415

原创 关于IT项目和团队管理学习的小结

项目要素:S:范围(目标)创造的产品,服务等Q:质量,完成后被验收满足的条件和标准S:进度,认可的进度内C:成本,在一定的预算内 项目也要计算投入和产出,同时也有三个作用:培养人才;拓展客户关系;构建可重用的模式/平台/构件 项目也要认识相关方,并做出具体分析:CTO,项目经理,用户,客户,不感兴趣的,可以忽略的,it人员,竞争对手;尤其是用户和客户

2012-05-11 21:42:10 709

原创 代码质量之三-----关键的代码需要单元测试和自己review及交叉review

细节后续再补......,呵呵

2012-05-10 22:03:19 1065

原创 代码质量之二----善用代码静态分析工具

可以程序自动地识别出代码的不好之处;各种语言都有成型的工具;

2012-05-10 22:02:08 485

原创 代码质量之一-----代码是债务

代码是债务,代码越多,维护的代价越大,1,最好的函数名称表述它是做什么的,而不需要表述它为什么或者怎么做的;2,代码行数最好是15行,其次30行,最多不要超过60行;3,代码要简洁明了;

2012-05-10 22:00:43 1003

原创 程序性能优化之二-----ulimit

如果并发数是10,那么不需要考虑性能优化;如果并发数是100,则需要查看内存是否小于256M;如果并发数200,则需要修改linux系统的ulimit文件描述符的默认值1024;如果并发数256,则需要看看是不是32位系统,它的FILE里面类型是unsigned char 即最大值只有256,64位系统里面则是int;如果并发数大于500,则需要查看tomcat或者mysql是否支

2012-05-10 21:54:53 1560

原创 内存泄漏检测工具

windows下面有vld即visual  leak detector;linux下面有valgrind;  memleakcheck tools:windows:vld 即Visual Leak Detector,使用方式,直接main程序包含.h,链接.lib即可,注意需要debug版本编译,1.0版本免安装linux:valgrindvalgrind --leak

2012-05-09 21:03:11 818

转载 程序性能优化之一----profiler

profiler的主要作用为:可以查找性能瓶颈,主要可以统计函数调用次数,调用时间; windows的team 版本才有这个功能; Goolgleperformance tools是google公司开发的一套用于C++Profile的工具集。其中包括:一个优化的内存管理算法—tcmalloc性能优于malloc。 一个用于CPU profile的工具,用于检测程序的性能热点

2012-05-09 20:47:14 3218

转载 使用SWIG和Python对C/C++进行单元测试

关键字: swig python c/c++官网为www.swig.org可以自动把c/c++封装成python,php,java,.net,perl,tcl等等  最近一直在用C/C++做开发,虽然C/C++都有自己的单元测试框架(CUnit,CPPUnit,知道还有其它框架的兄弟告诉我一声,我去看看),但是总觉得写起来麻烦(人懒没办法),

2012-05-07 21:44:35 2550

原创 string 和 const char* 的性能比较

经过网上调研和网友测试:       如果不涉及到查找,尽量用string,参数传递可以用string引用;涉及到查找子串时还是用const char*效率高;

2012-05-05 09:09:40 1054

转载 Nagios 监控

Nagios 可以监控的功能有:   1、监控网络服务(SMTP、POP3、HTTP、NNTP、PING等); 2、监控主机资源(处理器负荷、磁盘利用率等);  3、简单地插件设计使得用户可以方便地扩展自己服务的检测方法;  4、并行服务检查机制;  5、具备定义网络分层结构的能力,用"parent"主机定义来表达网络主机间的关系,这种关系可被用来发现和明晰主机宕机

2012-05-05 09:04:45 712

原创 程序人生感悟----做事和做人的思考之一201204

人既要埋头做事,更要抬头思考,写代码多年或者在一个公司待多年以后,人会皮掉,即只做熟悉的事情或者领导安排的事情,如果不想让人生荒废则需要多思考,最好是每周思考一次,作为5年来的第一次思考如下:作为一个有责任感的男人,要有短期目标,中期目标和长期目标。长期目标不外乎管理(经理)或者技术专家(即架构师),架构师是长期目标,那么中期目标就是掌握架构的性能评价标准和实现方式,并且在日常工作或者

2012-04-11 21:52:32 1510 1

原创 SOA and CEP

CEP complex event process system后续需要展开,先标记下:CEP(复杂事件处理)  CEP:Complex Event Processing  业界应用:算法交易 (Algorithmic Trading),定量投资 (Quantitative Investment),风险管理 (Risk Management),商业活动监控、群众智能、网络攻击、

2012-03-15 22:39:05 1582

原创 在C++动态库中释放调用动态库程序中生成的指针new和delete 或 malloc和free

一般情况下:谁申请,谁释放。在C++动态库中释放调用动态库程序中生成的指针:方法一:可以在“程序”中增加一个callback函数,让dll调用方法二:用GlobalAlloc分配内存,用GlobalFree来释放就可以了.方法三:用内存池linux没有类似的问题

2011-11-26 11:56:26 1272

原创 c++ linux 如何把 char* 里面的中文 insert进入mysql(相应的字段为varchar类型)

首先,  show variables like 'char%';来检查字符集:+--------------------------+----------------------------+| Variable_name            | Value                      |+--------------------------+------------

2011-11-13 14:25:18 1619

原创 程序员修炼之道--读后感之二

工具是手的扩展    就像伐木工人手上有各种各样的工具一样,程序员也需要有各种tools,伐木工人的工具会随着时代的进步而进步,比如有斧头到电锯,程序员也需要适应时代的发展,能够很快的接受新的知识和工具,比如shell,python处理文本,IDE开发,cygwin元编程:---业务逻辑和业务规则等尽可能的配置:把抽象放到代码里面,细节放到metadata里面去,即数据库或者配置项

2011-11-07 09:28:45 1606

原创 程序员修炼之道--读后感之一

一,体会最深的是DRY原则:即不要重复你自己don't repeat yourself;体现在各个方面:1,引用数据库表XXX的程序,最好同时建立表XXX_reference,在里面填入所有引用的程序的项目名称,文件名称,类名称,函数名称;如此当此表发生更改时,可以按图索骥,不会遗漏,导致定时炸弹式的bug2,内部文档,即代码注释工具doxgen产生的文档,尤其是参数按顺序使用@p

2011-11-02 21:24:41 1183

原创 c++ classic books

一篇文章中列出:《高质量程序设计指南——C++/C语言》《程序员修炼之道》《编程高手箴言》《软件随想录》《编程珠玑》《高效程序员的45个习惯》《代码之美》《架构之美》《代码大全》《代码质量》《重构——改善既存代码的设计》《posix多线程程序设计》《深入理解计算机系统》《设计模式》《Head First设计模式》《代码整洁之道》

2011-10-20 10:47:50 1034 2

原创 linux网络监控工具---系统自带的工具的使用示例(可以监控经过本局域网的任何数据,并可以打印到屏幕或者日志文件)

<br />      一般的程序都会有打印日志的功能,但是,当程序出现问题调试时,很可能需要查看到达ip协议栈的数据;<br />      当想查看本局域网通过的数据内容时,也可以由此命令解决;<br />      使用方式如下:<br />      1, 切换到管理员用户,如root,注意一定要用 su -, 否则切换到的根用户的执行路径不对,导致此命令失效<br />      2,输入如下命令查看所有经过eth1网关的数据:<br />      tcpdump -A -i eth1<br /

2010-08-22 11:28:00 1367

原创 emacs配置--包括gdb像vs2003一样多个可拉伸窗口和快捷键

<br />;; .emacs<br /><br />;;; uncomment this line to disable loading of "default.el" at startup<br />;; (setq inhibit-default-init t)<br /><br />;; turn on font-lock mode<br />(when (fboundp 'global-font-lock-mode)<br />  (global-font-lock-mode

2010-08-21 08:26:00 1744

原创 doxygen --文档自动生成工具

      为代码写注释一直是大多数程序员有些困扰的事情。当前程序员都能接受为了程序的可维护性、可读性编码的同时写注释的说法,但对哪些地方应该写注释, 注释如何写,写多少等这些问题,很多程序员仍然没有答案。更头痛的是写文档,以及维护文档的问题,开发人员通常可以忍受编写或者改动代码时编写或者修改对 应的注释,但之后需要修正相应的文档却比较困难。如果能从注释直接转化成文档,对开发人员无疑是一种福音。而doxygen就能把遵守某种格式的注释自动 转化为对应的文档。       Doxygen是一种开源跨平台的,以

2010-08-20 22:05:00 1345

原创 如何写安全的网络通讯服务器程序----避免程序崩溃的几种方式

       首先,必须保证不使用如下三个函数:strcpy, strcat, sprintf.因为他们不检查目的端的大小,如果源字符串长度大于目的端的缓冲区大小,则会导致程序崩溃。所以如果在网络服务器上使用了如上函数,假如客户端不小心发送了一个超大的字符串过来,那么服务器程序很容易崩溃。替代方案如下:strncpy, strncat, snprintf.因为他们指定了目的端的大小,如果源字符串长度太长,则多余的内容会被丢弃。       其次,服务器端程序一定要保证协议层的缓冲区不被堵塞。避免方法有:1,

2010-08-18 20:34:00 856

原创 基于tcp/ip协议的网络编程的一点感悟 ---关于ip和port作为通讯一端的唯一标识的认识

      对于基于tcp的应用程序来说,无论是客户端,还是服务器端,唯一标识对端id的是socket pair {本地ip:本地port, 远端ip:远端port},底层的ip协议数据包肯定包含源ip和port,目的ip和port, 当此数据包到达目的地时,目标主机的tcp连接就会匹配此连接的soket pair是否和数据包的socket pair 相同,如果相同,则数据进入tcp流队列,等待应用程序获取,如果应用程序此时堵死在处理程序中,导致数据包没有被取走,那么网络上过来的数据包就不会进入tcp流队列

2010-08-18 18:40:00 3066

原创 面向对象之UML入门基础

最近在读thinking in UML(大象,谭云杰), 详细阐述了分析,设计,建模和软件统一过程的书,以后会陆续写一些心得...第一章: 对象是怎么被抽象出来的?现实世界和对象世界看上去差别那么大,为什么是这样抽象而不是那样抽象呢?(WHY)对象世界由于其灵活性,可以任意组合,可是我们怎么知道某个组合就正好满足了现实世界的需求呢?什么样的组合是好的,什么样的组合是差点呢?(HOW)抛开现实世界,对象世界是如此的难以理解。如果只是给我一个对象组合,我怎么才能理解它表达了怎样的含义呢?(WHAT)因此我们需要

2010-06-14 20:20:00 660

原创 关于网站表现层和后台的一点思考--以及转载的三大WEB服务器(Apache ,Lighttpd,Nginx)对比分析

最近对大型网站有了一些深入的思考和了解:一个典型的架构是这样的:模块一:php在apache(包括fcgi)网站给外部的访问者,可以说是一个UI接口界面;模块二:c++写个后台实时服务程序,通过调用fcgi实时获取外部客户的访问请求,根据请求的字符串内容来给予适当的处理,并做出响应给php,php以一定的组织方式表现给客户;模块三:后台服务程序可以把重要的数据存放到数据库,并在需要的时候从数据库读取出来来处理;其中模块一和模块二在局域网内通过tcp/ip协议来传递数据,从而实现MVC三层架构模型的表现层和业

2010-06-14 17:32:00 994

原创 Linux 上samba服务的配置

配置samba服务,启动属性设置为操作系统启动时自动启动。然后为服务程序运行账户设置samba服务的共享文件夹,再使用smbpasswd –a ***命令为该账户创建samba口令和用户, 最好和该账户的linux登录账户和口令一样。该项操作旨在提供从Windows系统访问Linux系统的便利途径,在部署程序时,需要用到samba服务。和系统的运行没有关系。具体步骤为:1,查看smb服务有没有安装

2009-12-06 11:41:00 587

原创 log4cpp 学习过程(四) ---- log4cpp在VS2003上的编译

log4cpp工程是静态链接库,log4cppDLL是动态链接库;log4cpp只有MS vc6的工程文件。但使用vs2003将dsp转换成vcproj之后编译的过程中会出现错误, 问题一:报错error PRJ0019: 工具从"正在执行自定义生成步骤",详细可以查看其BuildLog.htm。解决办法,将转换后的vcproj打开,需要手工修改,原来的倒数几行的如下内容,使用了错

2009-12-06 08:22:00 3007

原创 log4cpp 学习过程(三) 时间戳---- log4cpp/TimeStamp

 首先介绍类的名字TimeStamp,这个单词字母的意思是时间戳,可以想象邮局寄出信件的时间戳,即信件寄出时盖的当天的时间的章,它代表一个时间来作为标记,以备使用,比如需要记录日志时,把这个时刻的时间传给TimeStamp,后面的其他日志记录类真正的记录时,可以拿这个TimeStamp的时间作为事件的发生时刻;    在整个工程里搜索TimeStamp,这样可以找到所有使用时间

2009-11-29 10:58:00 2563 1

空空如也

空空如也

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

TA关注的人

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