自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SkipList 跳表

为什么选择跳表目前经常使用的平衡数据结构有:B树,红黑树,AVL树,Splay Tree, Treep等。 想象一下,给你一张草稿纸,一只笔,一个编辑器,你能立即实现一颗红黑树,或者AVL树出来吗? 很难吧,这需要时间,要考虑很多细节,要参考一堆算法与数据结构之类的树,还要参考网上的代码,相当麻烦。 用跳表吧,跳表是一种随机化的数据结构,目前开源软件 Redis 和 ...

2015-03-24 14:44:59 234

原创 c++引用计数的本质

为什么要用引用计数?        场景:代码里X是一个非常重要的资源,模块A,B,C都有对其指针的引用,那么为了不出现内存泄露,常规的代码我们要怎么写?               1. A 模块用完X时,需要检查B,C是否还在引用X,如果B,C有一个在用,那么X只要删除掉对A的引用就可以了,                  如果B,C对A都已经没有引用了,那么A需要删除对X的引...

2015-03-24 14:26:23 345

原创 Java Decompiler project,java反编译器

The “Java Decompiler project” aims to develop tools in order to decompile and analyze Java 5 “byte code” and the later versions.JD-Core is a library that reconstructs Java source code from one or ...

2015-03-09 10:39:33 239

原创 reduce() 和 findContours()的使用陷阱

        之前学习OpenCV时是从于老师的书本教材开始的,所以一直使用的接串口就全是其于C的,但越使用越觉得C接口不其方便,再者使用C++应当是大的趋势所向,所以,又只好对相应的C++接口进行学习和使用,真心烦燥! 浪费了一些时间不说,关键是c++接口中的一些函数的使用和要求,与C的有些出入,按之前C的方法去使用,有时会出些莫名的问题,解决起来老费劲!        之前的笔记也记,...

2015-01-31 23:42:06 228

原创 MFC程序中打印调试信息

1、在要打印调试的类中加上头文件 #include <io.h>//Rain  用来输出调试信息#include <fcntl.h>//Rain 2、加入一个方法 void InitConsoleWindow()//Rain {int nCrt = 0;FILE* fp;AllocConsole();nCrt = _open...

2015-01-20 22:11:00 153

原创 召回率与准确率

最近一直在做相关推荐方面的研究与应用工作,召回率与准确率这两个概念偶尔会遇到,知道意思,但是有时候要很清晰地向同学介绍则有点转不过弯来。召回率和准确率是数据挖掘中预测、互联网中的搜索引擎等经常涉及的两个概念和指标。召回率:Recall,又称“查全率”——还是查全率好记,也更能体现其实质意义。准确率:Precision,又称“精度”、“正确率”。以检索为例,可以把搜索情况用下图表示: ...

2015-01-12 14:21:55 287

原创 opencv轮廓提取与轮廓拟合

#include <iostream>#include <vector>#include <opencv2/core/core.hpp>#include <opencv2/imgproc/imgproc.hpp>#include <opencv2/highgui/highgui.hpp>using namesp...

2015-01-05 09:55:45 1809

原创 PHP获取当前类名、函数名、方法名

 PHP获取当前类名、方法名__CLASS__           获取当前类名__FUNCTION__     当前函数名(confirm)__METHOD__        当前方法名 (bankcard::confirm) __FUNCTION__      函数名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该函数被定义时的名字(区分大小写)。在 PHP 4 中...

2014-12-15 12:43:47 365

原创 HTTP返回码中301与302的区别

