Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器 软件资源

软件开发小程序制作系统集成与运维空间租用硬件开发视频监控技术咨询与支持——联系电话:0311-88999002/88999003

首页 / 操作系统 / Linux

使用 JavaScript 实现对 PDF 的全文索引

使用 JavaScript 实现对 PDF 的全文索引

我曾今在一个售卖法律和财务数据库访问方案(他们称之为“智能信息”)的公司工作。大多数法庭记录都是通过PACER以PDF形式提供的,一个站点被特地开发出来用于发布法庭记录。基于这个数据集的一个意义重大的数据库产品需要建立一条处理管道,它能够从超过两亿分份PDF文档中提取文本并对其进行索引,展示美国超过20年的诉讼记录。这些处理过程将花费数月的机器时间,使得软件工作组在构建它们时的面临很大的压力。在这一处理过程中的早期有个一步骤是从电子...
在Linux中使用线程

在Linux中使用线程

我并不假定你会使用Linux的线程,所以在这里就简单的介绍一下。如果你之前有过多线程方面的编程经验,完全可以忽略本文的内容,因为它非常的初级。首先说明一下,在Linux编写多线程程序需要包含头文件pthread.h。也就是说你在任何采用多线程设计的程序中都会看到类似这样的代码:1 #include <pthread.h>当然,进包含一个头文件是不能搞定线程的,还需要连接libpthread.so这个库,因此在程序连接阶段应该有类似这样的指令:g...
本地POSIX线程库(NPTL)

本地POSIX线程库(NPTL)

在Linux操作系统中,本地POSIX线程库(NPTL)是一种软件特性,它可让Linux的内核,高效地运行那些使用POSIX风格的线程所编写的程序。测试中,NPTL在一个IA-32处理器上,成功地同时跑了10万个线程,启动这些线程只用了不到2秒。比较起来,在不支持NPTL的内核上,这个测试花费了大约15分钟。以前(也就是在2.6内核以前),Linux把进程当作其调度实体,内核并不真正支持线程。可是,它提供了一个clone()系统调用—&mdas...
Linux的新式线程同步原语——Futex

Linux的新式线程同步原语——Futex

在我的上一篇文章《本地POSIX线程库》http://www.linuxidc.com/Linux/2013-10/91409.htm中,提到了Futex一词,发现好多读者误以为这是我的笔误,将Mutex错写为Futex了。其实Futex是Linux的一种全新的线程同步原语。本文将为您解读高效的Futex。 Futex是fast userspace mutex的缩写,意思是快速用户空间互斥体。Linux内核把它们作为快速的用户空间的锁和信号量的预制构件提...
使用autotools自动生成Makefile并在此之上使用dh-make生成可发布的deb程序包

使用autotools自动生成Makefile并在此之上使用dh-make生成可发布的deb程序包

使用autotools自动生成Makefile并在此之上使用dh-make生成可发布的deb程序包(详解)一、前言本文将介绍如何使用autotools生成一个Makefile文件,并在此基础上使用dh-make和debuild生成一个可发布的deb程序包,这也是我们在Linux下开发应用程序以及想要发布应用程序需要做的。无论是在Linux还是在Unix环境中,make都是一个非常重要的编译命令。不管是自己进行项目开发还是安装应用软件,我们都经常要用到mak...
《OpenGL超级宝典》学习笔记

《OpenGL超级宝典》学习笔记

OpenGL超级宝典 第4版 中文版PDF+英文版+源代码 见 http://www.linuxidc.com/Linux/2013-10/91413.htm第一章 OpenGL的介绍用二维的方式观察3D的世界,仍然是3D世界,因为其能够触发大脑判断它的深度。这个效果与它的颜色的改变、纹理、光照、着色以及各种不同的颜色强度(由于光照的原因)。接下来就学习基本概念。透视:是指直线之间的角度,正是它产生了三维的幻觉。颜色和着色:通过增加颜色来创建实心物体,更加...
C常见问题之字符串的数组形式与指针形式的区别

C常见问题之字符串的数组形式与指针形式的区别

由双引号括起来的字符串常量属于静态存储类型,它被存储在内存的静态存储区内,所以无论字符串常量出现在程序的什么地方,它在程序的整个运行过程中只存储一份。如果用字符串常量初始化字符数组,就是从静态存储区把整个字符串复制给数组。例如:char a[] = "hello";如果用字符串常量初始化字符指针,就是把字符串在静态存储区的地址复制给指针。例如:char *p = "world";这两种形式的一个重要区别是不能通过指针来修改字符串的值,但是字符数组不存在这个...
百度2014移动研发笔试题目——1013清华版

