0%

Eric Evans - Domain-Driven Design Strategies Dealing with Legacy System

首先从两个耦合关系很大的遗留系统开始,当我们需要增加新功能时,往往涉及到两个遗留系统的更改,那势必会又增加这两个系统之间的耦合关系。

Read more »

@robinlu 的 High Quality iOS Development.

内存管理中的引用计数,Ownership 的概念,以及 Autorelease 的使用,这些都快被讲烂了。

Read more »

上周末在北京参加了 QCon 会议,是自己第一次参加,学到了很多东西,大大开拓了眼界,一直忙没来的及总结,这篇以及后面的几篇都是对这次会议上自己感兴趣的东西的总结,在这里分享一下。

上海贝尔的敏捷转型之旅

Read more »

align-regexp

相必大家都用过 C-M-\,一般都能满足需要,可是有时候需要按一行中的某些字符对齐,比如一些变态的语言或者编程规范规定赋值语句需要按 "=" 对齐,那怎么办?

Read more »

之前学 elisp 的时候一直感觉思维转不过来很纠结,看了 The Nature of Lisp,原来正如 Code Complete - Laying the Foundation 章节讲的那样,我们认识新事物总是会借鉴思维里面已有的 Metaphor, 我只用过 C, C++, Java,Python, Objective-C, 也就意味着我基本只有这些语言的 metaphor,都跟 Lisp 差异很大,也难怪了。但也正因为如此,才需要不断的克服自身的排斥心理,去接触更多的新事物。

正如书中所云:

Read more »

上一篇提到过,第二级 alloc 在分配大于 128 bytes 的时候,直接使用第一级 alloc,如果小于 128 bytes 才采用内存池的方式进行内存分配。

分配过程是这样的,每次分配一大块内存,存到一个 free list 中,下次 client 若再有相同大小的内存要求,就直接从这个 free list 中划出,内存释放时,则直接回收到对应的 list 中。为了管理的方便,实际分配的大小都被调整为 8 的倍数,所以有 16 个 free lists,分别为 8, 16, 24, 32, 40, 48, 56, 64, 72, 80, 88, 96, 104, 112, 120, 128 bytes。例如需要 20 bytes,将会被自动调整为 24 bytes。free lists 的结构如下

Read more »