支持向量机(Support Vector Machine)是Cortes和Vapnik于1995年首先提出的,它在解决小样本 、非线性及高维模式识别 中表现出许多特有的优势,并能够推广应用到函数拟合等其他机器学习问题中。支持向量机方法是建立在统计学习理论的VC 维理论和结构风险最小 原理基础上的,根据有限的样本信息在模型的复杂性(即对特定训练样本的学习精度,Accuracy)和学习能力(即无错...

2014-12-12 18:58:04 184

原创 MySQL大数据量分页SQL语句优化

分页程序原理很简单,这里就不多说了,本篇文章主要说的是在数据表记录量比较大的情况下,如何将分页SQL做到更优化,让MySQL执行的更快的方法。一般的情况下,我们的分页SQL语句是这样的:查看代码 打印1SELECT * FROM table ORDER BY id LIMIT 1000,10;以上SQL语句在原理上和在实际...

2014-12-11 18:36:43 175

原创 Linux下select, poll和epoll IO模型的详解

一).Epoll 介绍Epoll 可是当前在 Linux 下开发大规模并发网络程序的热门人选, Epoll 在 Linux2.6 内核中正式引入,和 select 相似,其实都 I/O 多路复用技术而已 ,并没有什么神秘的。其实在 Linux 下设计并发网络程序,向来不缺少方法,比如典型的 Apache 模型( Process Per Connection ,简称 PPC ), TPC ( ...

2014-12-06 22:00:47 126

c语言操作二进制文件fopen中fseek的注意事项

 今天在使用fopen的时候,遇到了fseek(fp,0,SEEK_END); 然后想在文件的头部修改信息,但是无论如何都无法修改,而只会在文件的最后append,最后发现了问题如下: FILE *fp = fopen(_db_file,"ab+);  的文件用ab+方式打开,a的意思就是追加,声明原内容不会变化。如果要修改原有内容,应该以rb+方式打开,这种方式,也...

2014-11-22 01:04:41 1044 1

原创 C++中delete和delete[]的区别

  一直对C++中的delete和delete[]的区别不甚了解,今天遇到了,上网查了一下,得出了结论。做个备份,以免丢失。    C++告诉我们在回收用 new 分配的单个对象的内存空间的时候用 delete,回收用 new[] 分配的一组对象的内存空间的时候用 delete[]。 关于 new[] 和 delete[],其中又分为两种情况:(1) 为基本数据类型分配和回收空间;(2) 为...

2014-11-21 23:41:27 113

原创 MySQL性能优化点

1. 为查询缓存优化你的 sql query大多数的MySQL服务器都开启了查询缓存。这是提高性最有效的方法之一,而且这是被MySQL的数据库引擎处理的。当有很多相同的查询被执行了多次的时候,这些查询结果会被放到一个缓存中,这样,后续的相同的查询就不用操作表而直接访问缓存结果了。这里最主要的问题是,对于程序员来说,这个事情是很容易被忽略的。因为,我们某些查...

2014-11-18 14:38:52 211

原创 五分钟理解一致性哈希算法(consistent hashing)

     一致性哈希算法在1997年由麻省理工学院提出的一种分布式哈希(DHT)实现算法,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了CARP使用的简 单哈希算法带来的问题,使得分布式哈希(DHT)可以在P2P环境中真正得到应用。      一致性hash算法提出了在动态变化的Cache环境中,判定哈希算法好坏的四个定义: ...

2014-11-16 18:51:53 105

原创 PHP按字符串长度分割成数组,支持中文

 /** * 将unicode字符串按传入长度分割成数组 * @param string $str 传入字符串 * @param integer $l 字符串长度 * @return mixed 数组或false */ function str_split_unicode($str, $l = 0) { if ($l > 0) {...

2014-11-13 15:08:27 911

原创 file_get_contents 增加超时的时间限制

在使用file_get_contents函数的时候,经常会出现超时的情况,在这里要通过查看一下错误提示,看看是哪种错误,比较常见的是读取超时,这种情况大家可以通过一些方法来尽量的避免或者解决。这里就简单介绍两种:一、增加超时的时间限制这里需要注意:set_time_limit只是设置 你的PHP程序的超时时间,而不是file_get_contents函数读取URL的超时时间。 我一开...

2014-10-10 11:46:09 265

原创 缺少streams.h的解决方法

这几天在学DirectShow的开发,一个streams.h头文件折腾了好几天才搞定。简单总结一下出现缺少streams.h的解决方法和DirectShow开发环境的搭建。开发包方面,我用的是Microsoft DirectX 9.0 SDK。streams.h这个头文件现在在%\DX9 SDK\Samples\C++\DirectShow\BaseClasses路径下,首先要把这个路...

2014-10-09 17:19:18 2618 1

原创 PHP执行cmd命令

本文介绍下,在php代码中执行cmd命令的方法,介绍下在php.ini文件中配置safe_mode参数支持命令执行的方法,有需要的朋友参考下。  说明:本节内容在wamp包安装的环境实现。 首先,打开php.ini,关掉安全模式safe_mode = off,然后在看看 禁用函数列表 disable_functions = proc_open, popen, exec, sy...

2014-09-26 10:40:16 421

原创 xampp1.74 apache不能正常运行的解决办法

升级到xampp1.74以后,apache不能正常运行,点击以后总是提示busy,查看log有如下提示:[Fri Jul 22 15:18:38 2011] [notice] Apache/2.2.17 (Win32) mod_ssl/2.2.17 OpenSSL/0.9.8o PHP/5.3.4 mod_perl/2.0.4 Perl/v5.10.1 configured -- resuming...

2014-09-25 17:56:16 136

原创 基于OpenCV的PHP图像人脸识别技术

  openCV是一个开源的用C/C++开发的计算机图形图像库,非常强大,研究资料很齐全。本文重点是介绍如何使用php来调用其中的局部的功能。人脸侦查技术只是openCV一个应用分支。    1.安装    从源代码编译成一个动态的so文件。    1.1.安装 OpenCV (OpenCV 1.0.0)    下载地址:http://sourceforge.net/projec...

2014-08-26 20:46:02 343

原创 C#如何以管理员身份运行程序

     在使用winform程序获取调用cmd命令提示符时,如果是win7以上的操作系统,会需要必须以管理员身份运行才会执行成功,否则无效果或提示错误。     比如在通过winform程序执行cmd命令时,某些情况下如果不是以管理员身份运行,则会提示命令无效。     或者通过winform程序执行Windows Service 服务时,也需要以管理员身份才能调用Service服务。...

2014-08-12 00:42:19 116

原创 openface 人脸识别开放平台

using System;using System.Collections.Generic;using System.Linq;using System.Text;using QSFaceSDK;namespace SDKTest{ class Program { public static string image_file_1 = "林志玲_1.jpg"...

2014-08-10 17:27:09 382

原创 C# winForm 将窗体状态栏 StatusStrip 示例(显示当前时间)

c# winForm 将窗体状态栏StatusStrip 分成左中右三部分 右边显示当前时间 实现效果: 通过StatusStrip显示窗体状态栏 同时将状态栏分成三部分 居左边显示相关文字信息 中间空白显示 居右边显示时间信息 1.创建窗体及添加StatusStrip   默认StatusStrip名称为statusStrip1 2.在statusStrip1的Items属性中   添加三个...

2014-08-03 18:10:11 400 1

原创 新中新二代身份证dll调用,报尝试读取或写入受保护的内存,这通常指示其他内存已损坏 这个错 ...

    新中新二代身份证dll调用问题: 调用这个dll时, 到这个方法: Syn_ReadMsg(nPort, 0, ref CardMsg),就报尝试读取或写入受保护的内存。这通常指示其他内存已损坏 这个错,CardMsg是IDCardData这个结构体,结构体定义如下: [StructLayout(LayoutKind.Sequential, CharSet = ...

2014-06-26 04:04:11 962

原创 IIS故障问题(Connections_Refused)分析及处理

这篇文章其实已经写好很久,只是后来一直没有重现当时的问题,或者因为业务的重要性、投诉的压力也就临时处理了。这几天某地市Web服务器连续多次出现这个问题,正好借这个案例来做个收尾。    前几个月有 台重要的Web服务器(Windows Server2003 + IIS6.0)出现客户端无法访问Web服务器上的站点,错误信息提示为"页面无法显示"的情况。登录服务器检查后发现IIS并未停止运行,...

2014-06-19 11:56:29 243

原创 【OpenCV学习笔记】2.3 OpenCV2.2摄像头读取视频的问题和解决(VS2010)

摄像头读取视频这一块研究了很长时间,终于弄好了。刚开始以为是代码的问题,因为一直编译不过,后来修改了一个小错误,编译通过,但是弹出来的窗口是灰色的没有图像。我“有问题找度娘”了一段时间,发现有不少同 僚也遇到了相似的问题,但是解决办法对于我这里都不甚有效。后来我排除了代码,配置和摄像头出问题的可能性。我的方法就是,一个一个试验。可能比较繁琐, 不太容易发现真正的问题所在,但是还挺有效果...

2014-06-18 16:38:43 351

原创 C# 4.0 并行计算部分 [转发]

沿用微软的写法,System.Threading.Tasks.::.Parallel类,提供对并行循环和区域的支持。 我们会用到的方法有For,ForEach,Invoke。一、简单使用        首先我们初始化一个List用于循环,这里我们循环10次。(后面的代码都会按这个标准进行循环)Code            Program .Data = new Lis...

2014-05-03 15:24:40 110

原创 使用ATL创建进程外组件

一、建立一个进程外组件1)打开菜单File|New,选择Projects标签,然后选择“ATL COM AppWizard”2)在Project name栏输入step02,单击ok按钮,在下一个窗口中的Server Type栏选择“Executable (Exe)”之后,单击Finish按钮然后插入对象(与创建进程内组件类似):3)打开菜单Insert|New ATL Object,在左边...

2014-03-24 22:39:07 377

原创 vector 转换成 数组 - [C++]

 参考: http://topic.csdn.net/t/20050429/20/3976956.html 不过那边是转载自《effective stl》。     std::vector很方便,但有时调用的函数的参数规定是数组,需要将vector转为数组,另外开辟一个空间,将vector一项项复制过去代价过大,可用下面的方法。 给定一个 vector...

2013-12-13 18:06:38 2741

原创 SQLite学习手册(数据类型)

一、存储种类和数据类型:    SQLite将数据值的存储划分为以下几种存储类型:     NULL: 表示该值为NULL值。     INTEGER: 无符号整型值。     REAL: 浮点值。     TEXT: 文本字符串,存储使用的编码方式为UTF-8、UTF-16BE、UTF-16LE。     BLOB: 存储Blob数据,该类型数据和输入数据完全相同。    由于SQLite采...

2013-12-11 14:54:11 102

原创 Crontab的格式

第1列分钟1~59 第2列小时1~23(0表示子夜) 第3列日1~31 第4列月1~12 第5列星期0~6(0表示星期天) 第6列要运行的命令下面是crontab的格式: 分 时 日 月 星期 要运行的命令这里有crontab文件条目的一些例子:30 21 * * * /usr/local/apache/bin/apachectl restart 上面的例子表示每晚的21:30...

2013-12-04 14:36:35 74

原创 Big Endian与Little Endian区别

Big Endian与Little Endian区别 1. 什么是Big Endian和Little Endian? 在设计计算机系统的时候,有两种处理内存中数据的方法。一种叫为little-endian,存放在内存中最低位的数值是来自数据的最右边部分(也就是数据的最低位部分)。比如一个16进制数字0x12345678,在内存存放的方式如下:        低地址 ---...

2013-11-01 11:52:27 154

原创 A small, easy to use Open Source Database Connection Pool Library

http://www.tildeslash.com/libzdb/#home  LibzdbVersion 2.12A small, easy to use Open Source Database Connection Pool Library with the following features:Thread safe Database Connectio...

2013-10-28 11:13:02 105

原创 xhprof 使用笔记

【作用】xhprof是facebook开源的一个php性能分析工具。 【安装】xhprof扩展的安装:wget   http://pecl.php.net/get/xhprof-0.9.2.tgztar zxf xhprof-0.9.2.tgzcd xhprof-0.9.2/extension/phpize./configure --with-php-con...

2013-10-21 20:21:00 198

原创 linux下kill进程

1. kill作用:根据进程号杀死进程用法: kill [信号代码] 进程ID举例:[root@localhost ~]# ps auxf |grep httpd注意:kill -9 来强制终止退出举例 [root@localhost ~]# ps aux |grep gaim或者 [root@localhost ~]# pgrep -l gaim 5031 g...

2013-10-17 17:49:46 130

原创 修改innodb_flush_log_at_trx_commit参数提升insert性能

最近,在一个系统的慢查询日志里发现有个insert操作很慢,达到秒级,并且是比较简单的SQL语句,把语句拿出来到mysql中直接执行,速度却很快。这种问题一般不是SQL语句本身的问题,而是在具体的应用环境中,由于并发等原因导致的。最可怀疑的地方就是在等待表级锁。加上监控的日志来看,很多SQL是在同一时间完成的,下面的第三列是结束时间,第四列是开始时间:14:27:30 bizId30...

2013-10-14 00:20:37 680

原创 PHP中获取星期的几种方法

PHP星期几获取代码:   1 date("l");  2 //data就可以获取英文的星期比如Sunday  3 date("w");  4 //这个可以获取数字星期比如123,注意0是星期日  获取中文星期几:  1 $weekarray=array("日","一","二","三","四","五","六&q

2013-09-17 12:02:37 97

原创 ref:Windows 上静态编译 Libevent 2.0.10 并实现一个简单 HTTP 服务器

  原文地址:http://www.s135.com/libevent_windows 本文介绍了如何在 Windows 操作系统中,利用微软 Visual Studio 2005 编译生成 Libevent 2.0.10 静态链接库,并利用 Libevent 静态链接库,实现一个简单的 HTTP Web服务器程序:httpd.exe。  假设 Visual Studio 200...

2013-09-09 00:21:54 125

原创 PHP中include()与require()的区别

1.引用文件方式      对include()来说,在include()执行时文件每次都要进行读取和评估;而对于require()来说,文件只处理一次(实际上,文件内容替换了require()语句)。这就意味着如果有包含这些指令之一的代码和可能执行多次的代码,则使用require()效率比较高。另一方面,如果每次执行代码时相读取不同的文件,或者有通过一组文件叠代的循环,就使用inclu...

2013-09-06 11:17:49 92

空空如也

空空如也

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

TA关注的人

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