Fork me on GitHub

2012年6月5日

摘要: 一. 面临的问题 开发插件系统的主要优势是扩展性,我们不需要为系统模块的集成再多费脑筋,但这也带来了额外的问题。通常,系统需要在每次启动时搜索固定目录下的符合要求的插件。但是,当系统变得越来越庞大,所引用的dll文件越来越多时,就会出现很严重的问题:开启时间慢,性能差,用户体验降低,尤其是在调试程序时,会浪费大量宝贵的时间。 我确确实实的面临了这样的问题,有兴趣的读者可以看看我的插件系列文章的前几篇,这两天痛定思痛,决心提升系统搜索插件的性能。 我们先看一段普通的搜索插件的代码: 1 public void GetAllPluginInPath(string Path, strin... 阅读全文
posted @ 2012-06-05 17:52 HackerVirus 阅读(232) 评论(0) 推荐(0)
摘要: 2011年,twitter的“一小撮”工程师为了提高他们内部的分析和管理能力,用业余时间为他们的产品构建了一套易用、优雅、灵活、可扩展的前端工具集--BootStrap。Bootstrap由MARK OTTO和Jacob Thornton所设计和建立,在github上开源之后,迅速成为该站上最多人watch&fork的项目。大量工程师踊跃为该项目贡献代码,社区惊人地活跃,代码版本进化非常快速,官方文档质量极其高(可以说是优雅),同时涌现了许多基于Bootstrap建设的网站:界面清新、简洁;要素排版利落大方。如下图所示: ... 阅读全文
posted @ 2012-06-05 17:49 HackerVirus 阅读(561) 评论(1) 推荐(0)
摘要: 每一个成功产品的背后至少有一个伟大的类库,每一个伟大的类库都归属于一个优秀的包包(package),每一个优秀的包包都离不开一个顺手的包包管理器。而NuGet是.NET程序员首选的包包管理器。这篇文章分享的是如何用NuGet.Server搭建自己的NuGet服务器,如何上传包包,以及我们使用中遇到的问题与自动化打包/上传方案。一、NuGet服务端的搭建准备材料:IIS + ASP.NET 4.0 + VS2010 + NuGet.Server1. 打开VS2010,新建一个ASP.NET Empty Web Application项目2. 通过NuGet安装NuGet.Server上图中的Pa 阅读全文
posted @ 2012-06-05 17:47 HackerVirus 阅读(213) 评论(0) 推荐(0)
摘要: 1.1 云服务环境 Eucalyptus1.1.1 介绍Elastic Utility Computing Architecture for Linking Your Programs To Useful Systems(Eucalyptus)是一种开源的软件基础结构,用来通过计算集群或工作站群实现弹性的、实用的云计算。它最初是美国加利福尼亚大学 Santa Barbara 计算机科学学院的一个研究项目,现在已经商业化,发展成为了 Eucalyptus Systems Inc。不过,Eucalyptus 仍然按开源项目那样维护和开发。Eucalyptus Systems 还在基于开源的 Euc 阅读全文
posted @ 2012-06-05 16:49 HackerVirus 阅读(248) 评论(0) 推荐(0)
摘要: MongoVUE 是个比较好用的MongoDB客户端,不过免费版在15天过后,不能使用gridfs,Server Monitoring等功能。使用Process Monitor工具,监视注册表,可以发现MongoVUE 在启动时会读取以下的注册表项:[HKEY_CURRENT_USER\Software\Classes\CLSID\{B1159E65-821C3-21C5-CE21-34A484D54444}\4FF78130]把这个项下的值全删掉就可以了。MongoVUE :http://www.mongovue.com/Process Monitor下载地址:http://technet. 阅读全文
posted @ 2012-06-05 11:24 HackerVirus 阅读(240) 评论(0) 推荐(0)
摘要: Git已经变得非常流行,连Codeplex现在也已经主推Git。Github上更是充斥着各种高质量的开源项目,比如rubyonrails,cocos2d等等。对于习惯Windows图形界面的程序员来讲,Github的使用是需要点时间和耐心的,然而最近Github发布了GithubforWindows则大大降低了学习成本和使用难度,他甚至比SVN都简单,好吧,你不信,我们来一步一步过一面:1.在http://windows.github.com/下载GithubforWindows,然后安装就不说了2.登陆,安装好后打开GitHub,用你的GitHub账号登陆。需要注意的事,GithubforW 阅读全文
posted @ 2012-06-05 09:57 HackerVirus 阅读(373) 评论(0) 推荐(0)
摘要: WCF作为一项通讯技术,必须保证传输的可靠性与消息的可靠性传输可靠性:指的是点对点可靠性,确保数据包按顺序到达。它不受网络等因素的影响消息可靠性:指提供了消息端对端的保证,确保消息的顺序无误。如果传输失败,它还能提供重试功能自动处理网络阻塞、消息缓存、流控制,根据具体情况适时调整发送消息数。它还能通过对连接的验证管理连接自身,并在不需要的时候清除连接理论上,WCF服务的实现与服务契约的定义与它使用的绑定以及属性无关。实际上,服务处理消息以及契约定义都可能与消息的有序传递有关。在WCF中使用DeliveryRequirementsAttribute来对服务或者契约应用这种约束。[Attribut 阅读全文
posted @ 2012-06-05 09:56 HackerVirus 阅读(224) 评论(0) 推荐(0)

2012年6月4日

摘要: 要创建一个返回指定条记录结果的存储过程,首先必须指定返回结果集的条记录数,可以用临时表,也可以用table变量(SQL Server 2000),两个在性能上没有太大的差别,但是,table变量是存储在内存中的,如果你的服务器内存不多的话,可以考虑用临时表,临时表使用硬盘存储结果,临时表需要手工释放对象,而table变量在存储过程结束后自动释放。下面就是我们要创建的存储过程:create proc GetAuthors@Author_Last_Name as varchar(100) = null,@StartRow as int = null,@StopRow as int = nullAS 阅读全文
posted @ 2012-06-04 17:38 HackerVirus 阅读(250) 评论(0) 推荐(0)
摘要: 分享一款个人开发的免费知识管理工具---豆约翰博客备份专家。该软件是完全免费,功能强大的博客备份工具,博文远程发布(博文远程一键发布到新浪,网易,博客园,WordPress)工具,博客电子书(PDF,CHM和TXT)生成工具,博文离线浏览工具,软件界面美观大方,支持多个主流博客网站(QQ空间,百度空间,新浪博客,网易博客,豆瓣日记,天涯博客,19楼,博客园,和讯博客,CSDN博客,搜狐博客,51CTO博客)的博文备份。总体功能可以从下面的图中直观的看出来。以下是软件界面截图:该软件可以帮助我们做什么呢,个人认为有以下用途:1.备份自己的博文,防止网站数据丢失或帐号被封。2.备份别人的文章,知识 阅读全文
posted @ 2012-06-04 17:19 HackerVirus 阅读(3433) 评论(0) 推荐(2)
摘要: N层架构及各层之间的通讯标准一 总体结构图二 各个模块的介绍通用项目模块Project.Common:它是对所有项目都公开的项目组合,主要提供一个与领域无关的通用功能的代码库核心项目模块Project.Core:它是针对某种构架方式(如LINQ To SQL作为底层架构)抽象出来的项目组合,它与领域无关领域项目模块,它是具体的项目,如XXB项目,它本身也是一个N层架构方式,一般地,它的UI层会继承我们的Product.Core下的Web.Commons项目,而对应的Entity对应Entity.Commons项目,由于BLL层是针对某种特殊业务领域的,所以在Project.Core里没有出现B 阅读全文
posted @ 2012-06-04 17:18 HackerVirus 阅读(308) 评论(0) 推荐(0)