百度2014移动研发笔试题目——1013清华版

百度2014移动研发笔试题目——1013清华版一.简答题1.简述计算机的存储系统分为哪几个层次,为什么这样的分层能够提高程序的执行效率。2.浮点数在计算中如何表示,如何对浮点数判等。3.简述TCP与UDP协议的差别,两者与HTTP的关系。并列举HTTP的方法,以及常见的返回状态码。二.算法与程序设计1.设计一个反转字符串的函数 char *reverse_str(char *str),不使用系统函数。2.给定一个字符串,(1,(2,...
iOS仿网易新闻客户端左右侧栏

iOS仿网易新闻客户端左右侧栏

左右侧栏已经是当前APP最流行的布局,很多客户端软件都使用了左右侧栏,例如网易新闻,人人网,Weico等等。这篇博客以当前网易新闻客户端的模式为例仿写了一个左右侧栏架构实现。先看一下Demo的实现效果实现主要思路以及细节:视图控制器有三个视图按不同层次排列,最上层的是主要显示视图_mainContentView,下面的为左右侧栏视图;点击左侧栏不同按钮压入不同的主视图控制器;在显示侧栏时点击视图空白区域闭合,利用tap手势;拖动主页面根据不同的方向和位置进...
Linux下多任务间通信和同步-System V共享内存

Linux下多任务间通信和同步-System V共享内存

1.简介共享内存是一种最为高效的进程间通信方式,进程可以直接读写内存,而不需要任何数据的拷贝.为了在多个进程间交换信息,内核专门留出了一块内存区,可以由需要访问的进程将其映射到自己的私有地址空间.进程就可以直接读写这一内存区而不需要进行数据的拷贝,从而大大提高的效率.由于多个进程共享一段内存,因此也需要依靠某种同步机制,如互斥锁和信号量等.2.共享内存实现的步骤创建共享内存,这里用到的函数是shmget,也就是从内存中获得一段共享内存区域;映射共享内存,也...
Linux下多任务间通信和同步-mmap共享内存

Linux下多任务间通信和同步-mmap共享内存

1.简介共享内存可以说是最有用的进程间通信方式.两个不用的进程共享内存的意思是:同一块物理内存被映射到两个进程的各自的进程地址空间.一个进程可以及时看到另一个进程对共享内存的更新,反之亦然.采用共享内存通信的一个显而易见的好处效率高,因为进程可以直接读写内存,而不需要任何数据的复制.对于向管道和消息队列等通信等方式,则需要在内核和用户空间进行四次的数据复制,而共享内存则只需要两次数据复制:一次从输入文件到共享内存区,另一个从共享内存区到输出文件.实际上,进...
iOS 7: 如何为iPhone 5S编译64位应用

iOS 7: 如何为iPhone 5S编译64位应用

随着 iPhone 5S的推出,大家开始关心 5S上所使用的 64位CPU A7。除了关心A7的性能以外,大家还会关心一个问题,那就是使用A7的64位系统对应用有没有什么要求。特别是应用开发者,大家都比较关心我们的应用如何迁移到64位的系统上来,以充分发挥A7的能力。其实这些问题都可以在苹果的官方文档《64-Bit transition Guide for Cocoa Touch》中找到答案。为了大家方便,我将《64-Bit transition Guid...
Shell编程之条件测试

Shell编程之条件测试

shell编程中,当使用if语句时,总是涉及到条件的判断。下面来讨论下条件判断的各种情况。1. 条件为语句例如:当目录下有sam开头的文件时,输出hi,it"s here.if ls sam* &> /dev/null; then echo "Hi,it"s here."fi当条件为语句时,直接跟在if后面,如果语句执行成功,返回0,表示真,然后执行语句块中的语句。再来个例子,查看本机中是否有hive的用户,如果有,显示hive的uid和...
Java通用工具类之按对象属性排序工具

Java通用工具类之按对象属性排序工具

本工具类为按对象属性排序工具类,实现的功能:1.按对象的一个属性和多个属性进行排序.2.按对象属性正序和倒序排列.3.完美支持int等基础类和Integer等包装类.4.完美支持属性为实现了Comparable接口的类.5.如果类不是java.lang中定义的基础类型也没有实现Comparable接口则转为String后进行排序.实现思路:使用反射取得对象属性或对象方法的值从而解除对具体对象的依赖.import java.lang.reflect.Fiel...
<< 3571 3572 3573 3574 3575 3576 3577 3578 3579 3580 >>