github

正排索引和倒排索引简单介绍

痴心易碎 提交于 2021-02-16 08:22:18
在搜索引擎中,数据被爬取后,就会建立index,方便检索。 在工作中经常会听到有人问,你这个index是正排的还是倒排的?那么什么是正排呢?什么又是倒排呢?下面是一些简单的介绍。 网页A中的内容片段: Tom is a boy. Tom is a student too. 网页B中的内容片段: Jon works at school. Tom's teacher is Jon. 正排索引: 正排索引是指文档ID为key,表中记录每个关键词出现的次数,查找时扫描表中的每个文档中字的信息,直到找到所有包含查询关键字的文档。 假设网页A的局部文档ID是 TA, 网页B的局部文档ID是 TB。那么对TA进行正排索引建立的表结构是下面这样的: 从上面的介绍可以看出,正排是以 docid 作为索引的,但是在搜索的时候我们基本上都是用关键词来搜索。所以,试想一下,我们搜一个关键字(Tom),当100个网页的10个网页含有Tom这个关键字。但是由于是正排是doc id 作为索引的,所以我们不得不把100个网页都扫描一遍,然后找出其中含有Tom的10个网页。然后再进行rank,sort等。效率就比较低了。尤其当现在网络上的网页数已经远远超过亿这个数量后,这种方式现在并不适合作为搜索的依赖。 不过与之相比的是,正排这种模式容易维护。由于是采用doc 作为key来存储的,所以新增网页的时候

使用iperf测试网卡吞吐性能

删除回忆录丶 提交于 2021-02-16 08:10:47
原 使用iperf测试网卡吞吐性能 2018年12月17日 12:38:41 lancewoo 阅读数:138 首先配置待测试的两个网卡的网络地址到同一网段,保证ping对方的IP地址时可以通。两个网卡用网线连接到同一个交换机上,或者直连,交换机交换最大速率不能低于待测试网卡的标称速率。 在两台机器上分别运行命令,哪台做服务端,哪台做客户端都可以: 服务端命令: iperf -s -P 0 -i 1 -p 5001 -w 2M -f k 客户端命令: iperf -c 192.168.1.3 -i 1 -w 2M -t 600 这里服务端设置的IP地址是:192.168.1.3 运行结果: 附 ipef命令行工具: arm Android命令行下载: https://github.com/lancewoo/iperf-android-bin/raw/master/iperf Ubuntu Linux可直接安装: sudo apt install iperf Windows命令行及jpef界面: https://download.csdn.net/download/lancewoo/10845156 来源: oschina 链接: https://my.oschina.net/u/4335973/blog/3572118

rtabmap and rtabmap_ros make error(rtabmap编译错误)

拜拜、爱过 提交于 2021-02-16 06:02:21
Build from source following README.nd in rtabmap_ros rtabmap make error Error 1 make[2]: *** No rule to make target '/usr/lib/x86_64-linux-gnu/libpng.so', needed by '../bin/rtabmap-extractObject'. Stop. make[2]: *** Waiting for unfinished jobs.... make[2]: *** No rule to make target '/usr/lib/x86_64-linux-gnu/libpng.so', needed by '../bin/librtabmap_core.so.0.19.1'. Stop. CMakeFiles/Makefile2:1586: recipe for target 'corelib/src/CMakeFiles/rtabmap_core.dir/all' failed make[1]: *** [corelib/src/CMakeFiles/rtabmap_core.dir/all] Error 2 make[1]: *** Waiting for unfinished jobs.... ^Ctools

Powershell + HTA

断了今生、忘了曾经 提交于 2021-02-16 05:38:03
众所周知,Powershell早已被集成到了windows的环境中,国外大牛玩得不亦乐乎,而国内圈子却很少听到讨论Powershell的,HTA更不用说了,不是学计算机的或许根本不知道这是什么鬼 Linux下有bash,Windows下有Powershell。Powershell依靠在.NET这个大树下,因此也有了比如直接调用windowsAPI等强大功能和利用价值。 Powershell 脚本后缀名为ps1,这种格式不像bat、vbs、exe等双击执行,而是需要经由powershell.exe启动,可以直接使用: PowerShell.exe -ExecutionPolicy Bypass -File .\script.ps1 在win7和server08后,Powershell被集成在系统中,此举方便了服务器的管理,同样,过分的的强大也让自己危险了很多。 HTA hta格式,看上去一个陌生的后缀,但实际遨游网络的你天天都接触到,因为它也是网页格式的一种,类似于html/htm ,通过html语法编写内容。 HTA是HTML-Application的缩写,是软件开发的新概念,直接将某个html页面保存成hta的格式,就是一个独立的应用软件,点开与网页内容并无区别,界面与VB、C++等程序语言所设计的软件界面没什么差别,显示为窗口交互界面。 相关内容: HTA_百度百科 就是个网页

马赛克:就这?

