自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 问答 (1)
  • 收藏
  • 关注

转载 C++单例模式

我们都很清楚一个简单的单例模式该怎样去实现:构造函数声明为private或protect防止被外部函数实例化,内部保存一个private static的类指针保存唯一的实例,实例的动作由一个public的类方法代劳,该方法也返回单例类唯一的实例。

2017-07-12 12:03:09 348

原创 rabbitMQ说明文档地址

rabbitMQ说明文档地址:http://www.rabbitmq.com/resources/specs/amqp-xml-doc0-9-1.pdf

2017-02-24 14:29:42 562

转载 RabbitMQ 安装配置与管理

安装1.      安装erlang虚拟机Rabbitmq基于erlang语言开发,所有需要安装erlang虚拟机#wget  http://www.erlang.org/download/otp_src_R15B01.tar.gz#tar zxvf otp_src_R15B01.tar.gz&& cd otp_src_R15B01#./configure

2017-02-14 17:46:48 644

原创 在linux环境下使用C++语言、rabbitMQ进行开发

1、Linux下安装CMake到这里下载 CMake包解压,进入解压后的目录./bootstrap && make && make install下载地址:https://cmake.org/download/2、Linux下build和使用rabbitmq-c1) 按照这里介绍的方法,先安装CMake2) 在这里找到下载link,下载rabbitmq-c的包

2017-02-13 18:23:44 4209

原创 linux 下rabbitmq 安装

准备工作:erlang环境  otp_src_19.0.tar.gzrabbitmq   abbitmq-server-generic-unix-3.6.5.tar.xz# yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel# yum -y install make gc

2017-02-10 11:46:57 974

转载 RabbitMQ消息队列(九):Publisher的消息确认机制

在前面的文章中提到了queue和consumer之间的消息确认机制:通过设置ack。那么Publisher能不到知道他post的Message有没有到达queue,甚至更近一步,是否被某个Consumer处理呢?毕竟对于一些非常重要的数据,可能Publisher需要确认某个消息已经被正确处理。      在我们的系统中,我们没有是实现这种确认,也就是说,不管Message是否被Consume了

2017-02-09 10:52:59 440

转载 RabbitMQ消息队列的小伙伴: ProtoBuf(Google Protocol Buffer)

什么是ProtoBuf?     一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,或者说序列化。它很适合做数据存储或 RPC 数据交换格式。可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。目前提供了 C++、Java、Python 三种语言的 API。     它可以作为RabbitMQ的Message的数据格式进行传输,由于是结构化的数据,

2017-02-09 10:52:11 544

转载 RabbitMQ消息队列(七):适用于云计算集群的远程调用(RPC)

在云计算环境中,很多时候需要用它其他机器的计算资源,我们有可能会在接收到Message进行处理时,会把一部分计算任务分配到其他节点来完成。那么,RabbitMQ如何使用RPC呢?在本篇文章中,我们将会通过其它节点求来斐波纳契完成示例。1. 客户端接口 Client interface        为了展示一个RPC服务是如何使用的,我们将创建一段很简单的客户端class。 它将会向外

2017-02-09 10:51:25 384

转载 RabbitMQ消息队列(六):使用主题进行消息分发

