成為專業程式設計師路上用到的各種優秀資料、神器及框架

2021-02-24 SegmentFault
溫馨提示:本文包含大量外部連結,牆裂建議小夥伴們點擊 「閱讀原文「 進行閱讀和Fork。:)前言

成為一名專業程式設計師的道路上,需要堅持練習、學習與積累,技術方面既要有一定的廣度,更要有自己的深度。

筆者作為一位tool mad,將工作以來用到的各種優秀資料、神器及框架整理在此,畢竟好記性不如爛鍵盤,此項目可以作為自己的不時之需。

本人喜歡折騰,記錄的東西也比較雜,各方面都會有一些,內容按重要等級排序,大家各取所需。

這裡的東西會持續積累下去,歡迎Star,也歡迎發PR給我。

Thonatos.Yang 整理的GitBook版本,閱讀體驗更佳:https://thonatos.gitbooks.io/be-a-professional-programmer/

目錄

資料篇

技術站點

必看書籍

大牛博客

GitHub篇

工具篇

平臺工具

常用工具

第三方服務

爬蟲相關(好玩的工具)

安全相關

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

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

Web前端

語言篇

Scala

Java

Python

Swift

.NET

C & C++

其他

遊戲開發相關

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

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

資料篇技術站點

在線學習:Coursera、edX、Udacity、MIT公開課、MOOC學院、慕課網

Hacker News:非常棒的針對編程的連結聚合網站

Techmeme:美國知名科技新聞和博客聚集網站,類似的還有(Panda, Hacker & Designer News)

Reddit - Programming板塊:同上

Java牛人必備:Program Creek

Stack Overflow:IT技術問答網站

SegmentFault:中文的技術問答社區

GitHub:全球最大的原始碼管理平臺,很多知名開源項目都在上面,如Linux內核,OpenStack等

碼云:支持中文可免費創建私有項目的代碼託管平臺,可作為備選

LeetCode:來做做這些題吧,看看自己的算法水平如何?這可比什麼面試寶典強多了。

LintCode:支持中文的編程題在線訓練平臺,可作為備選

Kaggle,Topcoder: 機器學習、大數據競賽

掘金:高質量的技術社區

開發者頭條

InfoQ:企業級應用,關注軟體開發領域

V2EX: way to explore

國內老牌技術社區:OSChina、博客園、CSDN、51CTO

免費的it電子書:http://it-ebooks.info/

在線學習:http://www.udemy.com/

優質學習資源:http://plus.mojiax.com/

代碼練習:http://exercism.io/ and https://www.codingame.com

DevStore:開發者服務商店

MSDN:微軟相關的官方技術集中地,主要是文檔類

谷歌開發者

碼庫 - 收錄了實用的開源項目及資源

Coding 基於Git的國內代碼託管平臺,支持私有項目,有項目管理相關功能

必看書籍

SICP(Structure and Interpretation of Computer Programs)

深入理解計算機系統

代碼大全2

人件

人月神話

軟體隨想錄

算法導論(麻省理工學院出版社)

離散數學及其應用

設計模式

編程之美

黑客與畫家

編程珠璣

The Little Schemer

Simply SchemeIntroducingComputer_Science

C++ Prime

Effective C++

TCP/IP詳解

Unix 編程藝術

技術的本質

軟體隨想錄

電腦程式設計藝術

職業篇:程式設計師的自我修養,程式設計師修煉之道,高效能程式設計師的修煉

《精神分析引論》弗洛伊德

《失控》《科技想要什麼》《技術元素》凱文凱利

程序開發心理學

天地一沙鷗

搞定:無壓力工作的藝術

大牛博客

awesome-programmers - 各領域大牛,值得紀念的程式設計師們

雲風(遊戲界大牛): http://blog.codingnow.com/

王垠(不少文章噴到蠻有道理):http://www.yinwang.org/

冰河-傘哥(Lisp大牛):http://tianchunbinghe.blog.163.com/

R大【乾貨滿滿】RednaxelaFX寫的文章/回答的導航帖

陳皓-左耳朵耗子:http://coolshell.cn/

Jeff Atwood(國外知名博主): https://blog.codinghorror.com/

阮一峰(黑客與畫家譯者,Web):http://www.ruanyifeng.com/

廖雪峰(他的Python、Git教程不少人都看過):http://www.liaoxuefeng.com/

道哥的黑板報(安全):https://zhuanlan.zhihu.com/taosay

