首页 > 其他分享 >我是如何写一篇技术文的?

我是如何写一篇技术文的?

时间:2023-09-19 14:11:43浏览次数:33  
标签:选题 一篇 写文章 可以 技术 如何 写作 文章 大纲

大家好,我是三友~~

今天咱就不卷技术了,来跟大家伙讲一讲我是如何写一篇技术文的

其实这个问题也是之前一个兄弟问我的,我当时只是简单的回答了一下

后面想了想,觉得还是值得去好好总结分享一下

所以这里我就把这差不多两年写作时间里踩过一些坑和一些经验,总结成了一些小小的心得分享给大家

也算为一些想要写技术文的兄弟提供一点小小的帮助

整篇文章我会分成写作前、写作中、写作后三个大方面共16个小点来跟大家分享

公众号:三友的java日记

写作前

1、选题

首先在写一篇技术文之前我大概会了解自己想写什么内容,也就是选题,这一点很重要

在选题的时候,我会思考下面几个问题:

  • 这个选题能为读者带来什么价值,有没有可写性
  • 大概写到什么程度,深入还是简单的剖析

而选题的灵感我一般来自于以下几个方面:

  • 日常工作中所遇到的问题
  • 日常学习之后的一些总结
  • 一些兄弟提的问题,就比如这篇
  • ...

2、查资料

有了选题之后,我会对这个选题所涉及到的技术点进行充分的了解

比如我会通过以下途径去查找资料:

  • 书籍
  • 一些技术网站的博客
  • 开源项目的官网
  • ChatGPT
  • ...

除了这些,如果涉及到源码相关的东西,我都会亲自再翻一遍源码

而在这个过程中,其实我可以学到很多东西

比如重新翻源码的时候,我会发现了一些我之前可能没注意的细节

又或是一些我之前没弄懂的问题突然就找到答案了等等

还加强了对一些错误信息的判断能力,比如ChatGPT,有时就有一些莫名其妙的错误

所以写文章本身也是一种学习的方式,这也是我一直坚持写文章的一个非常重要的原因

3、内容注意闭环

所谓的闭环的意思就是需要成体系的去写文章。

比如说,你在说讲一个核心的主题的时候,这个核心的主题一定包括一些相关的主题

而这些相关的主题就可以被拆分成不同的子模块,并且可以放到文章的前部分去讲

再讲每个模块一定要讲清楚这个前因后果,核心作用,尽可能详细

最后再把所有的模块进行整合,再来讨论文章的主题

这样文章的内容就成体系,也就成功闭环了。

4、列大纲

当做完上述步骤,在写之前我会列一下本文大致的大纲

列大纲非常重要,主要有一下几个原因:

  • 梳理好文章的思路,先写什么再写什么,保证全文的前后连贯
  • 减少写作时间,由于已经有大纲,所以就知道每一步需要写什么了
  • 减少不必要的修改,列大纲可以保证良好的文章结构,大大减少后期修改的必要
  • 保证内容完整,通过大纲可以检查是否覆盖了全部的文章内筒,确保不会遗漏重要的信息
  • 提供指导,当你在写作过程中迷失时,大纲可以提醒你接下来需要写什么

列大纲就跟平时写代码一样的,先写思考技术方案然后再写代码实现,而技术方案可以就是认为是大纲

5、找一个充裕的时间点写

当前面所有的东西都搞定之后,需要找一个时间充裕的时间来写文章

因为集中时间来写可以保证你的整个协作思路是连贯,这样写起来也比较快,写出的文章就比较连贯

我一般周一到周五都不写文章,统一都放到周末来写,因为没什么事,时间比较充裕

写作中

当你前面所有的准备事都完成之后,那么就可以动手来写了

不过再讲写作中注意的事项之前,这里我先推荐一个在线写作网站

https://editor.mdnice.com

网站是基于md语法来的,而且提供了很多精美的主题,很多公众号博主,包括我自己都在这个网站上写文章

写完之后只需要通过cv大法或者一键就可以把文章(包括主题),直接复制到其它平台,非常的爽!

ok,继续进入主题

1、语言精练

写作过程中第一点就需要注意语言的精练,通俗易懂,尤其是不要有大段的文字

试想,如果你看一篇文章一上来就是一大段文字,那么你还会看下去么

我想大概率不会,毕竟现在是一个快节奏的时代,很少有人能面对大段文字还能耐心地看下去

我在写作的初期也很容易写出一大段文字

后面当我遇到这种情况的时候,我就尝试对大段文字进行优化

比如,我会首先尝试先删除一些可有可无的文字

