自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 tornado web异步框架 和 nodejs 的异步对比

最近项目中用到tornado 也是新接触看到里面的异步实现 事件驱动实现是由IOLoop PollIOLoop 这两个类来实现 IOLoop运行在主进程里面以前看过nodejs的事件循环机制 通过eventloop 保持主线程一直处于循环状态 对回调函数事件处理 nodejs 底层使用到了libev库 是线程池和消息队列来处理的所以表面上nodejs是单线程的 内部实现用的是多线程

2017-05-26 17:45:11 1976

原创 python3 爬虫 HTML 指定内容

写了个简单爬虫工具!!     python 爬 HTML 指定内容   注意 python 3的 平台下使用     # -*- coding: utf-8-*-import urllib.requestimport renum = 1while num<1915: num += 1 url= "http://www.ynshangji.com/shen-huangye/

2017-05-26 16:01:06 406

原创 arm LED驱动小程序 可以通过modprobe 加载ko文件

一个小程序 控制LED灯的开光 系统调用ioctl读写操作GPIO口C 驱动程序如下       #include #include #include #include #include #include #include #include #include #include #include #include #include #define LED_ON 0x1

2017-05-22 00:01:25 429

原创 STL vector 类排序

#include #include #include #include #include using namespace std;struct feas { std::string name; float num;};bool cmp_num(const feas &p1, const feas &p2) { return p1.num > p2.num;}int main(int argc, c

2017-05-11 16:37:02 503

原创 python web 框架tornado-4.4.2 安装测试

