摘要:
准备抽象NHibernate和EntityFramework背景考虑到目前中小企业应用的主流是ORM,我准备在NHibernate和EntityFramework之间找到一个抽象层,也就是说我准备只支持NHibernate和EntityFramework。思路NH和EF都实现了“工作单元”和“主键映射”这两种企业应用模式,而这两种模式其实就是管理一种状态机,如下图:实现工作单元接口 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using ...
阅读全文
posted @ 2013-05-31 09:32
HackerVirus
阅读(180)
推荐(0)
摘要:
c中函数参数传递1 输入参数传递数组或地址测试代码: 1 #include <stdio.h> 2 3 void foo(char *a) 4 { 5 fprintf(stdout, "%x %x %x\n", &a, a, a[0]); 6 } 7 8 int main ( int argc, char *argv[] ) 9 {10 char a[20] = {'a', 'b', 'c'};11 12 fprintf(stdout, "%x %x %x\n", &a, a,
阅读全文
posted @ 2013-05-30 22:55
HackerVirus
阅读(244)
推荐(0)
摘要:
架构、架构师和架构设计架构师角色、架构师执行的架构设计及由此生成的架构:架构 架构是体现在它的组件中的一个系统的基本组织、它们彼此的关系、与环境的关系及指导它的设计和发展的原则。 系统是组织起来完成某一特定功能或一组功能的组件集。系统这个术语包括了单独的应用程序、传统意义上的系统、子系统、系统之系统、产品线、产品组、整个企业及感兴趣的其他组合。系统用于完成他的环境中的一个或多个任务。 环境或上下文决定了对这个系统的开发、运作、政策以及会对系统造成其他影响的环境和设置。 任务是由一个或多个利益相关者通过系统达到一些目标的系统的一个用途或操作。 系统利益相关者是对系统感兴趣的或与系统有关...
阅读全文
posted @ 2013-05-30 22:54
HackerVirus
阅读(205)
推荐(0)
摘要:
进程的创建与可执行程序的加载SA1***6*69 张*铭实验环境:ubuntu 12.04 LTS 当在Linux下编写一个源程序,经过编译链接之后生成可执行程序,在终端shell命令行下输入./(可执行程序的名字)来执行的过程,实际上是shell创建一个子进程,在子进程中加载可执行程序进行执行的过程,具体的子进程加载可执行程序之前的准备工作过程以及fork、exec的工作原理分别在Linux操作系统学习_用户进程之由新进程创建到可执行程序的加载Linux操作系统学习_用户进程之fork()与exec函数族篇1、task_struct进程控制块 为了管理进程,内核必须对每个进程所做的事情进行清
阅读全文
posted @ 2013-05-30 22:52
HackerVirus
阅读(178)
推荐(0)
摘要:
.NET实现数据库读写分离(SQLSERVER2005,ORACLE)随着业务量的提高,以及访问量和数据流量的快速增长,网络各个核心部分的处理性能和计算强度也相应增大,使得单一设备根本无法承担。在此情况下,如果扔掉现有设备去做大量的硬件升级,必将造成现有资源的浪费,而且下一次业务量的提升,又将导致再一次硬件升级的高额成本投入。于是,负载均衡机制应运而生。对于负载均衡,笔者经常接触的当属Oracle的负载均衡机制。下面,我们先简单了解Oracle的负载均衡的实现方案。Real Application Clusters是双机并行服务器(8i及以前版本称作Oracle Parallel Server
阅读全文
posted @ 2013-05-30 18:49
HackerVirus
阅读(508)
推荐(1)
摘要:
虚拟文件系统、块I/O层虚拟文件系统 系统内所有文件系统不但依赖VFS共存,而且也依靠VFS系统协同工作。 VFS使得用户可以直接使用open/read/write等系统调用,而无需考虑具体文件系统和实际物理介质。 VFS中具有四个主要的对象类型: 超级块 super_block 代表一个已安装的文件系统 通常对应于存放在磁盘特定扇区中的文件系统超级块或文件系统控制块。 索引节点 inode 代表文件系统中(虽然索引节点仅当文件被访问时,才在内存中创建)的一个文件,它也可以是设备或管道这样的特殊文件 包含内核在操作文件或目录时需要的全部信息 目录項对象 denty 代表...
阅读全文
posted @ 2013-05-30 18:16
HackerVirus
阅读(206)
推荐(0)
摘要:
ASP.net Web API综合示例目录概述功能介绍程序结构服务器端介绍客户端介绍“契约”Web API设计规则并行写入冲突与时间戳身份验证详解Web API验证规则客户端MVVM简介Web.Config本DEMO的一些问题相关下载概述我之前写的一些关于ASP.net Web API的博客中,得到了一些朋友的反响,我一直也想整理下代码贴出来供大家参考,但后来发觉从整个项目工程中单独把一部分代码剥离出来还真是不容易,一转眼就把这个事情忘记了,最近终于下定决心弄一弄,于是才有了此文,本DEMO虽然不完美,但已经包括了我目前所掌握的全部的关于WEB API的相关技术,至于有哪些地方还需要改进的,我
阅读全文
posted @ 2013-05-30 18:12
HackerVirus
阅读(491)
推荐(1)
摘要:
Bigtable学习翻译Bigtable研究摘要Bigtable是一个用于管理结构型数据的分布式存储系统,被设计为可扩展到很大规模:通过数以千台的机器存储PB级数据。很多Google的工程都将数据存储在Bigtable中,包括网页索引、Google Earth和Google金融。这些应用在数据量和延迟方面对Bigtable的需求很不相同。尽管这些不尽相同的需求,Bigtable能够成功的为这些Google的产品提供一个弹性的、高性能的解决方案。在这篇文章中,我们描述Bigtable提供的简单的数据模型,它能给客户端在数据布局和格式上提供动态控制,而且我们会描述Bigtable的设计和实现。一、
阅读全文
posted @ 2013-05-30 18:11
HackerVirus
阅读(339)
推荐(0)
摘要:
持续集成之道:在你的开源项目中使用Travis CI自从接触并践行了敏捷的一些实践之后,便深深的喜欢上了敏捷。尤其是测试自动化和持续集成这两个实践,可以显著的提高软件的质量和集成效率,实时检测项目健康度,使团队成员对项目保持充足的信心。但是对于个人项目而言,虽然测试自动化好实现,但是要实现持续集成还是稍有难度。因为持续集成需要搭建一个集成服务器,并建立某种反馈机制。而大多数人来说并没有自己的独立服务器,并且配置也极为繁琐。不过不用怕,现在已经进入了云时代。Travis CI为我们提供了免费的集成服务器,让我们省却了自己搭建集成服务器的烦恼。Travis CI的官网介绍是:A hosted co
阅读全文
posted @ 2013-05-30 18:08
HackerVirus
阅读(248)
推荐(0)
摘要:
C# 泛型List随机排列有时候得到了一个List,我想把它随机排列一下顺序。而且如果针对不同类型的List都能用,就要用到泛型。其实思想很简单,就是从原List中每次随机取一项,添加到新的List中,并在原List中删除。这样重复,直到原List为空为止。不过要注意,如果要保护原List不受变化,就必须先Copy一份List,再在Copy上进行操作public static List<T> GetRandomList<T>(List<T> inputList){ //Copy to a array T[] copyArray = new T[inputLi
阅读全文
posted @ 2013-05-30 11:36
HackerVirus
阅读(248)
推荐(0)