关于javascript:技术写作技巧分享我是如何从写作小白成长为多平台优秀作者的

3次阅读

共计 8667 个字符,预计需要花费 22 分钟才能阅读完成。

我从事技术写作的工夫其实不长,开始写作的工夫就是我掘金账号注册的工夫:

到明天 (2021 年 2 月 23 日) 也就是一年零一个月,这一年的播种是超过我的预期的:

  1. 产出博文四十多篇,总共数十万字
  2. 掘金优良作者,掘金年度人气作者 No.27
  3. 思否 2020 年度 ”Top Writer”,万粉专栏作者
  4. 开源中国优良源创作者,源创打算年度沉闷博主 Top20

本文想对这个历程做一个回顾,并分享一下我总结的写作技巧以及推广策略。

为什么写作

在写作之前想分明为什么写作十分重要!因为你最后的想法会决定你往哪个方向去写,写出的内容的品质怎么样。

我写作的起因很简略,就是我前端做了几年了,大部分工夫都在写业务代码,技术上始终没有太大的冲破,最多也就是换个框架,换个 UI 库,换来换去始终感觉似曾相识。为了不让几年工作教训成为“第一年工作教训的复制品”,我决定再深刻,零碎的学习下前端常识。所以对于我来说,写作是我的学习办法,我的首要目标是学习常识,写作带来的社区声望只是附带的,有了当然好,没有也没必要刻意去刷。

“为学习而写”与“为刷声望而写”

依据我的察看,社区上的作者写作目标次要分为两种:“为学习而写”与“为刷声望而写”。

大部分厉害的大佬其实都是“为学习而写”,就是他们看到什么好玩的,离奇的技术,去学习了,自然而然的总结出文章。或者感觉某个知识点大家很容易搞错,想输入本人的观点,帮大家避坑,就将本人的见解写成文章,这个过程作者尽管更多的是在输入内容,然而写作的过程其实也会强化作者本人的了解,其实也是一个学习办法。我集体认为“为学习而写”写出的文章才是邪道,是社区良性倒退的方向。

当然也有少部分作者想在短时间内获取更多关注而刻意的去投合读者口味,也就是“为刷声望而写”。比拟典型的一个例子就是,掘金已经在某段期间被大量的面试题汇总占据。大家进来面试了回来分享下心得其实是坏事,然而刻意的去收集面试题,类似的内容发了一遍又一遍,外面的答案甚至还是错的,会导致社区越来越功利,低质量面试题霸版,高质量技术文章反而没机会展现,从而造成劣币驱赶良币的景象。我记得那会儿有个作者靠重复发面试题,短时间就刷了三四千掘力值,眼看就要到“优良作者”了,后果被一个社区大佬怼了,而后就没怎么露面了。这样,后面刷的几千声望不是都徒劳了吗?起初掘金官网也整治了低质量的面试题文章,当初的状况曾经好多了。

所以我说,写作前想分明“为学习而写”与“为刷声望而写”很重要,如果是“为学习而写”,那就能够写出本人的心得体会,写出高质量文章,如果单纯是“为刷声望而写”,可能短期会有点收益,然而也有可能会被大佬怼,被官网整治,半途而废。

写什么

在这个“零碎学习打算”开始之前,我其实没怎么写过技术文章,甚至都没怎么逛过技术社区。平时如果须要学习一个货色,比方学习React,那我会间接去它的官方网站,把它的文档全副读一遍,当初这些风行库的文档都写的很好,看一遍根本就能上手了。如果看完了还是不太晓得怎么用,那就去公司看看有没有我的项目用过,公司没用过,就去 GitHub 上找找,而后抄抄改改就能上手了。这个过程个别也就几天,简单的库最多也就一两周就能上手。应用的时候遇到问题就用 Google 搜,根本都会找到 Stack Overflow 上,答案拿过去一用就行。

