Home

2018-review-and-2019-plan

盼了很久,18年的网易云音乐还是没有年度报告。不过我自己想了下,听得最多的大概是这首《不谓侠》了,原版是萧忆情唱的,男声,我偏爱翻唱的这版,女声,听着听着仿佛有种穿越的错觉,纵马从塞外走到江南,路过树林外的小酒家,看满城飞花,对春风与红蜡。 从去年开始,便告诉自己,不再流水账似的记录总结与展望了。写这篇笔记之前,我翻了下去年笔记里的 flag,大概完成了一半不到,再往前翻,也大抵如此。然而越往前翻,感慨越多,只因看到多年前的自己,为一些事情开心、困惑、认真、烦恼,一路走来的脚印清晰起来。 1. 博客 去年定的博客更新目标是25篇,我数了下,完成了27篇。实际上早就忘了25这个数字,因此这27篇笔记,完完整整的是我想去写的,没有一篇凑数。 写的时候,我总是在想,一篇笔记写出来,怎...

Read more

3 Goals for Better Code

这篇笔记是关于 Sean Parent 在2013年的一篇演讲,题目就叫做《3 Goals for Better Code》,听完之后有比较多的共鸣和触动,因此专门记录下来。 关于 Sean Parent其人: Sean Parent is a principal scientist and software architect for Adobe Photoshop and mobile imaging applications. 1. No Raw Loops A raw loop is any loop inside a function where the function serves purpose larger than the algorithm ...

Read more

豆瓣笔记分析

豆瓣笔记是指形如https://www.douban.com/note/699086917/这样链接样式的帖子,严格来讲,我没有搞清楚豆瓣对于这款产品的定位,话题广场、日记、豆列下的文章似乎都在其中。 想做这个事情,缘起于单纯想看看这个文艺网站下的青年们在关注什么。 另外一个是很久不爬东西了手痒,厂长经常说不忘初心,我的初心有一部分大概也是 spider. 断断续续爬了130w+的文章,用的 scrapy,代码就不介绍了,放到了TinyTools这里,这里贴下一些结论。 1. 200 vs 404 个人觉得判断豆瓣是否重视这个产品可以看下死链率,从 scrapy 运行日志可以很轻松的拿到,匹配Crawled (200)或者Crawled (404)即可。 其中 404 页面...

Read more

papers of bloom filter

bloom filter 的相关论文较多,按照时间线整理了下自己觉得比较有意义的。有些观点没有找到佐证的中文资料,如有错误还请指出。 1. Space/Time Trade-offs in Hash Coding with Allowable Errors Burton Bloom 在1970年发表的文章,布隆过滤器的开山之作。 给定一个 set,查找某个 key 是否存在于该 set,通常考虑两点: time: 查找时间 space: 空间成本(例如 hash 目标区域大小) Burton Bloom 在论文里提出了第三点:Allowable Fraction of Errors. ,即允许一定概率的误判,来获取空间成本的显著降低。 A Sample Appl...

Read more

leveldb笔记之9:bloom filter

leveldb 的filter block用到了 filter policy,其中默认提供的是BloomFilterPolicy,即布隆过滤器,这篇笔记聊聊布隆过滤器的理论和在 leveldb 里的实现。 1. 简介 bloom filter是一种数据结构,作用类似于 hash table,相对于后者,空间利用率更高。 不过这种高利用率是有代价的,当我们在 bloom filter 查找 key 时,有返回两种情况: key 不存在,那么 key 一定不存在。 key 存在,那么 key 可能存在。 也就是说 bloom filter 具有一定的误判率。 2. 理论知识 先介绍下 bloom filter 的几个组成: n 个 key m bits...

Read more