最新 | 最热门 | 最高评价

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

Tag: algo | memory | succinct | trie | bitmap
张炎泼(xp) 发于 2021年02月01日 08:00 | 点击: 84 | 展开摘要
这文介绍一个压缩前缀树实现的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

+0  用markdown写知乎文章的完美解决方案

Tag: toolkit | zhihu | 知乎 | markdown
张炎泼(xp) 发于 2020年12月24日 08:00 | 点击: 80 | 展开摘要
习惯了用markdown做各种笔记或创作, 想要分享到知乎的时候,
发现知乎对文章导入markdown的支持并不很好, 不支持表格, 需要公开可访问的url的图片,
以及知乎私有的公式编辑功能.

于是有了这样一个工具 md2zhihu , 将markdown文档直接转换成可以导入到知乎的格式.
主要做3项转换: 公式, 表格和图片.

例如以下 markdown 源码:

| Data size | Data Set | gzip size |

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

+0  后分布式时代: 多数派读写的’少数派’实现

Tag: algo | distributed | quorum | majority | replication | paxos | raft | 分布式 | 多数派
张炎泼(xp) 发于 2020年10月18日 08:00 | 点击: 91 | 展开摘要
前言

paxos可以看做是2次 多数派读写 完成一次强一致读写. 多数派要求半数以上的参与者(paxos中的Acceptor)接受某笔操作. 但 多数派读写 并不一定需要多于半数的参与者, 分布式系统中某些场合的优化, 可以通过减少参与者数量来完成的.

多数派读写:分布式系统的基础

分布式系统中, 其中一个基础的问题是如何在不可靠硬件(低可用性)基础上构建可靠(高可用性)的服务,
要达成这个目标, 核心的手段就是复制(例如一份数据存3个副本).
而复制过程中的一致性

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

+0  Prolog 语言入门教程

Tag: Algorithm
阮一峰 发于 2019年01月28日 09:17 | 点击: 1531 | 展开摘要
Prolog 是一种与众不同的语言,不用来开发软件,专门解决逻辑问题。比如,"苏格拉底是人,人都会死,所以苏格拉底会死"这一类的问题。

Prolog 就是"逻辑编程"(programming of Logic)的意思。只要给出事实和规则,它会自动分析其中的逻辑关系,然后允许用户通过查询,完成复杂的逻辑运算。

本文简单介绍如何使用 Prolog 语言,主要参考了 xmonader 的教程。

一、SWI-Prolog

学习之前,请安装 Prolog 的运行环境 SWI-P

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

+0  LinearSVC versus SVC in scikit-learn

Tag: machine learning | scikit-learn
Robin Dong 发于 2019年01月26日 11:32 | 点击: 1336 | 展开摘要
In competition ‘Quora Insincere Questions Classification’, I want to use simple TF-IDF statistics as a baseline.

def grid_search(classifier, parameters, X, y, X_train, y_train, X_test, y_test, name = 'SVC'):
begin = time.ti

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

+0  把我的个人网站推倒重来(Part 7 - Google Analytics & Facebook Pixel)

Tag: facebook pixel | google analytics | rebuild | website
Cat Chen 发于 2019年01月18日 04:01 | 点击: 1539 | 展开摘要
网站上线之后,我自然关心访客的数量和来源,于是我决定加上 Google Analytics。同时纯粹出于好奇,我把 Facebook Pixel 也加上了。
Google Analytics 和 Facebook Pixel 都需要插入 JavaScript 到每一个页面上,因此把代码加到 _layout.jade 是最合适的,因为这是所有页面共享的模板。
Google Analytics
在 Google Analytics 创建好「property」后,复制 Goo

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

+0  把我的个人网站推倒重来(Part 6 - hreflang)

Tag: hreflang | rebuild | website
Cat Chen 发于 2018年11月24日 15:18 | 点击: 1605 | 展开摘要
因为我在上一篇文章讲 Open Graph 元数据时提到 hreflang,我可以用这篇文章简单讲一讲如何支持 herflang。使用 hreflang 好处的是让 Google 知道多个页面其实是同一内容的不同语言版本,这样在用户搜索时 Google 就可以尽量提供正确的语言版本。
Google 官方对 hreflang 提供了详尽的解释。要让网站支持 hreflang 有三种做法:HTML 标签、HTTP header 以及 Sitemap。我选择了 HTML 标签,因

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

