工欲善其事,必先利其器
本文版权归翟士丹(Stan Zhai)和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。
原文地址:http://www.cnblogs.com/jasondan/p/it-memo.html
技术站点
Hacker News:非常棒的针对编程的链接聚合网站
Programming reddit:同上
MSDN:微软相关的官方技术集中地,主要是文档类
infoq:企业级应用,关注软件开发领域
OSChina:开源技术社区,开源方面做的不错哦
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,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图工具
大数据处理/数据分析/分布式工具
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、TinkerpopNLP自然语言处理: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
HibernateNetty: 异步事件驱动网络应用编程框架,用于高并发网络编程比较好(NIO框架)
MINA:简单地开发高性能和高可靠性的网络应用程序(也是个NIO框架),不少手游服务端是用它开发的
jOOQ:java Orm框架Activiti:工作流引擎,类似的还有jBPM、Snaker
Perfuse:是一个用户界面包用来把有结构与无结构数据以具有交互性的可视化图形展示出来.
Gephi:复杂网络分析软件, 其主要用于各种网络和复杂系统,动态和分层图的交互可视化与探测开源工具
Nutch:知名的爬虫项目,hadoop就是从这个项目中发展出来的
web-harvest:Web数据提取工具
POM工具:Maven+ArtifactoryNetflix
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
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#,处理字符串表达式
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:思维导图
更多:
自己正在使用的工具,备注一下