① 程序员如何画图
经常写完文章, 收到的第一个问题是: 你的图是用啥画的; 其实自己也经常问别人. 最近强化了一下这方面的知识, 总结一下.
个人将画图的场景分为两种: PPT/文章中使用和系统中使用
可能有人觉得 系统中画图 需求不多, 个人感觉还是有必要的. 经常遇到费劲开发了一个系统, 遇到各路用户问问题. 如果有办法在系统中将执行流程直接生成流程图, 你好我好大家好.
GUI 画图工具有很多可选, 个人比较推荐的是 OmniGraffle , 在线工具推荐 lucidchart . 当然, 我也见过用 KeyNote 画出漂亮的系统图的, 工具不重要, 关键看人(说多了都是泪)
重点说一下程序画图. 最近反省了一下, 画图最多的就是那几个:
没了. 真的没了. 会这几个就可以行走江湖了.
然后, 推荐两个 library: blockdiag 和 graphviz .
blockdiag 是一个神奇的 python libary. 可以通过使用类似 graphviz 的语法, 画出 块图, 序列图, 网络图, 活动图. 还提供了一个 交互式的 shell , 用于调试上述几种图. 例如, shell 中输入:
立即的到如下图:
点击右上角切换成序列图, 输入如下内容:
有可以轻松得到如下序列图:
但是说好的 library 呢? 以 seqdiag 为例,
Graphviz 可谓是一代画图神器, 通过官网的示例图就知道有多强大. blockdiag 也是参考 Graphviz 的实现. 通过类似的语法描述, 生成所需的图形. 对于颜色的选择, 可以参考文档中 Colors 一节, 非常全面.
程序方面, 同名的 graphviz library 可以使用 pip install graphviz 安装, 非常方便. 示例python 程序如下:
既然有了 library 可以画图, 强烈建议在自己的系统中将一些复杂的流程化的事情通过根据当前系统状态画出图的方式展现给用户, 可以避免很多疑惑.
② 程序员如何在电脑上编程的
说到如何在电脑上编程。首先需要知道下面这个问题的答案:“程序到底是什么?”计算机程序是指令集,它告诉计算机如何执行特殊的任务。VB~VC~VF~C~C#~C++~JAVA~.NET~这些都是编程 ASP~CGI~PHP~JSP这些是WEB编程。。 虽然都是编程,但编出来的程序可是不一样的。 目标是什么?开发?创业?还是去公司上班?还是业余爱好? 如果想业余编小程序,推荐VB~VC~容易上手。简单。也蛮强大。 如果想学好了去企业上班,推荐C++~~~.net~~~JAVA之类的大型项目开发。 如果想做网站,就学ASP~CGI~PHP~JSP,这4个就JSP最最最难,先学ASP。现在是人工智能时代,国家出台了很多政策鼓励人工智能发展,无人超市、无人驾驶、无人银行、AI人脸识别层出不穷,我觉得以后人工智能渗透的领域肯定也会越来越多,所以我推荐让孩子学习Python语言,python语言适合做人工智能的开发。简单容易上手,学好了以后对学习、出国留学、就业什么的也会有好处。首先,工程师根据你的需求给你一个合适的方案,这个方案包括硬件搭建、软件架构。 然后,在你满意的方案下为你选用设备 最后,程序员按照你的要求编写软件 各种设备有自己的命令解释器,程序员写出来的软件是可以按照机器能解读的编码编写的,这些不需要用户知道,用户只要知道怎么使用,怎么维护就可以了,如果知道的更多,那就可以成了开发者