自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 noSQL DB 技术选型

技术选型  技术选型常常是一个非常严谨的过程。由于一个项目通常是由数十位甚至上百位开发人员协同开发的,因此一个精准的技术选型常常能够大幅提高整个项目的开发效率。在尝试为某一类需求设计解决方案时,我们常常会有很多种可以选择的技术。为了能够精准地选择一个适合于这些需求的技术,我们就需要考虑一系列有关学习曲线,开发,维护等众多方面的因素。这些因素主要包括:该技术所提供的功能是否能够完整地解决

2017-09-21 16:26:49 1589

转载 常见线程模型

常见线程模型一个连接对应一个线程或进程线程/进程处理来自绑定连接的消息,连接不断开线程/进程就不退。当连接数逐渐增多时,线程/进程占用的资源和上下文切换成本会越来越大,性能很差,这就是C10K问题的来源。这两种方法常见于早期的web server,现在很少使用。单线程reactor以libevent,libev等event-loop库为典型,一般是由一个event dispat

2017-09-20 14:28:18 1406

转载 Docker log driver plugin

---title: "Docker log driver plugins"description: "Log driver plugins."keywords: "Examples, Usage, plugins, docker, documentation, user guide, logging"---repository at https://gith

2017-09-17 09:10:47 882

转载 docker Plugin config

Plugin Config Version 1 of Plugin V2This document outlines the format of the V0 plugin configuration. The pluginconfig described herein was introduced in the Docker daemon in thev1.12.0release.

2017-09-16 10:31:16 719

转载 docker log driver

(1)首先你需要认知以下几个关键词:stdout: 标准输出,进程写数据的流。stderr: 错误输出,进程写错误数据的流。子进程: 由一个进程(父进程)创建的进程,集成父进程大部分属性,同时可以被父进程守护和管理。(2)你需要知道关于进程产生日志的形式: 进程产生日志有两类输出方式,一类是写入到文件中。另一类是直接写到stdout或者stder

2017-09-16 10:27:44 2736

转载 BP神经网络

一、BP神经网络的概念    BP神经网络是一种多层的前馈神经网络,其主要的特点是:信号是前向传播的,而误差是反向传播的。具体来说,对于如下的只含一个隐层的神经网络模型:(三层BP神经网络模型)BP神经网络的过程主要分为两个阶段,第一阶段是信号的前向传播,从输入层经过隐含层,最后到达输出层;第二阶段是误差的反向传播,从输出层到隐含层,最后到输入层,依次调节隐含层到输出层的权重和

2017-09-14 13:37:57 1275

转载 安装docker

Docker目前分为两个版本:Docker Enterprise Edition (Docker EE) 专为企业开发和IT团队设计,用于在大规模生产中构建,运送和运行关键业务应用程序。Docker EE集成,认证和支持,为企业提供业界最安全的容器平台,使所有应用程序现代化。Docker Community Edition (Docker CE) 是开发人员和小团队的理想选择,希望开始使用

2017-09-09 13:11:28 529

原创 how to print function backtrack with boost

How to print current call stackboost::stacktrace::stacktrace contains methods for working with call-stack/backtraces/stacktraces. Here's a small example: #include boost/stacktrace.hpp>// ...

2017-08-27 08:32:00 909

转载 boost deadline_timer

linkdeadline_timer和socket一样,都用io_service作为构造函数的参数。也即,在其上进行异步操作,都将导致和io_service所包含的iocp相关联。这同样意味着在析构 io_service之前,必须析构关联在这个io_service上的deadline_timer。1. 构造函数在构造deadline_timer时指定时间。[cpp] v

2017-07-26 16:17:42 620

转载 How to use boost::property_tree to load and write JSON

Boost's Property TreeProperty Tree is a sublibrary of boost that allow you handlingtree of property. It can be used to represent XML, JSON, INI files, file paths, etc. In our case, we will be inte

2017-07-26 13:24:38 862

转载 docker 插件开发案例

docker plugin

2017-07-21 14:01:43 2581

转载 docker logger 源码分析

