科技博客
互联网
程序员
信息技术(IT)
技术博客

如何开始写技术博客,怎么选择?

程序员工作两年越来越觉得开通自己博客的重要性,积累自己的知识的同时也可以更好的梳理逻辑,现在有两个问题 1 在开始写博客最好写一些什么方向的内容?怎么…
关注者
1,059
被浏览
522,983

62 个回答

  • 有很多技术人员在学习到一定程度后发现了写博客的重要性,一方面帮助自己记忆,一方面也能帮助他人解决问题,于是会选择自己开始写博客,之后又发现平台太多不知从何下手,在这里我根据自己写博客的经验比较一下各个平台的优缺点。
  • 这里主要对比CSDN博客园简书知乎专栏Github Page个人建站其他

CSDN

笔者是CSDN的长期用户,也见到了很多不错的CSDN博客

  • 优点
    • SEO做得好,无论是百度还是google(尤其是百度)在搜索问题的时候排名靠前
    • 阅读量高,从头开始写也不怕没人看,有排名,对于追求阅读量的作者会更有动力写
    • 博客内容基本限定在计算机领域上
    • 博客写完发表即可,不需要做额外的事情,还有要提的是支持数学公式流程图编写,其他的博客我不太清楚
    • CSDN除了博客外还有很多其他资源,比如源代码下载、课程学习等,对有需求的作者有吸引力


  • 缺点
    • 界面不够好看,无论PC端还是移动端
    • 博客定制性差,基本只能调整下模块位置,换个固定的显示模板,最多加个友情链接
    • 广告多,右下角、左下角、文章下面经常有广告出现
      • 下图就是广告聚集区,无法忍受有强迫症的同志一定要慎重





博客园

博客园是除了CSDN外,另一个比较早专做技术博客的网站

  • 优点
    • SEO不错,尤其是在百度上,博客园上面也经常有不错的专题类文章
    • 阅读量有保证,和CSDN很像,不提供排名机制
    • 博客内容基本限定在计算机领域上
    • 界面好看了一些,给博客管理者较大的定制空间,见到过一些自己定制的博客,比CSDN强很多
    • 广告在最下方不会很影响心情


  • 缺点
    • 平台给人一种陈旧论坛的感觉,博客园作为较早的技术博客空间提供者,即便界面上比CSDN上整齐了一些,但依然不够fashion
    • 其他可用资源较少,除了写博客看文章之外,其他的业务不够吸引人
    • 博客园定制的博客也不够fashion,甚至很多花花绿绿的,这种定制性某种程度反而造成了定制的博客也难看,而且不整齐,经常会访问了一个博客甚至不知道是博客园的
      • 比如说下图就出现了格言出格的现象,移动端就更是惨不忍睹了
      • 再下面的两张图分别是登陆页和首页,也是满满的陈旧感









简书

简书也是笔者曾经考虑并且实际去操作过的博客网站

  • 优点
    • 界面是真的简洁、简单、简直了,和前面两个一比真是好看,从首页到文章页,包括markdown的字体、代码排版,都可以看出来是个现代化的网站设计风格
    • 移动端适配的也非常好,这里为什么要单列出来呢,因为其实移动端的流量某些时候要比PC端多得多,所以移动端漂亮是非常重要的
      • 放一张简洁的图





  • 缺点
    • SEO不好,简书更多的想将文章做专栏分类,然后让读者在简书内部阅读到,所以在搜索引擎上的SEO要差很多,笔者之前发了几篇文章,阅读量基本都是0
    • 发完文章后要做专门的分类提交,比较麻烦,否则就是上一条的没有阅读量,提交后阅读量大概能有一些了,但是也不算多,和前面两个没法比,以CSDN为例,发一篇文章解决一个报错时间长了也能有几千的阅读量,但是简书可能就达不到这个水平了
    • 文章内容不专注于计算机技术领域,情感呀、八卦呀、鸡汤啊,这些某种程度才是简书上的主流,和微信公众号有点像,大部分情况都是蹭热点、标题党、大V的阅读量会较高,如果你只写技术博客,还希望更多人看到的话,那简书可能不是最好的选择
    • 其他技术资源很少,除了阅读博客之外,可以考虑看看设计、看看故事,如果只是一心学技术的话那可能会失望了
    • 没有个人定制性


知乎专栏

知乎专栏笔者虽然没有自己发过,但是也读了很多,身边也有人在发,所以也有一定的发言权

  • 优点
    • 知乎这个平台好, 知乎积累了很多大V,而且由于内容的价值高,在知乎上得到更多的关注会有很高的商业价值
    • SEO一般,知乎的问答搜索引擎收录的非常好,但是专栏还差一截,但如果你是知乎的资深用户,那么吸引人阅读专栏也不是那么难的事情,也可以考虑多去回答问题给自己的博客打广告
    • 知乎可以说就是现代前端的前驱,在我写了这样一段话之后,大家应该知道了,它的界面设计无论从产品还是技术的角度上都是非常棒的,某种程度上比简书还简书,页面很舒服漂亮
      • 产品上,知乎专栏文章的简洁和简书比有过之而无不及,甚至更让人看着舒服,在细节上,PC端简书的导航栏一直在上方,但是知乎会自动隐藏让读者能看到更多有用信息
      • 技术上,简书应该是使用了vue,知乎是完全react来构建的,响应式布局上知乎也是完全无缝对接,从下图就可见一斑,简书在界面变小的时候出现了下图中的问题,但是知乎没有,比较链接: 知乎文章, 简书文章





  • 缺点
    • 知乎上内容也不是只针对技术来做的,其他的内容也会混杂很多
    • 没有定制性,都是知乎的那套简洁的界面
    • 如果不常使用知乎这个平台去提问回答专栏可能很难被阅读和关注


Github Page

笔者也是个github page的使用者,也尝试着写过自己的主题

  • 优点
    • 定制性强,属于静态网站,博客代码都能看到,都是开源的,想怎么改怎么改,只怕使用者不会改,即便不会改也有非常多的开源代码提供使用,足够挑选,从nodejs出的hexo到ruby的jekyll,有大量的主题可供挑选,还可以关联自己的域名
    • 能学习一下git和github的使用
    • 能学习一下web开发




  • 缺点
    • 在百度上seo非常差,google上还好,github限制了百度的索引,所以github page上的博客不用想了,百度上很难被搜索到,能看到个主页就不错了,所以基本很少有人阅读你的博客,虽然还可以考虑把博客挂在 coding.net上,但是由于要收费一年几百,所以也不是完美的解决方案
    • 写博客比提供好的平台要麻烦很多,因为要在本地编辑然后部署代码,无论如何也比不上在网页上编辑一下就发出去的快速
    • 有一定的开发难度,如果没做过web开发很多地方都要学习,周期会长很多


个人建站

这个方法在最开始的时候笔者本人也尝试过,后来由于成本问题不再做了

  • 优点
    • 定制性最强,可以搭建动态网站,这回连github这个平台都不用理了,服务器都是自己的,想怎么弄怎么弄,以wordpress为代表的博客平台一样有很多可供选择
    • 可以自己想办法做seo,优化网站被收录
    • 能好好学一下web开发


  • 缺点
    • 开发难度最高,从购买服务器、域名,到运行代码、修改代码、部署,再到后期做SEO,这一套下来估计web开发是什么样的心里也大概能有点数了
    • 成本最高,上述所有的方案都是免费的,个人建站要花钱买服务器,买域名,花销最少也要几百块出去(学生认证除外)
    • 乐趣很难在写博客上,可能会发生如下现象,基本都花时间折腾网站开发了,等弄好了发现SEO太差根本没人来看,还不如去上面找个平台写呢




其他

近两年新兴起的比如说segmentFault、稀土掘金,这些也可以作为选择,尤其是稀土掘金,内容做的还是很不错的,喜欢哪个平台就大胆的去写吧

  • 个人见解基本就这些,有些说的不对的地方还望指正,欢迎讨论
  • 其实说到最后每个方式都有自己的优缺点,没有十全十美的解决方案,当然最重要的是,别分析了半天最后自己的博客还是一个字没动。。。。。。-_-!行动起来才是最重要的
  • 最后希望大家都能有个自己喜欢的个人技术博客

厚颜无耻求关注公众号"编程如画",目前在更新LeetCode,可领100本高清评分高的计算机电子书,点击链接扫描二维码

编辑于 2020-01-31 20:23

新的一年,我们观远也开始尝试团队技术博客的形式,推出了 观远技术团队博客 这个新专栏。后续我们会在这个专栏收录观远各个技术团队的相关分享,专注于 BI+AI 数据智能领域的话题,包括前端,后端,算法,运维,测试等多个技术方向,欢迎感兴趣的小伙伴们订阅关注。对于文章中的问题,也非常欢迎大家来一起探讨,提供更好的建议,如果觉得我们的文章还不错,也请多多点赞转发支持哈。

为了便于团队同学一起参与到技术博客的撰写中来,我这边也专门写一篇如何写技术博客的分享,与大家一起探讨学习。

