欢迎您光临本小站。希望您在这里可以找到自己想要的信息。。。

 分类:编程内功

分布式系统理论基础 – 选举、多数派和租约

分布式系统理论基础 – 选举、多数派和租约
选举(election)是分布式系统实践中常见的问题,通过打破节点间的对等关系,选得的leader(或叫master、coordinator)有助于实现事务原子性、提升决议效率。 多数派(quorum)的思路帮助我们在网络分化的情况下达成决议一致性,在leader选举的场景下帮...

water 3天前 16℃ 0评论 0喜欢

搜索算法总结

搜索算法总结
1.跳跃表 2.FST+FSM Finite StateTransducers 简称 FST,通常中文译作有穷状态转换器或者有限状态传感器,我更偏向于后者,因为后者更加贴近原意。FST目前在语音识别和自然语言搜索、处理等方向被广泛应用。FST的功能更类似于字典,Lucene4.0...

water 4天前 21℃ 0评论 0喜欢

lucene字典数据结构实现

lucene字典数据结构实现
1 lucene字典       使用lucene进行查询不可避免都会使用到其提供的字典功能,即根据给定的term找到该term所对应的倒排文档id列表等信息。实际上lucene索引文件后缀名为tim和tip的文件实现的就是lucene的字典功能。 ...

water 1个月前 (12-18) 66℃ 0评论 0喜欢

LeetCode 刷题指南

