2007-10-23 Jamling
构造函数构建函数(Constructor)属于一种较特殊的方法类型,因为它没有返回值.这与void返回值存在着明显的区别。对于void返回值,尽管方法本身不会自动返回什么,但仍然可以让它返回另一些东西。构建器则不同,它不仅什么也不会自动返回,而且根本不能有任何选择.若创建一个没有构件器的类,则编译器会自动创建一个默认构件器. 继续阅读 »
2016-10-12 曹强
迭代器模式是指提供一种方法,顺序访问一个聚合对象中的各个元素,而又不需要暴露该对象的内部表示。迭代器模式可以把迭代的过程从业务逻辑中分离出来,在使用迭代器模式之后,即使不关心内部构造,也可以按顺序访问其中的每个元素。 jQuery中的迭代器 迭代器模式无非就是循环访问聚合对象中的各个元素。比如jQuery中的$.each函数,其中回调函数中的i为当前 索引,n为当前元素,代码如下 $.each([1, 2, 3], function(i, n) { console.log('当前坐标:' + i); console.log('当前值:' + n); }); 然而,作为一个合格的前端开发者,我们不应该只是会用,而 继续阅读 »
2016-10-12 曹强
this的指向大概可以分成四种: * 作为对象的方法调用 * 作为普通函数调用 * 构造器调用 * Function.prototype.call或Function.prototype.apply调用 1. 作为对象的时候,this指向该对象 var obj = { a: 1, getA: function() { alert(this === obj); //true; alert(this.a); //1 } }; obj.getA(); 2. 作为普通函数调用,this总是指向全局对象(在浏览器中就是window) window.name = 'global 继续阅读 »
2015-02-01 YongHao Hu
C++
因为要修复Wine的Bug,需要重新实现sprintf, 于是我研究了wine中printf跟sprinf的实现。 其实printf跟sprintf实现的关键无非就是可变参数,利用此就可以写出一个功能简单的printf. 我仔细研究了一下Wine里面的实现,发现printf跟sprintf的实现核心都用到了pfprintfa(就是根据参数%f,%d等转换的函数),不过重定向不一样。 printf是用到了write_concole, sprintf是复制到buf里面~ 实际上, printf这个我们常用的函数, 申请了内存, 用buf来存放输出的结果. 继续阅读 »
2016-06-07 Lu Huang
本节实现的是读取视频,并显示视频的每一帧以实现视频的播放。 创建摄像头对象,指向文件 逐帧显示实现视频播放 实现过程 引用 不再赘述,代码如下。 python import cv2 import numpy 创建视频对象 使用opencv自带的VideoCapture()函数定义摄像头对象,其参数0表示第一个摄像头,一般就是笔记本的内建摄像头。 python cap = cv2.VideoCapture("../test.avi") 逐帧显示实现视频播放 在while循环中,利用视频对象的read()函数读取视频的某帧,并显示,然后等待1个单位时间,如果期间检测到了键盘输入q,则退出,即关闭窗口。 pyt 继续阅读 »
2016-02-03 ruki
Bloom Filter是由Bloom在1970年提出的一种快速查找算法,通过多个hash算法来共同判断某个元素是否在某个集合内。可以用于网络爬虫的url重复过滤、垃圾邮件的过滤等等。 它相比hash容器的一个优势就是,不需要存储元素的实际数据到容器中去来一个个的比较是否存在。 只需要对应的位段来标记是否存在就行了,所以想当节省内存,特别适合海量的数据处理。并且由于省去了存储元素和比较操作,所以性能也比基于hash容器的高了很多。 但是由于bloom filter没有去比较元素,只通过多个hash来判断唯一性,所以存在一定的hash冲突导致误判。误判率的大小由hash函数的个数、hash函数优劣、以及存储的位空间大小共同决定。 继续阅读 »
2015-03-04 Mithrilwoodrat
ctypes是一个Python库,可以提供C中的数据类型,调用链接库中的函数. 1.加载动态链接库 使用cdll.LoadLibrary或者CDLL. ex CDLL("libc,so,6") 2.调用已加载库中的函数 继续阅读 »
2014-05-07 刘太华
PY有自己内建的工厂函数sorted用来排序, 它返回一个原地排序后的副本. 采用的是原地排序算法. 这个工厂函数的原型是: {}sort(cmp=None, key=None, reverse=None) {} 继续阅读 »
2007-08-31 Jamling
J2EE真不是个东西四之Servlet篇 more Servlet真不是个东西!这东西繁得YB啊!真不知道这东西有哪点好,但是看到的都称其为最好的一个CGI程序。自从遇到这鸟东西,就没有一天的好日子过。 星期一:看了看Servlet,真是晕死了,用它写个你好世界竟然要16K的半页代码!函数的参数真是又臭又长,一个doGet函数竟然还要写两行!可想而知,周一的日子会好过吗? 继续阅读 »
2016-06-10 Lu Huang
本节实现的是使用OpenCV里自带的函数,将两幅图片按照特定的比例融合 实现过程 引用与读取图片 不再赘述,代码如下。 ```python import cv2 import numpy img1 = cv2.imread('test1.png') img2 = cv2.imread('test2.png') ``` 融合图片 利用addWeighted()函数,将图片1的比例设置为0.6,图片2的0.4,如下: python mg_mix = cv2.addWeighted(img1, 0.6, img2, 0.4, 0) 显示图片 分别显示两幅原图和融合后的图片: ```python cv2.imsh 继续阅读 »