为何要写技术博客

关于这个问题,已经有很多大佬给过建议了。对于我个人来说,写技术博客主要有以下几个出发点。

加深知识理解和掌握

程序员群体很多都挺爱学习,大家经常在工作之余看些技术书籍,刷一些公开课来开拓视野,提升技术水平。不过仅仅有“输入”其实是很难真正掌握一些知识的,我们需要结合各种方式的“输出”来验证自己所学的知识,比如动手实现一些原型,在公司项目中进行应用,或者做一个分享,写一篇博客来将这个新知识讲述给别人。当你在撰写技术博客时,会更加立体地去思考技术点背后的“What,Why,How”,很多读书过程中没有想到的细节,或者背后潜藏的发展历程故事,都会在撰写过程中去不断挖掘完善。所以很多时候我们也会说,做分享其实收益最大的并不是听分享的人,而是做分享的

完善个人“技术地图”

大家在工作几年后,逐渐会进入到某些特定的领域进行深入的发展,在这个领域中可能有许多相关的技术内容,背后有千丝万缕的联系,而一系列的技术博客也是帮助我们整理,完善这些技术点,进行更高层次的思考和融会贯通的一种途径。一个比较有意思的例子是大数据和分布式系统领域的神书《 数据密集型应用系统设计》,书中附带了很多关于这个领域的“技术地图”,非常的高屋建瓴。后续有新技术的出现,我们也可以“映射”到这幅地图上去做整体性的思考,利用已有的积累和框架去快速理解新事物的差异点和创新之处。持续积累了一定数量的高质量博客后,我们还可以考虑出一本书,进一步扩大影响力 :)

提升写作与沟通能力

这方面的能力对于技术人员的职业发展也是相当有帮助,之前在我的 资深工程师之路系列 中也有所介绍。做项目不光光是架构设计,代码实现,测试,发布运维这些偏技术的内容,也非常需要项目意义的阐述,业务需求的沟通,架构设计的讨论与宣导,项目应用的推广与运营等跟沟通紧密相关的重要环节。无论你想成为独当一面的技术大牛,还是带领团队的 tech lead,写作沟通都是非常重要的技能,需要持续投入,刻意练习。

拓展人脉圈

个人的力量总是非常有限的,而如今的技术发展又是日新月异,高速迭代。很多时候与其他专家的交流探讨能大大提升你对某些技术领域的理解,甚至在公司急需某个方向专业人才的时候还有机会可以直接邀请大佬的加入,一起干一些大事 :) 运营优秀的个人/公司技术博客或开源项目,是一种非常好的打造技术品牌的方式,大佬肯定是更喜欢跟高水平的同僚探讨合作的嘛。

生活记录

当然也有很多技术人也会写一些生活化的博客文章,比如 pluskid 大佬的博客 里就有很多旅行,绘画,读书等方面的内容,读起来也是精彩纷呈。平时写写博客记录生活,抒发情感也是一种很好的消遣方式,说不定以后我也可以尝试一下 :)

如何写一篇技术博客

这个部分,我们主要来介绍一下写一篇技术博客的整体流程一般是怎么样的。

明确主题

比较常见的技术博客选题方式有几种:

  1. 针对工作领域体系性的技术介绍。例如作为算法工程师,可以系统性地介绍所在业务领域的常见模型,他们的发展历程,背后的关联,优缺点等。后端开发也可以从各类框架工具,架构设计,系统组件等方面来选择相关的主题。这些选题可以和你个人的工作规划紧密的结合起来,例如这个季度打算做系统的云原生改造,那么就可以集中火力调研一系列这个方向的技术话题,并总结成文章。对于自己熟悉的技术,可以做深入剖析,或者做更高维度的提炼总结;对于一些不熟悉的新技术,也可以边学习,边记笔记,后续整理成博客文章。
  2. 实战中碰到的疑难杂症的记录。个人还挺喜欢看这类 debug 相关的文章,尤其是那些隐藏很深,难以复现的复杂问题,可以通过高超的工具和技术层层抽丝剥茧,定位到根因并加以解决的经历过程。如果说技术介绍的文章读起来像说明文的话,那么这种类型的文章就很像引人入胜的小说了。这类文章如果解决的是一类大家经常碰到的问题,被搜索访问的点击量也会比较高。
  3. 技术史话,人物传记,技术圈八卦的故事型文章。比较典型的代表有吴军老师写的《浪潮之巅》,飞总早年写的 大数据那些事,还有最近看到的 OneFlow 的专栏 科技星辰 等。这种类型的文章要写的好,一般都是大佬级选手了,需要在行业积累了足够的经验和视野,经历了技术发展的跌宕起伏,才能把控得游刃有余,读起来也是非常引人入胜。
  4. 还有一类很受欢迎的文章是“导航型”或者“经验分享型”的。例如我之前写的 算法工程师技术路线图,可能因为大家都或多或少有点“收藏就等于看过”,“看了一堆目录就等于全都看过”了的心态吧 :) 这种类型的文章受众也会比较广,很容易获得高点击量,不过对于写作者自身来说提升帮助并没有那么大。
  5. 外文资料的翻译和解读。有很多优秀的一手技术资料都是以英文形式出现在互联网上,例如顶级的学术会议,开源项目或者大公司组织的开发者大会,推特,HackerNews 上的一些新的文章和讨论,高质量的外文播客等等。我们也可以结合自身的一些经验,将这些内容翻译,搬运到国内的博客平台上。

大家可以根据自身喜好来进行选择,平时工作中也可以多留意可以总结提炼的知识点,后续汇聚成文。

调研学习

个人习惯在确定主题之后,先做一番已有相关文章的调研学习。比如在知乎,Google 上搜索一下中文世界中已有的相关文章,看看他们已经覆盖了哪些内容,深度和广度如何,是否有一些我们独有的认知没有被提到,读者有一些什么样的反馈建议等。如果发现已经有写的非常完善的文章了,个人无法作出多少额外的新贡献,我就会选择暂且搁置这个主题。无论是否继续撰写文章,整个调研过程也可以让我们学到不少新的东西。

素材积累

确定主题后,我们就可以开始着手做相关素材的积累,其中上一步的调研学习过程中,就可以把一些看到的比较好的资料记录下来。对于一些新的知识,这个素材积累的过程可能会持续一段时间,需要看更多的书,文章,视频等来不断丰富自己的理解。以我之前写的 走马观花 AutoML 为例,光看各种论文参考断断续续就花了 3 个月。养成了写博客的习惯后,我们就可以持续做这类的素材收集工作,对于平时的阅读学习来说也会更有目标性一些

确定大纲

开始正式进入到撰写阶段,我们可以整体浏览一遍之前积累的素材内容,做一些区分归类,然后把文章大致的框架脉络确定下来,比如可以把各层级标题先写下来,或者画个思维导图。对于现代读者来说,大段的文字很容易让人失去耐心,所以逻辑条理清晰的分段分层非常重要。这其实跟写代码时做一些模块划分的设计类似,个人比较习惯这种 top-down 的方式,后续写具体内容也会非常自然流畅。写好大纲之后可以从初学者的角度带入来体会一下整体的阐述思路是否清晰易懂,避免后期的较大的返工修改。

完成具体内容

如果前面准备工作做的比较充分,这部分的工作总体来说会比较顺利,比小时候写 800 字的作文要轻松得多了有没有。而且这部分可以有很多的自由发挥空间,比如有些人喜欢通过讲故事的方式来做串联,有些人会穿插很多精美的插图来帮助理解,有些人相对平铺直叙,就会看起来比较“干”(比如我)。这里有个小建议是除非文章的主题跟代码或数学讲解强相关,否则不要在文中加入比例过高的代码和公式,尽量以具体的例子,配图等方式来简化一些复杂的概念,能更好的帮助读者理解核心思想。这里比较好的范例是专门讲解数学的视频博主 3B1B,用很多可视化的方式把很多复杂的数学问题都讲得十分清晰透彻。

除了正文内容,我们也可以在其中穿插一些思考题,小故事等,保持读者的注意力,增加互动机会。比如王喆大佬之前写的一系列推荐系统的文章中每篇最后都会提一些问题来引发大家的思考和讨论,效果也非常不错。

审阅优化

完成撰写后,先别急着发布,可以以读者的视角再从头到尾读几遍文章,或者找一些朋友帮忙先预览一下。一方面确认整体的阐述上没有明显的纰漏或者表达不清的地方,另一方面也对于各种错别字,排版样式等进行最后的复核检查。很多时候我都会把文章在草稿箱里搁置个几天,看看过程中有没有出现一些新的修改完善想法,可以及时做补充,毕竟很多平台发布之后就不允许大幅度的修改了。

发布与运营

