前言

最近看到一篇《如何写好一篇技术文章》的推文,有所感悟,所以这里就来总结一下我平时整理技术文章的一些方式。

为什么要写技术文章

每个人写技术文章或多或少有些不同的用处,以笔者为例,仅仅大学时字迹丑陋,想着找一个地方可以将其记录下来方便后续复盘而已,久而久之养成了写博客的习惯。
说起来写技术文章对个人成长也是有帮助的:

  1. 写作会帮助你复盘你本次需要记录的内容,让你梳理事件的机构复盘、反思。
  2. 因为文章时势必会覆盖你要说明的所有点,所以在复盘期间你会发现自己的不足,从而会查阅更多资料补充自己不理解的点,也就是提升你的学习效果。
  3. 提升你的表达能力,写文章肯定是要求写出让读者懂的文章,所以你写作的时候时长会从读者的角度思考,在此期间你的表达能力就会得以提升。
  4. 备忘,笔者很多日常学习或者配置都会记录到博客上,这也是一个不错的渠道。

写作原则

明确知识点的去学习

这点是非常重要的,你必须了解自己当前学习到的知识点内容,涉及到的重点和难点,以及底层工作机制。列出学习知识点的学习大纲,然后针对性的去了解、实践、学习。

例如:我要学习mongodb,我就会去网上查阅:mongodb是什么?有什么用?解决什么问题?如何使用?找到所有自己认为不错的学习素材,进行整理学习。对于学习过程中不了解的知识点结合搜索引擎进行进一步了解学习,直到吃透这个技术点为止。这也就是我们常说的:

你的技术水平,永远是决定你写文章的上限。

通透的学习实践之后,就可以对学习的知识点进行一次复盘,以笔者为例,笔者复盘的方式就是写作。笔者会列出博客标题,然后基于markdown不同目录层级按照学习过的知识点编排文章结构。

举个例子,还是以近期突击学习mongoDB的安装和使用教程,在梳理并按需学习完知识点之后,笔者就会在编写博客的markdown文本中按照知识学习的层次编写目录。如下所示,用二级标题概括知识点的内容,结合三级目录展开深入递进的进行介绍。

完成这样的一篇文章编写,我们不仅会对知识点有一个层次性的认识,对于后续的复盘也有帮助。

通俗的讲解

讲人话,这点非常重要,在我之前学习一个叫学习观的讲座中就了解过,归纳学习法永远是比指令学习法更能够帮助人们快速掌握知识。所以我们讲述知识点时尽可能基于通俗的讲解和大量图片示例,让读者快速构建这个知识点的印象。

就例如Java中的栈封闭技术,网上的解释大部分是:

当访问共享数据的可变数据时,通常需要使用同步。一种避免使用同步的方式就是不共享数据。如果仅在单线程内访问数据,就不需要同步。这种技术被称为线程封闭(Thread Confinement)

用这种懂中文都听不懂的总结,能让读者明白难度是非常大的,所以我的解释也是非常明白,因为讲好栈封闭技术涉及的知识点很多例如JVM内存布局、局部变量特点,线程独立区域等信息,所以如果让我来解释这个知识的时候我通常会解释为:

每个线程都有一块独立的本地方法栈,你把变量写在局部方法上,其他线程就改不了你的数据(具体原理后文展开)

保证文章的层次和递进

这点也很重要一个讲好一个知识点需要,对于层次和递进我的理解是抓住主干,然后不断递进深入主干中的每个点,这就像阅读源码一样,先看看核心方法都干了什么事,再去逐个了解方法中实现的细节。
举个例子,就以上文将栈封闭技术,我的做法通常回事:

 1. 用人话讲出这个点,就像上文说的一样每个线程都有一个独立的本地方法栈(我可能会配个通俗的图片),然后说明所以线程是独立的2. 然后我再去将为什么线程是独立的,用通俗的解释和图片讲解JVM内存区域。3. 说好内存区域后,再讲讲线程在内存区域的样子。4. 最后把一开始说的那句人话套的更加有技术水平的专业解释,配合图片讲清技术本质。

抓住本质的总结

这点就很重要了,说白了就是讲清技术底层原理,就例如Javavolatile关键字,要想说明他的可见性我们就必须了解JMM模型然后了解CPU MESI协议和总线嗅探机制,只有这些知识点的整合才能决定你知识总结的上限。

参考文献

如何写好一篇技术文章?

