适合程序员的画图工具

最近很多读者私信问我,我图解文章中用到的画图工具、思维导图工具、代码贴图工具是什么?

我在很早的时候提到过,不过时间有点久了,而且比较零散,可能现在大部分读者还不知道。

我今天统一整理一下,我图解文章用到的各类工具吧,这些工具我用了一年多了,没发现什么问题,所以是值得推荐的。

我这里先列一下:

  • 画图工具:draw.io
  • 思维导图工具:xmind/effie
  • 代码贴图工具:carbon
  • 文章编写工具:有道云笔记/typora/effie

接下来,详细聊一聊。

画图工具

这篇文章的封面图就是 draw.io 的开发团队。

我的图解文章里的图片全是在 draw.io 这个工具画的,写了那么久的图解文章,再加上我工作中也有画图的习惯,累计也有在上面画了接近 1000+ 张图片。

选择它的原因很简单,因为是免费的,而且图片的源文件可以直接保存到 Github 的,这样非常方便,相当于直接云备份到了 Github 仓库里,然后用 Github 作为图床。

这一套操作下来,不管是画图工具,还是图床,都是不花一分钱的方案!

draw.io 画图工具可以在线画图,或者下载应用,或者作为 visual studio code 插件来使用。

我比较常用的方式是在线画图,就是直接在网站上画图。draw.io 一开始的画图网站地址就是直接在浏览器输入 draw.io 地址后,就会自动进入在线画图工具页面,现在它改版了, 改成重定向到官网地址了,所以现在想进入在线画图工具页面,地址是:

https://app.diagrams.net

当然,如果你想下载应用来使用,也可以在 Github 下载:

https://github.com/jgraph/drawio-desktop/releases/

我们来看看这个画图工具的页面长什么样子,主要分为三个区域,从左往右的顺序是「图形选择区域、绘图区域、属性设置区域」。

图片

其中,最左边的「图形选择区域」可以选择的图案有很多种,常见的流程图、时序图、表格图都有,甚至还可以在最左下角的「更多图形」找到其他种类的图形,比如网络设备图标等。

具体的画图方法,我在之前的文章详细介绍过:「我的 500 张图是怎么画的?」,这次我就不再赘述啦。

之前没有详细介绍,怎么将文件保存到 Github,然后作为图床使用,这次补充下

1、在浏览器输入地址:https://app.diagrams.net,进入到在线画图网站后,就会弹出保存文件到什么地方的选择,可以保存到本地、Github、OneDrive等。

图片

2、选择保存到 Github 后,就选择创建一个新的画图文件。

图片

3、选择创建一个空白的图片,然后可以给文件取个名字,画图的源文件后缀是 .drawio,最后点击创建。

图片

4、点击创建后,就会弹出获取你的 Github 账号权限,点击同意就行。

图片

5、接着输入你的 Github 账号密码。

图片

5、登陆完后,选择你要保存的 Github 仓库,比如我选择这里:

图片

6、接着,点击同意授权。

图片

7、然后就会跳转到一个网站,在你的Github需要安装 draw.io App,直接点击安装即可,初次使用才会有这一步,后面就不用那么麻烦了

图片

8、然后选择你要授权的仓库,可以是某个仓库,也可以全部仓库,我这里为了方便,就直接选择了所有仓库。

图片

9、安装完成后,在回到在线画图网站,点击「try again」。

图片

10、到这一步,授权的工作就完成了。然后,就可以开始画图了。画完图后,就可以导出 png 图片。

图片

11、我直接将 png 图片保存到 Github。

图片

图片

12、保存好图片后,我们可以用以下地址作为图片的地址。

图片

我这个地址是经过 jsdeliver cdn 加速的了,这个 cdn 也是免费的。地址的构成是这样的:

图片

也就是说,红色部分的前缀地址是固定的,绿色部分的地址是根据文件的保存仓库路径而变更就行。

如果你嫌这样替换地址麻烦,想自动化一点。可以搭配使用 pingo 工具来上传图片,上传完图片它会自动生成一个经过 jsdeliver cdn 加速的地址。网上的资料很多,关键词搜索「github + jsdeliver cdn + pingo」即可。

怎么样,这一套免费版的画图+Github云同步+图床的方案,还是很舒服的。

思维导图工具

我用的思维导图工具是 xmind,是国产的。他们软件的交互设计做的很不错,很简洁明了。

它有很多种风格选择,基本都是五彩的,整体挺好看的。

图片

有意思的地方,这个思维导图工具的右侧会有一些图标图片选择,比如表情图片、标签图片、进度图图片等等。

图片

习惯用思维导图做笔记的同学, xmind 这个思维导图工具是个不错的选择。

另外,我有时会使用 Effie 这个工具来生成思维导图,它本身是一个写作的工具,但是自带一个根据文字内容生成思维导图的功能。

