整理一份程序員常用的各類工具、技術站點

整理一份程序員常用的各類工具、技術站點

1. 技術站點

  • Hacker News:非常棒的針對編程的鏈接聚合網站
  • MSDN:微軟相關的官方技術集中地,主要是文檔類
  • infoQ:企業級應用,關注軟件開發領域
  • OSChina:開源技術社區,開源方面做的不錯哦
  • 博客園、51CTO、CSDN:常見的技術社區,各有專長
  • stackoverflow:IT技術問答網站
  • GitHub:全球最大的源代碼管理平臺,很多知名開源項目都在上面,如Linux內核,
  • OpenStack等免費的it電子書:http://it-ebooks.info/


2. 不錯的書籍

  • 人月神話
  • 代碼大全2
  • 計算機程序設計藝術
  • 程序員的自我修養
  • 程序員修煉之道
  • 高效能程序員的修煉
  • 深入理解計算機系統
  • 軟件隨想錄
  • 算法導論(麻省理工學院出版社)
  • 離線數學及其應用
  • 設計模式
  • 編程之美
  • 黑客與畫家
  • 編程珠璣
  • C++ Prime
  • Effective C++
  • TCP/IP詳解
  • Unix 編程藝術

3. 平臺工具

  • Redmine/Trac/Jira(非開源):項目管理平臺
  • Jenkins/:持續集成系統。
  • Sonar:代碼質量管理平臺
  • git、svn:源代碼版本控制系統
  • GitLib/Gitorious:構建自己的GitHub服務器
  • gitbook:https://www.gitbook.io/寫書的好東西,當然用來寫文檔也很不錯的
  • Travis-ci:開源項目持續集成必備,和GitHub相結合,https://travis-ci.org/
  • 開源測試工具、社區(Selenium、OpenQA.org)
  • Puppet:一個自動管理引擎,可以適用於Linux、Unix以及Windows平臺。所謂配置管理系統,就是管理機器裡面諸如文件、用戶、進程、軟件包這些資源。無論是管理1臺,還還是上萬臺機器Puppet都能輕鬆搞定。
  • Nagios:系統狀態監控報警,還有個Icinga。
  • Ganglia:分佈式監控系統

4. 爬蟲相關

  • Phantomjs
  • berserkJS(基於Phantomjs的改進版本)
  • SlimerJS
  • CasperJS
  • selenium

5. 性能測試工具\\負載均衡器

  • http_load: 程序非常小,解壓後也不到100K
  • webbench: 是Linux下的一個網站壓力測試工具,最多可以模擬3萬個併發連接去測試網站的負載能力
  • ab: ab是apache自帶的一款功能強大的測試工具
  • Jmeter、Loadrunner、Locust: 市面主流的三款性能工具。
  • Siege: 一款開源的壓力測試工具,可以根據配置對一個WEB站點進行多用戶的併發訪問,記錄每個用戶所有請求過程的相應時間,並在一定數量的併發訪問下重複進行。
  • Piwik:開源網站訪問量統計系統
  • ClickHeat:開源的網站點擊情況熱力圖
  • HAProxy:高性能TCP /HTTP負載均衡器
  • Page Speed SDK和YSLOW
  • HAR Viewer: HAR分析工具
  • protractor:E2E(end to end)自動化測試工具