之后尝试通过列举的方式把大段文字来列成一项一项的

还可以通过多换行的方式,比如一句话就换一个行,让文章看起来就没那么挤

2、少写概念

在文章中尽量少写概念性的东西,能不提就不提

因为对于读者来说,如果他们阅读过程中发现了很多概念性的东西

而这些概念性的东西恰恰又是他们不懂的,那么此时就坏了

他们大概率就可能会产生抵触的心理,甚至就直接不看了

所以,尽量少提概念,如果真的需要提,记住,一定尽量用白话去解释清楚

我一般都会通过类比的方式去解释,帮助读者更好地理解概念

3、多配图

在写文章过程中记得多配图

有时一大段文字可能都描述不清楚的东西,一张图就可以随便搞定

所谓一图胜千言就是这个道理

所以我在我的文章里都会手绘大量图,帮助读者更好地理解文章

同样地,这里我推荐两个画图工具

  • processon
  • draw.io

processon是收费的,我在前期写文章的时候,画图基本上都是通过processon来的

但是后来我了解到了draw.io,觉得好像画图还挺好看的,并且是免费的,后面就用这个了

4、多举例

在咱技术圈中流传这么一句话

Talk is cheap , show me the code !

从这可以看出举例说明其实挺重要的

所以经常读我文章的兄弟会看到这么一句话

举个例子

我基本上都会列出一些代码来帮助我佐证一些观点

5、划重点

划重点在写作过程中也是比较重要

因为一篇文章比较长,说的东西也比较多,读者有时很难抓住一些细节,或者说是重点

尤其是当上下文有关联的时候,记得做进行一些强调、提醒操作

比如说可以用如下的字眼来描述

后面有大用、非常重要

这样当后面再提到这个点的时候,读者就会有映像,也就更容易看下去

6、小总结

当写完一个小模块的东西的,如果这么模块的东西相对来说比较复杂

那么此时就可以值得去做一个小总结

小总结可以列举这个模块所讲的知识点以及这些知识点各自的作用

或者通过画图的方式把所讲的知识点串联起来

让读者明白这一节大致讲了哪些核心的内容

7、尽量幽默

在写作的过程中,文章让人看起来尽量幽默

比如可以弄点表情包,写点段子,彪点英文,来个中西结合,加个梗之类的

这样就可以使得技术文章有趣味性,读起来不那么枯燥无味

但是注意要适当啊,不然可就会物极必反了,毕竟技术文还是以内容为主

这一点其实虽然我一直在尝试再做,但是做得还不理想,后面争取做的更好吧

写作后

每当我写完文章之后,我都会从头到尾多读几遍自己写的文章

在这个过程中,我主要是做以下几件事

1、整理排版

好的排版可以抓住读者的眼睛

整理排版主要包括一下几个东西:

  • 标题的级别做到统一
  • 适合的副标题
  • 适当的换行
  • 重点的突出
  • ...

2、改错

一篇文章有错再正常不过了,俗话说的好

人非圣贤孰能无过

所以我们在读的过程中要去识别错误

比如错别字,标点符号等等

当然还包括一些技术点描述的错误

我们要尽可能的去寻找这些错,改正,让文章尽可能没有错误

3、尝试再精练

前面在写作中的时候我已经提到要精练语言

但是在文章写完之后,我们还可以再尝试精练整篇文章

因为此时你可以站在整篇文章的角度去思考有些文字是否可以再精练,甚至有的文字是否有留下来的必要

我经常发现,写的有些东西并不是文章的主线内容

这部分内容直接被删除之后,对于文章的阅读和理解并没有什么实质性的影响,尤其是一些概念性的东西

4、总结标题

最后,根据文章的内容去总结出一个合适的标题,尽量做到见名知意

最后

前两天我翻了一下早期写的文章,当时觉得写得还不错的文章,现在看起来真的是惨不忍睹

光是看到格式,就觉得low得不行

而现在的文章,我基本上就是按照上面提到的那些点来写的

虽有不足,但是好歹也算上了摸着了正确的路,一切都在朝着好的方向法发展

最后,既然都看到这里了,不如点个赞再走吧~~

往期热门文章推荐

如何去阅读源码,我总结了18条心法

如何写出漂亮代码,我总结了45个小技巧

三万字盘点Spring/Boot的那些常用扩展点

三万字盘点Spring 9大核心基础功能

万字+20张图剖析Spring启动时12个核心步骤

1.5万字+30张图盘点索引常见的11个知识点

两万字盘点那些被玩烂了的设计模式