概要本文将从docker(1.12.6)源码的角度分析docker daemon怎么将容器的日志收集出来并通过配置的log-driver发送出去,并结合示例介绍了好雨云帮中实现的一个zmq-loger。阅读本文,你也可以实现适合自己业务场景的log-driver。阅读准备本文适合能够阅读和编写golang代码的同学。(1)首先你需要认知以下几个关键词: * stdout:标

2017-07-21 09:23:35 876

转载 可执行文件如何被执行

可执行文件如何被执行?1.sys_execve 处理execvc系统调用,调用do_execve2.do_execve 打开该可执行文件,做些准备工作,然后调用search_binary_handler3.search_binary_handler 确定可执行文件的类型(比如elf, 脚本), 调用相应的处理函数,这里是load_elf_binary4.load_elf_binary将该执

2017-07-07 19:27:36 1740

转载 使用插件扩展Docker

Extend Docker Via Plugin Last updated: 2017-05-03 by <a href="https://blog.codeship.com/author/lorenzofontana/" title="Posts by Lorenzo Fontana" rel="author">Lorenzo Fontana | 5 Comments<div cla

2017-07-07 14:57:37 848

转载 protocol buffer 常用API

1、C数组的序列化和反序列化API[cpp] view plain copy//C数组的序列化和序列化API  bool ParseFromArray(const void* data, int size);  bool SerializeToArray(void* data, int size) const;  //使用  void set_peo

2017-06-14 15:07:18 666

转载 boost serialization 序列化/反序列化 详细用法

##原文http://zh.highscore.de/cpp/boost/serialization.html第 11 章 序列化目录11.1 概述11.2 归档11.3 指针和引用11.4 对象类层次结构的序列化11.5 优化用封装函数11.6 练习 该书采用Creative Commons License 授权11.1. 概述Boos

2017-06-13 16:36:57 6795 1

转载 0MQ -- zmq_socket_monitor

ZeroMQ 官方地址 :http://api.zeromq.org/4-2:zmq-socket-monitorzmq_socket_monitor(3)       ØMQ Manual - ØMQ/4.1.0Namezmq_socket_monitor - 注册一个监控回调函数Synopsisint zmq_socket_monitor (void *socket,

2017-06-11 15:14:58 937

原创 0MQ -- zmq_poll() async I/O

ZeroMQ 官方地址 :http://api.zeromq.org/4-0:zmq_pollzmq_poll(3)     ØMQ Manual - ØMQ/4.1.0Namezmq_poll - I/O多路技术Synopsisint zmq_poll (zmq_pollitem_t *items, int nitems, long timeout);Descri

2017-06-11 14:31:20 858

原创 0MQ -- zmq_recv

ZeroMQ 官方地址 :http://api.zeromq.org/4-1:zmq_recvzmq_recv(3)        ØMQ Manual - ØMQ/4.1.0Namezmq_recv – 从一个socket上接收一个消息帧Synopsisint zmq_recv (void *socket, void *buf, size_t len, int flags

2017-06-11 14:28:16 1681

转载 boost 单元测试

原文:http://www.jianshu.com/p/9a87918023fb基本概念Boost test库提供了一个用于单元测试的基于命令行界面的测试套件UTF:Unit Test Framework,具有单元测试、检测内存泄露、监控程序运行的功能。测试模块测试安装测试主体:测试主体是测试的模块的实际运行部分,由测试用例和测试套件组成的测试树形成测试清理测试运行器测

2017-06-11 09:37:00 873

原创 boost -- program_options

program_options 是一个实现了类似 optarg 但是比 optargs 功能强大的 boost库. 使用它来解析命令行参数或者配置文件都是很简单的. 官方教程http://www.boost.org/doc/libs/1_57_0/doc/html/program_options.html依赖 安装boost库, 至少编译 program_options 部分. 添加inc

2017-06-11 09:08:37 873

原创 0MQ options

*int zmq_getsockopt (void '*socket', int 'option_name', void '*option_value', size_t '*option_len');* 该api用于设置套接字的选项 option_name:ZMQ_RCVMORE: ZMQ_TYPE: socket的类型ZMQ_SNDHWM:ZMQ_IDENTITY

2017-06-10 11:41:48 587

转载 使用valgrind分析C程序调用线路图

