本站用到了“相关阅读”插件,在文章尾部显示相关文章的链接,该插件非常实用。但是最近发现一个问题,就是当新的文章发布时,新文章尾部可以关联到已有文章,但是在老文章的相关阅读的列表并没有加入新发布的文章。感觉,应该是发布了新文章后,没有重建整个关联关系。插件本身为了性能考虑,应该只刷新了当前文章的关联信息,而没有刷新其他文章的。下面的代码分析也印证了这一点。
首先需要了解插件的运行流程,这里顺带发一下Yet Another Related Posts Plugin的代码分析。
继续翻老文章,首先是从Jeff Dean的一篇PPT演示文稿中看到了这一页,觉得对这些数值形成概念还是挺有用的,就转过来了,经常拿出来看一下,最终能做到熟记于心,并能在理论分析和程序设计时用上。
尽管是大神给出的数据,也还是想考证一下数字的出处,于是又在搜索引擎中找了一下。找到了对这个数据比较好的总结和归纳:链接。还有一处:链接2。也附一下传说中的大神的介绍:Jeff Dean。坊间关于Jeff的传说也是非常多了,诸如,Jeff这个月写的代码量下降了,是因为他换了一幅新的键盘。
原文路径:What every web developer must know about URL encoding,
译文路径:每个 Web 开发者都应该知道的关于 URL 编码的知识。
译文PDF下载。
非常经典的文章了,全面系统的介绍了计算机如何使用内存、缓存,内存控制器的原理等。适合各个层次的程序员研读。共分7大部分,有一部分被翻译成了中文:每个程序员都应该了解的内存知识【第一部分】,百度文库上面有整理好的第一部分的PDF:下载。英文汇总版:What every programmer should know about memory。
系统架构是一个工程和研究相结合的领域,既注重实践又依赖理论指导,入门容易但精通很难,有时候还要讲点悟性,很具有“伪科学”的特征。要在此领域进阶,除了要不断设计并搭建实际系统,也要注意方法论和设计理念的学习和提炼。
经常有同学询问如何学习,特贴一篇学习材料,供大家参考。09年时写的,在系统领域浩如烟海的文献中提取了一些我认为值得研究和学习的项目,没包括近几年出现的一些工作,也不够全面。不过,其实也足够了,看paper是一个从少到多再到少的过程。对问题本质、背景和发展历史有大致了解,再辅以hands-on的实践(长期的真正的实践),足以摸到本领域的门径。
1) 本文以TCP的发展历程解析容易引起混淆,误会的方方面面
2) 本文不会贴大量的源码,大多数是以文字形式描述,我相信文字看起来是要比代码更轻松的
3) 针对对象:对TCP已经有了全面了解的人。因为本文不会解析TCP头里面的每一个字段或者3次握手的细节,也不会解释慢启动和快速重传的定义
4) 除了《TCP/IP详解》(卷一,卷二)以及《Unix网络编程》以及Linux源代码之外,学习网络更好的资源是RFC
5) 本文给出一个提纲,如果想了解细节,请直接查阅RFC
6) 翻来覆去,终于找到了这篇备忘,本文基于这篇备忘文档修改。
大概有半年时间没有分析过DRBD的源码了。今天又翻出了DRBD的代码,想看一下activelog的作用和原理。
首先是看DRBD手册中关于activelog的介绍:http://www.drbd.org/users-guide-8.3/s-activity-log.html
手册的内容很精炼,只是简单介绍了工作原理,activelog中记录的是最近写入磁盘中的IO,每一条activelog对应着一个4M的数据块。62条这样的日志组成一个512bit的sector,整个activelog由若干个这样的sector组成。activelog的条数是可以指定的,在drbd.conf文件中可以配置,配置值为:activelog能记录的数据块的大小,注意不是日志的条数。该值的含义也就是:当出现故障重启时,需要在主备两端同步的数据块的总大小。