摘要: MongoDB安装 MongoDB具有跨平台的优良特性,提供了对主流的操作系统支持,我们可以根据自己使用的操作系统,选择下载对应的安装包。图1.MongoDB支持各个版本的操作系统 MongoDB在各个操作系统上的安装都比较简单,我们只需要下载安装包,解压到某个目录下,然后指定存储目录并执行mong... 阅读全文
posted @ 2014-06-18 23:44 无风听海 阅读(7120) 评论(1) 推荐(1) 编辑
摘要: MongoDB是一种强大灵活可扩展的数据存储方式,它扩展了关系数据库的众多功能。MongoDB的功能非常丰富,但是却非常容易上手和便于使用,今天来了解一下MongoDB的主要概念。文档文档是的核心概念。多个键机器关联的值有序的放置在一起便是文档。不同的语言表示文档的方法可能不一样,但是数据结构都是相... 阅读全文
posted @ 2014-06-18 00:33 无风听海 阅读(2854) 评论(2) 推荐(3) 编辑
摘要: 虽然自己工作一直都在MS的平台体系,自然很多的工作都需要在windows上完成,自己的电脑也一直使用windows操作系统,但是笔记本配置不是很好,导致装windows 8后,笔记本卡的难以忍受。想想Ubuntu的桌面系统做的挺不错,同时由于移动互联网和带宽的发展,完全可以在线观看大片,同时广为令人 阅读全文
posted @ 2014-06-17 01:02 无风听海 阅读(11945) 评论(1) 推荐(3) 编辑
摘要: Ubuntu的开机启动等待时间默认是10s,等待时间比较长,每次启动都得按一下回车,于是就想修改一下等待时间。我们可以找到Grub的配置文件(/boot/grub/grub.cfg),在其中进行个性化的配置。备份配置文件 $sudo cp /boot/grub/grub.cfg /boot/grub... 阅读全文
posted @ 2014-06-15 13:20 无风听海 阅读(6591) 评论(1) 推荐(0) 编辑
摘要: 缺省配置下,用 Ubuntu 的文本编辑器(Gedit)打开GB18030(繁体中文用户请将这里的出现的GB18030替换成BIG5或BIG5-HKSCS)类型的中文编码文本文件时,将会出现乱码。出现这种情况的原因是,Gedit 使用一个编码匹配列表,只有在这个列表中的编码才会进行匹配,不在这个列表... 阅读全文
posted @ 2014-05-21 22:27 无风听海 阅读(209) 评论(0) 推荐(0) 编辑
摘要: x86或80x86是英特尔Intel首先开发制造的一种微处理器体系结构的泛称。该系列较早期的处理器名称是以数字来表示,并以“86”作为结尾,包括Intel 8086、80186、80286、80386以及80486,因此其架构被称为“x86”。x86架构于1978年推出的Intel 8086中央处理器中首度出现,它是从Intel 8008处理器中发展而来的,而8008则是发展自Intel 4004的。8086在三年后为IBM PC所选用,之后x86便成为了个人计算机的标准平台,成为了历来最成功的CPU架构,如Pentium、Athlon。现在,Intel把x86-32称为IA-32,全名为“. 阅读全文
posted @ 2013-07-27 20:49 无风听海 阅读(1286) 评论(0) 推荐(0) 编辑
摘要: SSIS 提供一系列支持业务应用程序开发的内置任务、容器、转换和数据适配器,方便我们创建解决方案来解决复杂的业务问题,除了可以管理 SQL Server 数据库以及在 SQL Server 实例之间复制 SQL Server 对象,我们还可以对Oracle、MySql、Excel等不同的异构数据源进行抽取和加载。下面我们将简单的说明一下其典型的应用场景。合并来自异构数据存储区的数据很多单位数据通常存储在很多个不同的数据存储系统中,很多时候需要从这些源中提取数据并将其合并到单个一致的数据集中。这个过程面临早期系统繁多、数据存储格式复杂多样、合并可能需要复杂多样的预处理等问题。SSIS可以使用 . 阅读全文
posted @ 2013-05-06 06:15 无风听海 阅读(2133) 评论(0) 推荐(2) 编辑
摘要: 字符编码(英语:Character encoding)、字集码是把字符集中的字符编码为指定集合中某一对象(例如:比特模式、自然数串行、8位组或者电脉冲),以便文本在计算机中存储和通过通信网络的传递。常见的例子包括将拉丁字母表编码成摩斯电码和ASCII。其中,ASCII将字母、数字和其它符号编号,并用7比特的二进制来表示这个整数。通常会额外使用一个扩充的比特,以便于以8位字节的方式存储。在计算机技术发展的早期,如ASCII(1963年)和EBCDIC(1964年)这样的字符集逐渐成为标准。但这些字符集的局限很快就变得明显,于是人们开发了许多方法来扩展它们。通用字符集UCS通用字符集(Univer 阅读全文
posted @ 2013-05-05 23:08 无风听海 阅读(1064) 评论(0) 推荐(0) 编辑
摘要: 维度可以根据变化剧烈程度主要分为无变化维度、缓慢变化维度和剧烈变化维度。例如一个人的相关信息,身份证号、姓名和性别等信息数据属于不变的部分,政治面貌和婚姻状态属于缓慢变化部分,而工作经历、工作单位和培训经历等在某种程度上属于急剧变化字段。对于剧烈变化维度,通常情况下都是一分为二进行处理的,把其中不常变动的部分单独抽出来作为一个维表,按照缓慢变化维方式进行处理;另外一部分也单独抽取出来,通常作为维度的属性进行处理。大多数维度表随时间的迁移是缓慢变化的。比如增加了新的产品,或者产品的ID号码修改了,或者产品增加了一个新的属性,此时,维度表就会被修改或者增加新的记录行。这样,在设计维度和使用维度的过 阅读全文
posted @ 2013-05-05 10:03 无风听海 阅读(4961) 评论(0) 推荐(2) 编辑
摘要: 事实表和纬度表概述事实表在多维数据仓库中,保存度量值的详细值或事实的表称为“事实表”。事实数据表通常包含大量的行。事实数据表的主要特点是包含数字数据(事实),并且这些数字信息可以汇总,以提供有关单位作为历史的数据,每个事实数据表包含一个由多个部分组成的索引,该索引包含作为外键的相关性纬度表的主键,而维度表包含事实记录的特性。事实数据表不应该包含描述性的信息,也不应该包含除数字度量字段及使事实与纬度表中对应项的相关索引字段之外的任何数据。一个按照州、产品和月份划分的销售量和销售额存储的事实表有5个列,概念上与下面的示例类似。SateProductMouthUnitsDollarsWAMounta 阅读全文
posted @ 2013-05-04 22:23 无风听海 阅读(9546) 评论(1) 推荐(3) 编辑
摘要: 对列存储长度小于列的定义大小的值以及在 char、varchar、binary 和 varbinary 数据中含有尾随空格的值的方式进行控制。此设置只影响新列的定义。 创建列后,SQL Server 会基于创建列时的设置存储这些值。现有的列不受以后对该设置更改的影响。下表显示在将值插入含有 char、varchar、binary 和 varbinary 数据类型的列时,SET ANSI_PADDING 设置的效果。 阅读全文
posted @ 2013-05-03 20:55 无风听海 阅读(2247) 评论(0) 推荐(2) 编辑
摘要: 对于程序中的一般字符串类型的字段,SQL Server中有char、varchar、nchar、nvarchar四种类型来对应,那么这四种类型有什么区别呢,这里做一下对比。1.定长或变长所谓定长就是长度固定,当要保存的数据长度不够时将自动在其后面填充英文空格,使长度达到相应的长度;有var前缀的,表示是实际存储空间是动态变化的,比如varchar,nvarchar变长字符数据则不会以空格填充。2.Unicode或非Unicode数据库中,英文字符只需要一个字节存储就足够了,但汉字和其他众多非英文字符,则需要两个字节存储。如果英文与汉字同时存在,由于占用空间数不同,容易造成混乱,导致读取出来的字 阅读全文
posted @ 2013-05-03 07:06 无风听海 阅读(3148) 评论(16) 推荐(4) 编辑
摘要: 本文通过对组织结构、员工结构以及员工影响力“基因”进行分析,让IT新人了解组织、了解同事以致了解自己在组织中的作用。以此帮助IT职场新人做好自身定位以“明志”。第一部分 组织结构篇什么是组织结构组织结构通常指组织中的各个相关群体如何相互搭建起来的,定义为对工作任务进行分解、组合及协调的方式,目的是保证有效的沟通和协调。例如,美国福特公司在早期创建出的汽车生产线,就是对工作任务进行分解的典型例子。福特公司的做法是,给每一位生产线上的员工分配特定的、重复性的任务。有的员工负责安装轮胎,有的员工负责安装车门。这样,公司仅仅需要雇佣专才,即可完成汽车的装配。那么福特公司推而广之的这种工作任务分解组合方 阅读全文
posted @ 2013-05-02 19:58 无风听海 阅读(1068) 评论(0) 推荐(0) 编辑
摘要: 映射定义从一个XML文档到另一个XML文档的转化。它用在一下三个地方: 1. 为了将特定贸易合作伙伴或者内部系统传入的特定消息转化为内部XML格式。这是通过在接受端 口或者双向接口的接收端设置映射完成的。 2. 将将要发送的内部XML格式的消息转化为贸易合作伙伴或者内部系统特定的格式。这是通过在发 送端口或者双向端口的发送端设置映射完成的。 3. 业务处理过程中需要转换。 映射器 可以在visual studio 2010 中使用biztalk映射工具开发映射,并且保存为biztalk特定的XML格式,但是当编译项目的时候,会将其编译为可扩展样式表语言转换(XSLT)。事实上,你甚至可以... 阅读全文
posted @ 2012-09-17 20:53 无风听海 阅读(389) 评论(0) 推荐(0) 编辑
摘要: 架构 架构描述在biztalk和不同系统之间传递的消息的结构。当然,这种也被称为协定的架构必不可少的,因为没有协定传递的消息就不能进行验证,这将会导致一个不一致的、无法预测的系统。如果biztalk无法确定输入的有效性,那么他也无法保证输出的有效性。很明显这不是我们所期望的。当双方协商确定了架构以后,你就可以轻松的解决失败消息和确定发送者是否发送了无效的消息或者接受者拒绝了一个有效的消息。同时,一个详细的、准确的协定允许你拒绝无效的传入消息,让开发者可以确定biztalk解决方案的所有其他部分的输入的有效性。 基于架构,biztalk会产生一个消息类型。这个消息类型在订阅中使用,它对Messa 阅读全文
posted @ 2012-09-11 23:33 无风听海 阅读(2640) 评论(1) 推荐(4) 编辑
摘要: 绝大多数现代业务流程都或多或少地依赖于其它软件。尽管其中部分流程仅由单个应用程序支持,但其他许多业务流程都依赖于不同的软件系统。在许多情况下,已使用不同的技术在不同时间、不同平台上创建了此软件。若要使这些业务程序实现自动化,则需要连接不同系统。BizTalk 可以将不同的系统组合到有效的业务流程中,有效的解决企业应用集成的问题。 BizTalk支持如下两种方式的应用程序集成,即企业应用程序集成 (EAI)和企业对企业 (B2B) 集成; 企业应用程序集成(EAI)用于连接单个组织内的应用程序。图-1 企业应用程序集成 (EAI) 企业对企业 (B2B) 集成,用于连接不同组织中的应用程序。图- 阅读全文
posted @ 2012-09-10 23:07 无风听海 阅读(4904) 评论(0) 推荐(2) 编辑
摘要: 跟JBPM学设计模式之组合模式 模式简介 组合模式,将对象组合成树形结构以表示“部分与整体”的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。 合成模式属于对象的结构模式,合成模式将对象组织到树形的结构中,可以用来描述整体与部分的关系。合成模式可以是客户端将单纯元素和复合元素同等的看待。 树形结构在各种类型的语言中发挥了巨大的作用,一个基于集成类型的等级结构就是一个树结构;同样一个基于合成的对象的结构也是一个树结构。在编程中我们一般遇到的树结构都是连通的有方向的树形结构。 有向树结构可以分为三种,从上到下、从下到上、双向的。这三种图中,树的节点和他们之间的关系都是一样的,但是. 阅读全文
posted @ 2012-07-08 05:48 无风听海 阅读(1724) 评论(0) 推荐(0) 编辑
摘要: 使用Parallel.Invoke并行你的代码 优势和劣势 使用Parallel.Invoke的优势就是使用它执行很多的方法很简单,而不用担心任务或者线程的问题。然而,它并不是适合所有的场景。Parallel.Invoke有很多的劣势 如果你使用它来启动那些需要执行很长时间的方法,它将会需要很长时间才能返回。这可能会导致很多的核心在很长时间都保持闲置。因此,使用这个方法的时候测量执行速度和逻辑核心使用率很重要。 它对并行的伸缩性有限制,因为它只能调用固定数目的委托。在前面的例子中,如果你在一个有16个核心的电脑上执行,它将只会并行启动四个方法。因此,12个逻辑核心仍然保持闲置。 每次使用这个. 阅读全文
posted @ 2012-07-02 04:31 无风听海 阅读(3974) 评论(1) 推荐(1) 编辑
摘要: 跟JBPM学设计模式之适配器模式 模式简介 适配器模式(Adapter),将一个类的接口转换成客户希望的另一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 说起适配器模式,大家一定会想起我们笔记本使用的适配器。插座输出的电压是220v,我们的笔记本电脑是不能直接使用的,这个时候就需要一个中介,它可以输入220v的电压,然后输出笔记本电脑所需要的电压。这个例子中,我们可以将插排输出的电压,理解为其对外发布的接口;而笔记本需要的输入电压,可以理解为客户需要的接口;而适配器的工作就是将服务者提供的接口“适配”成客户需要的接口。 适配器模式由类的适配器模式和对象的适配器. 阅读全文
posted @ 2012-06-30 05:30 无风听海 阅读(1176) 评论(0) 推荐(1) 编辑
摘要: 基于任务的并发编程之Parallel.Invoke(一) 如果想并行执行很多方法,最便捷的方式就是使用Parallel类提供的新方法Invoke方法。例如,假设你有下边四个独立的方法,每个方法执行一个格式化转换,并且你们确定并行执行它们是安全的。Ø ConvertEllipsesØ ConvertRectanglesØ ConvertLinesØ ConvertText为了启动这些无参返回值为空的函数时充分利用潜在的并行优势,你可以使用下边这行代码:Parallel.Invoke(ConvertEllipses,ConvertRectangles,Con 阅读全文
posted @ 2012-06-25 23:33 无风听海 阅读(1621) 评论(0) 推荐(1) 编辑
摘要: 命令式数据并行 Visual C# 2010和.NETFramework4.0提供了很多令人激动的新特性,这些特性是为应对多核处理器和多处理器的复杂性设计的。然而,因为他们包括了完整的新的特性,开发人员和架构师必须学习一种新的编程模型。 这一章是一些新的类、结构体和枚举类型,你可以使用这里来处理数据并行的场景。这章将为你展示怎样创建并行代码和描述与每个场景相关的新概念,而不是关注并发编程中的最复杂的问题。这样你将可以更加充分的理解性能改进。开始并行任务 使用先前版本的.NET Framework,开发可以充分利用多核微处理器的并行能力的应用程序是很难的。使用那些可以控制并行的复杂结构来开始.. 阅读全文
posted @ 2012-06-22 23:21 无风听海 阅读(1129) 评论(0) 推荐(0) 编辑
摘要: 并发编程中的NUMA架构为更高的扩展性和NUMA做准备近年来,多处理器支持的最广泛的模型对称多处理器(SMP)让位于非均匀存储器存取(NUMA)架构。对称多处理器模型的一个最大的问题就是处理器总线会限制未来的可伸缩性,因为每一个处理器拥有同样的机会访问内存和输入输出系统。使用非均匀内存访问架构,每个处理器可以更快的访问离自己近的内存。当处理器的数目超过四个的时候,非均匀内存访问架构可以提供更好的伸缩性。在windows的可伸缩性技术条款中,非均匀内存访问架构按照下面所属进行组织(见图1-17)每个计算机或者机器可以有一个或者多个组。每个组有一个或者多个非均匀内存访问节点。每个非均匀内存访问架构 阅读全文
posted @ 2012-06-22 06:27 无风听海 阅读(2915) 评论(0) 推荐(0) 编辑
摘要: 从赋值操作理解不同类型的函数传参 我们都知道所谓的程序,就是对传入的数据进行操作,最终将处理的数据输出给用户。那么在我们的编程中的体现,就是通过函数(或者方法)参数传入数据,然后通过函数返回值输出处理后的数据。数据的传入涉及到函数的实参和形参的传递,数据的输出涉及到函数的返回值和返回值类型的参数。函数返回值没有什么特别之处,而其他的都是函数传参的问题,既然是传参,那么传参到底传过去了什么?函数传参与赋值操作 我们都知道函数传参涉及到形参和实参,那么实参和形参就是两个不同的变量,所以函数传参的过程,类似(或者说就是)使用实参给形参赋值的过程。那么我们先来分析按值传参的情况 图1是值类型变量的.. 阅读全文
posted @ 2012-06-21 01:43 无风听海 阅读(1304) 评论(2) 推荐(0) 编辑
摘要: 摘要:我国绝大多数政府部门都已经建立起自己的业务系统,并在日常业务处理中发挥着重要的作用。由于受各种条件的限制,在建设初期各部门独立建设自己的系统,导致信息孤岛现象大量存在,严重制约了电子政务的进一步发展。通过针对具有同一服务对象建立业务数据交换平台,实现了政府部门间数据共享互联互通需求,解决电子政务中“信息孤岛”问题。电子政务数据中心经过近几年发展,从存储数据概念演变成为数据加工、数据挖掘和决策支持,通知识管理组织和管理数据,并为政府部门和公众提供多种信息服务。关键词:业务数据交换平台数据中心业务数据整理中间件工作流管理信息孤岛搜索引擎数据仓库决策支持信息化程度的高低已经成为衡量一个国家综合 阅读全文
posted @ 2012-06-17 23:20 无风听海 阅读(3103) 评论(0) 推荐(2) 编辑
摘要: 技术背后的故事缘起 本文缘起 前两天写了一篇题名为“委托背后的故事”的博文,主要是关注委托这种技术需要解决的具体的问题,其中也穿插着简单的介绍了其他的实现技术,但是都没有介绍具体的实现细节。每一篇技术分享,我都需要查阅、阅读相关的资料力求准确无误,深怕自己的不慎会误人子弟。这篇文章几个园友评论没有关注委托的技术实现细节,我想有必要解释一下起初写这篇文章以及其设置器所在这个分类的目的。技术背后的故事缘起 最初迸发撰写这篇文章的想法,是看了园子里的一篇有关委托实现细节的文章,写的不错。其实从.net引入委托以来,有关委托的帖子就源源不断,其中不乏深入介绍剖析委托技术细节的优秀文章;其实我也是一个. 阅读全文
posted @ 2012-06-17 06:39 无风听海 阅读(1392) 评论(0) 推荐(3) 编辑
摘要: 委托背后的故事 学习过.NET的都知道,C#中引入了一种新的类型Delegate,也就是我们经常说的委托。委托到底是什么,大家都说它类似于指针,但是要比这些指针要安全。那么为什么要引入这个委托呢,今天我们就来看看委托的这点事儿!委托前的蛮荒时代 我们大家都知道C语言中有一种很强大的武器就是指针,指针一个比较大的用处就是允许我们手动操作内存,这个是与托管代码的高级语言是一个主要的差别。我们都知道数据变量的内存地址可以存储在相应的指针变量中,同样函数的首地址也可以存储在某个函数指针变量里的。这样我们就可以通过这个函数指针变量来调用其所指向的函数了。一般情况下我们使用函数指针的情景如下代码所示,我们 阅读全文
posted @ 2012-06-16 01:18 无风听海 阅读(2412) 评论(18) 推荐(2) 编辑
摘要: 并发编程中需要谨记的规则 最小化临界区 Amdahl定律和Gustafson定律都将并行算法中的顺序执行的工作视为性能问题的头号敌人。两个执行代码区段中间的时间需要顺序执行,这就是众所周知的临界值。在图1-16的分析Gustafson定律的图表中有四个这样的临界区。 图 1-16 当你并行化你的任务的时候,为了实现最好的性能我们需要最小化这些临界区。大多的时候,是难以避免并行执行区域之间的串行执行的代码的,因为需要加载并行任务和收集执行结果。然而,优化这些临界区域的代码并且移除不必要的代码比协调并行代码甚至更重要。 当你面对一个拥有太多临街区域的执行计划的时候,要谨记Amdahl定律。如果.. 阅读全文
posted @ 2012-06-14 00:17 无风听海 阅读(1567) 评论(0) 推荐(1) 编辑
摘要: 上个世纪80年代电子政务起步发展至今,与互联网Web1.0、Web2.0技术发展相适应,电子政务发展经历了信息发布、单向服务、双向互动、全方位网上事务处理等发展阶段,电子政务在推进政务公开、推动政府职能转变等方面发挥了重要作用。深入分析当前电子政务发展现状和形势,有利于指导和推进本部门电子政务的纵深发展。一、世界电子政务发展总体情况和特点 1.与各国信息产业发展匹配,电子政务发展呈现明显区域差异性。各国政府积极推动电子政务发展,而各国电子政务基础设施、政策、服务等方面存在较大的差异。据联合国《金融危机时期电子政务的利用》(2010)报告显示,从电子政务发展区域布局上而言,与各区域信息产业发展. 阅读全文
posted @ 2012-06-13 06:07 无风听海 阅读(488) 评论(0) 推荐(0) 编辑
摘要: --理解并发编程中的几种并发方式 时刻谨记并发设计 当你设计代码利用多核优势的时候,重要的是不要老是想着C#程序代码是独自执行的。C#为并发代码做了设计,也就是很多代码可以在同一个进程里同时执行或者交错执行。相同的类方法可以在并行代码里执行。如果这个方法在静态变量里保存了状态,以后再使用这个状态,这样的并行执行会产生非期望的和不可预料的结果。 就像前边解释的,多核微处理器上的并行编程使用的是共享内存模型。如果没有考虑并发,那些在相同的共享内存里的数据可能会导致不可预料的结果。 使每个类和方法可以没有副作用的并行执行是一个好的实践。如果你考虑不能讲... 阅读全文
posted @ 2012-06-12 23:33 无风听海 阅读(5740) 评论(3) 推荐(2) 编辑
摘要: 并发编程中的重重量级模型和轻量级模型 使用轻量级并发开发 不管是Amdahl定律还是Gustafson的定律都没有考虑引入并发需要付出的额外开销。同时也没有考虑那些可以将顺序代码转变成可以利用并行优势的算法的设计模式。重要的是减少程序中必须执行的顺序代码,改善对并行执行单元的利用。 以前的.NET 版本,如果你想在一个进程内并行执行C#应用程序,你必须创建和管理多线程(软件线程)。所以,你必须编写复杂的多线程代码。分解算法到多个线程上,协调不同的代码单元,在它们之间共享信息,并且收集执行结果确确实实是一件复杂的编程工作。随着逻辑核心的增多,情况变得甚至更糟了,因为你需要更多的线程来获取更好的可 阅读全文
posted @ 2012-06-10 21:37 无风听海 阅读(1893) 评论(0) 推荐(2) 编辑