实践是最好的成长发表是最好的记忆
—— 作者序
分布式Java应用需要开发人员掌握较多的知识点,通常分布式Java应用的场景还会对性能、可用性以及可伸缩有较高的要求,而这也就意味着开发人员需要掌握更多的知识点。我刚进淘宝的时候,曾经一直苦恼对于一个这样的分布式Java应用,我到底需要学习些什么。
随着在淘宝工作的不断开展,我的眼前终于慢慢呈现了高性能、高可用以及可伸缩的Java应用所需知识点的全景,这张知识点的全景图现在已经演变成了本书的目录。当看到自己整理出的知识点的全景图时,很惊讶地发现其中有些知识点其实是我之前已经学习过的,但到了真正需要使用的时候有些是完全遗忘了,有些则是在使用时碰到了很多的问题,从这里我看到,当学习到的知识不去经过实践检验时,这些知识就不算真正属于自己。
幸运的是,在淘宝我得到了分布式Java应用的绝佳实践机会,于是所学习到的网络通信、高性能、高并发、高可用以及可伸缩的一些知识,有机会在实践中得到验证。正是这样的机会,让我对这些知识点有了更深刻本质的理解,并能将其中的一些知识真正吸收,变为自己的经验,所以我一个很真切的体会就是:实践是最好的成长。
经历了这段艰难的成长,自己也希望不要忘却在这个过程中的收获,胡适先生曾说:“发表是最好的记忆”(这句话也长期放在台湾技术作家侯捷老师的网站上),于是萌生了写这本书的想法,一方面想梳理自己通过实践所获得的成长,另一方面也希望与正在从事分布式Java应用的技术人员分享一些实践的心得,同时给将要或打算从事分布式Java应用的技术人员提供一些参考。
从2008年11月确认要写这本书,到2010年5月完成这本书,历时一年半,过程可谓波折不断,前3个月的写作一帆风顺,顺利完成了第一章和第三章的撰写。
到了2009年3月底后,由于投入到了《OSGi原理与最佳实践》一书的编写中,停顿了将近3个自己和读者都信服。这就很好地训练了作者的系统思维能力。系统思维能力的提升,让一个人的视野更开阔,站得更高,看得更远。试想,又是谁赚了?
3. 现在,已经进入了个人品牌时代。想拿张名片就让人对你刮目相看,土!至少得有个博客吧。看看现在,IT圈的朋友们,有几个没博客的?但,有几个人能写书咧?物以稀为贵。写了一本好书的人,声名远播,个人价值会放大。所以,现在愿意写书的人越来越多。
好处明白了,怎样才能做到高效写作?怎样才能做到敏捷出版?我们和作者们进行了一些探讨,虽然这方面的认识积累还不够,但,有一说一。比如,在和出版社共同确定了图书产品的市场定位后(需求分析的过程也颇熬人,编辑手记里有细述),作者可以尝试:
1. 对自己的写作进行难度分级管理。忙的时候写难度低的,闲下来就写难度高的。这样就能保持写作的平稳状态,不至于忙的时候完全不写,闲的时候写一大堆,起伏太大就不易坚持。难度分级越细,越容易对写作进行模块化管理。写好一个模块就丢在那里,等着日后拼装。书也是个产品,把各个模块拼装成一本书的过程,和拼装宜家的家具没啥两样。
2. 每天得坚持写,给自己规定每日最低写作量。我们通常希望作者的每日写作量不要低于500字。区区500字,也就是三篇微博的字数之和。能坚持每日为自己的主题写500字的,就一定能把这个最低量渐渐提高到1000字。
3. 每个模块需要有写作的时间量限制,比如每5天必须完成一个小节,每15天必须完成一章中的一到两个核心小节,等等。
上述讲的是原创书的写作,其实在翻译和制作外版书时,这种模块化、敏捷运作的思路同样可以借鉴。我们用老办法做出来的产品,以往常常存在着周期和质量问题。最近我们出版的《编程之魂》就因为翻译质量挨骂了,这是因为这本书的制作还是采用的老模式,编辑和译者都单枪匹马,得不到及时的交流和帮助。挨骂不可怕,谁做产品会一帆风顺?重要的是通过思考,找到正确的方法。挨骂还是因为方法不对,方法不对,还是因为思考没到位。
林昊的这本书,我们还有不少工作没做到位,只是尽可能把团队现有的能力都贡献出来了,没有偷懒。这是进步。以往尽管也有能力不足之处,但偷懒也处处可见。
做林昊的书,再次体会到淘宝文化的魅力。开放的淘宝、重视知识积累和传承的淘宝,让我们淘到了不少林昊这样的“宝贝”作者,他们心态开放,接纳批评、消化批评的能力很强。我多次和林昊说,他的谦虚,他的开朗,他的认真,让我和同事们受益匪浅。
闻道有先后,写作有专攻。期待着更多的朋友和我们一起分享“高效写作,敏捷出版”带来的愉悦——快乐因创造价值而生。
有创造,就会有真正的成长。
周筠
2010年5月21日于武汉