自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 python 多进程并发与多线程并发总结

本文对Python支持的几种并发方式进行简单的总结。Python支持的并发分为多线程并发与多进程并发(异步IO本文不涉及)。概念上来说,多进程并发即运行多个独立的程序,优势在于并发处理的任务都由操作系统管理,不足之处在于程序与各进程之间的通信和数据共享不方便;多线程并发则由程序员管理并发处理的任务,这种并发方式可以方便地在线程间共享数据(前提是不能互斥)。Python对多线程和多进程的支持

2017-05-22 18:41:27 2646 1

转载 Python 列表解析

转载:http://www.jianshu.com/p/c635d3c798c2list是python中十分重要的一种数据结构,生成新的list是python程序员每天都会进行的工作,除了机械的使用for循环,append函数等方式来生成列表,还可以考虑使用更加pythonic的方式来的到列表一、什么是列表解析?简单来说,列表解析(list comprehension)提供

2017-05-15 23:33:30 715 2

转载 Python map的使用

Python函数式编程之map()Python中map()、filter()、reduce()这三个都是应用于序列的内置函数。 格式: map(func, seq1[, seq2,…]) 第一个参数接受一个函数名,后面的参数接受一个或多个可迭代的序列,返回的是一个集合。 Python函数编程中的map()函数是将func作用于seq中的每一个元素,并将所有的调用的结果作为一

2017-05-11 09:53:34 942

转载 git merge 和git rebase区别

前言相信大部分使用 Git 的朋友都会遇见相同的疑问,并且也从网上搜索了不少资料。那么,为什么我还要写这篇文章呢?因为我想尝试从自己的角度解释这个问题,如果能给到大家灵光一闪的感悟,便善莫大焉啦。估计点进来的朋友也对 merge 和 rebase 有了一定了解,所以我也就不浪费篇幅再去详细介绍 merge 和 rebase,让我们直入主题吧。merge 与 rebase 的区别

2017-05-11 09:52:04 549

转载 Python格式化字符串

在编写程序的过程中,经常需要进行格式化输出,每次用每次查。干脆就在这里整理一下,以便索引。格式化操作符(%)"%"是Python风格的字符串格式化操作符,非常类似C语言里的printf()函数的字符串格式化(C语言中也是使用%)。下面整理了一下Python中字符串格式化符合:格式化符号说明%c转换成字符

2017-05-10 13:16:11 415

转载 Python yield用法

您可能听说过,带有 yield 的函数在 Python 中被称之为 generator(生成器),何谓 generator ?我们先抛开 generator,以一个常见的编程题目来展示 yield 的概念。如何生成斐波那契數列斐波那契(Fibonacci)數列是一个非常简单的递归数列,除第一个和第二个数外,任意一个数都可由前两个数相加得到。用计算机程序输出斐波那契數列的前

2017-04-25 11:08:03 274

转载 idea使用方法

intellij idea初始化配置       好久没有在家里鼓捣代码了,今天算是良心发现.然后开始安装各种软件.其中就是遇到IntelliJ IDEA的安装..需要一些初始化的工作.做一个mark.以后就按照这个来把.慢慢添加新的. 1 修改对应的配置信息(缓存)地址       由于我家里的电脑C盘被我设置得超级小,然后Idea默认的各种系统配置,

2017-04-23 11:57:26 801

转载 Python assert 的使用方法

assert宏的原型定义在中,其作用是如果它的条件返回错误,则终止程序执行,原型定义:#include assert.h>void assert( int expression );  assert的作用是现计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息,然后通过调用 abort 来终止程序运行。请看下面的程序清单badpt

2017-04-21 17:16:03 1114

转载 Python格式化字符串的方法

Python字符串格式化的两种方式一、使用%%s 字符串%c 字符%d 十进制(整数)%i 整数%u 无符号整数%o 八进制整数%x 十六进制整数%X 十六进制整数大写%e 浮点数格式1 %E 浮点数格式2 %f 浮点数格式3 %g 浮点数格式4 %G

2017-04-21 11:28:10 307

转载 Python Flask的Request中断和errorHandler

概述在view函数中,如果需要中断request,可以使用abort(500)或者直接raise exception。当然我们还需要返回一个出错信息给前端,所以需要定制一下ErrorHandler。一般只需要两个个handler即可,一个是404错误,一个是500一类的服务器端错误。当然也可以自定义错误。代码清单下面是一份示例代码,main是一个蓝本或者app,发生404错

