当前位置: 首页 > 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视频直播点播平台视频转码有哪些技术特点和应用?

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

Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例

使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件,常用于在两个集合之间进行数据转移,如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model:绑定右侧列表的值&…...

Python实现prophet 理论及参数优化

文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候,写过一篇简单实现,后期随着对该模型的深入研究,本次记录涉及到prophet 的公式以及参数调优,从公式可以更直观…...

【Go】3、Go语言进阶与依赖管理

前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课,做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程,它的核心机制是 Goroutine 协程、Channel 通道,并基于CSP(Communicating Sequential Processes&#xff0…...

【HarmonyOS 5 开发速记】如何获取用户信息(头像/昵称/手机号)

1.获取 authorizationCode: 2.利用 authorizationCode 获取 accessToken:文档中心 3.获取手机:文档中心 4.获取昵称头像:文档中心 首先创建 request 若要获取手机号,scope必填 phone,permissions 必填 …...

宇树科技,改名了!

提到国内具身智能和机器人领域的代表企业,那宇树科技(Unitree)必须名列其榜。 最近,宇树科技的一项新变动消息在业界引发了不少关注和讨论,即: 宇树向其合作伙伴发布了一封公司名称变更函称,因…...

从 GreenPlum 到镜舟数据库:杭银消费金融湖仓一体转型实践

作者:吴岐诗,杭银消费金融大数据应用开发工程师 本文整理自杭银消费金融大数据应用开发工程师在StarRocks Summit Asia 2024的分享 引言:融合数据湖与数仓的创新之路 在数字金融时代,数据已成为金融机构的核心竞争力。杭银消费金…...

协议转换利器,profinet转ethercat网关的两大派系,各有千秋

随着工业以太网的发展,其高效、便捷、协议开放、易于冗余等诸多优点,被越来越多的工业现场所采用。西门子SIMATIC S7-1200/1500系列PLC集成有Profinet接口,具有实时性、开放性,使用TCP/IP和IT标准,符合基于工业以太网的…...

6个月Python学习计划 Day 16 - 面向对象编程(OOP)基础

第三周 Day 3 🎯 今日目标 理解类(class)和对象(object)的关系学会定义类的属性、方法和构造函数(init)掌握对象的创建与使用初识封装、继承和多态的基本概念(预告) &a…...

P10909 [蓝桥杯 2024 国 B] 立定跳远

# P10909 [蓝桥杯 2024 国 B] 立定跳远 ## 题目描述 在运动会上,小明从数轴的原点开始向正方向立定跳远。项目设置了 $n$ 个检查点 $a_1, a_2, \cdots , a_n$ 且 $a_i \ge a_{i−1} > 0$。小明必须先后跳跃到每个检查点上且只能跳跃到检查点上。同时&#xff0…...

LINUX编译vlc

下载 VideoLAN / VLC GitLab 选择最新的发布版本 准备 sudo apt install -y xcb bison sudo apt install -y autopoint sudo apt install -y autoconf automake libtool编译ffmpeg LINUX FFMPEG编译汇总(最简化)_底部的附件列表中】: ffmpeg - lzip…...