作为一名有追求的程序猿,我是不会满足于每天重复性的搬砖和写 bug 的。为了能够让自己显得更有"价值",我决定去做一件非常有意义的事情,那就是写技术博客。因为我觉得"分享"才是我们程序猿最高尚的品格,因为在我刚入这一行的时候,也是无数的前辈们,通过他们字字带血的技术文章,才让我少走了许多弯路,少踩了很多次坑。现在,也是轮到我回报的时候了。
刚开始的时候,也是最困难的时候。因为肚子里没什么货,所以根本就不知道要写什么。
我开始着手写技术博客大概是在 2018 年的 3 月份左右,那时候主要是工作不是很忙,所以才能有闲暇时间去做自己感兴趣的事情,比如:倒腾代码和写博客。后来渐渐的养成了习惯,一有空就要倒腾个几篇技术博客出来,目前算下来也有个 70 多篇左右吧,由于都是原创,所以每一篇文章都需要花费我很长时间去构思和准备。
刚开始的时候, 因为肚子里没什么货,所以根本就不知道要写什么。我思前想去,既然没什么可写的,那索性就不写了吧!我也不想为难自己,毕竟这本身就是件业余兴趣,我也不想把它作为任务。
可能你以为我就这样放弃了?不不不,你想多了,我是不会这么容易就放弃的。我当时在想,既然我肚子里没什么货,那么我现在首先需要做的事情就是先让自己肚子里有货。于是我做的第一件事情就是整理,整理我这些年在工作中的经验和感悟,以及我平时业余倒腾过的代码。
由于当时我比较热衷于逛 GitHub,尤其是对 GitHub 上那些大神们精湛的技术以及巧妙的设计思想所吸引,所以我当时给自己定的方向就是做"开源"项目,目标是能在一年内作出一个 star 过百的项目。
说干就干,我立马开始着手我的第一个开源项目 XPage , 那段时间可以说我是白天在公司敲代码,下班回家吃完饭也继续敲代码,经常能敲到凌晨 1、2 点,有的时候能干到 3 点多,然后第二天照常 8 点半起床上班。说实在的还是挺佩服我那时的冲劲儿的。
下图是我 GitHub 账号的代码提交统计,从图中可以明显感觉到从 2018 年的第一季度开始,我的代码提交数量是达到了几何倍的爆增。在 2018 年的第二季度达到了 416 次,平均下来一天 4.6 次的提交,这想想是有多么疯狂。之后基本上每个季度都保持在 150~200 之间,这样平均下来基本上每天都至少提交有一次。
当然,光是闷着头写代码是不够的,我还是希望有更多的人能够看到我写的东西,尤其是开源项目,要是没有人看到或者没人参与进来的话,岂不是没有任何的价值…
于是乎,我开始寻找各种渠道能够让更多的人看到我的开源项目,下面是我简单列举的渠道(Android):
从上面 Android 的技术分享论坛目前的维护状态来看,和 2015 年的时候相比,Android 确实凉了不少啊。
最终,在我的不懈努力,持续输出了 3 个月后,我迎来了我的第一个 star 过百的开源项目:XPage
,这比我的预期目标整整提前了 9 个月!有了这一次成功后,我更加坚定了我做"开源项目"的决心,随后又陆陆续续地写了很多的开源项目。
在经历了初期的疯狂撸码模式以及疯狂推广模式后,下面需要我考虑的就是该如何写技术博客了。
最开始因为没有什么写作经验,所以写的内容基本上是以我的开源项目的推广文为主,主要就是把开源项目的 readme 直接就搬了过来,然后在首尾加上推广的链接基本上就差不多了。
就这样写了三个月后,我发现虽然篇篇都是原创,而且也都是满满的干货,但是我却发现文章的浏览量并不是很多,除非你写的内容是行业内比较有名的项目,比如说 Google 的 DataBinding
、Navigation
等内容。
后来我尝试写了几篇源码分析的文章,发现阅读量更是少得可怜。之后我又写了几篇关于经验感悟、设计模式等内容,发现阅读的人也同样不是很多。
做了一段时间后,我才渐渐地发现那些阅读量高的文章,基本上都是如下几种类型的文章:
RabbitMQ实现即时通讯居然如此简单!连后端代码都省得写了?
拜托,别再问我怎么自学 Java 了!和盘托出
Vue + Spring Boot 项目实战(一):项目简介
Flutter完整开发实战详解
JavaScript内存泄露的4种方式及如何避免
Android 解决竖向RecyclerView嵌套横向RecyclerView时的滑动冲突
史上最简单的 SpringCloud 教程 | 终章
手把手教你使用腾讯的热修复框架-Tinker
打工四年总结的数据库知识点
程序人生|从网瘾少年到微软、BAT、字节offer收割机逆袭之路
Android Studio 4.1 发布啦
Flutter 升级 1.12 适配教程
除了文章的类型要选对外,文章的内容也同样非常重要,这就要求我们要注重写作的技巧:
有的时候,即使你文章选型好,内容也不错,但是可能发表了很多天也没什么阅读量,这是为什么呢?
有的时候,同样一篇文章,你在这个平台上的阅读量却远远低于另一个平台的阅读量,这是为什么呢?
这时候就涉及到平台的特性问题了。就打一个最简单的比方,同样一篇技术文章,你在 CSDN 上的阅读量会远远地高于哔哩哔哩,而同样的一个技术教学视频,你在哔哩哔哩的阅读量会远远地高于 CSDN。很显然,哔哩哔哩是做视频的平台,而知乎是做问答的平台。
下面我就简单列举几个常见技术交流平台的特性:
CSDN
老牌技术交流平台,做技术博客起家,用户量庞大,但质量鱼龙混杂,博客内容以解决问题型、指南型、基础技术型文章为主,是博客新手练手的好地方。
掘金
掘金是新晋的技术交流平台,在技术新人圈内比较火,由于有沸点模块的存在,所以成为划水圣地也是情理之中。用户量偏小,博客内容偏爱新技术,博客整体质量较高。
简书
简书,综合型的创作、写作平台。虽说是非技术博客起家,但因其界面美观而深受大家喜爱。就技术博客内容和 CSDN 类似,不过整体质量要高一些。但是平台曾经违规导致被网新办请去喝茶,所以现在审核非常严,对作者也不尊重,动不动就把之前发表的文章全部给禁了,导致很多人已经开始抛弃它了。
知乎
知乎,又被戏称为"逼乎",做知识问答起家,综合型的交流平台,平台知名度较高。但是由于是做问答起家,所以技术博客这块的阅读量也并不是很大。
思否
思否,又名 segmentfault,中国版 stackoverflow,技术问答平台,整体偏向前端,用户量和掘金差不多,不是很大。
就这样,我根据以上的原则,开始不断地学习,不断地在各大技术交流平台输出文章,终于有了一点小成就,成为了 CSDN 的签约博客专家,在掘金和知乎上都收获了近 2k 的粉丝,每天各大平台文章的阅读量加起来大概也有近 1000 次左右。
说老实话,写技术博客这条路并不好走,需要你不懈的努力和坚定不移的信念,否则你很容易因为一些琐碎而放弃。
在做了一段时间技术博客小有成就之后,我并没有开始懈怠,那时我发现那些做得好的博主早已开始运营自己的微信公众号了,于是我想也没想,在 微信公众号 官网申请表上填了一堆信息后,我开始了微信公众号的尝试。
刚开始写第一篇文章,打开微信公众号文章编辑器的时候,我就傻眼了:因为在此之前,我写博客都是使用的 Markdown 编辑器,而微信公众号并不支持这一编辑器。不光如此,微信公众号编辑器对文章中链接有严格的规定,非微信公众号文章链接都将失效。
不过说到底,这些东西都是可以克服的,然而最难克服的还是这流量问题。由于微信公众号文章是非开放的,所以在创建初期基本是没有任何阅读量的。其次就是即使你有了一点的关注者,但是微信公众号文章推送的点击率又是非常低的,能达到 20% 的点击率已经是非常不错的了。
虽说微信公众号有很多劣势,运营起来非常困难,不过由于它拥有自动回复,自定义菜单,话题标签等功能,用它作为我开源项目资料的管理和引流平台还是非常不错的。
下面是我这两年来倒腾博客用过的好的工具和平台,分享给大家,仅供参考。