实用开发工具及框架概述
SQL Server事件探测器
SQL Server Profiler:发生前台事件之后,越过业务逻辑,直接通过探测器查看数据变化(可以看到顺序执行了哪些存储过程和SQL语句) 很是方便。
进阶文档:某个PDF
ORM框架
Hibernate
MyBatis:Hibernate的轻量级家伙 对数据库的操作十分便捷(Java)
EF .net的官方标配
LightSpeed 收费,号称速度最快ORM
全文搜索
- Lucene.net
- sphinx
- ElasticSearch
- Solr
ASP.NET的WEB UI框架
Telerik 公司的Kendo UI
kendo ui 分为几个版本,for ASP.NET MVC、for JSP、for PHP 这几个版本是针对特定平台的,都是收费的,而在这些版本之外还有一个版本,web版本,是免费的(需要遵循 GPL v3 License),只能开发网页。web版本与上面几个版本的区别是,上面几个版本用特定的语言(C#、java、php)对web版进行了封装输出,也就是说html,js基础比较差的人,可以用上面的三个版本直接开发页面。
Node.js相关
express.js是目前基于node.js的最流行的一个MVC框架
jade是一种简单易用的html模板语言(基于Node.js)
开发工具可以使用VSCode,可以对Node.js程序进行单步调试。
消息推送相关技术
Asp.Net下的消息推送框架 受限的一点是 最新的SignalR只能在Frame Work4.5以上(用VS2012)才能用。 官方教程 http://www.asp.net/signalr/overview
使用 SignalR 构建进度栏 SignalR项目介绍-张善友 Demo1下载
--------------------------------------------------
.NET下的一款开源消息组件
--------------------------------------------------
SuperSocket 是一个轻量级, 跨平台而且可扩展的 .Net/Mono Socket 服务器程序框架。你无须了解如何使用 Socket, 如何维护 Socket 连接和 Socket 如何工作,但是你却可以使用 SuperSocket 很容易的开发出一款 Socket 服务器端软件,例如游戏服务器,GPS 服务器, 工业控制服务和数据采集服务器等等。
--------------------------------------------------
Node.Js
太适合做消息推送服务器了,服务器端的对应部分写起来相当简单。 举个栗子
--------------------------------------------------
Netty是由JBOSS提供的一个java开源框架,基于NIO。Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。
--------------------------------------------------
Springboot-websocket
Springboot在2.0以后(好像是)支持的websocket模块,不过需要启用Secure和HttpSession
--------------------------------------------------
关于消息推送的不错的分析 Comet:基于 HTTP 长连接的“服务器推”技术
BigPipe
页面内容分批加载(对含有巨量内容的页面来说 十分有用)
相关文章
HTTP调试工具,它能记录所有客户端和服务器的http和https请求,允许你监视,设置断点,甚至修改输入输出数据.
WebRTC
是一个支持网页浏览器进行实时语音对话或视频对话的技术,通过浏览器提供简单的javascript就可以达到实时通讯(Real-Time Communications (RTC))能力。
团队任务管理工具
JIRA
Jira是一款被广泛应用于缺陷跟踪、客户服务、需求收集、流程审批、任务跟踪、项目跟踪和敏捷管理等工作领域的软件。功能强大,收费,不过这应该不是问题。。
Asana 在线版 Web,App可数据同步
禅道
国产 开源 http://www.oschina.net/p/zentaopms/
还有一个重量级选手:TFS 全能型
分布式内存数据库
Memcache是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。 安装文件及相关注意事项、源码
Memcached在windows下安装与使用 Memcache知识点梳理 Memcache端口控制
由于memcached本身是没有做数据冗余的,如果宕机了 则会数据丢失,如果想实现数据冗余,可以额外安装repcached 官网
--------------------------------------------------
redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。Redis支持主从同步。
--------------------------------------------------
Pivotal GemFire
GemFire是一个位于应用集群和后端数据源之间的高性能、分布式的操作数据(operational data)管理基础架构。它提供了低延迟、高吞吐量的数据共享和事件分发。GemFire充分利用网络中的内存和磁盘资源,形成一个实时的数据网格(data fabric or grid)。
应用代表:12306的余票查询系统
.Net的持续集成工具
1.CruiseControl.NET CruiseControl.NET持续集成实践
2.DailyBuild 攻略
快速原型制作工具
Balsamiq Mockups
Balsamiq Mockups是一种软件工程中快速原型的建立软件,可以做为与用户交互的一个界面草图,一旦客户认可可以做为美工开发HTML的原型使用。
Axure RP
Axure RP是美国Axure Software Solution公司旗舰产品,是一个专业的快速原型设计工具,让负责定义需求和规格、设计功能和界面的专家能够快速创建应用软件或Web网站的线框图、流程图、原型和规格说明文档。作为专业的原型设计工具,它能快速、高效的创建原型,同时支持多人协作设计和版本控制管理。
InletexEMC
多人屏幕共享工具,免费,绿色,小巧 ,实用
模块化编程框架
RequireJS 中文官网 http://www.requirejs.cn/
一个很好的入门文章 http://www.cnblogs.com/snandy/archive/2012/05/22/2513652.html
同类产品还有SeaJs
一些小工具
调查派 免费在线调查工具 官网
自动化测试
Unit Test Generator
VS2013中的自动化测试工具,VS2012和VS2015中都是VS自带的,但是在2013中需要手动添加:工具-> 扩展和更新->输入工具名然后添加即可
Testin
Testin 云测试平台是一个基于真实终端设备环境,基于自动化测试技术的7x24云端服务.Testin在云端部署了千余款测试终端,并开放这些智能终端给全球移动开发者进行测试,开发者只需在Testin平台提交自己的App应用,选择需要测试的网络、机型,便可进行在线的自动化测试,无须人工干预,自动输出含错误、报警等测试日志、UI截图、内存/CPU/启动时间等在内的标准测试报告。
TestNG
Java的自动化测试插件,快速创建测试用例文件及对应的方法(空方法)
EvoSuite
属于TestNG的升级版,在TestNG的基础上,可以生成测试用例方法体(方法名自动生成,所以有点随意),还可以生成测试结果文档
负载均衡中间件
LVS 是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统。本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一。
配套组件Ldirector
-------------------------------
Nginx
nginx工作在网络的7层,所以它可以针对http应用本身来做分流策略,比如针对域名、目录结构等
--------------------------------
HAProxy
1、HAProxy是工作在网络7层之上。
2、能够补充Nginx的一些缺点比如Session的保持,Cookie的引导等工作
3、支持url检测后端的服务器出问题的检测会有很好的帮助。
4、更多的负载均衡策略比如:动态加权轮循(Dynamic Round Robin),加权源地址哈希(Weighted Source Hash),加权URL哈希和加权参数哈希(Weighted Parameter Hash)已经实现
5、单纯从效率上来讲HAProxy更会比Nginx有更出色的负载均衡速度。
6、HAProxy可以对Mysql进行负载均衡,对后端的DB节点进行检测和负载均衡。
实时监控平台
zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
ELK
开源实时日志分析平台 ElasticSearch + LogStash + Kibana
Quartz.NET 入门
类似产品 FluentScheduler
推荐一个简单、轻量、功能非常强大的C#/ASP.NET定时任务执行管理器组件–FluentScheduler定时器
简单、轻量、功能非常强大的C#/ASP.NET定时调度任务执行管理组件–FluentScheduler之实例篇
消息队列
RabbitMQ,ZeroMQ,ActiveMQ,Redis,MSMQ
具体对比 《消息队列中间件的技术选型分析》
MSMQ是微软打造一款不错的队列组件,由微软MVP Udi Dahan作为主要贡献者的NServiceBus,则对MSMQ进行了包装;
注:根据Windows服务器推荐MSMQ和RabbitMQ。
MSMQ的消息默认大小限制是4M,这个限制在绝大部分应用场景中是足够的,当然也可以更改这个限制(修改注册表或者其他方案)。
还有一个ZeroMQ的C#开源移植版本:NetMQ 不过不支持持久化,相关教程文章
IOC框架
Autofac,.Net的IOC框架。比较于其他的IOC框架,如Spring.NET,Unity,Castle等等所包含的,它很轻量级性能上非常高。
Castle.Windsor,Spring.NET
一篇外文介绍 《Why I moved from Windsor to Autofac》