后面几年我的工作模式根本都是这样的,这样应酬工作也没啥问题,然而第一年是这样,第二年是这样,第 n 年还是这样。。。就成了“一年工作教训复用 n 年”,成了货真价实的“API 工程师”,做我的项目没问题,问原理似曾相识,然而却说不太分明。如果始终这样,技术就会始终原地踏步,在现单位很容易被代替,进来找工作也可能会到处碰壁,或者找来找去找到的始终跟以后的差不多,很难实现大的冲破。

我感到,我碰到瓶颈了。我想冲破这个瓶颈,然而我不晓得怎么做!在没有具体方向的时候,就看看手上能做啥吧,从简略的,可见的开始做。于是,我决定,我要重头整顿本人的常识框架,把那些只是似曾类似的技术,原理全副吃透,于是我从网上找了一份“前端常识架构图谱”,决定依照外面的提纲,全副重新学习一遍。只是我再次学习不能是简略的看看书,看看博客,看看视频就行了,这种事件我以前干过了,作为一个有几年工作教训的前端,我对本人有更高的要求:所有学过的知识点,必须本人全副写成文章进行坚固;所有框架的学习,必须学到原理或者源码层面

所以,“写什么”这个问题的答案曾经有了:学习前端常识架构,将学习过程写成文章

怎么写

下面说了,我其实并没有什么写作教训,我最近一次写作是大学论文,再往前就是高中作文了,写作水平其实不咋地。然而技术写作跟一般作文不一样,个别不须要富丽的辞藻,更重要的是要把问题讲清楚,看技术文章的读者须要的是学习技术常识,而不是看风花雪月,所以技术文章的逻辑,层级递进,由浅入深,好了解其实更重要。我刚开始时也不晓得怎么写,也是在一直写作工程中,一边写,一边总结,整体来说,我本人的文章其实都分了好几个阶段:

  1. 就是记个笔记
  2. 有本人了解的知识点解析
  3. 深刻源码,探索原理
  4. 从工作中总结

就是记个笔记

从小学开始,老师就会让大家记笔记,大家应该都会,这也是最简略的切入点。我刚开始的时候,不会写文章,写的根本都是笔记,比方各种 CSS 居中计划,这就是我在其余中央学的,而后把他记录下来,也就是个笔记而已。对于“CSS 居中”这种问题来说,面试问烂了,网上材料也是一大堆,这篇文章也没什么出彩的中央,所以关注的人不多。其实对于“笔记型”来说,获取关注少是很容易了解的,因为你写的货色是笔记,也就是说你也是从其余中央学来的,整个文章的思路其实也是人家的,如果本人记笔记的程度不高,可能写进去的成果还不如原文章。

有本人了解的知识点解析

在写了一些“笔记型”文章后,我发现成果不好,不仅仅是没什么人关注,甚至对本人帮忙也不大。常常是写了没多久就忘了,须要的时候还要回过头来看看笔记,我开始意识到,这个景象的实质是,你写的货色是笔记,核心思想都是人家的,或者是本人七拼八凑的,整篇文章没有本人的逻辑,没有本人的见解。于是,我开始尝试在文章中退出本人的见解,过后正好组内有小伙伴对“JS 原型链”了解的不是很透彻,网上尽管有很多相似文章,然而很多都是从外表来解释“原型链是什么”,画的图也很简单,不是很好了解。于是我尝试本人写一篇原型链的文章,因为我晓得他能够实现“面向对象”的特色,这是很多其余文章都没怎么提的,但却是设计者最后可能想要实现的成果,于是我类比 Java 的面向对象,从面向对象的角度讲述了原型链的作用以及他存在的意义,就是这个:轻松了解 JS 中的面向对象,顺便搞懂 prototype 和__proto__。这篇文章上了掘金首页举荐,最终取得了两百多赞,一万多浏览,这让我开始意识到,“有本人了解的知识点解析”在掘金可能更受欢迎。