原文连接:http://blog.csdn.net/unix21/article/details/8772074Valgrind可以检测内存泄漏和内存违例,但是用Valgrind生成的日志信息结合kcachegrind就可以查看C程序的执行线路图,调用时间,是做性能优化和查看代码的非常好的工具。1.下载安装Valgrind 安装到www.valgrind.org下载

2017-06-07 15:49:35 852

转载 0MQ

ØMQ - The Guide Table of ContentsBy Pieter Hintjens, CEO of iMatixPlease use the issue tracker for all comments and errata(勘误表). This version covers the lateststable(稳定的) relea

2017-05-30 22:18:09 14679

转载 Libevent_

Libevent介绍libevent是一个事件触发的网络库,适用于windows、Linux、bsd等多种平台,内部使用select、epoll、kqueue等系统调用管理事件机制。著名分布式缓存软件memcached也是libevent based,而且libevent在使用上可以做到跨平台,而且根据libevent官方网站上公布的数据统计,似乎也有着非凡的性能。libevent官方

2017-05-05 08:35:26 727

转载 TCP粘包,拆包及解决方法

TCP粘包,拆包及解决方法原文:https://blog.insanecoder.top/tcp-packet-splice-and-split-issue/在进行Java NIO学习时,发现,如果客户端连续不断的向服务端发送数据包时,服务端接收的数据会出现两个数据包粘在一起的情况,这就是TCP协议中经常会遇到的粘包以及拆包的问题。我们都知道TCP属于传输层的协议,传输层除了有

2017-05-04 16:54:11 2050

原创 如何获取Client和Server自己的还有对方的IP/port

今天同了个问题, 说如何得到Client自己的source IP和Port。 之前都是server端去读取client的IP和Port。搞了个小程序试试,果然是可以拿到的。话不多说上code。Note:build optiong++ $filename -std=c++11 -lpthread #include #include // for memset(),

2017-04-13 11:10:50 6285

转载 Install gcc-5.3.0 on CentOS 7

原文http://lightjameslyy.github.io/2016/04/15/Install-gcc-5-3-0-on-CentOS-7/1.Preparationsoperating system: CentOS 7 64bitold gcc: gcc 4.8.2source packages: gcc-5.3.0.tar.gz gmp-6.1.

2017-04-13 09:20:08 1542

原创 树莓派 播放音频

alsamixer  #调节声音大小##首先要安装mpg321sudoapt-get-yinstall mpg321  #安装这个可以播放MP3##准备播放列表$ls /Users/mcong/Music/*.mp3 > favorites.list##后台播放$mpg321 -q --listfavorites.list

2017-03-30 19:44:06 2884

转载 Builder模式的误区:将复杂对象的构建进行封装,就是Builder模式了吗?

最近重读GOF的《设计模式》,读到Builder模式的时候,发现还是不能领悟;网上搜了下其他人的解释,发现很多人都用错了Builder模式,结构形似Builder,实际上却更像Template、或者Factory Method,或者四不像,并没有体现出Builder模式的思想和威力;通过对比学习,也逐渐加深了我对Builder模式的认识,于是就有了这篇文章。 0. GOF - Builde

2017-03-30 09:38:25 469

转载 lora 资料汇总

LoRa在今年(2016年)应该是最火的物联网技术,Semtech不停攻城略地,七大洲,哦,除了南极洲,所有地区都宣布要建立国家级的LoRa网络。虽然,我大中国的运营商要做NB-IoT,但是不乏中兴、富士康、鹏博士等企业野心勃勃,要在NB-IoT正式商用之前就部署出一个类运营商的LoRa网络。在市场为低功耗广域网开始造势时,我们技术人员就要开始跟上了。IoT小能手在ZigBee、蓝牙、WiFi

2017-03-29 16:57:50 2153

转载 空中唤醒技术解析

无线网络应用中,通常要求节点尽可能休眠,最大限度降低功耗,但又希望节点能尽可能及时地收发无线数据,这似乎是个不可调和的矛盾。但是有个神奇的功能,空中唤醒。节点即使处于休眠,当需要节点工作时可以直接通过无线手段唤醒该节点。很多人第一次听到,都觉得不可思议。希望看完今天这篇文章,你能搞明白这件事。本文首发于微信公众号twowinter,转载请注明作者:http://blog.csdn.ne

