制作科學編程游戲視頻,如何開發一個windows軟件?
摘要:在我認識的所有程序員里,每個人幾乎都有專屬于自己的常用工具和相關資源,今天給大家奉上數十個程序員硬核工具,我相信這里總有一款工具是屬于你的!
程序員生產力工具大全如下:1. Idea-Intellij IDEA (java 編程語言 開發的集成環境)
業界排名第一的java開發工具,非常非常好用,如果還在用eclipse的朋友,趕緊來體驗一把,你一定會愛上她的。2. SecureCRT (SSH終端仿真程序)
SecureCRT是一款終端仿真程序,支持SSH(SSH1和SSH2)以及Telnet和rlogin協議。SecureCRT用于連接運行包括Windows、UNIX和VMS在內的遠程系統的理想工具。3. Termius (全平臺的遠程終端)
termius是一款全平臺的遠程終端,Termius不僅涵蓋了Windows、Linux、OSX,還變態得支持Android和iOS(以后在地鐵、公交上都可以隨時拿出手機來排查線上問題啦,還真是廣大程序員的福音呢。4. Google Chrome (谷歌瀏覽器)
Google Chrome是一款由Google公司開發的網頁瀏覽器,該瀏覽器基于其他開源軟件撰寫,包括WebKit,目標是提升穩定性、速度和安全性,并創造出簡單且有效率的使用者界面。5. iTerm (為Mac OS X編寫的終端仿真程序)
iTerm是一個為Mac OS X編寫的,功能齊全的終端仿真程序;目標是在為用戶提供OS X下最佳的命令行體驗;字母i代表了本地蘋果的外觀和風格的程序界面,并把重點放在完整的國際支持; 它合并由兩個項目, CTerminal和TerminalX ,而這兩者都是基于JTerminal項目;該軟件非常有實用和易用性。6. Visual Studio Code (簡稱“VS Code”,編寫現代Web和云應用的跨平臺源代碼編輯器)
重新定義和優化了代碼編輯,以便生成和調試新式 Web 應用程序和云應用程序。也是著名的文本編輯器,它是輕量級的,vSCode的一大特點就是你可以通過多種方式來調整設置,而且Vim可以和VScode集成在一起,它還帶有一個集成終端,可用的擴展太多,使開發人員的工作變得更加輕松。我最喜歡的一些擴展是AWS Toolkit, ESLint,Live Server, Live Share, Prettier-代碼格式化程序,YAML,Live Sass編譯器,Docker等。7. VMware Fusion & VMware workstation (為計算機開發的虛擬機管理程序)
是在計算機上無縫運行 Windows 的最佳方式,可確保 Windows 應用程序在計算機上實現無縫運行可以在基于 Intel 的計算機上無縫運行 Windows、Linux 以及其他 PC等多個操作系統,進而構建、測試或演示軟件。8. Navicat Premium (數據庫管理工具)
Navicat premium是一款數據庫管理工具,是一個可多重連線資料庫的管理工具,它可以讓你以單一程式同時連線到 MySQL、SQLite、Oracle 及 PostgreSQL 資料庫,讓管理不同類型的資料庫更加的方便。9. Postman (api調試工具)
簡單來說,四個詞,簡單、實用、大方、美觀!postman這款網頁調試工具的windows客戶端,功能強大的HTTP調試與模擬插件。使用Postman可以進行API開發、請求、調試,除了它,還可以使用lnsomnia和Insomnia Designer作為API文檔。10. RedisDesktopManager (一款可視化 redis管理工具 )
Redis Desktop Manager是一款簡單快速、跨平臺的Redis桌面管理工具,也被稱作Redis可視化工具,Redis Desktop Manager官方版是一款開源軟件,支持通過SSH Tunnel連接,支持windows、mac等多平臺。11. Dash (基于MAC的 API文檔瀏覽器和代碼片段管理器)
“開發者不可或缺的杰作。”Dash 可讓您的 Mac 即時離線訪問 200 多個 API 文檔集。立刻搜索離線文件集200層+的API ,100+備忘單和 href="">更多 功能。您甚至可以"">生成自己的文檔集 或 href="">請求 包含href="">文檔集 。12. Fiddler & Wireshark (http抓包工具)
Fiddler和Wireshark都是進行抓包的工具:所謂抓包就是將網絡傳輸發送與接收的數據包進行截獲、重發、編輯、轉存等操作,也用來檢查網絡安全。作為開發者,經常想調試一下http請求發送的數據的詳情,那么可以使用這2款軟件。用抓包工具wireshark的人相對來說更多一些。13. HBuilder X (HTML5的Web開發工具)
當前最快的HTML開發工具,強大的代碼助手幫你快速完成開發,最全的語法庫和瀏覽器兼容性數據讓瀏覽器碎片化不再頭痛。作為HBuilder下一代的全新編輯器,HBuilderX被定位為ide和編輯器的完美結合,除了對某種語言的語法分析、提示、轉到定義、調試,同時加強了對通用文本處理能力,界面更加清爽,擁有比上一代更加有效的快捷鍵體系。14. MobaXterm (遠程終端控制軟件,集串口,SSH遠程登錄和FTP傳輸三合一的工具)
多功能終端MobaXterm Professional Edition 是一款豪華、全功能的終端軟件。MobaXterm帶來了所有必要的Unix命令到Windows桌面,在開箱單便攜式exe文件。MobaXterm允許您啟動遠程會話。遠程shell,MobaXterm遠比Putty好用,您可以選擇創建SSH,遠程登錄,Rlogin,RDP,VNC,XDMCP,FTP,SFTP或串行會話。15. Sublime Text (跨平臺代碼編輯器)
http://www.sublimetext.cn/Sublime Text 是一款用于代碼、標記和散文的精致文本編輯器。Sublime Text 中文網致力于為廣大國內開發者提供詳盡的中文文檔、使用說明等,助力開發者快速掌握這個編輯器。16.webstorm (專業的HTML編輯工具)
web開發的必備的一款開發神器,比如寫js、頁面、css,那么這款軟件用起來非常順手。此軟件和idea出自于同一家公司,這家公司做了很多異常好用的軟件,基本上你需要的各種開發相關的IDE,這家公司都生產。可以說是“Web前端開發神器”、“最強大的HTML5編輯器”、“最智能的JavaScript IDE”。新版對JavaScript,TypeScript和CSS支持更好,改進了Vue.js的體驗,并為Jest集成增加了新功能。17.Xshell (功能強大的終端模擬器)
linux原創控制軟件,完全免費且非常穩定的 SSH 客戶端 ,支持多種遠程協議,提供了很多特色與高級功能,簡體中文界面也讓你輕松管理遠程服務器。 Xshell 的 Screen 會話不閃屏,而且可以回滾;Script 的執行順序可以調整;可以同時發送指令到多個 session;支持布局切換等。18. SwitchHosts (修改Hosts文件的工具)
這是用于在多個HOSTS之間進行切換。可在公用hosts文件 、當前系統hosts、本地方案和在線方案間進行切換。作為一名開發人員,經常需要修改本地host,你還是通過修改host文件來操作的么?那樣太慢了,這里建議大家使用switchhosts這款軟件,可以快速修改本地host,非常好用。其他工具:
1. CodeIf(智能命名) : https://unbug.github.io/codelf
大部分開發者都或多或少遇到過變量命名的煩惱,如果命名不規范,不僅會影響開發的效率,而且對后面維護的同學來說也是一個不小的挑戰,因為他要去揣摩你這個變量的含義。隨著項目越來越復雜,變量和函數數量越來越多,雖然每個編程語言都有各種命名規范,但是也不能解決所有的問題。“計算機科學里兩件最難的事:緩存失效和命名。” Codelf通過搜索在線開源平臺Github, Bitbucket, Google Code, Codeplex, Sourceforge, Fedora Project的項目源碼,幫開發者從中找出已有的匹配關鍵字的變量名,從而幫助為變量名苦惱的開發者命名。這個搜索服務支持直接搜索中文。同時可以在自己用的編輯器里安裝插件,支持 VS Code、Atom、Sublime Text 和 Chrome。2. DocsChina-印記中文 : https://www.docschina.org
這是一個前端中文文檔合集,進入網站可以看到開發中經常使用的前端中文文檔。如果你的英文實在不怎么好,還在為找中文文檔而煩惱,這里將是你非常好的選擇。記得放到自己的瀏覽器收藏夾里哦!3. any-rule(正則表達大全): http://github.com/any86/any-rule
any-rule 維護了一個常用正則表達式合集,并且本身是一個支持 Web/VS Code/idea/Alfred Workflow 多平臺的正則表達式工具。4. tool.lu(在線工具): https://tool.lu
程序員總是有很多小工具要使用,比如圖片、Base64編碼、Markdown編輯器時間戳轉換,進制轉換等,在線運行各種語言代碼。這個網站包含了太多程序員需要用到的小工具了。比如你想運行點JAVA代碼,又不想麻煩的在系統中安裝JAVA環境,可以使用里邊的在線運行代碼工具,然后選擇JAVA,寫點JAVA代碼就可以直接運行了。5. Baomitu(前端靜態源庫): https://cdn.baomitu.com
這個靜態資源庫是支持HTTP/2的CDN服務,有了它,如果你是自己的小型項目或者是做測試就不用下載任何的代碼庫,直接粘貼地址過來用就可以,因為是國內的CDN庫,速度還非常的快。6. Typora-Markdown(編寫工具):https://www.typora.io
一款實用的 Markdown 編寫工具,所見即所得,用Markdown編寫文章是一個程序員的標準配置,也就是標配。現在有很多在線工具都支持Markdown,什么有道云筆記、雀語,、印象筆記等。這種簡單的界面,沉浸式的編寫,清晰的大綱,它就像一件稱手的兵器,讓你一旦擁有就愛不釋手。7. Snipaste (簡單便捷的截圖軟件):https://zh.snipaste.com/download.html
一款免費的桌面截圖軟件,功能強大,使用方便,支持任何屏幕位置截圖,支持窗口截圖,支持快捷方式截圖。您可通過截取貼圖,使兩張圖合并為一張圖,還能調整截圖文字圖像等等,是一款非常強大的貼圖軟件,喜歡此款貼圖軟件的朋友不要錯過。8. Captura (最好用的開源錄屏、gif動態圖片制作工具)
官網:https://captura.updatestar.com/github:https://github.com/MathewSachin/Captura通過這款工具可以幫助你輕松錄制各種視頻。支持全屏錄制、區域錄制兩種方式,全屏錄制可以錄制全部的電腦屏幕,將電腦屏幕上所有的動態都錄制下來,該軟件還擁有視頻編解碼器,可以對視頻進行解碼,支持mp4、avi、GIF、webm等格式,可以滿足一般的解碼需要。還支持屏幕截圖、剪貼板,簡單的圖像編輯等功能,是一款非常好用的屏幕錄像工具。9. 向日葵 (遠程控制軟件): https://sunlogin.oray.com/
向日葵遠程控制是一款提供遠程控制服務的軟件。向日葵遠程控制支持主流操作系統Windows、Linux、Mac、Android、iOS跨平臺協同操作,在任何可連入互聯網的地點,都可以輕松訪問和控制安裝了向日葵遠程控制客戶端的設備。整個遠控過程,可通過瀏覽器直接進行,無需再安裝軟件。10. Everything (本地文件檢索工具):http://www.voidtools.com/support/everything/
由voidef="">tools 開發的一款文件搜索工具,這款軟件是基于名稱實時定位文件和目錄。Everthing功能強大,體積小巧,第一次安裝使用時會建立一個索引數據庫,將所有文件和文件夾的名稱導入其中,后續使用能夠以極快的速度快速搜索,查找到你所需要的文件。11. StarUML (UML畫圖工具)
畫uml圖的一款神器,類圖、時序圖、流程圖、狀態圖等等,都可以用這款工具輕松應對。12. uTools (生產力工具集):https://u.tools/
一個極簡、插件化、跨平臺的現代化桌面軟件。通過自由選配豐富的插件,打造你得心應手的工具集合。這個工具,我只能說他是一款神奇,太牛逼,這款工具中匯集了很多好用的工具,可以通過這款工具秒開電腦上的各種軟件。搜索資源網站工具:
1.Bing
Bing 國際版:https://cn.bing.com/感覺比某度要好用多了。2.DuckDuckGo
DuckDuckGo:https://duckduckgo.com/從官網的介紹來看這個搜索引擎不收集用戶信息,而且沒有廣告。3.Stack Overflow
Stack Overflow:https://stackoverflow.com/我們如果常用 Google,很多技術問題的答案就在這個網站上,如果你無法使用 Google 可以在這個網站上直接檢索就好了。4.Gitlogs
Gitlogs:https://www.gitlogs.com/Gitlogs 是專門針對 GitHub 項目的搜索引擎,我們通過他可以快速找到想要項目。5.jiumo search
文檔搜索引擎 jiumo search 鳩摩搜書:https://www.jiumodiary.com/可以用來找一些技術文檔手冊,很多在百度網盤里。6.Ebooke
Ebooke:https://ebookee.org/Ebookee 是一個基于互聯網并提供免費電子圖書下載的搜索引擎網站。7.Iconfinder
圖標搜索:https://www.iconfinder.com/用來查找 logo 圖片。8.TinEye
TinEye:https://www.tineye.com用圖片來檢索圖片,我們可以上傳圖片或輸入圖片的 URL 來檢索。9.SemanticScholar
SemanticScholar:https://www.semanticscholar.org/SemanticScholar 是一個免費學術搜索引擎,其檢索結果來自于期刊、學術會議資料或者是學術機構的文獻。10.LibreStock
LibreStock:https://librestock.com/LibreStock 上可以檢索一些優質的高清圖片。http://11.CC Search
CC Search:https://ccsearch.creativecommons.org/CC Search 上搜索到的圖片資源都是無版權的,我們可以免費的使用。12.Pexels
Pexels:https://www.pexels.com/高質量的圖片網站,可以免費使用。13.Unsplash
Unsplash:https://unsplash.com/免費高清素材網站。14.The App Store
The App Store:https://theappstore.org/The App Store 是一個針對蘋果手機、iPad、Mac 設備的應用搜索工具。在線畫圖工具:
? 在線畫圖工具ProcessOn:https://www.processon.com/? 在線畫圖工具http://draw.io:https://app.diagrams.net/? 在線思維導圖工具:http://www.mindline.cn/webapp? PlantUML在線編輯器:http://haha98k.com/在線開發輔助工具:
日常開發經常會用到一些輔助工具我總結為8大類,包括:編解碼工具、轉換工具、正則工具、編譯工具、網絡工具、格式化工具、可視化工具、在線生成器、以及其他工具等等。具體列表如下:在線編碼工具:
BASE64編解碼工具:https://base64.supfree.net/? MD5編碼工具:https://www.zxgj.cn/g/md5? AES/DES加解密:http://www.fly63.com/tool/cipher/? JWT解碼工具:http://jwt.calebb.net/? ASCII編解碼工具:https://www.matools.com/code-convert-ascii? Unicode編解碼工具:https://www.zxgj.cn/g/unicode? UTF-8編解碼工具:https://www.zxgj.cn/g/utf8? 字符串編解碼工具:https://www.zxgj.cn/g/enstring? URL編解碼工具:http://tool.chinaz.com/tools/urlencode.aspx?jdfwkey=lbixz1在線轉換工具:
在線ASCII碼對照表:http://www.fly63.com/tool/ascii/? 通用進制轉換工具:https://www.zxgj.cn/g/jinzhi? 在線浮點數十進制轉換:http://www.binaryconvert.com/? RGB顏色轉換:https://www.zxgj.cn/g/yansezhi? 時間戳轉換工具:https://www.zxgj.cn/g/unix? 計量單位換算工具:http://www.fly63.com/tool/unitable/? 在線JSON解析:http://www.json.cn/? 在線JS代碼格式化工具:https://prettier.io/playground/? SQL壓縮/格式化工具:https://www.zxgj.cn/g/sqlformat? JSON和XML在線轉換:https://www.zxgj.cn/g/jsonxml? JSON/YAML在線轉換:http://www.fly63.com/tool/jsonyaml/? 人民幣大小寫轉換工具:http://www.fly63.com/tool/renmingbi/正則表達式工具:
正則表達式調試工具:https://regexr.com/? 正則表達式可視化工具:https://jex.im/regulex/網絡工具:
IP地址歸屬地查詢:https://www.ip138.com/? IP地址查詢:https://www.ipip.net/ip.html? HTTP在線接口測試工具:http://www.fly63.com/php/http/在線編譯運行工具:
C#在線編譯運行:https://rextester.com/? C/C++在線編譯調試:https://www.onlinegdb.com/? 在線編譯工具套裝:https://c.runoob.com/可視化/格式化工具:
在線前端編輯器: https://codepen.io/? 在線數據可視化:https://flourish.studio/? 在線JSON解析:http://www.json.cn/? 在線CSS代碼可視化工具:https://enjoycss.com/? XML格式化工具:https://www.zxgj.cn/g/xmlformat? 在線JS代碼格式化工具:https://prettier.io/playground/? SQL壓縮/格式化工具:https://www.zxgj.cn/g/sqlformat? JSON和XML在線轉換:https://www.zxgj.cn/g/jsonxml? JSON/YAML在線轉換:http://www.fly63.com/tool/jsonyaml/在線生成器:
UUID在線生成器:https://www.zxgj.cn/g/uuid? 隨機數生成器:https://www.zxgj.cn/g/suijishu其他常用工具:
在線Nginx配置工具:https://nginxconfig.io/? 在線對比工具:http://www.fly63.com/tool/textdiff/? 在線Chrome瀏覽器插件:https://www.crx4chrome.com/? 在線接口文檔管理工具:http://www.docway.net/在線素材工具:
如果你寫文章,或者做視頻,那就一定少不了要找素材,包括各種圖片、背景、emoji表情、表情包、壁紙、視頻、gif圖等等。? 免費透明背景圖片素材:http://pngimg.com/? Emoji表情搜索:https://emoji.svend.cc/? Emoji表情包下載:https://emojiisland.com/? open source icons:https://feathericons.com/? 表情包在線網站:https://fabiaoqing.com/? 免費PNG圖片庫:https://pluspng.com/? ICON圖標在線下載:https://www.iconfinder.com/? 極簡壁紙:https://bz.zzzmh.cn/? Wallpaper Abyss壁紙:https://wall.alphacoders.com? Pixabay圖片素材庫:https://pixabay.com/zh/? Unsplash圖片素材庫:https://unsplash.com? Pexels圖片素材庫:http://www.pexels.com? NASA圖片視頻素材庫:https://images.nasa.gov設計制作類工具:
對于那些文章創作者和視頻創作者而言,設計封面,做海報,設計LOGO,圖片美化等等基本也是剛需。這樣大概率日常會用到一些簡易好上手的在線設計制作類工具,比如在線P圖、音/視頻輕量化剪輯、logo制作、海報設計制作、圖片美化、在線圖片轉換或生成等等。? 在線PS:https://www.uupoop.com/? 在線音頻剪輯:https://www.weixinsyt.com/? 在線視頻剪輯:https://www.kapwing.com/? 免費logo在線制作:http://www.uugai.com/? 藝術字體在線生成:https://www.qt86.com/? 在線表格轉換工具: https://tableconvert.com/? 在線海報設計工具: https://www.designcap.com/? 圖片智能放大工具:https://bigjpg.com/? 二維碼美化器:https://mh.cli.im/? 在線代碼截圖工具:https://carbon.now.sh/? 在線摳圖工具:https://www.remove.bg/zh? ICO圖標在線生成:http://www.fly63.com/php/ico/? SVG轉PNG工具:http://www.fly63.com/tool/svg2img/? 視頻轉GIF工具:http://www.fly63.com/tool/giftxt/? 二維碼在線生成器:http://www.fly63.com/tool/ewm/? 二維碼在線解碼:http://www.fly63.com/php/decoder/寫輔助工具:
寫文章的過程中經常會用到和寫作相關的輔助工具,比方說:字數統計工具、Markdown格式的文章排版工具、圖床網站、代碼截圖工具等等,所以下面這些在線工具就能很好地滿足我的需求。? 在線字數統計:https://www.eteste.com/? mdnice markdown排版工具:https://mdnice.com/? md2all markdown排版工具:http://md.aclickall.com/? 在線圖床神器:https://picx.xpoet.cn/? 在線免費圖床:https://sm.ms/? 圖殼圖床:https://imgkr.com/? 在線代碼截圖工具:https://carbon.now.sh/? 在線短鏈接工具:https://urlify.cn/? 在線文本替換:http://www.fly63.com/tool/textreplace/在線辦公工具:
部分在線工具主要用來處理一些和文檔以及文稿相關的事情,經常用到的比如:在線的全套pdf處理和轉換工具、各種各樣多媒體文件間的相互轉換工具、在線識別工具、在線壓縮工具等等。? pdf在線處理工具1:https://smallpdf.com/cn/pdf-tools? pdf在線處理工具2:https://tools.pdf24.org/zh/? pdf轉word在線工具:https://www.pdftoword.com/? 在線多媒體轉換器合集:https://cn.office-converter.com/? 在線文字識別工具:https://ocr.wdku.net/? 在線文件壓縮工具:https://docsmall.com/文檔筆記工具:
好記性不如爛筆頭,作為一個學習者,我覺得記筆記是必不可少的步驟。當然現在基本都做電子筆記和電子文檔比較多。現如今各式各樣優秀的文檔工具和筆記軟件鱗次櫛比,好用的也有很多,整理成如下列表,這東西各有長處,使用哪個最合意還得看個人習慣和需求了。? 印象筆記:https://www.yinxiang.com/? 有道筆記:https://note.youdao.com/? OneNote:https://www.onenote.com/? 幕布:https://mubu.com/? 為知筆記:https://www.wiz.cn/? 石墨文檔:https://shimo.im/? Simplenote:https://simplenote.com/? 語雀:https://www.yuque.com/編程學習網:
? 嗶哩嗶哩:https://www.bilibili.com/? C語言網:https://www.dotcpp.com/? cppreference:http://zh.cppreference.com/? 中國大學MOOC:https://www.icourse163.org/? 牛客網:http://www.nowcoder.com? 網易公開課:http://open.163.com? CodeGym:https://codegym.cc/? BeginnersBook:https://beginnersbook.com/? JavaSED:http://www.javased.com/? codecademy:https://www.codecademy.com/? Coursera:https://www.coursera.org/? StackOverFlow:https://stackoverflow.com/? LeetCode:https://leetcode-cn.com/? LintCode:https://www.lintcode.com/在線教程文檔:
這部分主要集中了在做開發過程中隨手參考所要用到的幾乎所有在線教程和官方文檔,有中文版文檔的基本都優先列出來了,但更多時候是英文的官方文檔。? Git中文教程:https://git-scm.com/book/zh/v2? SVN中文手冊:http://svnbook.red-bean.com/nightly/zh/index.html? jQuery API中文文檔:https://jquery.cuishifeng.cn/? Nginx中文文檔:https://www.nginx.cn/doc/index.html? Kafka中文文檔:https://kafka.apachecn.org/? Mybatis中文文檔:https://mybatis.org/mybatis-3/zh/index.html? 微信小程序官方文檔:https://developers.weixin.qq.com/miniprogram/dev/framework/? Nodejs中文教程文檔:http://nodejs.cn/learn? Apache Web Server文檔:http://httpd.apache.org/docs/? Spring文檔中文版:https://www.springcloud.cc/spring-reference.html? Golang標準庫文檔中文版:https://studygolang.com/pkgdoc? Java 8官方文檔:https://docs.oracle.com/javase/8/docs/api/index.html? Maven官方文檔:http://maven.apache.org/guides/? Tomcat 8官方文檔:http://tomcat.apache.org/tomcat-8.0-doc/index.html? Spring Boot官方文檔:https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/? RabbitMQ官方文檔:https://www.rabbitmq.com/documentation.html? RocketMQ官方文檔:http://rocketmq.apache.org/docs/quick-start/? Dubbo中文文檔:https://dubbo.apache.org/zh/docs/? Netty官方文檔:https://netty.io/wiki/index.html? Elasticsearch官方文檔:https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html? Spring Cloud官方文檔:https://spring.io/projects/spring-cloud? Docker官方文檔:https://docs.docker.com/get-started/? kubernetes中文文檔:https://kubernetes.io/zh/docs/home/? thymeleaf官方文檔:https://www.thymeleaf.org/documentation.html? Vue.js中文文檔:https://cn.vuejs.org/v2/guide/? React.js官方文檔:https://reactjs.org/docs/getting-started.html? Jenkins中文文檔:https://www.jenkins.io/zh/doc/華為云平臺:
高效易用的低代碼aPaaS平臺-應用魔方AppCube:https://www.huaweicloud.com/product/appcube.html集華為研發實踐、前沿研發理念、先進研發工具為一體的軟件開發平臺-軟件開發平臺 DevCloud:https://www.huaweicloud.com/devcloud/以上內容分享自華為云社區《吐血整理:程序員都在用什么工具?》,作者: 考過IE勵志當攻城獅 ,部分內容整理自互聯網~
有哪些好用且小眾的黑科技軟件?
作為一名工具迷,平時私藏不少黑科技軟件,這里我也來補充一些沒被其他答主提到的神器。
1. TinyPNG -- 圖片壓縮TinyPNG是一個超級好用的圖片壓縮工具。將需要壓縮的圖片直接拖到虛線框內即可,當然也可以點擊上傳。
它的優點在于壓縮速度快,對圖片質量損失小,壓縮率高,大部分情況下它可將圖片體積減少50%左右,例如我的下面這種圖壓縮前是288.1KB,而壓縮后是140KB。
直接百度「TinyPNG」第一個打開就是,無需下載,直接在線使用。
2. PHOTOZOOM PRO -- 提高放大圖片的品質有些時候我們找到一張素材圖片想插到文章或PPT里面,但圖片太小,一放大就會模糊。而PHOTOZOOM PRO就是一款新穎的、技術上具有革命性的對圖片進行放大但不會模糊的神器,可以很好的解決我們這一痛點。話說是使用了S-SPLINE技術(一種申請過專利的,擁有自動調節、進階的插值算法的技術),可以將盡可能地提高放大圖片的品質。
工具左側調節各種參數,來處理放大的圖片。
3. iSlide -- PPT插件神器iSlide是一款超贊的PPT插件利器,利用它可以極大提高做PPT的效率,獲得過多數人的推薦。
下載安裝后,你會看到菜單欄多出一個iSlide選項卡
可以看到里面有非常多的實用功能,這里距離說幾個。
超屌的智能圖表,輕松實現數據可視化。
18萬+主題模板自由選擇。
一鍵優化,將PPT中不規則的字體,段落,色彩,參考線布局,風格樣式等一鍵化全局統一設置,建立規范。
16萬+矢量圖標庫免費使用。
還有豐富的圖片庫,插圖庫和色彩庫等等。真的是良心黑科技插件,強烈推薦,這不是我第一次推薦了。
4. Word Cloud Art Creator -- 云文字制作工具很多人一直搞不懂這種由很多文字組成的圖片是怎么做的。
其實只需要一個很簡單的工具就可以完成制作,Word Cloud Art Creator 是一個無需下載、在線使用,輕松幫你制作云文字的工具,如有看不懂英文的,可以右擊鼠標將網頁即可。
5. Duotone -- 雙色圖片生成器顧名思義,duotone這個神器可以讓你一鍵生成炫酷的雙色圖片,這是一種歐美雜志常用的設計風格。
輸入地址進入網站,我們可以看到左邊是調色板,右邊是是免費可商用的unsplash圖庫默認提供的圖片,這個圖庫資源非常豐富,圖片質量也很高,我自己經常在上面搜素材。
選擇一張圖片,你可以輕松的修改配色。
除了可以選用默認推薦的圖片,你還可以自己上傳圖片,直接拖拽到工具即可。
你以為這個神器就這樣結束了嗎?其實它除了雙色圖片生成還有個彩蛋,點擊By shapeFactory你會發現還隱藏了三個小工具:
分別是:
Logo:字體logo生成器
Pigment:一個小色卡生成器
Gradient:漸變調色器
6. Slik -- 酷炫光炫繪畫打開網站后,按住鼠標左鍵移動,你會發現會生成一組左右對稱的美麗光炫繪畫,對,就是這么簡單炫酷。
即使你是一個零基礎繪畫的手殘黨,我相信你也可以勾勒出漂亮的圖形,一個網站玩一天。你還可以點擊左邊的顏色小圓點進行調色、對稱開關控制等設置。
碼字不易,如果覺得不錯就點個贊或關注我吧~~我會把收藏的更多黑科技軟件慢慢分享給大家。如何從零開始學編程?
You can code. They cannot. That is pretty damn cool.– Learn Python The Hard Way
在你學習編程之前思考一下你的目標,當你有最終目標時道路會更加的清晰。那么,你想要寫什么?網站?游戲?iOS或者Android應用?或是你是想自動化完成一些乏味的任務讓你有更多的時間看窗外的風景?也許你只是想更具有就業競爭力找個好工作。所有的這些都是有價值的目標,這些目標都是你編程學習推動力的一部分,沒有推動力的人,是無法在略顯枯燥的漫長學習之旅中走遠的。
不要浮躁
Bad programming is easy. Even Dummies can learn it in 21 days. Good programming requires thought, but everyone can do it and everyone can experience the extreme satisfaction that comes with it.不管是在線下還是線上的書店,滿目都是《21天學通Java》這種速成書目,它們都承諾在很短一段時間內就讓你能夠學會相關技術。Matthias Felleisen在他的著作 How to Design Programs, Second Edition 一書中明確指出了這種「速成」的趨勢并予以了以上的諷刺。
所謂的「捷徑」或者說「銀彈」是不存在的,智者說過,精通某個東西需要10年或10000個小時,也就是漢語中的「十年磨一劍」,所以不用著急,功不唐捐。
培養興趣
Most good programmers do programming not because they expect to get paid or get adulation by the public, but because it is fun to program.
– Linus Torvalds
沉醉于編程,編程更是為了興趣。興趣是推動力的不竭源泉,保持這種充滿興趣的感覺,以便于你能將其投入到你的10年/10000小時的編程時間中。編程很有趣,那是探索的喜悅。那是創造的喜悅。看到自己親手完成的作品顯示在屏幕上很有趣。有人為你的代碼而驚嘆很有趣。有人在公共場合稱贊你的產品、鄰居使用你的產品、以及在媒體上討論你的產品很有趣。編程應該十分有趣,若并非如此,就找出導致編程無趣的問題,然后解決之。
這幅圖取自 Douglas Hofstadter 的著作G?del, Escher, Bach。圖中的每一個字母都由其他更小的字母組成。在最高層級,我們看的是"MU",M 這個字母由三個HOLISM(整全觀)構成,U則是由一個REDUCTIONISM(還原論)構成,前者的每一個字母都包含后者的后者整個詞,反之亦然。而在最低層級,你會發現最小的字母又是由重復的"MU"組成的。
每一層次的抽象都蘊含著信息,如果你只是幼稚地單一運用整體論在最高層級觀察,或運用還原論觀察最低層級,你所得到的只有"MU"(在一些地區的方言中mu意味著什么都沒有)。問題來了,怎樣才能盡可能多的獲取每個層級的信息?或者換句話說,該怎樣學習復雜領域(諸如編程)包含的眾多知識?
教育與學習過程中普遍存在一個關鍵問題:初學者們的目標經常過于傾向整全觀而忽略了基礎,舉個常見的例子,學生們非常想做一個機器人,卻對背后的
理解物理模型 → 理解電子工程基礎 → 理解伺服系統與傳感器 → 讓機器人動起來
這一過程完全提不起興趣。
在這里對于初學者有兩個大坑:
如果初學者們只與預先構建好的「發動機和組件」接觸(沒有理解和思考它們構造的原理),這會嚴重限制他們在將來構建這些東西的能力,并且在診斷解決問題時無從下手。第二個坑沒有第一個那么明顯:幼稚的「整體論」方法有些時候會顯得很有效,這有一定的隱蔽性與誤導性,但是一兩年過后(也許沒那么長),當你在學習路上走遠時,再想回過頭來「補足基礎」會有巨大的心理障礙,你得拋棄之前自己狹隘的觀念,耐心地緩步前進,這比你初學時學習基礎知識困難得多。但也不能矯枉過正,陷入還原論的大坑,初學時便一心試圖做宏大的理論,這樣不僅有一切流于理論的危險,枯燥和乏味還會讓你失去推動力。這種情況經常發生在計算機科班生身上。
為了更好理解,可以將學習編程類比為學習廚藝:你為了燒得一手好菜買了一些關于菜譜的書,如果你只是想為家人做菜,這會是一個不錯的主意,你重復菜譜上的步驟也能做出不賴的菜肴,但是如果你有更大的野心,真的想在朋友面前露一手,做一些獨一無二的美味佳肴,甚至成為「大廚」,你必須理解這些菜譜背后大師的想法,理解其中的理論,而不僅僅是一味地實踐。但是如果你每天唯一的工作就是閱讀那些厚重的理論書籍,因為缺乏實踐,你只會成為一個糟糕的廚子,甚至永遠成為不了廚子,因為看了幾天書后你就因為枯燥放棄了廚藝的學習。
總之,編程是連接理論與實踐的紐帶,是計算機科學與計算機應用技術相交融的領域。正確的編程學習方法應該是:通過自頂而下的探索與項目實踐,獲得編程直覺與推動力;從自底向上的打基礎過程中,獲得最重要的通用方法并鞏固編程思想的理解。
作為初學者,應以后者為主,前者為輔。
啟蒙
「學編程應該學哪門語言?」這經常是初學者問的第一個問題,但這是一個錯誤的問題,你最先考慮的問題應該是「哪些東西構成了編程學習的基礎」?
編程知識的金字塔底部有三個關鍵的部分:
算法思想:例如怎樣找出一組數中最大的那個數?首先你得有一個 maxSoFar 變量,之后對于每個數…語法:我怎樣用某種編程語言表達這些算法,讓計算機能夠理解。系統基礎:為什么 while(1) 時線程永遠無法結束?為什么 int *foo() { int x = 0; return &x; } 是不可行的?啟蒙階段的初學者若選擇C語言作為第一門語言會很困難并且枯燥,這是因為他們被迫要同時學習這三個部分,在能做出東西前要花費很多時間。
因此,為了盡量最小化「語法」與「系統基礎」這兩部分,建議使用 Python 作為學習的第一門語言,雖然Python對初學者很友好,但這并不意味著它只是一個「玩具」,在大型項目中你也能見到它強大而靈活的身影。熟悉Python后,學習C語言是便是一個不錯的選擇了:學習C語言會幫助你以靠近底層的視角思考問題,并且在后期幫助你理解操作系統層級的一些原理,如果你只想成為一個普通(平庸)的開發者你可以不學習它。
下面給出了一個可供參考的啟蒙階段導引,完成后你會在頭腦中構建起一個整體框架,幫助你進行自頂向下的探索。
完成 Codecademy 的 Python 部分。這只是熱身部分,盡快完成它,因為你永遠只是在瀏覽器里,你不會學到如何搭建開發環境。在 Codecademy 這類的編程學習網站學到的那點兒東西,哪怕你只想做一個小的不能再小的項目,你都不知道該從哪兒開始。完成 MIT 6.00.1x(中文化)(如果你英語不過關,完成麻省理工學院公開課:計算機科學及編程導論。MOOC 是學習編程的一個有效途徑。雖然該課程的教學語言為Python,但作為一門優秀的導論課,它強調學習計算機科學領域里的重要概念和范式,而不僅僅是教你特定的語言。如果你不是科班生,這能讓你在自學時開闊眼界;課程內容:計算概念,python編程語言,一些簡單的數據結構與算法,測試與調試。支線任務:完成Python核心編程完成 Harvard CS50 (如果你英語不過關:完成哈佛大學公開課:計算機科學 cs50 。同樣是導論課,但這門課與MIT的導論課互補。教學語言涉及 C, PHP, JavaScript + SQL, HTML + CSS,內容的廣度與深度十分合理,還能夠了解到最新的一些科技成果,可以很好激發學習計算機的興趣。支線任務:閱讀《編碼的奧秘》完成《C語言編程》[可選] 如果你的目標是成為一名 Hacker:閱讀 Hacker's DelightPS:如果教育對象還是一個孩子,以下的資源會很有幫助:
5-8歲: Turtle Academy8-12歲:Python for Kids12歲以上: MIT Scratch 或 KhanAcademy入門
結束啟蒙階段后,初學者積累了一定的代碼量,對編程也有了一定的了解。這時你可能想去學一門具體的技術,諸如Web開發,Android開發,iOS開發什么的,你可以去嘗試做一些盡可能簡單的東西,給自己一些正反饋,補充自己的推動力。但記住別深入,這些技術有無數的細節,將來會有時間去學習;同樣的,這時候也別過于深入特定的框架和語言,現在是學習計算機科學通用基礎知識的時候,不要試圖去抄近路直接學你現在想學的東西,這是注定會失敗的。
那么入門階段具體該做些什么呢?這時候你需要做的是反思自己曾經寫過的程序,去思考程序為什么(Why)要這樣設計?,思考怎樣(How)寫出更好的程序?試圖去探尋理解編程的本質:利用計算機解決問題。
設想 :
X = 用于思考解決方案的時間,即「解決問題」 部分
Y = 用于實現代碼的時間,即「利用計算機」部分」
編程能力 = F(X, Y) (X>Y)
要想提高編程能力,就得優化 X,Y 與函數 F(X, Y),很少有書的內容能同時著重集中在這三點上,但有一本書做到了——Structure and Interpretation of Computer Programs(SICP)《計算機程序的構造和解釋》,它為你指明了這三個變量的方向。在閱讀SICP之前,你也許能通過調用幾個函數解決一個簡單問題。但閱讀完SICP之后,你會學會如何將問題抽象并且分解,從而處理更復雜更龐大的問題,這是編程能力巨大的飛躍,這會在本質上改變你思考問題以及用代碼解決問題的方式。此外,SICP的教學語言為 Scheme,可以讓你初步了解函數式編程。更重要的是,他的語法十分簡單,你可以很快學會它,從而把更多的時間用于學習書中的編程思想以及復雜問題的解決之道上。
Peter Norvig 曾經寫過一篇非常精彩的SICP書評,其中有這樣一段:
To use an analogy, if SICP were about automobiles, it would be for the person who wants to know how cars work, how they are built, and how one might design fuel-efficient, safe, reliable vehicles for the 21st century. The people who hate SICP are the ones who just want to know how to drive their car on the highway, just like everyone else.如果你是文中的前者,閱讀SICP將成為你銜接啟蒙與入門階段的關鍵點
雖然SICP是一本「入門書」,但對于初學者還是有一定的難度,以下是一些十分有用的輔助資源:
Udacity CS212 Design of Computer Program): 由上文提到的Google研究主管Peter Norvig 主講,教學語言為 Python,內容有一定難度。How to Design Programs, Second Edition:HtDP的起點比SICP低,書中的內容循循善誘,對初學者很友好,如果覺得完成SICP過于困難,可以考慮先讀一讀HtDP。UC Berkeley SICP授課視頻以及 SICP 的兩位作者給 Hewlett-Packard 公司員工培訓時的錄像(中文化項目)Composing Programs:一個繼承了SICP思想但使用Python作為教學語言的編程導論(其中包含了一些小項目)SICP 解題集:對于書后的習題,作為初學者應盡力并量力完成。完成了這部分學習后,你會逐步建立起一個自己的程序設計模型,你的腦子里不再是一團亂麻,你會意識到記住庫和語法并不會教你如何解決編程問題,接下來要學些什么,在你心里也會明朗了很多。這時候才是真正開始進行項目實踐,補充推動力的好時機。
關于項目實踐:對于入門階段的初學者,參與開源項目還為時過早,這時候應該開始一些簡單的項目,諸如搭建一個網站并維護它,或是編寫一個小游戲再不斷進行擴展,如果你自己的想法不明確,Mega Project List 中選取項目。總之,務必在這時拿下你項目實踐的第一滴血。
與此同時,別忘了繼續打好根基。為了將來的厚積薄發,在下面這幾個方面你還要繼續做足功課(注意:下面的內容沒有絕對意義上的先后順序):
計算機系統基礎
有了之前程序設計的基礎后,想更加深入地把握計算機科學的脈絡,不妨看看這本書:《深入理解計算機系統》 Computer Systems A Programmer's Perspective。這里點名批評這本書的中譯名,其實根本談不上什么深入啦,這本書只是 CMU的「計算機系統導論」的教材而已。CMU的計算機科學專業相對較偏軟件,該書就是從一個程序員的視角觀察計算機系統,以「程序在計算機中如何執行」為主線,全面闡述計算機系統內部實現的諸多細節。
如果你看書覺得有些枯燥的話,可以跟一門 Coursera 上的 MOOC: The Hardware/Software Interface,這門課的內容是 CSAPP 的一個子集,但是最經典的實驗部分都移植過來了。同時,可以看看 The C Programming Language,回顧一下C語言的知識。
完成這本書后,你會具備堅實的系統基礎,也具有了學習操作系統,編譯器,計算機網絡等內容的先決條件。當學習更高級的系統內容時,翻閱一下此書的相應章節,同時編程實現其中的例子,一定會對書本上的理論具有更加感性的認識,真正做到經手的代碼,從上層設計到底層實現都了然于胸,并能在腦中回放數據在網絡->內存->緩存->CPU的流向。
此外,也是時候去接觸 UNIX 哲學了: KISS - Keep it Simple, Stupid. 在實踐中,這意味著你要開始熟悉命令行界面,配置文件。并且在開發中逐漸脫離之前使用的IDE,學會使用Vim或Emacs(或者最好兩者都去嘗試)。
閱讀 《UNIX編程環境 》閱讀《UNIX編程藝術 》折騰你的 UN*X 系統數據結構與算法基礎
如今,很多人認為編程(特別是做web開發)的主要部分就是使用別人的代碼,能夠用清晰簡明的方式表達自己的想法比掌握硬核的數學與算法技巧重要的多,數據結構排序函數二分搜索這不都內置了嗎?工作中永遠用不到,學算法有啥用啊?這種扛著實用主義大旗的「碼農」思想當然不可取。沒有扎實的理論背景,遭遇瓶頸是遲早的事。
數據結構和算法是配套的,入門階段你應該掌握的主要內容應該是:這個問題用什么算法和數據結構能更快解決。這就要求你對常見的數據結構和算法了熟于心,你不一定要敲代碼,用紙手寫流程是更快的方式。對你不懂的數據結構和算法,你要去搜它主要拿來干嘛的,使用場景是什么。
供你參考的學習資源:
《算法導論 》:有人說別把這本書當入門書,這本書本來就不是入門書嘛,雖說書名是 Introduction to Algorithms,這只不過是因為作者不想把這本書與其他書搞重名罷了。當然,也不是沒辦法拿此書入門,讀第一遍的時候跳過習題和證明就行了嘛,如果還覺得心虛先看看這本《數據結構與算法分析》Coursera Algorithms: Design and Analysis [Part 1] & [Part 2]: Stanford 開的算法課,不限定語言,兩個部分跟下來算法基礎基本就有了;英語沒過關的:麻省理工學院公開課:算法導論入門階段還要注意培養使用常規算法解決小規模問題的能力,結合前文的SICP部分可以讀讀這幾本書:《編程珠璣 》,《程序設計實踐 》編程語言基礎
Different languages solve the same problems in different ways. By learning several different approaches, you can help broaden your thinking and avoid getting stuck in a rut. Additionally, learning many languages is far easier now, thanks to the wealth of freely available software on the Internet- The Pragmatic Programmer
此外還要知道,學習第n門編程語言的難度是第(n-1)門的一半,所以盡量去嘗試不同的編程語言與編程范式,若你跟尋了前文的指引,你已經接觸了:「干凈」的腳本語言 Python, 傳統的命令式語言 C, 以及浪漫的函數式語言 Scheme/Racket 三個好朋友。但僅僅是接觸遠遠不夠,你還需要不斷繼續加深與他們的友誼,并嘗試結交新朋友,美而雅的 Ruby 小姑娘,Hindley-Milner 語言家族的掌中寶 Haskell 都是不錯的選擇。但有這么一位你躲不開的,必須得認識的大伙伴 — C++,你得做好與他深交的準備:
入門:C++ Primer[可選] 進階:高效使用:Effective C++深入了解:《深度探索C++對象模型》;C++Templates研究反思:The Design and Evolution of C++ ;對于C++這個 Necessary Evil ,看這本書可以讓你選擇是成為守夜人還是守日人。現實是殘酷的,在軟件工程領域仍舊充斥著一些狂熱者,他們只掌握著一種編程語言,也只想掌握一種語言,他們認為自己掌握的這門語言是最好的,其他異端都是傻X。這種人也不是無藥可救,有一種很簡單的治療方法:讓他們寫一個編譯器。要想真正理解編程語言,你必須親自實現一個。現在是入門階段,不要求你去上一門編譯器課程,但要求你能至少實現一個簡單的解釋器。
供你參考的學習資源:
《程序設計語言-實踐之路》:CMU編程語言原理的教材,程序語言入門書,現在就可以看,會極大擴展你的眼界,拉開你與普通人的差距。Coursera 編程語言MOOC:課堂上你能接觸到極端FP(函數式)的SML,中性偏FP的Racket,以及極端OOP(面向對象)的Ruby,并學會問題的FP分解 vs OOP分解、ML的模式匹配、Lisp宏、不變性與可變性、解釋器的實現原理等,讓你在將來學習新語言時更加輕松并寫出更好的程序。Udacity CS262 Programming Language:熱熱身,教你寫一個簡單的瀏覽器——其實就是一個javascript和html的解釋器,完成后的成品還是很有趣的;接下來,試著完成一個之前在SICP部分提到過的項目:用Python寫一個 Scheme Interpreter其他
編程入門階段比較容易忽視的幾點:
學好英語:英語是你獲取高質量學習資源的主要工具,但在入門階段,所看的那些翻譯書信息損耗也沒那么嚴重,以你自己情況權衡吧。此外英語的重要性更體現在溝通交流上,Linus Torvalds一個芬蘭人,一口流利的英語一直是他招募開發者為Linux干活的的法寶,這是你的榜樣。學會提問:學習中肯定會遇到問題,首先應該學會搜索引擎的「高級搜索」,當單靠檢索無法解決問題時,去Stack Overflow 或知乎 提問,提問前讀讀這篇文章:What have you tried?不要做一匹獨狼:嘗試搭建一個像這樣簡單的個人網站,不要只是一個孤零零的About頁面,去學習 Markdown 與 LaTeX,試著在Blog上記錄自己的想法,并訂閱自己喜歡的編程類博客。推薦幾個供你參考:Joel on Software,Peter Norvig, Coding Horror小結
以上的內容你不應該感到懼怕,編程的入門不是幾個星期就能完成的小項目。期間你還會遇到無數的困難,當你碰壁時試著嘗試「費曼」技巧:將難點分而化之,切成小知識塊,再逐個對付,之后通過向別人清楚地解說來檢驗自己是否真的理解。當然,依舊會有你解決不了的問題,這時候不要強迫自己——很多時候當你之后回過頭來再看這個問題時,一切豁然開朗。
此外不要局限與上文提到的那些材料,還有一些值得在入門階段以及將來的提升階段反復閱讀的書籍。The Pragmatic Programmer 就是這樣一本程序員入門書,終極書。有人稱這本書為代碼小全:從DRY 到 KISS,從做人到做程序員,這本書教給了你一切,你所需的只是遵循書上的指導。
后記如果你能設法完成以上的所有任務,恭喜你,你已經真正實現了編程入門。這意味著你在之后更深入的學習中,不會畏懼那些學習新語言的任務,不會畏懼那些「復雜」的API,更不會畏懼學習具體的技術,甚至感覺很容易。當然,為了掌握這些東西你依舊需要大量的練習,腰還是會疼,走路還是會費勁,一口氣也上不了5樓。但我能保證你會在思想上有巨大的轉變,獲得極大的自信,看老師同學和 csdn 的眼光會變得非常微妙,雖然只是完成了編程入門,但已經成為了程序員精神世界的高富帥。不,我說錯了,即使是高富帥也不會有強力精神力,他也會懷疑自己,覺得自己沒錢就什么都不是了。但總之,你遵循指南好好看書,那就會體驗「會當凌絕頂」的感覺。
以上就是關于制作科學編程游戲視頻和如何開發一個windows軟件的相關問題解答,希望對你有所幫助。