自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

chen

每天一小步,人生一大步.....学习是一个不断积累的过程.......耐得住寂寞............

  • 博客(386)
  • 资源 (14)
  • 收藏
  • 关注

原创 总结:java设计模式------策略模式

使用经验总结:   本质是 一个类中的成员对象可以随时更改指向的真实对象.  只有体会代码才能弄懂设计模式的本质。下面摘抄网上的总结:背景在软件开发中常常遇到这种情况,实现某一个功能有多种算法或者策略,我们可以根据环境或者条件的不同选择不同的算法或者策略来完成该功能。如查找、排序等,一种常用的方法是硬编码(Hard Coding)在一个类中,如需要提供多种查找算法,可以将这

2017-05-23 18:26:04 573

原创 总结:Java设计模式-------建造者模式

定义:建造者模式:将一个复杂的对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。实用范围1、当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时。2、当构造过程必须允许被构造的对象有不同表示时。角色在这样的设计模式中,有以下几个角色:1、Builder:为创建一个产品对象的各个部件指定抽象接

2017-05-23 17:01:05 382

原创 总结:java设计模式之----抽象工厂

总结:也没有什么好说的,抽象的工厂是的类似的对象的创建归类,放到一个工厂去中去创建,举个例子:鼠标,有各种各样的品牌鼠标   键盘有各种个各样的品牌键盘..... 所以同一种品牌的产品当然是由同一品牌的工厂生产, 但是不同的品牌鼠标他们结构都是一样的,所以他们能继承同样的接口。。。。键盘是类似。。。/** * Created by chenxun on 2017/5/23. */in

2017-05-23 15:07:05 389

原创 总结:java设计模式之----单例模式singeton

总结:没什么好说的,单例模式就是创建全局唯一的实例//懒汉模式public class Singleton { private Singleton(){ } private static Singleton instance = null; public static synchronized Singleton getInstance() {

2017-05-23 14:09:52 473

原创 总结:java设计模式之---工厂方法

参考:JAVA设计模式之工厂模式(简单工厂模式+工厂方法模式)              http://blog.csdn.net/jason0539/article/details/23020989总结:工厂方法的本质是的用户不用去关心对象的具体创建过程,而是把对象的创建交给工厂,为什么交给工厂呢?因为有时候对象的创建是一个复杂的过程,需要经过复杂的初始化,也需要获取一些辅助对象的来构造

2017-05-23 10:57:22 492

原创 java--kafka编程实例--producer和consumer

先修改broker的配置文件:vim config/server.properties找到Socket Server Settings内容修改listeners的内容即可producer代码如下:import org.apache.kafka.clients.producer.Callback;import org.apache.kafka.clients.produce

2017-05-22 17:13:51 1524

原创 kafka开发配置-----最新kafka版本(0.9.0以后的版本)配置

Kafka日志本身是由多个日志段组成(log segment)。一个日志是一个FileMessageSet,它包含了日志数据以及OffsetIndex对象,该对象使用位移来读取日志数据 * borker配置就是指配置server.properties文件 *最小配置通常情况下需要在减压缩kafka后,修改config/server.properties 配置文件中的以下两项

2017-05-22 15:12:03 3048

转载 Kafka剖析:Kafka背景及架构介绍

Kafka剖析:Kafka背景及架构介绍 Kafka 2015-04-08 5271  2评论下载为PDF    为什么不允许复制  《Kafka剖析:Kafka背景及架构介绍》  《Kafka设计解析:Kafka High Availability(上)》  《Kafka设计解析:Kafka High Availability (下)》  《Kafka设计解析

2017-05-22 14:12:52 1520

原创 java学习之----map的使用