扫码或者搜索关注公众号 三友的java日记 ,及时干货不错过,公众号致力于通过画图加上通俗易懂的语言讲解技术,让技术更加容易学习,回复 面试 即可获得一套面试真题。

标签:选题,一篇,写文章,可以,技术,如何,写作,文章,大纲
From: https://www.cnblogs.com/zzyang/p/17714480.html

相关文章

  • PACS医学影像处理系统源码-虚拟内窥镜 三维重建技术
    PACS系统与医院HIS实现双向数据交换,自动从HIS系统获得病人基本信息、检查预约请求,自动向HIS系统传送预约请求接受、检查费用发生信息,接受来自HIS系统的检查结果查询和图像数据检索。医院医学影像PACS系统源码,集成三维影像后处理功能,包括三维多平面重建、三维容积重建、三维表面重建......
  • 容器技术:容器运行时
    什么是运行时(runtime)?runtime指的是程序执行时所需要的环境,以确保程序能够在特定的环境中正确运行;runtime为程序提供运行所需要的各种功能和支持,包括但不限于操作系统、编程语言的运行时库、虚拟机或解释器;Java程序文件就好比是容器镜像文件,JVM则好比是runtime,运行起来的Java程序......
  • 如何在JavaScript中实现链表
      转载来自:https://www.freecodecamp.org/news/implementing-a-linked-list-in-javascript/  Ifyouarelearningdatastructures,alinkedlistisonedatastructureyoushouldknow.IfyoudonotreallyunderstanditorhowitisimplementedinJavaScript......
  • 容器技术:网络工程师应该掌握的容器基础
    传统网络工程师要更有利于职业发展,需要掌握以下容器概念和基础知识:容器基础概念:容器vs.虚拟机:理解容器和虚拟机之间的区别,包括资源利用、隔离级别和部署速度。镜像:了解容器镜像的概念,即容器的静态快照,包含应用程序和其所有依赖项。容器运行时:熟悉容器运行时,如Docker的Containerd,......
  • 慢SQL治理实践及落地成果分享 | 京东物流技术团队
    一、治理背景数据库系统性能问题会对应用程序的性能和用户体验产生负面影响。慢查询可能导致应用程序响应变慢、请求堆积、系统负载增加等问题,甚至引发系统崩溃或不可用的情况。慢SQL治理是在数据库系统中针对执行缓慢的SQL查询进行优化和改进的一项重要工作。但原有的治理节奏,一般......
  • 主动写入流对@ResponseBody注解的影响 | 京东云技术团队
    问题回溯2023年Q2某日运营反馈一个问题,商品系统商家中心某批量工具模板无法下载,导致功能无法使用(因为模板是动态变化的)商家中心报错(JSON串):{"code":-1,"msg":"失败"}负责的同事看到失败后立即与我展开讨论(因为不是关键业务,所以不需要回滚,修复即可),我们发现新功能模板下载的代码与之前......
  • 关于RHCE考试和准备看这一篇就够了
    一、文章大纲认证机构课程体系面向人群证书有效期备考学习周期考试内容证书领取证书样例二、认证机构RHCE全称为红帽认证工程师(RedHatCertifiedEngineer),其认证机构为红帽。红帽可以说是Linux发行版中的龙头老大,我们日常中接触CentOS就是依据企业版红帽开源代码编译而来,在国内还......
  • Stream流处理快速上手最佳实践 | 京东物流技术团队
    一引言JAVA1.8得益于Lambda所带来的函数式编程,引入了一个全新的Stream流概念Stream流式思想类似于工厂车间的“生产流水线”,Stream流不是一种数据结构,不保存数据,而是对数据进行加工处理。Stream可以看作是流水线上的一个工序。在流水线上,通过多个工序让一个原材料加工成一个商品。......
  • 慢SQL的致胜法宝 | 京东物流技术团队
    大促备战,最大的隐患项之一就是慢SQL,对于服务平稳运行带来的破坏性最大,也是日常工作中经常带来整个应用抖动的最大隐患,在日常开发中如何避免出现慢SQL,出现了慢SQL应该按照什么思路去解决是我们必须要知道的。本文主要介绍对于慢SQL的排查、解决思路,通过一个个实际的例子深入分析总结......
  • Redis缓存穿透,击穿,雪崩问题改如何解决?
    无论在开发过程中还是面试过程中,这三个问题总是被遇到。下面是各个问题的原因和解决方案。缓存穿透原因缓存穿透其实是缓存的单点问题,是指查询一个一定不存在的数据。如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到DB去查询,可能导致DB挂掉......