成为专业程序员路上用到的各种优秀资料、神器及框架

727 阅读24分钟

前言

成为一名专业程序员的道路上,需要坚持练习、学习与积累,技术方面既要有一定的广度,更要有自己的深度。

笔者作为一位 tool mad,将工作以来用到的各种优秀资料、神器及框架整理在此,毕竟好记性不如烂键盘,此项目可以作为自己的不时之需。

本人喜欢折腾,记录的东西也比较杂,各方面都会有一些,内容按重要等级排序,大家各取所需。

这里的东西会持续积累下去,欢迎 Star,也欢迎发 PR 给我。

Thonatos.Yang

整理的 GitBook 版本,阅读体验更佳:thonatos.gitbooks.io/be-a-profes…

目录

资料篇

技术站点

必看书籍

  • SICP(Structure and Interpretation of Computer Programs)
  • 深入理解计算机系统
  • 代码大全 2
  • 人件
  • 人月神话
  • 软件随想录
  • 算法导论(麻省理工学院出版社)
  • 离散数学及其应用
  • 设计模式
  • 编程之美
  • 黑客与画家
  • 编程珠玑
  • The Little Schemer
  • Simply Scheme_Introducing_Computer_Science
  • C++ Prime
  • Effective C++
  • TCP/IP 详解
  • Unix 编程艺术
  • 技术的本质
  • 软件随想录
  • 计算机程序设计艺术
  • 程序员的自我修养:链接、装载与库
  • 程序员修炼之道
  • 高效能程序员的修炼
  • 《精神分析引论》弗洛伊德
  • 《失控》《科技想要什么》《技术元素》凯文凯利
  • 程序开发心理学
  • 天地一沙鸥
  • 搞定:无压力工作的艺术

大牛博客

GitHub 篇

** Awesome **

** 书籍资料 **

** 优秀项目 **

** 前端 & Node.js **

** 工作,工具 **

工具篇

平台工具

  • Jupyter: IPython Notebook, 有个子项目 sparkmagic,可以和 Spark 集合在一起,类似 spark-notebook 项目

  • 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:www.gitbook.io/

    写书的好东西,当然用来写文档也很不错的(发现不少产品的文档就是用的它)

  • Travis-ci:开源项目持续集成必备,和 GitHub 相结合,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: 快速原型制作工具,还有个在线作图的工具国内的一个创业团队做的,用着很不错

    www.processon.com/

  • Origami: 次世代交互设计神器

  • 百度脑图: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 专用,统计你的时间都花在哪了

  • 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))
  • 除了 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 框架,设计理念较为先进

  • Sciter: GUI 框架,采用自己的 HTML/CSS 解析器,具有出色的扩展特性和性能,dll 压缩后在 1~2M

  • 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:

    marvelapp.github.io/devices.css…

  • CodePen:

    codepen.io/

  • jsfiddle:

    jsfiddle.net/

    前端 js,html,css 测试利器

语言篇

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

待折腾:

Scala

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

客户端

Framework

小工具

游戏

.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, 实时传输协议与音视频

  • RTP,RTCP,RTSP-> librtp,JRTPLIB(遵循了 RFC1889 标准)
  • 环形缓冲区,实时数据传输用
  • SDL,ffmpeg,live555,Speex
  • Red5: 用 Java 开发开源的 Flash 流媒体服务器。它支持:把音频(MP3)和视频(FLV)转换成播放流; 录制客户端播放流(只支持 FLV);共享对象;现场直播流发布;远程调用。

原文:github.com/stanzhai/be…