好久不见. 提交于 2021-02-16 05:37:41
点击上方“ Python进击者 ”,选择“ 星标 ”公众号 超级无敌干货推送给你!!! 机器之心报道 作者:魔王、小舟 还在用马赛克的方式隐藏密码? 小心被「看穿」。 像素化(又称马赛克)是一种常见的打码方式,通过降低图像中部分区域的分辨率来隐藏某些关键信息,比如: 再比如: 看图找马赛克!(找不到请看右侧原图) 但是,在你想隐藏信息的同时,有一些技术却反其道而行之,试图将图片还原为原始状态。 最近,一个名为 Depix 的 GitHub 项目爆火,上线三天 star 量已经高达 6.9k。项目作者 Sipke Mellema 是一名信息安全顾问。 项目地址 : https://github.com/beurtschipper/Depix Depix 能够从像素化图像截图中恢复原图中包含的文字密码。该项目适用于使用线性方框滤波器(linear box filter)创建的像素化图像。如下图所示,项目作者给出了像素化图像、恢复之后的效果和原图的对比结果: 马赛克打得够严实了,不过 Depix 还是基本解读出了被隐藏的信息。 如何使用? 使用 Depix 从像素化图像截图中恢复文字密码,操作也比较简单: 从截图中分割出矩形像素化 block; 在具有相同字体设置(包括文本大小、字体、颜色、hsl)的编辑器中,粘贴待处理字符的德布鲁因(De Bruijn sequence)。

RocksDB Java Example

|▌冷眼眸甩不掉的悲伤 提交于 2021-02-16 03:43:19
RocksDB属于嵌入式数据库,没有网络交互接口,必须和服务部署在同一台服务器。RocksDB是Facebook公司在LevelDB基础之上开发的一个嵌入式KV系统,在很多方面对LevelDB做了优化和增强,更像是一个完整的产品。有如下特征: 高性能 : RocksDB使用日志结构的数据库引擎,完全用C++编写,以获得最大的性能。 键和值是任意大小的字节流。 为快速存储而优化 : RocksDB针对快速、低延迟的存储(如闪存驱动器和高速磁盘驱动器)进行了优化。RocksDB充分利用了flash或RAM提供的高读/写速率的潜力。 适应性强 : RocksDB 可以适应不同的工作负载。 从 MyRocks 等数据库存储引擎到应用程序数据缓存到嵌入式工作负载,RocksDB 可以用于满足各种数据需求。 基础和高级数据库操作 : RocksDB提供了一些基本操作,比如打开和关闭数据库,读与写,合并和压缩过滤器等高级操作。 参考了如下文档: RocksJava Basics Java RocksDB简单入门 Maven依赖(pom.xml) <dependency> <groupId>org.rocksdb</groupId> <artifactId>rocksdbjni</artifactId> <version>6.6.4</version> </dependency> 完整代码示例

Nachos-Lab3-同步与互斥机制模块实现

假装没事ソ 提交于 2021-02-16 03:29:38
源码获取 https://github.com/icoty/nachos-3.4-Lab 内容一:总体概述 本实习希望通过修改Nachos系统平台的底层源代码,达到“扩展同步机制,实现同步互斥实例”的目标。 内容二:任务完成情况 任务完成列表(Y/N) Exercise1 Exercise2 Exercise3 Exercise4 Challenge1 Challenge2 Challenge3 第一部分 Y Y Y Y Y Y N 具体Exercise的完成情况 Exercise1 调研 调研Linux或Windows中采用的进程/线程调度算法。具体内容见课堂要求。 同步是指用于实现控制多个进程按照一定的规则或顺序访问某些系统资源的机制,进程间的同步方式有共享内存,套接字,管道,信号量,消息队列,条件变量;线程间的同步有套接字,消息队列,全局变量,条件变量,信号量。 互斥是指用于实现控制某些系统资源在任意时刻只能允许一个进程访问的机制。互斥是同步机制中的一种特殊情况。进程间的互斥方式有锁,信号量,条件变量;线程间的互斥方式有信号量,锁,条件变量。此外,通过硬件也能实现同步与互斥。 linux内核中提供的同步机制 原子操作 自旋锁 读写自旋锁 信号量 读写信号量 互斥量 完成变量 大内核锁 顺序锁 禁止抢占 顺序和屏障 Exercise2 源代码阅读 code/threads

ppt 神器 reveal

不问归期 提交于 2021-02-16 03:26:24
ppt相信大家都用过,不过程序员使用的PPT是可以在网页上用的,比如 reveal 安装 先安装好node npm install -g reveal-md λ reveal-md -h Puppeteer unavailable, unable to create featured slide image for OpenGraph metadata. Puppeteer unavailable, unable to generate PDF file. Usage: cli <slides.md> [options] See https://github.com/webpro/reveal-md for more details. Options: -V, --version output the version number --title <title> Title of the presentation -s, --separator <separator> Slide separator [default: 3 dashes (---) surrounded by two blank lines] -S, --vertical-separator <separator> Vertical slide separator [default: 4 dashes (----)

How to cache docker-compose build inside github-action

你离开我真会死。 提交于 2021-02-16 02:58:08
问题 Is there any way to cache docker-compose so that it will not build again and again? here is my action workflow file: name: Github Action on: push: branches: - staging jobs: test: runs-on: ubuntu-18.04 steps: - uses: actions/checkout@v1 - name: Bootstrap app on Ubuntu uses: actions/setup-node@v1 with: node-version: '12' - name: Install global packages run: npm install -g yarn prisma - name: Install project deps if: steps.cache-yarn.outputs.cache-hit != 'true' run: yarn - name: Build docker

How to cache docker-compose build inside github-action

风流意气都作罢 提交于 2021-02-16 02:51:00
问题 Is there any way to cache docker-compose so that it will not build again and again? here is my action workflow file: name: Github Action on: push: branches: - staging jobs: test: runs-on: ubuntu-18.04 steps: - uses: actions/checkout@v1 - name: Bootstrap app on Ubuntu uses: actions/setup-node@v1 with: node-version: '12' - name: Install global packages run: npm install -g yarn prisma - name: Install project deps if: steps.cache-yarn.outputs.cache-hit != 'true' run: yarn - name: Build docker