自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ubuntu安装eolinker开源版

1.安装mysql、javasudo apt-get install mysql-serversudo apt-get install mysql-client2.下载eolinker开源版https://gitee.com/wh609/CHN-EOLINKER-AMS-Lite-4.0-For-Java3.创建eolinker_os数据库create database eolinker_os;4.修改conf/setting.properties修改数据库用户名和密码5

2021-04-20 00:12:24 278

原创 Nginx模块开发:自定义模块hello world

#include <ngx_config.h>#include <ngx_core.h>#include <ngx_http.h>static char *ngx_http_mytest(ngx_conf_t *cf, ngx_command_t *cmd, void *conf);static void *ngx_http_mytest_create_loc_conf(ngx_conf_t *cf);static char *ngx_http_mytest.

2020-06-01 22:58:48 341

原创 C++ 使用 protobuf 序列化反序列化方法通信

Protocol buffers 是一种语言无关、平台无关、可扩展的序列化结构数据的方法,它可用于(数据)通信协议、数据存储等。可类比 XML,但是比 XML 更小(3 ~ 10倍)、更快(20 ~ 100倍)、更为简单。可以定义数据的结构,使用IDL(接口描述语言)生成的各种语言源代码在数据流中进行编写和读取结构数据。1.创建msg.proto文件,使用protobuf语法描述数据格式...

2020-02-22 14:25:03 8253

原创 C++11 tuple

总结一下c++11中的 tuple 容器1. tuple<int, double, string> aTuple = make_tuple(1, 2.0, "test");2. get<0>(aTuple) = 3;3. int tupleSize = tuple_size<decltype(aTuple)>::value4. tuple_ele...

2020-02-20 22:50:03 136

原创 perl中的命名管道pipe()

一. pipe():创建命名管道,与 linux c 系统调用一样。格式: pipe(READ,WRITE);pipe创建两个连接的句柄,一个读,一个写,任何写入到writer的都可以从reader中读出。实 例:pipe(README,WRITEME); #创建了一个管道对,"README"用于读,"WRITEME"用于写。$aaa=pipe(AAA,BBB); #创建了一个...

2020-02-13 16:50:51 887

原创 CGI环境变量

CGI环境变量所有的CGI程序都接收以下的环境变量,这些变量在CGI程序中发挥了重要的作用:变量名 描述 CONTENT_TYPE 这个环境变量的值指示所传递来的信息的MIME类型。目前,环境变量CONTENT_TYPE一般都是:application/x-www-form-urlencoded,他表示数据来自于HTML表单。 CONTENT_LENGTH ...

2020-02-12 22:43:44 972

转载 深入浅出理解区块链

在这篇文章中我会给出一个虚拟的村庄叫“比特村”,整个文章会以讲故事的方式,逐步告诉大家比特币提出的动机、解决了什么问题以及一些关键组件的目标和设计方案。问题的提出  我们先从比特币产生的动机开始。以物易物的比特村  话说在这个世界上,有一个叫比特村的小村庄,村庄共有几百户人家。这个村庄几乎与世隔绝,过着自给自足的生活。由于没有大规模贸易,比特村村民一直过着以物易物的生活,也就是说村...

2019-12-24 23:57:46 383 1

原创 Nginx使用线程池thread_pool发生错误"directive is not allowed here"

发生错误的原因是ngx_thread_pool_module是核心模块,不能放在http或者server域中,而是在全局域中初始化

2019-11-18 23:27:23 1793

原创 Makefile总结(多级目录、多目标)

一、多目标.PHONY:clean allCC= gccCFLAGS= -Wall -gLOCAL_PATH=$(shell pwd)BIN=test01 test02all:$(BIN)#%.o:%.c.c.o: $(CC) $(CFLAGS) -c $< -o $@test01:test01.o sub.o $(CC) $(CFLAGS) -o $@...

2019-06-04 10:27:45 4532

转载 Redis 基础知识及常用命令

https://www.cnblogs.com/web424/p/6802587.html全局操作:#查看所有keykeys * 或 keys "*"#查看匹配前缀的keyskeys "miao*"#清空redisflushdb#随机取出一个keyrandomkey#查看key的类型type key#查看数据库中key的数量dbsize#查看服务器信息info...