最后就是把博客文章进行发布了,我们可以选择的发布平台也有很多,例如微信公众号,知乎,掘金,SegmentFault,简书,语雀,CSDN,博客园等,也可以利用 Github 或者自建站的形式。由于目前平台选项的繁多,所以我们一般不会直接在这些平台进行撰写,而是把撰写和发布“解耦”,在本地撰写文章,然后再选择不同的平台去导入发布,具体的操作会在后面的工具栈环节进行描述。目前我个人选择的平台是公众号和知乎,前者方便在朋友圈做做推广和在手机上阅读,后者相对来说社区质量还算比较高,可以与大家一同交流学习,另外阅读体验上来说也比较清爽。如果读者规模到了一定量级,自建站也是一种不错的选择。

另外就是对博客的推广运营了,这方面说实话我并不擅长,所以整体的关注者和阅读量都一直比较低迷。一些比较通用的运营方法包括在文章中添加版权信息,历史文章的索引,在不同的社群和论坛做文章宣传,选择合适的时间段进行发布等。另外对于各个平台也有自己专门的推广方式,例如知乎上可以选择关注量较大的问题来回答,相比写文章来说天然流量会更大些。此外知乎也提供了内容自荐等创作推广功能。而微信公众号则可以设置一系列的自动回复,自定义菜单,话题标签等,提升关注者的互动体验。

工具栈

最后一个部分,我们结合上面的写作流程来介绍一下个人感觉比较舒服的一套工具栈。

选题与素材管理

这部分的工作,我一般采用待办任务和笔记的方式来进行,主要使用的工具是 Notion。

对于选题,可以创建相关的任务来做管理。我对于自己的要求比较低,工作之余一个月能产出一篇差不多就可以了……

素材方面,可以利用一些 Notion 模板来将看过的东西做分类记录,后续在写作时通过 tag 过滤来统一浏览。一些零碎的点也可以直接记录在待办任务页面里。


文章撰写

主编辑器

为了在多平台进行发布,我们可以选择相对通用的文本格式,如 markdown 来进行具体的内容撰写。早期尝试过一些专用的 markdown 编辑器,如 Typora 等,但后来发现在文章比较长,链接和图片比较多的时候,Typora 的性能出现了很多问题,非常影响写作体验。后续经过一番调研,选择了 vscode 作为主要的编辑器。Vscode 的整体性能还是比较优秀的,几万字的文章编辑起来也完全不会有任何卡顿。另外 vscode 的插件体系也很强大,有一系列帮助提高我们撰写效率的工具,例如我个人比较喜欢的 Markdown Image 来支持图片的插入和自动图床同步,Pangu-Markdown 来做中文文本的自动格式化等。

云端同步

使用很多在线平台都可以支持自动的云端同步,这样我们就可以在不同的电脑上进行文章的撰写,也不用担心电脑 down 机导致的内容丢失问题。不过 vscode 本身并没有这样的能力,所以我们需要结合云盘来实现类似的功能。因为我购买了 Office 365 的订阅,所以也顺理成章用了 OneDrive 来作为我们的云同步服务。使用起来也非常的简单,只要把相关 markdown 等文件存在电脑的 OneDrive 目录下即可,撰写过程中一旦有文件新增或保存,都会做自动同步。

此外,如果需要多人合作写一篇文章,也可以在此基础上再引入 git 来做代码同步。当然这个方案从实时性上来说还是比不上很多在线协同文档软件,但对于创作周期较长的文章来说基本还可以接受。


图床

前面有提到 vscode 的 Markdown Image 插件,其中就支持很多不同的图床。使用图床而不是本地文件的好处在于,我们后续上传到不同平台时,不会出现 markdown 中的图像链接解析不出来的问题,否则的话就得一张一张图片重新上传,工作量还是比较大的。图床服务本来想用七牛,但注册审核方面貌似比较麻烦,最后还是采用了更简单一些的 CODING 来进行托管,然后在插件中配置一下 access token 基本就可以了,后续有任何想要插入的图片,复制后使用快捷键 alt + shift + v 即可。当然图片本身我还是会在 OneDrive 的同目录下也保存一份,以免后续有云服务失效图片找不回来的问题。

备注:很多在线笔记平台可以做到上面三个工具的全功能,比如语雀,Notion 等,所以直接使用这些平台理论上也是可行的。但需要注意评估一下 markdown 导出之类的功能是否完善,比如链接,代码,公式,图片,各种格式信息的导出是否完整且符合通用标准,避免后续出现难以迁移发布的困难。

绘图

很多时候我们还需要自己绘制一些结构图来更好的阐述相关内容,之前我一般用 ProcessOn 或者 draw.io 这类相对正式一些的在线绘图工具。后来一个偶然的机会接触到了 excalidraw 这个手绘风格的工具,就立刻被吸引住了。虽然提供的图形很少,但基本够用,而且效果也很有“个性”,挺适合博客这类非正式场合的配图的。另外它还有个优势是可以使用快捷键,下面这个示意配图基本可以在 2 分钟之内快速搞定。


有时候绘图中我们还希望加一些不同色彩的区分,一般来说各种网站预置的色板都比较丑,我们也可以从一些工具网站参考更现代美观的配色方案,例如 coolors:


如果代码内容不多,又对字体,排版有比较高的要求,还可以试试这个生成代码图片的 carbon:


发布

Markdown 排版

由于微信公众号有一些限制,比如不能带外链等,一般在导入到公众号草稿前我们还需要做一些排版工作。目前我用的网站是 markdown.com.cn,可以选择一系列模板,并做一些 css 格式上的微调。这个网站还可以一键把外链转成备注信息,这点尤其实用。如果你正在微信公众号上读这篇文章,拉到最后就能看到效果 :)

值得一提的是,微信公众号的文章编辑页面自带了错别字检测功能,我在发布到其它平台之前也会用这个功能先做一下大致的检查。

题图资源

不同网站在做发布时可能还需要一些额外的操作,标题,简介这些常规的还是比较好搞定的,不过题图这个就稍微有些难度了。我目前一般会直接在正文配图中挑选一张,或者去 Unsplash 上搜索相关的图片来作为题图。也有很多作者会按照一定的风格来进行自制,也是不错的选择。

自建站框架

如果打算自建博客,那么可以用类似 hexo 之类的博客框架来帮助直接生成整个静态站,然后就可以直接部署在 Github Pages 上,连买服务器之类的都省了,相当方便。更复杂一些的 wordpress 之类的我个人就没有尝试过了。

写在最后

写技术博客还是一个需要长期坚持的事情,工作之后断断续续写了这么些年,公众号现在也只有 1000 粉丝,打赏基本也都是每次只有老婆支持一下 :) 不过持续下来对于个人的技术积累,沟通表达能力的提升还是相当明显的。从今天就开始动笔吧,下一个“技术网红”说不定就是你哦!

编辑于 2022-02-10 13:31

在开始写博客最好写一些什么方向的内容?


写作灵感不是想出来的,也不能依赖于它突然“冒出来”,而是需要你去“寻找”的,写作是有意识的行为。


从知乎寻找写作话题

知乎至少50万程序员,各个技术领域都有大量用户,听一听他们在问什么,他们问的很可能成为你的写作话题,至少能给你提供方向。

从国内技术社区寻找话题

国内技术社区很多,你擅长的领域也一定能找到专门社区,每个社区都有不少用户,他们谈论的东西,不少都可以成为写作话题。

从英文技术圈寻找话题

英文技术圈是寻找新技术话题的好地方,你google某个技术问题出现的搜索结果,可能中文技术圈还未涉及,baidu不到好内容的话题,这是写作的好机会,事实上国内不少成功的技术博主或多或少都使用这一模式,当好“搬运工”并不可耻,批判地借鉴国外资料,不要原样照搬就可以了。

从资料获得灵感

你平时看什么书,用什么资料,什么教程,它们是否给你印象深刻的东西,记下来,安排时间深入构思,组织语言自己说出来,就能成为不错的技术文章;实在构思不出东西来,好的资料值得推荐,为什么不写写推荐,虽然谈不上原创,但好东西写出来分享,其实对很多人都有用,是很有价值的博文。

从日常工作思考灵感

工作碰到什么有挑战的问题,让你觉得“值得”写一篇文章的,可以成为写作的话题,你碰到的问题,别人也会碰到,这样的文章价值很高。


怎么梳理博客的框架的逻辑?


有个词叫“原始积累”,是指资本在产生价值质变前的量变。博客要产生有意义的框架,形成内在、有机的逻辑是内容的质变,在质变之前,你需要耐心完成原始积累

50篇质量上乘,有价值的话题是你需要的积累,当然不会很快写成,起步可以把目标定位在15篇,这通常是网站内容给人观感从“单薄”到“比较丰富”的转折点。

内容的组织,是一个动态的过程,而不是一锤子买卖,这个动态的过程中有几个关键环节:


定位

如果你是Android开发,去写NodeJS就不会有太大意义,因为你不专业,文章作不深,用户要找专业的NodeJS文章也不用找你。

如果你做Android手游经验丰富,但你去写Android基本知识,就有点铺张浪费,有的是初学者写的技术博客去罗列Android开发基础,不多你一个。

