自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 航信三大系统及其连接方式(转)

机票代理人不应该单单只是了解客票,还应该对客票从出售到旅客登机以及最后结算整个过程有一个具体的概念,才能更好的理解订座记录,。知其然,更要知其所以然。一名旅客来我们代理处购买机票,要经过哪些过程呢?那么首先,让我们来看看系统整个的连接情况:航信的系统分为代理人系统(CRS),航空公司系统(ICS),离港系统(DCS)。CRS全称是Computer Reservation System...

2014-07-03 17:58:40 1591

原创 c++ cin输入int的用法

  int icin = 0;  for(int i =0; i < 5; i++)  {    cin >> icin;    if(cin.fail())    {      cin.clear();      cin.sync();    }    cout <<":"<< icin << endl;  }...

2014-06-10 11:17:22 1700

原创 Linux下case报错syntax error near unexpected token `in

来分享一个在Linux下执行脚本时遇到报错的解决办法。   本来在Linux下写了个安装jdk和tomcat的sh脚本,当时运行非常没有问题。过后,放在Windows下存放了一段时间,   现在又拿到Linux执行,运行时却报错“syntax error near unexpected token `in”。   难道过了一段时间变质了?不过确实是变质了。Windows下,我曾经打开过这个文档,造...

2014-05-20 16:16:14 442

原创 Linux可执行文件执行时找不到共享库

编译程序时使用了如下参数指定了链接库的位置,但是执行时提示无法加载共享库。 #gcc test.c -L /usr/local/rrdtool-1.2.30/lib -lrrd现象: error while loading libraries:librrd.so.2:cannot open shared object file:No such fi...

2014-03-31 18:09:57 747

原创 C++ assert机制

C++ assert机制ASSERT()是一个调试程序时经常使用的宏,在程序运行时它计算括号内的表达式,如果表达式为FALSE (0), 程序将报告错误,并终止执行。如果表达式不为0,则继续执行后面的语句。这个宏通常原来判断程序中是否出现了明显非法的数据,如果出现了终止程序以免导致严重后果,同时也便于查找错误。 原型定义:#include <assert.h>...

2014-03-06 10:21:30 162

原创 实现BPM的好处和实现的可能性

理(BPM)对中国企业来说,并不算是太新鲜的名词。但在目前选择BPM的客户中,基本上都是年销售规模在五个亿以上的大中型企业,而中小企业要么直接选择了ERP,要么还没有把管理信息化提上议事日程。怎么以直观的方式来理解BPM的含义?比如说,房地产企业想建造一套市场畅销的欧式花园别墅,这可以看作是他的目标;建筑公司根据图纸去承建施工,这是生产实践;设计公司根据这个目标设计建筑 图纸的过程,则是...

2013-12-25 10:16:09 430

原创 用例不是“功能”

用例不是“功能” 多数人从用例开始就走入了迷途,也许是用例图和数据流图的相似性导致人们把用例定义为简单的功能或者菜单项。不论原因是什么,这都是新手最容易犯的错误。 图 1 错误的方式:用例是菜单项或者功能 这幅图有什么错误?用最简单的定义,我倾向于把用例看作是关于使用系统作某些有用的事情的方式的故事。利用这个定义,是不是所有的“用例”都是独立...

2013-12-24 14:57:03 372

原创 UML 基础: 序列图

It's February, and by now you've probably read about, or heard people talk about, making the change to UML 2.0--the new specification for UML that contains a number of improvements. Given the importa...

2013-12-23 15:32:40 714

原创 C++内存分配方式详解——堆、栈、自由存储区、全局/静态存储区和常量存储区...

栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清除的变量的存储区。里面的变量通常是局部变量、函数参数等。在一个进程中,位于用户虚拟地址空间顶部的是用户栈,编译器用它来实现函数的调用。和堆一样,用户栈在程序执行期间可以动态地扩展和收缩。  堆,就是那些由 new 分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个 new 就要对应一个 delete。如果程序员没有...

2013-11-19 10:20:58 121

原创 C++使用CLI连接DB2

 <!--推荐博文-->  DB2调用层接口(DB2 Call Level Interface简称CLI)是DB2数据库访问的基础接口。下面例子依次执行了连接DB2数据库创建操作句柄查询操作新增操作断开连接释放资源示例代码:cliTest.cpp点击(此处)折叠或打开#include <stdio.h>...

2013-11-15 09:31:33 1497

原创 DB2 Old-New-Final-Table中间结果表

DB2底层通过维护事物表,来对表进行添加,更新,和删除操作,这些事物表有:NEW TABLE,OLD TABLE,FINAL TABLE;他们也叫中间结果表。当进行insert或update的时候,new table包含着将要添加的数据行或进行更新的数据值;当进行update或delete的时候,old table包含着将要被更新的值或将要被删除的值。 1、Old Table...