import java.util.HashMap;import java.util.Iterator;import java.util.Map;/** * This program tests the Employee class. * @version 1.12 2015-05-08 * @author Cay Horstmann */public class hello{

2017-05-19 20:12:58 590

转载 LocalDate LocalTime java8新的时间日期库及使用示例

java8引入了一套全新的时间日期API,本篇随笔将说明学习java8的这套API。java。time包中的是类是不可变且线程安全的。新的时间及日期API位于java.time中,下面是一些关键类●Instant——它代表的是时间戳●LocalDate——不包含具体时间的日期,比如2014-01-14。它可以用来存储生日,周年纪念日,入职日期等。●LocalTime

2017-05-19 16:16:42 41440 2

原创 MySQL Connector/C++ 例子(二)

/* Copyright 2008, 2010, Oracle and/or its affiliates. All rights reserved.This program is free software; you can redistribute it and/or modifyit under the terms of the GNU General Public License a

2017-04-02 22:19:37 993

原创 MySQL Connector/C++ 例子(一)

/* Copyright 2008, 2010, Oracle and/or its affiliates. All rights reserved.This program is free software; you can redistribute it and/or modifyit under the terms of the GNU General Public License a

2017-04-02 22:17:01 4046

转载 Mysql Connector(C++)的数据库连接池的实现

基于MysqlConnector/C++的数据库连接池的实现1.连接池的介绍:1.1应用背景:一般的应用程序都会访问到数据库,在程序访问数据库的时候,每一次数据访问请求都必须经过下面几个步骤:建立数据库连接,打开数据库,对数据库中的数据进行操作,关闭数据库连接。而建立数据库连接和打开数据库是一件很消耗资源并且费时的工作,如果在系统中很频繁的发生这种数据库连接,必然会影响到系

2017-03-31 11:14:27 1630

原创 go语言文件读写

package mainimport ( "fmt" "os" "bufio" "io" "io/ioutil")func readFile(path string){ file,err := os.Open(path) if err != nil{ fmt.Printf("read file error\n") return } defer file.Cl

2017-03-17 01:02:17 4113

原创 kafka安装配置(集群)以及收发消息讲解

kafka安装配置(集群)以及收发消息讲解一、安装配置1、下载解压wget    http://mirror.bit.edu.cn/apache/kafka/0.10.2.0/kafka_2.10-0.10.2.0.tgztar   -zxvf   kafka_2.10-0.10.2.0.tgzkafka下载tgz包直接解压无需其他安装过程,下面是启动的过程 2、启动、

2017-03-07 22:50:10 4942

原创 kafka介绍总结

kafka的介绍Kafka is a distributed,partitioned,replicated commit logservice 它提供了类似于JMS的特性,但是在设计实现上完全不同,此外它并不是JMS规范的实现。kafka对消息保存时根据Topic进行归类,发送消息者成为Producer,消息接受者成为Consumer,此外kafka集群有多个kafka实例组成,每个实例(serv

2017-03-06 18:41:53 554

原创 unix网络编程卷2:管道和FIFO

管道和FIFO管道(Pipe):管道可用于具有亲缘关系进程间的通信,允许一个进程和另一个与它有共同祖先的进程之间进行通信。命名管道(named pipe):命名管道克服了管道没有名字的限制,因此,除具有管道所具有的功能外,它还允许无亲缘关系进程间的通信。命名管道在文件系统中有对应的文件名。命名管道通过命令mkfifo或系统调用mkfifo来创建。#include <unistd.h>int

2017-02-08 23:58:56 446

原创 我的makefile模板

想大家提供一个makefile万能模板,工程目录结构project目录下有三个文件夹,include文件夹放头文件,src放cpp文件,lib文件夹放lib.a文件lib.so文件都可以的以及其他链接文件都可以的。说明:根据需要大家可以随便扩展这个模板,在任何位置放置自己的头文件,源文件和库文件都可以,只要把路径添加makefile中去就可以了。CC = gccXX = g++CFLAGS =

2017-01-12 20:58:17 547

原创 strchar函数和 strstr函数的学习

strchar函数的实现char strchr(const char _Str,char _Val)char strchr(char _Str,char _Ch)头文件:#include #include <iostream>#include <stdio.h>#include <stdlib.h>char *my_strchar(char *str, char c){ whil

2017-01-12 11:01:30 4997

原创 生成gtest静态库 libgtest.a文件

生成libgtest.a文件在前面的一篇文章中我大概的描述了gtest的使用,不过生成libgtest.a文件包含gtest_main.a文件,如果我们要写自己的main函数怎么呢,而不源码包中提供的gtest_main.cc文件。[http://blog.csdn.net/chenxun_2010/article/details/53639980] 好了, 1. 下载gtest源码包。目录结构

2016-12-30 11:30:23 6386 4

原创 go语言socket编程

go语言socket编程用go写socket非常简单,如果你了解其他语言的socket的话一看便知,如果想深入的话,个人建议看uninx网络编程套接字联网API这本书。在go中,网络协议被封装的非常完好了,我们并不需要像其他语言那样需要socket、bind、listen、receive、connect等一系列的操作,只需要go中自带的net包就可以很方便的完成socket编程。server.gop

2016-12-27 01:44:40 3846 1

原创 go语言实现快速排序

先看一下c++的实现方法:1、快速排序的描述  快速排序算法采用的分治算法,因此对一个子数组A[p…r]进行快速排序的三个步骤为:  (1)分解:数组A[p...r]被划分为两个(可能为空)子数组A[p...q-1]和A[q+1...r],给定一个枢轴,使得A[p...q-1]中的每个元素小于等于A[q],A[q+1...r]中的每个元素大于等于A[q],q下标是在划分过程

2016-12-24 01:17:28 7262 2

原创 gtest学习(一)在linux下的安装

gtest学习(一)在linux下的安装chenxun一、下载gtestgtest是google的,被墙了,所以百度自己下载一个版本,我下载的版本如下图所示。下载完后弄到自己的linux系统上,unzip命令来解压二、安装部署步骤1.    第一步进入解压的文件中去如下没事我们可以浏览一下此目录下文件,文件夹下好多文件,因为包含各种平台的版本

2016-12-14 15:06:11 8609 2

原创 unix网络编程----------fifo

#include #include #include #include #include #include #define MAXLINE 4096 #define FIFO1 "/tmp/fifo.1"#define FIFO2 "/tmp/fifo.2"#define FILE_MODE (S_IRUSR | S_IWUSR | S_IR

2016-09-25 19:59:16 511

原创 unix网络编程----------管道 pipe

#include #include #include #include #include #include #define MAXLINE 4096void client(int readfd, int writefd){ size_t len; ssize_t n; char buff[MAXLINE]; /* 4read pathname */ fgets(

2016-09-25 17:54:49 730

原创 Go如何使得Web工作

web工作方式的几个概念以下均是服务器端的几个概念Request:用户请求的信息,用来解析用户的请求信息,包括post、get、cookie、url等信息Response:服务器需要反馈给客户端的信息Conn:用户的每次请求链接Handler:处理请求和生成返回信息的处理逻辑分析http包运行机制如下图所示,是Go实现Web服务的工作模式的流程图图3.9 h

2016-07-31 04:35:03 1789

原创 Go搭建一个Web服务器

前面小节已经介绍了Web是基于http协议的一个服务,Go语言里面提供了一个完善的net/http包,通过http包可以很方便的就搭建起来一个可以运行的Web服务。同时使用这个包能很简单地对Web的路由,静态文件,模版,cookie等数据进行设置和操作。http包建立Web服务器package mainimport ( "fmt" "net/http" "s

2016-07-31 03:14:07 10645 1

原创 Go 语言基础之变量

这小节我们将要介绍如何定义变量、常量、Go内置类型以及Go程序设计中的一些技巧。定义变量Go语言里面定义变量有多种方式。使用var关键字是Go最基本的定义变量方式,与C语言不同的是Go把变量类型放在变量名后面://定义一个名称为“variableName”,类型为"type"的变量var variableName type定义多个变量//定义三个类型都是“type”的

2016-07-30 21:33:16 3393

原创 go语言 面向对象

前面两章我们介绍了函数和struct,那你是否想过函数当作struct的字段一样来处理呢?今天我们就讲解一下函数的另一种形态,带有接收者的函数,我们称为methodmethod现在假设有这么一个场景,你定义了一个struct叫做长方形,你现在想要计算他的面积,那么按照我们一般的思路应该会用下面的方式来实现package mainimport "fmt"type Rectang

2016-07-30 21:20:29 1607

原创 go web服务(2)

练习:HTTP 处理实现下面的类型,并在其上定义 ServeHTTP 方法。在 web 服务器中注册它们来处理指定的路径。type String stringtype Struct struct { Greeting string Punct string Who string}例如,可以使用如下方式注册处理方法:http.

2016-07-30 18:24:13 1904

原创 go web服务(1)

package main import ( "net/http") func SayHello(w http.ResponseWriter, req *http.Request) { w.Write([]byte("Hello"))} func main() { http.HandleFunc("/hello", SayHello) http.Lis

2016-07-30 17:51:14 736

原创 A Tour of Go: Exercise: Rot13 Reader

package main import ( "io" "os" "strings" ) type rot13Reader struct { r io.Reader } func rot13(p byte) byte { switch { case p >= 'A' && p <= 'M':

2016-07-30 03:19:41 1402

原创 练习:Stringers

练习:Stringers让 IPAddr 类型实现 fmt.Stringer 以便用点分格式输出地址。例如,`IPAddr{1,`2,`3,`4}` 应当输出 `"1.2.3.4"`。package mainimport "fmt"type IPAddr [4]byte// TODO: Add a "String() string" method to IPAd

2016-07-04 03:16:54 2600

原创 go语言实现斐波数列

斐波纳契数列,又称黄金分割数列,指的是这样一个数列:1、1、2、3、5、8、13、21、……在数学上,斐波纳契数列以如下被以递归的方法定义:F0=0,F1=1,Fn=F(n-1)+F(n-2)(n>=2,n∈N*)递归实现package mainimport ( "fmt")func main() { for i := 0; i 10; i++

2016-07-04 01:04:52 2166

原创 struct的用法--------C语言结构体(struct)常见使用方法(转载)

今天复习一下struct,顺便挖掘一下以前没注意的小细节:基本定义:结构体,通俗讲就像是打包封装,把一些有共同特征(比如同属于某一类事物的属性,往往是某种业务相关属性的聚合)的变量封装在内部,通过一定方法访问修改内部变量。结构体定义:第一种:只有结构体定义[cpp] view plain copy

2016-04-13 09:12:40 3628

原创 GDB使用教程

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

2016-03-10 09:36:42 854

原创 socket编程例子

客户端例子:#include #include #include #include #include #include #include #include #include #include #define RES_LENGTH 10240 //接受字符的最大长度int conne

2016-02-19 11:08:55 807

原创 [文件I/O] select

select() 函数允许我们在一组文件描述符上进行 I/O 多路复用。相关原型及相关操作宏定义如下:#include #include #include #include int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout);

2016-02-19 09:42:02 955

原创 makefie

0.前言    从学习C语言开始就慢慢开始接触makefile,查阅了很多的makefile的资料但总感觉没有真正掌握makefile,如果自己动手写一个makefile总觉得非常吃力。所以特意借助博客总结makefile的相关知识,通过例子说明makefile的具体用法。    例说makefile分为以下几个部分,更多内容请参考【例说makefile索引博文】 

2016-01-29 10:02:00 856

原创 MD5算法实现收集------为什么linux和windows下MD5计算结果不一样

实现一://#include //#include "md5.h" //using namespace std;////int main()//{// cout << MD5("abc").toString() << endl;//// return 0;//}#include #include #include #include

2016-01-28 19:26:25 6165 3

人脸检测,能检测出人脸

人脸检测,能检测出人脸。在opencv安装好的情况下加入人脸分类器。可以通过测试。

2014-08-19

基于opecv的肤色检测

基于opecv的肤色检测.肤色提取是基于人机互动方面常见的方法。因为肤色是人体的一大特征,它可以迅速从复杂的背景下分离出自己的特征区域。一下介绍两种常见的肤色提取:

2014-08-08

C++获取计算机的CPU ID,硬盘序列号等硬件信息

C++获取计算机的CPU ID,硬盘序列号等硬件信息,

2014-07-31

空空如也

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

TA关注的人

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