但如果你写Android手游开发经验分享,贡献一定量的实际且专业的内容,很容易吸引到同行和学习者,你的内容会有一定权威性,价值立即就高了。

定位,是贡献出你最有发言权的内容,这样的内容才可能产生“真实感”,“权威效应”,只有具备这些特质的内容,才有后面营销的空间,最大化转化率(没错,你要学习为自己的博客营销,后面我会讲到)。

很多技术初学者把博客当成存放自己“爱好”的地方,不是不可以,但这样发挥不出写作应有的价值。从用户的角度来说,我来到你的博客,几十分钟都找不到你的技术写作究竟是“关于什么”,东一篇西一篇,好玩是好玩,也有新鲜感,感觉你懂得东西“很多”,但每篇都感觉是“充数的”,我大概不会产生长期订阅你的欲望,很多东西我自己baidu一下,也能找到类似蜻蜓点水的东西。

有价值的技术博客,流量高,但流量高是不够的,流量要有转化,转化成你的读者,转化成你的长期订阅者,转化成你的微信好友,转化成分享,转化成你的学生,转化成你你某种实际的东西 ... 内容的最终目的是转化,不是流量,缺乏定位的博客也许有高流量,但往往低转化。

设计一个分类目录

为了实践定位,你的写作要有一个基本框架,目录是最基本也是最重要的内容框架,目录是你的技术博客上最重要的骨架,它让你避免“随笔感想”这种谁都会写的地段概念,走向更高的层次。

比如你写Android游戏开发,可以有这样的目录(我不是Android游戏开发,这里只是举个例子,未必是最好的设计):

  • Android游戏开发:交互编程技巧
  • Android游戏开发:性能优化实践
  • Android游戏开发:新技术探讨
  • Android游戏开发:常见错误与解决方法
  • Android游戏开发:国内外安卓游戏分析
  • ...

你可能一篇文章都还没写,但设计出这样的目录,你心里已经“有数”了,接下来自己该把时间花在哪些方面,你会很自然地希望在每个目录里写上几篇,于是你会用我之前说的方法,去寻找、确定写作话题,一两个月以后,每个分类下都有内容,你的博客自然就起步了。

如果你只以“技术随笔”开始,很快会失去方向,你觉得“技术随笔”很通用,什么都可以往里塞,但什么都可以往往是什么都不着调,这是很辩证的,很多小白常犯的错误,是把“随笔感想,技术分享”当作博客内容最重要的方向,这是因为没有“定位”,没有仔细设计目录最直接的后果,内容框架必须从一开始具体。以后你可以增加新的分类,往新旧分类里增加新内容,这没问题,一开始就松松垮垮,就是四个字“始乱终弃”。

大部分码农觉得自己的编程能力是天下是自己职业生涯最重要的技能,所以很多人连一封像样,充满尊重,格式规范的邮件都写不好,这是因为不重视写作,缺乏主动训练造成的。

写作是一项极其重要的技能,是一项艰苦(但可以训练)的工作,你可以去试试好好写一封邮件,说一个有一定复杂度的话题,看看容不容易。写作未必艰苦到流血流汗的程度,但也绝不是随随便便就能做好的,你“随便想想,随便写写”,好像很潇洒,但如果我是用户,对我有什么实质意义呢?你得训练自己“框架能力”,一个主题分哪些方面写,怎么写,写到什么程度,如何准确流畅,这些都需要训练。


最好从哪个网站开始你的博客之旅?


回答这个问题,你要明白技术博客的根本目的。

技术博客的最终目的并非“写作”,更不是你“整理思绪的地方”,有的人也觉得写技术博客是为了“学习”,你能通过写作学到不少东西没错,但“学习”不是博客写作的目的,写作只是途径。

博客写作的目的,是建立个人品牌。

你可能觉得“我能有什么个人品牌”,我只是一个写Java的,这样的人多得是。我说的“个人品牌”不是指“特斯拉,可口可乐”这样的品牌,而是“我是谁,我的专业是这个,我的专业价值在这个博客体现,我提供什么服务”。

当你把博客地址写到简历上,发到微信里,黏贴进知乎的回答框的时候,你就已经在用你的个人品牌了,所以不要把“个人品牌”这个词想得太复杂,也没有必要仰视它。

明白了技术博客的根本目的,我可以回答你的问题了。

你应该有自己的网站,自己的域名,别人能访问到,访问起来比较快,有一个不错的设计。如果你把博客的目的看作建立个人品牌的工具,做这些都是自然而然的事。

我建议你用wordpress这样的专门平台,生态成熟,非常利于长期维护,以后你要的功能和设计,都可以轻松完成。技术小白觉得hexo这样的平台来写作,他们只看到网站的今年,没有看到网站五年以后,眼光停留在“技术分享”这个简单的目的上。

为了建立个人品牌,你选择的网站技术平台,必须足够扎实,因为长期会越来越重要的全栈高效SEO,广告投放,复杂内容管理等等,不是普通博客软件可以应付的,一些看起来新颖另类但其实很业余的玩儿票工具,长期的灵活和拓展性、可用性会越来越低。不要只见树木不见森林,要有长远打算。


营销


技术博客作者最大的挑战,往往不是写作、建站本身,而是营销,因为技术人多数不懂,太自我,没有营销意识。

酒香不怕巷子深,但酒再香,能香出几条巷子?内容再好,仅仅凭着偶遇,三五好友间互相欣赏,能产生多大影响力?

你必须学会营销,这是和写作同等重要的事。只有你开始营销,才能真正想明白很多问题:

  • 我的目标读者是谁,他们在哪里
  • 我的东西他们有什么反馈,我的写作方向该如何调整
  • 我该不该继续写下去

最后一个是很要命的问题,因为绝大多数的技术博客都是早早关门歇业的,无人问津,未必内容不好,而是他们从来不做营销,没有充分把自己的创作放进市场,接受检验与反馈,于是时间自动给了他们答案:“没人对你写的东西感兴趣,你在浪费时间”,热度一过,天天晒网。

你必须学会营销,让别人来看你的东西,让他们知道你的东西存在。

去知乎发连接

找到和你的博客内容最相关的话题,筛选出你可以参与的问题,提供一个较好的回答,链接到博客的某篇文章,你也可以在profile里留下博客地址。

这毫无技术含量,也会花去你很多时间,但我最开始说了如何寻找写作话题,这其实是你本来就已经开始做的事。

去国内技术社区发连接

去博客内容相关的技术社区注册帐号,找到你可以参与的话题,认真地参与,适当留下博客连接,到具体文章,到具体目录,还是到博客首页根据话题上下文决定。

在网站提供社交媒体分享按钮

允许用户分享到微博,微信,QQ空间等国内各大社交媒体,能让你最优质的内容获得更多读者,让酒香香很远。

提供邮件订阅或者RSS订阅

RSS仍有忠实用户群,邮件订阅在国内并不流行,但不要假设没人用,越是高端读者往往使用这些服务的概率越大。

(这时候成熟博客平台的优势会得到充分体现,要在玩儿票博客工具上实现类似功能往往缺乏社区支持,很麻烦)

SEO

把网站提交到搜索引擎,每篇文章都做好基本SEO,当博客一定量文章并保持更新的时候,搜索引擎会经常光顾,索引频率增加,给你的权重会逐渐增加,未必给你带来巨大流量,但优质的文章中包含的长尾关键词,能让你的博客开始自然曝光。

社交媒体营销

公众号,微博,操作方式网上有很多,不需要展开。

我想说的是,区分好主次,一年内做好网站本身更实际。

和用户互动

有人会评论,别人的反馈是支撑你继续下去最大的动力,不管是批评还是赞赏。

和读者互动,让他们知道你不是“随随便便搞搞”,把他们转化成订阅者,转化成忠实读者,将来有可能把他们转化成你的收入。

...

营销是一个巨大的话题,这个回答是不可能说完的,对于起步的技术博客,重要的不是你“如何营销”,而是你“做了营销”,把它当正事来做。

如果你不做营销,有很大概率你的博客坚持不过半年,原因前面我已经说了。

只有做营销,你才能真正明白“做网站”到底是怎么回事,我说的“个人品牌”到底是什么。


重复、循环、改善

营销给你带来点击量,带来读者,带来反馈,你会慢慢知道哪些内容受欢迎,哪些内容一般,你可以通过统计工具得到这些数据,并挖掘出极有价值的市场信息。

根据这些信息调整页面,调整内容块位置,更新旧内容,创作新内容,再营销 —— 重复,循环,改善,进入这个状态,你的博客离成功只是一个时间问题,时间也许长也许短,但它一定会到来。


盈利

这个回答不展开,做到上面我说的那些,你就一定在某个时候找到盈利模式,所谓水到渠成,到那个时候,钱就躺在那里,等你把它捡起来,这不是鸡汤,我保证。

直接的盈利其实不是你最大所得,而是博客让你形成了个人品牌,这个东西以后会成为和你每天8小时做的工作同样有价值的东西,甚至超过你的全职工作。