6. Web前端

  • GRUNT: js task runner
  • Sea.js: js模塊化
  • knockout.js:MVVM開發前臺,綁定技術
  • Angular.js: 使用超動感HTML & JS開發WEB應用!
  • Highcharts.js,Flot:常用的Web圖表插件
  • Raw:非常不錯的一款高級數據可視化工具
  • Rickshaw:時序圖標庫,可用於構建實時圖表
  • JavaScript InfoVis Toolkit:另一款Web數據可視化插件
  • Pdf.js:在html中展現pdf
  • ACE,CodeMirror:Html代碼編輯器(ACE甚好啊)
  • NProcess:絢麗的加載進度條
  • impress.js:讓你製作出令人眩目的內容展示效果(類似的還有reveal)
  • Threejs:3DWeb庫
  • Hightopo:基於Html5的2D、3D可視化UI庫
  • jQuery.dataTables.js:高度靈活的表格插件
  • Raphaël:js,canvas繪圖庫,後來發現百度指數的圖形就是用它繪出來的
  • director.js:js路由模塊,前端路由,Nodejs後端路由等,適合構造單頁應用
  • pace.js:頁面加載進度條
  • bower:Web包管理器
  • jsnice:有趣的js反編譯工具,猜壓縮後的變量名 http://www.jsnice.org/
  • D3.js: 是一個基於JavaScript數據展示庫(類似的還有P5.js)
  • Zepto.js:移動端替代jQuery的東東,當然也可以使用jquery-mobile.
  • UI框架:Foundation,Boostrap,Pure,EasyUI,Polymer
  • 前端UI設計師必去的幾個網站:Dribbble,awwwards,unmatchedstyle,UIMaker
  • Mozilla 開發者中心:https://developer.mozilla.org/en-US/
  • 圖標資源:IcoMoon,Themify Icons,FreePik,Glyphiconsart
  • Dialog:非常漂亮的對話框
  • AdminLTE:github上的一個開源項目,基於Boostrap3的後臺管理頁面框架
  • Respond.js:讓不懂愛的IE6-8支持響應式設計
  • require.js: js模塊加載庫
  • select2:比chosen具有更多特性的選擇框替代庫
  • AngularUI:集成angular.js的UI庫
  • normalize.css: 採用了現代化標準讓各瀏覽器渲染出的html保持一致的庫
  • CreateJS:Html5遊戲引擎
  • Less,Compass:簡化CSS開發
  • emojify.js:用於自動識別網頁上的Emoji文字並將其顯示為圖像
  • simditor:一個不錯的開源的html編輯器,簡潔高效
  • Sencha: 基於html5的移動端開發框架
  • SuperScrollorama+TweenMax+skrollr:打造超酷的視差滾動效果網頁動畫
  • jquery-smooth-scroll:同上,平滑滾動插件
  • Animate.css:實現了各種動畫效果的css庫
  • Emmet:前端工程師必備,ZenCode的前身
  • MagicDraw:Uml圖工具


7. 大數據/數據分析/分佈式相關

  • Hadoop:分佈式文件系統,結合其MapReduce編程模型可以用來做海量數據的批處理對理,對於企業快速構建數據倉庫非常有用。
  • Ceph:Linux分佈式文件系統(特點:無中心)
  • Storm:實時流數據處理。
  • Spark:大規模流式數據處理(可以應付企業中常見的三種數據處理場景:複雜的批量數據處理(batch data processing);基於歷史數據的交互式查詢(interactive query);基於實時數據流的數據處理(streaming data processing).
  • Spark Streaming:基於Spark的實時計算框架
  • Tachyon:分佈式內存文件系統
  • Mesos:計算框架一個集群管理器,提供了有效的、跨分佈式應用或框架的資源隔離和共
  • SNAPPY:快速的數據壓縮系統,適用於Hadoop生態系統中
  • Kafka:高吞吐量的分佈式消息隊列系統
  • ActiveMQ:是Apache出品,最流行的,能力強勁的開源消息總線
  • MQTT:Message Queuing Telemetry Transport,消息隊列遙測傳輸)是IBM開發的一個即時通訊協議。
  • RabbitMQ:記得OpenStack就是用的這個東西吧
  • ZeroMQ:宣稱是將分佈式計算變得更簡單,是個分佈式消息隊列。
  • Zookeeper:可靠的分佈式協調的開源項目
  • Databus:LinkedIn 實時低延遲數據抓取系統
  • Kettle:開源的ETL工具
  • Pentaho:以工作流為核心的開源BI系統
  • Mondrian:開源的Rolap服務器
  • Oozie:開源hadoop的工作流調度引擎
  • 開源的數據分析可視化工具:Weka、Orange、KNIME
  • Cobar:阿里巴巴的MySQL分佈式中間件