2017-03-29 16:56:25 4285 4

转载 LORA 空中唤醒研究

一、前言前面在无线节点的空中唤醒技术解析中由浅入深地对空中唤醒技术做了讲解,讲地非常好,建议大家多看几遍(卧槽,谁又砸砖头!)。这篇笔记将讲LoRa节点的空中唤醒具体应用。我正在学习LoRa和LoRaWAN,基本按照 官方资料+梳理解析+相关源码 的方式来记录笔记,相信对不少同行者有所帮助,可点此查看帖子LoRa学习笔记_汇总。本文作者twowinter,转载请注明作者:http:

2017-03-29 16:45:35 6965

转载 如何删除脚本中的所有汉字

从GB2312-1980编码开始,汉字都是采用双字节编码。为了与系统中基本的ASCII字符集区分开,所有汉字编码的每个字节的第一位都是1。例如:“啊”字的编码为0xB0A1。GB2312的汉字编码规则为:第一个字节的值在0xB0到0xF7之间,第二个字节的值在0xA0到0xFE之间。GB12345和GB13000是对GB2312-1980的扩充,所有已经包含在GB2312中的汉字编码不变,另外增加

2017-03-28 10:03:46 1090

转载 boost::weak_ptr和enable_shared_from_this

原文: http://blog.csdn.net/zade/article/details/2660620boost::weak_ptr和enable_shared_from_this shared_ptr在我的实践中使用很广,在接口层面上,我基本都会默认的使用shared_ptr.而weak_ptr则很少使用;即便使用,也是间接的使用,例如使得class A继承自boost::e

2017-03-24 07:06:27 695

原创 C++ 运算符重载 operator xxx * ()

今天看见一段code。 发现一个很好玩的用法. 可能我见识少吧。记录一下:class Loop{public:。。。。。。    inline operator event_base * () const    {        return _base;    };}乍一看,还真没看明白这个的用途。研究一下,这个函数很管

2017-03-13 16:51:06 859

转载 C++11 bind

本文解释了bind 是如何工作的。为了清晰,我对图中的语法作了一些简化(例如,省略函数调用操作符的参数类型),并且简化了 bind 的实现.1. bind 可以用来将用户提供的需要一个参数的函数转换成不需要参数的函数对象。绑定的值(在这个例子中是123)存储在函数对象内并且会被自动传递给用户指定的函数:  2. 参数绑定也可以用于将类成员函数转换成零参数的函数对象。猿类们都知道

2017-03-11 23:26:31 529

转载 C++11 lambda函数

C++11一个最激动人心的特性是支持创建lambda函数(有时称为闭包)。这意味着什么?一个Lambda函数是一个可以内联写在你代码中的函数(通常也会传递给另外的函数,类似于仿函数或函数指针)。使用Lambda,创建机动函数会更简单,而以前你必须创建一个有名函数。在这篇文章中,我先用一些例子解释为什么lambda很酷,然后我会讲解可能会用到的关于lambda的所有细节。为什么Lambda很酷

2017-03-11 23:05:20 704

转载 c++11中的tuple(元组)

转自:http://www.cnblogs.com/qicosmos/p/3318070.html这次要讲的内容是:C++11中的tuple(元组)。tuple看似简单,其实它是简约而不简单,可以说它是c++11中一个既简单又复杂的东东,关于它简单的一面是它很容易使用,复杂的一面是它内部隐藏了太多细节,要揭开它神秘的面纱时又比较困难。  tuple是一个固定大小的不同类型值的集合,

2017-03-11 22:35:29 935

转载 C++11 新特性

C++11是曾经被叫做C++0x,是对目前C++语言的扩展和修正,C++11不仅包含核心语言的新机能,而且扩展了C++的标准程序库(STL),并入了大部分的C++ Technical Report 1(TR1)程序库(数学的特殊函数除外)。C++11包括大量的新特性:包括lambda表达式,类型推导关键字auto、decltype,和模板的大量改进。本文将对C++11的以上新特性进行简单的

2017-03-11 21:54:24 502

空空如也

空空如也

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

TA关注的人

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