① 程序員如何畫圖
經常寫完文章, 收到的第一個問題是: 你的圖是用啥畫的; 其實自己也經常問別人. 最近強化了一下這方面的知識, 總結一下.
個人將畫圖的場景分為兩種: 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語言適合做人工智慧的開發。簡單容易上手,學好了以後對學習、出國留學、就業什麼的也會有好處。首先,工程師根據你的需求給你一個合適的方案,這個方案包括硬體搭建、軟體架構。 然後,在你滿意的方案下為你選用設備 最後,程序員按照你的要求編寫軟體 各種設備有自己的命令解釋器,程序員寫出來的軟體是可以按照機器能解讀的編碼編寫的,這些不需要用戶知道,用戶只要知道怎麼使用,怎麼維護就可以了,如果知道的更多,那就可以成了開發者