在这之后,我开始无意识的在整顿常识架构时退出本人的见解。那对于一个知识点,怎么产生本人的见解呢?这须要在学习时多问本人几个问题!比方,学习 HTTPS 时,除了跟大家一样搞清楚 HTTPS 的加解密流程,握手过程外,我问了本人一个问题:“HTTPS 有没有可能被破解?如果我是个黑客,如果我想破解 HTTPS,有哪些办法和路径?”带着这个问题,我从“破解 HTTPS”的角度讲述了 HTTPS 的原理,这篇文章也上了举荐,取得了一百多赞和好几千浏览:RSA 初探,聊聊怎么破解 HTTPS。

尝到点苦头后,我更加留神在学习中反诘本人问题,退出本人了解了。有时候在学习他人的货色时,我发现了他人没发现的一些点,也能够从这个角度退出本人的独到见解,写成本人的文章,比方某视频课程在讲述 JS 的事件循环时说:“setImmediatesetTimeout 先执行”。听到这句话,我敏锐的感觉不太对,因为我已经遇到过 setTimeoutsetImmediate先执行的状况,然而具体是啥状况我一时想不起来。于是我花了点工夫把这个问题和原理彻底弄清楚了,并写成了本人的文章:setTimeout 和 setImmediate 到底谁先执行,本文让你彻底了解 Event Loop。这篇文章最终也取得了一百多赞,大几千浏览~

深刻源码,探索原理

JS 常识体系尽管宏大,然而究竟是无限的,很快我就写了十几篇 JS 的文章,内容蕴含了内存治理,深浅拷贝,面向对象 (原型链),this 指向,事件循环,变量类型,作用域等等。这些曾经囊括了 JS 的次要知识点,JS 上我曾经很难找到新的写文章的点了。

于是我的文章内容开始转向我应用的框架,这几年我次要应用的 React 技术栈。于是我筹备重新整理学习 React 技术栈,当然不是学习他的用法了,毕竟我用了几年了,用法早就相熟了,这次我要学的是他们的源码和原理。源码和原理绝对于 JS 常识和框架应用办法来说要难得多,受众也小的多,对于读者来说也很难产生间接的收益。因为读者可能看个 JS 知识点,进来面试就能应酬大部分的 JS 面试了,除了些大厂外,也不是每个公司面试都会问源码,而且这些受欢迎的开源库是各位大牛致力写作的成绩,外面汇聚了各种 JS 的高级用法,各种高级编程思维和设计模式,所以即便我尽量写得深入浅出,层层递进,相较于其余文章来说依然会显得更加艰涩难读。所以这类文章在掘金取得的赞和浏览并不可观,我大量的源码解析都只有三四十个赞,这外面还有一半左右是我厚脸求敌人共事们点的(这点我前面在讲推广的时候会说)。

对于作者来说,写源码类文章须要去读框架源码,也会很花工夫。我写一个 JS 知识点的文章,因为货色都是我相熟的,可能几天就搞定了,写完了还会有上百的赞。然而一个简单框架的源码解析,比方 Express.js,我须要一点点的去读,去调试源码,成文可能须要两三周,写完后可能依然只有三四十个赞。从社区声望增长这个角度来说,性价比极低! 然而我始终没有放弃这类文章,甚至当初成了我次要的写作方向。为什么?因为人总要冲破本人的舒服区,摸索未知的畛域,最终能力学习到货色,取得成长!这其实回到了文章结尾就提出的问题:“你为什么要写技术文章?”对于我来说,这是我学习的路径,所以如果这个过程我可能学到货色,可能感触到成长,我就会保持去做,即便他在其余方面性价比很低!另外我的源码类文章尽管在掘金反应不是很好,然而在其余平台,比方思否,还能够,所以其实也是有回报的。

