技術整理(陳年佳釀)

技術站點

    Hacker News:非常棒的針對編程的鏈接聚合網站
    Programming reddit:同上
    MSDN:微軟相關的官方技術集中地,主要是文檔類
    infoq:企業級應用,關注軟件開發領域
    cnblogs,51cto,csdn:常見的技術社區,各有專長
    stackoverflow:IT技術問答網站
    GitHub:全球最大的源代碼管理平臺,很多知名開源項目都在上面,如Linux內核,OpenStack等
    免費的it電子書:http://it-ebooks.info/
    DevStore:開發者服務商店

不錯的書籍

    人件
    人月神話
    代碼大全2
    計算機程序設計藝術
    程序員的自我修養
    程序員修煉之道
    高效能程序員的修煉(成爲一名傑出的程序員其實跟寫代碼沒有太大關係)
    深入理解計算機系統
    軟件隨想錄
    算法導論(麻省理工學院出版社)
    離線數學及其應用
    設計模式
    編程之美
    黑客與畫家
    編程珠璣
    C++ Prime
    Effective C++
    TCP/IP詳解
    Unix 編程藝術
    《精神分析引論》弗洛伊德
    搞定:無壓力工作的藝術

平臺工具(都是開源的好東東哦)

    Redmine/Trac:項目管理平臺
    Jenkins/Jira(非開源):持續集成系統(Apache Continuum,這個是Apache下的CI系統,還沒來得及研究)
    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(完全兼容nagios所有的插件,工作原理,配置文件以及方法,幾乎一模一樣。配置簡單,功能強大)
    Ganglia:分佈式監控系統
    fleet:分佈式init系統

爬蟲相關(好玩的工具)

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

Web服務器性能/壓力測試工具/負載均衡器

    http_load: 程序非常小,解壓後也不到100K
    webbench: 是Linux下的一個網站壓力測試工具,最多可以模擬3萬個併發連接去測試網站的負載能力。
    ab: ab是apache自帶的一款功能強大的測試工具
    Siege: 一款開源的壓力測試工具,可以根據配置對一個WEB站點進行多用戶的併發訪問,記錄每個用戶所有請求過程的相應時間,並在一定數量的併發訪問下重複進行。
    squid(前端緩存),nginx(負載),nodejs(沒錯它也可以,自己寫點代碼就能實現高性能的負載均衡器):常用的負載均衡器
    Piwik:開源網站訪問量統計系統
    ClickHeat:開源的網站點擊情況熱力圖
    HAProxy:高性能TCP /HTTP負載均衡器
    ElasticSearch:搜索引擎基於Lucene
    Page Speed SDK和YSLOW
    HAR Viewer: HAR分析工具
    protractor:E2E(end to end)自動化測試工具

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,Glyphicons
    artDialog:非常漂亮的對話框
    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圖工具

大數據處理/數據分析/分佈式工具

    Hadoop:分佈式的文件系統,結合其MapReduce編程模型可以用來做海量數據的批處理(Hive,Pig,HBase啥的就不說了),值得介紹的是Cloudera的Hadoop分支CDH5,基於YARN MRv2集成了Spark可直接用於生產環境的Hadoop,對於企業快速構建數據倉庫非常有用。
    Ceph:Linux分佈式文件系統(特點:無中心)
    Storm:實時流數據處理,可以看下IBM的一篇介紹 (還有個Yahoo的S4,也是做流數據處理的)
    Spark:大規模流式數據處理(可以應付企業中常見的三種數據處理場景:複雜的批量數據處理(batch data processing);基於歷史數據的交互式查詢(interactive query);基於實時數據流的數據處理(streaming data processing)),CSND有篇文章介紹的不錯
    Spark Streaming:基於Spark的實時計算框架
    Tachyon:分佈式內存文件系統
    Mesos:計算框架一個集羣管理器,提供了有效的、跨分佈式應用或框架的資源隔離和共享
    Impala:新一代開源大數據分析引擎,提供Sql語義,比Hive強在速度上
    SNAPPY:快速的數據壓縮系統,適用於Hadoop生態系統中
    Kafka:高吞吐量的分佈式消息隊列系統
    ActiveMQ:是Apache出品,最流行的,能力強勁的開源消息總線
    MQTT:Message Queuing Telemetry Transport,消息隊列遙測傳輸)是IBM開發的一個即時通訊協議,有可能成爲物聯網的重要組成部分
    RabbitMQ:記得OpenStack就是用的這個東西吧
    ZeroMQ:宣稱是將分佈式計算變得更簡單,是個分佈式消息隊列,可以看下雲風的一篇文章的介紹
    開源的日誌收集系統:scribe、chukwa、kafka、flume。這有一篇對比文章
    Zookeeper:可靠的分佈式協調的開源項目
    Databus:LinkedIn 實時低延遲數據抓取系統
    數據源獲取:Flume、Google Refine、Needlebase、ScraperWiki、BloomReach
    序列化技術:JSON、BSON、Thrift、Avro、Google Protocol Buffers
    NoSql:Apache Hadoop、Apache Casandra、MongoDB、Apache CouchDB、Redis、BigTable、HBase、Hypertable、Voldemort、Neo4j
    MapReduce相關:Hive、Pig、Cascading、Cascalog、mrjob、Caffeine、S4、MapR、Acunu、Flume、Kafka、Azkaban、Oozie、Greenplum 
    數據處理:R、Yahoo! Pipes、Mechanical Turk、Solr/ Lucene、ElasticSearch、Datameer、Bigsheets、Tinkerpop
    NLP自然語言處理:Natural Language Toolkit、Apache OpenNLP、Boilerpipe、OpenCalais
    機器學習:WEKA、Mahout、scikits.learn、SkyTree
    可視化技術:GraphViz、Processing、Protovis、Google Fusion Tables、Tableau、Highcharts、EChats(百度的還不錯)、Rapha?l.js
    Kettle:開源的ETL工具
    Pentaho:以工作流爲核心的開源BI系統
    Mondrian:開源的Rolap服務器
    Oozie:開源hadoop的工作流調度引擎
    開源的數據分析可視化工具:Weka、Orange、KNIME
    Cobar:阿里巴巴的MySql分佈式中間件