2013-11-11 13:50:00 230

原创 SQL查询重复记录

假设现有一张人员表(表名:Person),若想将姓名、身份证号、住址这三个字段完全相同的记录查找出来,使用 1: SELECT p1.* 2: FROM persons p1,persons p2 3: WHERE p1.id<>p2.id 4: AND p1.cardid = p2.cardid ...

2013-10-28 14:31:08 138

原创 svn基础知识

  重要: SVN不是记录每一个版本的实际内容,只是记录版本间的差异SVN使用延迟拷贝来实现svn copy,其只是原始文件的一个链接,对拷贝的修改被svn记录为相对于原始文件的修改  1.创建存储库假设d:/dev/svnrepo为存放svn存储库的目录svnadmin create d:/dev/svnrepo/test 创建一名为test的存储库...

2013-09-24 17:44:02 220

原创 系统吞吐量(TPS)、用户并发量、性能测试概念和公式

PS:下面是性能测试的主要概念和计算公式,记录下:一.系统吞度量要素:一个系统的吞度量(承压能力)与request对CPU的消耗、外部接口、IO等等紧密关联。单个reqeust 对CPU消耗越高,外部系统接口、IO影响速度越慢,系统吞吐能力越低,反之越高。系统吞吐量几个重要参数:QPS(TPS)、并发数、响应时间QPS(TPS):每秒钟request/事务 数量并发数: ...

2013-09-24 17:31:50 149

原创 SVN版本冲突解决详解

版本冲突原因:假设A、B两个用户都在版本号为100的时候,更新了kingtuns.txt这个文件,A用户在修改完成之后提交kingtuns.txt到服务器,这个时候提交成功,这个时候kingtuns.txt文件的版本号已经变成101了。同时B用户在版本号为100的kingtuns.txt文件上作修改,修改完成之后提交到服务器时,由于不是在当前最新的101版本上作的修改,所以导致提交失败。...

2013-09-14 10:09:04 111

原创 db2修改已经有数据的列名

--修改列名或者列类型,由原类型到其他类型,修改类型有6步,只修改列名则只须4,5,6--修改start_date的列名或者列类型--1.增加临时列ALTER TABLE   <table name>  add  temp_column  timestamp ;--2.更新临时列的数据为想要的样子update <table name>  set   temp_colu...

2013-09-13 15:30:08 2537

原创 使用 C++ 处理 JSON 数据交换格式

一、摘要JSON 的全称为:JavaScript Object Notation,顾名思义,JSON 是用于标记 Javascript 对象的,JSON 官方的解释为:JSON 是一种轻量级的数据传输格式。本文并不详细介绍 JSON 本身的细节,旨在讨论如何使用 C++ 语言来处理 JSON。关于 JSON 更具体的信息,可参见 JSON 官网:http://www.json.org。...

2013-09-10 11:10:44 135

原创 C++的Json解析库:jsoncpp和boost (转)

JSON(JavaScript Object Notation)跟xml一样也是一种数据交换格式,了解json请参考其官网http://json.org/,本文不再对json做介绍,将重点介绍c++的json解析库的使用方法。json官网上列出了各种语言对应的json解析库,作者仅介绍自己使用过的两种C++的json解析库:jsoncpp(v0.5.0)和Boost(v1.34.0)。一....

2013-09-10 10:40:17 355

原创 C++ JsonCpp 使用(转)

前言JSON是一个轻量级的数据定义格式,比起XML易学易用,而扩展功能不比XML差多少,用之进行数据交换是一个很好的选择JSON的全称为:JavaScript Object Notation ,顾名思义,JSON是用于标记javascript对象的,详情参考http://www.json.org/。本文选择第三方库JsonCpp来解析json,JsonCpp是比较出名的c++解析库,在jso...

2013-09-10 10:21:47 111

原创 svn merge和branch(转)

使用svn几年了,一直对分支和合并敬而远之,一来是因为分支的管理不该我操心,二来即使涉及到分支的管理,也不敢贸然使用合并功能,生怕合并出了问题对团队造成不良影响,最主要的原因是,自己对分支的目的和合并的方法不甚了解,这才是硬伤。 最近由于适配机型的需要(本人从事手机客户端的开发),需要经常接触分支和合并两项工作,突然发现这玩意整不明白很难开展工作,遂这两天着重研究了一下,有点收获,怕以后...

2013-09-02 17:34:36 170

原创 C++中map容器的说明和使用技巧(转)