最后

  • 如果你指望我上面说的东西都能“高效率,快速”达成,怀着这种心态,你最好不要开始;不要把目标盯着“我什么时候才能成为阮一峰”,你该把注意力放在“今天访问量多少,访问了什么,有评论要回复没,有人加我微信没,我下面做什么,怎么改善”
  • 每周你得确保有几个小时的时间,可以更多,但不可以更少
  • 不要指望你写的每篇文章都受欢迎,内容的价值存在天然梯度,这是正常的
  • 与时俱进的内容只能通过不停修改、更新才能做到
  • “今年过节不收礼,收礼只收脑白金”也叫“营销“,但你什么样的品位,就会吸引到同样品位的读者,记住这一点,品牌和品位是分不开的
  • 网站是你的,删掉你不喜欢的用户评论,完全可以,你不需要讨好每个人
  • 不要把我的这个答案当成“标准答案”,你应该在某个时候找到自己的路,只有你才最了解你的内容,也只有你才对它负责

编辑于 2018-03-18 07:11

刚好这两个问题我都写过文章,我来讲讲我的看法。

第一个问题:是程序员可以选择哪些平台写技术博客?

熟悉我的人可能就知道,主流的博客平台我几乎都用过,所以这篇文章来谈谈我个人对这些博客平台的看法。

一、对比这些博客平台

我用过的主流博客平台有以下这些:

  • 掘金: juejin.im/timeline
  • 开源中国: oschina.net/
  • 知乎专栏: zhihu.com/
  • 思否(SegmentFault): segmentfault.com/
  • CSDN: blog.csdn.net/
  • 博客园: cnblogs.com/
  • 简书: jianshu.com/
  • 慕课网手记: imooc.com/
  • 腾讯云社区: cloud.tencent.com/devel
  • 阿里云云栖社区: yq.aliyun.com/

没怎么用过的博客平台但耳熟:

  • 51CTO博客: blog.51cto.com/

其他:

  • Hexo+GitHub
  • WordPress
  • GitHub/GitBook
  • 一系列小众平台(Bitcron等)

1.1掘金

掘金首页

掘金是近年发展起来的一个博客平台,页面比较清爽,技术氛围不错的一个平台。

个人体验:

优点:如果文章质量不错,会有机会被推上首页,文章的阅读量相对较高,交流的人也蛮多的。
缺点:SEO差(在搜索引擎基本搜不到掘金的文章),用户消息界面不友好(关注/评论/赞的信息全堆在一块)

最近的阅读量/评论:

最近阅读量/评论

总结:值得去掘金写技术文章!

1.2开源中国

开源中国首页

开源中国最值得令人一说的就是它有一个码云(中国版的GitHub)

个人体验:

优点:markdown渲染的样式好看,赏心悦目。文章如果被官方推荐了,阅读量会有保证。
缺点:如果文章没有被推荐,阅读量寥寥无几(文章被推荐的概率较低)

最近的阅读量/评论:

最近的阅读量/评论

总结:推荐

1.3知乎专栏

知乎首页

知乎并不是一个单纯程序员社区,它是一个问答社区,但不得不说知乎的程序员是真的多

