当前位置: 首页 > news >正文

技术文档,they are my collection!

  工作      

        今天这篇文章,献给一直撰写技术文档的自己。我自认为是公司中最爱写文档的人了,我们是一个不到40人的小公司,公司作风没有多么严谨,领导也不会要求我们写技术文档。但是从入职初至今,我一直保持着写技术文档的习惯,每当遇到中大型的需求,我是必须贯彻文档先行的,即使这篇技术文档只是写给自己的。

        编写技术文档是一个理清软件开发思路的一个过程,我认为开发一个中大型的需求,需要事先做好软件设计工作,然后才能开始开发。我知道在很多大型公司,架构设计、软件设计、开发都是分角色的,每个人专注于干一件事情。但是小公司没有这么多人力,不分这么多岗位。但这不意味着我们就可以舍弃软件开发流程中的某一环节。软件工程是一个严谨的过程,开发是一个充满逻辑思考的过程,我更喜欢一步步来,遵循严谨的开发流程,事先梳理好开发逻辑,然后创造出更好的产品。

        上图是我总结的多个技术文档的模板。they are my collection!

   学习

        除了工作,日常的学习过程中我也会编写一些总结性的技术文档。目前我在使用的工具是阿里的语雀,它可以使用很多的MarkDown 语法,很适合从事IT 行业的人员编写技术类的文档,我很推荐语雀这款APP。

        使用语雀之前,我也尝试过很多写技术类文档的APP,如印象笔记,Notion,VsCode的Markdown 插件,还使用过各种画脑图的软件。最终,我认为我编写技术类文档的归宿是语雀。首先它的免费版基本可以满足我的一切日常所需,我不需要为其付费。而印象笔记我记得我使用的时候还开了一年会员,因为它有很多功能是会员专享的。而且个人感觉印象笔记对于Mark Down 语法的支持和展示效果并不如语雀。

        第二点语雀原本就是阿里巴巴一直在使用的技术文档平台,所以它天生就是为了编写技术文档而存在的,与之对比的是Notion,Notion 是一个多样化的富文本工具,它更像是一个做总结,列计划类的工具,更趋向于以页面的方式让简单的东西生动化,在我看来是一个增加趣味性的工具。用了一段时间后,我觉得我还是更喜欢采用一个简单列表来做一个计划,或者使用Excel 列一个计划。而技术类文档也不需要花里胡哨的东西,所以我就把Notion 放弃了。

        使用脑图是我看了一本关于脑图的书,然后觉得脑图更适合人类大脑的思考,就有一段时间一直使用脑图APP总结我的技术文档。但事实上技术类文档是不适合脑图的,脑图可以是技术类文档关于总结的一部分,作为其中的插图使用,但它绝不能完全代替技术类文档。

        VsCode 的MarkDown 插件确实是一个好用的工具,在使用语雀前我有一年的时间使用VsCode 编写我的技术类文档。但是让我用语雀的原因是,语雀有一个一键分享功能,可以将自己的技术类文档以链接的方式直接发给别人看,而且别人还可以进行协作编辑,而这是VsCode所不具备的功能。语雀APP使用至今,让我觉得非常顺手,所以以后大概率也会一直使用语雀进行技术文档的编写了。

        用了语雀不到一年时间,我编写了大概300多篇技术文档,大概60万字。they are my collection!

画图

        技术类文档少不了的就是插图,一篇带有图例的文档会让人感觉更舒服,更具专业性。我的技术类文档使用的图例一般是UML 图,BPMN图,以及对于一些前端的设计我也会画简单的原型图。而这些图我现在都使用一个APP 搞定,就是ProcessOn。ProcessOn可以画各种图形,虽然它不像很多专业的软件如Axure RP那样具有细致入微的设计体验,但它胜在操作简单,图形丰富,简单来说就是够用。而像Axure RP这种软件我也用过一段时间,感觉出图速率不如ProcessOn,且功能复杂,需要时间学习,但是我很多时候只是画一个简单能表达意思的简易原型图而已。      

        简单展示一下ProcessOn 的页面,使用ProcessOn 至今,我画的图大概200多了吧,多用于技术类文档的示例图。they are my collection!