LeetCode 刷题指南
虽然刷题一直饱受诟病,不过不可否认刷题确实能锻炼我们的编程能力,相信每个认真刷题的人都会有体会。现在提供在线编程评测的平台有很多,比较有名的有 hihocoder,LintCode,以及这里我们关注的 LeetCode。 代码提交曲线 LeetCode 是一个非常棒的 OJ(O...

water 1个月前 (12-17) 55℃ 0评论 0喜欢

lucene评分详解

lucene评分详解
Lucene通过计算文档的得分来确定查询结果文档的相似度。如果你希望通过干预Lucene查询来改变查询结果的排序,你就需要对Lucene的得分计算有所理解。 Lucene得分计算公式如下所示: score(q,d)= coord(q,d)·queryNorm(q)·∑( tf(t...

water 1个月前 (12-10) 73℃ 0评论 0喜欢

事件驱动编程、消息驱动编程、数据驱动编程

事件驱动编程、消息驱动编程、数据驱动编程
事件驱动 事件驱动机制就是:让驴拉磨,它不拉,你用鞭抽一下,它就开始拉了。然后又停了,你再抽一下,它又继续拉了这叫用“鞭”驱动“驴”拉磨在程序里,程序停止在那不动,你点击一个按钮,它就有反应了,过一会,又没反应了,你再点一下,它又继续运行。这叫用“事件”驱动“程序”运行 0. 基...

water 2个月前 (11-14) 134℃ 0评论 0喜欢

阻塞非阻塞与同步异步的区别解释

阻塞非阻塞与同步异步的区别解释
阻塞”与"非阻塞"与"同步"与“异步"不能简单的从字面理解,提供一个从分布式系统角度的回答。1.同步与异步同步和异步关注的是消息通信机制 (synchronous communication/ asynchronous comm...

water 2个月前 (11-14) 78℃ 0评论 0喜欢

回调函数(callback)是什么?

回调函数(callback)是什么?
什么是回调函数? 我们绕点远路来回答这个问题。 编程分为两类:系统编程(system programming)和应用编程(application programming)。所谓系统编程,简单来说,就是编写库;而应用编程就是利用写好的各种库来编写具某种功用的程序,也就是应用。系统程...

water 2个月前 (11-14) 112℃ 0评论 0喜欢

如何读懂代码

如何读懂代码
我们在写程序时,有不少时间都是在看别人的代码。 例如看小组的代码,看小组整合的守则,若一开始没规划怎么看, 就会看得云山雾罩不知其所然。 不管是参考也好,从开源抓下来研究也好,为了了解箇中含意,在有限的时间下,不免会对庞大的源代码解读感到压力。 以下来介绍一下读代码的心法: ...

water 3个月前 (10-10) 128℃ 0评论 0喜欢

自然语言处理命名实体识别(NER)

自然语言处理命名实体识别(NER)
NER(Named Entity Recognition,命名实体识别)又称作专名识别,是自然语言处理中常见的一项任务,使用的范围非常广。命名实体通常指的是文本中具有特别意义或者指代性非常强的实体,通常包括人名、地名、机构名、时间、专有名词等。NER系统就是从非结构化的文本中抽取...

water 4个月前 (09-10) 1270℃ 0评论 0喜欢

Kafka Connect简介

Kafka Connect简介
Kafka 0.9+增加了一个新的特性Kafka Connect,可以更方便的创建和管理数据流管道。它为Kafka和其它系统创建规模可扩展的、可信赖的流数据提供了一个简单的模型,通过connectors可以将大数据从其它系统导入到Kafka中,也可以从Kafka中导出到其它系统。...

water 4个月前 (09-06) 250℃ 0评论 0喜欢

标准化因子

标准化因子
1:标准化因子文件nrm 在讨论标准化因子(Normalization Factor)之前,首先应明晰两个概念: tf(term frequency):term在文档中出现的频次 idf(inverse doc frequency):包含term的词条越少,则此term的...

water 6个月前 (07-23) 235℃ 0评论 0喜欢

5分钟了解swagger

5分钟了解swagger
随着互联网技术的发展,现在的网站架构基本都由原来的后端渲染,变成了:前端渲染、先后端分离的形态,而且前端技术和后端技术在各自的道路上越走越远。 前端和后端的唯一联系,变成了API接口;API文档变成了前后端开发人员联系的纽带,变得越来越重要,swagger就是一款让你...

water 6个月前 (07-20) 289℃ 0评论 0喜欢

git 添加 gitignore 规则无效

git 添加 gitignore 规则无效
正常情况 如果在项目开始的时候配置了.gitignore文件,对一些文件进行忽略。 进行版本控制的时候就会忽略对这些文件的跟踪,这是正常情况。 特殊情况 但是有一种情况是,项目开始的时候 没有将一些无关文件配置进 .gitignore里面。导致文件已经进行跟踪了,但是目...

water 7个月前 (06-29) 268℃ 0评论 0喜欢

Redis、SSDB、Memcache和MongoDB的区别

Redis、SSDB、Memcache和MongoDB的区别
摘要: Memcached可以利用多核优势,单实例吞吐量极高,可以达到几十万QPS(取决于key、value的字节大小以及服务器硬件性能,日常环境中QPS高峰大约在4-6w左右)。 1.Memcached Memcached的优点:Memcached可以利用多核优势,...

water 8个月前 (06-01) 424℃ 0评论 0喜欢

云搜索相关功能设置整理

云搜索相关功能设置整理
云搜索系统设置 1. 应用基本信息(名称、备注) 2. 数据存储量 (对应需要多少主分片) 3. 吞吐量tps (对应需要多少副本) 4. 数据源(topic、tag) 5. 定义应用结构(template) 6. 索引字段(倒排字段,用于query)及属性字段(正排字段用于过滤...

water 8个月前 (05-25) 333℃ 0评论 0喜欢

Hadoop与Spark的区别

Hadoop与Spark的区别
概述        谈到大数据,相信大家对Hadoop和Apache Spark这两个名字并不陌生。但我们往往对它们的理解只是提留在字面上,并没有对它们进行深入的思考,下面不妨跟我一块看下它们究竟有什么异同。 解决问题的层面不一样 &nbs...

water 8个月前 (05-16) 276℃ 0评论 0喜欢

N-最短路径分词算法

N-最短路径分词算法
NSP分词算法是句子粗分的基本算法,在中科院计算所的文章中有详细描述。但是看了不甚明白,今天实现了这个算法,主要用的还是图论的基本算法Dijkstra算法。 将分词转化为图的最短路径问题假设要切分一下句子 :主席出现在这里。可将其转化为以下的图: 从而,找出这个句子的最短切分的...

water 8个月前 (05-09) 443℃ 0评论 0喜欢