摘要:
C#知识点总结系列:C# 数据结构线性表(Linear List) 具有相同特性的数据元素的一个有限序列。线性表的顺序存储结构—顺序表 线性表的顺序存储结构是指用一块地址连续的存储空间依次存储线性表的数据元素。这种存储方式好比改革前的银行,需要在业务窗口前排队取钱。由此可以看出顺序表中逻辑上相邻的元素在物理上也是相邻的。顺序表的特点 1.容量固定 存储顺序表的元素需要一整块内存空间,因而顺序表的容量一旦确定,便不能更改。 2.访问速度快 在顺序表使用索引访问数据元素是非常简单、快速的。如图2.3所示,假设顺序表中的第一个元素的位置是Loc,每个数据元素所占用的存储空间为n,那么可以很快地计算出
阅读全文
posted @ 2014-01-28 00:37
HackerVirus
阅读(267)
推荐(0)
摘要:
基于ASP.NET MVC的热插拔模块式开发框架(OrchardNoCMS)--BootStrap按照几个月之前的计划,也应该写一个使用Bootstrap作为OrchardNoCMS的UI库。之前这段时间都是在学习IOS开发,没顾得上写,也没顾得上维护OrchardNoCMS代码。看看我的活动轨迹就知道啦:最近这两周快过年了,刚好写一篇博客来消磨时间,也顺便希望可以对大家有所帮助。由于我精简后的版本中去掉了Orchard.jQuery模块,所以首先我建立了一个模块来存放我需要的所有JS和CSS文件。创建一个ResourceManifest文件,它实现了接口IResourceManifestPr
阅读全文
posted @ 2014-01-28 00:27
HackerVirus
阅读(471)
推荐(0)
摘要:
ASP.NET Web API的HttpController是如何被激活的?HttpController与HttpControllerDescriptor程序集的解析HttpController类型的解析目标HttpController类型的选择目标HttpController的创建通过上面的内容我们已经对HttpController激活系统的核心对象有了深刻的了解,这些对象包括用于解析程序集和有效HttpController类型的AssembliesResolver和HttpControllerTypeResolver,根据请求完整目标HttpController选择的HttpControl
阅读全文
posted @ 2014-01-28 00:26
HackerVirus
阅读(337)
推荐(0)
摘要:
三 合并排序合并排序,顾名思义,就是通过将两个有序的序列合并为一个大的有序的序列的方式来实现排序。合并排序是一种典型的分治算法:首先将序列分为两部分,然后对每一部分进行循环递归的排序,然后逐个将结果进行合并。合并排序最大的优点是它的时间复杂度为O(nlgn),这个是我们之前的选择排序和插入排序所达不到的。他还是一种稳定性排序,也就是相等的元素在序列中的相对位置在排序前后不会发生变化。他的唯一缺点是,需要利用额外的N的空间来进行排序。一 原理合并排序依赖于合并操作,即将两个已经排序的序列合并成一个序列,具体的过程如下:申请空间,使其大小为两个已经排序序列之和,然后将待排序数组复制到该数组中。设定
阅读全文
posted @ 2014-01-27 23:20
HackerVirus
阅读(368)
推荐(0)
摘要:
MVC设计模式前言 前端的MVC,近几年一直很火,大家也都纷纷讨论着,于是乎,抽空总结一下这个知识点。看了些文章,结合实践略作总结并发表一下自己的看法。 最初接触MVC是后端Java的MVC架构,用一张图来表示之—— 这样,我们让每一个层次去关注并做好一件事情,层与层之间保持松耦合,我们可以对每一个层次单独做好测试工作。如此,我们可以让代码更具可维护性。 因此,借鉴于后端的这种MVC设计思想(更多的我想是一种优秀的、经过考验的实践模式),针对越来越复杂的JavaScript应用程序,便有了猜想,我们是否可以使用MVC的设计思想,编写出高维护性的前端程序。一、MVC定义 先来看看《...
阅读全文
posted @ 2014-01-26 23:32
HackerVirus
阅读(474)
推荐(0)
摘要:
加密算法C#编程总结(七)加密算法概述数据加密的基本过程就是对原来为明文的文件或数据按某种算法进行处理,使其成为不可读的一段代码,通常称为“密文”,使其只能在输入相应的密钥之后才能显示出本来内容,通过这样的途径来达到保护数据不被非法人窃取、阅读的目的。 该过程的逆过程为解密,即将该编码信息转化为其原来数据的过程。加密建立在对信息进行数学编码和解码的基础上。加密类型分为两种,对称加密与非对称加密,对称加密双方采用共同密钥。非对称加密,这种加密方式存在两个密钥,一个是公共密钥(对外公开),一种是私人密钥(对外保密)。 一、摘要算法数据摘要算法是密码学算法中非常重要的一个分支,它通过对所有数据提取指
阅读全文
posted @ 2014-01-26 23:24
HackerVirus
阅读(411)
推荐(0)
摘要:
时隔一年,再议代码提取首先说两件事情,我发现不同能力的人能掌控的代码行数并不一样,例如我,能掌控的一个函数长度也就在80行,而某些大牛能掌控的代码行数是一个函数150~300行(不过大牛要求这个函数相对清晰,也就是说这个函数可以做多件事情,但是函数内每段代码都只做一件事情,所以即使在函数内,代码也是一块一块的,否则大牛也一样觉得不爽),超过各自掌控的代码行数,都会觉得难受所以在能力的掌控范围内,大牛并没有强烈的提取代码的需求,而我因为掌控能力不足所以即使在没有明显复用的情况下也有比较强烈的提取代码的需求,所以我重构的一些程序,往往重构后代码的长度并没有明显的减小,当然清晰程度是有所提升的。而这
阅读全文
posted @ 2014-01-26 23:14
HackerVirus
阅读(688)
推荐(0)
摘要:
之前已经介绍过通过WMI接口获取服务器硬件信息、收集服务器性能数据,从而实现对服务器性能的监控。但由于监控项目较多,而且通过WMI获取服务器信息的方式速度相对较慢,因此有必要根据不同情况对程序进行优化。一、使用多线程并行处理最初设计服务器监控程序的时候,仅使用一个for循环来处理,当时需要监控的项目较少,因此能在5分钟时间内完成一次完整的检测过程。随着时间的推进,需要监控的项目也越来越多,进行一次检测也由5分钟变成了12分钟。这样的性能显然是无法让人满意的,必须进行优化。在这种情况下,最有效的提升性能的方法显然是使用多线程进行并行处理。当时监控程序使用的.net framework3.5,因此
阅读全文
posted @ 2014-01-26 23:10
HackerVirus
阅读(183)
推荐(0)
摘要:
自定义HttpFilter模块完善背景 在12月由于要针对项目做用户操作日志,但不想在每个方法里去增加代码,写入用户日志。因为这样具体的方法违背职责单一的原则,若后期日志内容格式发生变更,或其他什么需求,该方法代码主要一变在变,故使用HttpModule模块来完成此功能,具体请看:由做网站操作日志想到的HttpModule应用 经过一个月的实际运用与完善,现在可以再次总结下。拦截时机 现在的版本中,拦截的依据是,在每次请求发生的过程中,拦截控制器类请求,重定向http输出流,并分析出Controller与Action,接下来查找是否有方法监控了此控制器,若有,则分析出请求输入参数,与此次...
阅读全文
posted @ 2014-01-26 22:42
HackerVirus
阅读(289)
推荐(0)
摘要:
正则表达式生成器对正则表达式很头疼,是不是?每次看到都觉得像看天书似的,别说让人自己整一个出来了。下面这个网站可以帮你生成正则表达式,而且还可以根据不同的语言生成不同的代码示例,很强大。http://www.txt2re.com/index.php3打开上面那个网页,你会看到有三步。第一步,输出你想匹配的一个文本示例,然后点“Show Machted”,于是进入第二点。第二步,当你看到那花花绿绿的界面是不要头大(那个配色也太可怕了),那是这个会把你的这个字串每个字符都拆出来,并把单词分隔。于是,你可以点击那些花绿格子间的链接来组织你的正规表达式。,比如:c表示任意字符,还有什么int,day,
阅读全文
posted @ 2014-01-26 10:28
HackerVirus
阅读(9637)
推荐(0)