知乎,分享你钢鞭的经验(手动滑稽.

个人体验:

优点:有的时候我们遇到问题,不妨去知乎搜搜相关的回答,总会有惊喜。
缺点:知乎的编辑器做得是真的烂!对markdown的支持挺差的,去知乎的专栏发文章,感觉一般般。

最近的阅读量/评论:

最近的阅读量/评论

总结:知乎终究是一个问答社区。去知乎发专栏文章,不如回答问题,输出自己的经验和见解来得实在。

1.4思否

SegmentFault首页

思否(SegmentFault)是我个人比较喜欢的一个博客平台啦,我做的PC端文章导航也是引用的是SegmentFault文章。

  • github.com/ZhongFuCheng

有的人说,SegmentFalut就类似中国版的StackOverFlow,专注于技术问答的平台。

个人体验:

优点:界面清晰、markdown渲染的样式好看,技术氛围不错
缺点:感觉都挺好的,暂时没找到让我觉得很差的事

最近的阅读量/评论:

最近的阅读量/评论

总结:值得去SegmentFault写技术文章!

1.5CSDN

CSDN首页

一般我们接触第一个技术博客平台都是CSDN吧?我最早也是在CSDN上写博客的,但CSDN越做越差(如果没用广告拦截器,满屏都是广告,没法看啦)。

个人体验:

优点:SEO做得好,搜索引擎搜出来的技术文章几乎都有CSDN的
缺点:广告多,越做越臃肿,体验很差。对新人极度不友好,发出去的博客几乎没有阅读量。

最近的阅读量/评论:

最近的阅读量/评论

总结:新人不建议使用CSDN作为博客平台写技术博客。

1.6博客园

博客园首页

除了CSDN,可能大家第二个接触的博客平台就是博客园啦。博客园第一时间给用户的感受就是:这个页面看起来是真的老

个人体验:

优点:博客园的首页文章是有人在维护的,如果质量不行是会被移除首页的,一定程度上保证了首页文章的质量。响应速度快,博客园无论是发文章/评论响应速度都很快,体验好。SEO做得也很好。
缺点:页面风格看起来像是20年前的,一部分人不喜欢。

最近的阅读量/评论:

最近的阅读量/评论

总结:如果不介意博客园的页面风格,值得去博客园写博客!

1.7简书

简书首页

简书也不是一个专注于程序员的平台,也有的人把简书归类成自媒体平台。听到简书,脑海中弹出一个词“文艺

个人体验:

各方面都中规中矩,没啥优点和缺点…

最近的阅读量/评论:

最近的阅读量/评论

总结:中规中矩,如果喜欢简书的风格可以去~

1.8慕课网手记

慕课网首页

慕课网给大家的第一印象可能就是:“慕课网有免费的教学视频看!”。Emmm,慕课网在上年也推出了手记功能,相对于其他老牌博客平台还是有点差距。

个人体验:

优点:慕课网也算是花了不少的精力去搞这个手记功能,如果你写的文章不错,可能会被慕课网的官方账户推送到其他平台。
缺点:文章在页面占的比例太少(像是在手机端看文章一样)。技术氛围有待提升~

最近的阅读量/评论:

最近的阅读量/评论

总结:毕竟是新产品,还需要时间磨炼!

1.9|51CTO博客

51CTO博客首页

51CTO博客在上年中的时候改版了,页面给我的感觉是:看起来跟CSDN差不多。

个人体验:

我在4月的时候发了一篇文章试试水,然后发现没上首页,也没人评论。于是就没在这更新了…(懒)
缺点:在搜索引擎也搜不到51CTO博客的文章。

看起来有一定的门槛:

51CTO博客关注功能需要门槛

总结:我对这个平台不太了解,了解的同学不妨在评论区留言~~

1.10云社区

阿里云的社区和腾讯云的社区给我的感觉都差不多..毕竟不是专门做博客平台的,不建议新人作为自己的博客平台。

1.11其他

如果你觉得你写的东西自己看就好了,主要想找个地方管理你写过的笔记(文章),那就可以使用GitHub/GitBook

如果你觉得上述的页面风格都太难看了,想动手搭一个自己喜欢的博客,那么可以使用Hexo+GitHub或者WordPress。要想省事,还能别人家的平台(比如Bitcron等)

特点:如果你不做推广,基本没啥流量(没人会检索到你的文章),算是写给自己看的。

二、总结

写了那么多,来做个总结:

  • 如果不嫌弃博客园的风格,可以选择博客园。否则建议选择:掘金/SegmentFault
  • 只想管理自己写过的文章,选择:GitHub/GitBook
  • 喜欢折腾:Hexo+GitHub或者WordPress

第二个问题:如何写一篇技术博客?

有不少的小伙伴曾经问过我:

  • “3y你是怎么记笔记的阿?我一边看视频一边记笔记,顾头不顾腚的”
  • “你写的博客都是怎么思考的阿?我不会写博客”



下面来谈谈我一些观点(个人/主观),每个人都有自己的方法论,我的观点不适用于所有人。

开局一张图,内容全靠编:



一、如何写一篇技术博客

首先,我认为要把自己当做是一个分享者,而读者是一个小白。然后模拟这个场景:如果你要把你学习到的技术分享给小白,你需要怎么去做。

按照我的思路,我可能会这样做:

  • 首先,这项技术是什么你得先告诉他。
  • 接着,为什么要学习这项技术,学习了这项技术有什么好处。有没有以前的技术跟这个较为相似的,为什么我不用以前的,而要学新的。(这一步非常非常重要
  • 然后,这项技术的核心用法是什么,给出一些小案例,让小白体验到这项技术。
  • 最后,用这项技术可能会出现什么问题,官方有没有提供方案解决,如果没有,可能的解决方案有哪些。

大白话来说,其实就是:

  • 是什么
  • 为什么
  • 怎么做

一般来说,我会把重点放在 为什么 ,因为我一直认为学习一门技术一定得知道:为什么要学

举个例子,我当初写【 消息队列】的思路:

  • 回顾一下什么是队列,Java已经支持各种类型的队列了,跟消息队列有什么不同。
  • 为什么要用消息队列,不用行不行?用消息队列的好处有哪些
  • 用了消息队列可能会带来的问题

如果遇到逻辑可能较为复杂,或者认为读者会看不太懂的时候,可以画图来描述一下,这样整一篇文章看下来就不会太枯燥。

其实吧,我写文章都是按自己学习时的思路来写。如果我在学习时中途某个地方卡住了,我就认为可能读者在学习的时候也会存在同样的问题。所以,我就把我的理解给记录下来,如果有必要就画图来讲解。

我写了两百多篇Java技术博客,有需要的同学可以关注我的GitHub,欢迎一起学习和交流: github.com/ZhongFuCheng



二、文章需要有自己的风格

每个人写出来的博客都有自己的风格。

比如说有漫画型的:



比如说有故事型的:



比如说有骚气型的:



比如说有纯干货型的:



说了这么多,其实我想说的是:写博客应该要带有属于自己的风格。而不是把网上的资料直接复制粘贴就完事了,这样没有感情,没有灵魂。(当然了,如果网上可能的确有写得很好的,可以这么做,但不可能整一篇都是相同的嘛)

三、关于排版

一篇好的技术文章,它的排版一般不会差。我认为写技术文章有几点可以提高一下阅读体验

  1. 整篇文章不要90%都是代码,适当减少代码,贴关键的部分就好了。(完整的代码可以上传到GitHub)
  2. 多分段,技术文章可能就相对枯燥,如果将技术的说明挤在一块,可能阅读起来没那么好的体验
  3. 增加图示说明 or 插入相关的图片

程序员写文章一般都用Markdown语法了,使用恰当的话,文章的排版自然也不会太差啦。所以还没用Markdown语法的同学可以赶紧用起来,这玩意特好学,从学到用起来就几分钟。

  • 我当时连简历都是Markdown语法...



四、关于工具

Markdown编辑器我推荐使用Typora,无论是在Mac还是在Windows上都很好用。使用Markdown就肯定要考虑一个问题:图床用哪家

无论使用哪家图都有可能会挂,自己搞个图床可能会安全一些(相对来说会比较麻烦),我自己是使用掘金的图床的。而我的文章往往会分发到几个博客网站上,像简书/知乎这种会单独将图片上传到他们的服务器上。

所以,从我个人的使用角度而言,并不会担心图床会挂问题。如果你将文章发送到一个平台中,还是得关注一下图床是否可能失效的问题。




简单的流程图/思维导图/..可以使用ProcessOn就解决掉了。

最后

有的没的扯了一些,希望能够对「有想要写技术博客,但无从下手的同学」一些帮助。

本已收录至我的GitHub精选文章,欢迎Stargithub.com/ZhongFuCheng


收藏等于白嫖,点赞才是真情!

收藏等于白嫖,点赞才是真情!

收藏等于白嫖,点赞才是真情!

编辑于 2020-02-29 23:00

内容方向

写了一段时间后感觉还是要和工作相关,才能更好的坚持下去并且回馈你的本职。

1. 可以是工作中遇到的某个问题的深挖。将你解决某个问题的思路和过程记录下来,大概率也能帮到别人。

2. 也可以是某类问题的思考。有些东西见多了思考后发现是一类问题,本质相通,可以梳理下做成一篇小文。

3. 也可以是一些读书笔记和论文阅读笔记。学而不思则罔。

博客相关

我接触过知乎专栏,github pages+hexo,掘金等。博客园和CSDN感觉样式太丑,广告太多,因此一开始就放弃了。

知乎专栏内容多且杂,要想为人所知道阻且长。掘金内容质量很高,seo其实也还可以,但是有很多聚合站会无脑扒上面的文章。

我现在用的比较多的是 github pages+hexo,自己买了个域名。这种方式是渐进式的,一开始成本很低。但好处在于后期可玩性强,可以持续经营自己的小田地。并且在google analysis后台看分析数据真的是很爽啊。

一般我会在博客中先发一篇文章,等谷歌收录后在转到其他平台,既能保持原创性,也能给自己博客引流。

最后,给自己博客打个广告,主要写一些分布式,编程语言和数据结构相关东西,欢迎围观。

hexo建站遇到问题也可以随时交流,我也折腾了很久,有一些小心得,博客里也有相关文章。

编辑于 2019-12-03 10:22

首先在博客园里写,这应该是互联网技术博客,最纯净的地方之一了吧,慢慢写的多了就可以考虑github博客,可以从博客园吸引一些流量到自己的网站。

我写过一篇文章,关于如何去写文章,写那方面,如何去推广等。

mp.weixin.qq.com/s/WROD

编辑于 2017-09-10 22:18

其实我也是去才开始写的,关于APS方面的博客(Advance Planning and Scheduling, 高级计划与排程)。

起初是因为工作上需要使用到一个规划引擎和一个规则引擎,Optaplanner和Drools,发现Optaplanner根本没有可参考的中文资料,只能从官网的开发手册上查看,顶多在StackOverflow等国外的技术问答社区中看到少里的讨论,而且都是英文的,对国内有需要使用这方面的人员非常不友好。而因为这方面涉及运筹优化方面的一些内容,在业界就更无法流程了。但Optaplanner是一个非常成熟的规划引擎,我知道国内确实也有不少公司在用,可是因为资料实在太少了,普通小一点的公司的技术人员都无法使用。我自己也是硬着头皮把它的技术资料啃下来,才勉强应用于项目的。

所以就想着能不能写两篇入门的东西,让有需要的人可以更容易入门,希望这项目技术在国内可以为起来。毕竟如果使用商用规划引擎的话,动则几百万的投入不是每个公司都能投入得了的。长此下去,就更少人会对这方面获得深入研究的机会,要想在国内找一些中文资料,或找同行一起探讨研究就更难了。

慢慢地我就写起了博客,我在知乎专栏里的文章就是全是关于APS方面的:

发布于 2019-03-20 20:35
关于作者:程序猿石头(ID: tangleithu),从十八县贫困农村一路逆袭上清华( 点击这里查看我的逆袭之路),目前在BAT某厂打工,是前大疆(无人机)技术主管。


图:Drone promotions from SkyPixel

背景

石头大约在 2010 年左右有了自己的第一个域名,也是从那个时候开始写博客的。至今确实有 10 年时间了。

最初玩 blog,其实更多的还是抱着学习的态度。比如刚学习完了 DNS 解析,HTML 语法,不 “实战”一把么?然后后续又陆陆续续把读书笔记、课程总结都往博客上放。

为什么要写 blog,石头觉得有如下几个好处:

  • 可以把它作为整理学习笔记的地方,方便沉淀学习,就跟当初我开始玩一样。更多的是写给自己看,玩玩“建站”流程(独立博客),也算一个小技能。(要不要写博客看个人兴趣,但学会总结沉淀是必须的)
  • “成就自己、帮助他人”。在日常工作中,你肯定也有通过别人的博客解决了你的某个问题,这个时候“反哺”一下开放的互联网也何尝不是一件快事。当有人通过搜索引擎检索到你的内容并留言说感谢帮助他解决一个类似问题的时候,还是有一丝丝成就感的。
  • 锻炼写作能力。一个问题自己懂和把它讲给别人懂,是两个完全不一样的概念。
  • 打造个人 IP。例如著名的 coolshell,ruanyifeng 等,大部分人应该都知道吧?
  • 赚钱。这个就不用多说了。说出来,你可能不信,就连我 10 年前没啥内容的 blog,当初也有是有“外快”赚的:记得当初是给“友链”的方式导流,1 个月 5~10 块,刚好能覆盖域名、虚拟主机的费用,不过后来各种博客搬家,也懒得折腾了。
  • ...

通过这 10 年的摸索,石头也尝试过多种写 blog 的方法。不过说来惭愧,貌似也没什么说得出的成绩。

目前也积累了有 400+篇文章,不过感觉真正有质量的文章也就几十来篇。折腾过很多 blog 程序,陆陆续续迁移了好几个版本,历史文章也”舍不得”丢弃,也一直保留。其实好多文章在我现在看来好像价值不大,但仍然舍不得抛弃,毕竟当初辛辛苦苦 po 出来的。感兴趣的同学可以通过 “www.tanglei.name” 这个网址进行访问。


下面以我的博客演进之路为例,给大家介绍下常见的博客玩法,供大家参考。

博客演进之路

纯 wordpress

wordpress 不做多介绍,是一套用 php 开发的 CMS,很多人的博客都用这个。

下图是我博客最初级的版本,在相当长一段时间内也一直用这个主题。



Wordpress 博客

“时光荏苒、岁月如梭”,上面的截图也很有意思——

  • 右上角的动态“腾讯微博”,不知道你有没有用过?
  • 左上角的 Rss 订阅,现在不知道是否还有人用,用的人多吗?反正我好久没打开我的订阅文章了。

用 Wordpress 写博客,有一个缺点就是,每次写需要登录后台,排版、配图等比较麻烦。并且还得掏钱买虚拟主机、自己运营维护wordpress 程序、MySQL 等。

再后来接触到 markdown 这门标记语言,才发现这玩意太好用了,就一发不可收拾。一直用 markdown 写作沿用至今。

wordpress + markdown 插件

博客主题想保留就一直还是用 wordpress,但有希望写作用 markdown。

由于没有找到合适的 wordpress 的 markdown 插件,于是就自己写了一个 markdown2wordpress( github.com/tl3shi/markd)。后端框架等仍然用 wordpress,繁琐的排版等问题就直接交给 markdown,也不用登陆 wordpress 后台进行调整等操作。

这个工具依赖于 python-wordpress-xmlrpc,一个 python 实现的 wordpress 的客户端,可以方便调用 wordpress 提供的接口,markdown 的渲染依赖于 pandoc,代码高亮用的是 highlight.js 图片用图床的形式,或者直接以 github 外链的形式。

用这个工具又坚持了一段时间。

但石头当初买的虚拟主机(共享型)还是多个人公用的形式,性能较差,网站就经常挂,一会虚拟机挂了,一会MySQL又挂了,然后还中过木马。实在是忍受不了了。

github page 服务

github page 服务 pages.github.com/,按照官网说的那样,直接将源文件托管在 Github 上,仅仅需要编辑、push即可,然后变化马上就能体现了。



这样不但省去了虚拟主机、MySQL 等费用,同时 github page 还支持自定义域名、git 版本管理,markdown 自动渲染简直就是专门给程序员量身定做的(好像确实也是的)。

程序猿只用专注于写 markdown 文件即可,渲染 html 等都交给 gitub。

下图是我搭建好后的一个截图。

github和octopress配置

详细过程可以参考下我的这几篇 Blog:

  • GitHub搭建博客教程: tanglei.name/blog/use-g

  • 也试试github+octopress: tanglei.name/blog/githu

在搭建过程中,还会涉及到历史文章的迁移等,感兴趣的可以参考最终还是放弃了 Wordpresstanglei.name/blog/give-)。

github pages 服务的好处在于,博主们真正关注的只需要写 markdown 就可以了(类似写论文用 latex 一样),根本不用去关注比如在 wordpress 后台排版,传图片等等操作。

github pages + travis-ci

github pages 服务本身支持的博客引擎比较少,比如希望一些定制化的插件等,github pages 默认服务就不够了。

但本质上讲,github pages 服务就是提供了一个自定义域名解析到静态 html 的 repo。markdown 转 html 的这个过程, github 支持得不够,可以通过其他的方式。

比如本地写 markdown,然后本地安装 hexo 等博客引擎,渲染成 html 后直接 push 到 github page 的远程仓库即可。

我曾经也使用过多个博客引擎,如下图:


这里推荐一个工具 —— travis,它是一款免费的 CI 工具,能帮你做的事情是啥?就是上面你本地的流程可以交给它来做。现在我写 blog 的流程是:

  1. 本地写 blog,md 格式的。工具可以直接用之前推荐的 程序员利器 中的 markdown 写作工具 Macdown 或者Typora。
  2. git commit && git push 即可。
  3. travis 开始工作,安装 blog 程序,然后 build 静态 html,最后 push 到指定的 github pages 仓库。

贴一下我的 travis 配置,大家就知道是怎么玩的了。

branches:
  only:
  - master
language: node_js

# v14/stable(2020-05) produces empty html https://github.com/hexojs/hexo/issues/4257
node_js:
    - 'v13.8.0'

cache: npm

before_install:
- git config --global user.name "tangleithu"
- git config --global user.email travis@tanglei.name

install:
- npm install hexo-cli -g
- npm install

script:
- hexo clean
- hexo g
- git log | head -n 6
- export COMMIT=`git log | head -n 1`
- mv public .deploy && cd .deploy && du -sh
- git init && git add -A . && git commit -m "commit from travis, origin $COMMIT" 
- git push --force "https://tl3shi:$GITHUB_TOKEN@github.com/tl3shi/hexo.tanglei.name.git" master:gh-pages 

通过上面的配置可以看出,其实做的事情就是安装博客程序 hexo,然后生成静态 html,最后将本地生成的静态 html 整体打包作为一个仓库 push 到github pages 对应的仓库。

下图是 travis-ci 的配置页面,可以配置比如只要有新的 commit push 即可触发 CI 流程,进而更新博客内容。



Travis 配置

别看整个过程看起来比较复杂,其实安装等过程是可以 cache 的,一般而言,走完整个流程所耗费的时间也就 1-2 分钟(如后图所示),因为我的博客内容“历史包袱重”,可能耗费时间会更久,这时间大部分取决于博客程序的处理流程以及最后 git 上传过程。

下图是构建历史,构建成功与否会邮件方式通知到你,很方便。


Travis 构建历史

借助 travis 可玩的东西就多了,上面的 scripts 有足够的灵活性,可以自己随意定制。

比如,是不是可以同一文章多个平台发。举例,现在大家普遍玩法是各大博客平台同步发表。是否可以直接在 CI 流程里面加 juejin、博客园等 post 流程呢?

感兴趣的朋友试试?(石头好久都有这个想法了,但却一直没有付出行动)

解决 github 慢的问题

用 github 确实很方便,各种免费的服务白piao,但缺点也比较明显,就是国内访问比好慢。gitee 也提供类似的服务,但前面看了一眼,自定义域名好像要收费?

一个比较简单的方法是用 CDN 来解决这个问题。blog 本身全是静态资源,html、图片等,很适合用 CDN 来加速。

在这篇 云服务器,域名备案及 CDN 服务体验tanglei.name/blog/try-q) 文章中,我记录了之前具体的流程。

