并行编程MPI/Openmp/分布式/云计算、hadoop
文章平均质量分 70
beck_zhou
互联网搜索引擎技术研发(自然语言处理、机器学习、数据挖掘、个性化推荐、大数据等算法方向);
移动互联网产品经理
展开
-
【转帖】常见的几个Qt编程问题的处理
1、如果在窗体关闭前自行判断是否可关闭答:重新实现这个窗体的closeEvent()函数,加入判断操作Quote:void MainWindow::closeEvent(QCloseEvent *event){ if (maybeSave()) { writeSettings(); event->accept();转载 2010-01-14 09:59:00 · 1304 阅读 · 0 评论 -
硬盘分区调整软件AcronisDiskDirector10
<br />AcronisDiskDirector10是一套强大的硬盘管理工具,它可以分区管理和在不损失资料的情况下对现有硬盘进行重新分区或优化调整,可以对损坏或删除的分区中的数据进行修复。除此之外,软件还是一个不错的引导管理程序,用它你可以轻松的实现多操作系统的安装和引导 。<br /> <br />http://www.codepub.com/software/AcronisDiskDirector-18168.html<br /> <br /><br />1、安装:双击安装文件,进入安装界面以后选择第原创 2010-09-17 16:48:00 · 2279 阅读 · 0 评论 -
uuid/guid 通用唯一识别码 (Universally Unique Identifier)
<br />UUID含义是通用唯一识别码 (Universally Unique Identifier),这 是一个软件建构的标准,也是被开源软件基金会 (Open Software Foundation, OSF) 的组织在分布式计算环境 (Distributed Computing Environment, DCE) 领域的一部份。<br /> <br />UUID是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。通常平台会提供生成的API。按照开放软件基金会(OSF)制定的标准计算原创 2011-01-21 13:16:00 · 8245 阅读 · 3 评论 -
转载OpenMP的几篇文章
<br /><br />OpenMP程序设计的两个小技巧<br />http://blog.csdn.net/drzhouweiming/archive/2008/05/23/2472454.aspx <br /><br /><br />1、动态设置并行循环的线程数量<br />在实际情况中,程序可能运行在不同的机器环境里,有些机器是双核,有些机器是4核甚至更多核。并且未来硬件存在升级的可能,CPU核数会变得越来越多。如何根据机器硬件的不同来自动设置合适的线程数量就显得很重要了,否则硬件升级后程序就得进行修转载 2011-02-12 11:24:00 · 1929 阅读 · 0 评论 -
【转】几种C/C++开发的开源搜索引擎
(1)CLuceneCLucene是Lucene的一个C++端口,Lucene是一个基于java的高性能的全文搜索引擎。CLucene因为使用C++编写,所以理论上要比lucene快。项目主页: http://clucene.wiki.sourceforge.net/(2)XapianXapian是一个用C++编写的全文检索程序,他的作用类似于Java的lucene。尽管在Java世界lucene已经是标准的全文检索程序,但是C/C++世界并没有相应的工具,而Xapian则填补了这个缺憾。 Xapian的a转载 2011-05-16 21:08:00 · 6903 阅读 · 1 评论 -
C++知识点总结
http://blog.csdn.net/tigerMayDo/archive/2010/09/13/5880881.aspx http://blog.csdn.net/tigerMayDo/archive/2010/09/13/5880890.aspx原创 2011-06-15 14:59:00 · 1344 阅读 · 0 评论 -
判断两个单链表是否相交
题一、 给定单链表,检测是否有环。 使用两个指针p1,p2从链表头开始遍历,p1每次前进一步,p2每次前进两步。如果p2到达链表尾部,说明无环,否则p1、p2必然会在某个时刻相遇(p1==p2),从而检测到链表中有环。 题二、 给定两个单链表(head1, head2),检测两个链表是否有交点,如果有返回第一个交点。 如果head1==head2,那么显然相交,转载 2011-06-22 23:48:00 · 3539 阅读 · 0 评论 -
GDB多线程调试
先介绍一下GDB多线程调试的基本命令。 info threads 显示当前可调试的所有线程,每个线程会有一个GDB为其分配的ID,后面操作线程的时候会用到这个ID。 前面有*的是当前调试的线程。 thread ID 切换当前调试的线程为指定ID的线程。 break thread_test.c:123 thread all在所有线程中相应的行上设置断点转载 2011-06-28 11:28:00 · 1492 阅读 · 0 评论 -
海量数据面试题整理
1. 给定a、b两个文件,各存放50亿个url,每个url各占64字节,内存限制是4G,让你找出a、b文件共同的url?方案1:可以估计每个文件安的大小为50G×64=320G,远远大于内存限制的4G。所以不可能将其完全加载到内存中处理。考虑采取分而治之的方法。s 遍历文件a,对转载 2011-07-12 15:46:49 · 1295 阅读 · 0 评论 -
Google的十个核心技术
本篇将主要介绍Google的十个核心技术,而且可以分为四大类:1.分布式基础设施:GFS,Chubby和Protocol Buffer。2.分布式大规模数据处理:MapReduce和Sawzall。3.分布式数据库技术:BigTable和数据库Sharding。4.数据中心优化技术:数据中心高温化,12V电池和服务器整合。分布式基础设施GFS由于搜索引擎需要处理转载 2011-10-20 20:19:52 · 2112 阅读 · 0 评论 -
海量数据处理常用思路和方法
海量数据处理常用思路和方法最近有点忙,稍微空闲下来,发篇总结贴。 大数据量的问题是很多面试笔试中经常出现的问题,比如baidu google 腾讯 这样的一些涉及到海量数据的公司经常会问到。 下面的方法是我对海量数据的处理方法进行了一个一般性的总结,当然这些方法可能并不能完全覆盖所有的问题,但是这样的一些方法也基本可以处理绝大多数遇到的问题。下面的一些问题基本直接来源于转载 2011-11-23 20:58:49 · 1502 阅读 · 0 评论 -
玩转Google开源C++单元测试框架Google Test系列(gtest)
前段时间学习和了解了下Google的开源C++单元测试框架Google Test,简称gtest,非常的不错。 我们原来使用的是自己实现的一套单元测试框架,在使用过程中,发现越来越多使用不便之处,而这样不便之处,gtest恰恰很好的解决了。其实gtest本身的实现并不复杂,我们完全可以模仿gtest,不断的完善我们的测试框架, 但最后我们还是决定使用gtest取代掉原来的自己的测试框架,原转载 2011-11-12 00:51:29 · 1632 阅读 · 0 评论 -
C++代码优化方法总结
优化是一个非常大的主题,本文并不是去深入探讨性能分析理论,算法的效率,况且我也没有这个能力。我只是想把一些可以简单的应用到你的C++代码中的优化技术总结在这里,这样,当你遇到几种不同的编程策略的时候,就可以对每种策略的性能进行一个大概的估计。这也是本文的目的之所在。目录: 一. 优化之前 二. 声明的放置 三. 内联函数 四. 优化你的内存使用 五. 速度优化原创 2012-02-07 17:46:07 · 1168 阅读 · 0 评论 -
模板的分离编译
中谈到过,模板的文件组织一节中就讲到了这个问题. 书中提到了2中方法: 第一种:实现和声明放在一个编译单位中,这样这个模板定义所依靠的一些东西就被带到了包含这个编译单位的文件里。坏处是:增大编译器的处理信息量,而且用户会意外的依赖了原本只是为定义这个模板而引进的东西。解决方案:使用名字空间、避免宏定义、以及一般性的减少包含进来的信息量,可以减小这种危害影响。 第二种原创 2012-03-08 14:11:09 · 2990 阅读 · 0 评论 -
flume介绍及扩展开发心得
一、flume简介Flume是Cloudera提供的日志收集系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种storage。Flume是一个分布式、可靠、和高可用的海量日志采集、聚合和传输的系统。上图的Flume的Architecture,在Flume中,最重要的抽象是data flow(数据流),data flow描述了数据从产转载 2016-05-20 19:18:17 · 8466 阅读 · 0 评论 -
MPC制作项目文件(makefile)
<br />学习ACE也是很久以前的事情了,但是一直没有接触到MPC,最近学习CORBA,使用了TAO作为CORBA库,在使用的过程中简单接触了一下MPC,但是由于MPC的相关文档都是英文的,对于文不好的人是一种折磨(包括本人),因此有了翻译一个MPC文档的想法,原本在早前是看到一个更相信的MPC帮助文档的,但是学习的时候却怎么也找不到了(如果有谁找到了,请告诉我,谢谢),因此我翻译的是基于1.4a的(原文在http://downloads.ociweb.com/MPC/html/MakeProjectCr转载 2010-06-13 16:13:00 · 4109 阅读 · 0 评论 -
MPC网上资源地址和配置环境
<br />MPC网上的资源地址 http://download.ociweb.com/MPC/ 使用MPC,需要在windows上支持perl脚本语言。原创 2010-06-13 16:24:00 · 1566 阅读 · 0 评论 -
MPC制作项目文件(makefile) (二)
<br />下面的内容紧接着MPC使用介绍(一)。<br /><br /><br />3. 编写MPC和MWC文件<br /><br />这节将为大家分别介绍各种输入文件类型和语法的详细信息:<br /><br />3.1 输入文件<br /><br />MPC处理四种不同类型的文件,但是针对大多数的用户,通常情况下只需要关心mpc文件和mwc文件。<br /><br />3.1.1 项目文件(mpc)<br />项目文件(使用mpc后缀),包含了这些信息:包含路径、库目录、源文件以及项目间的依赖关系。一个转载 2010-06-13 16:20:00 · 3432 阅读 · 0 评论 -
QT中调用外部程序的方法 QProcess类
QT4对于界面编程无疑是一个很方便的工具。但是由于它界面开发专项特性,可能导致了某些方面的不足(到目前为止暂时没有使用到这类复杂功能,所以只能是推测)。这样当整个程序需要某些功能时,就需要外部模块的支持。为了能够与外部程序相互联系,Qt4提供了强大的外部程序调用类。先说说QProcess类,目前主要用到程序调用函数。官方说明如下:(引用自ttp://qt.nokia.com/doc/4.5/q转载 2010-01-14 09:56:00 · 7323 阅读 · 2 评论 -
设置Qt应用程序图标
在Qt助手(assistant.exe)搜索关键字"Setting the Application Icon"就可以看到在各种平台设置Qt程序图标的方法。首先准备个ICO图标。例如:myappico.ico 用任何文本编辑器新建个文件 里面就写一行:view plaincopy to clipboardprint?IDI_ICON1 ICON DISCARDABLE转载 2010-01-19 09:46:00 · 1254 阅读 · 0 评论 -
qt可停靠控件和工具栏(Dock Widgets and Toolbars)
可停靠控件能够停靠在QMainWindow中或者作为一个独立窗口浮动。QMainWindow提供了四个可停靠控件的地方:上方,下方,左方,右方。Microsoft Visual Stadio程序和Qt Linguist程序使用大量的可停靠窗口实现更为复杂的用户界面。在Qt中,可停靠窗口是QDockWidget的一个实例。 每一个可停靠控件都有一个标题条。用户可以拖动转载 2010-02-08 16:09:00 · 9224 阅读 · 0 评论 -
自己动手编写c++事件模型
在Java、C#等语言或者说其类库中,都实现了事件模型。而c++语言本身并没有定义事件机制,并且在目前众多优秀的c++类库,包括STL、Boost等都没有实现类似的事件机制。当我们被MFC的消息搞得头昏眼花之时,是否有冲动自己去实现一个简单的事件模型呢。我想,有着相同想法的人肯定很多,而真正动手来写可能会碰到各种各样的困难。下面就让我们一步步来编写一个简单的事件模型。 一、了解事件模型的机制在转载 2010-02-08 16:19:00 · 2024 阅读 · 1 评论 -
程序员能力矩阵 你属于哪一层?
注意:每个层次的知识都是渐增的,位于层次n,也蕴涵了你需了解所有低于层次n的知识。计算机科学 Computer Science软件工程 Software Engineering程序设计 Programming经验 Experience 【CSDN编者按】上述图书中,第一级对应的英文为Unleashe转载 2010-03-22 16:48:00 · 1302 阅读 · 0 评论 -
软件开发的趋势
今天的软件开发商,比以往任何时候更多,考虑和使用多种技术,帮助他们顺利地构建解决方案,并迅速交付给客户。开发人员拥有了越来越多编程风格的选择。我们的目标是使我们的工具对所有编程风格予以良好的支持,帮助我们的客户创建伟大的软件。 软件开发领域正出现几个趋势。以下是我最近思考的一些核心的趋势。这个清单并没有罗列所有软件的趋势,但每一个代表着一个微软目前正在或将要投资,最终惠及客户的方原创 2010-03-22 16:52:00 · 1045 阅读 · 0 评论 -
qt国际化
在代码中用可以用英文命名各个元件,但是main.cpp中加入以下语句: QTranslator translator; translator.load("hellotr_la"); app.installTranslator(&translator); 然后运行qmake -project 在生成的.pro文件中加一下语句: TRANSLATIONS=hellotr_la.ts 运行 qmake转载 2010-03-18 13:53:00 · 1075 阅读 · 0 评论 -
开源排版软件 Scribus
Scribus是一个开源的排版软件,支持Linux/Unix,MacOS X,OS/2和Windows操作系统。它可以用于制作各种出版物,并且有着良好的版面输出能力。当然,它也有着友好的用户界面。Scribus可以满足各种专业出版物的需求,例如支持CMYK色彩、ICC颜色管理和创建PDF文档。最新稳定版Scribus1.3.3.12已经发布。 这个新版本包括如下改进:原创 2010-04-01 18:11:00 · 4837 阅读 · 0 评论 -
malloc()函数与alloc()函数
C语言跟内存分配方式 (1) 从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。 (2) 在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。 (3)从堆上分配,亦称动态内存分配。程序在原创 2010-04-02 17:22:00 · 3228 阅读 · 0 评论 -
OpenMP和MPI是并行编程
OpenMP和MPI是并行编程的两个手段,对比如下:1. OpenMP:线程级(并行粒度);共享存储;隐式(数据分配方式);可扩展性差; 2. MPI:进程级;分布式存储;显式;可扩展性好。3. OpenMP采用共享存储,意味着它只适应于SMP、DSM机器,不适合于集群。MPI虽适合于各种机器,但它的编程模型复杂:需要分析及划分应用程序问题,并将问题映射到分布式进程集原创 2010-05-14 13:50:00 · 5094 阅读 · 0 评论 -
OpenMP并行编程
OpenMP在Windows环境下比较容易实现,只要打开VS2008中的编译选项/openmp,设置一下环境变量OMP_NUM_THREADS就可以了.一般是新建一个c++项目,以次选择项目->(*)属性->配置属性 ->c"c++->语言,打开OpenMP支持;设置环境变量,我的电脑->属性->高级->环境变量,新建一个 OMP_NUM_THREADS变量,值设为2,即为程序执行的线程数.转载 2010-05-14 14:00:00 · 1664 阅读 · 0 评论 -
OpenMP知识
2.1 OpenMP发展与优势 OpenMP的规范由SGI发起,它是一种面向共享内存以及分布式共享内存的多处理器多线程并行编程语言。OpenMP是一种共享内存并行的应用程序编程接口。所有的处理器都被连接到一个共享的内存单元上,处理器在访问内存的时候使用的是相同的内存编址空间。由于内存是共享的,因此,某一处理器写入内存的数据会立刻被其它处理器访问到。OpenMP具有良好的可移植性,转载 2010-05-17 10:45:00 · 3996 阅读 · 0 评论 -
Linux下安装OpenPBS作业管理系统
<br />1.安装<br /><br />使用rpm命令进行安装,在服务器端要安装的软件包如下:<br /><br />libOpenPBS0-devel-2.3.16-44dawn<br />OpenPBS-client-2.3.16-44dawn<br />OpenPBS-xpbs-2.3.16-44dawn<br />OpenPBS-2.3.16-44dawn<br /><br />执行的命令为(以root用户的身份):<br /><br />#tar zxf OpenPBS-2.3.16-44da原创 2010-07-26 15:43:00 · 7828 阅读 · 1 评论 -
数据管理平台DMP细致研究——BlueKai
产品简介BlueKai提供的服务是各种互联网的流量数据, 它提供以下四项数据服务:1.数据管理平台(DMP):用来帮助用户组织并分析数据,功能包括:(1)收集整合线上线下的数据(用户的自有数据)(2)对数据进行划分(可以针对不同的营销活动,如展示、搜索、视频、社交广告等)(3)将数据用于投放(可投放到不同的广告网络和交换平台)(4)衡量投放效果(可视化),不断进行优化2.数据交换中心:通过使用第三原创 2016-09-06 13:36:52 · 9419 阅读 · 0 评论