C & C++

    Thrift:用來進行可擴展且跨語言的服務的開發(類似的還有個Avro,Google protobuf)。
    libevent:是一個事件觸發的網絡庫,適用於windows、linux、bsd等多種平臺,內部使用select、epoll、kqueue等系統調用管理事件機制。(對了還有個libev呢)
    Boost:不多說了,準C++標準庫
    Ptmalloc\Valgrind\Purify
    NetworkServer架構:acceptor->dispatcher->worker(這個不算工具哦)
    breakpad:崩潰轉儲和分析模塊,很多crashreport會用到
    UI界面相關:MFC、BCG和QT這類的就不說了,高端一點的還有Html和DirectUI技術:libcef(基於chrome內核的,想想使用html5開發頁面,還真有點小激動呢)、HtmlLayout、Duilib、Bolt,非C++的,還有node-webkit也不錯,集成了node和webkit內核。

遊戲開發相關

    MINA:使用Java開發手遊和頁遊服務器(對了還有Netty,也很猛的,都是基於NIO的)
    HP-Socket:見有有些頁遊服務器使用這個構建的
    雲風的技術博客:http://blog.codingnow.com/
    OGRE:大名鼎鼎的3D圖形渲染引擎
    OpenVDB:夢工廠C++的特效庫,開源的
    cocos2d:跨平臺2D遊戲引擎
    unity3d:跨平臺3D遊戲引擎,很火的哦
    Nodejs:也有不少使用它來開發手遊和也有服務器(網易的Pomelo就是哦)

日誌聚合,分佈式日誌收集

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

RTP,實時傳輸協議與音視頻

    RTP,RTCP,RTSP-> librtp,JRTPLIB(遵循了RFC1889標準)
    環形緩衝區,實時數據傳輸用
    SDL,ffmpeg,live555,Speex
    Red5:用Java開發開源的Flash流媒體服務器。它支持:把音頻(MP3)和視頻(FLV)轉換成播放流; 錄製客戶端播放流(只支持FLV);共享對象;現場直播流發佈;遠程調用。

Python

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

Java相關

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

.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 Library
    Jint: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#,處理字符串表達式
    http://nugetmusthaves.com/

常用工具

    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:繪製電路圖
    LICEcap:gif教程製作
    git,svn:版本控制系統
    Enigma Virtual Box(將exe,dll等封裝成一個可執行程序)
    Open DBDiff(針對SqlServer)數據庫同步
    SymmetricDS:數據庫同步
    BIEE,Infomatica,SPSS,weka,R語言:數據分析
    CodeSmith,LightSwitch:代碼生成
    Pandoc:Markdown轉換工具,出書用的。以前玩過docbook,不過現在還是Markdown盛行啊。
    Window Magnet[Mac]:增強Mac窗口管理功能,想Win7一樣具有窗口拖放到屏幕邊緣自動調整的功能
    log explorer:查看SqlServer日誌
    dependency walker:查詢Windows應用程序dll依賴項
    Shairport4w:將iPhone,iPad,iPod上的音頻通過AirPlay協議傳輸到PC上
    ngrok:內網穿透工具
    Axure:快速原型製作工具,還有個在線作圖的工具國內的一個創業團隊做的,用着很不錯http://www.processon.com/
    tinyproxy:(Linux)小型的代理服務器支持http和https協議
    EaseUS Partition Master:超級簡單的分區調整工具,速度還是蠻快的,C盤不夠用了就用它從D盤劃點空間吧,不用重裝系統這麼折騰哦。
    CheatEngine:玩遊戲修改內存值必備神器(記得我在玩軒轅劍6的時候就用的它,超級方便呢)
    ApkIDE:Android反編譯神器
    翻、牆工具(自|由|門、天行瀏覽器)
    設計工具:Sketch、OmniGraffle
    MindManger:思維導圖
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章