8. 遊戲開發相關

  • MINA:使用Java開發手遊和頁遊服務器。
  • OGRE:大名鼎鼎的3D圖形渲染引擎
  • OpenVDB:夢工廠C++的特效庫,開源的
  • cocos2d:跨平臺2D遊戲引擎
  • Unity3D:跨平臺3D遊戲引擎


9. 日誌聚合/分佈式日誌收集

  • Scribe:Facebook的(nodejs + scribe + inotify 同步日誌)
  • logstash:強大的日誌收集系統,可以基於logstash+kibana+elasticsearch+redis開發強大的日誌分析平臺
  • log.io: nodejs開發的實時日誌收集系統


10. Python

  • PyCharm: 比較不錯的Python IDE
  • PyWin:Win32 api編程包
  • numpy: 科學計算包,主要用來處理大型矩陣計算等,此外還有SciPy,Matplotlib
  • GUI相關:PyQt,PyQwt
  • supervisor:進程監控工具


Python更詳細的可查閱:

<code>https://github.com/zhoujinjian/awesome-python-cn/<code>

11. Java

  • 常用的IDE:IntelliJ IDEA,Eclipse,Netbeans
  • Web開發相關:Tomcat、Resin、Jetty、WebLogic等,常用的組件Struts,spring
  • HibernateNetty: 異步事件驅動網絡應用編程框架,用於高併發網絡編程比較好(NIO框架)
  • MINA:簡單地開發高性能和高可靠性的網絡應用程序(也是個NIO框架),不少手遊服務端是用它開發的
  • Perfuse:是一個用戶界面包用來把有結構與無結構數據以具有交互性的可視化圖形展示出來.
  • Gephi:複雜網絡分析軟件, 其主要用於各種網絡和複雜系統,動態和分層圖的交互可視化與探測開源工具
  • Nutch:知名的爬蟲項目,hadoop就是從這個項目中發展出來的
  • web-harvest:Web數據提取工具
  • POM工具:Maven+ArtifactoryNetflix
  • Curator:Netflix公司開源的一個Zookeeper client library,用於簡化Zookeeper客戶端編程
  • Akka:一款基於actor模型實現的 併發處理框架
  • EclEmma、Jacoco:覆蓋測試分析工具


