程序员进阶的一些实用工具
技术站点
• Hacker News:非常棒的针对编程的链接聚合网站
• Programming reddit:同上
• MSDN:微软相关的官方技术集中地,主要是文档类
• infoq:企业级应用,关注软件开发领域
• OSChina:开源技术社区,开源方面做的不错哦
• 51cto,cnblogs:常见的技术社区,各有专长
• stackoverflow:IT 技术问答网站
• GitHub:全球最大的源代码管理平台,很多知名开源项目都在上面,如 Linux 内核
• OpenStack 等免费的 it 电子书:http://it-ebooks.info/
• DevStore:开发者服务商店
不错的书籍
• 人件
• 人月神 hua
• 代码大全 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 包管理器
• snice:有趣的 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:非常漂亮的对 hua 框
• 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:思维导图
程序员进阶的一些实用工具相关推荐
- 程序员应当知道的实用工具网站
程序员应当知道的实用工具网站 1.搜索引擎 1-1 秘迹搜索 1-2 小白盘 1-3 DogeDoge搜索 1-4 百谷歌度搜索 2.变量取名工具 2-1 Codelf 3.PPT 3-1 优品PPT ...
- java中怎样导入图片6_java程序员进阶篇之必须掌握的6张思维导图!
原标题:java程序员进阶篇之必须掌握的6张思维导图! <java程序员的自我修养>的作者是MindMaster思维导图社区用户芒果,作者整理了一系列学习java程序的笔记,方便java程 ...
- 程序员进阶架构师路线
作者简介:曾任职于阿里巴巴,每日优鲜等互联网公司,任技术总监,15年电商互联网经历. 下面是作者根据自己15年的互联网电商经验总结的,Java程序员进阶架构师的路线图,希望对初入职场的同学和对自己技术 ...
- 从Java程序员进阶到架构师,6大核心技能要领详解
" java架构师技能将分为如下6大环节:数据结构和算法,Java高级特性,Java web核心,数据库,Java框架与必备工具,系统架构设计. 希望能真正帮助到从程序员进阶到架构师之路的朋 ...
- 从Java程序员进阶为架构师,全套16张图概括最全技能!建议收藏!
如何从程序员进阶到架构师?今天完整的把我积累的经验和技能分享给大家! 作者:陈睿|优知学院创始人 数据结构+算法=程序 数据是一切能输入到计算机的信息总和,结构是指数据之间的关系,数据结构就是将数据及 ...
- .NET 程序员十种常用辅助开发工具
.NET 程序员十种常用辅助开发工具 一: .NET 程序员十种工具 - Visual Studio Converter(转换器工具) Visual Studio .NET 项目转换器(参 ...
- Windows程序员进阶应该看的那些书
Windows程序员进阶应该看的那些书 业内有一个普遍的现象,一般Windows程序员在写了3-5年的代码的时候会有一段迷茫期,因为这个时期的程序员已经掌握了常用的一些编程技巧,对某种编程语言已经比较 ...
- Java程序员进阶架构师的五个阶段,你到了哪各阶段?
之前有个讨论:实现同样功能,简洁代码一定比复杂代码效率高吗?有的说,还得看算法,如果算法相同,简洁代码效率应该会高一些.有的说,即使算法相同,简洁代码也不见得比复杂代码效率高,而应尽可能减少循环的使用 ...
- 程序员进阶的五个瞬间,开头就笑了!
之前有个讨论:实现同样功能,简洁代码一定比复杂代码效率高吗?有的说,还得看算法,如果算法相同,简洁代码效率应该会高一些.有的说,即使算法相同,简洁代码也不见得比复杂代码效率高,而应尽可能减少循环的使用 ...
最新文章
- Linux 用echo输出带特效的字体
- python 多线程中的 join 和 daemon
- java如何调用网页_如何使用网页开发自己的app,在网页中的按钮与自己的java代码绑定来实现打电话即javascript代码调用java代码,和java代码来调用javascript代码...
- Hive 03_DML、SerDe、Beeline、JDBC
- javascript对象包含哪些要素_重学JavaScript 对象
- 腾讯的老照片修复算法,我把它搬到网上,随便玩
- UDT源码剖析(三):UDT::startup()过程代码注释
- 定义一个结构体指针需要分配存储空间?
- oracle连接数达不到上限,Oracle超出最大连接数问题及解决(转)
- 【计算机就业-后端开发工程师】校招想去互联网公司担任后端开发工程师该怎么准备
- hp打印机一直显示正在打印中_惠普打印机哪个型号好 安装hp打印机驱动方法【详解】...
- ios把数据传递到另一个页面_iOS 应用之间的跳转和数据传递
- scrapy自定义Request的缓存策略(减少内存占用)
- UnicodeDecodeError: 'utf-8' codec can't decode byte 0xce in position 130: invalid continuat
- 为什么都建议学java而不是python-是不是Python比Java更容易学,更容易就业?
- U盘PE装系统-CGI一键还原备份安装方法
- 税控服务器组件接口v2.1.1.1,税控开票服务器组件接口规范标准版V1.9(2016.04.04).pdf...
- C语言字符串+内存库函数详解
- 【转】C++ 常用的STL查找函数方法
- Hi3512的IPCAM开发