CDN 的工作流程就是你添加一个域名的 CNAME,指向 CDN 厂商的域名,所以用户发起请求的时候实际是解析到云厂商的 CDN 服务器的,CDN 后台配置一个源站点,例如 www.tanglei.name,用户请求到 CDN 服务器时,如果没有命中,则就去源站点请求并将内容缓存至 CDN 服务器。

以下是我之前测试 CDN 的一个效果截图。

CDN配置效果图

下图是访问一个 含有一些图片的页面的测试结果,其中:

  • 请求 www.tanglei.name 会直接路由到 github pages 的文件;
  • 通过 www.tanglei.me 会走云厂商的 CDN;

CDN测试结果tanglei.name

访问一个大小为 10KB 的页面,基本在半秒就加载完毕了,对于个人博客来讲,已经很够用了。上图的结果中还有一些如 USA 的节点拉低了平均值,国外的一些节点还是走 github 更快。如果有需求做全球加速的话,还可以用比如敝司的全球加速服务哦(CDN包括海外众多节点)。

最后

本文只是石头在探索过程发现觉得合适自己的方法,每个人喜欢的姿势可能不一样,本文内容仅供参考,希望你能找到适合你的姿势。



关于作者:程序猿石头(ID: tangleithu),现任阿里巴巴技术专家,清华学渣,前大疆后端 Leader。用不同的视角分享高质量技术文章,以每篇文章都让人有收获为目的,欢迎关注,交流和指导!

推 荐 阅 读

  • 快快加入我们——“阿里云-ECS/神龙计算平台” 招人啦
  • 面试官:会玩牌吧?给我讲讲洗牌算法和它的应用场景吧!
  • 面了 7 轮 Google,最终还是逃不脱被挂的命运
发布于 2021-10-03 23:29

一开始写博客,纯粹是做个总结的技术备忘录,有需要时容易搜索到~

写技术博客,需要考虑如下几点:

  • SEO排名好
  • 对技术人员友好
  • 支持Markdown(已经成为标配)
  • 博客灵活度
  • 是否需要做独立博客

SEO

发表到某个平台的博客后,如果容易被搜索到,那就是好平台。

这有两个很值得参考的链接:

  • 浏览量大的个人独立博客 Alexa 排名 - V2EX
  • 博客网站 - 博客网站排名 - 排行榜 - 站长之家chinaz


CSDN广告虽多,CSDN依旧是流量最大的技术博客平台~

对技术人员友好

比如,广告少,有问题容易联系到客服。

这点上,博客园还算做得比较好,可以直接发邮件联系。

支持Markdown

Markdown基本上已经成为写文章的标配了,知乎、简书、博客园、豆瓣、CSDN、51CTO、osChina、掘金、V2EX、StackOverflow、微信公众号等等都支持Markdown


博客灵活度

我在用的平台有: CSDN、博客园、豆瓣、简书、知乎专栏、新浪博客等等

  • CSDN的左侧有个自定义栏目,以前是对所有人开放。现在只对博客专家和VIP开放了,不是bug,我专门问过。
  • 博客园的优势在于:

1. SEO比较靠前

2. 界面自由DIY

3. 用户很纯粹,基本上都是开发人员

4. 如果引流到其他平台,效果比较好,用户也精准


