Fork me on GitHub

2013年9月11日

摘要: 64位下Hook NtOpenProcess的实现进程保护 + 源码 (升级篇 )【PS: 如果在64位系统下,出现调用测试demo,返回false的情况下,请修改Hook Dll的代码】glhHook = SetWindowsHookEx(WH_SHELL,ShellHookProc, 0 , 0); //改成跟X86下一样的glhHook = SetWindowsHookEx(WH_SHELL,ShellHookProc,glhInstance, 0);2013.09.11代码修改, 可以针对指定的进程进行保护( 编译DLL和测试DEMO的时候,请注意目标平台,X86还是X64)=> 阅读全文
posted @ 2013-09-11 18:25 HackerVirus 阅读(4111) 评论(1) 推荐(0)
摘要: EntityFramework与TransactionScope事务和并发控制最近在园子里看到一篇关于TransactionScope的文章,发现事务和并发控制是新接触Entity Framework和Transaction Scope的园友们不易理解的问题,遂组织此文跟大家共同探讨。首先事务的ACID特性作为最基础的知识我想大家都应该知道了。ADO.NET的SQLTransaction就是.NET框架下访问SqlServer时最底层的数据库事务对象,它可以用来将多次的数据库访问封装为“原子操作”,也可以通过修改隔离级别来控制并发时的行为。TransactionScope则是为了在分布式数据节 阅读全文
posted @ 2013-09-11 18:22 HackerVirus 阅读(3039) 评论(1) 推荐(3)
摘要: 顺序表与链表顺序表与链表是非常基本的数据结构,它们可以被统称为线性表。线性表(Linear List)是由 n(n≥0)个数据元素(结点)a[0],a[1],a[2]…,a[n-1] 组成的有限序列。顺序表和链表,是线性表的不同存储结构。它们各自有不同的特点和适用范围。针对它们各自的缺点,也有很多改进的措施。一、顺序表顺序表一般表现为数组,使用一组地址连续的存储单元依次存储数据元素,如图 1 所示。它具有如下特点:长度固定,必须在分配内存之前确定数组的长度。存储空间连续,即允许元素的随机访问。存储密度大,内存中存储的全部是数据元素。要访问特定元素,可以使用索引访问,时间复杂度为O(1)。要想在 阅读全文
posted @ 2013-09-11 18:20 HackerVirus 阅读(246) 评论(0) 推荐(0)
摘要: 对于asp.net mvc异步查询如何做MVC异步查询,做列表页面。 查询是项目中必不可少的工作,而且不同的项目不同的团队,都有自己的简单方法。Asp.net mvc有自己独特的优势,下面是结合mvc实现一个产品列表的Demo.问题描述对于一些列表页面,保持一致的查询代码。解决方案1.依赖文件jquery.js、jquery.unobtrusive-ajax.js。 2.创建部分视图,PartialView主要存放服务器发送过来的数据。 3.一个包含集合数据的viewmodel. 4. 部分视图代码基本如下: View Code@model IList@foreach (De... 阅读全文
posted @ 2013-09-11 16:19 HackerVirus 阅读(556) 评论(0) 推荐(0)
摘要: 如何在大型的并且有表分区的数据库中进行DBCC CHECKDB操作其实这个问题已经在《SQLSERVER企业级平台管理实践》里徐老师已经讲过了,不过我想用自己的语言再讲详细一些笔记链接:笔记19-徐 如何在超大型数据库上运行DBCC CHECKDB先来看一下表分区的概念图很多时候你或者因为性能问题而使用表分区技术,将一些数据放到不同的分区,而这些数据实际上是被逻辑的放到不同的文件组里大家知道:不管是索引还是数据,文件组都是这些索引和数据存放的最小逻辑单位文件组是文件的命名集合,用于简化数据存放和管理任务(例如,备份和还原操作,文件组备份和文件组还原)MSDN 使用文件和文件组:http://m 阅读全文
posted @ 2013-09-11 16:18 HackerVirus 阅读(209) 评论(0) 推荐(0)
摘要: 目录背景使用EntityFramework持久化聚合备注背景返回目录DDD中只有聚合根可以有仓储,仓储负责整个聚合持久化的相关生命周期,在不使用工作单元或POCO的情况下,我们可以让Order内部直接调用DAL操作OrderItem。我们也可以让Order跟踪所有OrderItem的状态,然后在OrderRepository内部操作OrderItem。如果我们采用了重量级的ORM工具,如:EntityFramework,事情会不会变得简单呢?使用EntityFramework持久化聚合返回目录关键思路:双主键。示例聚合这里以订单和订单项为例。Order管理OrderItem 1 ... 阅读全文
posted @ 2013-09-11 16:12 HackerVirus 阅读(541) 评论(0) 推荐(0)
摘要: HttpActionDescriptor,ASP.NET Web API又一个重要的描述对象通过前面对“HttpController的激活”的介绍我们已经知道了ASP.NET Web API通过HttpControllerDescriptor来描述HttpController。对于定义在HttpController中的每一个Action方法则通过一个类型为HttpActionDescriptor的对象来描述,Action方法基本的元数据信息可以在对应的HttpActionDescriptor对象中找到。[本文已经同步到《How ASP.NET Web API Works?》]目录HttpAct 阅读全文
posted @ 2013-09-11 16:00 HackerVirus 阅读(1669) 评论(0) 推荐(0)
摘要: 文章的一些补充和总结补充有两个:一个是系列(五)中讲到的事件编程(网址链接),该文提及到了事件编程的几种方式以及容易引起的一些异常,本文补充“多线程事件编程”这一块。第二个是前三篇博客中提及到的“泵”结构在编程中的应用,我稍微做一点补充。总结有一个:如果您善于总结和类比,您会发现世界好多东西其实都是一样的。这部分主要理清楚框架时代中的框架和我们coder所写代码之间的关联。下面是正文:多线程事件编程 系列(五)中提及到了事件在注册和注销时,系统已经做了多线程处理,只是不太完美(以this为锁对象,this是public的,锁对象是不能对外公开的),后来通过自己定义锁对象加锁来实现的。可是该篇. 阅读全文
posted @ 2013-09-11 15:57 HackerVirus 阅读(194) 评论(0) 推荐(0)
摘要: 常见的动态规划问题分析与求解动态规划(Dynamic Programming,简称DP),虽然抽象后进行求解的思路并不复杂,但具体的形式千差万别,找出问题的子结构以及通过子结构重新构造最优解的过程很难统一,并不像回溯法具有解决绝大多数问题的银弹(全面解析回溯法:算法框架与问题求解)。为了解决动态规划问题,只能靠多练习、多思考了。本文主要是对一些常见的动态规划题目的收集,希望能有所帮助。难度评级受个人主观影响较大,仅供参考。目录(点击跳转)动态规划求解的一般思路备忘录法1.硬币找零 扩展1:单路取苹果 扩展2:装配线调度2.字符串相似度/编辑距离(edit distance) 应用1:子串... 阅读全文
posted @ 2013-09-11 15:52 HackerVirus 阅读(515) 评论(0) 推荐(0)
摘要: MongoDB学习(翻译2)C#驱动之LINQ教程介绍本教程涵盖了1.8发布版本对linq查询的支持。开始本教程之前,你应该至少阅读下C#驱动教程关于C#驱动的介绍快速开始首先,添加下面命名空间到您的程序中:using MongoDB.Driver.Linq;然后,声明一变量保存对集合的引用var collection = database.GetCollection("collectionname");最基本调用linq查询的方式是构造一个集合变量,通过调用AsQueryable()后,你便可以正常调用linq了。实例:var query = from e in coll 阅读全文
posted @ 2013-09-11 15:44 HackerVirus 阅读(234) 评论(0) 推荐(0)