國內GitHub上關注度較高的開發者

GitHub篇

Awesome

Awesome: 這是個Awesome合集,常見的資料這裡面都能找到

Awesome2: 類似第一個Awesome

雜七雜八、有用沒用的Awesome合集

非常不錯的語言類學習資料集合:Awesomeness

awesome-ios-ui

awesome-android-ui

Awesome-MaterialDesign

awesome-public-datasets

awesome-AppSec(系統安全)

awesome-datascience

awesome-dataviz - 數據可視化庫及資料

awesome-es

awesome-comment - 神注釋大全

awesome-hacking - 黑客工具箱

書籍資料

Latency Numbers Every Programmer Should Know

system-design-primer: 系統設計入門

free-programming-books 中文版

免費的編程中文書籍索引

《程式設計師編程藝術 — 面試和算法心得》

GoBooks

Papers we love

自然語言處理NLP推薦學習路線及參考資料

超級棒的機器學習資料(框架,庫,軟體), 中文翻譯版

機器學習(Machine Learning)&深入學習(Deep Learning)資料

Docker資料合集

學習使用Strom

Hadoop Internals

Spark Internals

大數據時代的數據分析與數據挖掘 – 基於Hadoop實現

如何製作作業系統

藉助開源項目學習軟體開發

幾個不錯的開源遊戲引擎

一起寫Python文章,一起看Python文章

R的極客理想系列文章

HTTP接口設計指南

分享自己長期關注的前端開發相關的優秀網站、博客、以及活躍開發者

Readings in Databases

Data Science blogs

日誌:每個軟體工程師都應該知道的有關實時數據的統一概念

Android Code Path

Android Learn Notes

PHP 類庫框架,資料集合

優秀項目

最值得關注的10個C語言開源項目

15款值得學習的小型開源項目

iOS-100個開源組件

十大Material Design開源項目

Android開源項目分類匯總

前端 & Node.js

工作,工具

工具篇平臺工具

Swagger: RESTful API設計工具,前後端分離項目必備,順便推薦下Easy Mock

Phabricator: 軟體開發平臺,Facebook出品,現已開源,CodeReview神器(從這個往下一直到GitLab之間的工具統統可以忽略了)

Redmine/Trac:項目管理平臺

Jenkins/Jira(非開源):持續集成系統(Apache Continuum,這個是Apache下的CI系統,還沒來得及研究)

git,svn:原始碼版本控制系統

GitLab/Gitorious:構建自己的GitHub伺服器

AppVeyor - 雲端持續集成工具,可以與GitHub搭配使用

Postman:RESTful,api測試工具,HTTP接口開發必備神器;可替代工具:Insomnia

Lottie: AE動畫變原生代碼,設計師必備

Sonar:代碼質量管理平臺

Nessus: 系統漏洞掃描器

gitbook:https://www.gitbook.io/寫書的好東西,當然用來寫文檔也很不錯的(發現不少產品的文檔就是用的它)

Travis-ci:開源項目持續集成必備,和GitHub相結合,https://travis-ci.org/

Trello:簡單高效的項目管理平臺,注重看板管理

日誌聚合:graylog、ELK(推薦新一代的graylog,基本上算作是開源的Splunk了)

開源測試工具、社區(Selenium、OpenQA.org)

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工具集

常用工具

EditorConfig: 讓我們在各種不同IDE或編輯器下寫代碼保持風格一致

Mac下的神兵利器

asciinema: 終端錄屏神器

Fiddler:非常好用的Web前端調試工具,當然是針對底層http協議的,一般情況使用Chrome等自帶的調試工具也足夠了,特殊情況還得用它去處理

Charles: Mac上的Web代理調試工具,類似Fiddler

fir.im免費的移動App內測託管平臺

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:給資源管理器加上多標籤,我平時工作的時候就用它,像Chrome一樣使用資源管理器,甚是方便啊(這是Windows平臺的)

WinLaunch:模擬Mac OS的Launch工具

OllyDbg: OD大名鼎鼎的反彙編工具,Win平臺

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/

Origami: 次世代互動設計神器

百度腦圖:http://naotu.baidu.com/

tinyproxy:(Linux)小型的代理伺服器支持http和https協議

EaseUS Partition Master:超級簡單的分區調整工具,速度還是蠻快的,C盤不夠用了就用它從D盤劃點空間吧,不用重裝系統這麼折騰哦。

CheatEngine:玩遊戲修改內存值必備神器(記得我在玩軒轅劍6的時候就用的它,超級方便呢)

