# 【軟體分享 | 硬派】真●全端工程師的桌面是什麼樣的? ## 簡介 >稚暉君是 bilibili 上的奇人,人稱野生鋼鐵俠。是每一個電子愛好者所嚮往但是又渴望而不可及的大佬。稚暉君2018年畢業於電子科技大學,之後進入OPPO演算法職位工作,目前已經是華為AI架構師的稚暉君,學士碩士就讀於電子科技大學。一位對作品追求極致的UP主。他熱愛硬體開發,在期間一直更新著硬體DIY影片,受到眾多網友追捧。今天就介紹一下"B站硬派UP主"、"Stack Overflow" 工程師稚暉君。 以上是來自:《[华为天才少年——稚晖君!](https://www.eet-china.com/mp/a39616.html)》 的介紹。 bilibili 影片:[【软件分享 | 硬核】真●全栈工程师的桌面是什么样的?](https://www.bilibili.com/video/BV1F7411u71s) 在上面連結這影片分享中他提到他所用的開發工具與開發流程,獲得臉書社團上的高度關注與肯定也引起我的興趣,所以我開這共筆的目標是: 1. 列出他的使用工具 2. 因為對於開源的熱愛,列出開源工具清單版本 3. 找出台灣這邊這樣等級的奇才 以下內容是來自原本影片下一位網友的整理,我在整理與轉換成繁體與台灣用語,有不足的地方請協助共筆修正,感謝。 ## 【創意收集整理】 1. XMind ZEN。已經改名為 [XMind 2020](https://www.xmind.net/xmind2020/) * 作者認為 ZEN 版顏質和設計感比較高 XD * 專案初期用來規劃專案的需求和整理技術路線 * 專案結束後,若要輸出文件也有更系統化的資料可用 2. 雲端筆記:開發過程中隨手記錄用 * OneNote: 作者對他印象最好 * [有道云筆記](https://note.youdao.com/) * 作者最後選這個,因為它支援 Markdown,且使用私有雲的圖床 3. 本地端 Markdown 編輯器 * [Typora](https://typora.io/):作者推薦的,免費、支援 windows/mac/linux ### 關於 Markdown * 從事技術的工作者都應掌握 Markdown 的撰寫方式 * github 中的 README.md 就是支援 Markdown 格式的文件 * [Hexo](https://hexo.io/zh-tw/) blog 框架的貼文也使用 Markdown ## 【電路 EDA】 1. [Altium Designe](https://www.altium.com/altium-designer/)r (AD/DXP/was Protel) * 一般是小公司或個人玩家會用來做電路設計 * 對於個人工程師來說絕對足夠使用 2. [EAGLE](https://www.autodesk.com/products/eagle) * 開源軟體。比 AD 更好上手 * 作者用來轉開源文件格式用,因為許多開源的專案 ex: Arduino,都是提供 Eagle 格式的文件 3. [Fritzing](https://fritzing.org) * 對作者來說,它比較像是繪圖軟體 * 用來產生麵包板接線示意圖 4. [Allegro](https://www.cadence.com)、[PADs](https://eda.sw.siemens.com) * 大公司比較會用的軟件,可以繪製較複雜的 PCB (ex: 顯卡、主機板) ## 【結構設計】 ### 3D 建模 * [Rhinocores](https://www.rhino3d.com/tw/)(俗稱 犀牛) * 參數化建模 * 適合建構機械零件、產品結構 * [Cinema 4D](https://www.maxon.net/en/cinema-4d) * 雕塑式建模 (Spline Modeling) * 適合遊戲怪物模型、人臉、不規則曲面 * [Fusion360](https://www.autodesk.com/products/fusion-360/overview) * 支援參數化建模,也支援 Spline Modeling * 軟體優化做得比較爛 (我也覺得,很吃資源) > [name=andrew] 有 .edu 的 email 信箱的話可以申請 Fusion360 教育版。去問問你畢業的學校有沒有開放申請校友 email * [SolidWorks](https://www.solidworks.com)(機械相關專業必備) * UG (NX Unigraphics) * Creo Parametric (舊稱 Pro/ENGINEER) ps: 作者認為挑自己順手的就行了,不用太糾結用哪個。 ### ID 設計 作者提到自己會為專案設計外殼,會用到下面的軟體: * [InkScape](https://inkscape.org/zh-hant/):編輯向量圖 * [ArtCAM ](https://www.autodesk.com/products/artcam/overview):產生雕刻機刀路,2018年終止開發。 * 3D 列印機軟體(具體與自己的機器有關) 在加工前預視成品的軟體: * [KeyShot](https://www.keyshot.com):3D 渲染,允許您在建模環境中創建照片般逼真的圖像和動畫 ## 【軟體開發】 * [Visual Studio](https://visualstudio.microsoft.com) * 作者用來寫 C++、openCV * 透過 [Visual Micro](https://www.visualmicro.com/)的 plugin 可以開發 Arduino * PlatformIO > [name=補充] 他用的是專業版的,一般 Maker 用的通常是免錢的 VSCode * [Android Studio](https://developer.android.com/studio):開發 APP * JetBrains 全家桶 * [PyCharm](https://www.jetbrains.com/pycharm/):IDE for Python * [Rider](https://www.jetbrains.com/rider/):IDE for .NET * [CLion](https://www.jetbrains.com/clion/):IDE for C and C++ (作者當作 Unity 的外部編輯器) * [IntelliJ IDEA](https://www.jetbrains.com/idea/):IDE for Java ## 【嵌入式系統開發】 * [Keil uVision5](https://www2.keil.com/mdk5/uvision/) * [STM32CubeMX](https://www.st.com/en/development-tools/stm32cubemx.html) * [Arduino IDE](https://www.arduino.cc) * [Kendryte IDE](https://github.com/kendryte/kendryte-ide) * 作者開發 K210(一個 RISC-V 架構的 AI 晶片) 用的 * [Processing](https://processing.org):專門為電子藝術和視覺互動設計而創建 * [Matlab](https://www.mathworks.com/products/matlab.html):數學模擬 ## 【小工具類】 * [XShell](https://www.netsarang.com/en/xshell/) SSH Client軟體 * [XFtp](https://www.netsarang.com/en/xftp/) windows 平台的SFTP、FTP 文件傳輸軟體。 * 串口獵人 * [NetAssist](https://github.com/nicedayzhu/netAssist) 网络调试助手 (左岸軟體) * [CMake](https://cmake.org):跨平台安裝編譯工具 * [Git GUI](https://git-scm.com/downloads/guis):git CUI 版本,程式碼版本控制 * [CoolFormat](https://github.com/akof1314/CoolFormat):原始碼格式化工具 * [IDA Pro](https://www.hex-rays.com/products/ida/):反組譯工具 * [WireShark](https://www.wireshark.org):免費開源的網路封包分析軟體。 * [SerialChart](https://github.com/starlino/serialchart):串口繪圖 * [Netron](https://github.com/lutzroeder/netron):圖形化查看神經網絡 * [Beyond Compare](https://www.scootersoftware.com):程式碼修改比對 --- 以上是稚晖君的軟體使用清單,有些是開源的,有些是付費的。以下整理對應的開源替代軟體: ## 《創意收集整理》 * [FreeMind](http://freemind.sourceforge.net/wiki/index.php/Main_Page):繪製心智圖 (Mind Map) > [name=Sam]FreeMind已消失,不妨使用開源Coggle,無限制上傳圖片、即時協作、歷程記錄...等。 > 不過免費版僅能創建 3個私人圖表,後續創建的圖表將放置公共區域(無限制)。 * [HackMD](https://hackmd.io/) * 台灣的使用者可以使用這個。作者新增了許多自訂 tag,可以嵌入 youtube 影片、支援拖曳貼圖和使用 Github 管理版本,屌打眾多雲端筆記。 * [Joplin]((https://www.playpcesor.com/2020/04/joplin-evernote.html)) (Markdown 編輯器) ## 《電路 EDA》 * [TinkerCAD](https://www.tinkercad.com/)(網頁版) * 繪製簡單的電路示意圖 * [KiCad EDA](https://kicad.org/) * 自由軟體。繪製 PCB Layout ## 《3D建模、ID、結構設計》 * [FreeCAD](https://www.freecadweb.org):開源軟體,參數化 3D CAD 建模器 * [Blender](https://www.blender.org):開源軟體,可以建模也有渲染功能 * [Cura](https://ultimaker.com/software/ultimaker-cura):3D 列印開源切片軟體 ## 《軟體開發》 老實說開源的 IDE 工具都難用到爆 XD 比較有名的開源 IDE 應該是 Eclipse。但是 VSCode 雖然不是開源,卻是免費的,屌打 Eclipse 呀~ > [name=鄭鴻旗]那 Notepad++ 那這個呢 ? > http://notepad-plus-plus.org > https://zh.wikipedia.org/wiki/Notepad%2B%2B > [name=許晉豪] 2019 年 Notepad++ 因為新版本命名為「解放維吾爾族」,遭受中國網軍攻擊 > 有可能跟這個有關所以他不會特別提? > 或者只是純粹沒有接觸到 Notepad++ 而已 > [name=鄭鴻旗]這版本命名超酷的,很有駭客精神。 > [name=Andrew] notepad++ 定位是編輯器,不是 IDE,一般來說 IDE 至少要有編譯、上傳、除錯的功能。 ## 《嵌入式系統開發》 * [Processing](https://processing.org):專門為電子藝術和視覺互動設計而創建 * [p5.js](https://p5js.org):由 Processing 延伸而成的 JavaScript 函式庫,Processing 是設計給沒有程式基礎的人快速進行創作的平台,而 p5.js 可以理解為 Processing 的 JavaScript 版本。 ## 《小工具類》 * [MobaXterm](https://mobaxterm.mobatek.net/):UART/SSH/Telnet 多合一連線工具 * FileZilla:ftp client * [WinMerge](https://winmerge.org/):開源檔案比對工具 * [arduino-plotter](https://github.com/devinaconley/arduino-plotter) ## 台灣奇才名單 * [黃小潔Jerry](https://www.youtube.com/channel/UCEjplHocsRiH0HmJHxEaZoQ) * 我覺得他不錯,也算玩得很廣,作品的完成度也很高 * [光幻魔影/胡搞蝦搞](https://www.youtube.com/user/OLMMvideo) * 這也是我會追蹤的 Maker,作品完成度也很高