劣势在于:

  • 原始界面比较丑陋一点


不过我已经倒腾出了一份美化指南:

前端小白也能快速学会的博客园博客美化全攻略[附源码] - 博客园

平台选择

如果要有几乎顺便赚点钱,那就选公众号、CSDN等~

CSDN上如果文章入选原力计划,会有50元稿费。技术文章被白嫖惯了,有一点点钱就很不错了~

公众号阅读量上500后,会有很多赚钱机会,这里就不具体展开了~


是否需要做独立博客

独立博客也分为动态的和静态的。

静态的我用过 Hexo,一般来说你只需要会 Markdown,就能玩转静态博客~

这里有篇完整总结:

开发小白也毫无压力的hexo静态博客建站全攻略 - 躺坑后亲诉心路历程 - 博客园


当你开始做独立博客时,你发现你面临的问题又是SEO,做网站逃不过的问题始终是SEO。

但如果你的目标是在独立博客中接广告赚钱,首先得有流量,就是从主流博客平台把流量导入到独立博客上~

编辑于 2019-12-12 07:37

2010年的某一天,我也开始思考这样的问题。


1 在开始写博客最好写一些什么方向的内容?怎么梳理博客的框架的逻辑?
关于第一个问题,我觉得,博客可以写的内容太多了:
a) 博客首先是为自己服务的,自己的读书笔记,想法都可以往上面写,好记性不如烂笔头,很多时候一些技术、代码、命令行忘记的时候,我都会到自己博客上去找,因为我知道我记过。
b) 你在写代码过程中一定会曾经解决某些问题,这些问题在网上不太容易找到解决方案,那么你就可以写写你的解决过程,对别人可能会有帮助的。
c) 关于某些技术的分享


2 最好从哪个网站开始你的博客之旅?
关于第二个问题,最终还是要看题主个人的想法,主要有下面几个方案:
a) 租个服务器自己搭个博客,自己维护。优点:由自己控制,缺点:自己维护麻烦,浪费时间生命。
b) github。
c) 网易、百度、新浪、博客园、CSDN等等。当时的想法是,我要写博客,但是我不想维护博客,所以,我得挑一个现有的产品,就国内来说,主要就是这些了。

如果是纯技术博客的话,我估计网易或CSDN的流量会比较高,题主可以考虑。一般那些流量巨大的技术博客,一般个性也很鲜明,通常会是第一种类型的博客,就是自己搭建一套东西。但是呢,我觉得这样的博客之所以访问量高,不是因为博客搭得好,是因为内容好。

本人报着一种极度不想折腾的心态,就选了新浪博客,坚持到现在,给个链接给题主参考一下: 阿-_-涵_新浪博客,非广告。新浪的缺点是:不太容易往上放代码,得自己整理代码,没有像CSDN上的那种代码模板。另外其搜索功能做得不是很好。

题主可以先从某个博客网站开始用起,积累到一定程度后,再考虑迁移到别的平台上。


最近迁移到 简书上了,写markdown感觉还是挺爽的,新浪博客的各种奇葩问题已经不能忍了。

编辑于 2017-12-20 12:13

跟题主差不多,现在工作一年,半年前开始写博客,也算是初学者,分享一下我的经验吧,希望对你有帮助。

平台

1.自己搭建,比如基于hexo,搭建的过程也可以学到web开发相关的东西。

2.嫌麻烦推荐简书,在线markdown,清爽的界面,很良好的写作体验,这方面比博客园好很多,博客园我一进去就没有写东西的冲动。不过简书不是专一写技术博客的,里面还有很多其它文章。

内容

我最初开始写文章的时候是刚学习Swift iOS开发的时候,对于我完全是全新的知识,所以会学到很多东西,这时候把博客当成学习点滴的积累,不愁没有内容。

慢慢入门之后,我之后写的内容倾向于实际工作中遇到的坑,有一些坑你不记录下来很容易就会淡忘,比如浏览器兼容,比如iOS各版本适配等等。当然,就算你不记录,同样的坑遇到三次你肯定就熟记于心了,但写下来的好处就是能让你后两次更轻松的应对,节省的时间不比写文章花的时间少。

还有可以作为博客内容的就是一些你用到过的开源项目的原理源码分析。当然也可以是你自己的。

所以在内容上,我的建议就是

1.学习新技术的时候,当成学习笔记。

2.记录工作中遇到的,容易淡忘的坑。

3.分析开源项目源码、实现原理。

最后,这只是我作为初学写博客的一些经验,不一定都正确,希望能够帮助到你。我的简书

jianshu.com/users/e841e





墙裂建议知乎支持markdown,用惯了简书gayhub在这码字都不习惯了...

编辑于 2016-07-26 11:51

在技术社区进行技术博客的写作,能让程序员有机会分享专业和个人经验、观点、见解和专业知识。它还使技术文章创作者建立自己的个人品牌,并与自己行业的同行、合作伙伴、客户和潜在客户进行互动。

技术社区中的博客文章涵盖了广泛的主题,可能包括但不限于与大量程序开发主题相关的理论、策略和观点。在社区中撰写和发布博客文章时,请考虑文章的主题是否与社区受众相关。它是否为博客的读者们解决了问题?

以下是我这些年来技术写作生涯中的一些体会。

  1. 要有自己独特的风格

你的读者们不光从阅读你的技术博客受益,同时读者们也能从你的写作风格里,对你有一个更深刻的了解。有的技术写作者可能会研究社区里一些阅读量高的技术文章的写作风格,然后试着去模仿。然而我个人认为,要让自己的博客在技术社区众多的文章中脱颖而出,最佳方式是拥有自己独特的风格。

当然,你的技术写作如果目的仅仅是做自己的知识积累,那么可以怎么舒服怎么来。

  1. 应用正确的结构

每一篇好的博客文章都应该遵循一个一致的讨论。

博客文章的开头,应该包括对文章主题的介绍,一个涵盖内容要点的中间部分,以及一个包含所有内容的结论的结尾。确保每个段落都始终紧扣自己想要传达和与读者分享的目标。文章各段落的一致性越强,读者的体验就越好。

  1. 一个醒目的标题

用一个醒目的博客文章标题吸引读者的注意力。确保标题有趣,能够吸引读者点击文章阅读。

目前国内社区有些技术文章的取名越来越像标题党靠拢,技术文章是否应该标题党,这是一个见仁见智的问题。笔者个人不会采取这种命名风格。

  1. 写一篇引人入胜的介绍

既然已经通过精心设计的标题吸引了读者的注意力,那么下一步就是为你的博客文章写一篇言简意赅的开篇介绍,这让读者有兴趣阅读更多内容,并为整篇文章中的精彩内容奠定基础。

  1. 提供精彩内容

提供易于使用的有价值的内容。确保博客文章简洁明了,并清楚地引导读者沿着文章预期的路径前进。尽可能做到图文并茂,让读者的阅读体验变得轻松愉快,并提供好的解决方案或建议。

  1. 在文章评论区积极与读者互动

既然已经花了大力气撰写并发布了博客并分享了自己的个人简介,记得通过回复读者在评论区对博客文章的留言来与读者互动。

发布于 2022-04-24 22:53

只体验过csdn,简书,最近刚换到github page+自有域名+next主题.

站点: http://mrdear.cn

主观想法:

写作体验:

这一点对于技术人员绝大部分都是md写作了,而且本地的md写作软件完爆任意在线平台吧,所以写作体验忽略.

阅读体验: hexo(next主题)>简书>博客园>csdn

hexo极简风格+目录树功能体验超级棒

简书:阅读区太小,导致很多长代码都需要水平滚动条,另外不支持markdown目录树这是硬伤

博客园:有人说博客园简洁,其实我认为这叫粗糙,简洁的话hexo不比他简洁多了,博客园风格太古老,可能一部分人喜欢这种吧

csdn:万恶的广告,直接排最后,当然加上了去广告插件的话还是不错的,起码原生支持[toc]标签

互动性:简书>csdn>hexo (博客园没使用过)

简书的私信和评论都是实时邮件提醒还是很棒的功能,csdn私信太难用,发送有时候还会失败,反正我遇到过好几次重复发送的情况.hexo一般配一些评论插件,但是私信功能就不好实现了.

题主可以根据你的需求选择吧.

编辑于 2017-03-21 09:47

以前念书的时候,我有记错题集的习惯!


工作以后,还是有 记笔记的习惯!


因为大学时候就接触了 某道云笔记.. 一直记到现在!


然后工作后,尝试某个语言框架,遂随手写了个 小博客网站!


目前一直更新内容中!


链接地址 iphpt.com


别人看不看无所谓,重要的是我有我的积累,特别是有时候有些以前遇到的问题,我在我自己网站里就能找到解决办法! 很nice!

发布于 2018-02-09 16:40

可以参考本人的这篇文章

Hexo 3.0 靜態博客使用指南

本人的博客架设于github&gitcafe 并使用dnspod分流 海外访问github 大陆境内访问gitcafe

发布于 2015-04-22 12:01