在上篇文章RabbitMQ消息队列(五):Routing 消息路由 中,我们实现了一个简单的日志系统。Consumer可以监听不同severity的log。但是,这也是它之所以叫做简单日志系统的原因,因为是仅仅能够通过severity设定。不支持更多的标准。        比如syslog unix的日志工具,它可以通过severity (info/warn/crit...) 和模块(

2017-02-09 10:50:42 426

转载 RabbitMQ消息队列(五):Routing 消息路由

上篇文章中,我们构建了一个简单的日志系统。接下来,我们将丰富它:能够使用不同的severity来监听不同等级的log。比如我们希望只有error的log才保存到磁盘上。1. Bindings绑定    上篇文章中我们是这么做的绑定:[python] view plain copy channel.queue_bind(exchange

2017-02-09 10:49:25 545

转载 RabbitMQ消息队列(四):分发到多Consumer(Publish/Subscribe)

这篇文章中,我们将创建一个日志系统,它包含两个部分:第一个部分是发出log(Producer),第二个部分接收到并打印(Consumer)。 我们将构建两个Consumer,第一个将log写到物理磁盘上;第二个将log输出的屏幕。1. Exchanges    关于exchange的概念在《RabbitMQ消息队列(一): Detailed Introduction 详细介绍》中有

2017-02-09 10:37:35 420

转载 RabbitMQ消息队列(三):任务分发机制

在上篇文章中,我们解决了从发送端(Producer)向接收端(Consumer)发送“Hello World”的问题。在实际的应用场景中,这是远远不够的。从本篇文章开始,我们将结合更加实际的应用场景来讲解更多的高级用法。   当有Consumer需要大量的运算时,RabbitMQ Server需要一定的分发机制来balance每个Consumer的load。试想一下,对于web applica

2017-02-09 10:36:13 367

转载 RabbitMQ消息队列(二):”Hello, World“

本文将使用Python(pika 0.9.8)实现从Producer到Consumer传递数据”Hello, World“。     首先复习一下上篇所学:RabbitMQ实现了AMQP定义的消息队列。它实现的功能”非常简单“:从Producer接收数据然后传递到Consumer。它能保证多并发,数据安全传递,可扩展。     和任何的Hello world一样,它们都不复杂。我们

2017-01-23 17:55:50 325

转载 RabbitMQ消息队列(一): Detailed Introduction 详细介绍

1. 历史    RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现。AMQP 的出现其实也是应了广大人民群众的需求,虽然在同步消息通讯的世界里有很多公开标准(如 COBAR的 IIOP ,或者是 SOAP 等),但是在异步消息处理中却不是这样,只有大企业有一些商业实现(如微软的 MSMQ ,IBM 的 Websphere MQ

2017-01-23 17:52:17 318

转载 MySQL存储过程调试工具

调试MySQL的存储过程,找到一个dbForge Studio for MySQL的工具

2016-11-01 16:54:34 608

转载 GDB十分钟教程

本文写给主要工作在Windows操作系统下而又需要开发一些跨平台软件的程序员朋友,以及程序爱好者。GDB是一个由GNU开源组织发布的、UNIX/Linux操作系统下的、基于命令行的、功能强大的程序调试工具。GDB中的命令固然很多,但我们只需掌握其中十个左右的命令,就大致可以完成日常的基本的程序调试工作。 命令 解释 示例file 加载被调试的

2016-10-28 15:40:36 329

转载 C语言中最常用标准库函数

标准头文件包括:                                                                           一、标准定义()    文件里包含了标准库的一些常用定义,无论我们包含哪个标准头文件,都会被自动包含进来。   这个文件里定义:l    类型size_t   (sizeof运算符的结果类型,是某个无符

2016-10-27 16:29:01 9222

原创 使用GBD调试多线程

今天在公司遇到开发服务器的时候遇到一个Oracle没有第三方库的情况,然后程序直接崩溃,生成CORE文件。最后在同事的帮助下,找到问题所在,在执行设置环境变量的Shell脚本的时候,没有生成Oracle(OCCI)所使用的第三方库的文件和文件夹导致的。虽说问题解决了,但是在平时的日常开发中更多的使用cout打印输出日志文件。而在Linux开发过程中没有像Visual Studio的可视化的

2016-08-14 01:45:33 838

转载 细说 new与 malloc 的 10 点区别

前言几个星期前去面试C++研发的实习岗位,面试官问了个问题:new与malloc有什么区别?这是个老生常谈的问题。当时我回答new从自由存储区上分配内存,malloc从堆上分配内存;new/delete会调用构造函数/析构函数对对象进行初始化与销毁;operator new/delete可以进行重载;然后强行分析了一下自由存储区与堆的区别。回来后感觉这个问题其实回答得不

2016-07-21 13:49:03 1167

转载 Linux Socket编程(不限Linux)

“一切皆Socket!”话虽些许夸张,但是事实也是,现在的网络编程几乎都是用的socket。——有感于实际编程和开源项目研究。我们深谙信息交流的价值,那网络中进程之间如何通信,如我们每天打开浏览器浏览网页时,浏览器的进程怎么与web服务器通信的?当你用QQ聊天时,QQ进程怎么与服务器或你好友所在的QQ进程通信?这些都得靠socket?那什么是socket?socket的类型

2016-07-20 23:25:50 748

转载 关于pthread里面一些函数的使用心得!

第一次使用pthread,遇到的问题还真不少,现在我一一记录一下:   1.关于编译时出现 对‘pthread_create’未定义的引用 之类的错误的解决:由于pthread库不是Linux系统默认的库,连接时需要使用库libpthread.a,所以在使用pthread_create创建线程时,在编译中要加-lpthread参数:    gcc -o pthread -lpthread

2016-07-20 23:05:44 458

转载 Linux 多线程编程(不限Linux)

本文一个例子展开,介绍Linux下面线程的操作、多线程的同步和互斥。我们带着这题开始这篇文章,结束之后,大家就都会做了。本文的框架如下:1、进程与线程2、使用线程的理由3、有关线程操作的函数4、线程之间的互斥5、线程之间的同步6、试题最终代码前言线程?为什么有了进程还需要线程呢,他们有什么区别?使用线程有什么优势呢?还有多线程编程的一些细节问题,如线程之间怎

2016-07-19 23:42:37 432

转载 程序出错后,程序员给测试人员的20条高频回复

虽然已经远离编程,但经常还是会用到第20、19条,当然也不会“错过”第1条。各位看过之后,不知你都用上了哪几条哦~

2016-07-19 21:48:41 400

转载 C++ STL基本容器的使用

高效的使用STL仅仅是个选择的问题,都是STL,可能写出来的效率相差几倍; 熟悉以下条款,高效的使用STL;

2016-07-19 18:08:17 623

原创 QStyledItemDelegate类的使用

Delegate类的使用

2016-07-17 11:59:37 15286

原创 QString类型转化成const char *类型

如何将QString类型转化成const char *类型呢?

2016-07-17 11:42:46 732

原创 QT中SIGNAL与SLOT连接的几种方式

signal/slot在底层会使用三种方式传递消息。

2016-07-17 11:35:28 3505

原创 怎么判断focusWidget()返回的是哪类型控件

怎么判断focusWidget()返回的是哪类型控件

2016-07-17 11:31:15 2338

原创 C/C++中static关键字详解

通常,在函数体内定义了一个变量,每当程序运行到该语句时都会给该局部变量分配栈内存。但随着程序退出函数体,系统就会收回栈内存,局部变量也相应失效。但是有时候我们需要在两次调用之间对变量的值进行保存。通常的想法是定义一个全局变量来实现。但这样一来,变量已经不再属于函数本身了,不再仅受函数的控制,给程序的维护带来不便。  静态局部变量正好可以解决这个问题。静态局部变量保存在全局数据区,而不是保存在栈中。

2016-07-16 22:36:46 351

原创 C++中const的作用(至少要说出3个)

在C/C++开发中经常会用到const,这个修饰符。今天就讨论一下它的作用。

2016-07-16 22:05:50 5351 1

原创 const的使用

在C/C++中关键字const用来定义一个只读的变量或者对象

2016-07-16 22:01:59 366

原创 宏定义的使用

宏定义的使用

2016-07-16 21:50:43 907

原创 #include<head.h>和#include "head.h"有什么区别

#include<head.h>和#include "head.h"有什么区别

2016-07-16 21:40:31 1670

原创 C++与C语言的不同

C++与C语言的不同

2016-07-16 21:23:53 420

原创 不使用任何中间变量如何将a、b的值进行交换

此题主要是考察工作经验,在日常工作中经验遇到内存不够的情况,在内存不够的情况,怎么不使用中间变量使两个变量的值进行交换呢?

2016-07-16 21:14:31 10055

原创 基数(cardinality)排序算法

基数排序是箱排序的改进和推广。

2016-07-16 12:50:22 2031

原创 归并(Merge Sort)排序算法

归并排序(Merge sort)是利用"归并"技术来进行排序的。归并是指将若干个已排序的子文件合并成一个有序的文件。

2016-07-15 23:15:13 1717

原创 堆(heap)排序算法

堆排序算法是复杂的排序算法,是不稳定的排序算法。

2016-07-15 22:48:01 934

原创 选择(select)排序算法

直接排序是不稳定的排序。1、直接排序算法的基本思想n个记录的直接选择排序可经过n-1趟直接选择排序得到有序结果。(1) 初始状态:无序区为A[1...n],有序区为空。(2) 第一趟排序:在无序区A[1...n]中选出最小的记录A[k],将他与无序区的第一个记录A[1]交换,使A[1...1]和A[2...n]分别变为记录个数增加1的新有序区和记录个数减少1的新无序区。(3)第

2016-07-15 18:59:15 918

原创 快速(quick)排序算法

快速排序是不稳定的排序。

2016-07-15 18:22:42 573

空空如也

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

TA关注的人

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