12 2014 档案

Vim实用技巧系列 - 利用百度云和git实现vim配置多机共享
摘要:Vim是一个强大的文本编辑器。良好的配置更能便利对Vim的使用。有时候,我们会在几台不同的电脑上使用Vim. 例如,我们可能在自己的电脑和公司的电脑上都安装了Vim. 有时候,我们需要实现,如果我们配置好了其中一个Vim环境,就能轻松的把这些配置很容易的复制到另外一台机器,甚至于我们更新其中一台机器... 阅读全文

posted @ 2014-12-31 14:49 掰棒子熊 阅读(783) 评论(0) 推荐(0)

Node.js中的模块接口module.exports浅析
摘要:在写node.js代码时,我们经常需要自己写模块(module)。同时还需要在模块最后写好模块接口,声明这个模块对外暴露什么内容。实际上,node.js的模块接口有多种不同写法。这里作者对此做了个简单的总结。返回一个JSON Object如下代码是一个简单的示例。1 var exp = { 2 ... 阅读全文

posted @ 2014-12-11 22:34 掰棒子熊 阅读(3072) 评论(4) 推荐(1)

多个写线程一个读线程的无锁队列实现
摘要:在之前的一篇博客中,写了一个在特殊情况下,也就是只有一个读线程和一个写线程的情况下,的无锁队列的实现。其中甚至都没有利用特殊的原子加减操作,只是普通的运算。这样做的原因是,即使是特殊的原子加减操作,也比普通的加减运算复杂度高很多。因此文中的实现方法可以达到很高的运行效率。但是,有的情况下并不是只有一... 阅读全文

posted @ 2014-12-08 22:36 掰棒子熊 阅读(9993) 评论(9) 推荐(2)

代码重构之逻辑聚集
摘要:上一篇文章中写了一个重构数据结构,也就是数据聚集的例子。之前还有过一个经历,是重构一个很长的函数,过程大概就是把相关的逻辑聚集起来。我将其称为逻辑聚集。这是一个重构代码逻辑的过程。故事是这样的。在我手上的,是一个由几百行代码组成的函数。程序整体上看起来有比较清晰的代码块,有的代码块很相似,但是细节有... 阅读全文

posted @ 2014-12-04 21:31 掰棒子熊 阅读(407) 评论(0) 推荐(0)

代码重构实例之数据聚集
摘要:敏捷开发强调,要经常重构代码。在开发过程中,往往是开发和重构交替进行。短暂的重构,可以使得后续的开发维护更加容易。我觉得,代码重构可以分为逻辑重构和数据结构重构。数据结构的重构往往需要对代码进行多处改动;但是,数据结构的重构也可以为后续的开发维护带来更大的便利。这里就是一个数据结构重构的例子。这是以... 阅读全文

posted @ 2014-12-03 22:37 掰棒子熊 阅读(455) 评论(0) 推荐(0)