好了,说了这么多为什么要写源码解析,当初来谈谈怎么写源码解析。后面说了,在我从事技术写作之前,我根本不懂源码,是货真价实的“API 工程师”,那会儿我也是一提到源码就心慌,齐全不晓得从何下手。起初我忐忑的突破本人的心理障碍,屡次尝试之后找到了一个看源码的套路。其实再???? 的框架或库实质也是 JS 代码,所以咱们能够用一种简略纯朴的办法去读,这其实也是大家常常在用的办法。设想这样一个场景,你们公司一个运行很久的我的项目出了点问题,你领导让你去考察下。因为这个我的项目你之前没有参加,当初贸然叫你去解决 BUG,你是不是要先重复复现问题,而后找到相干的代码块,调试这些代码并找到 BUG 起因,而后将它修复。看源码的时候咱们齐全能够用相似的思路去看,先放大范畴,只看这个库的外围代码。比方 Koa.js 外围用法其实只有这么点:

const Koa = require('koa');
const app = new Koa();

app.use(async ctx => {ctx.body = 'Hello World';});

app.listen(3000);

你就把它当成你当初须要接手的老我的项目,为了弄懂他的运行逻辑,看看这段代码外面他裸露了哪些 API,而后一个一个去调试下就行了。就下面这几行代码而言,其实只有三个 API:

  1. Koa
  2. app.use实例办法
  3. app.listen实例办法

花点工夫去源码外面找到这三个 API,并看看他们是怎么实现的,在看的时候,把次要逻辑剥离进去,本人实现一遍,同时把整个过程记录下来。等你把这三个 API 实现都看懂了,其实一篇源码解析的文章也就进去了,同时还能够产出一个迷你版Koa:手写 Koa.js 源码。

从工作中总结

其实很多公司都不是技术驱动的,技术只是实现业务的一个伎俩而已,这就造成很多公司的一个我的项目都是从另一个我的项目抄抄改改就能用,很多人 (包含我) 在这种环境下待久了,缓缓就成了“API 工程师”,最相熟的其实是 CV 大法。然而每个公司的业务其实在某方面都有本人肯定的独到性,不然也活不下来,在实现这些比较复杂的业务时,有时候咱们也会用一些比拟有意思的办法,有时候咱们可能花了很多工夫去实现他,然而过后又缓缓淡忘了。其实对于这些有肯定技术含量的工作,咱们也能够总结下,而后写成文章,缓缓积淀下来成为本人的技术。我就从工作中总结了三篇文章,有的反应还不错:

  1. 速度进步几百倍,记一次数据结构在理论工作中的使用
  2. 应用 mono-repo 实现跨我的项目组件共享
  3. 旁门左道性能优化:魔改三方库源码,性能进步几十倍!

推广

有句俗话说:“酒香不怕巷子深”。然而这个并不适用于当初的互联网时代,互联网时代是信息爆炸的时代,如果没有适度的推广,即便你的内容很好,最终也会吞没在信息的洪流外面。好内容的推广对于社区,读者和作者来说其实是三赢的。

对于社区来说,如果有大量优质内容提供给读者,口碑就会很好,读者会违心长期待在这个社区学习,并可能会被动举荐给敌人。所以很多社区的编辑很大一部分工作就是被动挖掘好的内容,并推送给更多的用户。

对于读者来说,好内容的推广能够学习到更多货色,而不是终日被一些低质量内容霸屏。

对于作者来说,好内容的推广能够取得更多关注,更多的社区声望,激发创作激情,从而造成正向激励,产出更多高质量内容。

然而推广有一个很大的前提:推广的内容肯定要是高质量的内容,不然会起反成果

所以我的技术写作,我也尝试了多种推广形式和渠道,不同的形式成果不一样,我用过的形式次要有:

  1. 各种 QQ 群,微信群分享
  2. 找敌人,共事帮忙点赞
  3. 找社区编辑帮忙举荐
  4. 多平台公布
  5. 文章互相援用
  6. 经营微信公众号

上面就这些具体讲述下:

推广的前提是高质量

在推广之前,肯定要确保你推广的内容的品质,至多要是你用心写的,兴许你当初只是一个初学者,写不出浅近内容,然而你写的内容肯定要是你用心写的,要让读者感触到你的诚意。如果只是简略的面试题拼凑,甚至外面的答案都是错的,你还拼命去推广,你推广的越多,只会让更多人晓得你写的货色不好,没诚意,可能还会被很多人留言怼。就像结尾提到的那个例子,如果一味的为了“刷声望”而去拼凑内容,大量推广,你声望可能会涨得很快,然而,同时也会让大量的人晓得,你写的货色不行,没诚意,甚至可能被大佬怼到不敢露面。