+0  把我的个人网站推倒重来(Part 5 - Open Graph 元数据)

Tag: metadata | open graph | rebuild | website
Cat Chen 发于 2018年11月18日 11:15 | 点击: 1933 | 展开摘要
网站发布之后我开始做各种细小的优化,其中一项是为网站加上 Open Graph 元数据( metadata),使得网站在被 Facebook 抓取时能够显示正确的预览信息。(Google 在抓取时也会参考 Open Graph 元数据,虽然 Open Graph 是 Facebook 提出的标准。)
Open Graph 标准
Open Graph 标准本身并不复杂,看着官方的标准信息把每一项相关的属性都加上。以下是我个人网站上使用的 Open Graph 信息:

&

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

+0  把我的个人网站推倒重来(Part 4 - Responsive Image)

Tag: image | rebuild | responsive | website
Cat Chen 发于 2018年10月08日 11:55 | 点击: 1506 | 展开摘要
网站整体完成后,我就可以开始做各种小优化了。其中一个优化是使用 responsive image 来适应不同分辨率和不同像素密度的屏幕,用到的是 <img /> 新增的 srcset 和 sizes 属性以及新增的 <picture /> 元素。因为现在有多套新旧并存的 responsive image 方案,而且它们使用的属性存在重叠,所以要搞清楚到底这些属性如何运作,还是要动手实验。
sizes 属性

<img srcset="

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

+0  把我的个人网站推倒重来(Part 3 - 用 Netlify 做静态网站发布)

Tag: deployment | netlify | rebuild | website
Cat Chen 发于 2018年10月01日 04:42 | 点击: 2469 | 展开摘要
之前两篇文章讲述了我用 Harp 和 Bootstrap 搭建新版个人网站的过程,执行 harp compile 进行构建,输出的 www 目录就是我们想要的静态网站。我可以找个传统的静态网站 host,然后通过 FTP 这种古老的方式把文件上传上去。然而这真是我在第一篇文章中说到的一个痛点,我不希望通过 FTP 部署,最好是好像我熟悉的 Heroku 那样通过 GitHub 触发部署,我每次本地更新后执行一下 git push 就行。
Heroku
因为我已经熟悉 He

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

+0  哈希碰撞与生日攻击

Tag: Algorithm
阮一峰 发于 2018年09月05日 20:41 | 点击: 1524 | 展开摘要
一、哈希碰撞是什么?

所谓哈希(hash),就是将不同的输入映射成独一无二的、固定长度的值(又称"哈希值")。它是最常见的软件运算之一。

如果不同的输入得到了同一个哈希值,就发生了"哈希碰撞"(collision)。

举例来说,很多网络服务会使用哈希函数,产生一个 token,标识用户的身份和权限。

AFGG2piXh0ht6dmXUxqv4nA1PU120r0yMAQhuc13i8

上面这个字符串就是一个哈希值。如果两个不同的用户,得到了同样的 token,就发生

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

+0  把我的个人网站推倒重来(Part 2 - 用 Bootstrap 做移动网页)

Tag: bootstrap | css | rebuild | website
Cat Chen 发于 2018年09月04日 09:38 | 点击: 1633 | 展开摘要
配置好 Harp 做静态网站构建后,就可以开始做网页了。上一个版本的个人网站样式是我自己设计的,当年用的还是 Macromedia/Adobe Fireworks,做出来一个 PNG 文件然后导出为不同的小图片。这次我也有考虑过要不要自己重新设计一个新的样式,但考虑到新设计不如解决其他几大问题重要,于是决定推迟样式设计。现在的计划是,先用 Bootstrap 解决绝大部分的问题,将来有时间重新设计样式了再做成 Bootstrap 主题。
导航栏
我的个人网站对组件的需求很

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