- 博客(58)
- 资源 (8)
- 收藏
- 关注
原创 小趴趴--知乎精华回答的非专业大数据统计
入坑知乎三年有余,数月前灵光闪现,做个网页爬虫,专爬知乎下的精华回答,作统计分析。 以下,即是此项目的分析结果,希望能从另一个角度呈现出不一样的知乎。代码“talk is cheap, show me the code!” --屁话少说,放码过来。心急的朋友可以直接戳链接看源码,用的是Python3: https://github.com/SmileXie/zhihu_crawler算法简述1.
2016-02-16 17:04:01
2118
2
原创 javascript this指针的陷阱
function BackImg(jqObj) { …… this.init = function() { this.jqObj.dblclick(function() { this.slideUp(); }); }; …… this.slideUp = function() { this.jqObj.animate({top:'-250px'}); };}
2014-08-10 17:14:49
792
原创 多线程程序中,fork易导致死锁
fork creates a child process that differs from the parent process only in its PID and PPID, and in the fact that resource utilizations are set to 0. File locks and pending signals are not inherited.
2014-05-26 18:31:03
1293
转载 状态机编程
有限状态机FSM思想广泛应用于硬件控制电路设计,也是软件上常用的一种处理方法(软件上称为FMM--有限消息机)。它把复杂的控制逻辑分解成有限个稳定状态,在每个状态上判断事件,变连续处理为离散数字处理,符合计算机的工作特点。同时,因为有限状态机具有有限个状态,所以可以在实际的工程上实现。但这并不意味着其只能进行有限次的处理,相反,有限状态机是闭环系统,有限无穷,可以用有限的状态,处理无穷的事务
2014-04-02 12:21:39
676
原创 javascript中对象的销毁
ECMAScript有无用存储单元收集程序,意味着不必专门销毁对象来释放内存。当再没有对对象的引用时,该对象就被废除了。 运行无用存储单元收集程序时,所有废除的对象都会被销毁。每当函数执行完它的代码,无用存储单元收集程序都会运行,释放所有的局部变量,还有在一些其它不 可预知的情况下,无用存储单元收集程序也会运行。 把对象的所有引用都设置为null,可以强制性的废除对象。例如:
2013-10-04 10:42:41
21020
原创 ARP欺骗,骗你没商量
今天BOSS让我总结ARP欺骗的原理和防范策略,在这里把总结的结果贴出来吧。求人品,求速转正。ARP原理:在局域网内部,各主机之间以MAC地址作为标识通信对象的标志。然而,有时通信发起的主机并不知道目标主机的MAC地址,仅知道其IP地址。ARP协议就是将IP地址转换MAC地址的协议。主机A要向主机B发起通信,先本地的ARP缓存表,如果找到了B的IP地址对应的MAC地址,
2013-09-10 18:46:52
6226
原创 linux下重定向,把标准输出和错误输出一起同定向到文件
linux下重定向,把标准输出和错误输出一起同定向到文件例如,要执行test里的脚本,把脚本的执行结果(包括标准输出和错误输出)一起重定向到 outputshell代码如下:sh test 1>output 2>&1代码中的1表示标准输出,2表示错误输出。2>&1表示把错误输出重定向到标准输出
2013-09-06 12:52:32
2706
1
原创 神奇的container_of
container_of是linux内核中常用的一个宏,这个宏的功能是,根据某个结构体字段的指针,找到对应的结构体指针。这个宏的原理是结构体成员指针ptr,减去结构体成员与此结构体首地址的偏移量(这个偏移量由offsetof宏获得),就得出了结构体首地址。这个功能是由宏声明的第三行实现的。
2013-08-14 12:03:43
5031
转载 C语言中的typeof关键字
来源 http://module77.is-programmer.com/posts/22102.htmltypeof关键字是C语言中的一个新扩展。typeof的参数可以是两种形式:表达式或类型。下面是使用表达式的的例子: typeof(x[0](1)这里假设x是一个函数指针数组,这样就可以得到这个函数返回值的类型了。如果将typeof用于表达式,则该表达式不会执行。
2013-07-31 16:50:32
1256
转载 三层交换机报文转发流程
PC1 --------------------------------三层交换机-----------------------------------PC2 192.168.1.2 192.168.1.1 192.168.2.1 192.168.2.2 请描述:PC1 ping PC2的完整过程,含报文流程,以及PC1、PC2、交换机各自的行为。
2013-07-20 11:03:17
6627
原创 POSIX共享内存之shm_open oflag参数注意点
int shm_open(const char *name, int oflag, mode_t mode);shm_open的第二个参数oflag,可被设置为:O_RDONLY, O_RDWR, O_CREAT, O_EXCL, O_TRUNC注意其属性设置是针对所有将会访问到它的进程而言的,而不仅仅是针对开辟它的这一进程的。例如,一块共享内存,进程A创建它,
2013-05-04 17:49:32
1493
原创 html5下的鼠标滚轮事件
各家浏览器中的鼠标滚轮事件并未统一(主要是firefox比较另类),这给开发者造成了一点麻烦。所以,先判断当前浏览器是否是firefox:function isFireFoxFunc(){ var idx = navigator.userAgent.toLowerCase().indexOf("firefox"); return idx >= 0;}var isFir
2013-02-07 16:05:19
1642
2
转载 JavaScript中的值类型与引用类型
一、值类型和引用类型话题随着部分有大型面向对象语言基础朋友的介入,他们试着用JavaScript去模拟面像对象的各种特征,尽管有些模拟显得较为牵强,但也让我们见识到了JavaScript的强大与灵活性。本文暂不探讨JavaScript面向对象编程技术。就讲讲JavaScript中的两种变量类型:即值类型和引用类型,这通常又会让你联想到“堆栈”,另外还有“引用地址”或“指针”相关概念,有过J
2013-01-10 12:15:19
1275
原创 javascript下对结构体数组元素的操作
我主业是编写C/C++,今天发现一个细节,对javascript的数组操作不能按C语言下的习惯。假设一个结构体数组shapes = new Array();结构体这样定义。var shape = function( wh, radius, style, angle ) { this.radius = radius; thi
2013-01-07 23:16:50
8181
原创 html5实现随机圆形的加速运动
最近处于毕业到工作之间的gap month,终于有时间能学点自己喜欢的东西了。很早就想学html5了,希望不久以后能用canvas编出个游戏。以下代码是最近在学习html5中写的,是一个用canvas实现的动画,随机大小,随机位置的圆饼在屏幕上以随机的初速度和随机的加速度运动。当然,速度达到一定值后就保持恒定了。左下角有一个按钮,点击play即开始演示工程包括三个文件,一个ht
2013-01-03 21:16:10
2520
原创 基于Adaboost人脸检测的打地鼠游戏
我来卖萌了!人家打地鼠用锤,我用脸!美工很粗糙是吧?将就玩吧。基于Adaboost人脸检测算法编写,调用了OpenCV图像处理库。游戏演示戳这里:http://v.youku.com/v_show/id_XNDU4ODM5MTQ0.html
2012-10-14 19:06:29
1633
原创 OpenCV中,在图像上覆盖绘制另一幅图圆形图像
OpenCV中,在图像上绘制另一幅图像通常的作法是用cvSetImageROI + cvCopy,但是这种方式下,上层的那幅图像必须是矩形的。我在写程序中出现这样一个需求,要在一幅图像中绘制一个足球,上述方法是不能绘出圆形的足球的。我通过下下思路完成我的想法。1、构造一个白底的,仅有足球的图像。2、设置一个Mask,仅在足球的位置上为黑,其它位置为03、用cvCopy,把第三个
2012-10-06 13:38:55
6197
原创 SmileRef V2.0 发布
进一步解救纠结于论文参考文献编写的论文中,经过多日赶工,SmileRef V2.0版正式发布。SmileRef帮助您快速按照标准格式生成参考文献。下载地址:“发现杯”软件设计大奖赛下载点What's new:1、完善了参考文献类型:2.0版包括了期刊论文、学位论文和报告、书籍、报纸、论文集、论文集或书籍中析出的文献、专利、标准等八大类。2、修改了用户界面。3、弃用M
2012-07-31 20:11:06
1947
转载 vs2010英文版打包中文框架出错的解决办法
错误信息: Error 3 The install location for prerequisites has not been set to 'component vendor's web site' and the file 'DotNetFX40Client\dotNetFx40LP_Client_x86_x64zh-Hans.exe' in item 'Microsoft .NET Fr
2012-07-30 20:42:08
2339
转载 wordpress在IIS用404.php实现去掉index.php的源码
<?php// This is the default file for the site. Usually index.php$default = 'index.php';// The name of this file.// Set this value for the URL in Custom Error Properties of your website in IIS.//
2012-05-30 22:07:11
2230
原创 VC下utf8到UNICODE的编码转换
void utf8tow(wchar_t *pwstr,size_t len,const char *str){ if(str) { size_t nu = strlen(str); size_t n =(size_t)MultiByteToWideChar(CP_UTF8,0,( const char *)str,
2012-05-04 20:30:34
1620
原创 按一定的角度Z字形遍历一个矩阵
这段程序也是来源于工程,工程中需要我从矩阵的右上角开始,按指定的角度斜线遍历一个矩阵(也就是Z字形遍历),就像下图那样。比如这样一个矩阵0 1 2 34 5 6 78 9 10 1112 13 14 15按45度遍历输出的顺序就是:3 2 7 1 6 1
2012-04-26 21:13:22
2688
转载 Windows环境下使用WordPress固定链接出现index.php问题解决方法
WordPress开始作为一款blog程序让人熟知,随着其功能性不断加强,WordPress越来越多的使用在企业网站甚至是CMS上。通常情况下我 们更愿意使用LAPM环境搭建WordPress,但是由于国内Windows主机应用广泛,我们也常常会使用到Windows环境。WordPress 在使用了非默认状态的固定链接形式时,在网站的链接URL中, 就会出现index.php问题。下面说下解决
2012-04-22 11:25:13
3950
原创 TeeChart在VS2005,VS2008的入门教程
最近项目上要用到TeeChart来绘图,网络上关于TeeChart的资料很多,但是感觉很多都讲不到点上,很多入门过程中碰到的细节问题还是要自己探索。我把这两天的学到的记下来,也与大家分享。环境:VS2005,VS2008TeeChart版本: Pro V51、首先建立一个MFC工程,这个不详述了,笔者建立的是基于对话框的MFC,注意在建立工程过程中,在advanced
2012-04-20 18:50:15
16450
5
原创 零编程,MFC下在对话框中添加位图的方法
1、把图像导入资源中2、画一个pricture control控件3、把属性窗口中把TYPE改为Bitmap4、把image改为图像的ID号。
2012-03-08 22:07:52
1224
原创 Unicode下把32位int型的数据按int,uint,float,hex型显示
int data;wchar_t databuf[20];//获取dataif( strType == _T("hex") ){ _itow_s(data, dataBuf, 20, 16); _wcsupr_s(dataBuf, 20 );}else if( strType == _T("int") ){ _itow_s(data, dataBuf,
2012-03-08 22:06:47
1091
原创 窗口消息注意
CView类是覆盖在CMainframe类之上的,所有在界面上的操作的消息响应应该在CView类中添加消息响应函数。同样的道理。在CDialog中绘制了CListContol,CTreeCtrl等控件,在这些控件上的消息响应首先被CListContol,CTreeCtrl类捕获,也就是说要在CListContol,CTreeCtrl类中添加消息响应函数。
2012-02-28 15:13:20
466
原创 在CTreeCtrl控件建立完成之后,修改它的style
我们一般是在CTreeCtrl建立的时候,调用其create函数来设定树形控件的style的。但是,我们又常常在资源视图中,绘制一个树形控件,然后关联一个CTreeCtrl m_treeDsp成员变量。这种情况下,我们不能调用create函数来设定它的style(因为它已经建立了)。下面这种方法,可以在CTreeCtrl控件建立完成之后,修改它的style,以下程序推荐在OnI
2012-02-20 22:26:41
2134
原创 Unicode下char *转换为CString最简单的办法
使用宏USES_CONVERSION, A2T, A2W。例char * pFileName = "D:\\校内项目\\QQ.bmp";USES_CONVERSION;CString s = A2T(pFileName)//CString s = A2W(pFileName);
2012-02-15 16:09:35
758
转载 Shell命令特殊字符
Shell命令特殊字符:# 注释,& 以后台方式运行。如 find / -name "Linux" &‘ 取代命令字符。 ; 可用它将多个命令分隔开来,让命令依次执行。 > 重定向,把执行结果输入到一个文件中。若该文件已经存在,则原有内容会被充掉。如ls -l > aa.txt>>把招待结果附加到一个已存在的文件后面。| 创
2012-01-26 12:32:36
619
原创 linux下的文件链接
文件链接,ln [-s] sourcefile targetfile 加上-s为符号链接 ,符号链接下,targetfile相当于快捷方式文件,sourcefile为源文件 用ls -l来查看,会看到 targetfile->sourcefile 符号链接类似于win下的快捷方式链接有两种,一种被称为硬链接(Hard Link
2012-01-26 12:11:35
1308
原创 VC下相对路径相关编程提示
1、建议在程序初始化时(比如CDialog类在OnInitDialog函数中),把程序所在目录的路径存成char类型的类成员。示例程序: char exePath[300], Drive[5], Dir[300], FileName[80], Ext[10]; //获取exe完整路径(包含文件名) GetModuleFileName( NULL,
2011-12-19 22:18:23
1354
转载 CString与LPCWSTR、LPSTR、char*、LPWSTR等类型的转换
转自 http://www.cnblogs.com/carekee/articles/2270526.html 一.CString与LPCWSTR 两者的不同:LPCWSTR 是Unicode字符串指针,初始化时串有多大,申请空间就有多大,以后存贮若超过则出现无法预料的结果,这是它与CString的不同之处。而CString是一个串类,内存空间类会自动管理。CString转
2011-12-16 17:01:56
1108
原创 linux Makefile中的:=, =, ?=的区别
:= 是立即变量赋值,在定义时值已经被确定= 是延时变量赋值,只有在这个变量被使用时才展开,$(VAR)就是一种被使用 例VAR_A=abcd VAR_B=$(VAR_A) VAR_C:=$(VAR_A) VAR_A=cdef 此时,$(VAR_B) 为 cdef (跟随VAR_A变化)。 $(VAR_C) 为 abcd
2011-12-15 23:06:54
554
原创 SmileRef参考文献生成工具最新发布,v1.0上线
v1.0版本发布啦! 针对用户提出的意见和建议做了修正!参考文献格式与GB/T-7714-2005一致。李学长给我提出的关于会议论文的建议,我还没找到标准的格式,各文章中参考文献的格式有些差别,比如,论文名是否要带引号?用"in+会议名"的形式是否符合标准?中文的会议名该怎么办?我在GB/T-7714-2005中也还没看到关于它的标准,所以这点暂时还没有改。
2011-11-27 19:50:33
1924
原创 属性表单PropertySheet中,去除上一步,下一步,帮助,应用四个按钮,并调整窗口大小的办法
属性表单类中的OnInitDialog改为:BOOL CRefGenProSheet::OnInitDialog(){ BOOL bResult = CPropertySheet::OnInitDialog(); // TODO: Add your specialized code here GetDlgItem(IDOK)->ShowW
2011-11-27 18:46:57
3310
原创 拷贝CEdit控件中的内容
CEdit m_editResult//拷贝所有内容m_editResult.SetSel(0, -1);m_editResult.Copy();
2011-11-26 01:04:28
1011
原创 安装redhat时,出现“该光盘无法被挂载”的解决办法
redhat9 被分在三张光盘里,安装完一张后,会提示“请插入第2张光盘后再继续”。这时,在对应的虚拟机操作系统上点右键->setting,更改光盘镜像后,在redhat安装环境中点“确定”,出现了"该光盘无法被挂载"错误。这时,可以看到VM右下角的光盘图标变灰了,单击它,再connect,就OK了哈。这样一个小细节折腾我好久。
2011-11-26 01:03:40
8304
12
SmileRef参考文献生成工具v2.0
2012-07-31
html5高级程序设计(pro html5 Programming)配套源码
2011-08-10
ULN2003 资料
2009-09-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人