12. .NET

  • Xilium.CefGlue:基於CEF框架的.NET封裝,基於.NET開發Chrome內核瀏覽器
  • CefSharp:同上,有一款WebKit的封裝,C#和Js交互會更簡單
  • netz:免費的 .NET 可執行文件壓縮工具
  • SmartAssembly:變態的.net代碼優化混淆工具
  • NETDeob0:.net反混淆工具(還有個de4dot,在GitHub上,都是開源的)
  • ILMerge:將所有引用的DLL和exe文件打成一個exe文件
  • ILSpy:開源.net程序反編譯工具
  • JavaScript.NET:很不錯的js執行引擎,對v8做了封裝
  • NPOI: Excel操作
  • DotRAS:遠程訪問服務的模塊
  • WinHtmlEditor: Winform下的html編輯器
  • SmartThreadPool:使用C#實現的,帶高級特性的線程池
  • Snoop: WPF Spy Utility
  • Autofac: 輕量級IoC框架
  • HtmlAgilityPack:Html解析利器
  • Quartz.NET:Job調度
  • HttpLib:@CodePlex,簡化http請求
  • SuperSocket:簡化Socket操作,基於他的還有個SuperWebSocket,可以開發獨立的WebSocket服務器了
  • DocX:未安裝Office的情況下操作Word文件
  • Dapper:輕量級的ORM類,性能不錯
  • HubbleDotNet:支持接入數據庫的全文搜索系統
  • fastJSON:@CodeProject,高性能的json序列化類
  • ZXing.Net:@CodePlex,QR,條形碼相關
  • Nancy:輕量級Http服務器,做個小型的Web應用可以擺脫IIS嘍(Nancy.Viewengines.Razor,可以加入Razor引擎)
  • AntiXSS:微軟的XSS防禦庫Microsoft Web Protection
  • LibraryJint:JavaScript解釋器
  • CS-Script:將C#代碼文件作為腳本執行
  • Jexus:Linux下 高性能、易用、免費的ASP.NET服務器
  • Clay:將dynamic發揮的更加靈活,像寫js一樣寫C#
  • DynamicJSON:不必定義數據模型獲取json數據
  • Antlr:開源的語法分析器(歸到C#不太合適,其他語言也可以去用)
  • SharpPcap:C#版的WinPcap調用端,牛逼的網絡包分析庫(自帶PacketNotNet用於包協議分析)
  • Roslyn:C#,VB編譯器
  • ImageResizer: 服務端自由控制圖片大小,真乃神器也,對手機端傳小圖,PC端傳大圖,CMS用它很方便
  • UI相關:DevExpress, Fluent(Office 07風格), mui(Modern UI for WPF)
  • NetSparkle:應用自動更新組件
  • ConfuserEx: 開源.net混淆工具
  • ServiceStack: 開源高性能Web服務框架,可用於構建高性能的REST服務Expression
  • Evaluator:Eval for C#,處理字符串表達式


13. 常用工具

  • Fiddler:非常好用的Web前端調試工具,當然是針對底層http協議的,一般情況使用Chrome等自帶的調試工具也足夠了,特殊情況還得用它去處理
  • wireshark:知名的網絡數據包分析工具
  • PowerCmd:替代Windows Cmd的利器
  • RegexBuddy:強大的正則表達式測試工具
  • Soure Insight:源代碼閱讀神器
  • SublimeText:程序員喜愛的編輯器
  • Database.NET:一個通用的關係型數據庫客戶端,基於.NET 4.0開發的,做簡單的處理還是蠻方便的
  • Navicat Premium:支持MySql、PostgreSQL、Oracle、Sqlite和SQL Server的客戶端,通用性上不如Database.NET,但性能方面比Database.NET好很多,自帶備份功能也用於數據庫定時備份。
  • Synergy : 局域網內一套鍵盤鼠標控制多臺電腦
  • DameWare:遠程協助工具集
  • Radmin: 遠程控制工具,用了一段時間的
  • DameWare,還要破解,對Win7支持的不好,還是發現這個好用
  • Listary:能極大幅度提高你 Windows 文件瀏覽與搜索速度效率的「超級神器」
  • Clover:給資源管理器加上多標籤
  • WinLaunch:模擬Mac OS的Launch工具
  • Fritzing:繪製電路圖
  • svn:版本控制系統
  • Enigma Virtual Box:將exe,dll等封裝成一個可執行程序
  • Open DBDiff:針對SqlServer數據庫同步
  • SymmetricDS:數據庫同步
  • BIEE,Infomatica,SPSS,weka,R語言:數據分析
  • CodeSmith,LightSwitch:代碼生成
  • Pandoc:Markdown轉換工具,出書用的。
  • log explorer:查看SqlServer日誌dependency
  • walker:查詢Windows應用程序dll依賴項
  • Shairport4w:將iPhone,iPad,iPod上的音頻通過AirPlay協議傳輸到PC上
  • ngrok:內網穿透工具Axure:快速原型製作工具
  • processon: 一款在線製圖工具,用著還不錯 http://www.processon.com。
  • tinyproxy:(Linux)小型的代理服務器支持http和https協議EaseUS Partition
  • Master:超級簡單的分區調整工具。
  • CheatEngine:玩遊戲修改內存值必備神器。
  • 設計工具:Sketch、OmniGraffle
  • MindManger:思維導圖


如果你覺得文章還不錯,請大家點贊分享

下。你的肯定是我最大的鼓勵和支持。


分享到:


相關文章: