分享下写技术文章的思路

栏目: Java · 发布时间: 6年前

内容简介:摘要:我一直认为,程序员应该多写技术博客…我在刚开始写技术博客时,感觉是无从下手,相信很多朋友都有相同的感受。经过不断的总结和实践,更在一些朋友的帮助和指导下,目前我至少有能力写技术文章。我发现,写技术文章不仅能帮助我提高学习的效率,少走学技术的弯路,更能让我清晰地描述出针对某个技术的体会。利用这些在博客园里学到的技能,我还出版了两本书。

摘要:我一直认为,程序员应该多写技术博客…

Fundebug经授权转载,版权归原作者所有。

我在刚开始写技术博客时,感觉是无从下手,相信很多朋友都有相同的感受。经过不断的总结和实践,更在一些朋友的帮助和指导下,目前我至少有能力写技术文章。

我发现,写技术文章不仅能帮助我提高学习的效率,少走学技术的弯路,更能让我清晰地描述出针对某个技术的体会。利用这些在博客园里学到的技能,我还出版了两本书。 Java Web轻量级开发面试教程Java核心技术及面试指南 ,在工作中我也受益匪浅。

为了感谢大家对我的一贯支持,也为了让更多的朋友快速掌握“通过写博客高效提升能力”的技巧,在这篇博文里,我将分享下关于构思选题,搭建文章结构,组织代码和文字等的技巧。更重要的是,我还将分享通过学技术写博客提升自己能力的感受。

1. 先给自己指定一个学习的目标,一定是先学技术再写文章

​目标非常好定,大家思考下,最近学好什么技术后,你就可以通过跳槽等方式提升收入。比如针对3年 java 开发,掌握分布式框架或大数据分析或机器学习,一定能提升自己的价值。如果大家感觉找不到学习方向,就去看招聘市场上,你从事的方向,哪些技术比较值钱。

​我就拿分布式框架举例,其中包含缓存,消息代理中间件,反向代理,数据库架构等方向,就据此给自己制定一个计划,以半年为大目标,每一个月制定一个小目标,比如半年后,就可以出去面试,每一个月,深入了解其中一个组件(或至少面试时不会被问倒)。

​制定好目标后,大家就可以各显神通地学习了,比如看博客,买书,看视频,甚至参加培训班都行,但关键一点是,得投入大量时间。这里我的体会是,这个目标最好和钱有关,比如学好后能跳槽,或者学好后能出去培训讲课,这样学习动力就非常足了。

2. 当你感觉大致了解某个技术时,就可以写一篇初级的文章

​一般学习分如下几个阶段:

​- 知道这个技术是干嘛的。

​- 通过运行代码了解这个技术的基本要素。

​- ​通过一个小型综合性的项目了解这个技术的开发步骤。

​- 通过实践了解实际项目中用这个技术会有哪些坑。

我一般在达到第3个阶段后,就出去通过面试去检验学习成果了,毕竟如果在公司里没机会,很少能达到第4个阶段。

​这时,如果你学到第一个阶段,就可以开始通过写初级的文章来归纳总结了。我就拿Spring Cloud里的负载均衡组件Ribbon来举例,在初级阶段,大家可以按如下的思路来写。

  • ​第一,什么是负载均衡。
  • 第二,介绍Ribbon,比如可以写有哪些重要的类,一般来公司项目里Ribbon会配置在哪个部分里。
  • 第三,通过框架图,说明Ribbon实现负载均衡的效果。第四,如果可以,写一下Ribbon和其它组件(比如Eureka)整合使用的方式。

​上述内容由于不涉及到代码,所以初学者在经过一定时间的学习后也能写,如果再按如下的要求写的话,这篇文章绝对会有质量,比如可以留在博客园首页不被移除了。

要求1

别大段摘录网络上现成的资料,比如大段摘录关于Ribbon的介绍,如果真的要介绍,先自己看懂,然后用你自己的话写出来。一篇技术文章最低的标准是,随便拿一句话到网上搜,应该是搜不到雷同的(别人抄你的除外),这点要求可能对刚开始写文章的人有些难度,但如果你要提升,这一定要做到。刚开始的话,大家甚至可能无法组织文字措辞,写出来的文章可能质量也不高,但只要写几篇,文字能力的提升就会非常快。

要求2

必要时,可以放些框架图或者接口图,同样道理,别直接摘录别人的图,如果可以,你用各种制图 工具 画出来,实在不行就用Excel里基本形状的图画出来。如果再不行,你可以用一些现成的图,但在图的下方,得加上你对这个图的说明。

要求3

​得讲清楚这个技术的最基本的要素。比如之前写语文议论文,先亮出一个观点,再通过若干论据来证明。在写技术文章时,先不要求有多么深入,但在这篇初级的技术文章里,得讲清楚如果要项目里用某个技术(比如Ribbon),我们至少得用哪些组件(比如负载均衡器和策略组件)。

要求4

​这也是最重要的一点,一篇文章里,多少得有你自己对该技术应用的体会,否则,你文章里的内容完全是你搬来的,你就没进步了。比如Ribbon,大家可以写,Ribbon可以给大家带来哪些便利,你安装配置Ribbon时解决了哪些问题。当然,你首先得学习别人的文章,不过,在你参考多篇别人的文章后,多少会有些自己的体会,这时一定要写下来。你的体会其实就是这篇文章的精髓,积少成多,你多写几篇文章后,体会自然就多了。

3. 当你运行通代码时,就可以分享步骤了

​学技术一定不能停留在理论阶段。如果仅知道理论,或看了别人的代码但自己不去实践,别的不说,在面试时,这方面一定过不了。

​话说回来,目前网上信息太多太多,要找某个技术的可以运行的代码也不是难事。我还是拿Ribbon举例,说下我如何运行代码,再如何据此写技术文章。

  • ​第一,多找些书或视频,我知道RIbbon里有哪些组件,以及实际项目里,会和Eureka等组件整合。
  • ​第二,我就找些各组件(比如负载均衡器或iRuler等)的代码,运行通,并从效果里体会这些组件里常用方法的参数的含义。
  • 第三,找个和Eureka的整合案例吧,并运行通过。

​至此,我就可以写关于运行步骤的代码了,具体的文章大家可以按我相关的博客内容,比如, Spring Clould负载均衡重要组件:Ribbon中重要类的用法

​在这里,我是通过贴代码加针对代码说明的方式,讲述针对Ribbon重要类和接口的说明,自认为讲得比较清楚。而且,写这类带代码的文章绝对要比写刚才提到的初级文章收获大。

4. 但别仅仅停留于此,多想下,在实际项目里,该怎么用?该如何避免坑,这类文章最值钱

​我经常在博客园里看到有大牛把解决实际问题的经历写下来,或者写如何在项目里避免一些坑。这类文章是经验的凝结,其实是最值钱的,我也尝试写过关于线程和OOM等的文章。

​这类文章往往要是技术大牛才能写,而且写这类文章很费经历,往往一个月写一篇此类文章就很好了。对于像我这类在学习阶段的人,或许写不出高质量的技术文章,但不代表没法写点击量高的文章,比如,如下几类文章同样可以获得高点击量,而且不难写。

  • 鸡汤文,比如某段时间工作压力大但有收获,可以写篇文章分享下自己的心境,同时给大家鼓劲。
  • ​经历文,比如面试经历工作经历等,我经常针对我做技术面试官的经历写文章,这类文章博客园里不少,题材也很多。
  • 热点文,比如目前介绍区块链或机器学习。

5. 总是先学习先调通代码再有技术文章

​台上一分钟台下一年功,哪怕是大牛,不通过学习积累,不调试代码,不去看底层的代码,也没法写技术文章,或者写出来的技术文章会很肤浅。所以如果大家感觉没东西可以分享,那么根源是最近学习少了体会少了,这才没分享的资源,这时候首先要做的是学习。

​比如最近有人要我写大数据方面的文章,刚开始我一定不知道该写什么,这时候就会按之前讲的思路,通过看视频或别人的技术文章,调通若干个 python 大数据的案例,然后再从网上找些实际的企业级的大数据项目,也运行通,随后写技术文章。当大家运行通企业级的大数据项目后,可以写题材就很多了,比如如何搭建大数据环境,python开发大数据有哪些重要组件,它们该怎么用,或者可以把自己在调试时遇到的坑写下来,照这思路,一定能写出高质量的文章。

6. 技术文章的写作思路:总分总结构

​之前讲的是选题材以及写作方面的一些技巧,这里就详细讲些技术文章的具体操作思路:总分总结构。

​在语文里,还有其它结构,但就用这个最基本的结构,其实就可以写好文章了。

​在技术层面怎么用总分总结构?(以Hystrix组件为例)

  • ​第一,在文章开始,写一下该组件是什么,可以干嘛,最好配上图。这是第一个“总”。同时,列出该技术至少可以包含哪些要素。
  • 第二,在文章的后面部分,逐一讲述Hystrix的重要组件,比如回退保护方法,缓存,同步异步返回等技术,这所谓“分”,而且,在介绍各部分时,最好结合代码说明。
  • 第三,在文章结尾,总结下上述组件如何有效地整合到一起工作的。这是第二个“总”。

在代码层面也可以用总分总结构来说明。

  • ​第一,给出代码后,先说下这段代码是干嘛的。(第一个总)
  • ​第二,逐一讲述代码里各重要代码段的含义,或者关键方法的参数和返回值。(分)
  • ​第三,总结,比如给出运行结果,或者讲下各重要代码段是如何综合起来工作的。(第二个“总“)

​上述方式很容易操作,而且用这种结构写出的文章,给人的感觉会非常清晰明了。

7. 刚开始写时,不求面面俱到,但求讲清楚一个方面

​我自己出版过计算机书,我见过不少作者,在写书和博客时,往往想一口气吃成个胖子,往往想一下子把这个技术的所有要点都写清楚,这样反而会给别人一种“思维混乱不知所云”的感觉。

比如Hystrix技术有10个要点,一般项目会用到其中四个(用到基本的熔断保护),高并发项目里会用到其中的七个(外带同步异步缓存),另外三个是不怎么用到的。

这时,在写Hystrix技术文时,宁可分多篇写,比如第一篇写实际项目里的常见用法,第二篇写hystrix在高并发项目里的用法,第三篇写对hystrix底层代码的理解,第四篇写和ribbon或eureka等组件的整合,这样如果再用之前讲到的总分总协作方式,思路就很明确,且每篇文章都有自己的侧重点。

而且写的时候,一定得详略分明,比如介绍概念性文字(Hytrix干嘛的)时,以讲清楚为界,一般两三句话即可,别太罗穗,但在结合讲关键技术要点时,一定得讲清楚,如果刚开始写不容易掌握分寸,这部分宁可写多点,把关键方法的参数含义,返回值以及代码结构都讲清楚,多写几篇技术文章后,文字自然就精炼了,而且也容易掌握分寸了。

8. 总结(常写技术文章后,就能出书了)

​总结下这篇文章的观点。

  • 总是先学技术再写文章,而且通过写文章,能很好地促进自己学习,并能让自己在学习方向上少走弯路。
  • 写文章对面试非常有帮助,比如某人在写技术博客,哪怕博客内容一般,面试官就会认为这个人平时会不断学习,而且上进心非常强,况且高质量的博文(或者书)更能在面试时证明一个人的能力。
  • 虽然说在大多数情况下写技术文章没法给自己带来直接性的收益,但与其把时间用来手机和游戏上,那还不如用来学习和写技术文章上,这样好歹我还能不断进步。

​写技术文章,能提升自己的能力,也能扩大自己的影响,这些虽然无法有效地用客观标准来衡量,但能力提升给自己带来的好处是实实在在的。不仅如此,当大家写技术文章到到一定量以后,写作水平会提升,这时就能出书了。

​写书的流程以及写书的技巧,本文在其它博文里写过,这里就不再重复了。但写书绝对是个名利双收的事情,收入是小事,而且能帮助自己找到好工作和好的外快兼职。如果大家对此有兴趣,我会再分享些关于写书出版方面的经验。

转载本文前,请先和 本人 联系。转载时请全文转载,并说明文章的出处。

关于Fundebug

Fundebug专注于JavaScript、微信小程序、微信小游戏、支付宝小程序、React Native、Node.js和Java实时BUG监控。 自从2016年双十一正式上线,Fundebug累计处理了6亿+错误事件,得到了Google、360、金山软件等众多知名用户的认可。欢迎免费试用!

分享下写技术文章的思路


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Tales from Facebook

Tales from Facebook

Daniel Miller / Polity Press / 2011-4-1 / GBP 55.00

Facebook is now used by nearly 500 million people throughout the world, many of whom spend several hours a day on this site. Once the preserve of youth, the largest increase in usage today is amongst ......一起来看看 《Tales from Facebook》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

SHA 加密
SHA 加密

SHA 加密工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具