最新 | 最热门 | 最高评价

+2  [Solr源码分析]Solr复制类ReplicationHandler实现简要分析

Tag: solr | lucene | 源码分析
kafka0102 发于 2010年07月25日 00:42 | 点击: 3873 | 展开摘要
在上一文《solr ReplicationHandler使用介绍》的基础上,本文接着对solr的ReplicationHandler实现细节做些分析,这个分析原则上没有摘取大段代码,窃以为摘了代码后未见得有很好的阐述效果,但不摘取后窃又发现,阐述的效果依旧不好。归结起来,还是窃的表达不够深入浅出所致。闲言少叙,直接上内容。

1、master的工作

对于ReplicationHandler的复制功能来说,核心的问题确定是在一个时间点要复制哪些文件,这就用上了lucene的

查看全文: http://www.udpwork.com/item/2163.html

+1  100行代码的压缩前缀树: 50% smaller

Tag: algo | memory | succinct | trie | bitmap
张炎泼(xp) 发于 2021年02月01日 08:00 | 点击: 833 | 展开摘要
这文介绍一个压缩前缀树实现的sorted set(github: succinct.Set), 区区95行代码, 包含了一组完整的功能:

用 前缀树 存储一个排序数组, 去掉指针, 压缩掉50%的空间;
例如在本文的例子中, 存储2.4MB的200万个单词, 只需要1.2MB.

创建: 从key列表创建一个压缩的前缀树;

查询: 支持Has() 操作来查询1个key是否存在;

优化: 通过索引来加速 bitmap 的操作, 将较大的 bitmap 操作优化到O(1)的

查看全文: http://www.udpwork.com/item/17474.html

+1  编写 iPhone Friendly 的 Web 应用程序 (Part 7 - 多点触击)

Tag: mobile | touch | safari | iphone
Cat Chen 发于 2009年11月24日 22:25 | 点击: 2580 | 展开摘要
这个系列的上一篇文章差不多是两年之前的事情了,在这两年里Mobile Safari并非停滞不前,从iPhone 2.0开始Mobile Safari就加入了对多点触击的支持,现在我们就来看一下我们可以利用它来干什么。

相信很多人都看过WPF为Surface设备做的一个简单demo,也就是在桌面上显示若干张照片,你可以通过单点触击拖放,也可以通过多点触击缩放和旋转。这在iPhone上能够做到,甚至在Mobile Safari里面也能做到,因为Mobile Safari提供了一

查看全文: http://www.udpwork.com/item/2117.html

+1  开发搜索引擎 – PHP中文分词

Tag: PHP | ICTCLAS | Lucene
ideawu 发于 2010年05月07日 08:30 | 点击: 3530 | 展开摘要
对于中文搜索引擎来说, 中文分词是整个系统最基础的部分之一, 因为目前基于单字的中文搜索算法并不是太好. 当然, 本文不是要对中文搜索引擎做研究, 而是分享如果用 PHP 做一个站内搜索引擎. 本文是这个系统中的一篇.

我使用的分词工具是中科院计算所的开源版本的 ICTCLAS. 另外还有开源的 Bamboo, 我随后也会对该工具进行调研.

从 ICTCLAS 出发是个不错的选择, 因为其算法传播比较广泛, 有公开的学术文档, 并且编译简单, 库依赖少. 但目前只提供了

查看全文: http://www.udpwork.com/item/1331.html

+0  常见分布式基础设施系统设计图解(六):分布式 MR 系统

Tag: System and Architecture | MapReduce | 图解笔记 | 基础设施 | 系统设计
四火 发于 2020年11月03日 02:17 | 点击: 428 | 展开摘要
其实对于 MR(Map Reduce)系统来说,可能更重要的是分治和分步处理的思想,因为现在的基于 MR 的数据处理框架或者平台,在实现上数据处理往往已经和最经典的对于 MR 的理解(最早应该是来自 Google 的那篇论文)有了不少区别。当然,我还是按照之前的做法,把一个典型的 MR 系统简单图示画出来了,这个图相对比较简单。

还是老规矩,虚线表示控制流,实线表示数据流。
上半部分用户向 Master 这个 job 管理节点提交一个 job 的请求,这个请求被拆解为若干个

查看全文: http://www.udpwork.com/item/17822.html

+0  Go编程模式:Map-Reduce

Tag: Go 语言 | 程序设计 | 编程语言 | functional | functional-programming | Go | golang | MapReduce | 函数式 | 函数式编程
陈皓 发于 2020年12月24日 15:13 | 点击: 602 | 展开摘要
在本篇文章中,我们学习一下函数式编程的中非常重要的Map、Reduce、Filter的三种操作,这三种操作可以让我们非常方便灵活地进行一些数据处理——我们的程序中大多数情况下都是在到倒腾数据,尤其对于一些需要统计的业务场景,Map/Reduce/Filter是非常通用的玩法。下面先来看几个例子:

本文是全系列中第5 / 9篇:Go编程模式
Go编程模式:切片,接口,时间和性能
Go 编程模式:错误处理
Go 编程模式:Functional Options
Go编程模式:委托

