Recent Posts

一致性哈希(Consistent Hashing)原理

看一些分布式相关的技术文章或书籍时,经常看到一个词,一致性哈希。对于这个技术一直似懂非懂。今天花了半天的时间好好研究了它的原理和实现,发现一点都不复杂。于是写篇文章分享一下。

ActiveRecord如何拼出一句Sql?—— (一)ActiveRecord、Relation与Arel

在上一篇中我们学习了基本的关系代数知识,以及Arel和关系代数的关系。上集讲到,ActiveRecord在幕后使用Arel拼出SQL语句。现在,我们先跳过Arel,说说幕前:从ActiveRecord讲起,说说AR的query接口(如:where,select,order)的设计思路和实现,这部分会主要涉及Act...

在markdown使用mathjax

mathjax 是一个允许用结构化语言写数据公式的插件。几个简单的步骤就可以在markdown里使用它了。

利用Graphviz看ActiveRecod源码

我们都知道ActiveRecod借助Arel管理Sql的生成,而Arel使用ast和visitor pattern生成Sql。但是当你想看这颗语法树时,可能会很郁闷:

Minitest和Rspec的比较(译)

本文是译文,原文可见tenderlove的blog(tenderlove@github)。我和作者的经历相反,我有较多的Rspec经验,在最近接触Minitest,读完这篇文章之后,有一些地方很有同感,作者对Minitest的观点也对我很有启发。以下是译文(有部分删改):

Turbolinks 源码分析 - 前端篇

在半年前的一个项目中,遇到Rails 4的大坑之一:Turbolinks,所以花一点时间好好的研究了这个gem。近来有时间整理一下写下来。本文成文时,Turbolinks 5 preview 已经出了,并支持iOS 和 Andrid hybrid apps。本文的源码指的是Turbolinks Classic,权...

Ruby Symbol 知识整理

入门的时候被Ruby里的Symbol有点弄晕。现在整理一下关于 Ruby Symbol 的知识,写篇文章。

Welcome to Jekyll!

You’ll find this post in your _posts directory. Go ahead and edit it and re-build the site to see your changes. You can rebuild the site in many different wa...