2019-05-30 11:15:11 121

原创 C++ 可变参数列表 "..." 的使用

一、可变参数模板#include <iostream>using namespace std;template <typename... T>void func1(T... args){ cout << sizeof...(T) << endl; cout << sizeof...(args) << end...

2019-05-15 20:12:04 14799 1

原创 Nginx 编写模块遇到的问题

1、r->headers_out.content_type如果设置成plain有时浏览器会不识别格式导致浏览器以二进制格式下载数据。Content-Type:用于定义用户的浏览器或相关设备如何显示将要加载的数据,或者如何处理将要加载的数据  MIME:MIME类型就是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。多...

2019-04-06 22:59:48 181

原创 C++ 包装器模式 boost库实现

包装器模式,又叫装饰者模式,英文叫Decorator Pattern。装饰模式是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。#include <iostream>#include <boost/type_traits.hpp>using namespace std;class Mycla...

2019-03-31 22:20:49 275

原创 matlab柱状图添加条纹 hatchfill

使用applyhatch_pluscolor包,下载地址:applyhatch_pluscolor代码包。h = bar(rand(3,4));fH = gcf;colormap(cool(6));legend('Apple', 'Orange', 'Banana','Melon');tH = title('Brandon''s applyhatch');applyhatch_p...

2019-03-21 13:53:38 11065 3

原创 重载运算符与动态库的使用

&lt;&lt;只能使用友元函数的形式重载,+运算符可以友元也可以成员函数方式重载,但是参数的个数就不同了。以友元函数方式重载+运算符是两个参数,以成员函数重载只有一个参数。point.h:#include &lt;iostream&gt;using namespace std;class Point{public: Point(); Point(int x, ...

2019-02-26 17:10:19 330

原创 Linux系统调用signal(), sigaction()区别

signal在信号处理函数中不会屏蔽其他信号,会被其他信号打断:#include &lt;unistd.h&gt;#include &lt;stdio.h&gt;#include &lt;stdlib.h&gt;#include &lt;signal.h&gt;#include &lt;wait.h&gt;#include &lt;memory.h&gt;void sig_ha...

2019-02-25 18:48:14 427

原创 利用signal和sigaction实现信号通知避免僵尸进程

为了避免僵尸进程,我们使用信号的方式通知父进程回收子进程1、利用signal系统调用的方式:#include &lt;unistd.h&gt;#include &lt;stdio.h&gt;#include &lt;stdlib.h&gt;#include &lt;signal.h&gt;#include &lt;wait.h&gt;void sig_handler(int ...

2019-02-25 17:23:41 459

原创 修改进程名并搬移环境变量

#include &lt;iostream&gt;#include &lt;string&gt;#include &lt;memory.h&gt;#include &lt;unistd.h&gt;#include &lt;stdlib.h&gt;#include &lt;sys/stat.h&gt;using namespace std;int main(int argc, c...

2019-02-25 09:58:47 202

原创 C++解析Json格式

#include &lt;iostream&gt;#include &lt;fstream&gt;#include &lt;string&gt;#include &lt;vector&gt;#include &lt;memory.h&gt;#include &lt;fstream&gt;#include "json11.hpp"using namespace std;usi

2019-02-24 18:11:50 538

原创 单例模式以及垃圾回收

#include &lt;iostream&gt;#include &lt;mutex&gt;using namespace std; mutex *m_mutex; class Sington{private: Sington() { cout &lt;&lt; "Sington()" &lt;&lt; endl; stat...

2019-02-22 21:45:05 136

原创 c++ fstream流seekg()重定位问题

    在看c++中fstream时,突然想到一个问题。当读取完整个文件之后如果再想读取一遍该如何去写?首先想到seekg()函数把读指针重定位到文件开头。但是我试了一下发现指针并没有移动,后来才搞清楚原来是当读指针指到EOF后就没办法再进行指针的控制了。#include&lt;iostream&gt;#include&lt;fstream&gt;#include&lt;string&g...