下载tornado-4.4.2cd tornado-4.4.2python setup.py buildsudo python setup.py installOK 编译安装完成 运行一个hellwrold 试试 import tornado.ioloopimport tornado.webclass MainHandler(tornado.web.

2017-04-24 15:46:34 2397

原创 通用的 cmakeLists.txt 文件

PROJECT(test CXX) #项目名称#Cmake最低版本要求CMAKE_MINIMUM_REQUIRED(VERSION 2.6) #允许gdb调试set(CMAKE_BUILD_TYPE "RELEASE")set(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -Wall -g -ggdb")set(CMAK

2017-04-24 14:57:13 2432

原创 docker 制作镜像的两种方法

docker 制作镜像的方法 有两种1. 通过用dockerfile 来制作镜像    编写dockerfile    然后docker build -t xxx:tag .    2. 可以通过docker commit 来制作镜像 [前提是镜像已经存在]   通过docker exec -it xxxx:tag /bin/bash 进入容器内部    修改完毕之后

2017-04-24 14:35:48 1503

原创 opencv exam 相关基础案例 写了个公用Makefile

Makefile :CXX=gccCFLAGS=-WallLDFLAGS= `pkg-config --cflags --libs opencv`SRCS=$(wildcard *.c)TARGETS=$(patsubst %.c, %, $(SRCS))all:$(TARGETS)$(TARGETS):$(SRCS) $(CXX) -o $@ $< $(LDFL

2017-04-24 12:30:34 191

原创 'OSError: .*.so: undefined symbol'

编译库文件 : 头文件重复包含错误 !排查头文件

2017-04-24 12:19:10 3438

原创 centos 搭建opencv-3.2.0开发环境 测试代码

下载opencv-3.2.0安装包             上传到linux 上面         编译opencv-3.2.0 之前 请保证已经安装好 cmake make python gtk+等 相关工具       yum install cmake gcc gcc-c++ gtk+-devel gimp-devel gimp-devel-tools gimp-he

2017-04-23 19:39:08 5329

原创 python调用c语言动态库示例

python完美兼容C语言,有了ctypes 可以调用c相关代码 如果是c++代码   编译的时候加上 extern "C" 就可以了 ,如果是一些复杂类型比如结构体,类,联合一些 可以考虑用boost.python示例:test.c#include #include #include #define EXIT exit(-1)#define BUF_LEN (512)

2017-04-22 13:58:50 1983

原创 错误'undefined symbol: __gxx_personality_v0'

这个错误 因为用c++编译器编译的.o文件  然后用gcc去链接成的动态库  导致无法被使用        File "/usr/lib64/python2.6/ctypes/__init__.py", line 431, in LoadLibrary    return self._dlltype(name)  File "/usr/lib64/python2.6/ctypes/

2017-04-22 13:44:51 1399

原创 pure-ftpd 搭建自己的FTP服务器

下载      wget https://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.41.tar.gz            解压安装      对照README里面的step步骤        [root@localhost pure-ftpd-1.0.41]# /usr/local/sb

2017-03-01 00:02:52 1269

原创 C 文件操作 简单代码

分别是栈上分配内存 和 堆上分配内存                  有时候我们如果遇到 频繁调用这个函数 要不停的去动态分配内存很麻烦 还得手动释放                  可以考虑用static buf[BUF_LEN]  在函数内部 或者是用全局变量数组  但是问题又来了 如果你的程序是守护进程  必定会一直占用内存                  或者你可以考虑全

2017-02-23 23:34:08 260

原创 docker 容器

docker 安装 准备centos 7 系统,内核版本根官网介绍必须 大于3.10以上         安装具体参考官方文档        docker-hub上的镜像没有VPN访问不到  这里用到daocloud里面的镜像下载来玩玩        docker pull daocloud.io/library/python:3.4.1-onbuild        

2017-02-23 00:51:46 219

原创 redis 客户端超时时间

/* Check for timeouts. Returns non-zero if the client was terminated. * The function gets the current time in milliseconds as argument since * it gets called multiple times in a loop, so calling g

2016-12-16 23:12:48 7403

原创 codis集群相关

Codis是一个分布式redis集群解决方案,对于上层的应用来说, 连接到codis-proxy和连接原生的redis-server没有明显的区别。jiagou图示如下codis-redis 是基于开源redis修改了部分内容,完全兼容开源redis,分为多组主备 ,客户端都通过proxy连接进来 zk做负载均衡 分配slotcodis内部命令被封装成REST请

2016-11-16 22:20:35 364

转载 GDB调试相关命令

转载来源:http://www.jb51.net/article/36393.htmgdb是一个在UNIX环境下的命令行调试工具。如果需要使用gdb调试程序,请在gcc时加上-g选项。下面的命令部分是简化版,比如使用l代替list等等1.基本命令1)进入GDB  #gdb test  test是要调试的程序,由gcc test.c -g -o t

2016-10-22 14:50:23 239

原创 angluarJS 官方开发环境搭建 官方示例

angluarJS是谷歌一款开源的web前端开发框架,简单介绍开发环境和示例下载git 打开gitBashgit clone https://github.com/angular/angular-phonecat.git下载google官方示例需要准备的工具安装nodeJS npm bower http-servergit clone https://githu

2016-10-22 14:26:04 363

原创 C++ 线程基础

线程可以说是轻型的进程多线程共享进程的地址空间和资源使得线程的上下文切换优于进程由于线程共享资源就会有抢占资源的情况主要的手段有 互斥锁 ,条件变量 ,信号量等等简单回顾下C++ 多线程  #include pthread_create (thread,attr, start_routine, arg) 创建线程函数 #include #include #inc

2016-10-19 22:38:46 384

原创 定时任务crontab

find /var/log -name "test*.log" -mtime +7 -exec rm -rf {} \;2>/dev/null

2016-10-18 22:27:56 186

原创 awk读取文件里面的某个字段

#!/bin/bashtest=`awk '$1~/^wanglong$/{print $2}'  file.txt

2016-10-18 22:17:23 648

原创 cunit软件应用介绍

以前用过一款cppunit单元测试框架,现在介绍一款cunti框架https://sourceforge.net/projects/cutest/c的单元测试框架 我看到有两个 一个check 一个是cuTest看到 cuTest比较简单 大概介绍下主要的两个文件 CuTest.c  CuTest.h gcc AllTests.c CuTestTest.c CuTest.c

2016-10-18 21:48:07 768

原创 echo打印相关

shell里面的变量接受c函数的直接输出在stdout的数据并保存 如果数据是多行如何处理我们直接echo $var得到的只是一行数据这时候我们可以采用 echo "$var" 加个双引号就OK了 显示多行数据

2016-10-16 02:03:30 198

原创 redis 返回值类型 和 rername-command相关内容

在redis源码目录redis-3.2.2\deps\hiredis\hiredis.h 里面定义了redis命令的返回值类型#define REDIS_REPLY_STRING 1#define REDIS_REPLY_ARRAY 2#define REDIS_REPLY_INTEGER 3#define REDIS_REPLY_NIL 4#define REDIS_REPL

2016-10-16 01:32:02 1310

原创 shell脚本调用java jar包 的问题总结

最近遇到个问题很奇葩用shell调用java jar包 jar包是个简单的post请求 通过shell传入参数java -Xbootclasspath/p:path -jar youtest.jar  参数1 参数2Xbootclasspath 是预先加载的claspath路径本地手动运行脚本能够正常发送post请求但是添加crontab任务 定时运行的时候发现 jav

2016-10-07 15:18:55 5993

原创 shell 关于取得参数的问题

遇到一个问题 比如我只需要取的脚本传入的参数的从第二个开始的到后面的参数 怎么取$@是取的所有的参数 现在需要排除第1个参数刚开始想能不能用while循环把所有参数循环取出到新的变量 从第二个开始 这样就可以了#!/bin/bashnum1=$1num2=$2num3=$3num4=$4command=""for ((i=2;i<=$#;i++))do ec

2016-10-07 14:55:58 1453 1

原创 tcproxy 使用介绍

最近看到一个基于c语言开发的tcp代理开源项目 地址:https://github.com/dccmx/tcproxy        因为在现有的项目引用到 做下简单的记录        这里面主要是应用到了epoll 处理监听网络客户端,代理端口转发到本地服务,可以实现过滤黑名单,很小巧的程序       int main(int argc, char **argv) { int i, li

2016-08-28 13:17:57 1182 1

原创 node.js源码分析 <一>

node.js 无疑是近几年来很火爆到技术,特别是移动互联网的迅速发展 ,node.js的最大特点就是异步单线程 ,有很多优秀的开源框架 比如web 的express     结合谷歌V8引擎 加载js 实现和底层c代码直接交互,底层用到libuv 这里粗略的分析下node.js模块加载 和 底层事件循环     一、     node.cc      int Start

2016-08-26 22:18:17 1377

原创 cmake安装和使用简单介绍

cmake 对于工程相对盘大无疑是一个利器 cmake是跨平台的工具达到快速构建项目的目的  一、下载cmakesudo apt-get install cmake直接安装cmake -version二、开始编译cmake 不需要自己写makefile 通过 CMakeLists.txt 来自动生成makefile文件首先在目录下新建src和bin 文件 vim

2016-08-25 23:38:16 510

原创 ubuntu 下面 redis 安装和配置

redis.io 官方网站 有最新版本目前是更新到3.2.3      wget http://download.redis.io/releases/redis-2.8.17.tar.gz            1.下载完成 安装步骤很简单       tar -zxvf tar -zxf redis-2.8.17.tar.gz       解压到当前文件夹

2016-08-25 22:42:08 689

原创 awk相关操作(简单举例查询IP地址)

最近写的脚本比较多 在shell脚本中 经常会用到awk和sed         比如我们要获取网卡地址IP 和 端口输入ifconfig             然后看到 很多信息 我们要取得 ip地址         ifconfig | grep inet  先筛选 inet匹配的内容      结果如下            我们要选出 第三

2016-08-24 23:48:11 754

原创 记录redis相关

最近项目组用到redis做缓存 redis是开源的项目 支持多种客户端访问 提供c 、java、lua、python等多种客户端接口 redis作为NOsql中的一种,其性能十分强大,基于内存 key value 键值对 存储 支持多种数据类型 hash string set zset  ,这些数据类型都支持pop/push add/moveredis的集群搭建redis配置文件

2016-08-24 22:19:17 229

空空如也

空空如也

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

TA关注的人

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