AICG

        提到AICG想必做IT行业的人应该都不陌生,它是最近几年最火的概念,现在已经成为我在开发过程中,以及编写技术类文档的过程中比不可少的一个资讯,优化类APP。AICG 的平台有很多,从一开始火爆全球的ChatGPT,到现在中国市场百家争鸣的各种大模型平台,如智谱AI,豆包,通译千问,讯飞星火等。。。AICG 在不断进化,逐渐渗透到人类日常生活的方方面面。

        在编写技术类文档时,我一般使用AICG 干两件事,一件事是查询自己不懂的技术,或淡忘的内容,结合百度,CSDN,starkoverflow等平台做快速总结学习,以方便后续技术类文档的使用。第二件事就是我会使用AICG 做整体的文字优化工作,让语言更通顺,文本更具有技术性。

        结合我使用AICG 的感觉,我认为AICG 可以用,但不可信。因为很多情况下AICG 输出的内容是错误的。很多情况下它生成的内容看起来非常合理,但实际上它的逻辑并不是建立在事实的基础上的。所以对于AICG 的输出,我们要始终保持存疑的态度。我们需要做到广泛求学,不能忘记根本的学习路径,就是看书学知识,而不是一味的依赖于AICG。所以我认为AICG 的使用终将和人类是一个相辅相成的过程,它帮助你回答一些遗忘的东西,优化一些你想要的东西;你引导它指向正确的东西,帮助它修复一些错误的东西,这个过程应该是贯彻始终的。

        目前我比较喜欢的AICG 平台是智谱清言,它的生成速率非常快,答案也往往令人满意。

推荐软件

        最后将本文提到的软件官网分享给大家,大家可以作为一个参考。工欲善其事,必先利其器,希望大家都能找到适合自己的编写技术类文档的APP。

ProcessOn思维导图流程图-在线画思维导图流程图_在线作图实时协作

语雀,为每一个人提供优秀的文档和知识库工具 · 语雀

智谱清言

相关文章:

技术文档,they are my collection!

工作 今天这篇文章,献给一直撰写技术文档的自己。我自认为是公司中最爱写文档的人了,我们是一个不到40人的小公司,公司作风没有多么严谨,领导也不会要求我们写技术文档。但是从入职初至今,我一直保持着写技术文档…...

详解Qt之QtMath Qt数学类

文章目录 QtMath详解前言QtMath简介QtMath中的函数1. 三角函数1.1 qSin1.2 qCos 2. 指数与对数函数2.1 qExp2.2 qLn 3. 幂运算与平方根3.1 qPow3.2 qSqrt QtMath的优势1. 一致性与跨平台支持2. 与Qt生态系统集成3. 简洁性 总结 QtMath详解 前言 在C的开发中,数学运…...

人工智能与人类:共创未来的新篇章

数年前,当人工智能还停留在实验室的时候,很少有人能想到它会如此迅速地融入我们的日常生活。如今,从手机上的语音助手,到自动驾驶汽车,从智能家居到医疗诊断,AI的身影无处不在。这让我想起了20世纪初电力普…...

4.6 JMeter HTTP信息头管理器