2018-11-13 16:56:31 2120 1

原创 pip install安装报错"cannot import name main"的解决办法

问题如下图所示:修改/usr//bin/pip中的 pip为pip._internal

2018-10-12 10:25:45 3906

原创 机器学习之决策树总结

本文只针对决策树的细节问题。1、信息熵熵定义为信息的期望值,熵越高代表一个事物的状态越混乱,因此信息越多。如果待分类的事物可能划分在多个类之中,则符号的信息量定义为:   , 其中, 是选择该分类的概率。为了计算熵,我们需要计算所有类别所有可能值所包含的信息期望值,通过下式得到: 其中,随机变量的不确定性越大,熵就越大。2、条件熵条件熵  表示在已知随机变量  的条...

2018-09-19 12:40:54 559

原创 Hadoop平台的Shell基本操作

Hadoop 命令是以 ”./bin/XXX xxx” 开头的 Shell 命令方式,其中XXX xxx 实际上有三种形式,分别是:1. hadoop fs2. hadoop dfs3. hdfs dfshadoop fs 适用于任何不同的文件系统,比如本地文件系统和 HDFS 文件系统。hadoop dfs 跟 hadoop dfs 的命令作用一样,也只能适用于 HDFS 文件系统。...

2018-07-30 10:35:22 208

原创 c++中平衡搜索二叉树的应用

STL中,set、map底层是红黑树实现的。unordered_map、unordered_set 底层是哈希表实现的。set用法:set的各成员函数列表如下:1. begin()--返回指向第一个元素的迭代器2. clear()--清除所有元素3. count()--返回某个值元素的个数4. empty()--如果集合为空,返回true5. end()--返回...

2018-07-29 16:40:11 375

原创 Mannacher算法

查找最长回文子串用暴力解的话时间复杂度 O(n^2) ,利用 Mannacher 算法实现时间复杂度为 O(n) 。其思想主要是利用回文结构的对称性来解决,类似于用表的方式纪录信息,避免重复计算。#include&lt;iostream&gt;#include&lt;string&gt;#include&lt;assert.h&gt;using namespace std;int ...

2018-07-29 12:15:00 383

原创 非递归构造二叉树

利用递归很容易就能够构造二叉树,但是利用非递归方法就不那么容易。非递归方式构建二叉树需要用到栈的结构,在这里梳理一下思路。#include &lt;iostream&gt;#include &lt;stack&gt;#include &lt;string&gt;using namespace std;class BiNode{public: BiNode() {}; Bi...

2018-07-29 11:43:43 3905 1

原创 Morris遍历实现前序、中序遍历二叉树

Morris遍历实现二叉树的前序、中序遍历比较简单,在这里做个笔记。后序遍历还在学习中,之后再做总结。这里用到了 二叉树树的非递归建立。#include &lt;iostream&gt;#include &lt;stack&gt;#include &lt;string&gt;#include "tree.h"using namespace std;int main(){...

2018-07-29 11:41:38 323

原创 MATLAB plot()、scatter()的RGB颜色设置

plot(x,y,'Color',[R G B]);%只要设置颜色中RGB的值就可以得到不同的颜色。Red(红)Green(绿)Blue(蓝)颜色000黑111白100红010绿001蓝110黄101洋红011青蓝0.6670.6671天蓝10.50橘黄0.500深红0.50.50.5灰色...

2018-06-25 08:39:11 41912 1

原创 c++容器vector删除元素erase()与迭代器的使用

写代码时用 for 循环删除 vector 中的元素发现总是报错,后来最细看了下 erase() 方法发现 erase()方法使用后原来的迭代器失效,返回新的迭代器。正确的使用方法是:#include &lt;iostream&gt;#include &lt;vector&gt;using namespace std;int main(){ vector&lt;int&gt; v = ...

2018-06-19 22:13:47 5457

原创 Latex排版遇见的"newtxmath.sty“,“newtxtext.sty”问题

解决方案:1、下载安装 miktex,下载地址:https://miktex.org/download2、命令行输入:initexmf --mkmaps --verbose --admin

2018-06-10 15:23:50 8340

原创 Latex中表格过宽越界的解决办法

