<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Erlang-China &#187; Book</title>
	<atom:link href="http://erlang-china.org/tag/book/feed" rel="self" type="application/rss+xml" />
	<link>http://erlang-china.org</link>
	<description>erlang 中文社区</description>
	<lastBuildDate>Thu, 21 Apr 2011 10:01:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.1</generator>
		<item>
		<title>推荐阅读《Event-based programming: taking events to the limit》</title>
		<link>http://erlang-china.org/misc/book-event_based_programming.html</link>
		<comments>http://erlang-china.org/misc/book-event_based_programming.html#comments</comments>
		<pubDate>Wed, 01 Jul 2009 05:17:02 +0000</pubDate>
		<dc:creator>jackyz</dc:creator>
				<category><![CDATA[misc]]></category>
		<category><![CDATA[Book]]></category>
		<category><![CDATA[event_based]]></category>

		<guid isPermaLink="false">http://erlang-china.org/?p=555</guid>
		<description><![CDATA[软件开发的奥义就是：分而治之。 代码世界从来都是一个充斥着耦合的世界，在这个世界里有着各种各样的耦合：静态耦合，动态耦合，类型耦合，逻辑耦合，空间耦合，时间耦合……。可以说，通常而言，一个良好的软件开发，最重要的一个步骤就是使用各种各样的工具来解耦目标系统，使其变成更小，更简单，更易于理解，更便于测试，更……的逻辑单元。完成这一阶段之后，剩下来的，差不多就都是体力活了。 然而，需要强调的一点是，我们要追求的绝对不是一个没有耦合的系统(我很怀疑，可能存在这样的系统么？)。实际上，一些耦合正是业务逻辑的表达，无法去除。我的意思是，或许我们致力于去除的，只是一部分“实现层面的耦合”。话说到这个分上，已经有点 “as simple as possible but not simpler” 的味道，赶紧打住了。 为了解耦系统，我们发展出了种种工具：接口、代理、设计模式……。在所有这些解耦工具之中，最为强悍的恐怕就是消息系统，它的解耦效果，不仅仅体现在概念维度上(接口的使用者和实现者)，而且也体现在空间维度上(分布式消息)时间维度上(异步消息)。关于这一点，我这里推荐的这本书，讲得比较清楚。 我们很幸运 Apress 在 2006 年推出的《Event-based programming: taking events to the limit》现在已经可以在 Google Book 上全文读到。而相应的豆瓣页面也正等着大家去丰富。 这里需要强调的一点是：解耦从来都是有代价的，更为彻底的解耦通常就意味着更难把握。对于广大 Erlangor 来说，这本书中的代码和实例，可能不是那么有参考价值，但我们使用的语言正是完全建立在“基于消息编程的架构”之上的，多读一点参考资料，至少是第一章，当然也是很有必要的。 感谢 Jeffry Zhao 在 Twitter 上的投递。]]></description>
			<content:encoded><![CDATA[<p><img src="http://bks4.books.google.com/books?id=zZFQAAAAMAAJ&#038;printsec=frontcover&#038;img=1&#038;zoom=5&#038;sig=ACfU3U39M0Pu-S6MRnoZQ9lI1VHG25ShkA" alt="Event Based Programming" /></p>
<p>软件开发的奥义就是：分而治之。</p>
<p>代码世界从来都是一个充斥着耦合的世界，在这个世界里有着各种各样的耦合：静态耦合，动态耦合，类型耦合，逻辑耦合，空间耦合，时间耦合……。可以说，通常而言，一个良好的软件开发，最重要的一个步骤就是使用各种各样的工具来解耦目标系统，使其变成更小，更简单，更易于理解，更便于测试，更……的逻辑单元。完成这一阶段之后，剩下来的，差不多就都是体力活了。</p>
<p>然而，需要强调的一点是，我们要追求的绝对不是一个没有耦合的系统(我很怀疑，可能存在这样的系统么？)。实际上，一些耦合正是业务逻辑的表达，无法去除。我的意思是，或许我们致力于去除的，只是一部分“实现层面的耦合”。话说到这个分上，已经有点 “as simple as possible but not simpler” 的味道，赶紧打住了。</p>
<p>为了解耦系统，我们发展出了种种工具：接口、代理、设计模式……。在所有这些解耦工具之中，最为强悍的恐怕就是消息系统，它的解耦效果，不仅仅体现在概念维度上(接口的使用者和实现者)，而且也体现在空间维度上(分布式消息)时间维度上(异步消息)。关于这一点，我这里推荐的这本书，讲得比较清楚。</p>
<p>我们很幸运 Apress 在 2006 年推出的《<a href="http://books.google.com/books?id=9CL446IzhuAC&#038;printsec=frontcover&#038;source=gbs_v2_summary_r&#038;cad=0" target=_blank>Event-based programming: taking events to the limit</a>》现在已经可以在 Google Book 上全文读到。而相应的豆瓣<a href="http://www.douban.com/subject/2127663/" target=_blank>页面</a>也正等着大家去丰富。</p>
<p>这里需要强调的一点是：解耦从来都是有代价的，更为彻底的解耦通常就意味着更难把握。对于广大 Erlangor 来说，这本书中的代码和实例，可能不是那么有参考价值，但我们使用的语言正是完全建立在“基于消息编程的架构”之上的，多读一点参考资料，至少是第一章，当然也是很有必要的。</p>
<p>感谢 Jeffry Zhao 在 Twitter 上的投递。</p>
]]></content:encoded>
			<wfw:commentRss>http://erlang-china.org/misc/book-event_based_programming.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>{转}Relax with CouchDB, first three chapters available</title>
		<link>http://erlang-china.org/news/relax_with_couchdb_first_three_chapters.html</link>
		<comments>http://erlang-china.org/news/relax_with_couchdb_first_three_chapters.html#comments</comments>
		<pubDate>Fri, 12 Dec 2008 01:29:37 +0000</pubDate>
		<dc:creator>KrzyCube</dc:creator>
				<category><![CDATA[news]]></category>
		<category><![CDATA[Book]]></category>
		<category><![CDATA[CouchDB]]></category>

		<guid isPermaLink="false">http://erlang-china.org/?p=297</guid>
		<description><![CDATA[http://jan.prima.de/~jan/plok/archives/164-guid.html Release early, release often they say. Chris,Noah and I published the first results of our hard work on the CouchDB Book. The chapters haven’t seen any editing by O’Reilly (our publisher) and we know that there are areas that need work. But we would like to know which areas are the most important ones by letting our readers have the [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://jan.prima.de/~jan/plok/archives/164-guid.html">http://jan.prima.de/~jan/plok/archives/164-guid.html</a></p>
<p><em>Release early, release often</em> <a href="http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/ar01s04.html">they say</a>. <a href="http://jchris.mfdz.com/">Chris</a>,<a href="http://tumbolia.org/nslater">Noah</a> and I <a href="http://books.couchdb.org/relax/">published the first results</a> of our hard work on the <a href="http://books.couchdb.org/relax/">CouchDB Book</a>.</p>
<p>The chapters haven’t seen any editing by O’Reilly (our publisher) and we know that there are areas that need work. But we would like to know which areas are the most important ones by letting our readers have the material as soon as possible.</p>
<p>That is, we are looking for feedback. Each paragraph on the website has a link where you can leave your comment. We highly appreciate any input. It will help us to write a quality book. Thanks!</p>
<p>We are trying to get the next batch of chapters to you as soon as possible. Stay tuned!</p>
]]></content:encoded>
			<wfw:commentRss>http://erlang-china.org/news/relax_with_couchdb_first_three_chapters.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