QQ 群,微信群分享

我开始写文章时喜爱写完了就分享到一些 QQ 群和微信群,然而成果并不好。常常是分享到一个几百人的群,过一会儿去看,浏览量涨了几百,然而赞一个没有。。。当然也可能是我晚期的“笔记型”文章品质不高,所以获赞不多,比方后面提到过的各种 CSS 居中计划,我就分享到过很多群,最终有三千多浏览,然而赞只有三十来个。。。所以我当初曾经根本不乱分享了,收益太低,还可能被当成打广告的遭厌弃。

找敌人,共事帮忙点赞

这条次要是针对掘金平台的,因为掘金的赞多了能够降级,升到 4 级就是“优良作者”,能够主动上首页。所以我在掘金公布后,会分享给关系好的共事和同学,因为关系很好,他们根本都会帮忙点个????。然而这部分老铁人不多,总共也就十几个。

找社区编辑举荐

这其实是成果最好的一个推广渠道,能够分割社区编辑,将写好的文章链接发给他,编辑在审核后,感觉能够的会举荐到社区首页,这会大大提高曝光量。以掘金为例,个别我上首页举荐的文章,至多都会有十来个赞,浏览少说几百上千。加上后面敌人点的赞,我一篇文章起码会有三十来个赞,加上浏览量转换的掘力值,一篇文章至多会有四五十的掘力值。有一段时间,我就以这个为基准在那里算:我再写一百篇就能够升 4 级了,哈哈???? 当然如果出了爆品,某篇文章取得了成千盈百的赞,会大大减速这个过程。

其余社区,比方思否,开源中国,找编辑举荐成果也是十分好的,他们有作者举荐群,能够分割编辑加群,有好的内容就能够发到群里求举荐。

多平台公布

中文社区其实还是挺多的,我最开始是在掘金写文章,然而粉丝最多的平台却是思否,集体粉丝将近两千,专栏粉丝一万多。所以你文章写好后,能够公布到多个平台,兴许这个平台不火的文章在另一个平台却火了。目前对于我来说成果还不错的平台有:掘金,思否,开源中国和博客园,上面我就这几个平台的特点来细说下:

掘金

掘金最大的特色是等级制度,等级到 4 级能够解锁成就:掘金优良作者,而后公布的文章能够主动上首页,能够大大提高曝光量。另外编辑也很负责,会被动寻找优质内容举荐到首页,所以如果你继续输入优质内容,篇篇被举荐也是有可能的。

思否

思否最大的特点是涨粉很快,因为新用户在注册思否时会举荐一些专栏和作者给他关注,如果你足够沉闷,就能够进这个举荐列表。思否每年还会评定“Top Writer”,每年 15 人,因为名额少,所以比掘金的“优良作者”还难点,如果被评上了“Top Writer”,会有一段时间的流量反对,涨粉更快,我评上后最多的一天涨粉上千。另外思否的技术团队也很负责,有什么问题在群里反馈了很快就能失去答复,有时候 CEO 还会亲自回复????。

开源中国

开源中国流量也不错,如果被举荐上首页,至多会有一两千的浏览。另外在他的博客站点首页还有个“精彩博客”栏目,如果呈现在这里,能够挂很长时间,下图中这篇文章:速度进步几百倍,记一次数据结构在理论工作中的使用是我 1 月 6 号公布的,到明天,2 月 23 号,一个多月了还排在这个栏目第一,单篇浏览始终在涨,曾经有 4.7 万了。

而同样一篇文章我也公布到过掘金,只有三十来个赞,成果很个别,所以多平台公布还是有益处的,这个平台不火,另一个平台说不定就火了。

博客园