查看全文: http://www.udpwork.com/item/17491.html

+0  slimarray: gzip的压缩率, 即时访问

Tag: algo | array | 数组 | compress | succinct
张炎泼(xp) 发于 2020年11月15日 08:00 | 点击: 457 | 展开摘要
slimarray

场景和问题

在时序数据库, 或列存储为基础的系统中, 很常见的形式就是存储一个整数数组,
例如 slim 这个项目按天统计的 star 数:

这类数据有有很明显的统一的变化趋势, 对这类数据的存储,
我们可以利用数据分布的特点, 将整体数据的大小压缩到几分之一.
这就是 slimarray 要做的事情.

使用 slimarray, 可以将数据容量减小到gzip差不多的大小,
同时还能允许直接访问这些数据!
测试中我们选择了2组随机数, 以及现实中的

查看全文: http://www.udpwork.com/item/17477.html

+0  LeetCode付费题目(一)

Tag: Algorithm & Data Structure | LeetCode
四火 发于 2017年11月07日 03:30 | 点击: 3480 | 展开摘要
LeetCode 300题以内需要付费才能查看的所有题目解答。

156

Binary Tree Upside Down

157

Read N Characters Given Read4

158

Read N Characters Given Read4 II – Call multiple times

159

Longest Substring with At Most Two Distinct Characters

161

One Edit

查看全文: http://www.udpwork.com/item/16493.html

+0  求第K个数的问题

Tag: Algorithm & Data Structure | Recommended | PriorityQueue | | 快排
四火 发于 2017年07月14日 13:01 | 点击: 1977 | 展开摘要
一道经典的题目。给一堆乱序的数,如果它们从小到大排好,求第k个是多少。假设排列的下标从1开始,而非0开始。

这个问题如此之简单而熟悉,可它却可以是很多现实问题的某一个子问题的抽象。它本身相关的问题其实就不少,而且还可以不断演进,成为不同复杂程度的问题。

看到这个问题,脑海里的第一反应是一左一右红蓝两条分支——堆排序或者快排。Java中快排用Arrays.sort就可以了,如果是堆排序需要用到PriorityQueue。 用Arrays.sort写起来最简单(这里的参数校验

查看全文: http://www.udpwork.com/item/16349.html

+0  全网统一账户实践

Tag: *nix | freeIPA | infrastucture | LDAP | tcp | vpn
jaseywang 发于 2017年03月04日 14:44 | 点击: 4863 | 展开摘要
分享下目前我们全网的账号管理体系。

整体的账户管理思路是分而治之。主要分为下面三类账户:

1. 办公网账户,也就是大家熟悉的域账户。对于办公网账户,全网用户一人一账户,在 OpenLDAP 的基础上做了一些开发,这是进入公司内部的大门,所有新入职的员工都会分配一个该账号,不管是在办公室连接 Wi-Fi 还是在家连接 anyconnect VPN,访问 confluence/jira 等基础办公设置,都需要通过此账户进行登录认证。

2. 生产网账户,主要用来访问线上

查看全文: http://www.udpwork.com/item/16160.html

+0  一张复杂网络的生长过程

Tag: *nix | infrastucture | networking
jaseywang 发于 2017年02月27日 22:30 | 点击: 2062 | 展开摘要
虽然不是网络出身,但是对于我们全网架构的「生长」过程还是比较了解的,分几个重要的时间点讲讲里面有意思的事情。

15 年下旬

公司业务还没起飞,全网架构简单,应付一天 1k+ 的订单了(有效挂号单)绰绰有余,机房跟第三方的卡管机构通过一根 10M 的 SDH 专线打通,所有到院方的请求先经过第三方的卡管机构,由其转发再进行业务层面的处理,实际的带宽峰值不到 500kbps。

16 年初

正式开始批量接入三甲医院,同时跟医院数据打通的方式也由原先的经过第三方卡管机

查看全文: http://www.udpwork.com/item/16150.html

+0  通过 noVNC 实现数千台自助机的实时可视化

Tag: *nix | Django | infrastucture | kiosk | LDAP | mysql | saltstack | vnc | websocket
jaseywang 发于 2017年01月06日 20:17 | 点击: 2190 | 展开摘要
背景很简单,目前我们运营维护着北京市属三甲医院数千台的自助机,这里面包含挂号取号机、检查报告机以及其他若干衍生出来的自助机种类,数量已经超过一千多台,不同的院区通过密密麻麻的专线跟我们的机房源源不断的进行着各种协议的数据传输与交互。

由于各方面技术以及非技术层面的限制,只能使用微软的系统,为了管理这部分的机器,一方面我们通过 saltstack 来进行日常的产品升级以及变更,对于桌面的可视,比如我们需要知道当前这台自助机前患者的操作,就需要 VNC 来帮助了。

一年前

查看全文: http://www.udpwork.com/item/16098.html
|<<<1234567>>>| 一共10页, 120条记录