C++中map容器提供一个键值对容器,map与multimap差别仅仅在于multiple允许一个键对应多个值。一、map的说明 1 头文件 #include <map> 2 定义 map<string, int> my_Map; 或者是typedef map<string, int> MY_MAP; MY_MAP my_Map; 3 插入数据 (1) ...

2013-08-22 15:01:58 98

原创 VisualSVN Server的配置和使用方法(转)

1.为什么要用VisualSVN Server,而不用Subversion?回答:因为如果直接使用Subversion,那么在Windows 系统上,要想让它随系统启动,就要封装SVN Server为windws service,还要通过修改配置文件来控制用户权限,另外如果要想以Web方式【http协议】访问,一般还要安装配置Apache,如果是新手,岂不是很头痛?而VisualSVN ...

2013-08-07 16:53:08 143

原创 C++中各种类型的成员变量的初始化方法(转)

c++各种不同类型成员根据是否static 、时候const类型的初始化方法不尽相同,java的语法就没有这么复杂,怪的得那么多人都跑去学Java了。以前面试时被人问到这个问题回答不出来,写代码时也经常搞乱了,这里翻了下书,总结一下。-----------------Test.h----------------------------#pragma onceclass Test{privat...

2013-08-01 15:26:40 103

原创 Xerces浅析

本篇文章主要讲述项目开发过程中如何使用Xerces-C++,包括xerces的安装,XML的解析,XML的Schemal验证,XML的组装等内容,本文所使用的代码基于xerces-c-3.1.1版本。一、Xerces简介Xerces是一个开放源代码的XML语法分析器。Xerces-C++ 的前身是 IBM 的 XML4C 项目。XML4C 和 XML4J 是两个并列的项目,而 XML4J...

2013-07-30 14:15:30 1223

原创 Xerces C++ 学习笔记 (转)

1.   初始化平台:XMLPlatformUtils::Initialze()2.   销毁平台:XMLPlatformUtils::Terminate();3.   加载分析报文XercesDOMParser  *parser = new XercesDOMParser();Parser->parse( 参数 ); 这个参数可以直接是文件名,也可以是内存的数据,...

2013-07-24 17:04:07 122

原创 Boost智能指针——shared_ptr (转)

boost::scoped_ptr虽然简单易用,但它不能共享所有权的特性却大大限制了其使用范围,而boost::shared_ptr可以解决这一局限。顾名思义,boost::shared_ptr是可以共享所有权的智能指针,首先让我们通过一个例子看看它的基本用法:#include <string>#include <iostream>#include <boost...

2013-07-16 17:27:30 90

原创 GDB调试精粹及使用实例 (转)

一:列文件清单1. List(gdb) list line1,line2二:执行程序要想运行准备调试的程序,可使用run命令,在它后面可以跟随发给该程序的任何参数,包括标准输入和标准输出说明符(<和>)和外壳通配符(*、?、[、])在内。如果你使用不带参数的run命令,gdb就再次使用你给予前一条run命令的参数,这是很有用的。利用set args 命令就可以修改发送给程序的参数,而使...

2013-07-16 16:21:44 103

原创 Xerces-C++学习之——查询修改XML文档 (转)