博客园最大的特色是在公布时能够本人抉择上首页,当然如果你品质不好,还是可能会被编辑撤下来的,我以前就被撤下来过。因为能够本人决定上首页,所以博客园的首页刷新很快,一会儿就被吞没了,所以单篇浏览量不高,可能只有一两百。然而如果你能取得编辑的特地举荐,呈现在这个地位,流量还是能够的:

我有两篇取得过编辑举荐,最多的一篇有近万浏览,少的也有三四千,这个地位只能待一天,所以其实还是不错了。

另外,我还试过 CSDN,知乎,腾讯云社区等,因为成果不是很好,曾经没怎么经营了。大家晚期时能够尽量多公布几个平台,而后看看哪个平台成果好就重点关注,成果不好的就能够放弃了,因为经营平台过多也会消耗大量精力,选性价比高的弄就行。

文章内互相援用

因为我写的货色成体系,所以一篇文章 B 可能会用到以前写的文章 A 的常识,那我就会在文章 B 外面援用文章 A,这样读者可能就顺着去看文章 A 了。这样有肯定的成果,有时候很久前写的文章会被点赞,就是这么来的。

经营微信公众号

我写了一段时间后,会有敌人给我留言,心愿转载到微信公众号,这种状况遇到几次后,我就在想,我为啥不本人弄个公众号,于是我就开明了一个公众号进击的大前端。据说微信公众号还能赚钱,说不定我还能赚点外快,到目前为止的确有一点点支出:

  1. 取得赞叹支出 7 元,其中 5 元是我老婆给的
  2. 取得广告支出 1.84 元

这个支出还真是一点点????,次要是因为我经营比拟佛系,发的内容次要是原创,粉丝不多,新增粉丝次要是文章前面的广告和其余号主转发带来的。广告我也只放了文末广告,文中广告都没放,怕影响用户体验。

有一段时间我也想过要不要鼎力经营,每天转发更新内容,然而每天发内容须要寻找稿子,审核稿子,也须要不少工夫。而我目前的次要精力在学习和原创内容上,就没弄了,先佛系经营着吧。

总结

本文总结和分享了我这一年从事技术写作的心得体会,对这一年进行了回顾,同时也心愿给想往这方面倒退的敌人提供一个参考。上面再对内容进行一个简短总结:

  1. 从事技术写作的目标最好是 学习和分享,而不是单纯的刷声望。
  2. 写作内容能够是:

    1. 简略的学习笔记:因为是简略的记录他人的内容,成果可能不是很好
    2. 有本人了解的知识点解析:有本人见解,也有肯定难度,但又不至于艰涩难懂,受众广,在社区容易受欢迎。
    3. 原理和源码解析:内容较难,受众略小,在社区不肯定受欢迎,然而对于本人的成长十分有用。
    4. 从工作中总结:留神总结工作中有价值的技术内容,而不是做单纯的“API 工程师”,在工作中实现技术积淀,两全其美。
  3. 适度的推广是社区,读者和作者的三赢,然而推广的内容肯定要是高质量的,不然可能会起反成果,个别推广伎俩有:

    1. 各种群分享:成果不好,常常是浏览量涨几百,赞一个没有
    2. 分享给敌人,共事:晚期有用,能够保底有几个赞,然而数量毕竟无限。
    3. 社区编辑举荐:最有用的形式,能够大幅提高曝光量,然而品质肯定要过关才行。
    4. 多平台公布:写了文章后能够尝试发到多个平台,兴许这个平台不火的另一个平台火了。
    5. 文章内互相援用:有一点成果,能够让很久前写的文章依然取得大量曝光。
    6. 经营微信公众号:据说能赚钱,然而我佛系经营,目前总收入不到 10 块。

最初感激各位读者的浏览,点赞

感激各位公众号号主的转发

感激掘金,思否,开源中国,博客园等平台的大力支持

你们的反对始终是我继续创作的能源

欢送关注我的公众号进击的大前端第一工夫获取高质量原创~

“前端进阶常识”系列文章源码地址:https://github.com/dennis-jiang/Front-End-Knowledges

正文完
 0