自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(68)
  • 资源 (2)
  • 收藏
  • 关注

原创 bazel cc_library 链接已经编好的动态库

bazel cc_library 链接已经编好的动态库,必须指定版本号,比如 srcs = ["deps/thrift-0.9.2/lib/libthrift-0.9.2.so",],必须这么写,不能直接srcs = ["deps/thrift-0.9.2/lib/libthrift.so",],即使libthrift-0.9.2.so和libthrift.so一模一样,md5都一样也不行,...

2019-08-09 11:52:44 3752

转载 [转]逻辑回归代价函数及其梯度下降公式

前言在上一篇随笔里,我们讲了Logistic回归cost函数的推导过程。接下来的算法求解使用如下的cost函数形式:简单回顾一下几个变量的含义:表1 cost函数解释x(i)每个样本数据点在某一个特征上的值,即特征向量x的某个值y(i)每个样本数据的所属类别标签m样本数据点的个数hθ(x)样本数据的概率密度函数,即某个数据属于1类(二分类问题)的概率J(θ)代价函数,估计样本属于某类的风险程度,越...

2018-07-08 17:43:26 320

原创 effective c++ 28 避免返回handles(引用,指针,迭代器)指向对象内部成分

原则:避免返回handles指向对象内部,该条款可增加封装性,帮助const成员函数的行为像个const,并将发生“虚吊号码牌”的可能性降到最低。如下即产生空悬class Rectangle {public:const Point& upperLeft() const {return pData->ulhc;}}const Rectangle boundingBox(co...

2018-05-24 23:17:48 350

原创 effective c++26 尽量延后变量定义出现的时间

原则:尽量延后变量定义出现的时间,最好直到可以初始化变量值时才定义,以避免不必要的构造函数,可提高程序的效率和清晰度;对于循环中使用的情况,如下两种情况A 方法:Weight w;for (int i=0; i<count; i++) {...w=i;..}B 方法:for(int i=0; i<count; i++) {...Weight w(i);...}除...

2018-05-13 16:59:46 179

原创 effective c++22 将成员变量设计为private

原则:切记将成员变量设计为private,这可以赋予调用方数据的一致性,可细微划分访问控制,约束条件等,而且对于class本身提供了做够的弹性可修改,具有很高的封装性;另外,protected并不比public的封装性好,public会破坏自身的封装性,一旦public成员修改可能引起很多调用方的代码修改。但protected成员并没有好多少,因为protected影响的是所有继承类,一旦父类pr...

2018-05-13 16:07:41 197

原创 effective c++21 必须返回对象时,不要妄想返回reference

原则:绝不要返回一个point*或者reference指向一个local stack对象,或者返回reference指向一个heap-allocated对象,或者返回point*或reference指向一个stack local对象,而该对象又有可能同时使用,这些情况都是不允许的;尽管reference很高效,但在确实需要返回对象时就返回对象本身。...

2018-05-13 15:56:38 153

原创 effective c++20 尽量以传引用代替传参,pass-by-reference-to-const 代替pass-by-value

原则:尽量以pass-by-reference-to-const 替换pass-by-value,前者通常情况效率更好,并且可以避免切割问题;但该原则并不适用stl的迭代器,函数对象以及内置类型,对于这些一般传值效率更高,对于自己定义的类型通常选用传引用较为高效。传引用较传值的好处主要有如下:1、传引用可以避免所有的构造和析构函数,极大的提高效率,传值会创建临时对象,调用构造,析构函数;2、可以避...

2018-05-13 15:32:38 227

原创 effective c++17 以独立的语句讲newed对象置于智能指针中

原则:以独立语句将newed对象置于智能指针中,如果不这样做,一旦异常抛出,有可能造成内存泄漏而不易察觉。如下代码process(std::shared_ptr<Widge>(new Widge()),priority());编译器执行顺序有可能是:1、new Widge();2、priority();3、调用shared_ptr构造函数最终调用process,在此过程中,如果2 pr...

2018-05-13 13:44:23 126

原创 effective c++ 16 成对使用new,delete时要采取相同的操作

原则:使用数组形式new出来的对象,必须使用delete[]形式销毁,需要告知delete有多个对象需要析构,否则只有delete只会销毁首个,带来未知错误,同理如果时非数组形式new出来的,则不可用delete的形式销毁,否则会销毁其他位置的对象,带来不可预知的风险。...

2018-05-13 11:50:32 136

原创 effective c++ 14 在资源管理类中谨慎小心copy行为

原则:自己创建资源管理类时需要谨慎考虑copy行为,保持如下几个原则:1、禁止复制,将coping操作定义为private;2、采用引用计数法,类似shared_ptr,当引用计数变为0时,删除指针所指的对象,特别说明的时,对于shared_ptr指针有特殊的功能是可以制定删除器,来制定计数变为0时进行的操作,该删除器为第二参数,可有可无,如如下代码(unlock)class Lock{publ...

2018-05-13 11:05:52 230

原创 effective c++ 13 使用对象管理资源

原则 为防止资源泄露,多使用对象管理资源,他们在构造函数中得到资源在析构函数中释放资源,依赖析构函数,特别对于工厂方法等获得等对象指针如下:Object * createInstance(){...return * obj}对于这种为加工等裸指针,很容易造成资源泄漏,一种对象管理资源等方式是用智能指针来包装对象,如shared_ptr,auto_ptrshared_ptr可以复制,通过计数方...

2018-05-09 22:33:17 136

原创 effective c++ 12 复制对象时不要忘了每一个成员

原则1、当增加或删减了类的成员时,一定记得同步修改复制构造函数和复制操作符函数,同时其他构造函数和任何非标准的operator=函数;原则2、当实现派生类当复制构造函数和operator=函数时,一定记得调用基类当构造函数和operator=函数class Customer {public:...private:std::string name;}class PriorityCust...

2018-05-06 22:32:02 125

原创 effective c++ 10 令operator=返回一个reference to * this

 原则 对于赋值操作符(=,+=)这些最好要遵循这个协议,最终返回一个左值的引用int x,y,z;x=y=z=15如上赋值连锁形式,实际上是x=(y=(z=15))所以如果要保留这种连续赋值,需要赋值完成后返回左值的一个引用,如下Object & operator=(const Object & obj){...赋值操作return *this;}...

2018-05-05 18:30:47 139

原创 effective c++ 09 不要在构造函数和析构函数中调用virtual函数

原则 不要在构造函数和析构函数中调用virtual函数很直接,如果该类作为基类,在构造函数就调用类virtual函数,那么派生类在构造时首先会调用基类的构造函数,基类调用virtual函数此时都没有构造出来,而且即使virtual本来就有定义,也会造成用户不能理解的行为错误,因此不要在构造函数和析构函数中调用virtual函数...

2018-05-05 18:22:23 116

原创 effective c++07 为多态基类声明virtual析构函数

原则,只要类需要被用作基类,即类中有virtual函数,就将基类析构函数设为virtual,如果类不是基类或者不具备多态性时就不用声明virtual析构函数!如果派生类中有独有的成员时,如果基类的析构函数函数不是virtual,在多态析构时,只会把基类的部分给析构掉,而不会析构派生类的成员,造成资源泄露但不意味着所有但类但析构函数都virtual才安全,事实如果类不作为基类,那么将析构声明为vir...

2018-05-05 18:00:27 111

转载 windows编译xgboost-python,不用vs编译

stackoverflow上看到的,是我所看到最方便的方式。原文:http://stackoverflow.com/questions/33749735/how-to-install-xgboost-package-in-python-windows-platformSo here's what I did to finish a 64-bit build on W

2016-12-26 22:52:45 1102

原创 C中内存分布,以及优化

首先看如下代码:#include struct mybitfields{ unsigned short a : 4; unsigned short b : 5; unsigned short c : 7;} test; void main(void){ int i; test.a = 2; test.b = 16; test.

2015-09-08 21:04:27 784

转载 TCP 连接状态图

tcp状态:LISTEN:侦听来自远方的TCP端口的连接请求SYN-SENT:再发送连接请求后等待匹配的连接请求SYN-RECEIVED:再收到和发送一个连接请求后等待对方对连接请求的确认ESTABLISHED:代表一个打开的连接FIN-WAIT-1:等待远程TCP连接中断请求,或先前的连接中断请求的确认FIN-WAIT-2:从远程TCP等待连接

2015-09-08 14:53:23 674

原创 C++中,虚函数,引用指针,拷贝复制等知识点总结

1、父类指针,引用子类对象是,指针调用的成员,如果是非虚函数,则调用的是父类的成员函数(即使在子类中有同名函数),普通成员函数;如果是虚函数,则调用子类中函数,在虚函数表中被子类覆盖了;父类指针只能调用父类中存在的成员,如果调用只在子类中存在的成员会失败(尽管指向的对象是子类对象);2、虚函数在默认实参时,参数值是在编译时确定的。如果通过父类指针调用虚函数,虚函数参数为父类版本,调用的函数实体

2015-09-06 17:13:48 1123

原创 关于C++中父类指针引用对象在内存中的分布

通过程序,这是我自己的理解,如果不对,麻烦帮忙指出来程序1#include using namespace std;class ClassA{public: virtual ~ ClassA(){}; virtual void FunctionA(){}; int a; int b;};class ClassB: public ClassA{publi

2015-09-05 22:18:13 571

原创 结构体内存大小总结

#include typedef union { long i; int k[5]; char c;} DATE;struct data0 { int cat; DATE cow; double dog;} too;struct data1{ char a; double c; int b; };struct data2

2015-09-02 10:03:40 980

转载 KMP算法求next数组和nextval数组的简单方法

next数组的求解方法是:intget_nextval(SStringT,int&nextval[ ]){ //求模式串T的next函数修正值并存入数组nextval。 i=1; nextval[1]=0; j=0; while(iif(j==0||T[i]==T[j]){ ++i;++j; if (T

2015-08-26 16:02:39 3313

转载 机器学习中的算法-决策树模型组合之随机森林与GBDT

文章出处:http://www.cnblogs.com/LeftNotEasy/决策树这种算法有着很多良好的特性,比如说训练时间复杂度较低,预测的过程比较快速,模型容易展示(容易将得到的决策树做成图片展示出来)等。但是同时,单决策树又有一些不好的地方,比如说容易over-fitting,虽然有一些方法,如剪枝可以减少这种情况,但是还是不够的。    模型组合(比如说有Boostin

2015-07-07 21:35:53 570

转载 机器学习中的数学-模型组合(Model Combining)之Boosting与Gradient Boosting

文章出处:http://leftnoteasy.cnblogs.com。关于机器学习的博文都很不错Boosting方法:    Boosting这其实思想相当的简单,大概是,对一份数据,建立M个模型(比如分类),一般这种模型比较简单,称为弱分类器(weak learner)每次分类都将上一次分错的数据权重提高一点再进行分类,这样最终得到的分类器在测试数据与训练数据上都可以得到比较好

2015-07-07 21:32:45 1050

转载 机器学习实战之决策树(1)---ID3算法与信息熵,基尼不纯度

机器学习实战之决策树(1)---ID3算法与信息熵,基尼不纯度2014-12-2阅读552 评论0(1)关于ID3算法百度文库有一篇十分详细的文章,介绍看一个例子,给出了具体的计算过程。文章链接:http://wenku.baidu.com/view/7933c2f6f61fb7360b4c65fd.html这是最后的决策树的形状,来源是百[原]机器

2015-07-07 16:10:26 2240

转载 机器学习有很多关于核函数的说法,什么是核函数?核函数的作用是什么?

转自知乎详细的公式什么的,网络上搜索kernel function, kernel methods 有很多,我就不仔细说了,简单地说说背后的intuition。intuition也很简单,比如我们有一个一维的数据分布是如下图的样子,你想把它用一个直线来分开,你发现是不可能的,因为他们是间隔的。所以不论你画在哪,比如绿色竖线,都不可能把两个类分开。但是我们使用一个简单的升

2015-07-03 15:09:43 2559 1

转载 python 中 常用到的 numpy 函数 整理

1. 创建二维数组  array()   :set = array([[1., 2, ],[3., 4.],[5., 6.],[7., 9.]])求 数组的 行数:>>> set.shape[0]4求 数组的列数:>>> set.shape[1]>>> set.shape(4, 2)>>> set.dtyp

2015-06-28 09:58:46 534

原创 .c和.cpp文件的区别

今天在封装库时,分别用了两种后缀的源文件封装。结果发现两者编译后不一样,甚至影响了接口的使用,就简单的总结下,不完整后续在添加。1.gcc认为.c的为C程序,.cpp的为C++程序;2.g++认为.c的为C++程序,.cpp的为C++程序;3.VC++的编译器cl认为.c的为C程序,.cpp的为C++程序;4.在编译源文件时,C编译器和C++编译器都会对符号(函数或变量)名作某些修

2015-03-18 13:08:02 1978

原创 SAE+wordpress邮箱问题,WP MAIL STMP插件配置但无效解决办法

我在SAE上面部署的WordPress是3.9版本的,而非SAE应用商店里WordPress

2014-10-29 12:23:39 1918

原创 豆瓣电影搜索爬虫程序,爬虫小程序,适合初学者

最近在学python,之前用Python写过简单的图片爬取,今天想着用python爬一下豆瓣的电影,就有了下面的程序:#coding:utf-8import reimport sysimport urllibfrom bs4 import BeautifulSoupdef movieSearch(): douBanSearchurl = "http://movie.douban.c

2014-10-28 21:50:59 2443

转载 简单调试 Python 程序

在 Python 中也可以像 gcc/gdb 那样调试程序,只要在运行 Python 程序时引入 pdb 模块(假设要调试的程序名为 d.py):$ vi d.py#!/usr/bin/pythondef main(): i, sum = 1, 0 for i in xrange(100): sum = sum + i

2014-10-26 19:53:06 477

转载 Python正则表达式指南

本文介绍了Python对于正则表达式的支持,包括正则表达式基础以及Python正则表达式标准库的完整介绍及使用示例。本文的内容不包括如何编写高效的正则表达式、如何优化正则表达式,这些主题请查看其他教程。注意:本文基于Python2.4完成;如果看到不明白的词汇请记得百度谷歌或维基,whatever。尊重作者的劳动,转载请注明作者及原文地址 >.html1. 正则表达式基础

2014-10-21 21:39:47 548

原创 64位win7系统下面安装pyOpenSSL一直报错找不到openssl/aes.h解决方法

最近想装一个scrapy玩下爬虫,虚拟机Linux下面倒是很好安装,但在windows下要安装

2014-10-21 19:52:11 6192

转载 python Scrapy 框架做爬虫 ——很好的教程

写在前面:因为网络上关于Scrapy的使用经验已经非常多,本文无意重复或复制,只做思路导引和资源索引之用。如果你一头扎进来正毫无头绪,那么恭喜你,你找到了路标!非常感谢Young-hz所写的Scrapy框架探索系列博客,在这里主要引用了他的博客链接。一,初识爬虫因为一个兴趣项目,需要爬取网上的数据,因而接触学习了网络爬虫。爬虫的思路非常清晰:按照

2014-10-21 14:32:28 1292

原创 Lubuntu14.04(Ubuntu)安装爬虫框架Scrapy

Scrapy,Python开发的一个快速,高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结 Scrapy Pthyon爬虫框架 logo[1]构化的数据。Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试。Scrapy吸引人的地方在于它是一个框架,任何人都可以根据需求方便的修改。它也提供了多种类型爬虫的基类,如BaseSpider、sitemap爬虫等,最新版本又提供了w

2014-10-20 20:22:23 1005

转载 Python Version 2.7 required which was not found in the registry

安装setuptools的时候,不能再注册表中识别出来python2.7在网上找了方法,仅作笔记,供下次使用 方法: 新建一个register.py 文件,把一下代码贴进去,保存(G盘) 按 Ctrl+C 复制代码安装setuptools的时候,不能再注册表中识别出来python2.7在网上找了方法,仅作笔记,供下次使用

2014-10-18 19:44:36 643

原创 gcc下fflush(stdin)失效

今天编译一程序涉及到了键盘缓冲区的清除问题,在VC下完全没问题的代码却不能在gcc下运行成功,作此笔记以留念: VC下代码: #include void main() {         float a,b;         int tag=0;         char ch;         float result;         printf(

2014-08-19 12:17:21 2552

原创 在MFC中类内部建立线程处理函数以便调用类的成员函数和变量

在用MFC做开发时,有时遇到些工作线程zhong

2014-08-17 19:33:37 4657 2

原创 VS 2010下 LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏,终极解决办法

VS2010在经历一些更新后,建立Win32 Console Project时会出“error LNK1123” 错误,解决方案为将 项目|项目属性|配置属性|清单工具|输入和输出|嵌入清单 “是”改为“否”即可,但是没新建一个项目都要这样设置一次。在建立VS2010 Win32 Project项目时,按照上面解决方案依然发生了“error LNK1123”错误,经过上网查资料,解决方案为:

2014-08-17 19:19:48 607

原创 hadoop2.4.1集群环境搭建

本文(亲测实录)主要列出在安装hadoop 2.4.1过程中各个文件配置情况,其他步骤请参考网络其他资源进行操作1、JDK安装和SSH互信(略过)2、各节点IP和hostname如下(各节点需配置)[hadoop@master ~]$ cat /etc/hosts127.0.0.1       localhost100.12.56.221   slave-1100.12.5

2014-08-17 16:24:05 892

linux高级程序设计源码

杨宗德,linux高级程序设计第二版的源码实例,很全面,实用高效

2011-11-05

空空如也

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

TA关注的人

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