整理一份程序员常用的各类工具、技术站点
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更详细的可查阅:
https://github.com/zhoujinjian/awesome-python-cn
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:思维导图
如果你觉得文章还不错,请大家点赞分享下。你的肯定是我最大的鼓励和支持。