2017-04-21 09:38:34 3011

转载 Python单下划线和双下划线

Python 用下划线作为变量前缀和后缀指定特殊变量。_xxx 不能用'from moduleimport *'导入__xxx__ 系统定义名字__xxx 类中的私有变量名核心风格:避免用下划线作为变量名的开始。因为下划线对解释器有特殊的意义,而且是内建标识符所使用的符号,我们建议程序员避免用下划线作为变量名的开始。一般来讲,变量名_xx

2017-04-21 09:37:25 468

转载 Python @装饰器的介绍

简单的说,@装饰器就是用来提供调用的,def funA(arg): print 'A' a=arg()@funAdef funB(): print 'B'输出结果为 此处的@相当于funA(funB())。装饰器背后的主要动机源自python面向对象编程,装饰器是在函数调用之上的修饰,这些修饰仅是当声明一个函数或者方法的时候,才会

2017-04-20 17:33:30 372

转载 Python iterator和iterable

Python中 list,truple,str,dict这些都可以被迭代,但他们并不是迭代器。为什么?因为和迭代器相比有一个很大的不同,list/truple/map/dict这些数据的大小是确定的,也就是说有多少事可知的。但迭代器不是,迭代器不知道要执行多少次,所以可以理解为不知道有多少个元素,每调用一次next(),就会往下走一步,是惰性的。判断是不是可以迭代,用Iterabl

2017-04-20 17:13:50 307

转载 Python函数调用“传引用”还是”传值“

【结论】  结论:python不允许程序员选择采用传值还是传引用。Python参数传递采用的肯定是“传对象引用”的方式。这种方式相当于传值和传引用的一种综合。如果函数收到的是一个可变对象(比如字典或者列表)的引用,就能修改对象的原始值--相当于通过“传引用”来传递对象。如果函数收到的是一个不可变对象(比如数字、字符或者元组)的引用,就不能直接修改原始对象--相当于通过“传值'来传递对象。

2017-04-20 16:51:38 397

转载 Python 标准库简介concurrent.futures

1 模块简介concurrent.futures模块是在Python3.2中添加的。根据Python的官方文档,concurrent.futures模块提供给开发者一个执行异步调用的高级接口。concurrent.futures基本上就是在Python的threading和multiprocessing模块之上构建的抽象层,更易于使用。尽管这个抽象层简化了这些模块的使用,但是也降低了很多灵

2017-04-20 15:11:52 1238

原创 Python 使用import导入模块或者方法

模块是一个可以交互使用,或者从python程序访问的代码段。只要导入一个模块就可以使用这个模块的任何公共函数、类或者属性。python有三种导入模块的方法(1)【import modname】 使用这种方式相当于在当前导入的命名空间(namespace)里新建了一个modname的引用,所以在使用该模块的方法或属性时,必须加上模块名称,例如:modname.func()当存在方法存

2017-04-20 13:21:27 6183 1

转载 windows 安装docker

转载:http://www.linuxidc.com/Linux/2016-07/133506.htm放在三年前,你不认识Docker情有可原,但如果现在你还这么说,不好意思,只能说明你OUT了,行动起来吧骚年,很可能你们公司或者你即将要去的公司,或者你想去的公司很可能就会引入Docker,或者已经引入了Docker。1.Docker溯源  Docker的前身是名为

2017-04-01 10:47:02 1710

转载 windows安装docker

转载:http://blog.csdn.net/tina_ttl

2017-03-31 12:47:08 620

转载 go RPC服务过程

