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

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

DeepSeek 赋能智慧能源:微电网优化调度的智能革新路径

目录 一、智慧能源微电网优化调度概述1.1 智慧能源微电网概念1.2 优化调度的重要性1.3 目前面临的挑战 二、DeepSeek 技术探秘2.1 DeepSeek 技术原理2.2 DeepSeek 独特优势2.3 DeepSeek 在 AI 领域地位 三、DeepSeek 在微电网优化调度中的应用剖析3.1 数据处理与分析3.2 预测与…...

以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:

一、属性动画概述NETX 作用:实现组件通用属性的渐变过渡效果,提升用户体验。支持属性:width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项: 布局类属性(如宽高)变化时&#…...

visual studio 2022更改主题为深色

visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中,选择 环境 -> 常规 ,将其中的颜色主题改成深色 点击确定,更改完成...

WordPress插件:AI多语言写作与智能配图、免费AI模型、SEO文章生成

厌倦手动写WordPress文章?AI自动生成,效率提升10倍! 支持多语言、自动配图、定时发布,让内容创作更轻松! AI内容生成 → 不想每天写文章?AI一键生成高质量内容!多语言支持 → 跨境电商必备&am…...

数据库分批入库

今天在工作中,遇到一个问题,就是分批查询的时候,由于批次过大导致出现了一些问题,一下是问题描述和解决方案: 示例: // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...

使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台

🎯 使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台 📌 项目背景 随着大语言模型(LLM)的广泛应用,开发者常面临多个挑战: 各大模型(OpenAI、Claude、Gemini、Ollama)接口风格不统一;缺乏一个统一平台进行模型调用与测试;本地模型 Ollama 的集成与前…...

有限自动机到正规文法转换器v1.0

1 项目简介 这是一个功能强大的有限自动机(Finite Automaton, FA)到正规文法(Regular Grammar)转换器,它配备了一个直观且完整的图形用户界面,使用户能够轻松地进行操作和观察。该程序基于编译原理中的经典…...

【数据分析】R版IntelliGenes用于生物标志物发现的可解释机器学习

禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍流程步骤1. 输入数据2. 特征选择3. 模型训练4. I-Genes 评分计算5. 输出结果 IntelliGenesR 安装包1. 特征选择2. 模型训练和评估3. I-Genes 评分计…...

搭建DNS域名解析服务器(正向解析资源文件)

正向解析资源文件 1)准备工作 服务端及客户端都关闭安全软件 [rootlocalhost ~]# systemctl stop firewalld [rootlocalhost ~]# setenforce 0 2)服务端安装软件:bind 1.配置yum源 [rootlocalhost ~]# cat /etc/yum.repos.d/base.repo [Base…...

并发编程 - go版

1.并发编程基础概念 进程和线程 A. 进程是程序在操作系统中的一次执行过程,系统进行资源分配和调度的一个独立单位。B. 线程是进程的一个执行实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。C.一个进程可以创建和撤销多个线程;同一个进程中…...