欢迎大家订阅【软件测试】 专栏,开启你的软件测试学习之旅! 文章目录 前言1 HTTP信息头管理器的位置2 常见的HTTP请求头3 添加 HTTP 信息头管理器4 应用场景 前言 在 JMeter 中,HTTP信息头管理器(HTTP Header Manager&#xff09…...

非交换几何与黎曼ζ函数:数学中的一场革命性对话

非交换几何与黎曼ζ函数:数学中的一场革命性对话 非交换几何(Noncommutative Geometry, NCG)是数学的一个分支领域,它将经典的几何概念扩展到非交换代数的框架中。非交换代数是一种结合代数,其中乘积不是交换性的&…...

【设计模式】【行为型模式(Behavioral Patterns)】之观察者模式(Observer Pattern)

1. 设计模式原理说明 观察者模式(Observer Pattern) 是一种行为设计模式,它定义了一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并自动更新。这种模式非常适合处理事件驱动系统&a…...

文件导入-使用java反射修改日期数据

文件导入时,时间类型通常不能直接导出,以下方法为批量处理类中日期类型转字符串类型。 Date/Datetime --> String(yyyy-mm-dd)Field[] declaredFields HrAviationstudentMonitorDTO.class.getDeclaredFields(); for (Field field : declaredFields) …...

【网络安全设备系列】10、安全审计系统

0x00 定义: 网络安全审计系统针对互联网行为提供有效的行为审计、内容审计、行为报警、行为控制及相关审计功能。从管理层面提供互联网的 有效监督,预防、制止数据泄密。满足用户对互联网行为审计备案及 安全保护措施的要求,提供完整的上网记录&#xf…...

Apache Maven Assembly 插件简介

Apache Maven Assembly 插件是一个强大的工具,允许您以多种格式(如 ZIP、TAR 和 JAR)创建项目的分发包。 该插件特别适用于将项目与其依赖项、配置文件和其他必要资源一起打包。 通过使用 Maven Assembly 插件,您可以将项目作为…...

ReentrantLock(可重入锁) Semaphore(信号量) CountDownLatch

目录 ReentrantLock(可重入锁) &Semaphore(信号量)&CountDownLatchReentrantLock(可重入锁)既然有了synchronized,为啥还要有ReentrantLock?Semaphore(信号量)如何确保线程安全呢?CountDownLatch ReentrantLock(可重入锁) &Semaphore(信号量…...

计算机网络习题解答--个人笔记(未完)

本篇文章为关于《计算机网络-自顶向下方法第七版》的阅读总结和课后习题解答(未完待续) 第二章: cookie:(这里是比较老版本的HTTP,具体HTTPs是怎么实现的不是很清楚)cookie的原理其实很简单。就是在HTTP消息头上又多…...

java虚拟机——频繁发生Full GC的原因有哪些?如何避免发生Full GC

什么是Full GC Full GC(Full Garbage Collection)是Java垃圾收集过程中的一种形式,它涉及整个堆内存(包括年轻代和老年代)以及方法区的垃圾收集。Full GC是一个相对重量级的操作,因为它需要遍历和回收整个…...

python学习笔记(12)算法(5)迭代与递归

一、迭代 迭代(iteration)是一种重复执行某个任务的控制结构。在迭代中,程序会在满足一定的条件下重复执行某段代码,直到这个条件不再满足。 迭代通常用于解决需要逐步推进的计算问题,例如遍历数组、计算阶乘等。迭代…...

从零开始:Linux 环境下的 C/C++ 编译教程

个人主页:chian-ocean 文章专栏 前言: GCC(GNU Compiler Collection)是一个功能强大的编译器集合,支持多种语言,包括 C 和 C。其中 gcc 用于 C 语言编译,g 专用于 C 编译。 Linux GCC or G的安…...

Rust学习(十):计算机科学简述

Rust学习(十):计算机科学简述 在计算机技术这片广袤的领域中,深入理解其内在机制与逻辑需要付出诸多努力。 学习基础知识是构建计算机技术能力大厦的基石,而这一过程往往漫长而艰辛。只有在对基础知识有了扎实的掌握…...

【西瓜书】剪枝与样本值处理——预剪枝、后剪枝、连续值、缺失值

目录 预剪枝 后剪枝 处理连续值 处理缺失值 剪枝(pruning)是决策树学习算法对付“过拟合”的主要手段。 在决策树学习过程中,有时会造成决策树分枝过多,就可能造成过拟合,可通过主动去掉一些分支来降低过离合的风…...

NLP 1、人工智能与NLP简介

人人都不看好你,可偏偏你最争气 —— 24.11.26 一、AI和NLP的基本介绍 1.人工智能发展流程 弱人工智能 ——> 强人工智能 ——> 超人工智能 ① 弱人工智能 人工智能算法只能在限定领域解决特定的问题 eg:特定场景下的文本分类、垂直领域下的对…...

常见线程安全问题之Double Checked Locking

创作内容丰富的干货文章很费心力,感谢点过此文章的读者,点一个关注鼓励一下作者,激励他分享更多的精彩好文,谢谢大家! 双重锁定检查(Double Checked Locking,下称 DCL)是并发下实现懒…...

Redis(非关系型数据库)的作用 详细解读

edis(Remote Dictionary Server)是一个开源的、高性能的、基于内存的数据结构存储系统。它具有极高的读写性能,并且能够支持多种数据结构的存储。Redis 最初的设计目标是作为一个缓存解决方案,但随着其功能的不断扩展,…...

互联网视频推拉流EasyDSS视频直播点播平台视频转码有哪些技术特点和应用?

视频转码本质上是一个先解码再编码的过程。在转码过程中,原始视频码流首先被解码成原始图像数据,然后再根据目标编码标准、分辨率、帧率、码率等参数重新进行编码。这样,转换前后的码流可能遵循相同的视频编码标准,也可能不遵循。…...

python之多元线性回归

目录 前言实战 前言 多元线性回归是回归分析中的一种复杂模型,它考虑了多个输入变量对输出变量的影响。与一元线性回归不同,多元线性回归通过引入多个因素,更全面地建模了系统关系。 多元线性回归模型的表达式为: f ( X ) K T …...

学习threejs,使用设置lightMap光照贴图创建阴影效果

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:threejs gis工程师 文章目录 一、🍀前言1.1 ☘️THREE.MeshLambertMaterial…...

一,SQL注入解题(猫舍)

封神台 第一章:为了女神小芳! Tips: 通过sql注入拿到管理员密码! 尤里正在追女神小芳,在得知小芳开了一家公司后,尤里通过whois查询发现了小芳公司网站 学过一点黑客技术的他,想在女神面前炫炫技。于是他…...

海康大华宇视视频平台EasyCVR私有化部署视频平台海康ISUP是什么?如何接入到EasyCVR?

在现代安防领域,随着技术的发展和需求的增加,对于视频监控系统的远程管理和互联互通能力提出了更高的要求。海康威视的ISUP协议(以及功能相似的EHOME协议)因此应运而生,它们为不具备固定IP接入的设备提供了一种有效的中…...

Java ArrayList 与顺序表:在编程海洋中把握数据结构的关键之锚

我的个人主页 我的专栏:Java-数据结构,希望能帮助到大家!!!点赞❤ 收藏❤ 前言:在 Java编程的广袤世界里,数据结构犹如精巧的建筑蓝图,决定着程序在数据处理与存储时的效率、灵活性以…...

windows下安装wsl的ubuntu,同时配置深度学习环境

写在前面,本次文章只是个人学习记录,不具备教程的作用。个别信息是网上的,我会标注,个人是gpt生成的 安装wsl 直接看这个就行;可以不用备份软件源。 https://blog.csdn.net/weixin_44301630/article/details/1223900…...

开展网络安全成熟度评估:业务分析师的工具和技术

想象一下,您坐在飞机驾驶舱内。起飞前,您需要确保所有系统(从发动机到导航工具)均正常运行。现在,将您的业务视为飞机,将网络安全视为飞行前必须检查的系统。就像飞行员依赖检查表一样,业务分析师使用网络安全成熟度评估来评估组织对网络威胁的准备程度。这些评估可帮助…...

Maven Surefire 插件简介

Maven Surefire 插件是 Maven 构建系统中的一个关键组件,专门用于在构建生命周期中执行单元测试。 它通常与 Maven 构建生命周期的测试阶段绑定,确保所有单元测试在项目编译后和打包前被执行。 最新版本 Maven Surefire 插件的最新版本为 3.5.2。 使…...

基于微信小程序的平价药房管理系统+LW参考示例

1.项目介绍 系统角色:管理员、医生、普通用户功能模块:用户管理、医生管理、药品分类管理、药品信息管理、在线问诊管理、生活常识管理、日常提醒管理、过期处理、订单管理等技术选型:SpringBoot,Vue,uniapp等测试环境…...

react 前端最后阶段静态服务器启动命令

这个错误是因为你还没有安装 serve 工具。让我们一步步解决: 首先全局安装 serve: npm install -g serve如果上面的命令报错,可能是因为权限问题,可以尝试: 安装完成后,再运行: Windows 下使用…...

手机网站模版 优帮云/推广赚钱软件排行

如果你想从头学习Jmeter,可以看看这个系列的文章哦 https://www.cnblogs.com/poloyy/category/1746599.html 简单介绍 约定响应时间,响应时间如果超出约定,则断言为失败 断言持续时间 断言持续时间界面介绍 只需要填写预期的运行时间就行了 结…...

it服务商/seo自学网官方

1、下载空白包 2、用自己应用的签名文件(.keystore或.jks)进行签名,步骤如下(应用宝为例) (1)进入到签名文件的路径下, (2)签名:jarsigner -verbo…...

镇江企业网站建设公司/公众号软文推广多少钱一篇

2019独角兽企业重金招聘Python工程师标准>>> Android4.0的版本编译完后直接emulator就能运行模拟器,到了4.1就不行了! 要手动设置如下环境变量: export ANDROID_BUILD_TOP/Volumes/android/android export ANDROID_PRODUCT_OUT…...

wordpress打开html/最新全国疫情消息

它取决于您定义为必需的:没有任何头字段必须与每个响应一起发送,无论什么情况,但有真正应该发送的头字段。唯一接近的头字段是Date,但即使它有它的情况下它不是必需的。在RFC 2119的说法中,术语MUST意味着某些是规范的…...

手机网站搭建公司/现在做百度推广有用吗

今天玩了一把Apache common configuration,感觉挺哈皮。 为了没有接触过这个工具的朋友少走弯路,我分享一下自己的经验。 1)从官网上下载一个common configuration的jar包, http://commons.apache.org/configuration/downloads.ht…...

wordpress 登录 不同/百度搜索排名与点击有关吗

我们经常碰到的需求是希望页面某个元素固定在浏览器的一个位置,无论如何滚动滚动条,位置不变,就例如经常看到的弹出广告。方法一般是使用js控制,或者使用css。下面本篇文章给大家介绍一下CSS让元素固定不变的方法。在css中&#x…...