/** ===========================================================================** Filename: ParseXML.cpp** Description: This is an example of the use of Xerces-C++ operation XML.** Version: 1.0* Crea...

2013-07-16 16:02:54 470

原创 Xerces-C++学习之——创建XML文档 (转)

代码如下:/** ===========================================================================** Filename: CreateXML.cpp** Description: This is an example of the use of Xerces-C++ operation XML.** Version: 1.0...

2013-07-16 15:56:40 524

原创 C字符串和标准的C++string类(转)

一、C字符串c字符串是char类型的数组。char str[MAX]1.在c++中并没有内置的机制保证程序不会出现数组元素个数超出数组大小的情况。cout<<setw(MAX)<<str; setw指定输入缓冲区允许的最大字符个数,用户即使输入了过多的字符,<<运算符也不会把他放到数组中。2.cin.get():来读取包含空格的文本。这样的语法...

2013-07-09 10:03:28 193

原创 数据库事务和锁(转)

简述  关系型数据库有四个显著的特征,即安全性、完整性、并发性和监测性。数据库的安全性就是要保证数据库中数据的安全,防止未授权用户随意修改数据库中的数据,确保数据的安全。在大多数数据库管理系统中,主要是通过许可来保证数据库的安全性。完整性是数据库的一个重要特征,也是保证数据库中的数据切实有效、防止错误、实现商业规则的一种重要机制。在数据库中,区别所保存的数据是无用的垃圾还是有价值的信息,主要...

2013-07-03 13:50:11 121

原创 Oracle事务 行级锁 保存点 回滚 提交(转)

一般事务(DML)即数据修改(增、删、改)的事务事务会将所有在事务中被修改的数据行加上锁(行级锁),来阻止其它人(会话)同时对这些数据的修改操作。当事务被提交或回滚后,这些数据才会被释放锁。举个例子:当A操作一条数据N1后,暂未提交事务 ,此时B又上来操作同一条数据N1,这时的情况是:1、所有除A以外的人看不到被A所修改后的数据2、B会处于等待状态,直到A提交或回滚了针对这条数据的修改(这也...

2013-07-03 13:36:37 118

原创 ORACLE数据库事务隔离级别 (转)

 事务隔离级别:一个事务对数据库的修改与并行的另一个事务的隔离程度。两个并发事务同时访问数据库表相同的行时,可能存在以下三个问题:1、幻想读:事务T1读取一条指定where条件的语句,返回结果集。此时事务T2插入一行新记录,恰好满足T1的where条件。然后T1使用相同的条件再次查询,结果集中可以看到T2插入的记录,这条新纪录就是幻想。2、不可重复读取:事务T1读取一行记录,...

2013-07-03 10:08:16 98

原创 脏读、幻读、不可重复读

脏读(Drity Read):某个事务已更新一份数据,另一个事务在此时读取了同一份数据,由于某些原因,前一个RollBack了操作,则后一个事务所读取的数据就会是不正确的。不可重复读(Non-repeatable read):在一个事务的两次查询之中数据不一致,这可能是两次查询过程中间插入了一个事务更新的原有的数据。幻读(Phantom Read):在一个事务的两次查询中数据笔数不一致,...

2013-07-03 10:06:53 175

原创 用gtest测试类的私有成员

使用gtest、或者cppunit之类的框架编写单元测试代码,一个最常见的问题是对类私有成员的测试与验证。理想情况下,我们希望在测试中,类中所有的数据与方法都是可以访问的;而在产品代码中,只暴露实现定义好的接口。gtest官方文档中,也提到了对私有成员的处理,方法不外乎两种:一是使用friend关键字,骗取信任得以通行;二是重构采用Pimpl模式,公共类中只暴露接口,而实现类中暴露所有细节(...

2013-06-28 14:09:25 151

原创 gcov输出文件路径问题(转)

gcov是和gcc结合使用的测试代码覆盖率的一个工具(profiler),可用于发现代码的瓶颈。可以做到(使用gcov最好不要优化编译):    1.每一行代码运行的次数    2.那些代码执行了    3.没一节代码所用的时间    gcov会创建一个名为‘sourcefile.gcov’的日志文件,他指示了代码运行的时间。此文件可被gprof使用,gprof可从中给出时间信息。    gcov...

2013-06-25 15:49:39 2021

原创 C/C++代码覆盖工具gcov与lcov入门

代码覆盖率——gcov lcov的使用2008-07-25 15:57一、关于gcov工具gcov伴随gcc 发布。gcc编译加入-fprofile-arcs -ftest-coverage 参数生成二进制程序,执行测试用例生成代码覆盖率信息。1、如何使用gcov用GCC编译的时候加上-fprofile-arcs -ftest-coverage选项,链接的时候也加上。fprofi...

2013-06-25 14:24:27 471

原创 C/C++代码覆盖工具gcov与lcov入门

 gcov是一个可用于C/C++的代码覆盖工具,是gcc的内建工具。下面介绍一下如何利用gcov来收集代码覆盖信息。想要用gcov收集代码覆盖信息,需要在gcc编译代码的时候加上这2个选项 “-fprofile-arcs -ftest-coverage”,把这个简单的程序编译一下gcc -fprofile-arcs -ftest-coverage hello.c -o hel...

2013-06-25 14:22:05 146

原创 Linux下gcov和lcov代码覆盖率分析方法

gcov是Linux下GCC自带的一个C/C++代码覆盖率分析工具使用方法:在gcc或者g++后面添加参数 -fprofile-arcs -ftest-coverage注意:-fprofile-arcs -ftest-coverage必须同时在编译器和链接器上设置,(makefile里面可以加在 CFLAGS 和 LDFLAGS上),如果连接的时候出现undefined refer...

2013-06-25 14:14:52 686

原创 select for update(转)

Select …forupdate语句是我们经常使用手工加锁语句。通常情况下,select语句是不会对数据加锁,妨碍影响其他的DML和DDL操作。同时,在多版本一致读机制的支持下,select语句也不会被其他类型语句所阻碍。 借助for update子句,我们可以在应用程序的层面手工实现数据加锁保护操作。本篇我们就来介绍一下这个子句的用法和功能。 下面是采自Oracle官方文档《...

2013-06-19 10:46:49 106

空空如也

空空如也

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

TA关注的人

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