图片

代码贴图工具

如果你想展示你的代码,又苦于源代码的样式不好看,则可以使用一个生成漂亮的代码贴图网站。

地址:https://carbon.now.sh

图片

导出图片后,就一张漂亮的代码展示图。

图片

文章编写工具

我写文章都是用 mardown 格式,这样的好处是能方便发布到各个博客平台。

刚好有道云笔记支持 mardown 格式,所以一直都在用这个,但是永久后,它的双屏显示体验不是很好,就是左边是 mardown 格式的文档,右边是显示渲染的效果。

图片

最近就开始转到 typora 写文章了。

图片

因为 typora 自身没有云备份功能,所以我是将 md 文件直接保存到 iCoud 云盘的文件夹,这样相当于实现了文件内容自动备份功能,再也不怕文章内容丢失了,坏处就是无法跨平台,因为 iCoud 云盘只能用于 macOS 系统。

图片

最新版本的 typora 已经开始要收费了,我一直没有更新,所以还是免费的状态。

还有一点,typora 有生成 pdf 的功能,我之前生成的图解系统和图解网络的 pdf,就是在 typora 生成的。

有时候写一些感想类的文章,我就直接在 Effie 这个工具写,因为它的页面非常简洁纯粹,就是一张大白纸页面,非常容易专注起来,而且是支持 mardown 格式的语法。

图片

还有很多优秀的记笔记的软件,比如语雀、notion、wolai等等。我之前也分享过我用到的云笔记软件:最适合程序员的云笔记?


以上这些就是我写文章的时候,常用的工具了,看起来很多,其实用习惯的话还好,而且基本都是不花钱的工具,用起来也很 nice。

你们日常中有哪些好用神仙软件,也可以评论区说下,我来种种草图片

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/555853.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

go加载python_python培训 | python调用go语言来提速

在写一些对性能要求十分严格的功能的时候,python往往力不从心。毕竟是一个解释性的语言,没有办法和变异性的语言去比较速度和内存占用率。但是python的本身的特定就使得我们可以将耗时的操作移交给编译性的语言去实现。由于项目上的关系,需要…

Spring Boot框架中使用Jackson的处理总结

1.前言 通常我们在使用Spring Boot框架时,如果没有特别指定接口的序列化类型,则会使用Spring Boot框架默认集成的Jackson框架进行处理,通过Jackson框架将服务端响应的数据序列化成JSON格式的数据。 本文主要针对在Spring Boot框架中使用Jac…

Java hdfs连接池_Java使用连接池管理Hdfs连接

记录一下Java API 连接hadoop操作hdfs的实现流程(使用连接池管理)。以前做过这方面的开发,本来以为不会有什么问题,但是做的还是坑坑巴巴,内心有些懊恼,记录下这烦人的过程,警示自己切莫眼高手低!一&#x…

为了拿捏 Redis 数据结构,我画了 40 张图(完整版)

Redis 为什么那么快? 除了它是内存数据库,使得所有的操作都在内存上进行之外,还有一个重要因素,它实现的数据结构,使得我们对数据进行增删查改操作时,Redis 能高效的处理。 因此,这次我们就来…

fastjson为什么默认是无序的

在做项目的时候,无意间发现添加到json中的元素是无存放顺序的。严格来说,json默认是有存放顺序的,不过是采用HashCode值来排序。下面来看一段源码 上图展示了创建json对象的一个过程,可以清晰的看出,无论用户调用哪个…

Java之HashMap.values()转List时的错误和正确操作

因为项目中需要获取到Map的值的集合&#xff0c;所以调用了HashMap.values()方法转成List&#xff0c;当时是使用了以下代码。&#xff08;逻辑上这样想应该没问题&#xff0c;但生活总是会是不是给你一点小“”惊喜“”&#xff09; List<AreaItemOpt> areaItemOpts (…

php检测表大小,查询mysql数据库、表的大小

一、关于mysql表数据大小mysql存储数据文件一般使用表空间存储 &#xff1b;当mysql使用innodb存储引擎的时候&#xff0c;mysql使用表存储数据分为共享表空间和独享表空间两种方式 。共享表空间&#xff1a;Innodb的所有数据保存在一个单独的表空间里面&#xff0c;而这个表空…

springboot使用redis(StringRedisTemplate的常用方法)

1. 先了解RedisTemplate和StringRedisTemplate之间的关系&#xff1a; RedisTemplate是Spring对于Redis的封装&#xff0c;而StringRedisTemplate继承RedisTemplate。两者的数据是不共通的&#xff1b;也就是说StringRedisTemplate只能管理StringRedisTemplate里面的数据&…

Arrays.asList()和Collections.singletonList()比较

Collections.singletonList(something)是不可变的&#xff0c; 对Collections.singletonList(something)返回的列表所做的任何更改将导致UnsupportedOperationException。 Arrays.asList(something)允许Arrays.asList(something) 更改 。 此外&#xff0c;由Collections.sin…

