非常感谢你看到这里,不知不觉小册已经上线半年了,从一开始预计 5 月底更新完成所有的内容,但一直拖到现在,主要还是源码部分的内容实在太难写了。今天的内容与技术完全不相关,主要讲一下小册整个创作的过程,给有想写小册的同学作个简单的参考,所以不感兴趣的同学可以撤啦。

一、写这本小册的初衷

系统地学习一项技术是一件很艰难的事情,学习资料对整个学习过程来说尤为重要。我写本小册的初衷就是因为自己学习时走了不少的弯路,所以希望能有一份入门级别的资料给刚入门或者有点基础的同学进行查阅。

虽然小册里介绍的内容你都可以在网络上找到,但是一份成体系的学习资料对初学者是非常重要的,这可以省去你大量查阅和筛选的时间。所以我的其中一个目的就是要让同学们可以更快、更容易理解相关的知识。我写此小册的另外一个目的就是想挑战自我,其实我在公司做挺多技术分享的,但是写技术文章的活其实很多年没有碰了,所以想完成一个专栏,最后专栏没做成,却成了小册。

二、小册的诞生历程

调研

在有了想写一个专栏的想法后,我就开始了做主题和内容的选择。我本身的技术栈挺丰富的,但是能写的内容市面上一大堆,再去炒冷饭其实不太好,所以最终敲定 ES。在整个市场上,与 ES 相关的成体系的内容其实并不多,主要的载体有:视频课、书籍、专栏。这些载体跟小册的形式其实有很大区别的,前后对比后,决定以小册的形式出版(如果小册有笔记的功能就好了)。所以最后的计划是,如果掘金觉得我的内容不行拒绝了我的申请,那我就以专栏的形式发布。

立项

通过调研最终决定以小册的形式进行发布,而此时也到了决定要写啥内容的时候了。在调研的期间我发现很多的课程不是太贵,就是内容都是跟 API 高度相关,心想那就写点不一样的吧。最终敲定了几个模块:跟 API 相关的基础部分、底层实现的原理部分、集群运维相关的部分、源码阅读。其实非常庆幸的是,最终目录出来后,整本来看并没有四不像的感觉。因为上述的几个部分跨度其实很大的。

糟糕的初版样稿

因为此时我已经决定要以小册的形式发布了,所以在部分目录定好后,我就开始进行了储稿。但因为多年不写技术类文章,所以初版样稿质量非常的差,下面来展示一下联系掘金后,审稿人评价:

image.png

image.png

对于初版样稿的评价其实早有预料,但比想象中惨得多,心情甚是低落。但是掘金还是保持了与我的联系,让我 2021 年国庆后再提交一版样稿,最终中秋、国庆假期都在写文,直到 11 月初样稿敲定。

寻找出版平台,联系掘金

其实很早前就知道掘金平台了,也买过几本小册,所以在寻找发版平台的时候优先考虑掘金,也非常感谢掘金认可我的内容。

联系掘金的方式可以参考官方小册,申请后反馈是比较快的。在确定一些细节后,掘金会有一位小编与你一起打造样稿,这个过程对我来说非常痛苦,因为我的样稿一直在改:

image.png

打造样稿是在飞书上进行协作的,慢慢的我也开始抛弃了使用 markdown 写样稿的方式,把用飞书写的内容复制到掘金的后台也是非常方便的,大部分格式都通用,大家可以尝试一下。

上线与推广

最终小册在 2022 年 2 月底上线了,从 2021 年 5 月 28 日提交项目开始,历时大半年终于有了结果:

image.png

小册上线后,掘金会在站内帮忙推广,但是能卖出去多少册就只能看内容是否吸引人了,当然自己做站外推广也是可以的。

三、写作的难点

下面是我写这本小册时觉得非常难的几个点:

  1. 行文风格,我本身很爱说话,但是对于写作我是没有什么天赋的,不像某些作者那样可以写得幽默风趣,所以只能以平实的语言来描述相关的内容。

  2. 安排的内容要成体系,如何环环相扣,如何从目标人群中敲定内容体系,解决目标用户的痛点。说实话,写一遍文章不太难,但是成体系的内容真的挺难的,要对写的内容很熟悉,运筹帷幄,也要站在目标人群中去思考,不能对一个比白纸还白的人一上来就讲源码是如何实现的。

  3. 每篇文章怎么安排内容,如何写。有时候其实写着写着就陷入一条技术分支里出不来。例如倒排索引的实现里,我有一大部分的内容是描述 FST 的,最后被删减了。FST 的内容我研究了差不多两个星期,所以适可而止和明确写作目标非常重要,可以有效提高写作的效率。另外控制文章的内容长度也是难点,太长的文章读起来很费劲,太短的文章没太多营养,能传递的点不多。

  4. 拖延症,在遇到一些难点的时候,就停下来不想写了。这个时候可以想想这些点是不是可以省略,避重就轻嘛。另外可以分散注意力,先把可以写的内容写了,再回过来处理这些难点。就好像源码的部分,没有太多可参考的资料,处处碰壁,我就是这样处理的。

  5. 写作很耗时,主要在画图、看源码、翻文档。熟悉源码和文档结构会事半功倍的。