标准库的RPCRPC是远程调用的简称, 简单的说就是要像调用本地函数一样调用服务器的函数.Go语言的标准库已经提供了RPC框架和不同的RPC实现.下面是一个服务器的例子:type Echo intfunc (t *Echo) Hi(args string, reply *string) error { *reply = "echo:" + args

2016-08-08 23:37:13 4060

转载 socket通信过程

下图是基于TCP协议的客户端/服务器程序的一般流程:服务器调用socket()、bind()、listen()完成初始化后,调用accept()阻塞等待,处于监听端口的状态,客户端调用socket()初始化后,调用connect()发出SYN段并阻塞等待服务器应答,服务器应答一个SYN-ACK段,客户端收到后从connect()返回,同时应答一个ACK段,服务器收到后从ac

2016-08-07 16:00:27 1818 1

转载 C++变量的初始化顺序

C++编程语言应用范围非常广泛,而且应用方式灵活,在一定程度上提高了编程人员的开发效率。那么接下来,我们就可以通过以下对C++初始化列表的相关实现方法的掌握,来初步了解这一语言的应用技巧。先看下面这段程序#include  iostream> #include  vector> using namespace std;  class array  {  public:  array(i

2016-08-04 12:03:13 324

原创 C++初始化函数列表详细解析

C++可以定义引用类型的成员变量,引用类型的成员变量必须在构造函数的初始化列表中进行初始化在以下三种情况下需要使用初始化成员列表:一,需要初始化的数据成员是对象的情况;二,需要初始化const修饰的类成员;三,需要初始化引用成员数据;原因:C++可以定义引用类型的成员变量,引用类型的成员变量必须在构造函数的初始化列表中进行初始化。对于类成

2016-07-24 21:44:14 740 1

原创 欢迎使用CSDN-markdown编辑器

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2016-07-09 23:30:01 307 1

转载 常见HTTP请求错误

HTTP 400 - 请求无效HTTP 401.1 - 未授权:登录失败HTTP 401.2 - 未授权:服务器配置问题导致登录失败HTTP 401.3 - ACL 禁止访问资源HTTP 401.4 - 未授权:授权被筛选器拒绝HTTP 401.5 - 未授权:ISAPI 或 CGI 授权失败HTTP 403 - 禁止访问HTTP 403 - 对 Internet

2016-05-13 15:07:02 3254

转载 解释性和编译型语言的区别

编译型和解释型我们先看看编译型,其实它和汇编语言是一样的:也是有一个负责翻译的程序来对我们的源代码进行转换,生成相对应的可执行代码。这个过程说得 专业一点,就称为编译(Compile),而负责编译的程序自然就称为编译器(Compiler)。如果我们写的程序代码都包含在一个源文件中,那么通常 编译之后就会直接生成一个可执行文件,我们就可以直接运行了。但对于一个比较复杂的项目,为了方便管理

2016-04-17 20:33:25 1473 1

原创 模板类的实现语法

一、定义一个模板类声明templateclass Complex;templateComplex MySub(Complex a, Complex b);templateclass Complex{ friend Complex MySub(Complex a, Complex b); friend ostream& operator(ostream &out, const

2016-02-28 21:09:29 954

原创 指针数组 数组指针 数组名本质 二维数组名本质

【知识点总结】1.数组名表示数组的第一个元素的地址。2.&a(a是一个数组)是数组的地址。3.指针数组是一个数组,它的元素是指针。4.数组指针是一个指针,它指向一个数组。5.二维数组的元素是一维数组6.二维数组数组名的本质是一个指向一维数组的数组指针譬如:a[2][3] - -》那么a是二维数组首元素的地址,本质是 int(*ptr)[3

2016-01-10 23:29:12 606

原创 数组的首地址和数组的第一个元素的首地址和数组做函数参数的退化问题

1.数组的地址和数组首元素的地址是一样的。既然地址都是一样为什么还会有这样的问题呢?那么数组的地址指向的内存空间的类型是数组,而数组首元素的地址指向的内存空间的类型的首元素的类型。int main(){ int a[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; //&a地址获得的是数组这个变量的首地址,而a是数组第一个元素的地址 printf("

2016-01-09 23:01:44 1642

转载 C++文件读写详解(ofstream,ifstream,fstream)

在看C++编程思想中,每个练习基本都是使用ofstream,ifstream,fstream,以前粗略知道其用法和含义,在看了几位大牛的博文后,进行整理和总结:这里主要是讨论fstream的内容:[java] view plaincopyprint?#include   ofstream         //文件写

2015-12-01 15:51:00 302

转载 LBP方法

LBP(Local Binary Patterns,局部二值模式)是提取局部特征作为判别依据的。LBP方法显著的优点是对光照不敏感,但是依然没有解决姿态和表情的问题。不过相比于特征脸方法,LBP的识别率已经有了很大的提升。在[1]的文章里,有些人脸库的识别率已经达到了98%+。1、LBP特征提取最初的LBP是定义在像素3x3邻域内的,以邻域中心像素为阈值,将相邻的8个像

2015-11-24 11:17:42 734

原创 C++命名空间的使用

命名空间:People类:Student方法:printDemo();Student.h注意:#includeusing namespace std; namespace People{ class Student { private: int id; int age; public: Student(int id, int age); ~St

2015-11-05 10:04:38 445

转载 C++中的虚函数的底层机制

C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。关于虚函数的使用方法,我在这里不做过多的

2015-10-23 16:39:00 500 1

转载 C++ 虚函数与纯虚函数的区别

C++虚函数与纯虚函数用法与区别(转)1. 虚函数和纯虚函数可以定义在同一个类(class)中,含有纯虚函数的类被称为抽象类(abstract class),而只含有虚函数的类(class)不能被称为抽象类(abstract class)。  2. 虚函数可以被直接使用,也可以被子类(sub class)重载以后以多态的形式调用,而纯虚函数必须在子类(sub class)中实现该函数才

2015-10-23 14:52:32 321

转载 Opencv imread用法

imread是学OpenCV 的第一个函数了,一直都用默认的方式也就是cv::imread("图像名");但是在执行一个简单的图像锐化算法的时候输出图像总是输入图像的1/3,请教师兄后才知道是图像读入的问题。#include #include #include using namespace std;using namespace cv;void sharp

2015-10-20 18:19:44 14160 1

原创 ROC曲线

ROC曲线对于0,1两类分类问题,一些分类器得到的结果往往不是0,1这样的标签,如神经网络,得到诸如0.5,0,8这样的分类结果。这时,我们人为取一个阈值,比如0.4,那么小于0.4的为0类,大于等于0.4的为1类,可以得到一个分类结果。同样,这个阈值我们可以取0.1,0.2等等。取不同的阈值,得到的最后的分类情况也就不同。如下面这幅图: 蓝色表示原始为负类分类得到的统计图,红

2015-10-19 12:36:33 594

转载 TomCat配置

工具/原料1,JDK:版本为jdk-7-windows-i586.exe  下载地址http://www.oracle.com/technetwork/java/javase/downloads/index.html2,tomcat:版本为apache-tomcat-7.0.33-windows-x86.zip  下载地址http://tomcat.apache

2015-10-13 17:18:07 250

原创 C++ Virtual总结

虚函数表C++中的虚函数的实现一般是通过虚函数表(C++规范并没有规定具体用哪种方法,但大部分的编译器厂商都选择此方法)。类的虚函数表是一块连续的内存,每个内存单元中记录一个JMP指令的地址。注意的是,编译器会为每个有虚函数的类创建一个虚函数表,该虚函数表将被该类的所有对象共享。类的每个虚成员占据虚函数表中的一行。如果类中有N个虚函数,那么其虚函数表将有N*4字节的大小。

2015-10-11 17:26:15 349

转载 Java 中的final关键字

【java中为什么会有final变量】:    final这个关键字的含义是“这是无法改变的”或者“终态的”;    那么为什么要阻止改变呢?    java语言的发明者可能由于两个目的而阻止改变:    1).效率问题:        jdk中的某些类的某些方法,是不允许被用户覆盖的,设计者可能认为,所用方法已经是最好的方法,        用户私

2015-10-11 16:45:51 268

转载 聚类分析

每周一讲,其实早不是每周了,可见人要是能够做一件事情容易,坚持做就太难了,以后别自己给自己定目标,随心情多好!    话是这么说了,但还是沿用过去的方式来讲讲聚类分析Cluster Analysis吧!物以类聚,人以群分,聚类分析是一种重要的多变量统计方法,但记住其实它是一种数据分析方法,不能进行统计推断的。当然,聚类分析主要应用在市场细分等领域,我们也经常采用聚类分析技术来实现对抽样框的分层

2015-09-24 09:53:45 1246

转载 网络编程问题解决方案:查看进程占用了哪个端口号

在网络程序的调试过程中,经常发生一些出乎意料的事情,比如创建一个TCP服务失败,这时候往往需要查看系统的网络情况,最常用的网络抓包当然非WireShark模式。但往往很多时候只需要查看某个端口的使用情况,它到底被那个进程(对应PID)占用了,或者你还需要把它Kill掉。如果你在Windows操作系统,你可以使用netstat命令来查询PID,然后可以打开任务管理器,查看这个PID对应的进程名;如果

2015-09-22 08:43:55 383

空空如也

空空如也

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

TA关注的人

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