自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(106)
  • 资源 (9)
  • 收藏
  • 关注

原创 用JS实现的CSDN BLOG备份工具

    怕不怕,某一天CSDN的硬盘坏了,你辛苦写了几年的文章全没了?    最近写了两个BLOG备份工具,将BLOG上的文章备份到本地。        BAIDU HI的BLOG备份工具:http://download.csdn.net/source/939687        CSDN BLOG备份工具:http://download.csdn.net/source/945007    用JS

2009-01-06 14:06:00 644 1

原创 小记:不明原因的解决了ORACLE慢的问题

小记:不明原因的解决了ORACLE慢的问题    近来发现ORACLE服务器超级慢,而且慢并不是由应用程序性能导致的,就连运行proc预编译程序都很慢,可见问题还是出在ORACLE服务器本身。   首先查看了一下ORACLE的主要内存参数:SELECT "NUM","NAME","TYPE","VALUE"/1024 AS "KB","ISDEFAULT","ISSES_MODIFIABL

2008-04-27 22:20:00 2676

原创 重现ORA-021500(17099)错误,并提供解决办法

    两天前写的一篇文章提到公司的应用程序常常出现ORA-21500错误(http://blog.csdn.net/ah__fu/archive/2008/04/16/2296641.aspx),在网上找了很久,终于有以下资料提供了些头绪:http://www.dbatools.net/doc/bug10204.html     Bugs fixed in the 10.2.0.4 Patch

2008-04-19 13:02:00 2212

原创 Pro*C++中在if语句中定义游标需要注意的问题

Pro*C++中在if语句中定义游标需要注意的问题

2008-04-18 14:31:00 542 1

原创 找到ORA-21500错误的原因,但是没找到解决办法

    近几日开始,应用程序频繁出现ORA-21500错误。而且产生错误的原因是随机的。应用程序发生core dump后,栈的信息也是不清晰的,完全不知道到底是应用程序本身的问题还是ORACLE的问题。   ORACLE的文档里是这样描述ORA-21500的:ORA-21500 internal error code, arguments: [string], [string], [string]

2008-04-16 12:15:00 1728 1

原创 小记:查询ORACLE中某对象的创建时间

SELECT *FROM all_objectsWHERE OWNER='my_own' AND OBJECT_NAME='table_name'

2008-04-14 15:31:00 647

原创 GCC:预编译头文件的尝试

    公司开发了一个自己的基础类库,有着庞大的头文件。为了便于使用并提高编译速度,尝试了一下GCC的预编译头文件的功能:1、先定义头文件afl.h,内容如下:(afl意味a framework library)#ifndef _AFL_H_#define _AFL_H_//from here to include all head files#include Log.h>#include

2008-04-08 13:27:00 2771

原创 PL/SQL Developer中频繁出现ORA-01460错误的原因

    使用PL/SQL DEVELOPER 7连接某新装的ORACLE数据库服务器的时候,总是频繁发生ORA-01460错误:类型转换错误。   发现SQL NAVIGATOR很好,就只有PL/SQL DEVELOPER有这个问题。   怀疑是字符集的问题,查了很多资料后定位到了问题的原因:查询select * from nls_database_parameters,查看NLS_CHARACT

2008-04-06 18:04:00 1737 2

原创 苦尽甘来:研究在TeeChart中画曲线图

    将一个带有数值的二维表格转化成曲线图是再简单不过的事情了,EXCEL中点几下就能够实现。但是刚刚学用TeeChart却实在是头疼了一阵。个人觉得TeeChart的功能虽然很强大,但是API接口设计得过于烦琐,而且帮助文档实在太糟糕了,短短的一句话,什么都没说清楚。我就这样一个一个猜啊猜啊,终于苦尽甘来。    介绍下过程,或许对大家有帮助:环境为vs2005, TeeChart 3.2。 

2008-04-04 15:48:00 1331 1

原创 小记:找到占用CPU高的PL/SQL语句

    下午一个同事过来说某Linux测试服务器超级慢,严重影响工作。    登录到服务器上使用top查看,发现oracle进程把CPU占到了100%。   于是用了以下步骤把导致性能问题的SQL找出来:1、使用top找到占CPU100%的ORACLE进程的pid为1234;2、打开PL/SQL DEV,查询这个进程的信息:SELECT * FROM V$PROCESS WHERE spi

2008-04-02 17:04:00 913

原创 Pro*C++: 批量读取要注意的问题

    Pro*C中批量读取游标中的数据的时候,需要注意:最后一次批量读取游标中的数据的时候,数据被取到HostArray中,同时sqlca.sqlcode被置为1403(NO_DATA_FOUND)。如果在fetch后立即判断sqlca.sqlcode的话,可能就导致最后一次的数据取不到。       保险的办法是定义一个变量记录上次的读取条数:if (sqlca.sqlcode==1403 &

2008-03-31 11:02:00 651

转载 转:工程师性格分析

    本文转载自:http://www.cppblog.com/lai3d/archive/2007/12/09/38064.html    小时听到关于工程师性格的故事都来自科学家,比如好奇壶盖为什么会动的瓦特,做了好几百次实验的爱迪生,都有点一根筋的单纯。自从工业革命以来,人类社会里面多了一个对技术文明贡献最大的人群,工程师。据说人类物质文明的80%是由3000多个历史上的重要的科学家和工程

2008-03-29 16:34:00 687

原创 PRO*C++的批量绑定要注意的两个问题

    PROC的批量操作的时候,与其绑定的数组变量要注意两个问题:1、如果是字符数组, eg: char UserName[1000][41];   使用前先将数组的内容初始化成0x20,  eg:  memset(UserName, 0x20, sizeof(UserName));   否则插入或更新的时候总有些记录出错。2、PROC不支持long long类型的绑定,使用double代替。强

2008-03-27 13:23:00 500

原创 小记:JavaScript中的window.setInterval()必须使用全局函数

    在写JS脚本的时候写了类似如下的代码,总是产生莫名其妙的问题,定位不到。function ClassName()...{    var _Handle = null;    function IntervalFunction()    ...{        alert("run IntervalFunction()");        window.clearInterval(_

2008-03-26 10:47:00 1270

原创 小记:ICONV库,开源的编码转换工具

    ICONV库是GNU提供的开源编码转换库,在LINUX下已经默认包含于系统中。对于开发者来说,已经存在/usr/include/iconv.h文件,链接时无需加入库名称。    在WINDOWS下需要下载库的安装程序:LibIconv for Windows库的网址为:http://gnuwin32.sourceforge.net/packages/libiconv.htm 程序库的安装程

2008-03-19 14:19:00 2488 1

原创 复杂的GCC字符串池

    最近写的一个程序,为了使接口简便,在返回字符串的时候不得已使用了stl::string,但是又担心如果此方法被频繁调用,可能会导致性能问题,于是尝试用一些底层机制去优化stl::string。    stl::string是怎么实现的呢?脑海中有一个猜想,首先就是这样:class string{private:    char* m_str;    int m_len;};    为了验证

2008-02-05 12:09:00 1337

原创 远程桌面传文件的补充

    上次发了篇发现远程桌面可以传文件的文章,最近又发现,远程桌面不止可以传文件,甚至可以用ctrl+C和ctrl+V来传文件。    需要做如下设置:1、客户端和服务端都需要是windows 2003及其以上版本;2、在客户端使用mstsc.exe连接到服务器端的时候,点击“选项”, 点“本地资源”选项卡,将选项卡中的“磁盘驱动器”的勾点上,然后连接到服务器。3、可以在远程服务器的资源管理器中

2008-02-02 16:02:00 1472

原创 C++学习:驱动代码里发现的一个小技巧,求大于I的最小的SIZE倍的值

    最近在研究驱动的代码,发现这样一个宏,没太搞懂什么用途:#define E1000_ROUNDUP(i, size) ((i) = (((i) + (size) - 1) & ~((size) - 1)))   调用的时候是这样的:   unsigned int i = 4097;   E1000_ROUNDUP(i, 4096);   拆解这个运算,还是没明白到底要干什么:简化的表达式相

2008-02-01 12:14:00 612

原创 C++学习:inline的函数或者成员函数一定要定义在头文件中

    看C++的教材的时候,一直记得书上说inline只是一个提示,编译器可能会拒绝将函数定义成内联的。今天犯了思维定式的错误:函数或成员函数加上inline的时候,其实现部分一定要写在头文件中,否则链接的时候将发生找不到引用的错误(GCC编译器在编译的时候还会给出警告)。       请看下面重犯这个错误的代码:// MyClass.h#ifndef _MY_CLASS_H_#defi

2008-01-28 20:38:00 1026

原创 c++学习:记一例namespace和类型声明引发的编译问题

    编码中发现一个奇怪的编译错误,花了很长时间才找到问题所在。下面把重现这个问题的最精简的代码贴出来:/**//*MyClass.h存在一个namespace和一个类*/#ifndef _MY_CLASS_H_#define _MY_CLASS_H_namespace MySpace...{class MyClass...{public:    int Field;};}#endif

2008-01-22 10:14:00 1176

原创 template学习:实现一个类似多态的效果,来自WTL的一个技巧

    多态都是在运行时实现的,C++中通过VPTR和VTABLE来提供运行时的动态调用;但是,VPTR和VTABLE的使用影响了性能。WTL中的一个技巧实现了类似多态的功能,并且不会影响性能。#include stdio.h>template typename SubClass>class Base...{public:    void Run()    ...{        SubC

2008-01-15 17:43:00 522 1

原创 template学习:一个Functor的使用例子

#include stdio.h>// 模板,可以调用函数或者Functortemplate typename Functor>void TestTemplate(Functor func)...{    func("TestTemplate");}// C函数风格void TestFunction(const char* str)...{    printf("TestFunction:%s

2008-01-12 18:52:00 564

原创 Pro*C连接中断测试(Oracle 9i)

    为了测试应用程序的健壮性,故意对正常连接的Pro*C应该程序进行了中断,从而观察它们的表现。 测试的方法为:1、在编译Pro*C应用的时候加上cpool=no或cpool=yes,测试有连接池和没连接池的不同表现;2、启动应用程序后等待输入,将流程挂起;3、在数据库中查询此测试程序的SESSION:

2008-01-12 17:18:00 964

原创 小记:ORACLE中区分连接池Session和非连接池Session的办法

    ORACLE中如果使用了连接池,则v$session中显示的是“物理连接数+逻辑连接数”。    可以通过以下查询区分连接池的连接和非连接池的连接:--连接池连接:SELECT * FROM v$session WHERE program=TestConnPool.exe AND server=DEDICATED;--Server属性标记为DEDICATED(专用) 的连接为连接池

2008-01-12 16:43:00 713

原创 template中实现条件编译的补充:使用int2type技巧

    先贴代码:#include stdio.h>template int v>struct Int2Type...{    enum ...{ value = v };};void func(Int2Typetrue>)...{    printf("true ");}void func(Int2Typefalse>)...{    printf("false ");}template

2008-01-09 22:49:00 676

原创 Pro*C的整数溢出测试

测试发现,Pro*C中,不管ORACLE数据库中的number字段是多大,只要字段的值大于绑定的变量所能够容纳的范围,就会出现“ORA-01455: 转换列溢出整数数据类型”。不过,Pro*C不支持long long(64位)类型的绑定。当number字段的值大于2147483647或小于- 2147483648时,建议使用double类型来绑定,然后再将double类型转换成long lon

2008-01-09 16:58:00 899 1

原创 使用template实现条件编译

    我们知道,使用宏可以实现条件编译:#if 1    //do something#else   //do something else#endif     使用模板也能够达到类似的效果:#include stdio.h>template bool value>void func()...{    if (value)    ...{        printf("t

2008-01-09 14:39:00 707

原创 小记:Linux下的堆破坏

    今天遇见一个超郁闷的BUG,现象非常奇怪:delete pointer;   删除一个指针的时候程序发生core dump,或者在此处挂死。  从原理上分析,new出来的一块内存,会在内存的头或者尾处加上一个标记,说明块内存的大小。  我猜想,一定是指针越界,导致了开始或者末尾的这块标记被破坏,所以delete发生挂死。  检查了若干次后,也没发现指针越界的情况。  而且单独写了一个程序来

2008-01-05 19:40:00 634 1

原创 小记:Linux下使用MD5算法

    由于项目中需要用到MD5算法,于是在网上找了好几个md5算法的源码文件,结果接口各不相同,很是头疼。翻翻Linux的/usr/include目录,发现/usr/include/openssl/下提供了md5.h,于是写了个小代码测试了一下:#include stdio.h>#include openssl/md5.h>#include assert.h>#include strin

2008-01-02 14:41:00 1099

原创 Pro*C连接池的补充

    上文提到从v$Session查看连接数,发现使用连接池后莫名增加了MIN个连接(MIN为连接池的最小连接数)。但是实际上,v$session中看见的连接数是逻辑连接数,并非ORACLE的物理连接。ORACLE的会话与连接甚至可以不相关,允许存在没有物理连接的会话。       因此,仅仅从v$session视图看连接数是不准确的,至于从什么地方可以看见客户端与ORACLE的确切连接数。目前

2007-12-28 15:26:00 787

原创 疑问:搞不懂的Pro*C的连接池(Oracle9i版本)

    最近尝试了一下Oracle9i 中 PRO*C的连接池功能,结过越搞越糊涂:1、首先,在proc的编译参数中加上以下选项:      threads=yes   使用多线程      cpool=yes       使用连接池      cmax=6           最多6个连接      cmin=4            最少4个连接      cincr=1           

2007-12-26 19:15:00 1144 1

原创 大表变小表,小表再连接————记一次PL/SQL优化过程

     公司的业务系统中存在一个大的日志表,表大约是这样:create table log(    logtime date,  -- PK    username varchar2(20));    现有需求如下:统计日志表中,两小时内使用过系统的用户在三天内的日志数。    最初编写的查询如下:WITH    result1 AS    (        SELECT DISTINC

2007-12-20 21:33:00 954

转载 转:C++资源之不完全导引

    真没想到在C++领域居然有那么博学的人!!出处:http://dev.csdn.net/article/56/56334.shtmC++资源之不完全导引 [上] 撰文/ 曾毅 陶文 最后更新:2004年6月11日 声明: .本文2004年5月首发于《CSDN开发高手》,版权归该杂志与《程序员》杂志社所有。杂志限于篇幅部分内容有所删节,此处版本为相对完整版本。 .本文为介绍性文章,会随笔

2007-12-19 13:59:00 511

原创 小记:注意fread和fwrite的参数顺序

    C标准库提供的文件函数fread和fwrite的原型为:size_t fread(    void *buffer,   size_t size,   size_t count,   FILE *stream );size_t fwrite(   const void *buffer,   size_t size,   size_t count,   FILE *stream );

2007-12-19 11:33:00 1404 1

原创 小小研究一下VC编译器cl.exe的文档生成功能

    俺电脑上装的VS2005,一次查cl.exe的帮助文档的时候,发现里面有个/doc的选项,可以将注释生成文档。于是小小测试了一下:   cl.exe /doc"obj/MyClass.xdc"  /Fo"obj/MyClass.obj" src/MyClass.cpp   源码里面以///开始的注释后的内容都会被提取出来当成文档,具体的标识与C#相同,如:/// /// 作为文档的注释//

2007-12-12 17:00:00 906

原创 Oracle 9i 中关于外连接的怪异行为

  在偶然一次执行Oracle 9i的left outer join查询时,发现了一些匪夷所思的问题,在此贴出来和大家讨论一下。先创建一些表和记录来模拟当时的情况: create table temp_test1 (        a num

2007-11-07 17:44:00 660

原创 小记:Oracle中不要使用低效的赋值方法

    偶然一次查看旧系统的存储过程的代码时,发现赋值操作都是:       SELECT 1234 INTO v_Value FROM dual;   这样的语法。    我以前也是做SQL SERVER开发的,在SQL SERVER中我也常用:SELECT v_Value=1234这样的语法来赋值。估计写这些代码的人可能也有SQL SERVER的背景。    比起 v_Value := 123

2007-09-14 10:26:00 1704

原创 小记:Linux 2.4内核和2.6内核版本对于端口绑定的不同表现行为

    我写了一个简单的socket TCP 服务器程序,最初在2.6内核的Red Hat Enterprise 4 下调试,一切正常。    后来在2.4内核的Red Hat Enterprise 3下调试,发现中止程序后,再次执行程序,端口总是无法绑定,要等大约20秒左右才能重新绑定端口,而在2.6内核下没有发现这个问题。    因此怀疑是不同内核对于socket绑定端口的不同表现行为,目前也

2007-09-14 10:16:00 561

原创 小记:注意DotNet的DateTime的ToString中不要加入格式化字符串以外的字符

     最近写一个程序,让程序每天使用一个日志文件,代码如下:        StreamWriter writer = File.AppendText(DateTime.Now.ToString("yyyy-MM-dd.txt"));     很简单的代码,结果查看日志文件的时候大吃一惊,文件的扩展名居然是:.下x下。     最初以为是编码问题,试了很多办法没有解决,最后用以下代码搞定了: 

2007-08-28 13:21:00 619

原创 小记:C++操作符重载后的调用格式

    看到这个标题的时候不要骂我:重载操作符了以后,就像使用操作符一样,就能够调用重载的操作符了。    是滴,没错,但是这里要记一些其他的调用方法:#include stdio.h>class My...{public:    int operator[](int index)    ...{        return index;    }    void Print()    .

2007-08-26 13:37:00 907

pycha-a python chart lib

pycha,来自https://bitbucket.org/lgs/pycha/wiki/Home,一个简单的python的绘图组件

2012-11-28

TBB 2.1源码生成的chm文档

TBB 2.1源码生成的chm文档 方便查阅

2009-04-20

Oracle分区表培训

公司内部培训ORACLE分区表使用的文档

2009-02-09

memcached 源码生成的chm文档

为了便于分析memcached的源码,使用doxygen生成了这个文档

2009-01-20

CSDN blog备份工具

能够将CSDN 的BLOG备份到本地。 具体的使用方法请见压缩包中的readme文件。

2009-01-06

百度HI的BLOG备份工具

百度HI的BLOG备份工具 可以把BLOG上的分类及其下面的文章进行备份。 首先打开baidu_hi_backup.js,拖到最后,把“ah__fu”修改成你的BLOG的名称,第二个参数是保存的位置,如果不选则是当前目录。注意,如果保存到c:\则应该写成c:\\这样的格式。 注意:并非支持所有的百度HI BLOG。

2009-01-04

libevent1.4.8 chm文档

为便于查看,使用DoxyGen生成了libevent的chm文档。

2008-11-04

EasyOCI

简易的封装OCI函数的类库

2007-05-22

CapFileReader

读取CAP文件的类

2007-05-16

空空如也

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

TA关注的人

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