我的成长记1:手把手教你如何画出令人称赞的图(程序员必读)
画一张好图的意义?
作为程序员的你,你经常做的除了起给变量和类起名字、另一就是画图了。抛开起名字这个令人头疼的问题,画图对我们来说是一个表达想法非常不错的方法。
因为画图可以清晰的表述你的思维框架,帮你梳理逻辑,更好的传达信息。
有的人跟我说画图是一项费时费力的活,的确是这样。但是你要换一个思路想想,为什么会费时费力呢?因为你的大脑在组织你用语言所表达的东西,而且你要思考如何表达才能简单、清晰。如果你只是胡乱涂鸦,那肯定不会费事的,是不是?
那么,知道了这一点,其实你会发现,如果你画了几张高质量的图,能清晰的表达你的思想。无论在工作、面试与人交流都可以起到事半功倍的效果。
那你是不是应该在这个方面多留一些,多学习一点方法和表述手段。这样能对你的工作生活都很有帮助。
画好图的必备思想
**站在观众和新人的角度画图。**假设你就是第一次理解这个知识和技术,你接受了怎么样的表述才能理解。你就朝着这个方向去画图,肯定会有提升的。
这一点是非常重要的。我会尽量用如果我是读者或者观众我怎么能理解这张图。如果理解吃力,说明不太合适。是否要拆分更多的图,一步一步带着来解释。
是否要举例子,结合图来表述等等。当你站在这中角度思考时,画图肯定会有进步的。
**人生处处是道场,任何行业、任何人都可以有学习的东西。**你可以向有经验的人、网站、平台等等,学习各种画图的案例。比如配色方案、流程图搭配等等。
比如我看到一个官方网站spring.io的配色不错,我可以通过在线颜色刷工具吸取下颜色,借鉴它的配色方案。
之后可以通过一些在线制图网站,比如创可贴,找一个模板,改改颜色和图片,得到了如下的海报图片:
类似的学习还有很多:
或者某个公众号文章排版不错,可以借鉴修改下。或者从事非线性编辑的朋友,比如搞PS、premiere之类的,他们常使用的一些色卡。可以找到一些配色方案,用于画图搭配。或者有写文章不错的或者演讲不错的人,跟他们学习下文章的布局,演讲的布局,可以学到坡道-内容-甜点的布局思路。或者.....
其实有太多了值得你学习的东西,前提是只要你有想法,有好的心态,之后有目标,方法和能力才是其次,有了想法、心态、目标,办法总比困难多,剩下的都好解决。
**由粗到细,由顶层到底层。**表达任何事情,都需要从脉络到细节,不能上来直接就是某个细节画一张图。
比如之前Kafka成长记5中,先应该有一张,Producer发送消息的核心逻辑脉络图,之后才是每一步细节的图才会更好一点。
梳理了整体,之后分析每一步,如元数据拉取、producer消息的初步序列化、分区路由、缓冲器原理等。
就像之前大学中将流程图时,也有提到过顶层流程图、一级、二级流程图之类的,这种思想可以类比到很多地方。
**注意突出信息的表达。**适当加以备注、颜色、加粗等方式,说明陌生词汇、强调重点等。注意重复,可以适当重复重要的逻辑和晦涩的知识。拆分步骤图,细化逻表达。
比如一些陌生的业务名词、复杂的逻辑。都可以通过上面的方式表述。之前Zookeeper成长记中,讲选举原理的时候,就将选举的复杂逻辑,拆为步骤图,增加备注、高亮关键字等方式来画的图。如下所示《选举过程PK选票逻辑》:
上图使用绿色的备注突出关键信息,整体图片属于选举过程中的第xx步。
如何有好的配色
当你认识到了画图的价值和常见的思想后,其实你应该明白,思想有了,方法其实就会有很多。
我这里给大家分享一个非常实用的方法—如何选图形配色。
很多人画图就是灰白系列,或者特别辣眼睛系列的配色方案,颜色搭配不合理会导致,看不清楚文字、理解困难等问题。
所以一个好的配色方案绝对可以给你的图带来事半功倍的效果。
获取配色方案的方法有很多,我给你大家介绍下我用的方式吧。
首先就是画图的平台或者说是软件选择。很多年前,我使用过很多画图软件各种UML系列的,像什么smartUml、viso、PowerDesigner反正一大堆,
之前我们都是习惯下载一个软件,装在电脑上。但是近些年随着网速提升,互联网的发展,越来越多的人喜欢在线作图。
出现了ProcessOn、亿图等等这些在线绘图软件。其实无论用什么软件,只要你习惯用的方便就行,这个没有什么好坏之分。
选色卡
就拿ProcessOn举例,我觉得可以在线画图+使用git,可以满足我多地办公的编写成长记文章的需求。所以自然而然成长记的图大多是用这个软件制作的。
好了回到整体,配色方案,如何指定。很多人可能还不知道配色方案,色卡这些词汇。其实不难理解,在编辑领域,说白了就是一些美工和设计师将适当的冷暖色进行搭配,形成的系列,就是一套配色方案,而很多设计师,喜欢将多个配色方案制作成色卡收藏,形成自己的风格搭配。
那么既然有现成的搭配方案,你肯定不需要费时费力自己去搭配了,自己的审美一不小心就搭配出来辣眼睛的配色了。
色卡来源其实你随便百度一下就可以了,现在有很多在线色卡网站。比如下网站:https://colordrop.io/
如果你喜欢某一个网站或者图片的颜色搭配,也可以通过在线吸管,获取对应的颜色,比如:http://www.jiniannet.com/Page/allcolor
制作和收藏色卡
有了色卡,你可以通过颜色自己制作出一个图,来收藏。如建立一个色卡搭配图,每次从这里拷贝对应的色卡画图即可。
ProcessOn今年升级了一个功能,有一个收藏搭配的功能,可以将色卡拖到左侧,不用单独存放在一个文件了。这个还是不错的。
之后有了色卡,使用不同的色卡进行画图就可以了。如下示例
示例1:
示例2:
示例3:
小结
画图的价值,更好的表达和梳理思路
画图的思想分享了:
站在观众和新人的角度画图。
人生处处是道场,任何行业、任何人都可以有学习的东西
由粗到细,由顶层到底层
注意突出信息的表达。
最后是方法分享,配色的方法:选色卡、制作和收藏色卡
当你知道了思想,方法自然会有。相信只要你按照我之前介绍的思想,不断的思考和实践,相信你的画图能力一定能提高!
今天我们就到这里。如果你想听我分享更多自己的成长和故事,欢迎留言在评论区,我看到觉得不错的会给大家安排的~~
本文由博客一文多发平台 OpenWrite 发布!
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
2021 数据和存储趋势报告
2021 年 4 月至 8 月期间,SODA 基金会和 Linux 基金会研究团队对全球 247 家企业、供应商和标准化组织进行了一项针对数据和存储环境的发展趋势和担忧的问卷调查。此项调查研究的目的在于在重要问题上指导终端用户和供应商,帮助他们更好地决策,改进产品,同时帮助 SODA 基金会建立新的技术方向。 《2021 年数据和存储趋势报告》一些主要发现: 对于存储的需求从 TB 级别变成 PB 级别; 企业转向基于云的容器化环境: 48% 的企业在生产和开发环境中使用云虚拟存储器; 软件定义存储可能会彻底改变我们管理数据的方式; 容器化云存储的两个最大痛点: 性能 (49%) 和可用性(46%); 在未来 3 年的数据存储基础设施规划中,企业更注重数据保护和安全; 大多数供应商如今优先考虑开源。 超过 75% 的受访企业认为 SODA 基金会提供的每一项功能最重要或非常重要,这让我们深受鼓舞。 感谢云原生计算基金会(CNCF)、全球网络存储工业协会(SNIA)、开放基础设施基金会(OIF)、Japan Data Storage Forum(JDSF)、中国开源云联盟(COSCL)、...
- 下一篇
DL4J实战之六:图形化展示训练过程
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本篇是《DL4J实战》系列的第六篇,咱们继续夯实基本功,这次学习的是如何更加形象完整的展示训练过程:图形化页面,效果如下图所示: 接下来选择一个已有的子工程,为其增加图形化界面的效果,我这里选的是《DL4J实战之三:经典卷积实例(LeNet-5)》一文中的<font color="blue">simple-convolution</font>子工程 总的来说本篇由以下内容构成: 基本的图形化功能 图形化数据的持续存储问题 图形化页面的端口配置问题 依赖库配置 首先是添加依赖库,一共需要两步: 打开父工程<font color="blue">dlfj-tutorials</font>的pom.xml,这是管理依赖库版本号的地方,在<font color="blue">dependencies</font>节点确保以下子节点是存在的,这里dl4j-master.ve...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS6,CentOS7官方镜像安装Oracle11G
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Hadoop3单机部署,实现最简伪集群