Fork me on GitHub

2013年4月19日

摘要: leetcode刷题笔录-4不同的子序列给定字符串 S 和 T ,计算 T 作为 S 的不同子序列的个数(不同,指子序列每个元素在原序列中的位置)。比如,给出 S="rabbbit" 和 T="rabbit" ,应当返回 3 ,应为有这样 3 种不同的子序列:"rabbbit","rabbbit","rabbbit"。思路:动态规划。T(1...n) 作为 S(1...m) 的不同子序列的数量(问题),就等于:如果 T[n]!=S[m] ,为:T(1...n) 作为 S(1...m-1) 的不同 阅读全文
posted @ 2013-04-19 09:47 HackerVirus 阅读(295) 评论(0) 推荐(0)

2013年4月18日

摘要: 使用MANIFEST.MF文件来track War包做持续部署在我工作的项目中有这样一个需求。当通过自动部署脚本将当前一个CI构建的WAR包部署到指定服务器后,需要验证该WAR包是否被部署成功。在这个项目中,持续集成服务器使用的是Jenkins,构建脚本使用的是maven,向服务器的部署使用的是Groovy写的部署脚本,调用了TableuaxAPI。在Jenkins上有两个job,一个CI job,一个dev job。 每次提交代码都会在Jenkins上trigger CI ob,这个job会执行配置的maven命令mvn clean install,如果构建成功,会自动trigger dev 阅读全文
posted @ 2013-04-18 14:36 HackerVirus 阅读(892) 评论(0) 推荐(0)
摘要: .NET 4.5 压缩在.NET 4.5中新加入的压缩的命名空间和方法。可以抛弃ICSharpCode.SharpZipLib.dll 这个类库了。性能上不相上下。但是能够大大简化你的代码。如果开始使用.NET FrameWork4.5 做压缩不妨试试自带的压缩方法.传统使用ICSharpCode.SharpZipLib.dll 所写的代码。static void Main(string[] args) { Stopwatch watch = new Stopwatch(); watch.Start(); stri... 阅读全文
posted @ 2013-04-18 14:30 HackerVirus 阅读(180) 评论(0) 推荐(0)
摘要: 自定义实现URL重写 04.181、定义XML规则,配置好URL节点?xml version="1.0" encoding="utf-8" ?><urls> <rewrite name="ShowNews" pattern="news-(\d+).html" page="news.aspx" query="id=$1"> </rewrite></urls>2、对XML的解析,对其进行封装 public class MyUr 阅读全文
posted @ 2013-04-18 13:56 HackerVirus 阅读(182) 评论(0) 推荐(0)
摘要: Unity使用案例(文件配置)untiy 从nuget上下载项目为简单三层架构。 接口--业务逻辑层--数据访问层--数据实体层。接口定义 业务层和数据访问层 接口。需求实现使用Unity 能够集成异常管理一、介绍一下业务逻辑 客户端 调用bll.GetList();获取后台数据。bll中调用的是dal.GetList(); 我们希望在 调用GetList 系统能够自动处理异常。不要再在每个方法中都去写 try{}catch{}。这样很麻烦业务逻辑也显得臃肿。二、定义异常标签,异常处理handler 要想解决以上问题,可以用Unity的拦截机制这样做,定义异常特性或者叫属性?names... 阅读全文
posted @ 2013-04-18 13:55 HackerVirus 阅读(291) 评论(0) 推荐(0)
摘要: 异步编程:(TAP)基于任务的异步编程模型详解=============C#.Net篇目录==============最近我为大家陆续介绍了“IAsyncResult异步编程模型(APM)”和“基于事件的异步编程模式(EAP)”两种异步编程模型。在.NET4.0中Microsoft又为我们引入了新的异步编程模型“基于任务的异步编程模型(TAP)”,并且推荐我们在开发新的多线程应用程序中首选TAP。那现在我先介绍下TAP具有哪些优势:目前版本(.NET4.X)的任务调度器(TaskScheduler)依赖于底层的线程池引擎。通过局部队列的任务内联化(task inlining)和工作窃取机制可以 阅读全文
posted @ 2013-04-18 13:54 HackerVirus 阅读(740) 评论(0) 推荐(2)
摘要: JavaScript的模块化:封装(闭包),继承(原型)虽然 JavaScript 天生就是一副随随便便的样子,但是随着浏览器能够完成的事情越来越多,这门语言也也越来越经常地摆出正襟危坐的架势。在复杂的逻辑下, JavaScript 需要被模块化,模块需要封装起来,只留下供外界调用的接口。闭包是 JavaScript 中实现模块封装的关键,也是很多初学者难以理解的要点。最初,我也陷入迷惑之中。现在,我自信对这个概念已经有了比较深入的理解。为了便于理解,文中试图封装一个比较简单的对象。我们试图在页面上维护一个计数器对象 ticker ,这个对象维护一个数值 n 。随着用户的操作,我们可以增加一次 阅读全文
posted @ 2013-04-18 13:53 HackerVirus 阅读(239) 评论(0) 推荐(0)
摘要: 分享一个基于FileSystemWatcher的文件自动备份程序一:背景 我们公司asp.net的项目都是使用FTP进行上传下载来发布和更新的。尽管我们在发布修改之前都在本地进行进行测试,但本地的开发环境始终和外网上的实际环境还是有差别的(特别在一些数据上的差别),所以有时不可避免地出现在本地测试时没有Bug,但上传到外网就出现Bug的情况。 很多时候我们在ftp后如果出现bug,第一个反应就是马上还原回更新前的状态,也就是将旧问题替换回去。但这样也就需要在ftp上传前先将旧文件备份。但因为这样做太繁琐,有时候更新量大而且文件分散,备份旧文件就变成一件还是挺烦人的事情。虽然ftp工具都有简.. 阅读全文
posted @ 2013-04-18 09:55 HackerVirus 阅读(1407) 评论(0) 推荐(1)
摘要: DDD:管理“工作单元实例”的两种模式当前标签: 架构续--请思考: 模式的学习和应用--架构是什么?Ambit 2013-04-17 22:51 阅读:296 评论:0请思考: 模式的学习和应用Ambit 2013-04-16 09:27 阅读:691 评论:3软件开发非功能性需求Ambit 2013-04-14 22:03 阅读:39 评论:0概念介绍类图如下:在常见的用例场景下,类图的对象图如下:问题在一个用例执行过程中,如何保证同一个界限上下文内的所有仓储实例可以共享同一个工作单元实例?解决方案1仓储采用依赖注入模式 + 使用IOC管理工作单元的生命周期(PerRequest或其它)。 阅读全文
posted @ 2013-04-18 09:53 HackerVirus 阅读(249) 评论(0) 推荐(0)
摘要: LoadRunner压力测试心得总结一、虚拟用户迭代一次的时间对整个压力场景的影响。1、虚拟用户迭代一次的时间大于等于压力场景的上行周期。 此种情况,在压力场景的上行周期中,所有虚拟用户根据压力场景设置的策略全部依次运行。压力场景的上行周期过后,进入虚拟用户运行的稳定期,因为此时第一个运行的虚拟用户尚未退出迭代。当第一个运行的虚拟用户退出迭代时,即进入运动期。在运动期中,会不断的有虚拟用户上线和下线,此起彼伏,但当前运行的总虚拟用户数与总虚拟用户数接近,实际中会有所偏差,偏差的数量与压力场景步长的设定以及脚本的睡眠时间有关。当场景设置的步长为0时,运动期的时间等于压力场景的上行周期,因为当步. 阅读全文
posted @ 2013-04-18 09:49 HackerVirus 阅读(262) 评论(0) 推荐(0)