写技术文章的一点感悟相关推荐

  1. 写技术文章也挺好的,虽然没有多少人看

    微信改版信息流以后,正式进入了"拼标题"时代,如果没有一个吸引眼球.摄人心魄,不点进来心里就痒痒的标题,那阅读量肯定是嗖嗖地下降. 偏偏我又不擅长此道,绞尽脑汁想了个自以为是10w ...

  2. 【 随笔 】 为什么要写技术文章

    去年,我开设了专题站,主要讲解数据可视化开发库D3的使用方法,文章写得不好,但相信还是为一些人的学习提供了些许方便.我想谈谈为什么要写技术文章. 第一,写文章能极大地加深自己对此技术的理解,长时间写技 ...

  3. 写技术文章必备的几个小工具

    今天给大家推荐写博客必备的几个工具,也是我自己每次写文章用到的. 一.小书匠 这个工具是345大神告诉我的,非常好用的MakeDown编辑器,比较常见的网站都支持,例如:csdn,简书. 官网下载页面 ...

  4. 程序员如何优雅的写技术文章?

    hi, 大家好, 我是徐小夕, 新的一年, 你又复盘了吗? 当然今天不是分享 「技术干货」 的, 作为一名写了两年多技术文章的 coder, 今天和大家分享一下我写技术文章的一些方法和技巧, 同时也分 ...

  5. 为什么今天不写技术文章

    今天下班之后雄心壮志准备大写特写一篇技术文章 , 准备了一些一手资料 , 回到家打开微信公众号平台 , 发现今天多了4个用户的关注 , 这对于我来说真的是雪中送碳的感觉 , 相当于翻了昨天的300% ...

  6. 再谈编程-----终结QQ空间写技术文章

     最近老是被人问学习编程方法,都是网上的朋友.自己有时候也在思考这个问题.于是就写下这篇文章来终结自己QQ空间技术文章旅程.             学习编程其实也没有什么,跟学习炒菜,学习骑车,学习 ...

  7. 想开公众号写技术文章?听听我这个过来人的建议!

    承香墨影 只分享最有用的原创技术干货! 关注 正文共: 2037字 预计阅读时间: 6分钟 Hi,大家好,我是承香墨影! 最近发现,很多技术群里涌现出一些,新开的技术公众号. 新的一年,可能很多人立的 ...

  8. 他奶奶的,我要再不写技术文章,找工作都没有说服力!

    从今天开始,每天写写技术文章,找工作的时候也好有个说服力,至少面试这种挺麻烦的事,也可以省下不少,不是吗?!呵呵 转载于:https://www.cnblogs.com/thinkgao/archiv ...

  9. “谈谈我对技术发展的一点感悟”阅读小记

    下面要品鉴的是"燕洋天"的文章,原作者的博客地址为:http://www.cnblogs.com/yanyangtian/ 随着自己不断的在技术这条路上走着,感悟和体会也是越来越多 ...

最新文章

  1. Hadoop MapReduce工作详细流程(Partitioner/SortComparator/GroupingComparator)
  2. Android 布局文件Graphical Layout不显示预览+不能实现拖置功能
  3. 在Solaris系统中,查看tcp/ip配置
  4. python模块 - re模块使用演示样例
  5. 从 class 文件 看 synchronize 锁膨胀过程(偏向锁 轻量级锁 自旋锁 重量级锁)
  6. 在main中调用srand是否影响子函数中的rand()的返回值?
  7. 使用gdb和core dump迅速定位段错误
  8. 对fragment的学习
  9. 【AutoML白皮书】:感知、认知、决策算法布局提升企业决策水平.pdf(附下载链接)...
  10. Dart基础-变量与类型
  11. 泡着枸杞写bug的三流程序员凭什么逆袭到一线大厂?你不服不行!
  12. PHP 5 将于年底停止更新,六成用户将面临安全风险
  13. 方差分析MATLAB实现
  14. SAP Pa studay,Material master
  15. react组件设计原则_可靠React组件设计的7个准则之封装
  16. TortoiseSVN 命令
  17. android -chrome 调试
  18. 【图像增广库imgaug】官方文档翻译(一):加载并增强图片
  19. 【无标题】c++日常练习(16)——从中序与前序遍历序列构造二叉树
  20. W801单片机学习笔记——调试器的配置与使用(适用于W801和W806)

热门文章

  1. 实例讲解基于 React+Redux 的前端开发流程
  2. PS人物快速换装--纯色换成碎花装
  3. ASP.NET Web——GridView完整增删改查示例(全篇幅包含sql脚本)大二结业考试必备技能
  4. 群晖NAS搭建web服务器,并发布公网可访问 2/4
  5. 数字华容道有解的条件
  6. C/C++ | 23-12 用指针的方法,将字符串“ABCD1234efgh”前后对调显示
  7. zookeeper自问自答
  8. 基于YOLOV5的自动瞄准(附代码)
  9. Ubuntu16 桌面卡死 重启桌面
  10. cnpm和npm使用,遇到的问题及解决方法