前言(preface)
2010年,我接到一项任务:实现一个系统,向数千名已连接的用户准实时地传输频繁的更新。我当时所在的公司主要使用Ruby on Rails,但我需要更适合应对如此高并发挑战的技术。在首席技术官的建议下,我研究了Erlang,阅读了一些资料,制作了一个原型,并进行了负载测试。初步结果给我留下了深刻印象,于是我着手用Erlang实现整个系统。几个月后,系统交付上线,并从那时起一直稳定运行。
随着时间的推移,我越来越欣赏Erlang以及它帮助我管理如此复杂系统的方式。渐渐地,我开始更喜欢Erlang,而不是我之前使用的技术。我开始推广这门语言,先是在公司内部,然后在本地的一些活动上。最终,在2012年底,我创建了名为"The Erlangelist"的博客(http://theerlangelist.com),旨在向具有面向对象背景的程序员展示Erlang的优势。
由于Erlang是一门与众不同的语言,我开始尝试使用Elixir,希望它能帮助我以一种能引起面向对象程序员共鸣的方式来阐释Erlang之美。尽管当时Elixir还处于早期开发阶段(版本为0.8),但我立刻被它的成熟度及其与Erlang的集成方式所打动。不久,我开始使用Elixir为我基于Erlang的系统开发新功能。
几个月后,Manning出版社的Michael Stephens联系了我,询问我是否有兴趣写一本关于Elixir的书。当时,已经有两本Elixir书籍在筹备中。经过一番考虑,我认为还有空间从另一个角度来探讨这个主题,专注于Elixir并发和OTP的思维方式。写书花费了大量心血,但这是一次收获颇丰的经历。
这是本书的第三版,它与第一版或第二版并无根本性不同。相反,它的重点是更新内容,以涵盖Elixir和Erlang的最新发展,例如处理应用配置和OTP发行的新方法。
至此,《Elixir in Action》一书的内容已再次完全更新至最新,并将向你传授使用Elixir构建软件系统的最新技术。希望你喜欢阅读本书,从中获益良多,并有机会在工作中运用所学的新知识!