程序设计
Miner帆
关注数据挖掘,关注中文知识图谱……
展开
-
【HADOOP】hadoop streaming指定不执行reducer过程
有时候,我们只需要对文件做并发处理,并不关心相同key的记录间的关系。这时,只需要map函数处理输入数据。如果不指定reducer选项,系统仍然会默认执行一次cat命令。如何去了不必要的分桶排序操作呢?方法一:把mapred.reduce.tasks设置为零,Map/reduce框架就不会创建reducer任务,mapper任务的输出就是整个作业的最终输出。方法原创 2012-10-29 16:58:21 · 7057 阅读 · 0 评论 -
C++中,类的sizeof运算结果
#include using namespace std;#define SHOW_SIZE(t) cout << #t << " size: " << sizeof(t) << endl;class VoidClass{};class VirtualBase{public: virtual ~VirtualBase() {}};class DerivedA :原创 2013-07-31 07:28:06 · 1327 阅读 · 0 评论 -
【面试题】如何让C语言自动发现泄漏的内存
1. 题目改造malloc和free函数,使C语言能自动发现泄漏的内存,在程序退出时打印中遗漏的内存地址和大小。2. 思路用一个链表来记录已经分配的内存地址。在malloc时,把分配的内存地址和大小插入链表;在free时,找到链表中相应结点,删除该结点。程序退出时,打印出链表中的结点。上述思路有一个缺陷:删除结点时,需要遍历链表,如何才能变成常数时间能完成的操作?方原创 2013-08-02 17:02:13 · 1440 阅读 · 2 评论 -
linux svn命令大全
1、将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.1/pro/domain 简写:svn co 2、往版本库中添加新的文件 svn add file 例如:svn add test.php(添加test.php) svn add *.php(添加当转载 2013-08-02 16:02:56 · 906 阅读 · 0 评论 -
C语言强制类型转换
当C/C++进行强制类型转换时,会有两种方式:1. 保持内存中的内容不变,仅修改对这段内存的解释方式, 如int和char的互转2. 保持值不变(近似),但修改内存中的内容,如int和double的互转本文讨论了这两类转换的应用场景。原创 2013-07-24 12:03:09 · 3955 阅读 · 0 评论 -
【Python】python "TypeError: 'NoneType' object is not iterable"错误分析
定义了如下的函数def process(): value = calc_val() if condition(value): return True, value;原创 2013-08-13 19:31:48 · 127823 阅读 · 4 评论 -
【Python】Linux下python科学计算库的安装
scipy系列库有相当多的依赖,导致安装过程比较痛苦。要不停的去找依赖。发现一个小日本给出的安装过程:原载: http://memo.yomukaku.net/entries/jbRkQkq1. 安装Python 2.7.3 Python 2.7.3のインストール cd srcwget http://www.python.org/ftp/pytho翻译 2014-09-24 10:54:48 · 1953 阅读 · 0 评论 -
【C/C++】面试题:函数指针
前几天,一哥们在简历中声称自己“精通”C/C++。我用了两个小问题让他知难而退了:问题1:定义了一个类,类中有一个函数,想把这个函数赋值给一个函数指针应该注意什么?他的回答是:函数指针应该加类域。正确接下来再问,如果要赋值给一个没有类域的指针,应该怎么办?他说:不能那样赋值,编译器会报错。继续问:没有办法骗过编译器进行赋值吗?他没回答上来。虽然他最终没答上来原创 2013-08-20 11:28:31 · 1999 阅读 · 0 评论 -
python 输出格式控制符的含义
d Signed integer decimal. i Signed integer decimal. o Unsigned octal. (1) u Unsigned decimal. x Unsigned hexidecimal (lowercase). (2) X Unsigned hexidecimal (uppercase). (2转载 2013-08-19 09:36:37 · 2635 阅读 · 0 评论 -
【Shell】shell中执行一个字符串定义的语句
cmd="echo \"hello\ > out.rslt"$cmd 这样运行是得不到正确结果的。结果是:不输出到指定的out.rslt文件,而是在标准输出上显示"hello" > out.rslt需要改为cmd="echo \"hello\ > out.rslt"echo $cmd | sh原创 2012-12-10 16:39:07 · 1347 阅读 · 0 评论 -
【C/C++】类成员函数地址的获取及使用方法
#include using namespace std;class A{public:A() : a(910){};void foo1(int i) { cout << "hello, foo1" << endl;}void foo2(int i) { cout << "hello, foo2\t" << a << endl;}private:int a;};原创 2012-11-05 09:22:09 · 1580 阅读 · 0 评论 -
【C/C++】在一个类中重载另一个类的构造函数 ----构造函数是一个特殊的操作符
假设我们有两个类A,Bclass A{public: A(int n) : a(n){} void Print() {cout << a << endl;}private: int a; };class B{public: void SetVal(int a) {b = a;}private:原创 2012-12-13 13:15:33 · 1549 阅读 · 0 评论 -
【SVN】SVN运行错误 svn: SSL is not supported的解决办法
运行svn时,出现错误提示: svn: SSL is not supported原因是系统没有安装合适的SSL解决办法是:在安装SVN过程中,执行./configure时,加上参数 --with-ssl即 ./configure --with-sllmake install原创 2012-10-30 11:26:37 · 9533 阅读 · 0 评论 -
【HADOOP】hadoop恢复误删除文件
当文件被rm后,它会move到当前文件夹下的.Trash目录下如果你删除一个文件或目录多次,则hadoop会自动在name后加上数字序列号这样,如果你误删除后,就可以有选择的恢复文件了hadoop fs -mkdir /user/oplog/testhadoop fs -put *.txt /user/oplog/testhadoop fs -rmr /user/o转载 2012-10-22 10:21:15 · 1662 阅读 · 0 评论 -
【C/C++】如何利用char型数组buffer存放指针
由于内存规划限制,某数据结构中不能再增加新的指针,但该结构的char数组型buffer中存在一些可用空间。于是使用了如下方法保存回调函数指针和链表结构。先把代码放上来,有时间再补充文字介绍。#include #include #include #include using namespace std;#define ADD 1#define SUB 2#defi原创 2012-10-18 16:39:54 · 2302 阅读 · 0 评论 -
【HADOOP】hadoop streaming常用系统变量名称
HADOOP_HOME 计算节点上配置的Hadoop路径LD_LIBRARY_PATH 计算节点上加载库文件的路径列表PWD 当前工作目录dfs_block_size 当前设置的HDFS文件块大小map_input_file mapper正在处理的输入文件路径mapred_job_id 作业IDmapred_job_name 作业名mapred转载 2012-10-22 10:12:07 · 1045 阅读 · 0 评论 -
【SVN】Linux清理目录下的SVN信息
要将目录下的SVN信息清理掉,使目录变成一个没有版本信息的干净目录。可以用如下方法:find . -type d -name ".svn"|xargs rm -rf 或者 find . -type d -iname ".svn" -exec rm -rf {} \;转载 2012-11-01 09:18:51 · 1284 阅读 · 0 评论 -
awk常用字符串处理函数
gsub(regexp, replacement [, target])Search target for all of the longest, leftmost, nonoverlapping matching substrings it can find and replace them with replacement. The ‘g’ in gsub() stands for “gl转载 2012-11-29 15:17:42 · 2206 阅读 · 1 评论 -
【Shell】shell中执行字符串定义的命令
cmd="echo \"hello\ > out.rslt"$cmd 这样运行是得不到正确结果的。结果是:不重新到指定的out.rslt文件,而是在标准输出上显示"hello" > 1.err需要改为cmd="echo \"hello\ > out.rslt"echo $cmd | sh原创 2012-12-10 16:40:35 · 1933 阅读 · 0 评论 -
【C/C++】boost regex正则表达式的安装及使用
一、安装1. 下载在 官网http://www.boost.org/ 上可以找到最新的boost库2. 安装1)使用管理员权限,运行:sudo ./bootstrap.sh生成bjam文件2)sudo ./bjam3)update动态链接库: sudo /sbin/ldconfig即完成安装二、使用1. 需要的头文件#include原创 2012-12-10 21:44:50 · 1123 阅读 · 0 评论 -
【Shell】shell中的if语句判断参数
-b 当file存在并且是块文件时返回真 -c 当file存在并且是字符文件时返回真 -d 当pathname存在并且是一个目录时返回真 -e 当pathname指定的文件或目录存在时返回真 -f 当file存在并且是正规文件时返回真 -g 当由pathname指定的文件或目录存在并且设置了SGID位时返回为真 -h转载 2012-11-05 09:03:11 · 1733 阅读 · 0 评论 -
python赋值机制
python的赋值(拷贝)分为两种,浅拷贝和深拷贝。 浅拷贝可以理解为传引用, 不开辟新的内存空间,只是取个别名而已;深拷贝可以理解为传值,需要新的内存空间。在python中,用 "="赋值和函数传参,都是浅拷贝。如:>>> class A:... pass...>>> a = A()>>> a.k = 1>>> b = a>>> b.k1>>>原创 2013-08-14 19:45:31 · 1292 阅读 · 0 评论