ApkIDE:Android反編譯神器

翻、牆工具(自|由|門、天行瀏覽器,免費的VPN:http://www.mangovpn.com/),發現最方便還屬Lantern,免費用起來超級方便(更新於2015-08-22)

設計工具:Sketch、OmniGraffle

MindManger:思維導圖

MagicDraw:Uml圖工具

innotop:MySql狀態監測工具

墨刀:比Axure更為簡單的原型工具,可以快速製作原型

Karabiner: Mac專用,修改鍵盤鍵位的神器,機械鍵盤必備

Timing:Mac專用,統計你的時間都花在哪了

f.lux: 護眼神器,過濾藍光,程式設計師護眼必備良品

LaTeX: 基於ΤΕΧ的排版系統, 讓寫論文更方便

Antlr:開源的語法分析器,可以讓你毫無壓力的寫個小parser

第三方服務

Let's Encrypt: 免費、自動化、開放的證書籤發服務

DnsPod:一個不錯的智能DNS服務解析提供商

DigitalOcean:海外的雲主機提供商,價格便宜,磁碟是SSD的,用過一段時間整體上還可以,不過畢竟是海外的,網速比較慢。國內的就是阿里雲了。還有個比較知名的是:Linode,據說速度上比DigitalOcean好很多

移動端推送服務:個推、JPush、雲巴

LeanCloud:移動應用開發服務,包括:數據存儲、用戶管理、消息推送、應用統計、社交分享、實時聊天等服務

Color Hunt: 漂亮炫酷的配色網站,程式設計師的福音

Heroku: PaaS平臺

爬蟲相關(好玩的工具)

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

Ignite: In-Memory Data Fabric

CarbonData: 華為的孵化項目,支持索引的列式存儲

Ceph:Linux分布式文件系統(特點:無中心)

Storm:實時流數據處理,可以看下IBM的一篇介紹 (還有個Yahoo的S4,也是做流數據處理的)

Druid: 實時數據分析存儲系統

Ambari: 大數據平臺搭建、監控利器;類似的還有CDH

Tachyon:分布式內存文件系統

Greenplum: 基於PostgreSQL的分布式MPP資料庫

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, ECharts, Flot: 常用的數據可視化庫

D3.js: 是一個基於JavaScript數據展示庫(類似的還有P5.js)

Vega: 基於D3的可視化語法

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反編譯工具,猜壓縮後的變量名,http://www.jsnice.org/

Zepto.js:移動端替代jQuery的東東,當然也可以使用jquery-mobile.

UI框架:Foundation,Boostrap,Pure,EasyUI,Polymer

前段UI設計師必去的幾個網站:Dribbble,awwwards,unmatchedstyle,UIMaker

Mozilla 開發者中心:https://developer.mozilla.org/en-US/

圖標資源: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:前端工程師必備,前身為 Zen Coding

React: facebook出品的js UI庫

highlight.js:專門用來做語法高亮的庫

GoJS: Html5交互式圖表庫,看demo更適合層次結構的圖表。

10 Pure CSS (Mostly) Flat Mobile Devices: http://marvelapp.github.io/devices.css/

CodePen: http://codepen.io/

jsfiddle: http://jsfiddle.net/ 前端js,html,css測試利器

語言篇

折騰中:Scala、Python、Lua、JavaScript、Go

待折騰:

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 terms

Metascala: A JVM written in Scala

LMS: Program Generation and Embedded Compilers in Scala

parboiled2: 性能很好的parser

Java

常用的IDE:IntelliJ IDEA(強烈推薦),Eclipse,Netbeans

fastutil: 性能更好的Java集合框架

Guava: 谷歌的Java工具包,應用廣泛

Lagom: 微服務框架,提供了Java、Scala API

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

HackerNews Swift

知乎日報app

Framework

小工具

Swift Alarm

Swift Note

Swift RSS Reader

Swift-PM2.5查詢app

遊戲

.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#,處理字符串表達式

http://nugetmusthaves.com/

Reactive Extensions (Rx):異步,事件驅動編程包, Rx = Observables + LINQ + Schedulers

C & C++

Thrift:用來進行可擴展且跨語言的服務的開發(類似的還有個Avro,Google protobuf)。

libevent:是一個事件觸發的網絡庫,適用於windows、linux、bsd等多種平臺,內部使用select、epoll、kqueue等系統調用管理事件機制。(對了還有個libev呢)

Boost:不多說了,準C++標準庫

Valgrind\Ptmalloc\Purify: 調試工具

NetworkServer架構:acceptor->dispatcher->worker(這個不算工具哦)

POCO - 開源的C++類庫及應用程式框架的集合,它主要提供簡單的、快速的網絡和可移植應用程式

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開發的實時日誌收集系統

Graylog: 易用、功能豐富的日誌管理系統, 部署、維護、搜索比 ELK簡單

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

文章作者:stanzhai (https://github.com/stanzhai)

 原文連結:https://github.com/stanzhai/be-a-professional-programmer

相關焦點

  • 老司機程式設計師用到的各種優秀資料、神器及框架整理
    自然語言處理NLP推薦學習路線及參考資料1.Awesome:平臺,語言,五花八門的技術合集 ,2.lists, 3.各種Awesomeawesom-pythonAwesome SwiftAwesome Nodejs(學習nodejs的資料夠全了)Awesome
  • 程式設計師必看的各種優秀資料、神器及框架整理(下)
    話不多說,今天如約為你繼續帶來各種優秀資料、神器及框架整理匯總的後半部分。
  • python程式設計師整理了在成為專業程式設計師應掌握的優秀資料和神器
    書籍資料free-programming-books中文版免費的編程中文書籍索引《程式設計師編程藝術 — 面試和算法心得》GoBooksPapers we love自然語言處理NLP推薦學習路線及參考資料文章,一起看Python文章R的極客理想系列文章HTTP接口設計指南分享自己長期關注的前端開發相關的優秀網站、博客、以及活躍開發者Readings in DatabasesData Science blogs日誌:每個軟體工程師都應該知道的有關實時數據的統一概念Android Code PathAndroid Learn NotesPHP 類庫框架,資料集合優秀項目最值得關注的
  • 分享:新手如何找到程式設計師工作,並成為優秀遊戲程式設計師?
    我的專業是電子工程,所以我的學位並不聚焦於編程,但我學了一些課程,在我看來,很多編程的東西都是自學的。」Jaden Palmer-Leandre自從2018年計算機科學專業畢業之後,就一直在Sports Interactive擔任玩法程式設計師,他也認為學位幫助自己拿到了首份工作,但卻並不認為正式的教育經歷是成為程式設計師至關重要的因素。
  • 【經典乾貨】程式設計師必看的各種優秀資料、神器及框架整理(下)
    Scala By Examplehttp://www.scala-lang.org/docu/files/ScalaByExample.pdfScala Cheatsheet學習模式匹配的好資料
  • 20K+ Java程式設計師必備的15個框架!
    微信號:boxuegu-get最新最全的IT技能免費領取各種視頻資料那作為一名 Java Web 開發程式設計師必須需要熟悉哪些框架呢?今天,給大家列舉了一些通用的、必須掌握的框架,學會這些,20K+ 不是問題。毫無疑問,Spring 框架現在是 Java 後端框架家族裡面最強大的一個,其擁有 IOC 和 AOP 兩大利器,大大簡化了軟體開發複雜性。
  • 成為一名優秀的遊戲程式設計師的幾個修煉要點
    想要成為一名優秀的遊戲程式設計師需要怎樣的素質?很多人都會產生這樣的疑問,那麼我就試著解答一下這兩個問題。當然以下也只是我個人的一些不成熟的見解,歡迎各位拍磚。首先,遊戲行業相對於IT行業,其工作重心主要是在前端上面。因此,本文主要討論的是前端程式設計師,即所謂的「Gameplay Programmer"所需要的能力和素質。
  • Java 程式設計師可以學習的技術方向,精通任何一個都可以成為專家
    ,在成為卓越的Java 程式設計師的路上從未停止過學習,作為一個 Java 程式設計師還有很多我們需要學習的東西,特別是在這樣一個技術快速發展的時期可能昨天還在流行的技術,轉眼就已經落後了。通過閱讀優秀的人寫的代碼來提高我們自己的能力,附一張 Java 語言發布史。
  • 成為更好的程式設計師必備的數學資料匯總
    來自:程式設計師書庫(ID:OpenSourceTop)
  • 想成為優秀的程式設計師這些碼德不能缺
    然後給所有你用到的Java 內置類編寫包裝類。這裡的思想是確保你程序裡的每個對象都實現這個接口。最後,編寫所有的方法,讓它們的參數和返回類型都是這個 WrittenByMe。這樣就幾乎不可能搞清楚某個方法的功能是什麼,並且所有類型都需要好玩的造型方法。更出格的玩法是,讓每個團隊成員編寫它們自己 的接口(例如 WrittenByJoe),程式設計師用到的任何類都要實現他自己的接口。
  • 如何真正成為一個在路上的Linuxer?
    寫在前面本文目的不是教你如何成為一個真正的Linuxer,也沒有能力教你成為一個真正的linuxer,而是通過筆者的一些想法試圖指引你真正踏上學習linux之路,成為一個真正意義的在路上的linuxer。這有什麼區別?是的,一個成熟的Linuxer能夠遊走於表面的命令提示符與內部代碼細節實現之間,他們甚至也是linux內核源碼的貢獻者。
  • 如何真正成為一個在路上的Linuxer
    寫在前面本文目的不是教你如何成為一個真正的Linuxer,也沒有能力教你成為一個真正的linuxer,而是通過筆者的一些想法試圖指引你真正踏上學習linux之路,成為一個真正意義的在路上的linuxer。
  • Java 程式設計師必備的 15 個框架,前 3 個地位無可動搖!
    Java 程式設計師方向太多,且不說移動開發、大數據、區塊鏈、人工智慧這些,大部分 Java 程式設計師都是 Java Web/後端開發。那作為一名 Java Web 開發程式設計師必須需要熟悉哪些框架呢?今天,棧長我給大家列舉了一些通用的、必須掌握的框架,學會這些,20K+ 不是問題。
  • 談一談程式設計師的自我修養
    1、科學基礎成為開發人員的過程不盡相同,有的是科班出身,有的是興趣愛好,還有的是專業機構的培訓,在這個過程中,可能全面或者零散甚至沒有學習過計算機基礎學科,但無論是哪一種,想要成為更高層次的開發人員,寫出更高質量的代碼,計算機基礎學科的學習,是非常非常非常(重要的事情說三遍)重要的。
  • 幾款非常優秀且常用的代碼編輯器
    Vim具有代碼補完、編譯及錯誤跳轉等方便編程的許多豐富的功能,在程式設計師中被廣泛使用。就其本身而言,它只是一個框架和一組服務,用於通過插件組件構建開發環境,但是眾多插件的支持使得Eclipse擁有其他功能相對固定的IDE軟體很難具有的靈活性。
  • BAT程式設計師們常用的開發神器
    工欲善其事必先利其器,一個優秀的程式設計師除了代碼寫得好,善於利用各種開發工具同樣可以事半功倍。以 BAT 為代表的各大廠程式設計師們在平時的工作中都用什麼開發工具呢?InfoQ 編輯部盤點了大廠內部常用的開發工具,以供讀者參考。本文涉及工具大部分為開源項目,大家可以按需選用。  Arthas 是阿里巴巴 2018 年 9 月開源的一款 Java 線上診斷工具。
  • 神級程式設計師的收藏夾公開了!
    Spring 對速度、簡單性和生產力的關注使其成為世界上最受歡迎的 Java框架。MyBatisMyBatis 是一款優秀的持久層框架,它支持自定義 SQL、存儲過程以及高級映射。MyBatis 免除了幾乎所有的 JDBC 代碼以及設置參數和獲取結果集的工作。
  • 每個Java程式設計師都應掌握的 15 個框架,學會ta們月薪突破20k!
    今天,動姐就為大家列舉15個Java程式設計師通用的、必須掌握的框架,學會這些,月薪20K+ 應該不是問題。Dubbo是阿里巴巴開源的基於 Java 的高性能 RPC 分布式服務框架,現已成為 Apache 基金會孵化項目。
  • 程式設計師整理的各種不錯的技術和工具
    SuperScrollorama+TweenMax+skrollr:打造超酷的視差滾動效果網頁動畫jquery-smooth-scroll:同上,平滑滾動插件Animate.css:實現了各種動畫效果的css庫Emmet:前端工程師必備,ZenCode的前身MagicDraw:Uml圖工具Hadoop:分布式的文件系統
  • JAVA程式設計師一定知道的優秀第三方庫(2016版)
    「避免重複發明輪子」的道理——儘可能使用那些優秀的第三方框架或庫,但當真正進入開發時,我卻經常發現他們有時並不知道那些輪子在哪裡。框架Web框架是一個應用最核心的部分,因此我總是推薦使用那些最標準的,並且有良好社區支持的框架,比如Spring和Struts。