本文是鄙人工作這幾年隨手收集整理的一些自認為還不錯的資料,成長的道理上需要積累,這麼長時間了,是時候放出來分享下了,或許能幫助到你。
目錄
資料篇技術站點必看書籍大牛博客GitHub篇工具篇平臺工具常用工具第三方服務爬蟲相關(好玩的工具)安全相關Web伺服器性能/壓力測試工具/負載均衡器大數據處理/數據分析/分布式工具Web前端語言篇ScalaJavaPythonSwift.NETC & C++其他遊戲開發相關日誌聚合,分布式日誌收集RTP,實時傳輸協議與音視頻
免費的it電子書:<IT eBooks - Free Download - Big Library>
在線學習:<Udemy Online Courses - Learn Anything, On Your Schedule>
優質學習資源:[//plus.mojiax.com/](//plus.mojiax.com/)
代碼練習:<Exercism.io: Crowd-sourced code mentorship.> and <Practice coding with fun programming challenges - CodinGame>
DevStore:開發者服務商店
MSDN:微軟相關的官方技術集中地,主要是文檔類
書籍資料
free-programming-books中文版免費的編程中文書籍索引《程式設計師編程藝術 — 面試和算法心得》GoBooksPapers we love自然語言處理NLP推薦學習路線及參考資料
超級棒的機器學習資料(框架,庫,軟體), 中文翻譯版
機器學習(Machine Learning)&深入學習(Deep Learning)資料Docker資料合集學習使用StromHadoop InternalsSpark Internals大數據時代的數據分析與數據挖掘 – 基於Hadoop實現如何製作作業系統藉助開源項目學習軟體開發幾個不錯的開源遊戲引擎一起寫Python文章,一起看Python文章R的極客理想系列文章HTTP接口設計指南分享自己長期關注的前端開發相關的優秀網站、博客、以及活躍開發者Readings in DatabasesData Science blogs日誌:每個軟體工程師都應該知道的有關實時數據的統一概念Android Code PathAndroid Learn NotesPHP 類庫框架,資料集合
優秀項目
最值得關注的10個C語言開源項目15款值得學習的小型開源項目iOS-100個開源組件十大Material Design開源項目Android開源項目分類匯總
前端 & Node.js
前端資源前端開發指南前端技能匯總前端資源大導航收集前端方面的書籍2014年最新前端開發面試題簡單清晰的JavaScript語言教程,代碼示例JavaScript編程規範JavaScript必看視頻JavaScript標準參考教程(阮一峰的,整理的不錯)JS必看AngularJS Guide的中文分支Angular2學習資料AngularJS應用的最佳實踐和風格指南React-Native學習指南七天學會NodeJSnode.js中文資料導航Nodejs學習路線圖如何學習nodejs
工作,工具
系統管理員工具集合Pro GitNginx開發從入門到精通Google 全球 IP 地址庫收集整理遠程工作相關的資料Color schemes for hackers遊戲開發工具集,MagicTools開發者工具箱, free-for-devGitHub秘籍Git風格指南Bast-App
工具篇
Puppet:一個自動管理引擎,可以適用於Linux、Unix以及Windows平臺。所謂配置管理系統,就是管理機器裡面諸如文件、用戶、進程、軟體包這些資源。無論是管理1臺,還是上萬臺機器Puppet都能輕鬆搞定。其他類似工具:CFEngine、SaltStack、Ansible
Nagios:系統狀態監控報警,還有個Icinga(完全兼容nagios所有的插件,工作原理,配置文件以及方法,幾乎一模一樣。配置簡單,功能強大)
Ganglia:分布式監控系統
fleet:分布式init系統
Ansible:能夠大大簡化Unix管理員的自動化配置管理與流程控制方式。
GeoLite免費資料庫
jsHint:js代碼驗證工具
haproxy: 高可用負載均衡(此外類似的系統還有nginx,lvs)
linux OS性能分析工具:dstat,iostat,iotop,nmon
kimono:將網頁信息轉換為api接口的工具
集群管理工具:pdsh,ClusterSSH,mussh(可以用它快速管理Hadoop集群)ipa-server做統一的認證管理
influxdb: 分布式時序資料庫,結合Grafana可以進行實時數據分析
dot: 程式設計師繪圖利器(是種語言,也是個工具)
Graph::Easy: (Ascii Art工具)字符流程圖繪製,實乃程式設計師裝逼神器。其他類似的工具Asciiflow, vi插件:drawit!
spf13-vim: 讓你的vim飛起來!
Kubernetes: 容器集群管理系統
Gatling: 伺服器性能壓力測試工具
systemtap: Linux內核探測工具、內核調試神器
Cygwin:Windows下的類UNIX模擬環境
MinGW:Windows下的GNU工具集
Clover:給資源管理器加上多標籤,我平時工作的時候就用它,像Chrome一樣使用資源管理器,甚是方便啊(這是Windows平臺的)
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:快速原型製作工具,還有個在線作圖的工具國內的一個創業團隊做的,用著很不錯<ProcessOn - 免費在線作圖,實時協作>
Origami: 次世代互動設計神器
百度腦圖:<百度腦圖 - 便捷的思維工具>
tinyproxy:(Linux)小型的代理伺服器支持http和https協議
EaseUS Partition Master:超級簡單的分區調整工具,速度還是蠻快的,C盤不夠用了就用它從D盤劃點空間吧,不用重裝系統這麼折騰哦。
CheatEngine:玩遊戲修改內存值必備神器(記得我在玩軒轅劍6的時候就用的它,超級方便呢)
ApkIDE:Android反編譯神器
設計工具:Sketch、OmniGraffle
MindManger:思維導圖
MagicDraw:Uml圖工具
innotop:MySql狀態監測工具
墨刀:比Axure更為簡單的原型工具,可以快速製作原型
Karabiner: Mac專用,修改鍵盤鍵位的神器,機械鍵盤必備
Timing:Mac專用,統計你的時間都花在哪了
f.lux: 護眼神器,過濾藍光,程式設計師護眼必備良品
LaTeX: 基於ΤΕΧ的排版系統, 讓寫論文更方便
Antlr:開源的語法分析器,可以讓你毫無壓力的寫個小parser
爬蟲相關(好玩的工具)
Phantomjs(Web自動化測試,服務端渲染等)
berserkJS(基於Phantomjs的改進版本)
SlimerJS
CasperJS
selenium
HtmlUnit(開源的java 頁面分析工具,也是個Headless的瀏覽器)
安全相關
sql注入檢測:sqlmap、haviji
埠掃描:nmap
滲透測試:BurpLoader
sqltools: sql漏洞利用工具
snort: 入侵檢測
Web伺服器性能/壓力測試工具/負載均衡器
ab: ab是apache自帶的一款功能強大的測試工具
curl-loader: 真實模擬、測試Web負載
http_load: 程序非常小,解壓後也不到100K
webbench: 是Linux下的一個網站壓力測試工具,最多可以模擬3萬個並發連接去測試網站的負載能力。
Siege: 一款開源的壓力測試工具,可以根據配置對一個WEB站點進行多用戶的並發訪問,記錄每個用戶所有請求過程的相應時間,並在一定數量的並發訪問下重複進行。
squid(前端緩存),nginx(負載),nodejs(沒錯它也可以,自己寫點代碼就能實現高性能的負載均衡器):常用的負載均衡器
Piwik:開源網站訪問量統計系統
ClickHeat:開源的網站點擊情況熱力圖
HAProxy:高性能TCP /HTTP負載均衡器
ElasticSearch:搜尋引擎基於Lucene
Page Speed SDK和YSLOW
HAR Viewer: HAR分析工具
protractor:E2E(end to end)自動化測試工具
大數據處理/數據分析/分布式工具
Hadoop:分布式的文件系統,結合其MapReduce編程模型可以用來做海量數據的批處理(Hive,Pig,HBase啥的就不說了),值得介紹的是Cloudera的Hadoop分支CDH5,基於YARN MRv2集成了Spark可直接用於生產環境的Hadoop,對於企業快速構建數據倉庫非常有用。
Spark:大規模數據處理框架(可以應付企業中常見的三種數據處理場景:複雜的批量數據處理(batch data processing);基於歷史數據的交互式查詢(interactive query);基於實時數據流的數據處理(streaming data processing)),CSND有篇文章介紹的不錯
除了Spark,其他幾個不錯的計算框架還有:Kylin,Flink,Drill
Ceph:Linux分布式文件系統(特點:無中心)
Storm:實時流數據處理,可以看下IBM的一篇介紹 (還有個Yahoo的S4,也是做流數據處理的)
Druid: 實時數據分析存儲系統
Ambari: 大數據平臺搭建、監控利器;類似的還有CDH
Tachyon:分布式內存文件系統
Mesos:計算框架一個集群管理器,提供了有效的、跨分布式應用或框架的資源隔離和共享
Impala:新一代開源大數據分析引擎,提供Sql語義,比Hive強在速度上
presto: facebook的開源工具,大數據分布式sql查詢引擎
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:ScyllaDB(宣稱是世界上最快的NoSql)、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
機器學習:TensorFlow(Google出品),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的工作流調度引擎,類似的還有:Azkaban
開源的數據分析可視化工具:Weka、Orange、KNIME
Cobar:阿里巴巴的MySql分布式中間件
數據清洗:data wrangler, Google Refine
Web前端
Material Design: 谷歌出品,必屬精品
Vue.js: 借鑑了Angular及React的JS框架,設計理念較為先進
GRUNT: js task runner
Sea.js: js模塊化
knockout.js:MVVM開發前臺,綁定技術
Angular.js: 使用超動感HTML & JS開發WEB應用!
Highcharts.js,Flot:常用的Web圖表插件
NVD3: 基於d3.js的圖表庫
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反編譯工具,猜壓縮後的變量名,Statistical renaming, Type inference and Deobfuscation
D3.js: 是一個基於JavaScript數據展示庫(類似的還有P5.js)
Zepto.js:移動端替代jQuery的東東,當然也可以使用jquery-mobile.
UI框架:Foundation,Boostrap,Pure,EasyUI,Polymer
前段UI設計師必去的幾個網站:Dribbble,awwwards,unmatchedstyle,UIMaker
Mozilla 開發者中心:Mozilla Developer Network
圖標資源:IcoMoon(我的最愛),Font Awesome, 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的前身
React: facebook出品的js UI庫
highlight.js:專門用來做語法高亮的庫
GoJS: Html5交互式圖表庫,看demo更適合層次結構的圖表。
10 Pure CSS (Mostly) Flat Mobile Devices: <11 Pure CSS Mobile Devices from @marvelapp>
CodePen: [CodePen](//codepen.io/)
jsfiddle: <Create a new fiddle> 前端js,html,css測試利器
語言篇
折騰中:Scala、Python、Lua、JavaScript、Go
待折騰:
RacketOCamlRustJulia
Scala
Scala Standard Library API
Scala School!: A Scala tutorial by Twitter
A Tour of Scala: Tutorial introducing the main concepts of Scala
Scala Overview on StackOverflow: A list of useful questions sorted by topic
Programming in Scala,最新的第3版,還沒有電子版,電子版是第一版
《Scala for the Impatient》
《Scala in Depth》
《Programming Scala》Dean Wampler and Alex Payne. O』Reilly 2009
Scala By Example
Scala Cheatsheet學習模式匹配的好資料
Glossary of Scala and FP termsMetascala: A JVM written in ScalaLMS: Program Generation and Embedded Compilers in Scala
Java
常用的IDE:IntelliJ IDEA(強烈推薦),Eclipse,Netbeans
fastutil: 性能更好的Java集合框架
Guava: 谷歌的Java工具包,應用廣泛
Curator:Netflix公司開源的一個Zookeeper client library,用於簡化Zookeeper客戶端編程,現在已經是apache下的一個獨立項目了。Spark的HA也用的這貨。
Rx(Reactive Extensions)框架:Vert.x, RxJava(Android中用的比較多), Quasar
FindBugs: 代碼靜態分析工具,找出代碼缺陷
Java反編譯工具:Luyten,JD-Gui
Drools: 規則引擎
Jersey: Java RESTful 框架
canal: 阿里巴巴出品,binlog增量訂閱&消費組件
Web開發相關:Tomcat、Resin、Jetty、WebLogic等,常用的組件Struts,Spring,Hibernate
Netty: 異步事件驅動網絡應用編程框架,用於高並發網絡編程比較好(NIO框架,spark 1.2.0就用netty替代了nio)
MINA:簡單地開發高性能和高可靠性的網絡應用程式(也是個NIO框架),不少手遊服務端是用它開發的
jOOQ:java Orm框架
Janino: 超級小又快的Java編譯器,Spark的Tungsten引起用的它
Activiti:工作流引擎,類似的還有jBPM、Snaker
Perfuse:是一個用戶界麵包用來把有結構與無結構數據以具有交互性的可視化圖形展示出來.
Gephi:複雜網絡分析軟體, 其主要用於各種網絡和複雜系統,動態和分層圖的交互可視化與探測開源工具
Nutch:知名的爬蟲項目,hadoop就是從這個項目中發展出來的
web-harvest:Web數據提取工具
POM工具:Maven+Artifactory
Akka:一款基於actor模型實現的 並發處理框架
EclEmma:覆蓋測試工具
Shiro:安全框架
joda-time:簡化時間處理
parboiled:表達式解析
dozer: 深拷貝神器
dubbo: 阿里巴巴出品的分布式服務框架
jackson databind: json序列化工具(fastjson,simplejson)
Atomikos: 分布式事務管理
BoneCP:性能很贊的資料庫連接池組件,據說比c3p0快好多
ProGuard: obconfuscation tool, 強大的混淆工具
S-99:Scala相關的99個問題
Python
PyCharm:最佳Python IDE
Eric,Eclipse+pydev,比較不錯的Python IDE
PyWin:Win32 api編程包
numpy:科學計算包,主要用來處理大型矩陣計算等,此外還有SciPy,Matplotlib
GUI相關:PyQt,PyQwt
supervisor:進程監控工具
PyGame: 基於Python的多媒體開發和遊戲軟體開發模塊
Web框架: Django 開源web開發框架,它鼓勵快速開發,並遵循MVC設計
Swift
Swift精選資料43個優秀的開源項目
客戶端
糗事百科 SwiftHackerNews Swift知乎日報app
Framework
Twitter框架Mac下簡單HTTP Server Swifter
小工具
Swift AlarmSwift NoteSwift RSS ReaderSwift-PM2.5查詢app
遊戲
Flappy SwiftFanFan Swift
.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數據
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#,處理字符串表達式
NuGet Must Haves
Reactive Extensions (Rx):異步,事件驅動編程包, Rx = Observables + LINQ + Schedulers
C & C++
Thrift:用來進行可擴展且跨語言的服務的開發(類似的還有個Avro,Google protobuf)。
libevent:是一個事件觸發的網絡庫,適用於windows、linux、bsd等多種平臺,內部使用select、epoll、kqueue等系統調用管理事件機制。(對了還有個libev呢)
Boost:不多說了,準C++標準庫
ValgrindPtmallocPurify: 調試工具
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:見有有些頁遊伺服器使用這個構建的
Unreal: 虛幻引擎,C++,基於這個引擎的遊戲很多
OGRE:大名鼎鼎的3D圖形渲染引擎,天龍八部OL、火炬之光等不少遊戲都用了這個引擎
OpenVDB:夢工廠C++的特效庫,開源的
cocos2d:跨平臺2D遊戲引擎
unity3d:跨平臺3D遊戲引擎,很火的哦
Nodejs:也有不少使用它來開發手遊和也有伺服器(網易的Pomelo)
日誌聚合,分布式日誌收集
Scribe:Facebook的(nodejs + scribe + inotify 同步日誌)
logstash:強大的日誌收集系統,可以基於logstash+kibana+elasticsearch+redis開發強大的日誌分析平臺
log.io: nodejs開發的實時日誌收集系統
RTP,實時傳輸協議與音視頻
附,GitHub項目地址:stanzhai/be-a-professional-programmer
PS: 頭條啥時候支持Markdown啊,沒有Markdown寫文章真心不便吶~
謝謝閱讀!本文轉載於知乎!本文連結:
如有侵權請聯繫小編刪除!