调试Latex表格会遇见表格出界的问题,我们可以让其自动调整字体的大小。例:\begin{table*}[!t]\centering\caption{***}\label{***}\begin{tabular}{***}\hline***\end{tabular}\end{table*}添加\resizebox{\textwidth}{!}{}注意添加位置:\begin{table...

2018-06-10 15:09:05 55544 11

原创 Tensorflow中的高级API:Estimator

一、利用 Estimator 实现 MNIST 识别先导入包:import numpy as npimport tensorflow as tf写主函数:if __name__ == "__main__": tf.logging.set_verbosity(tf.logging.INFO) tf.app.run()其中 tf.logging 是Tensorflow中的日志模块,我们这里调...

2018-06-10 14:05:52 2124

原创 Tendorflow训练CITAR10遇到的问题

阅读cifar10_train.py代码发现几个问题,在这里记录下。1、tf.app.run()if __name__ == '__main__': tf.app.run()阅读源码:from __future__ import absolute_importfrom __future__ import divisionfrom __future__ import print_functi...

2018-06-08 10:11:03 257

原创 深入理解Tensorflow模型保存与载入(Ineception V3为例)

一、预备知识(1)tensor : 符号化的句柄,指向操作的运算结果。 (2)operation : 符号化的运算过程,即图中的节点。(3)graph : 模型结构的流程图,tensor 和 operation 都是图中的对象。(4)tf.gfile.FastGFile(path,decodestyle)          函数功能:实现对图片的读取。          函数参数:(1)path:...

2018-06-05 18:44:01 764

原创 Gnuradio中的SWIG接口

一、GNU无线电中SWIG接口从http://gnuradio.org/releases/gnuradio/gr-howto-write-a-block-3.3.0.tar.gz下载 gr-howto-write-a-block-3.3.0.tar.gz文件。(1)块名的命名约定:在创建块之后,我们在GNU Radio中使用它的唯一方法是创建一个python脚本,先载入包含我们块的包/模块,然后将...

2018-05-28 09:54:03 916

原创 GNU Radio 中的块签名 Block Signatures

一、理解GNU Radio中的块签名(Block Signatures)块签名只是进入和退出信号处理块的数据类型的规范。它已在gr_io_signature.h类中定义,可以在/usr/local/include/gnuradio/gr_io_signature.h或 http://gnuradio.org/doc/doxygen/gr__io__signature_8h.html 可以找到。头文...

2018-05-28 09:38:00 629

原创 Gnuradio中的命名规则和数据类型

一、GNU Radio中的命名规则1.标识符中的所有单词都用下划线分隔,例如gr_vector_int 2. GNU Radio包中的所有类型都以gr为前缀,例如gr_float 3.所有类变量都以d_开头,例如d_min_streams 4.每个类是在一个单独的文件中实现的,例如,gr_magic类是在gr_magic.cc中用头文件 gr_magic.h 实现的。5.所有信号处理块的后缀都包含...

2018-05-28 09:24:42 2634

原创 Gnuradio中的滤波器深入理解

”firdes“ 是 fir design 的缩写,意思是有限长脉冲响应滤波器设计。这个类在 /usr/local/include/gnuradio/filter/firdes.h 中定义。在数字信号处理中,在数字信号处理中,FIR滤波器的设计方法有很多,所有的设计方法归根于要设计一个多项式使其对理想滤波频率响应函数的逼近达到最佳,就是像机器学习里拟合的问题。但是由于DTFT的导致的周期性我们对于...

2018-05-15 17:23:38 3961

原创 Tensorflow RNN源码理解

一、阅读源码这个是Tensorflow的RNN源码,官方注释解释的比较清楚: RNNCell是一个抽象类,我们看下下它的属性: 我们可以发现这里用到的是Python内置的@property装饰器,就是负责把一个方法变成属性调用的,很像C#中的属性、字段的那种概念。State_size和Output_size规定了隐层的大小和输出张量的大小。 下面是重要的__call__方法,有点像USRP中的wo...

2018-05-06 11:58:09 2401

空空如也

空空如也

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

TA关注的人

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