php 邮件类库,[3.3]-扩展类库:基于PHPMailer的邮件发送 | PhalApi(π框架) - PHP轻量级开源接口框架 - 接口,从简单开始!...

3.3.1 扩展类库&#xff1a;基于PHPMailer的邮件发送此扩展可用于发送邮件。3.3.2 安装和配置从 PhalApi-Library 扩展库中下载获取 PHPMailer 包&#xff0c;如使用&#xff1a;$ git clone https://git.oschina.net/dogstar/PhalApi-Library.git然后把 PHPMailer 目录复制到 …

spring boot报FileSizeLimitExceededException异常的解决方法

开发spring boot程序时&#xff0c;遇到了如下错误&#xff1a; The field file exceeds its maximum permitted size of 1048576 bytes. 原因&#xff1a; Spring Boot工程嵌入的tomcat限制了请求的文件大小&#xff0c;官方文档中这样描述&#xff1a; Spring Boot embraces…

前后端分离中的权限管理思路

在传统的前后端不分的开发中&#xff0c;权限管理主要通过过滤器或者拦截器来进行&#xff08;权限管理框架本身也是通过过滤器来实现功能&#xff09;&#xff0c;如果用户不具备某一个角色或者某一个权限&#xff0c;则无法访问某一个页面。 但是在前后端分离中&#xff0c;…

前、后端分离权限控制设计与实现

简述 近几年随着react、angular、vue等前端框架兴起&#xff0c;前后端分离的架构迅速流行。但同时权限控制也带来了问题。 网上很多前、后端分离权限仅仅都仅仅在描述前端权限控制、且是较简单、固定的角色场景&#xff0c;满足不了我们用户、角色都是动态的场景。且仅仅前端…

前后端分离必备的接口规范,十分接地气

1. 前言 随着互联网的高速发展&#xff0c;前端页面的展示、交互体验越来越灵活、炫丽&#xff0c;响应体验也要求越来越高&#xff0c;后端服务的高并发、高可用、高性能、高扩展等特性的要求也愈加苛刻&#xff0c;从而导致前后端研发各自专注于自己擅长的领域深耕细作。 然…

ubuntu php设置,关于ubuntu php环境设置详解-PHP问题

ubuntu php设置办法&#xff1a;起首更新源列表&#xff1b;而后关上“终端窗口”&#xff0c;输出饬令“sudo apt-get install php5”来装置php&#xff1b;接着装置设置装备摆设好apache环境&#xff0c;并装置php5-gd模块&#xff1b;最初创立“info.php”文件便可。Ubuntu …

MyBatis-Plus——增删查改

开发环境 IDEA JDK&#xff1a;1.8 Spring Boot:2.6.2 Maven:3.3.9 MySQL:8.0.23 数据库准备 CREATE DATABASE mybatis_plus_db;DROP TABLE IF EXISTS person; CREATE TABLE person(id BIGINT(20) NOT NULL COMMENT 主键ID, name VARCHAR(30) NULL DEFAULT NULL COMMENT 姓…

让程序员最爽的ThreadLocal使用姿势

一、常见场景 ​ 1、ThreadLocal作为线程上下文副本&#xff0c;那么一种最常见的使用方式就是用来方法隐式传参&#xff0c;通过提供的set()和get()两个public方法来实现在不同的方法中的参数传递。对于编程规范来说&#xff0c;方法定义的时候是对参数个数是有限制的&#x…

一场事故告诉你zookeeper和nacos谁更适合做注册中心

前言 ​ 在分布式系统中&#xff0c;注册中心充当着重要角色&#xff0c;是服务发现、客户端负载均衡中不可缺少的一员。注册中心除了能够实现基本的功能外&#xff0c;他的稳定性、可用性和健壮性对整个分布式系统的流畅运行影响重大。dubbo作为国内一款主流的分布式系统&…

Mysql执行计划含义,mysql执行计划介绍

烂sql不仅直接影响sql的响应时间&#xff0c;更影响db的性能&#xff0c;导致其它正常的sql响应时间变长。如何写好sql&#xff0c;学会看执行计划至关重要。下面我简单讲讲mysql的执行计划&#xff0c;只列出了一些常见的情况&#xff0c;希望对大家有所帮助。测试表结构&…

寄生虫php版,-PHP版SEO最新教材版排名DeDeCms寄生虫V90繁殖

今天视频教程演示说明下PHP寄生虫服务端的使用。主要在很多搭建的过程中会出错&#xff0c;今天主要就讲解下寄生虫配置常见的问题。那么同样也可以看下我们之前的通用版寄生虫使用教程[通用版教程在文件夹中有]&#xff0c;本教程是针对PHP版本的寄生虫服务端进行配置演示。继…